Class: PQCrypto::Seal::Padding::FixedPolicy

Inherits:
Policy
  • Object
show all
Defined in:
lib/pq_crypto/seal/padding.rb

Instance Attribute Summary collapse

Attributes inherited from Policy

#id

Instance Method Summary collapse

Methods inherited from Policy

#verify!

Constructor Details

#initialize(size) ⇒ FixedPolicy

Returns a new instance of FixedPolicy.



78
79
80
81
82
83
# File 'lib/pq_crypto/seal/padding.rb', line 78

def initialize(size)
  @size = Integer(size)
  raise InvalidConfigurationError, "padding target must be non-negative" if @size.negative?

  super(Format::PADDING_FIXED)
end

Instance Attribute Details

#sizeObject (readonly)

Returns the value of attribute size.



76
77
78
# File 'lib/pq_crypto/seal/padding.rb', line 76

def size
  @size
end

Instance Method Details

#target(base_length) ⇒ Object



85
86
87
88
89
# File 'lib/pq_crypto/seal/padding.rb', line 85

def target(base_length)
  raise InvalidConfigurationError, "padding target is smaller than envelope" if size < Integer(base_length)

  size
end