公钥加密如何使用私钥和公钥/公钥解密/加密?密钥为256位是什么意思?怎么解密?是否有编写加密程序的语言或任何语言都可以使用?
答案 0 :(得分:2)
简而言之:
使用对称算法和随机对称密钥对数据进行加密。然后使用公共非对称密钥加密随机密钥。加密的随机密钥与加密数据一起存储。为了解密数据,使用私有非对称密钥来解密存储的随机密钥,然后使用解密的随机密钥来解密数据。
256位是密钥的长度。但是,它对于对称和非对称密钥具有显着不同的含义。对于对称密钥,256位是一个非常强的密钥(您可以使用AES 384或AES 512甚至更长的密钥,其中数字指定算法操作的密钥长度)。对于非对称算法,256位是没有的,可比较的强度是2048位。
可以使用支持数学运算和数组的任何语言实现公钥加密。然而,这样做是重新发明轮子。 PKI存在许多跨平台库:C ++的开源OpenSSL,Java的BouncyCastle等等。我们公司为.NET,Windows和Linux提供支持和维护的SecureBlackbox产品(即将推出MacOS X版本)。
我们向所有用户推荐了几个books about PKI。 RSA的指南很容易阅读(但非常有用),第二本书深入细节。
答案 1 :(得分:1)
关于第一个问题,请参阅http://en.wikipedia.org/wiki/Public-key_cryptography 你可以谷歌了解更多细节。
256位密钥意味着我们使用长度为256的密钥。您将在了解更多关于第一个问题的答案后理解。
许多语言都有内置或第三方API来实现这些调用。