|
|
@ -3,7 +3,7 @@ from trezor.crypto.curve import curve25519
|
|
|
|
from trezor.crypto.hashlib import sha512
|
|
|
|
from trezor.crypto.hashlib import sha512
|
|
|
|
|
|
|
|
|
|
|
|
_PREFIX = b"\x08\x43\x50\x61\x63\x65\x32\x35\x35\x06"
|
|
|
|
_PREFIX = b"\x08\x43\x50\x61\x63\x65\x32\x35\x35\x06"
|
|
|
|
_PADDING = b"\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20"
|
|
|
|
_PADDING = b"\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Cpace:
|
|
|
|
class Cpace:
|
|
|
@ -26,6 +26,7 @@ class Cpace:
|
|
|
|
sha_ctx.update(code_code_entry)
|
|
|
|
sha_ctx.update(code_code_entry)
|
|
|
|
sha_ctx.update(_PADDING)
|
|
|
|
sha_ctx.update(_PADDING)
|
|
|
|
sha_ctx.update(self.handshake_hash)
|
|
|
|
sha_ctx.update(self.handshake_hash)
|
|
|
|
|
|
|
|
sha_ctx.update(b"\x00")
|
|
|
|
pregenerator = sha_ctx.digest()[:32]
|
|
|
|
pregenerator = sha_ctx.digest()[:32]
|
|
|
|
generator = elligator2.map_to_curve25519(pregenerator)
|
|
|
|
generator = elligator2.map_to_curve25519(pregenerator)
|
|
|
|
self.trezor_private_key = random.bytes(32)
|
|
|
|
self.trezor_private_key = random.bytes(32)
|
|
|
|