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
225 226 227 228 229 230 231 |
# File 'lib/pq_crypto.rb', line 225 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
233 234 235 236 237 238 239 |
# File 'lib/pq_crypto.rb', line 233 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
217 218 219 220 221 222 223 |
# File 'lib/pq_crypto.rb', line 217 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
209 210 211 212 213 214 215 |
# File 'lib/pq_crypto.rb', line 209 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 |