Module: JWA::Algorithms::KeyManagement::AesGcmKw
- Defined in:
- lib/jwa/algorithms/key_management/aes_gcm_kw.rb
Instance Method Summary collapse
Instance Method Details
#decrypt(ciphertext, tag) ⇒ Object
19 20 21 22 |
# File 'lib/jwa/algorithms/key_management/aes_gcm_kw.rb', line 19 def decrypt(ciphertext, tag) cipher = self.class.cipher.new(@key, @iv) cipher.decrypt(ciphertext, '', tag) end |
#encrypt(plaintext) ⇒ Object
14 15 16 17 |
# File 'lib/jwa/algorithms/key_management/aes_gcm_kw.rb', line 14 def encrypt(plaintext) cipher = self.class.cipher.new(@key, @iv) cipher.encrypt(plaintext, '') end |
#initialize(key, iv = nil) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/jwa/algorithms/key_management/aes_gcm_kw.rb', line 5 def initialize(key, iv = nil) @key = key @iv = iv if @key.length != self.class.key_length raise ArgumentError, "Invalid Key. Expected length: #{self.class.key_length}. Actual: #{@key.length}." end end |