RSA算法如何生成一个长度较短的秘钥

正在使用RSA算法生成秘钥,但是生成的秘钥是在太长,有知道如何生成短一些的秘钥的吗

2个回答

你生成的时候可以指定长度的
比如openssl

http://blog.csdn.net/tsuliuchao/article/details/8447690

genrsa -out rsa_private_key.pem 1024

qq_28108539
嘻嘻哈哈哈0805 回复oyljerry: 恩,我找到了,但是最小长度只能为512的是吗?我设成256的就报错
4 年多之前 回复
oyljerry
oyljerry 回复qq_28108539: java的类应该也可能有提供参数,你再仔细找找
4 年多之前 回复
qq_28108539
嘻嘻哈哈哈0805 那使用JAVA代码应该如何实现呢?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
生成RSA密钥对
一、前言著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。 RSA加密算法的用处非常广,比如支付宝的公开API与商户对接使用的就是RSA算法。
RSA算法中的密钥生成程序
RSA算法中的密钥生成程序,即输入两个素数,输出一对或多对相应的公钥和私钥。(上次传错了。。)
RSA 公开密钥算法简介和示例
在对称密钥系统中,分发密钥往往是最薄弱的环节  1976年,斯坦福大学的Diffie和Hellman提出了一种全新的密钥系统  特点:      1.加密密钥和解密密钥不同      2.解密算法E和解密算法D满足三个要求:              D(E(p))=p    p指文本字符             从E推出D极其困难            从选择明文攻击不可能破解E
RSA算法之实现篇(Markdown重新整理版)
RSA中的密钥长度指的是公钥的长度,目前主流的公钥长度为1024、2048以及4096位。由于已经有768位公钥被成功分解的先例,所以低于1024位的公钥都被认为是不安全的。而C++自带的基本类型远远无法满足RSA的运算需求,所以RSA算法的实现必须依赖于高精度整型运算。本文旨在介绍RSA算法的实现流程,不会对于涉及到的每一个算法进行深入介绍,如果需要进一步了解的可以参考本博客的其它相关文章。
RSA密钥生成方式
通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网上下载)。 1.生成RSA私钥 输入命令:openssl genrsa -out rsa_private_key.pem 1024,并回车,得到生成成功的结果,如下图: 此时,bin文件夹中出现一个名为rsa_private_key.pem的文件,用记事本打开该文件,可以看到一个没有换行的字符
RSA1024 RSA2048算法密匙生成器
RSA1024 RSA2048算法密匙生成器
RSA的公钥是怎样计算出来的?
第一步,随机选择两个不相等的质数p和q。 爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。)   第二步,计算p和q的乘积n。 爱丽丝就把61和53相乘。 n = 61×53 = 3233 n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。(实际应用中,RSA密钥一般是1024位,重要场合则为2048位。)  
关于RSA加密算法的长度限制问题
RSA是常用的非对称加密算法。近来有学生在项目中使用System.Security类库中的RSA加密算法时,出现了“不正确的长度”,这实际上是因为待加密的数据超长所致。.net Framework中提供的RSA算法规定,每次加密的字节数,不能超过密钥的长度值减去11,而每次加密得到的密文长度,却恰恰是密钥的长度。所以,如果要加密较长的数据,可以采用数据截取的方法,分段加密,实现如下:    
RSA 算法和实现 C/C++源码,实验报告,随机产生大素数,计算公钥密钥
RSA 算法和实现 C/C++源码,随机产生大素数,计算公钥私钥,计算逆元,加密解密。
rsa密钥对生成,n/d-crt加解密示例,以及明文的格式要求。
rsa加解密公式 设A为明文,B为加密后的密文 加密过程  B=A^e mod n; 解密过程  A=B^d mod n; 从公式上可以看出,加解密时数据会mod n,那么大于N的数据,都会发生回绕,失去原有属性。 举例 1)生成密钥对   a)选两个素数,为P和Q      设P = 13, Q = 7      则N = p * q = 91         b
双钥密钥密码算法RSA解析与短密钥实现
单钥密钥算法,由于其加密的速度相对来说比较快,所以常用来对文本文件加密(如TEA、DES等),而双钥密钥算法(如RSA)由于其加密解密的密钥不同并且采用暴力破解的方式也比较低效(基本不可能被破解),低效的原因通常不是符合加解密的密钥对的空间有多大,而是正确的一对密钥其密钥空间难以确定。但是其加密速度也比较低,所以常用来加密单钥密钥算法的加密秘钥,这样即所谓混合加密。混合密码系统的基本结构如下图所述(
RSA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA,让各位了解RSA算法本身其实也很简单,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故。 本文先只谈密钥长度、明文长度和密文长度的概念知识,RSA的理论及示例等以后再谈。提到密钥,我们
用RSA算法生成公钥私钥对,并加密解密文件内容
摘要:RSA算法生成公钥私钥对,发送方用RSA公钥加密,接收方用RSA私钥解密。文件内容签名和验证用DSA算法,用于验证文件内容没有被修改过。发送方除了发送加密后的密文,还要发送签名信息;接收方解密密文,还要验证接收的内容是否与原始发送的内容一致,即确保没有被篡改。 using System.Security.Cryptography; private static rea
生成伪随机数的新思路 ——借助RSA算法
转自:http://www.chncla.com/yk/201006/p_7.html 最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。       某人提出一个问题:怎样才能生成一亿个不重复的随机数?   问题表述起来很简单,似乎只要弄明白什么叫随机数以及怎样用电脑生成随机数,就能解决问题。   随机数,个人理解为一定范围内出现的
Python模拟RSA算法
#!/usr/bin/env python def range_prime(start, end): l = list() for i in range(start, end+1): flag = True for j in range(2, i): if i % j == 0: flag =
RSA加密与解密
采用RSA算法进行文件加密与解密,随机产生秘钥
大数据与云计算笔记[三]:使用素数的RSA算法浅析
前言: RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。 易于理解和操作,所以十分流行。 RSA算法就是素数的一个典型的应用。 什么是RSA: 在计算机中常用的加密解密技术分为两类,即对称加密和非对称加密。对称加密,非对称加密上上一篇博文里进行了浅析,有兴趣可以查阅:安全加密 在对称加密技术中,对信息的加密和解密都使用相同的没有key,
RSA算法Java的简单实现
RSA简介 RSA算法据说是目前地球上最重要的加密算法。维基百科是这么介绍的:“对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法,那么RSA的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA密钥才可能被暴力破解。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方
RSA加密算法心得
RSA加密密钥是非对称的,一般是成对出现分为公钥和私钥,所以也叫非对称加密,可以公钥加密,私钥解密,也可以私钥加密,公钥解密。一般用于数据加密。
【笔记】如何快速生成随机数 RSA算法
今天学了一下随机化贪心,于是也就顺势学了一下随机数生成。以下是扯淡众所周知,系统有一个rand()函数,windows下可以生成32767以内的随机数,linux下可以生成2147483647以内的随机数。它是用线性同余的方法生成。形如:Xn=(aXn-1+b)%c于是每次都要取一个随机数种子,作为X0来递推。一般情况都这么写:srand(time(0));这样以时间作为种子,每一秒的种子就不同,得
25行代码实现完整的RSA算法
25行代码实现完整的RSA算法   网络上很多关于RSA算法的原理介绍,但是翻来翻去就是没有一个靠谱的算法实现,即使有代码介绍,也都是直接调用JDK或者Python代码包中的API实现,或者即使有代码也都写得特别烂。无形中让人感觉RSA加密算法竟然这么高深,然后就看不下去了。还有我发现对于“大整数的幂次乘方取模”竟然采用直接计算的幂次的值,再取模,类似于(2 ^ 1024) ^ (2 ^ 102...
RSA算法之原理篇
序言 RSA算法是最早得到广泛应用的公钥加密算法。它在通信加密、签名认证等领域都起着重要作用。 RSA算法最早由英国数学家Clifford Cocks在1973年发明,但由于当时被英国政府列为最高机密,直到死后不久其工作成果才被公布。而1977年,Ron Rivest、Adi Shamir 和 Leonard Adleman三人在MIT合作发表了一篇完整描述RSA算法的论文,被正式承认为该算法...
加密芯片——RSA算法特点与应用注意事项
3DES、AES等对称算法虽有运算速度快、加密强度高等优点,但密钥存储与传递却是其最大的弱点,这也对它的应用场景造成了一定的限制。而RSA非对称算法利用非对称公私钥对,解决了密钥传递中的安全问题。在一些对实时性要求不是非常严格的系统中,RSA算法还是可以弥补对称算法的弱点。当然,若两者结合使用,既能提升运算效率,又能保证密钥安全,是个不错的选择。 我们并不需要多关心RSA的算法原理与安全强度,因
关于RSA密钥生成方法
随机密钥生成 ` // 随机生成密钥 protected static Map
RSA算法源码实现公钥私钥加解密的mfc程序
RSA非对称加密算法,通过mfc实现大素数的生成,目前只支持1024、2048位;同时实现公钥私钥的加解密,也可以自己单独提取并封装接口
RSA加密算法及代码示例
以下代码使用PowerBuilder作为示例 1、数据加密概述 早在几千年前人类就已经有了通信保密的思想和方法。但直到1949年,信息论创始人香农发表著名文章,论证了一般经典加密方法得到的密文几乎都是可破译的。密码学才得以进入了一个新的发展时期。70年代后期,美国的数据加密标准DES和公开密钥密码体制的出现成为近代密码学发展史上的两个重要里程碑。 公开密钥密码体制的概念是由Difie与H
数字签名算法RSA
<br />一、概述<br />1、数字签名算法可以看做是一个带有密钥的消息摘要算法,并且这个密钥包括了公钥和私钥。他是非对称加密算法和消息摘要算法的结合体<br />2、数字签名算法是公钥基础设施(PKI),以及许多网络安全机制的基础<br />3、数字签名算法有抗否认的作用<br />4、遵循“私钥签名,公钥验证”规则<br />5、常见的数字签名算法有RSA/DSA/ECDSA<br />6、java6支持实现了DSA算法、部分RSA算法需要bouncycastle支持,最牛的ECDSA算法(微软用来
RSA非对称密钥加解密使用示例
一、简介:  RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。 二、RSA的公钥、私钥的组成,以及加密、解密的公式    三、使用方式:   ①
日常小结-RSA加密算法、数字签名和数字证书及其java实现
前段时间遇到过RSA这里把前段时间学到的东西做一些总结:RSARSA是目前为止应用最为广泛的非对称加密算法。非对称加密算法简单的说就是分成公钥和私钥。加密和解密采用不同的算法实现,这样的好处是不需要像传统对称加密算法一样将相同算法的密钥分发给对方,从而减少密钥被获取所带来的严重危害,目前基本上都是采用非对称算法,而RSA是最为广泛的。理论上1024位以上的RSA是无法破解的(或者未公开)。基本原理:
RSA密钥计算器
简单RSA密钥计算器,用于学习。
RSA算法和RSA数字签名算法
一、引言 随着网络技术的飞速发展,信息安全性已成为亟待解决的问题。公钥密码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起保密通信,较好地解决了传统密码体制在网络通信中出现的问题。另外,随着电子商务的发展,网络上资金的电子交换日益频繁,如何防止信息的伪造和欺骗也成为非常重要的问题。数字签名可以起到身份认证、核准数据完整性的作用。目前关于数字签名的研究主要集中基于公钥...
java自身的rsa算法效率低下问题
利用java自身的rsa算法效率低下,
简单的RSA算法中的密钥生成程序
RSA算法中的密钥生成程序,即输入两个素数,输出一对或多对相应的公钥和私钥。
CrypTool1.4加密工具
CrypTool1.4加密工具 a very popular packet of cryptography tools,it encloses the most common used algorithm and protocols -a very popular packet of cryptography tool s, it encloses the most common algorithm used and p rotocols
RSA算法详解及C语言实现
RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。 一、RSA算法 : 首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (
RSA加密算法解析+数字签名验证
RSA加密算法 此Demo实现以下这几个功能 布局文件就不往出列了 1 . 生成公钥私钥 这是一个耗时操作,是通过随意选择两个大的质数经过一系列的复杂运算获得的,想了解算法自行百度,这里只说一下它如何使用! case 的时候封装为一个方法 private void generateRsa() { new Thread(new Runnable() {
密码学_RSA算法原理详解
1.RSA算法简介:       RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。 RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被I
使用RSA算法加密数据
近期做程序,需要用到
Qt实现的RSA密钥生成器[2048bit], 附带项目源码和工程文件
本资源内含2部分, 一个Qt实现的附带界面的RSA密钥生成器, 支持2048bit,可以直接安装使用, 另外一部分是本软件的Qt项目源文件工程。其中RSA的实现使用的是gmp库,只有2个类, 方便移植使用。
【Android数据加密与完整性校验之RSA加密算法】Android应用开发中如何使用RSA加密算法对数据进行校验
转载自:http://blog.csdn.net/i2cbus/article/details/42043957       这个世界很精彩,这个世界很无奈。是的,在互联网时代,如何保护自己的数据,如何对数据进行加密和效验就变得非常的重要。这里总结一下Android平台使用Java语言,利用RSA算法对数据进行校验的经验。 先来看下如何RSA加密算法对数据进行校验的流程: 1
HTTPS系列之RSA算法
简介加密算法总的可以分为两种,对称加密与非对称加密算法。 RSA是1977年三位数学家Rivest,Shamir,Adleman设计的一种非对称的加密算法,该算法破解的关键在于寻找大数的两个质数因子。大数长度越大,破解难度也就越大,目前768位的密钥已被破解,安全性建立在公钥长度足够的基础上,如iOS9中引入的新特性ATS中对公钥长度就有明确的要求,至少为2048位。 “RSA是第一个也是目前唯
带你彻底理解RSA算法原理
1. 什么是RSARSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公钥密码 对称密码:加密和解密使用同一种密钥的方式 公钥密码:加密和解密使用不同的密码的方式,因此公钥密码通常也称为非对称密码。
密钥交换算法
使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。   Diffie-Hellman密钥交换算法原理: (1)Alice与Bob确定两个大素数n和g,这两个数不用保密 (2)Alice选择另一个大随机数x,并计算A如下:A=gx mod n (3)Alice将A发给Bob (4)Bob选择另一个大随机数y,并计算B
RSA算法RSA算法RSA算法课程设计
RSA算法RSA算法RSA算法RSA算法RSA算法RSA算法RSA算法RSA算法RSA算法
RSA算法之实现篇
本文的目的在于了解、熟悉RSA加密的算法流程并实现一个可用的RSA加密程序。 RSA中的密钥长度指的是公钥的长度,目前主流的公钥长度为1024、2048以及4096位。由于已经有768位公钥被成功分解的先例,所以低于1024位的公钥都被认为是不安全的。而C语言自带的基本类型远远无法满足RSA的运算需求,所以RSA算法的实现必须依赖于高精度整型运算。
RSA算法实现
自己实现的RSA算法,实现了从生成密钥对到加解密的整个过程。在头文件可以修改密钥的长度。
RSA加密算法详解
研究RSA 不知为何,这几天突然有些心烦。望苍茫大地,凭添几分忧伤,可能是下雨的缘故。本篇主要想详细介绍RSA加密算法的原理,经常听别人说,这里是自己想搞清楚,弄明白。首先介绍了基本的数学原理,然后给出一个具体的计算例子和相关的理论充分性证明。 皓眸大前端开发学习 转载请注明出处:http://www.haomou.net/2014/08/27/2014_rsa/ RS
RSA算法公钥私钥对生成器
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。 RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
RSA算法的介绍与C语言实现
2008-04-28 13:59 这里给出的代码不是最终的,不可避免的存在一些问题。如果要用这些代码的话, 请参考源码文件。 A. 加密解密 //gjsRSA.h的内容如下=========================================== #ifndef _gjs_RSA_H #define _gjs_RSA_H #define g_ENC_KEY       6
openssl,PHP RSA生成密钥
命令: openssl genrsa -out rsa_private_key.pem 1024 openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问