Class: XStream::X25519HKDF::Decryptor
- Inherits:
-
Miscreant::STREAM::Decryptor
- Object
- Miscreant::STREAM::Decryptor
- XStream::X25519HKDF::Decryptor
- Defined in:
- lib/xstream/x25519hkdf.rb
Overview
XSTREAM decryptor class with X25519+HKDF key derivation
Instance Method Summary collapse
-
#initialize(private_key, ephemeral_public, encryption_alg: "AES-PMAC-SIV", digest_alg: "SHA-256", salt: nil) ⇒ Decryptor
constructor
Create an XSTREAM decryptor object using our private key and an ephemeral public key.
Constructor Details
#initialize(private_key, ephemeral_public, encryption_alg: "AES-PMAC-SIV", digest_alg: "SHA-256", salt: nil) ⇒ Decryptor
Create an XSTREAM decryptor object using our private key and an ephemeral public key
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/xstream/x25519hkdf.rb', line 56 def initialize( private_key, ephemeral_public, encryption_alg: "AES-PMAC-SIV", digest_alg: "SHA-256", salt: nil ) # Perform an X25519 elliptic curve Diffie-Hellman operation and use # the resulting shared secret to derive a symmetric key (using HKDF) symmetric_key = X25519HKDF.kdf( private_key, ephemeral_public, salt: salt, digest_alg: digest_alg, output_size: SYMMETRIC_KEY_SIZE ) super(encryption_alg, symmetric_key, XStream::NONCE) end |