hare

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

commit 80dbf2b8065b4b6c2559c09453793789f5acc29f
parent 59bfb3b273773090ed6b7327cfd4994c1b35ca98
Author: Drew DeVault <sir@cmpwn.com>
Date:   Mon, 18 Apr 2022 09:50:39 +0200

crypto: add opencollective to README

Also standarizes the warning langauge throughout

Signed-off-by: Drew DeVault <sir@cmpwn.com>

Diffstat:
Mcrypto/README | 2+-
Mcrypto/argon2/README | 8++++++++
Mcrypto/chacha/README | 14++++++++------
Mcrypto/curve25519/README | 8++++++++
Mcrypto/keystore/README | 14++++++++------
Mcrypto/math/README | 8++++++++
Mcrypto/poly1305/README | 2++
Mcrypto/salsa/README | 14++++++++------
8 files changed, 51 insertions(+), 19 deletions(-)

diff --git a/crypto/README b/crypto/README @@ -2,7 +2,7 @@ Important notice: Hare's cryptography implementations have not been audited. You can contribute to the funding of an independent audit of our cryptography implementation on OpenCollective: -TODO: Add link +https://opencollective.com/hare/projects/cryptography-audit The "crypto" module provides easy-to-use and hard-to-misuse functions for doing various high-level cryptographic operations. This is the recommended approach diff --git a/crypto/argon2/README b/crypto/argon2/README @@ -19,3 +19,11 @@ respectively. Equipped with the necessary parameters, the user may call the appropriate argon2 variant via [[argon2d]], [[argon2i]], or [[argon2id]]. If unsure which to use, choose [[argon2i]]. + +This is a low-level module which implements cryptographic primitives. Direct use +of cryptographic primitives is not recommended for non-experts, as incorrect use +of these primitives can easily lead to the introduction of security +vulnerabilities. Non-experts are advised to use the high-level operations +available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/chacha/README b/crypto/chacha/README @@ -1,12 +1,6 @@ crypto::chacha provides an implementation of the Chacha20 and XChacha20 stream ciphers. -This is a low-level module which implements cryptographic primitives. Direct -use of cryptographic primitives is not recommended for non-experts, as -incorrect use of these primitives can easily lead to the introduction of -security vulnerabilities. Non-experts are advised to use the high-level -operations available in the top-level [[crypto]] module. - Use [[chacha20]] to create a stream and either [[chacha20_init]] or [[xchacha20_init]] to set key and nonce of the appropriate size, [[NONCESIZE]] for chacha20 or [[XNONCESIZE]] for XChacha20. After calling the appropriate @@ -16,3 +10,11 @@ data from memory. Writing blocks of length [[BLOCKSIZE]] is not required. However, seeking the key stream with [[setctr]] only operates in units of [[BLOCKSIZE]]. + +This is a low-level module which implements cryptographic primitives. Direct +use of cryptographic primitives is not recommended for non-experts, as +incorrect use of these primitives can easily lead to the introduction of +security vulnerabilities. Non-experts are advised to use the high-level +operations available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/curve25519/README b/crypto/curve25519/README @@ -3,3 +3,11 @@ multiplication on the elliptic curve known as Curve25519. See RFC 7748. The implementation is based on the paper "Implementing Curve25519/X25519: A Tutorial on Elliptic Curve Cryptography" by Martin Kleppmann. + +This is a low-level module which implements cryptographic primitives. Direct use +of cryptographic primitives is not recommended for non-experts, as incorrect use +of these primitives can easily lead to the introduction of security +vulnerabilities. Non-experts are advised to use the high-level operations +available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/keystore/README b/crypto/keystore/README @@ -1,9 +1,3 @@ -Important notice: Hare's cryptography implementations have not been audited. You -can contribute to the funding of an independent audit of our cryptography -implementation on OpenCollective: - -TODO: Add link - The keystore module provides a means of securely storing private information, ideally through the assistance of operating system key storage facilities. The purpose of this feature is to store private data without keeping it in the @@ -13,3 +7,11 @@ cannot recover the key while it's not actively in use. On platforms without a suitable feature, a fallback implementation stores the secrets in the process heap, providing no security. This is an opportunistic API which allows your program to take advantage of these features if available. + +This is a low-level module which implements cryptographic primitives. Direct use +of cryptographic primitives is not recommended for non-experts, as incorrect use +of these primitives can easily lead to the introduction of security +vulnerabilities. Non-experts are advised to use the high-level operations +available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/math/README b/crypto/math/README @@ -1,2 +1,10 @@ crypto::math provides constant-time mathematical operations useful for cryptographic algorithms. + +This is a low-level module which implements cryptographic primitives. Direct use +of cryptographic primitives is not recommended for non-experts, as incorrect use +of these primitives can easily lead to the introduction of security +vulnerabilities. Non-experts are advised to use the high-level operations +available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/poly1305/README b/crypto/poly1305/README @@ -5,3 +5,5 @@ of cryptographic primitives is not recommended for non-experts, as incorrect use of these primitives can easily lead to the introduction of security vulnerabilities. Non-experts are advised to use the high-level operations available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited. diff --git a/crypto/salsa/README b/crypto/salsa/README @@ -1,12 +1,6 @@ crypto::salsa provides an implementation of the Salsa20 and XSalsa20 stream ciphers, per "Salsa20 specification" by Daniel J. Bernstein. -This is a low-level module which implements cryptographic primitives. Direct use -of cryptographic primitives is not recommended for non-experts, as incorrect use -of these primitives can easily lead to the introduction of security -vulnerabilities. Non-experts are advised to use the high-level operations -available in the top-level [[crypto]] module. - Use [[salsa20]] to create a stream and either [[xsalsa20_init]] or [[salsa20_init]] to set key and nonce of the appropriate size, [[NONCESIZE]] for salsa20 or [[XNONCESIZE]] for XSalsa20. After calling the appropriate init @@ -16,3 +10,11 @@ from memory. Writing blocks of length [[BLOCKSIZE]] is not required. However, seeking the key stream with [[setctr]] only operates in units of [[BLOCKSIZE]]. + +This is a low-level module which implements cryptographic primitives. Direct use +of cryptographic primitives is not recommended for non-experts, as incorrect use +of these primitives can easily lead to the introduction of security +vulnerabilities. Non-experts are advised to use the high-level operations +available in the top-level [[crypto]] module. + +Be advised that Hare's cryptography implementations have not been audited.