我想在我的应用程序中使用AES加密。我遇到了一些aes算法的开源实现。通过查看它们,我对以下参数感到困惑:
有谁可以帮我?
发布于 2010-12-23 16:23:50
AES密钥长度指出密钥长度应为128位、192位或256位。如果我的钥匙仅仅是五位数,即23467
看来你把钥匙当成密码了。不是的。密码钥匙不是用来记忆的。这是一个长串随机生成的字节,应该存储在安全的地方。
不过,您可以从密码派生密码密钥,例如使用哈希函数。在这种情况下,您输入234567并使用结果摘要作为键。然而,这有一些安全含义,因为它使您的密钥容易受到字典和彩虹表攻击。查找“基于密码的加密”,了解如何安全地处理此问题的详细信息;特别是查看PBKDF2,在RFC2898中描述。
AES纯文本长度: aes纯文本长度有限制吗?
AES是块密码,是加密系统的底层构建块。它本身只能加密单个数据块(16个字节),因此密码学家创建了几种“操作模式”,使我们能够加密任意长度的明文。CTR是操作模式的一个很好的例子,它不需要任何填充并且可以并行化。
AES输出:如果我的键长度是5位,纯文本是10个字符,那么aes输出字符串的最小大小是多少。
发布于 2010-12-23 16:19:36
尝试找到一个密码库,它为你完成了大部分工作。你不想乱搞一个基本的AES函数。你还需要处理IVs,AES模式,可能是MAC等等。我不能推荐任何东西,因为你没有说你想使用哪种语言。
https://stackoverflow.com/questions/4520405
复制相似问题