aboutsummaryrefslogtreecommitdiffstats
path: root/docs/development/custom-vectors/secp256k1.rst
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-05-03 13:40:34 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-05-03 13:40:34 -0500
commitaadca86bbf564cc3128f2a7d85dc00e3e30fdfae (patch)
treedae81f0fece1ae430ff3c47632d315e71e0be334 /docs/development/custom-vectors/secp256k1.rst
parent38478bf890eae525c2c5061ea7ae17db708b2b39 (diff)
parente0afa5d8394e32369a0bec9486b5eb44193412b6 (diff)
downloadcryptography-aadca86bbf564cc3128f2a7d85dc00e3e30fdfae.tar.gz
cryptography-aadca86bbf564cc3128f2a7d85dc00e3e30fdfae.tar.bz2
cryptography-aadca86bbf564cc3128f2a7d85dc00e3e30fdfae.zip
Merge pull request #1867 from public/secp256k1-vectors
Script for generating SECP256K1 vectors
Diffstat (limited to 'docs/development/custom-vectors/secp256k1.rst')
-rw-r--r--docs/development/custom-vectors/secp256k1.rst32
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/development/custom-vectors/secp256k1.rst b/docs/development/custom-vectors/secp256k1.rst
new file mode 100644
index 00000000..b19bf4e4
--- /dev/null
+++ b/docs/development/custom-vectors/secp256k1.rst
@@ -0,0 +1,32 @@
+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.python.org/pypi/ecdsa