关于密码学,一般来说,以下建议非常普遍,甚至可能与平台和语言无关。
密码学是一个非常复杂的主题,开发人员应该留给安全专家`
我理解并同意本声明背后的原因,因此在应用程序中使用加密时遵循建议。
话虽如此,因为密码学在除密码专用参考资料之外的所有内容都是如此轻率,但我对密码学的工作原理还不了解,以便能够确定提供给我的默认是否适合这种情况我在。有无数种不同语言的数千个加密框架,我拒绝相信这些实现中的每一个都是安全的,因为我不相信每个加密实现都是由加密专家创建的,主要是因为如果要相信流行的观点,那就不是那么多了。
关于给定的加密算法,我需要了解哪些信息才能确定我自己算法是否是一个合理的选择?
答案 0 :(得分:1)
您希望通过加密算法评估获得的技术越多,您就越想要专家的服务。 : - /
将http://www.cryptopp.com视为所提供信息的示例。例如,它由NIST认证。
答案 1 :(得分:0)
我需要了解哪些信息 关于给定的加密算法 能够为自己确定 算法是否合理 选择?
一旦确定了您所需要的内容,您就可以信赖的同行评审解决方案很少。例如:
对称加密:AES(Rijndael),三重DES
非对称加密:Diffie-Hellman,RSA
散列:SHA函数族
这些是久经考验的经过验证的解决方案。除非有人证明,否则可以安全使用。已经有一段时间了,因为加密技术通过默默无闻而脱离了安全性并且“滚动了你自己的”实现。
那里有很多加密骗局,在选择解决方案时要小心。确保它建立在经过验证的技术基础之上,如果听起来太好或者说“坚不可摧”,“革命性”之类的话,你可以99%肯定它是假的。
答案 2 :(得分:0)
有效的方法已被充分记录并广泛使用。我倾向于考虑与加密相关的三种情况:
曾经有一段时间,铁路棚车从重型挂锁切换到容易失败但难以锻造的线圈。使锁更牢固,他们只是穿过墙壁。将锁转变为入侵探测器,你已经获得了一些东西。
签名和身份验证结果是更好地使用加密技术,而不仅仅是加密。