Class: TTTLS13::SequenceNumber
- Inherits:
-
Object
- Object
- TTTLS13::SequenceNumber
- Defined in:
- lib/tttls1.3/sequence_number.rb
Instance Method Summary collapse
-
#initialize ⇒ SequenceNumber
constructor
A new instance of SequenceNumber.
- #next? ⇒ Boolean
- #succ ⇒ Object
- #xor(str, iv_len) ⇒ String
Constructor Details
#initialize ⇒ SequenceNumber
Returns a new instance of SequenceNumber.
7 8 9 |
# File 'lib/tttls1.3/sequence_number.rb', line 7 def initialize @seq_num = 0 end |
Instance Method Details
#next? ⇒ Boolean
27 28 29 |
# File 'lib/tttls1.3/sequence_number.rb', line 27 def next? @seq_num < 2**64 - 1 end |
#succ ⇒ Object
22 23 24 |
# File 'lib/tttls1.3/sequence_number.rb', line 22 def succ @seq_num += 1 end |
#xor(str, iv_len) ⇒ String
15 16 17 18 19 20 |
# File 'lib/tttls1.3/sequence_number.rb', line 15 def xor(str, iv_len) l = @seq_num.to_uint64.unpack('C*') l.unshift(0) while l.length < iv_len r = str.unpack('C*') l.zip(r).map { |x, y| (x ^ y).chr }.join end |