blob: fcbca52897d24e06cc888024acc9c9ec5bbc3c54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
SunEC
=====
| Version: ``jdk-21-ga`` (JDK 21)
| Repository: https://github.com/openjdk/jdk/
| Docs:
Primitives
----------
ECDH, ECDSA, x25519, Ed25519
P-256
^^^^^
The only special thing is the generator scalarmult, ``Secp256R1GeneratorMultiplier`` which is a Comb.
ECDH
^^^^
KeyGen:
- Short-Weierstrass
- Fixed Window (width = 4) via ``ECKeyPairGenerator.generateKeyPair -> ECKeyPairGenerator.generateKeyPairImpl -> ECPrivateKeyImpl.calculatePublicKey -> ECOperations.multiply -> Default(PointMultiplier).pointMultiply``
- projective-3 coords
- RCB-based formulas: `add-sunec-v21 <https://github.com/J08nY/pyecsca/blob/master/test/data/formulas/add-sunec-v21.op3>`__,
`dbl-sunec-v21 <https://github.com/J08nY/pyecsca/blob/master/test/data/formulas/dbl-sunec-v21.op3>`__,
Derive:
- Same as KeyGen.
ECDSA
^^^^^
Same as ECDH.
x25519
^^^^^^
KeyGen:
- Montgomery
- Montgomery ladder
- xz
- Ladder formula from RFC 7748
Derive:
- Same as KeyGen.
Ed25519
^^^^^^^
KeyGen:
- Twisted-Edwards
- Double and add always
- Extended coords
- Unknown formulas: `add-sunec-v21-ed25519 <https://github.com/J08nY/pyecsca/blob/master/test/data/formulas/add-sunec-v21-ed25519.op3>`__, `dbl-sunec-v21-ed25519 <https://github.com/J08nY/pyecsca/blob/master/test/data/formulas/dbl-sunec-v21-ed25519.op3>`__
Sign:
- Same as KeyGen.
Verify:
- Same as KeyGen.
|