27 encryption aes
在AES加密(.net框架)中,公钥和私钥是如何使用的?
公钥和私钥是否组合在一起形成一个完整的密钥,然后算法使用公钥+私钥来加密数据?
(以下用于示例目的的简化密钥)
例如,公钥= 12345私钥= 67890
所以生成加密结果时使用的密钥是:1234567890
Roa*_*ior 89
正如其他人所说,AES是一种对称算法(私钥加密).这涉及单个密钥,它是发送者和接收者之间的共享秘密.类比是没有邮件槽的锁定邮箱.任何想要离开或阅读邮件的人都需要拥有邮箱的密钥.
如果您真的想知道AES的血腥细节,那么一路上会有一个极好的卡通片来指导您.
公钥加密涉及每个接收者所涉及的两个相关密钥 - 私钥是仅由接收者知道的秘密,以及所有发送者都知道的相关公钥.
发件人使用收件人的公钥加密邮件.该消息只能由具有与公钥匹配的私钥的收件人解密.
公钥加密的类比是带有邮件槽的锁定邮箱.邮件插槽暴露并可供公众访问.它的位置(街道地址)是公钥.任何知道街道地址的人都可以上门并通过插槽发送书面信息.但只有拥有私钥的人才能打开邮箱并阅读邮件.
我不知道 .net 框架具体是如何工作的(问题可能应该被标记为 .net),但根据你的问题,听起来它实现了公钥/私钥加密,只是使用 AES 作为其对称组件。
进行公钥加密的通常模式是
数据本身首选对称算法的原因是非对称算法非常慢。
鉴于他们无法测试安全性(对于几位候选人来说,他们真正拥有的只是没有休息),选择 Rijndael 进行 AES 的原因(主要)与性能相关。
以最简单的形式:
AES 是一种对称算法,它使用相同的密钥进行加密和解密。因此,无论谁拥有密钥,都可以读取您的消息。
私钥和公钥用于RSA等非对称算法,通常人们使用公钥进行加密,私钥进行解密(只有HMAC或MAC会使用私钥进行加密,公钥进行解密)。公钥是每个人都知道的,私钥只有你自己知道,所以没有人可以读取发送给你的消息。
| 归档时间: |
|
| 查看次数: |
76488 次 |
| 最近记录: |