hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

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.