diff options
author | Jörn Heissler <nosuchaddress@joern.heissler.de> | 2019-11-03 10:40:57 +0100 |
---|---|---|
committer | Jörn Heissler <nosuchaddress@joern.heissler.de> | 2019-11-04 17:30:21 +0100 |
commit | 754aa9d064133b219529c4a7295c228552519092 (patch) | |
tree | 1fe1efbbb6cbd61074f3354ad358b0574d8001ca | |
parent | d43d2b56aa00ce29f4022906e85dd0e6115cf9c8 (diff) | |
download | asn1crypto-754aa9d064133b219529c4a7295c228552519092.tar.gz |
Add brainpool curves from rfc5639
Closes: #163
-rw-r--r-- | asn1crypto/keys.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/asn1crypto/keys.py b/asn1crypto/keys.py index 05f1313..f75422e 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 = { @@ -453,6 +468,23 @@ class NamedCurve(ObjectIdentifier): '1.3.132.0.37': 51, '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 |