module JWA::Algorithms::KeyManagement::AesGcmKw

Public Class Methods

new(key, iv = nil) click to toggle source
# 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

Public Instance Methods

decrypt(ciphertext, tag) click to toggle source
# 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) click to toggle source
# 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