首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES密钥与RSA密钥

AES密钥与RSA密钥
EN

Cryptography用户
提问于 2022-01-23 21:47:47
回答 3查看 951关注 0票数 0

我对密码学非常陌生,最近我试着更彻底地理解它。我的问题是:在AES和RSA的情况下,密钥的生成有何不同?我明白,RSA的公钥和私钥可以用一些模数魔法直接推导出来。

我所理解的(至少我希望)是这样的:

密钥对(私有和公共)与RSA算法紧密相连,也就是事物是如何加密/解密的。

我不明白的是:

如果是AES,我不明白。我查阅的研究网站只解释了算法,但并没有真正解释密钥是如何生成的,以及为了适合AES而必须遵守的条件。

,所以我的问题是:

是密钥/密钥对内在地(如何创建)耦合到算法中,还是只适用于RSA。如果是这样的话,在AES的情况下,密钥必须有什么“表单”?

已经谢了!

EN

回答 3

Cryptography用户

发布于 2022-01-23 21:59:05

AES是一种对称密钥算法,这意味着只有一个密钥,用于加密和解密。这与RSA不同,在RSA中,您有两个密钥--一个私钥和一个公共密钥,以特定的方式相互关联。

AES键只是随机字节。例如,AES-128使用128位(16字节)密钥.因此任何随机128位都可以用作AES-128密钥.不需要任何其他的形式。

然后使用密钥调度将像这样的AES密钥转换为多个圆键,作为算法的一部分。

票数 5
EN

Cryptography用户

发布于 2022-01-23 23:45:16

密码算法分为对称和非对称两大类。第一组的算法使用一个密钥,必须保密。来自第二组的算法使用两个不同的密钥^其中一个也必须保密,但第二个是公开的。

AES是一种对称密码,即它使用一个密钥进行加密和解密(每个知道密钥的人都可以解密消息)。一般来说,在对称密码学中(在现代密码学中),密钥的唯一限制是它的大小。例如,AES支持128、192和256位密钥.通常,需要从一组所有可能的值中统一选择键。

注意:由算法实际定义的所有可能的键值集合。对于AES-128,它是所有128位向量\mathbb{F}_2^{128}的集合,而对于凯撒密码来说,它只是一个从0到26 - \mathbb{F}_{27}的数字。

具体的对称算法定义了一组可能的键值。对于现代密码来说,它通常是一定大小的二进制向量**。

RSA是一种非对称密码,即它使用一个密钥对,它由公钥和私钥组成。这些密钥以某种方式相互关联,允许用公钥加密,用私有密钥进行解密(每个知道私钥的人都可以解密消息)。在这里,情况变得更加困难,因为算法不仅定义了一组可能的键值。定义了密钥生成算法,以保证公钥和私钥之间的特殊关系。

*-可能的算法可能需要对密钥生成算法施加额外的限制,以提供所需的安全级别(例如,有些算法使用两个不同的独立密钥),但在一般情况下,需要从所有可能的值中一致选择密钥。

** -由于弱密钥的存在,对某些算法的密钥设置有一些限制。这些键为每一轮产生相同的圆形键。但并不是所有算法都有它们。

票数 1
EN

Cryptography用户

发布于 2022-01-24 01:32:54

这个答案是关于您的声明“.the RSA-算法,也就是事物是如何加密/解密的。”RSA通常不是用来加密的,当它被用来加密的时候,它从来就不是RSA算法。AES也不是单独用于加密的!

AES是一种对称密钥算法,特别是分组密码。它需要一个键和一个输入块,并产生一个输出块。在输出块上使用相同的键生成原始输入块。对于AES,块是128位(16字节)。键是128,192,或256位。他们必须是一致的随机选择,但除此之外,没有任何限制。

AES可以用于构建加密方案,但它本身并不用于加密,因为它只能安全地加密单个16字节块!它必须在“操作模式”中使用,以便有效地加密任何大于或小于16个字节的内容。AES还可以用于构建密码哈希函数(没有常见的哈希函数,但建议使用AES-Hash )、消息身份验证代码(AES-CMAC)、密钥派生函数(NIST SP 800-108描述如何实现)等等。因此,认为AES (或任何其他块密码)只是一个加密函数是错误的,尽管名称中有“加密”。

RSA是一种非对称密钥算法。它有两个密钥,一个“公共”密钥和一个“私有”密钥。公开密钥被假定为可公开使用,私钥被假定从未与任何人共享。RSA操作使用其中一个密钥,并可以使用另一个密钥进行反转。RSA密钥具有特定的数学结构使其成为可能;首先选择私钥,然后从私钥导出公钥。维基百科的文章很好地描述了RSA的生成,但是细节对于这个答案并不重要。

与AES一样,RSA本身也不用于加密。它必须与加密的“填充方案”一起使用。即便如此,对于实际的密钥大小,它仍然非常慢,并且仅限于一次加密几百个字节。RSA通常用于构建签名方案(同样使用填充方案),尽管它有时用于构建密钥交换机制以交换对称密钥(例如用于Galois计数器操作模式中的AES )。

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

https://crypto.stackexchange.com/questions/98284

复制
相关文章

相似问题

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