gpt4 book ai didi

encryption - 如何以位为单位定义加密算法强度?

转载 作者:行者123 更新时间:2023-12-03 18:11:31 24 4
gpt4 key购买 nike

我正在设计加密算法。该算法是对称的(单 key )。
您如何根据位来衡量算法的强度? key 长度是算法的强度吗?
编辑:

Lesson 1: Don't design an encryption algorithm, AES and others aredesigned and standardized by academics for a reason

Lesson 2: An encryption algorithms strength is not measured in bits, key sizes are. An algorithm's strength is determined by its design. In general, an algorithm using a larger key size is harder to brute-force, and thus stronger.

最佳答案

首先,这是认真的吗?如果是,请立即停止。不要这样做。设计算法是世界上最难的事情之一。除非您有多年破解密码的经验,否则您将无法设计任何远程安全的东西。

AES 和 RSA 有两个截然不同的目的。区别不仅仅是签署。 RSA 是一种公钥算法。我们将其用于加密、 key 交换、数字签名。 AES 是一种对称分组密码。我们将其用于批量加密。 RSA 非常慢。 AES 非常快。大多数现代密码系统使用混合方法,使用 RSA 进行 key 交换,然后使用 AES 进行批量加密。

通常,当我们说“128 位强度”时,我们指的是 key 的大小。但是,这具有难以置信的欺骗性,因为算法的强度远不止其 key 的大小。换句话说,仅仅因为你有一百万位的 key ,它没有任何意义。

算法的强度是根据其 key 大小以及对密码分析攻击的抵抗力来定义的。如果存在比蛮力更好的攻击,我们就说算法被破坏。

因此,使用 AES 和 128 位 key ,如果没有小于 2^128 的攻击,则 AES 被认为是“安全的”。如果有,我们认为它“坏了”(在学术意义上)。其中一些攻击(供您搜索)包括差分密码分析、线性密码分析和相关的 key 攻击。

我们如何暴力破解算法也取决于它的类型。像 AES 这样的对称分组密码是通过尝试每个可能的 key 来强制执行的。但是对于 RSA, key 的大小就是模数的大小。我们不会通过尝试每个可能的键来破坏它,而是通过分解。因此,RSA 的强度取决于数论的当前状态。因此, key 的大小并不总是告诉您它的实际强度。 RSA-128 非常不安全。通常 RSA key 大小为 1024 位+。

具有 56 位 key 的 DES 比设计的几乎所有业余密码都强。

如果你对设计算法感兴趣,你应该从打破其他人开始。 Bruce Schenier 开设了密码分析自学类(class),可以帮助您入门:http://www.schneier.com/paper-self-study.html

FEAL 是有史以来最破败的密码之一。它是学习分组密码密码分析的一个很好的起点。源代码是可用的,上面有无数已发表的论文,所以如果你卡住了,你可以随时“查找答案”。

关于encryption - 如何以位为单位定义加密算法强度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5348580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com