MOON
Server: Apache
System: Linux vps.espica.me 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: golnoorlig (1005)
PHP: 8.2.32
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/doc/python3-cryptography/docs/development/custom-vectors/secp256k1.rst
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/