ChaCha20-Poly1305
SafeCrypt implements the ChaCha20-Poly1305 algorithm, a modern symmetric encryption protocol that provides security, speed, and resistance to side-channel attacks.
🔐 Main features
- key generation
- encryption
- decryption
- Key size support: 256 bits
🧱 API - Classes and Methods
| Array | Class |
|---|---|
| 1 | ChaCha20(string $key) |
| 2 | generated(int $size) |
| 3 | ChaCha20Load() |
| 4 | ChaCha20Save() |
| Array | method | description |
|---|---|---|
| 1 | getCipherMethod() | returns the encryption method |
| 1 | encrypt(string $plaintext, string $additionalData = '') | allows data to be encrypted |
| 1 | decrypt(string $encryptedMessage, string $additionalData = '') | allows data to be decrypted |
| --- | --- | --- |
| 2 | generated(int $size) | allows you to generate a key |
| --- | --- | --- |
| 3 | load_key(string $fileName, string $directory = './keys') | allows you to load a key |
| --- | --- | --- |
| 4 | save_key(string $key, string $fileName, string $directory = './keys') | allows you to save a key that has been generated |
🚀 Example
Below I put a link allowing you to look at the code examples :
⚠️ Safety Notes
- Never expose the key.
- Always use a unique nonce per encryption.
- AAD ensures metadata integrity.