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:
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.