我正在学习CISSP,并且知道他们会问在不同的情况下使用哪种类型的加密。这样的清单存在吗?还是有一个通用的经验法则?
发布于 2012-07-10 12:40:28
我认为,一般来说,您需要理解对称加密和非对称加密之间的区别。对称算法比非对称算法具有更快、更强的密钥长度。但是对称算法需要预先共享密钥,而非对称算法则不需要.因此,在需要强度和速度,并且可以安全地预先共享密钥的情况下,您可以使用对称密码,比如AES。
在实践中,密码散列、对称加密和非对称加密相结合,提供了一种更完整的解决方案。例如,不对称加密可用于将密钥交换为对称加密。这就是安全套接字层(SSL)的工作方式。
发布于 2013-02-24 19:59:45
一般的理由如下:
我们有一些敏感数据,必须加以转换,以保持其机密性。它需要被改造回来吗?如果不是,那么这就是散列的情况,而不是加密(如“密码存储”中的情况:您不想获得密码,您只想验证给定的密码是否与存储的密码匹配)。密码哈希有时被称为“加密”(这是错误的,但普遍存在)。
假设我们需要进行实际的加密,那么进行加密的人会比解密的人在道德上是同一个实体吗?如果这两个实体都是相同的实体(例如,您加密一个文件以便以后检索它),那么就是对称加密(加密和解密使用相同的密钥)。否则,这就是不对称加密(典型情况:加密电子邮件:由发件人加密,由收件人解密,收件人是其他人)。
如果执行对称加密,则使用AES --但要在适当的模式(如EAX )中执行,这样可以确保机密性和完整性。还有其他加密算法,其中一些算法在某些情况下提供了更好的性能,但需要一些创造性的工程才能找到AES速度不够的情况。不要以对性能的无根据的担忧来污染安全设计。
如果执行非对称加密,那么您可能需要使用混合加密:非对称加密一个随机密钥(一组字节),然后用于对实际数据进行对称加密。非对称加密算法(如RSA)不处理大量数据;其中有些算法实际上不允许您选择加密的数据(这些是密钥交换算法,如迪夫-赫尔曼)。
当然,也不要自己动手。密码算法是敏感的野兽,当将它们组装成协议时,很容易出错。您应该尽可能多地依赖现有的协议。例如,您不加密电子邮件;您使用S/哑剧或OpenPGP,这将负责以适当的方式应用加密。
https://security.stackexchange.com/questions/17020
复制相似问题