KEM / Digital Signature
Key Encapsulation Mechanism
A Key Encapsulation Mechanism (KEM) is a cryptographic method used to securely transmit a secret key from a sender to a receiver. Here are the key points:
Definition: A KEM is a public-key cryptosystem that allows a sender to generate a short secret key and transmit it securely, even in the presence of eavesdroppers.
Components: It consists of three algorithms: Key Generation (Gen), Encapsulation (Encap), and Decapsulation (Decap).
Usage: The sender uses the receiver’s public key to generate and encapsulate a secret key. The receiver then uses their private key to decapsulate and retrieve the secret key.
Security Goal: To prevent anyone without the private key from recovering any information about the secret key, ensuring secure communication
IND-CPA Security: This stands for Indistinguishability under Chosen Plaintext Attack. It means that an attacker cannot distinguish between the encryptions of two chosen plaintexts, even if they can choose the plaintexts themselves.
IND-CCA2 Security: This stands for Indistinguishability under Adaptive Chosen Ciphertext Attack. It is a stronger security notion where the attacker can also choose ciphertexts to be decrypted, except for the challenge ciphertext.
KEM example: Kyber is a Key Encapsulation Mechanism (KEM) based on the Module Learning with Errors (MLWE) problem. Here are the key points about Kyber:
Design: Kyber is constructed as an IND-CPA-secure Public Key Encryption (PKE) scheme, then boosted to an IND-CCA-secure KEM using a Fujisaki-Okomoto (FO) transform. It uses a cyclotomic power-of-2 ring and a public matrix of polynomials generated from a random string.
Security: Kyber’s security is grounded in lattice cryptography, with strong theoretical foundations and extensive analysis. It employs a variant of the FO transform to achieve CCA security.
Performance: Kyber has fast key generation, encapsulation, and decapsulation, making it suitable for various environments. Its public key and ciphertext sizes are manageable for most applications.
Updates: During the third round, Kyber’s noise parameter was increased for stronger defense, and efficiency improvements were made in key generation and sampling methods.
Digital Signature
A digital signature is a cryptographic technique used to validate the authenticity and integrity of a message, software, or digital document. Here’s a brief overview of how it works:
Creation: The sender generates a hash (a fixed-size string of characters) of the message or document. This hash is then encrypted with the sender’s private key to create the digital signature.
Transmission: The original message and the digital signature are sent to the recipient.
Verification: The recipient decrypts the digital signature using the sender’s public key to retrieve the hash. They also generate a hash of the received message.
Comparison: The recipient compares the decrypted hash with the generated hash. If they match, the message is verified as authentic and unaltered.
EUF-CMA Security: This stands for Existential Unforgeability under Chosen Message Attack. It ensures that an attacker cannot forge a valid signature on any new message, even if they can obtain signatures on other messages of their choice.
Digital signature example: FALCON as a digital signature scheme:
Design: FALCON (Fast Fourier Lattice-based Compact Signatures over NTRU) uses the “hash-and-sign” paradigm. It builds on the GPV framework for constructing hash-and-sign signature schemes from lattice-based trapdoor functions.
Security: The security of FALCON is based on the hardness of the SIS Problem over NTRU lattices. It has a proof of unforgeability in the Quantum Random Oracle Model (QROM).
Performance: FALCON has the smallest bandwidth among the third-round digital signature schemes, making it efficient for verification. However, signing is slower, and key generation is significantly slower compared to other schemes.
Implementation: FALCON requires floating-point arithmetic and complex data structures, making it challenging to implement securely, especially in constrained environments.
Last updated