Nick Sullivan
6a5b901f16
Merge pull request #2 from armfazh/optime01
Optimizations derived from armfazh/flor-sidh-x64 project.
7 년 전
armfazh
4ec6a08fc4
Addressing the changes suggested by vkrasnov.
- optimizations.md file removed.
- DblAdd function now is a method of ProjectivePoint and ProjectivePrimeFieldPoint.
- A better (re)utilization of variables inside of DblAdd method.
- Reflect package is not required anymore in p751toolbox/print.go.
7 년 전
armfazh
3886b67b16
Table of timings.
7 년 전
armfazh
8eecb0f08e
Including timings report.
7 년 전
armfazh
46ef404eba
New optimizations derived from armfazh/flor-sidh-x64 project.
Look at optimizations.md file.
7 년 전
Henry de Valence
e730a9e871
p751sidh: add README content
7 년 전
Henry de Valence
5f479b1d40
p751sidh: use quick.Check for testing shared secret computation
7 년 전
Henry de Valence
dea4fa5c4c
p751sidh: add documentation
7 년 전
Henry de Valence
d11f070e62
p751sidh: doc fixups
7 년 전
Henry de Valence
b5437cbfa9
p751sidh: make scalar bytes public and fixed-size
7 년 전
Henry de Valence
4928f87299
p751sidh: rename package to p751sidh, p751toolbox
7 년 전
Henry de Valence
f8efbfa69f
cln16sidh: prepare for code splitting
7 년 전
Henry de Valence
bbfe85d80c
cln16sidh: have SIDH functions give byte outputs
7 년 전
Henry de Valence
73f3fb400d
cln16sidh: move SecretPoint, DistortAndDifference to curve.go
7 년 전
Henry de Valence
82a40ce1e6
cln16sidh: update benchmarks
Use "shared secret" instead of "key agreement" to point out that there's no hashing, key derivation, etc. going on.
Measure the keypair generation (including random sampling) in the "fast" benchmarks.
7 년 전
Henry de Valence
91db102d7d
cln16sidh: add secret key generation
7 년 전
Henry de Valence
11976a638e
cln16sidh: add de/serialization for SIDH public keys
7 년 전
Henry de Valence
2a65c75cc5
cln16sidh: refactor SIDH kex from initial work
7 년 전
Henry de Valence
d19dd55622
cln16sidh: use public keys without curve parameters
A later revision of the CLN paper uses the Montgomery relation to recover the a
value from the three x-coordinates in the public key, saving its transmission.
This patch improves slightly over the description in the paper, by
projectivizing the computation of the first four-isogeny; this means that it's
not necessary to perform an inversion to get the affine a value.
7 년 전
Henry de Valence
a9139f499b
cln16sidh: add curve parameter recovery
7 년 전
Henry de Valence
284917f704
cln16sidh: rough work on SIDH key agreement
7 년 전
Henry de Valence
6fec539d88
cln16sidh: add benchmark for Alice's keygen
7 년 전
Henry de Valence
aba3ad58ba
cln16sidh: fix sign error in 4-isogeny computations
7 년 전
Henry de Valence
aca4333bba
cln16sidh: add benchmarks for Bob's keygen
7 년 전
Henry de Valence
60d47ce8a2
cln16sidh: implement Bob's key generation
7 년 전
Henry de Valence
7c4e3b1d53
cln16sidh: add 3-isogeny test via Sage
7 년 전
Henry de Valence
827c8a2605
cln16sidh: add test for FirstFourIsogeny
7 년 전
Henry de Valence
713624a43c
cln16sidh: add key generation for Alice (currently broken)
7 년 전
Henry de Valence
95f392eb67
cln16sidh: implement FirstFourIsogeny
7 년 전
Henry de Valence
3f6eaf7f16
cln16sidh: move isogeny computations to seperate file
7 년 전
Henry de Valence
f2c7421ce2
cln16sidh: implement secret point generation
7 년 전
Henry de Valence
de4cd5d7ff
cln16sidh: add negation operators
7 년 전
Henry de Valence
cb7a285ff7
cln16sidh: add fromAffine constructors for points
7 년 전
Henry de Valence
545238d4fc
cln16sidh: implement y-coordinate recovery
7 년 전
Henry de Valence
071d05068a
cln16sidh: test prime field scalar mult against torsion points
7 년 전
Henry de Valence
8ff5a111cd
cln16sidh: add E(F_p) functionality
7 년 전
Henry de Valence
2c10aa9d31
cln16sidh: rename ExtensionFieldElementConditionalSwap
7 년 전
Henry de Valence
32eed216a7
cln16sidh: rename jInvariant to JInvariant
7 년 전
Henry de Valence
70aac4706c
cln16sidh: add ladder benchmarks
7 년 전
Henry de Valence
d15c2238a1
cln16sidh: add LICENSE text
7 년 전
Henry de Valence
8045da3721
cln16sidh: better isogeny names
7 년 전
Henry de Valence
691d3ba3d2
cln16sidh: implement 4-isogenies, refactor 3-isogenies
7 년 전
Henry de Valence
cac3df5258
cln16sidh: add 3-isogeny functions
Currently these aren't tested; Sage gets unhappy working with isogenies of
large elliptic curves. (Also, the previous test vectors were generated just to
test curve arithmetic, so they're not in the correct isogeny class and should
be changed...)
7 년 전
Henry de Valence
e420fc012a
cln16sidh: add three-point ladder
7 년 전
Henry de Valence
48826b1b20
cln16sidh: fix Sage variables
7 년 전
Henry de Valence
9cbec30220
cln16sidh: add a CachedCurveParameters struct
7 년 전
Henry de Valence
5887a8113e
cln16sidh: fix whitespace in test vectors
7 년 전
Henry de Valence
309448e8cf
cln16sidh: add Montgomery ladder scalar multiplication
7 년 전
Henry de Valence
324f240daa
cln16sidh: add conditional swaps
7 년 전
Henry de Valence
15dbd8c7ee
cln16sidh: add Zero, One constructors to ExtensionFieldElement
7 년 전