NTRU-1.0.0.0: NTRU Cryptography

Safe HaskellNone

Math.NTRU.EES659EP1

Description

NTRU cryptographic system using the EES659EP1 parameter set, for use at the 112-bit security level.

Synopsis

Documentation

keyGenSource

Arguments

:: IO ([Integer], [Integer])

A tuple representing (PublicKey, PrivateKey) where PrivateKey = 1 + pf, per enahncement#2.

Generates a random PublicKey-PrivateKey pair

encryptSource

Arguments

:: [Integer]

A list of ASCII values representing the message

-> [Integer]

A list of numbers representing the public key

-> IO [Integer]

A list of numbers representing the ciphertext

Encrypts a message with the given public key

decryptSource

Arguments

:: [Integer]

A list of numbers representing the private key

-> [Integer]

A list of numbers representing the public key

-> [Integer]

A list of numbers representing the ciphertext

-> Maybe [Integer]

A list of numbers representing the original message, or nothing on failure

Decrypts and verifies a cyphertext with the given keys