From 81a9efdb52b89ac96fa1f1c531268b2fc58ff32b Mon Sep 17 00:00:00 2001 From: Udara Pathum <46132469+hwupathum@users.noreply.github.com> Date: Thu, 28 Mar 2024 11:08:55 +0530 Subject: [PATCH] Update README.md --- README.md | 14 +++++++++++++- ballerina/Module.md | 2 +- ballerina/Package.md | 2 +- docs/spec/spec.md | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5603685c..8cdcb701 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,19 @@ The `crypto` library supports both symmetric key encryption/decryption and asymm ### Sign and verify -The `crypto` library supports signing data using the RSA private key and verification of the signature using the RSA public key. This supports MD5, SHA1, SHA256, SHA384, and SHA512 digesting algorithms as well. +The `crypto` library supports signing data using the RSA private key and verification of the signature using the RSA public key. This supports MD5, SHA1, SHA256, SHA384, and SHA512 digesting algorithms, and ML-DSA-65 post-quantum signature algorithm as well. + +### Key Derivation Function (KDF) + +The `crypto` module supports HMAC-based Key Derivation Function (HKDF). HKDF is a key derivation function that uses a Hash-based Message Authentication Code (HMAC) to derive keys. + +### Key Exchange Mechanism (KEM) + +The `crypto` module supports Key Exchange Mechanisms (KEM). It includes RSA-KEM and post-quantum ML-KEM-768 for both encapsulation and decapsulation. + +### Hybrid Public Key Encryption (HPKE) + +The `crypto` module supports Hybrid Public Key Encryption (HPKE). It supports post-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. ## Issues and projects diff --git a/ballerina/Module.md b/ballerina/Module.md index 50e8ae75..54195ce9 100644 --- a/ballerina/Module.md +++ b/ballerina/Module.md @@ -34,5 +34,5 @@ The `crypto` module supports Key Exchange Mechanisms (KEM). It includes RSA-KEM ### Hybrid Public Key Encryption (HPKE) -The `crypto` module supports Hybrid Public Key Encryption (HPKE). It supportspost-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. +The `crypto` module supports Hybrid Public Key Encryption (HPKE). It supports post-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. diff --git a/ballerina/Package.md b/ballerina/Package.md index ee08dfd9..60bfca58 100644 --- a/ballerina/Package.md +++ b/ballerina/Package.md @@ -34,7 +34,7 @@ The `crypto` package supports Key Exchange Mechanisms (KEM). It includes RSA-KEM ### Hybrid Public Key Encryption (HPKE) -The `crypto` package supports Hybrid Public Key Encryption (HPKE). It supportspost-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. +The `crypto` package supports Hybrid Public Key Encryption (HPKE). It supports post-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. ## Report issues diff --git a/docs/spec/spec.md b/docs/spec/spec.md index c33faaa5..03b30afa 100644 --- a/docs/spec/spec.md +++ b/docs/spec/spec.md @@ -945,7 +945,7 @@ byte[] sharedSecret = check crypto:decapsulateRsaKemMlKem768(encapsulatedSecret, ## 9. [Hybrid Public Key Encryption (HPKE)](#9-hybrid-public-key-encryption-hpke) -The `crypto` module supports Hybrid Public Key Encryption (HPKE). It supportspost-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. +The `crypto` module supports Hybrid Public Key Encryption (HPKE). It supports post-quantum ML-KEM-768-HPKE and RSA-KEM-ML-KEM-768-HPKE for encryption and decryption. ### 9.1. [Encrypt](#91-encrypt)