README (1025B)
1 This module provides Chacha20-Poly1305 and XChacha20-Poly1305 stream 2 implementations as described in RFC 8439. 3 4 A stream is created with [[chachapoly]]. [[init]] initializes a stream as a 5 Chacha20-Poly1305 one where [[xinit]] will initialize it as a 6 XChacha20-Poly1305 stream. After initializiation data can be encrypted by 7 writing to or decrypted by reading from the stream. The user must call [[seal]] 8 when encryption is done to create the authentication tag and [[verify]] in case 9 of decryption to check if the dercypted data is valid. If the data is invalid 10 it must not be processed further. 11 12 This is a low-level module which implements cryptographic primitives. Direct use 13 of cryptographic primitives is not recommended for non-experts, as incorrect use 14 of these primitives can easily lead to the introduction of security 15 vulnerabilities. Non-experts are advised to use the high-level operations 16 available in the top-level [[crypto::]] module. 17 18 Be advised that Hare's cryptography implementations have not been audited.