我想分别用私钥和公钥加密和解密数据。
数据在 1 到 32 字节之间。
我不想对数据使用对称密码 - 我想直接对数据使用 key 。 (出于性能原因通常不会这样做,但我的数据非常小。)
这可能吗?我应该从哪里开始?
最佳答案
I'd like to encrypt and decrypt data with private and public keys
几乎所有使用过加密技术的人都会告诉您,编写加密技术需要您自担风险。使用标准库,它们由所有让您的流量不安全的东西(如果您不了解这些技术)组成。
也就是说,这里有一些 Python 库(但您可以在从 PHP 到 Java 的大多数语言中获得它,或者任何您喜欢的语言):
https://pypi.python.org/pypi/pycrypto
https://www.dlitz.net/software/pycrypto/
https://pypi.python.org/pypi/PyECC
您会看到 pycrypto,因为如果您想使用 RSA,它很受欢迎。另一个包是 PyECC,它包括椭圆曲线加密的功能。如果您希望减小 key 大小或减少用于加密的资源(通常是在移动系统或小型系统中),这一点很重要。 difference in key sizes (link)随着 key 的增长(为了提高安全性)可能会变得荒谬
关于javascript - 如何在没有对称密码的情况下将公钥/私钥用于短数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20159371/