|
|
|
@ -128,6 +128,18 @@ def _keygrip_ed25519(vk):
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _keygrip_curve25519(vk):
|
|
|
|
|
# pylint: disable=line-too-long
|
|
|
|
|
return _compute_keygrip([
|
|
|
|
|
['p', util.num2bytes(0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED, size=32)], # nopep8
|
|
|
|
|
['a', b'\x01\xDB\x41'],
|
|
|
|
|
['b', b'\x01'],
|
|
|
|
|
['g', util.num2bytes(0x04000000000000000000000000000000000000000000000000000000000000000920ae19a1b8a086b4e01edd2c7748d14c923d4d7e6d7c61b229e9c5a27eced3d9, size=65)], # nopep8
|
|
|
|
|
['n', util.num2bytes(0x1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED, size=32)], # nopep8
|
|
|
|
|
['q', vk.to_bytes()],
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SUPPORTED_CURVES = {
|
|
|
|
|
formats.CURVE_NIST256: {
|
|
|
|
|
# https://tools.ietf.org/html/rfc6637#section-11
|
|
|
|
@ -146,7 +158,7 @@ SUPPORTED_CURVES = {
|
|
|
|
|
'oid': b'\x2B\x06\x01\x04\x01\x97\x55\x01\x05\x01',
|
|
|
|
|
'algo_id': 18,
|
|
|
|
|
'serialize': _serialize_ed25519,
|
|
|
|
|
'keygrip': _keygrip_ed25519,
|
|
|
|
|
'keygrip': _keygrip_curve25519,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|