首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aes256加密算法如何处理长度不等于32字节的密钥?

aes256加密算法如何处理长度不等于32字节的密钥?
EN

Stack Overflow用户
提问于 2022-05-17 19:15:51
回答 1查看 468关注 0票数 -2

我问这个问题的原因是我们都知道这个算法会将明文数据填充到32 bytes的倍数中,

那么,如何处理小于或更多的密钥呢?

因为许多网站或程序都使用aes256加密算法,

通常我们不设置32 byte密码。

在这种情况下,算法应该如何进行?

或者有什么地方可以让我完美地阅读aes256所有模式的算法?

我愿意自己检查算法的source code

代码语言:javascript
复制
(this is not an advertisement)
but before that, I wrote an encryption algorithm myself.
I named it "sn_aes2048", Its function is:
"if the plaintext data is not a multiple of 256 bytes,
it will be filled with a multiple of 256 bytes, and the key is the same operation.
16 rounds of encryption will be performed by default,
and the data of the key will be updated in each round of encryption.
You may not believe that this algorithm is both symmetric encryption and asymmetric encryption.
Yes, yes, it is an encryption algorithm similar to aes256."
EN

回答 1

Stack Overflow用户

发布于 2022-05-17 20:07:28

我问这个问题的原因是我们都知道这个算法会把纯文本数据填充成32个字节的倍数,

AES是一种分组密码,它必须与作为一般密码的操作模式一起使用。某些操作模式(欧洲央行,CBC)需要填充(或窃取密文)才能操作。因此,AES --分组密码算法--不需要这样做,而且更多的操作模式(CTR,GCM)根本不需要填充。

那么,如何处理小于32字节或更多字节的密钥呢?

AES --分组密码--支持128、192和256位的密钥大小,仅此而已。它不会对键本身执行任何操作。

通常我们不设置32字节密码。

是的,但密码不是钥匙。两者都是秘密,但对密钥和密码有不同的要求。您确实可以使用基于密码的密钥派生函数(PBKDF),如下所示。其他方法也存在,如PAKE方案。

您可能不相信该算法是对称加密和非对称加密。

我不相信如果你不理解对称密钥和密码的概念,或者你试图重新发明的填充的概念,那就没有什么好处了,但是你可以随意发表一篇论文。

或者有什么地方可以让我完美地阅读aes256所有模式的算法?

先试试维基百科上的“分组密码工作方式”“填充”。然后买一本书或者学习密码学的课程。这是一个学术领域--从零开始创建自己的算法就像拼凑自己的汽车一样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72279546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档