use*_*636 9 security encryption cryptography terminology
好吧,我很困惑这两种加密方法是如何工作的.我知道对称是常规的,并且在两个用户之间使用共享私钥.
基本上,我想知道
它们如何工作的原则
他们的目的
他们的相对表现
非对称和对称加密方法.
sar*_*old 21
我建议从Applied Cryptography开始.这是对密码学相关原理的精彩介绍.
如果您对密码学非常感兴趣,我强烈推荐应用密码学手册作为一项了不起的参考工作.一开始它处理起来太多了,但它是免费的,所以现在去抓一个副本:)当你完成AC时,阅读HAC.(实际上,精装版是非常好做,并更容易比几百页激光打印纸的阅读;考虑购买它,如果你喜欢PDF的外观)
对称加密通过将秘密输入与秘密密钥混合来工作,使得它是(a)快速(b)不能从输出中导出输入或密钥.混合的细节差别很大,但有分组密码和流密码 ; 块密码通过一次查看8或16或32字节块中的输入数据,并在这些块中扩散输入和密钥来工作.需要不同的操作模式来加密比块中的拟合更多的数据,并且不同的操作模式也可能或可能不在块之间扩展数据.
对称密码非常适合批量数据加密,从8字节到8兆字节,是加密数据的最佳选择.
非对称加密的工作原理是利用非常困难的数学问题后门,使一个快速的解决问题的办法,如果你有一小块非常重要的数据.通常的数学问题是分解大数和离散对数.非对称算法适用于固定数据大小,RSA和El Gamal通常为1024-2048位,RSA或El Gamal的Elliptic Curve版本为384位.(椭圆曲线版本使用与整数不同的字段进行计算.RSA和El Gamal以及类似系统适用于指定乘法和加法运算的任何字段,而ECC具有不同的字段表示,可以神奇地包装"更多" "数据变得有点.这是一种非常聪明的方法,可以使众所周知的机制适应更少的记忆,而我的一句话介绍无法开始正义.简单是令人惊奇的部分.)
非对称加密有助于解决密钥分发问题,但只是勉强:在每对想要使用密码术的人之间需要O(N ^ 2)密钥对,而不需要O(N)密钥,一个公共/私有每人一对,每个人都需要了解其他人的公共部分.这仍然不是一个简单的问题,因为x509的复杂性表明,但是诸如openPGP和OpenSSH之类的机制具有更简单的模型和机制,可以很好地用于许多用途.
非对称密码通常用于传输对称密码的会话密钥.即使只传输少量数据,密码学家通常更愿意发送用对称密码加密的实际数据,并发送用非对称密码加密的密钥.一个巨大的好处是您可以向一百个不同的收件人发送邮件,邮件大小为O(邮件大小+ 100*2048位) - 您可以单独加密每个收件人的会话密钥,并且只传输一次消息.巨大的成功.
非对称密码也用于数字签名.虽然可以使用对称密码来实现消息真实性,但是对称密码不能用于提供不可否认的签名.
非对称密码非常适合加密少量随机或"无法区分"的数据,例如会话密钥和消息摘要.它最适合用于按键和散列.
对称密码通常比非对称密码快得多,但由于它们用于不同目的,速度差异在实践中不是问题.当然,算法的速度会有很大差异(DES软件速度慢,硬件速度快,但对于我的系统上的小型数据集,AES速度要快1.8到3.3倍,而硬件的速度可能要快得多.)
Wil*_*ler 21
执行摘要:
对称密码:比非对称密码更快,但需要一个必须由发送方和接收方共享的密钥.以安全的方式向双方提供此密钥本身就是一个非常重要的问题.
非对称密码:较慢,但通过使用两个密钥来解决密钥分发问题,其中一个密钥完全可以共享.
在实践中,这些可以结合起来以获得两全其美(例如HTTPS).
| 归档时间: |
|
| 查看次数: |
31610 次 |
| 最近记录: |