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