aboutsummaryrefslogtreecommitdiffstats
path: root/doc/todo.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo.rst')
-rw-r--r--doc/todo.rst93
1 files changed, 93 insertions, 0 deletions
diff --git a/doc/todo.rst b/doc/todo.rst
new file mode 100644
index 000000000..2d82615ea
--- /dev/null
+++ b/doc/todo.rst
@@ -0,0 +1,93 @@
+Todos
+========================================
+
+These are features either requested by users or that seem like
+potentially useful things to have. Several are quite self-contained
+and could make a quick project.
+
+Request a new feature by opening a pull request to update this file.
+
+Symmetric Algorithms, Hashes, ...
+----------------------------------------
+
+* Bitsliced AES or Camellia
+* Camellia with AES-NI
+* Serpent using AVX2
+* Serpent using SSSE3 pshufb for sboxes
+* ChaCha20 using SSE2 or AVX2
+* SHA-512 using SSE2 (to access 64-bit math on x86-32)
+* scrypt
+* BLAKE2b
+* Skein-MAC
+* ARIA (Korean block cipher, RFCs 5794 and 6209)
+* Extend Cascade_Cipher to support arbitrary number of ciphers
+
+Public Key Crypto, Math
+----------------------------------------
+
+* EdDSA
+* Ed448-Goldilocks
+* FHMQV
+* Support mixed hashes and non-empty param strings in OAEP
+* Fast new implementations/algorithms for ECC point operations,
+ Montgomery multiplication, multi-exponentiation, ...
+* Some PK operations, especially RSA, have extensive computations per
+ operation setup but many of the computed values depend only on the
+ key and could be shared across operation objects.
+* Have BigInt '%' and '/' operators compute and cache the Barrett
+ reduction value on the BigInt.
+
+TLS
+----------------------------------------
+
+* Encrypt-then-MAC extension (RFC 7366)
+* Authentication using TOFU (sqlite3 storage)
+* Certificate pinning (using TACK?)
+* TLS OCSP stapling (RFC 6066)
+* TLS supplemental authorization data (RFC 4680, RFC 5878)
+* OpenPGP authentication (RFC 5081)
+* DTLS-SCTP (RFC 6083)
+* Perspectives (http://perspectives-project.org/)
+
+PKIX
+----------------------------------------
+
+* Support multiple DNS names in certificates
+* X.509 name constraints
+* X.509 policy constraints
+* OCSP responder logic
+* X.509 attribute certificates (RFC 5755)
+
+New Protocols
+----------------------------------------
+
+* Off-The-Record message protocol
+* Some useful subset of OpenPGP
+* SSHv2 client and/or server
+* Cash schemes (such as Lucre, credlib, bitcoin?)
+
+Library Infrastructure
+----------------------------------------
+* Add logging callbacks
+* Add latency tracing framework
+* Compute cycles/byte estimates for benchmark output
+
+Accelerators / backends
+----------------------------------------
+
+* Extend OpenSSL provider (cipher modes, ECDH, ECDSA, HMAC)
+* /dev/crypto
+* Windows CryptoAPI
+* Apple CommonCrypto
+* ARMv8 crypto extensions
+* Intel Skylake SHA-1/SHA-2
+
+FFI (Python, OCaml)
+----------------------------------------
+
+* Expose TLS
+
+Build
+----------------------------------------
+
+* Code signing for Windows installers