class TTTLS13::SequenceNumber

Public Class Methods

new() click to toggle source
# File lib/tttls1.3/sequence_number.rb, line 7
def initialize
  @seq_num = 0
end

Public Instance Methods

next?() click to toggle source

@return [Boolean]

# File lib/tttls1.3/sequence_number.rb, line 27
def next?
  @seq_num < 2**64 - 1
end
succ() click to toggle source
# File lib/tttls1.3/sequence_number.rb, line 22
def succ
  @seq_num += 1
end
xor(str, iv_len) click to toggle source

@param str [String] @param iv_len [Integer]

@return [String]

# 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