1

公钥加密如何工作,使用私钥和公钥/公钥解密/加密?密钥为 256 位是什么意思?它是如何解密的?是否有用于编写加密程序的语言或任何语言都可以?

4

2 回答 2

2

简单来说:

使用对称算法和随机对称密钥对数据进行加密。然后使用公共非对称密钥对随机密钥进行加密。加密的随机密钥与加密的数据一起存储。为了解密数据,使用私有非对称密钥来解密存储的随机密钥,然后使用解密的随机密钥来解密数据。

256 位是密钥的长度。但是,它对于对称和非对称密钥的含义截然不同。对于对称密钥,256 位是一个非常强的密钥(您可以使用 AES 384 或 AES 512 拥有更长的密钥,其中数字指定算法使用的密钥长度)。对于非对称算法,256 位算不上什么,可比较的强度是 2048 位。

公钥加密可以使用任何支持数学运算和数组的语言来实现。然而,这样做是在重新发明轮子。PKI 存在许多跨平台库:用于 C++的开源OpenSSL 、用于 Java 的BouncyCastle等等。我们公司为 .NET、Windows 和 Linux(MacOS X 版本即将推出)提供支持和维护的SecureBlackbox产品。

我们还向所有用户推荐了几本关于 PKI 的书籍。RSA 的指南很容易阅读(但非常有用),第二本书更深入地介绍了细节。

于 2011-02-12T10:43:29.187 回答
1

对于第一个问题,请参阅http://en.wikipedia.org/wiki/Public-key_cryptography 您可以谷歌了解更多详细信息。

256 位密钥意味着我们使用长度为 256 的密钥。在阅读更多关于第一个问题的答案后,您会明白这一点。

许多语言都有内置或第三方 api 来实现这些调用。

于 2011-02-12T10:13:24.060 回答