簡體   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