Module: JWA::Algorithms::KeyManagement::Pbes2

Included in:
Pbes2Hs256A128Kw, Pbes2Hs384A192Kw, Pbes2Hs512A256Kw
Defined in:
lib/jwa/algorithms/key_management/pbes2.rb

Instance Method Summary collapse

Instance Method Details

#decrypt(ciphertext) ⇒ Object



15
16
17
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 15

def decrypt(ciphertext)
  self.class.kw_class.new(@key).decrypt(ciphertext)
end

#encrypt(plaintext) ⇒ Object



11
12
13
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 11

def encrypt(plaintext)
  self.class.kw_class.new(@key).encrypt(plaintext)
end

#initialize(password, salt, iterations) ⇒ Object



5
6
7
8
9
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 5

def initialize(password, salt, iterations)
  salt = "#{self.class.alg_name}\x00#{salt}"

  @key = kdf.run(password, salt, iterations, self.class.key_length)
end