| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Adds PointGFp::force_affine(), ::add_affine(), and ::is_affine()
Use a (very simple) technique for base point precomputations.
Stick with fixed window for variable point inputs.
Scalar blinding is now always enabled
|
| |
|
|
|
|
| |
No shared state
|
| |
|
|
|
|
| |
Allows precomputations in the future.
|
|
|
|
|
|
| |
This allows calculating the Barett reduction params just once,
when the group is initialized, then sharing them across all
operations which use that group.
|
|
|
|
| |
Hide CurveGFp with an eye for eventual removal
|
|
|
|
|
| |
Was already supposed to be public, which is why it's declared in a public
header - just missed the export annotation.
|
|
|
|
|
| |
GM/T 0009-2012 apparently specifies that this should default to the
16-byte hex sequence 31,32,33,34,35,36,37,38,31,32,33,34,35,36,37,38.
|
|
|
|
|
| |
Done by a perl script which converted all classes to final, followed
by selective reversion where it caused compilation failures.
|
|
|
|
|
|
|
|
|
| |
There are in fact 3 different variations of SM2 standard, first
C1||C2||C3, then C1||C3||C2, then (most recently) an ASN.1 encoding.
This makes us compatible with GmSSL
This work was sponsored by Ribose Inc (@riboseinc).
|
|
|
|
|
|
| |
ISO C++ reserves names with double underscores in them
Closes #512
|
| |
|
|
|
|
| |
New name, same great operation
|
|
|
|
|
|
|
|
| |
Unfortunately it seems the SM2 format changed between 2010 and 2012,
now the ciphertext is C1 || C3 || C2.
Unfortunate no matter how you slice it, but at least it's easy to
convert from one form to another.
|
|
|
|
|
|
| |
To reflect support for arbitrary hashes
[ci skip]
|
|
|
|
| |
This is a contribution from Ribose Inc
|
| |
|
|
|
|
| |
This is a contribution from Ribose Inc.
|
|
|
|
| |
This is a contribution from Ribose Inc (@riboseinc)
|
| |
|
|
From https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02
This is a contribution from Ribose Inc (@riboseinc).
|