NaCl: Networking and Cryptography library
NaCl är ett nytt krypteringsbibliotek som Tanja Lange (Technische Universiteit Eindhoven) och Daniel J. Bernstein (University of Illinois, Chicago) står bakom. Utvecklingen är sponsrad av EU:s program FP7
Biblioteket är mycket lätt och använda, vanligtvis så genomförs nedan steg vid kryptering med hjälp av RSA + AES:
- Generate a random AES key.
- Use the AES key to encrypt the message.
- Hash the encrypted message using SHA-256.
- Read the sender’s RSA secret key from ”wire format.”
- Use the sender’s RSA secret key to sign the hash.
- Read the recipient’s RSA public key from wire format.
- Use the recipient’s public key to encrypt the AES key, hash, and signature.
- Convert the encrypted key, hash, and signature to wire format.
- Concatenate with the encrypted message.
Men med NaCl så anropas enbart funktionen crypto_box som gör allt i ett steg.