Module: PQCrypto::Testing
- Defined in:
- lib/pq_crypto.rb
Constant Summary collapse
- KEM_KEYPAIR_METHODS =
{ ml_kem_512: :native_ml_kem_512_keypair_from_seed, ml_kem_768: :native_ml_kem_keypair_from_seed, ml_kem_1024: :native_ml_kem_1024_keypair_from_seed, }.freeze
- KEM_ENCAPSULATE_METHODS =
{ ml_kem_512: :native_test_ml_kem_512_encapsulate_from_seed, ml_kem_768: :native_test_ml_kem_encapsulate_from_seed, ml_kem_1024: :native_test_ml_kem_1024_encapsulate_from_seed, }.freeze
- MLDSA_KEYPAIR_METHODS =
{ ml_dsa_44: :native_test_ml_dsa_44_keypair_from_seed, ml_dsa_65: :native_test_sign_keypair_from_seed, ml_dsa_87: :native_test_ml_dsa_87_keypair_from_seed, }.freeze
- MLDSA_SIGN_METHODS =
{ ml_dsa_44: :native_test_ml_dsa_44_sign_from_seed, ml_dsa_65: :native_test_sign_from_seed, ml_dsa_87: :native_test_ml_dsa_87_sign_from_seed, }.freeze
Class Method Summary collapse
- .ml_dsa_keypair_from_seed(seed, algorithm: :ml_dsa_65) ⇒ Object
- .ml_dsa_sign_from_seed(message, secret_key, seed, algorithm: :ml_dsa_65) ⇒ Object
- .ml_kem_encapsulate_from_seed(public_key, seed, algorithm: :ml_kem_768) ⇒ Object
- .ml_kem_keypair_from_seed(seed, algorithm: :ml_kem_768) ⇒ Object
Class Method Details
.ml_dsa_keypair_from_seed(seed, algorithm: :ml_dsa_65) ⇒ Object
204 205 206 207 208 209 210 |
# File 'lib/pq_crypto.rb', line 204 def self.ml_dsa_keypair_from_seed(seed, algorithm: :ml_dsa_65) PQCrypto.__send__(MLDSA_KEYPAIR_METHODS.fetch(algorithm), String(seed).b) rescue KeyError raise UnsupportedAlgorithmError, "Unsupported ML-DSA KAT algorithm: #{algorithm.inspect}" rescue ArgumentError => e raise InvalidKeyError, e. end |
.ml_dsa_sign_from_seed(message, secret_key, seed, algorithm: :ml_dsa_65) ⇒ Object
212 213 214 215 216 217 218 |
# File 'lib/pq_crypto.rb', line 212 def self.ml_dsa_sign_from_seed(, secret_key, seed, algorithm: :ml_dsa_65) PQCrypto.__send__(MLDSA_SIGN_METHODS.fetch(algorithm), String().b, String(secret_key).b, String(seed).b) rescue KeyError raise UnsupportedAlgorithmError, "Unsupported ML-DSA KAT algorithm: #{algorithm.inspect}" rescue ArgumentError => e raise InvalidKeyError, e. end |
.ml_kem_encapsulate_from_seed(public_key, seed, algorithm: :ml_kem_768) ⇒ Object
196 197 198 199 200 201 202 |
# File 'lib/pq_crypto.rb', line 196 def self.ml_kem_encapsulate_from_seed(public_key, seed, algorithm: :ml_kem_768) PQCrypto.__send__(KEM_ENCAPSULATE_METHODS.fetch(algorithm), String(public_key).b, String(seed).b) rescue KeyError raise UnsupportedAlgorithmError, "Unsupported ML-KEM KAT algorithm: #{algorithm.inspect}" rescue ArgumentError => e raise InvalidKeyError, e. end |
.ml_kem_keypair_from_seed(seed, algorithm: :ml_kem_768) ⇒ Object
188 189 190 191 192 193 194 |
# File 'lib/pq_crypto.rb', line 188 def self.ml_kem_keypair_from_seed(seed, algorithm: :ml_kem_768) PQCrypto.__send__(KEM_KEYPAIR_METHODS.fetch(algorithm), String(seed).b) rescue KeyError raise UnsupportedAlgorithmError, "Unsupported ML-KEM KAT algorithm: #{algorithm.inspect}" rescue ArgumentError => e raise InvalidKeyError, e. end |