aboutsummaryrefslogtreecommitdiffstats
path: root/doc/reading_list.txt
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2016-01-04 12:08:23 -0500
committerJack Lloyd <[email protected]>2016-01-04 12:08:23 -0500
commit49850af444825fa347d4bc863cb2ee02e17d5ae8 (patch)
tree7a5a3d4034e7e016e7a7a90773571e950801d8a6 /doc/reading_list.txt
parentec326f7e2afa7553c646e5ed841e924a43216850 (diff)
Misc doc updates
[ci skip]
Diffstat (limited to 'doc/reading_list.txt')
-rw-r--r--doc/reading_list.txt70
1 files changed, 46 insertions, 24 deletions
diff --git a/doc/reading_list.txt b/doc/reading_list.txt
index 6d944d87f..f35ae6ed7 100644
--- a/doc/reading_list.txt
+++ b/doc/reading_list.txt
@@ -1,42 +1,35 @@
+These are papers, articles and books that are interesting or useful from the
+perspective of crypto implementation.
+
+Papers
+==================
+
Implementation Techniques
-----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* "Randomizing the Montgomery Powering Ladder"
Le, Tan, Tunstall https://eprint.iacr.org/2015/657
+ A variant of Algorithm 7 is used for GF(p) point multplications when
+ BOTAN_POINTGFP_BLINDED_MULTIPLY_USE_MONTGOMERY_LADDER is set
* "Accelerating AES with vector permute instructions"
- Hamburg https://shiftleft.org/papers/vector_aes/
+ Mike Hamburg https://shiftleft.org/papers/vector_aes/
+ His public doman assembly code was rewritten into SSS3 intrinsics
+ for aes_ssse3.
* "Elliptic curves and their implementation" Langley
http://www.imperialviolet.org/2010/12/04/ecc.html
+ Describes sparse representations for ECC math
Random Number Generation
-----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* "On Extract-then-Expand Key Derivation Functions and an HMAC-based KDF"
- Krawczyk http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.8254
+ Hugo Krawczyk http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.8254
RNG design underlying HMAC_RNG
-Standards
-----------------------------------------
-
-* ISO/IEC 18033-2 http://www.shoup.net/iso/std4.pdf
- RSA-KEM, PSEC-KEM
-
-* NIST SP 800-108
- http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf
- KDF schemes
-
-* NIST SP 800-90A
- http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf
- HMAC_DRBG, Hash_DRBG, CTR_DRBG, maybe one other thing?
-
-
-Side Channel Attacks
-----------------------------------------
-
-AES
+AES Side Channels
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* "Software mitigations to hedge AES against cache-based software side
@@ -48,7 +41,7 @@ AES
* "Cache-Collision Timing Attacks Against AES" Bonneau, Mironov
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.88.4753
-Public Key
+Public Key Side Channels
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* "Fast Elliptic Curve Multiplications Resistant against Side Channel Attacks"
@@ -67,3 +60,32 @@ Public Key
* "Minimum Requirements for Evaluating Side-Channel Attack Resistance
of Elliptic Curve Implementations" BSI
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Zertifizierung/Interpretationen/AIS_46_ECCGuide_e_pdf.pdf
+
+Books
+=======
+
+* "Handbook of Elliptic and Hyperelliptic Curve Cryptography"
+ Cohen and Frey https://www.hyperelliptic.org/HEHCC/
+ An excellent reference for ECC math, algorithms, and side channels
+
+* "Post-Quantum Cryptography" Bernstein, Buchmann, Dahmen
+ Covers code, lattice, and hash based cryptography
+
+Standards
+============
+
+* IEEE 1363 http://grouper.ieee.org/groups/1363/
+ Very influential early in the library lifetime, so a lot of terminology used
+ in the public key (such as "EME" for message encoding) code comes from here.
+
+* ISO/IEC 18033-2 http://www.shoup.net/iso/std4.pdf
+ RSA-KEM, PSEC-KEM
+
+* NIST SP 800-108
+ http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf
+ KDF schemes
+
+* NIST SP 800-90A
+ http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf
+ HMAC_DRBG, Hash_DRBG, CTR_DRBG, maybe one other thing?
+