如何计算安全算法的密钥大小?

博士 纳西尔·乌丁·布伊延(Nasir uddin bhuiyan)

有很多安全算法。衡量加密算法安全性的方法之一就是找出其密钥大小单个算法有很多密钥大小。

ECC(椭圆曲线密码学)具有163、256、384、512等。

RSA有1024、3072、7680、15360。我是从这里找到的

但是如何计算算法的密钥大小?单个算法如何具有不同的密钥大小?

我正在构建一个简单的密码算法,但是我不知道如何计算算法的密钥大小。

我的算法是通过代码假定来更改纯文本的字母

a = 2H,b = 3C,c = 8S ......,z = 6D

如果纯文本为“ cb”,则密文为“ 8S3C”。那么该算法的密钥大小是多少?我该如何计算?

大大陆

密钥大小对应于安全强度。安全强度是攻击者破坏算法所需的精力,它取决于对算法的最佳了解。

例如,典型的安全强度是128位。如果您了解有关椭圆曲线密码学(ECC)的一些知识,您将了解到,通常情况下,攻击ECC的最佳算法具有平方根运行时间。因此,如果我们使用具有256位素数次子组的椭圆曲线,则曲线上的点数为2 ^ 256阶,这意味着对其进行攻击需要sqrt(2 ^ 256)= 2 ^ 128的运行时间。因此256位ECC(子组大小为256位,密钥大小为256位)为您提供128位的安全强度。

对于RSA,数学难度更大,因为破解它的时间取决于数域筛,其运行时间看起来像e ^ [(1.92 + o(1))(log n)^(1/3)* (log log n)^(2/3)],其中n是要分解的数字,log是自然对数。因此,要计算对应于128位安全性的密钥大小,我们需要求解2 ^ 128 = e ^ [(1.92 + o(1))(log n)^(1/3)*(log log n)^( 2/3)]。我想你会喜欢自己解决这个问题的:-)

注意:当我谈论安全强度时,我仅在谈论破坏它的计算能力。有人认为我们在计算中也应包括记忆。

如果您想进行更彻底的详细讨论,欢迎您阅读“选择加密密钥大小”

为了选择密钥大小,您需要了解破解算法的工作,这意味着您应该是密码学家。不好意思告诉您,但是您的算法无法通过较大的密钥来保存:替换密码通过频率分析很容易被破坏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何安全存储密钥?

来自分类Dev

如何安全存储密钥?

来自分类Dev

如何将旧的PGP密钥迁移到更安全的算法?

来自分类Dev

警告:mcrypt_encrypt():此算法的密钥大小太大

来自分类Dev

openssl如何显示密钥加密算法

来自分类Dev

Scanline算法:如何计算交点

来自分类Dev

如何计算法线矩阵?

来自分类Dev

如何计算Java PrefixAverages算法

来自分类Dev

如何计算向量的大小

来自分类Dev

如何计算CMFCRibbonStatusBarPane的大小

来自分类Dev

如何计算UIImageView大小?

来自分类Dev

如何计算记录的大小

来自分类Dev

如何计算目录的大小?

来自分类Dev

如何计算UIImageView大小?

来自分类Dev

如何计算CMFCRibbonStatusBarPane的大小

来自分类Dev

如何计算孩子的大小

来自分类Dev

在奇数大小的对齐向量上使用“安全” SIMD算法?

来自分类Dev

如何安全地下载rpmfusion密钥

来自分类Dev

HTTP 1.1块大小计算算法

来自分类Dev

使用mochiweb解析器不计算图像大小的算法

来自分类Dev

如何使用keytool查看证书的密钥大小?

来自分类Dev

如何获得密码的最大密钥大小

来自分类Dev

使用密钥大小小于 2048 的 RSA 安全密钥创建 JWT 令牌时出错

来自分类Dev

如何计算接收场大小?

来自分类Dev

如何计算体素大小?

来自分类Dev

readelf如何计算函数大小

来自分类Dev

如何计算protobuf文件大小?

来自分类Dev

如何计算位/字节大小?

来自分类Dev

如何计算算法中的运算次数?