33 lines
998 B
ReStructuredText
33 lines
998 B
ReStructuredText
SECP256K1 vector creation
|
|
=========================
|
|
|
|
This page documents the code that was used to generate the SECP256K1 elliptic
|
|
curve test vectors as well as code used to verify them against another
|
|
implementation.
|
|
|
|
|
|
Creation
|
|
--------
|
|
|
|
The vectors are generated using a `pure Python ecdsa`_ implementation. The test
|
|
messages and combinations of algorithms are derived from the NIST vector data.
|
|
|
|
.. literalinclude:: /development/custom-vectors/secp256k1/generate_secp256k1.py
|
|
|
|
Download link: :download:`generate_secp256k1.py
|
|
</development/custom-vectors/secp256k1/generate_secp256k1.py>`
|
|
|
|
|
|
Verification
|
|
------------
|
|
|
|
``cryptography`` was modified to support the SECP256K1 curve. Then
|
|
the following python script was run to generate the vector files.
|
|
|
|
.. literalinclude:: /development/custom-vectors/secp256k1/verify_secp256k1.py
|
|
|
|
Download link: :download:`verify_secp256k1.py
|
|
</development/custom-vectors/secp256k1/verify_secp256k1.py>`
|
|
|
|
.. _`pure Python ecdsa`: https://pypi.org/project/ecdsa/
|