繁体   English   中英

我应在iOS Android应用上使用哪种加密方法:AES128或3DES

[英]What encryption method should I use on iOS Android Apps: AES128 or 3DES

客户端给我选择了AES128或3DES加密。

我必须在iOS和Android上都推出它。

哪个会更容易做到?

是否有适用于iOS和Android的库?

全部或部分答案将是不错的选择(即,如果您只知道一个平台)

在3DES上优先使用AES128。 3DES提供的有效密钥大小为112位,而AES 128使用128位的密钥空间。

http://en.wikipedia.org/wiki/Aes128

http://en.wikipedia.org/wiki/Triple_DES

请完整阅读本文,并随时返回发表更多评论或新问题。

密码正确答案

特别是,回答的第一个问题是:

加密数据:在CTR(计数器)模式下使用AES,然后附加HMAC。

AES尽可能地成为标准,并且在过去十年中很好地抵抗了密码攻击。 使用CTR模式可避免ECB模式的弱点,即部分块的填充和取消填充(或密文窃取)的复杂过程(以及容易出错的过程),并且由于输入了数据,因此大大降低了旁道攻击的风险对AES不敏感。 但是,由于CTR模式是可延展的,因此您应始终添加HMAC来确认加密数据未被篡改。

回答的下一个问题是:

AES密钥长度:使用256位AES密钥。

从理论上讲,在可预见的将来,128位AES密钥应该足够了。 但是对于大多数应用程序而言,使用256位密钥而不是128位密钥的增加成本微不足道,并且增加的密钥长度提供了安全余量,以防侧信道攻击泄漏了部分但不是全部密钥位。

[编辑1]另外,您对问题应用了“公共密钥加密”标签这一事实意味着您对密码学的理解可能会更好。 还请阅读Ross Anderson撰写的Security Engineering (PDF)的第5章 它是免费的,并且非常易于访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM