mirror of
https://github.com/bitcoin/bips.git
synced 2026-02-09 15:23:09 +00:00
git-subtree-dir: bip-0374/secp256k1lab git-subtree-split: 44dc4bd893b8f03e621585e3bf255253e0e0fbfb
17 lines
522 B
Python
17 lines
522 B
Python
import hashlib
|
|
|
|
from .secp256k1 import GE, Scalar
|
|
|
|
|
|
def ecdh_compressed_in_raw_out(seckey: bytes, pubkey: bytes) -> GE:
|
|
"""TODO"""
|
|
shared_secret = Scalar.from_bytes_checked(seckey) * GE.from_bytes_compressed(pubkey)
|
|
assert not shared_secret.infinity # prime-order group
|
|
return shared_secret
|
|
|
|
|
|
def ecdh_libsecp256k1(seckey: bytes, pubkey: bytes) -> bytes:
|
|
"""TODO"""
|
|
shared_secret = ecdh_compressed_in_raw_out(seckey, pubkey)
|
|
return hashlib.sha256(shared_secret.to_bytes_compressed()).digest()
|