我一直在搜索,但找不到任何关于此的信息……只有具有对称密码学的 EC Diffie-Hellman,这正是我不想要的:(
想象一下:
- 生成随机私钥,
k
- 然后用 ECC 计算一个“公钥”,
d=kG
我正在寻找的算法是这样的:任何用公钥加密的消息将“仅”由私钥的所有者解密。
这存在吗?有没有开发过这样的东西?
我一直在搜索,但找不到任何关于此的信息……只有具有对称密码学的 EC Diffie-Hellman,这正是我不想要的:(
想象一下:
k
d=kG
我正在寻找的算法是这样的:任何用公钥加密的消息将“仅”由私钥的所有者解密。
这存在吗?有没有开发过这样的东西?
你可以试试 ecc (pip install ecc)
from ecc.Key.Key import Key
# Create keypair
k=Key.generate(521)
# Encode public key
pub=k.encode()
# Encode private key
priv=k.encode(include_private=True)
# Decode public key
pubK=Key.decode(pub)
# Decode private key
privK=Key.decode(priv)
# Encrypt message
msg=pubK.encrypt("Test")
# Decrypt message
print privK.decrypt(msg)
实际上,基于 Diffie-Hellman 密钥交换的 El Gamal 方案假定了一种非对称加密算法,具有私钥和公钥,因此您应该考虑这一点。在该方案中计算公钥将与计算组中的离散对数一样困难。