This project presents an undeniable signature scheme based on modular lattices to enhance security and align with proposed post-quantum cryptographic standards. The GPV (Gentry, Peikert, and Vaikuntanathan) signature scheme serves as the base, with modifications to adapt it to modular lattices.
- Enhanced Security: Shifting to modular lattices for improved security.
- Standardization Alignment: Aligning with proposed cryptographic standards.
- Research Development: Embracing algorithmic advances suited for modular lattices.
Developed new key generation, signing, and verification functions tailored for modular lattices.
Generates signing and verification keys.
- Input: Security parameter n.
- Output: Signing key (sk) and verification key (pk).
Creates a signature for a given plaintext message.
- Input: Message (m) and signing key (sk).
- Output: Returns 1 for a valid signature; otherwise, 0.
Interactive communication between Signer (S) and Verifier (V).
- Returns 1 for a valid signature; otherwise, 0.
Interactive communication between Signer (S) and Verifier (V).
- Returns 1 for an invalid signature; otherwise, 0.
Utilized two cryptographically secure collision-resistant hash functions:
Two variants for the modular hash function:
- Hash_com: To hash a random seed
- Hash_com_message: To hash a message concatenated with a random seed
Executes MLTrapGen algorithm to obtain a pair (A, T).
- Outputs public key (PK) and secret key (SK).
Produces a signature σ on the message m.
- Outputs the signature σ for the message m.
- Confirmation/Disavowal Protocol:
This protocol operates between the signer and verifier
- If all verifications pass successfully, the verifier outputs 1; otherwise, it outputs 0.