关于android:如何更改AES 128的密钥数量

how to change numbers of secret key for AES 128

本问题已经有最佳答案,请猛点这里访问。

我找到了一个android加密的源..它使用的是aes 128位加密..但是密钥的数量固定为16个字符..有人能告诉我如何根据我们的意愿更改数字密钥..我不想限制密钥的字符..

这是链接

https://sites.google.com/site/mobilesecuritylabware/3-data-location-privacy/lab-activity/cryptography/cryptography-mobile-labs/encryption-decryption/2-lab-activity/lab-activity


大多数对称加密算法使用固定长度的块和固定长度的密钥。对于AES,它是16字节块,128位、192位或256位密钥。您不能有不同的密钥长度。

现在,理想情况下键必须是128位,而不仅仅是"16个字符"(如果您指的是文本符号)。在ASCII字母表中,16个字符的"有意义"比特比128小得多。因此,要在加密密钥中使用128个全重位,您需要使用更长的密码短语(128位密钥至少需要22个ASCII字符),然后将密钥派生函数(bcrypt、pbkdf)之一应用到您的密码短语,以获得所需长度的密钥。

接下来要考虑的是,您现在正在研究低级别加密,需要在其中处理密码模式、填充等。如果你不太熟悉密码学,那么看看高级加密标准是有意义的,因为高级加密标准隐藏了底层的复杂性。例如,openpgp在使用密码对数据进行加密方面做得非常出色。


之所以称为128位加密,是因为密钥是128位的。1个字符是8位,因此是16个字符。如果需要另一个长度的密钥,则不能使用AES 128位加密。