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
200 201 202 203 204 205 206 |
# File 'lib/pq_crypto.rb', line 200 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
208 209 210 211 212 213 214 |
# File 'lib/pq_crypto.rb', line 208 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
192 193 194 195 196 197 198 |
# File 'lib/pq_crypto.rb', line 192 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
184 185 186 187 188 189 190 |
# File 'lib/pq_crypto.rb', line 184 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 |