tor/src/ext/ed25519/ref10
Isis Lovecruft 809f6fae84
refactor: Remove unnecessary `#include "crypto.h"` throughout codebase.
* FIXES part of #24658: https://bugs.torproject.org/24658
2018-04-06 22:49:18 +00:00
..
Makefile Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
README.tor More documentation for ed25519 stuff. 2014-09-25 15:08:31 -04:00
api.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
base.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
base.py Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
base2.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
base2.py Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
blinding.c crypto: Refactor (P)RNG functionality into new crypto_rand module. 2018-04-06 21:45:28 +00:00
crypto_hash_sha512.h Include crypto_digest.h in order to solve dependency issues. 2018-02-03 17:04:36 +01:00
crypto_int32.h Stop signed left shifts overflowing in ed25519: Macros 2014-09-28 20:38:12 -04:00
crypto_int64.h Stop signed left shifts overflowing in ed25519: Macros 2014-09-28 20:38:12 -04:00
crypto_sign.h Another ed25519 tweak: store secret keys in expanded format 2014-09-25 15:08:31 -04:00
crypto_uint32.h Add headers as needed to make ed25519_ref10 compile. 2014-08-26 10:56:22 -04:00
crypto_uint64.h Add headers as needed to make ed25519_ref10 compile. 2014-08-26 10:56:22 -04:00
crypto_verify_32.h Add headers as needed to make ed25519_ref10 compile. 2014-08-26 10:56:22 -04:00
d.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
d.py Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
d2.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
d2.py Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ed25519_ref10.h ed25519: Add func that checks for torsion component in pubkeys. 2017-06-27 17:17:58 -04:00
fe.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_0.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_1.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_add.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_cmov.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_copy.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_frombytes.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
fe_invert.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_isnegative.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_isnonzero.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_mul.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
fe_neg.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_pow22523.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_sq.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
fe_sq2.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
fe_sub.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
fe_tobytes.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
ge.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_add.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_add.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_add.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_double_scalarmult.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_frombytes.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_madd.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_madd.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_madd.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_msub.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_msub.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_msub.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p1p1_to_p2.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p1p1_to_p3.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p2_0.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p2_dbl.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p2_dbl.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p2_dbl.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p3_0.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p3_dbl.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p3_to_cached.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p3_to_p2.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_p3_tobytes.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_precomp_0.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_scalarmult_base.c Stop ed25519 8-bit signed left shift overflowing 2014-09-28 20:44:00 -04:00
ge_sub.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_sub.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_sub.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
ge_tobytes.c Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
keyconv.c Add curve25519->ed25519 key conversion per proposal 228 2014-09-25 15:08:31 -04:00
keypair.c crypto: Refactor (P)RNG functionality into new crypto_rand module. 2018-04-06 21:45:28 +00:00
open.c Fix a large pile of solaris warnings for bug 19767. 2016-07-28 10:47:46 -04:00
pow22523.h Comment-out dead code in ed25519/ref10 2014-09-26 09:07:44 -04:00
pow22523.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
pow225521.h Comment-out dead code in ed25519/ref10 2014-09-26 09:07:44 -04:00
pow225521.q Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
q2h.sh Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
randombytes.h refactor: Remove unnecessary `#include "crypto.h"` throughout codebase. 2018-04-06 22:49:18 +00:00
sc.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
sc_muladd.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
sc_reduce.c Use SHL{8,32,64} in ed25519/ref10 to avoid left-shifting negative values 2014-09-28 20:41:05 -04:00
sign.c Fix warnings on 32-bit builds. 2014-09-25 17:50:13 -04:00
sqrtm1.h Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00
sqrtm1.py Add the ed25519 ref10 code verbatim from supercop-20140622 2014-08-26 10:08:44 -04:00

README.tor

We've made the following changes to the stock ed25519_ref10 from
supercop-20140622:

   * We added the necessary glue to provide integers of fixed bit
     sizes, SHA512, and to compile without warnings everywhere we need
     to build.

   * Secret keys are stored in expanded format.  There are functions
     to expand them from the 32-byte seed.

   * Signatures are made and processed detached from the messages that
     they sign.  (In other words, we support "make signature" and
     "check signature", not "create signed message" and "check and
     unpack signed message".)

   * There's an implementation of 'convert a curve25519 key to an
     ed25519 key' so we can do cross-certification with curve25519 keys.
     (keyconv.c)

   * There's an implementation of multiplicative key blinding so we
     can use it for next-gen hidden srevice descriptors. (blinding.c)