`
Dustin
  • 浏览: 310126 次
  • 性别: Icon_minigender_1
  • 来自: 广州/成都
社区版块
存档分类
最新评论

RSA算法密钥长度的选择

阅读更多

  RSA算法密钥长度的选择是安全性和程序性能平衡的结果,密钥长度越长,安全性越好,加密解密所需时间越长。

 

1. 非对称加密算法中1024 bit密钥的强度相当于对称加密算法80bit密钥的强度。有资料上说以当前的软硬件水平,破解1024bit的RSA加密密文,需要一套10亿美金的系统使用若干十年的时间,所以2015年前,1024bit的还无需太担心暴力破解的危险。

 

2. 密钥长度增长一倍,公钥操作所需时间增加约4倍,私钥操作所需时间增加约8倍,公私钥生成时间约增长16倍。

 

3. 一次能加密的密文长度与密钥长度成正比, len_in_byte(raw_data) = len_in_bit(key)/8 -11,如1024bit的密钥,一次能加密的内容长度为 1024/8 -11 = 117 byte。所以非对称加密一般都用于加密对称加密算法的密钥,而不是直接加密内容。

 

4. 加密后密文的长度为密钥的长度,如密钥长度为1024b(128Byte),最后生成的密文固定为 1024b(128Byte)

 

Ref:

[1] rfc3447

[2] RSA Key Size Selection

[3] http://www.rsa.com/rsalabs/node.asp?id=2218

 

 

0
0
分享到:
评论

相关推荐

    RSA加密算法C语言实现

    RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的...

    js实现rsa加密算法

    本rsa算法是使用Java与javascript加密解密范例代码,该资料从互联网收集,加上了自己的使用体会,如果对你有帮助那是万幸! js加密部分

    RSA算法的纯Python实现(源码)

    这个RSA算法最低支持32位密钥长度,最长没限制。但是事实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。 这次发布的是源码,里面有详细的中文注释,十分适合希望学习RSA...

    RSA规范

    RSA算法论文及其实现方法

    rsa加密算法(Delphi实现).zip

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·...RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

    RSA算法的纯Python实现

    RSA算法的纯Python实现,压缩包内共4个文件,分别是 ...这个RSA算法最低支持32位密钥长度,最长没限制。但是事实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。

    RSA生成密钥对、公钥加密和私钥解密

    支持最大2048位RSA计算,主要是生成公私钥对、公钥加密、私钥解密功能。每次重新生成公私钥对,随机产生一定长度的随机数作为输入数据,公钥加密后再私钥解密。每一项结果都清晰打印。

    RSA.zip_RSA密钥_rsa

    RSA加密算法,输入任意长度明文,密钥可供选择,适合高校

    RSA-2048算法代码(C++)

    用C++实现的RSA算法代码,秘钥长度可调,没有依赖外部库。基于VS 2017实现。

    RSA算法 公钥与私钥.ppt

    这种算法用他们三个人的名字命名,叫做RSA算法。从那时直到现在,RSA算法一直是最广为使用的"非对称加密算法"。毫不夸张地说,只要有计算机网络的地方,就有RSA算法。 这种算法非常可靠,密钥越长,它就越难破解。...

    基于OpenSSL的RSA加解密的C语言实现

    3.该程序支持不限长度的明文加密,支持256~4096长度的密钥,支持Crypto++密码库生成的RSA密钥对(公钥:X.509,私钥:PKCS#8); 4.该程序包中提供有可供二次开发的接口源文件和可在Linux下使用的.so动态链接库文件...

    RSA算法工具

    RSA密钥生成及加解密工具,支持对模长度的设置以及输出格式的设置,可计算D,设计RSA密钥的各个细节,使用简单方便。

    RSA混合加密系统(源码)

    它会根据密钥长度,自动选择加密方案。当密钥长度在64位以内时它将使用标准DES加密,当密钥长度超过64位后,系统将设置第2密钥,并启用3次DES加密。其密钥长度可达112位,并且它还具有很强的扩展性,提供了3种加解密...

    RSA算法实现

    自己实现的RSA算法,实现了从生成密钥对到加解密的整个过程。在头文件可以修改密钥的长度。

    RSA加密解密源码下载

    RSA加密解密源码 ...加密的明文长度不能超过RSA密钥的长度-11,比如1024位的,明文长度不能超过117。密文的长度总是密钥的长度的一半,比如1024位的,密文长度是64,如果是1032位,密文长度是65位。

    PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法)

    下面小编就为大家分享一篇PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    VC 混合加密算法应用实例.rar

    它会根据密钥长度,自动选择加密方案。当密钥长度在64位以内时它将使用标准DES加密,当密钥长度超过64位后,系统将设置第2密钥,并启用3次DES加密。其密钥长度可达112位,并且它还具有很强的扩展性,提供了3种加解密...

    计算机网络课程设计:RSA加密解密

    环境: 1. 硬件环境:PC机一台 2. 软件环境:Windos 2000/XP, VC++6.0 RSA算法原理: 1. 首先,找出两个大素数key_P,key_Q,令key_N = key_P * key_Q。根据欧拉(Euler)数(key_N)的定义为小于...

    信息安全RSA算法实验.rar

    信息安全工程RSA算法实验,使用Java的大整数实现快速模指数算法、欧几里得算法、扩展欧几里得算法、求逆元算法、产生公钥和私钥、以及分组加密与解密,支持中文、英文和特殊字符,支持自定义密钥长度。可直接运行。

    在Rust 中实现的 RSA算法_rust_代码_下载

    生成确定长度的有效密钥对。(测试和工作。推荐的阈值:默认//推荐的密钥对大小:512 或 1024 位) 使用公钥加密消息。 使用密钥解密消息。(测试和工作) 为 Public、Secret 和 KeyPair 实现 From 特征。 实现 p & ...

Global site tag (gtag.js) - Google Analytics