aboutsummaryrefslogtreecommitdiff
path: root/asn1crypto
diff options
context:
space:
mode:
authorWill Bond <will@wbond.net>2019-11-05 05:43:58 -0500
committerGitHub <noreply@github.com>2019-11-05 05:43:58 -0500
commit63ffc710ad3cbf85876ce591e82be9fea47fcad7 (patch)
tree1ef761b0199ffddc204554549455c7287999a374 /asn1crypto
parentea2123aa7c6529b636a82672827d9e4c6099fda5 (diff)
parent754aa9d064133b219529c4a7295c228552519092 (diff)
downloadasn1crypto-63ffc710ad3cbf85876ce591e82be9fea47fcad7.tar.gz
Merge pull request #166 from joernheissler/i163
Add brainpool curves from rfc5639
Diffstat (limited to 'asn1crypto')
-rw-r--r--asn1crypto/keys.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/asn1crypto/keys.py b/asn1crypto/keys.py
index 3c9bf8c..599929f 100644
--- a/asn1crypto/keys.py
+++ b/asn1crypto/keys.py
@@ -388,6 +388,21 @@ class NamedCurve(ObjectIdentifier):
'1.3.132.0.37': 'sect409r1',
'1.3.132.0.38': 'sect571k1',
'1.3.132.0.39': 'sect571r1',
+ # https://tools.ietf.org/html/rfc5639#section-4.1
+ '1.3.36.3.3.2.8.1.1.1': 'brainpoolp160r1',
+ '1.3.36.3.3.2.8.1.1.2': 'brainpoolp160t1',
+ '1.3.36.3.3.2.8.1.1.3': 'brainpoolp192r1',
+ '1.3.36.3.3.2.8.1.1.4': 'brainpoolp192t1',
+ '1.3.36.3.3.2.8.1.1.5': 'brainpoolp224r1',
+ '1.3.36.3.3.2.8.1.1.6': 'brainpoolp224t1',
+ '1.3.36.3.3.2.8.1.1.7': 'brainpoolp256r1',
+ '1.3.36.3.3.2.8.1.1.8': 'brainpoolp256t1',
+ '1.3.36.3.3.2.8.1.1.9': 'brainpoolp320r1',
+ '1.3.36.3.3.2.8.1.1.10': 'brainpoolp320t1',
+ '1.3.36.3.3.2.8.1.1.11': 'brainpoolp384r1',
+ '1.3.36.3.3.2.8.1.1.12': 'brainpoolp384t1',
+ '1.3.36.3.3.2.8.1.1.13': 'brainpoolp512r1',
+ '1.3.36.3.3.2.8.1.1.14': 'brainpoolp512t1',
}
_key_sizes = {
@@ -454,6 +469,23 @@ class NamedCurve(ObjectIdentifier):
'1.3.132.0.37': 52,
'1.3.132.0.38': 72,
'1.3.132.0.39': 72,
+ # Order values used to compute these sourced from
+ # https://tools.ietf.org/html/rfc5639#section-3
+ # ceil(q.bit_length() / 8)
+ '1.3.36.3.3.2.8.1.1.1': 20,
+ '1.3.36.3.3.2.8.1.1.2': 20,
+ '1.3.36.3.3.2.8.1.1.3': 24,
+ '1.3.36.3.3.2.8.1.1.4': 24,
+ '1.3.36.3.3.2.8.1.1.5': 28,
+ '1.3.36.3.3.2.8.1.1.6': 28,
+ '1.3.36.3.3.2.8.1.1.7': 32,
+ '1.3.36.3.3.2.8.1.1.8': 32,
+ '1.3.36.3.3.2.8.1.1.9': 40,
+ '1.3.36.3.3.2.8.1.1.10': 40,
+ '1.3.36.3.3.2.8.1.1.11': 48,
+ '1.3.36.3.3.2.8.1.1.12': 48,
+ '1.3.36.3.3.2.8.1.1.13': 64,
+ '1.3.36.3.3.2.8.1.1.14': 64,
}
@classmethod