数字货币加密系统RSA
㈠ 简述RSA体制密钥的生成及其加密、解密算法。
RSA体制密钥的生成:
1. 选择两个大素数,p 和q 。
2. 计算: n = p * q (p,q分别为两个互异的大素数,p,q 必须保密,一般要求p,q为安全素数,n的长度大于512bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数 (n)=(p-1)(q-1)。
3. 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。
4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
加密、解密算法:
1. 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。
2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )
3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。
㈡ 数字货币的安全性能,有哪些方面的保障呢
随着数字货币的到来,货币的加密算法也越来越重要,那么密码都有哪些种类型呢?
古典密码类型主要有换位密码,重新排列字母的顺序消息,例如,“hello world”变成了“ehlol owrdl”。
Diffie-Hellman和RSA算法,除了是第一个公开的高质量公钥算法的例子,已经被广泛使用。其它非对称密钥算法也包括克拉默-舒普密码系统、埃尔贾迈勒加密和各种椭圆曲线技术。
一些广为人知的密码系统包括RSA加密、Schnorr签名、El-Gamal加密、PGP等。更复杂的密码系统包括电子现金系统、签密系统等。现在更多的密码系统包括交互式证明系统,如零知识证明,那是用于秘密共享的系统。
长期以来,情报收集和执法机构一直对密码学感兴趣。秘密通信的重要性不言而喻,由于密码学促进了隐私保护,因此它也引起了密码学支持者的极大兴趣。因此,围绕密码学有一段有争议的法律问题的历史,特别是自从廉价计算机的出现使广泛使用高质量的密码学成为可能之后。
现在,加密货币交易是半匿名性质,使其非常适合从事一系列非法活动,如洗钱和逃税。然而,加密货币的提倡者往往高度重视数字货币的匿名性,认为这样做可以保护使用者的隐私,一些加密货币比其它加密货币更加私有。
加密货币是一种新型的数字资产,它基于分布在大量计算机上的网络。这种分散的结构使它们能够存在于政府和中央当局的控制之外。而“加密货币”一词也源于用于保护网络的加密技术。
区块链是确保数字货币交易数据完整性的组织方法,是许多加密货币的重要组成部分。许多专家认为,区块链和相关技术将颠覆包括金融和法律在内的许多行业。加密货币受到批评的原因有很多,包括它们被用于非法活动、汇率波动以及作为其基础的基础设施的脆弱性。然而,数字货币也因其可移植性、可分割性、抗通胀性和透明性而受到人们的赞扬。
㈢ Rsa 算法加密的数据块大小问题
PQ的积M叫做模,模规定了这个数字空间中最大的数,是这个空间的边界,这个空间中所有的数都要小于模M,包括被加密的消息块。所以如果消息(a1,a2,a3...)任何一个超过了M,加密后都无法正切解密,因为加密后和解密后得到的数都在这个空间中,不可能得到一个大于M的数。
但是如果用来加密的消息A大于M,解密后得到的结果加上K倍的M一定会等于A,因为加密的过程是做模乘操作,大于M的消息A首先被除M然后取余数了,该余数一定小于M,然后所有的加密操作都是针对该余数来进行的,想要还原A的话用该A模M的余数加上数倍的M就可以了。解密的话还原的也是该余数,得到余数后还原A,也是加上数倍的M就可以了。
实质上RSA的加密有个条件,消息A必须要小于M。
㈣ RSA算法加密
RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法,于1978年由美国麻省理工学院(MIT)的三位学着:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。
它的原理较为简单,假设有消息发送方A和消息接收方B,通过下面的几个步骤,就可以完成消息的加密传递:
消息发送方A在本地构建密钥对,公钥和私钥;
消息发送方A将产生的公钥发送给消息接收方B;
B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信;
反之,A向B发送数据时,通过私钥对数据进行加密,B接收到数据后通过公钥进行解密。
由于公钥是消息发送方A暴露给消息接收方B的,所以这种方式也存在一定的安全隐患,如果公钥在数据传输过程中泄漏,则A通过私钥加密的数据就可能被解密。
如果要建立更安全的加密消息传递模型,需要消息发送方和消息接收方各构建一套密钥对,并分别将各自的公钥暴露给对方,在进行消息传递时,A通过B的公钥对数据加密,B接收到消息通过B的私钥进行解密,反之,B通过A的公钥进行加密,A接收到消息后通过A的私钥进行解密。
当然,这种方式可能存在数据传递被模拟的隐患,但可以通过数字签名等技术进行安全性的进一步提升。由于存在多次的非对称加解密,这种方式带来的效率问题也更加严重。
㈤ 在数据加密类型中RSA采用的是对称密钥体制吗
不是,这是典型的非对称加解密算法,是三个人的名字字头。
实际应用的时候,是交换了信息,生成一个密钥,然后就是对称加解密了,几分钟一换,对称的算法速度快
㈥ 关于RSA算法加密,麻烦高手教一下!!先谢谢了!
我写的这个浅显易懂,看看你就明白了。举得有例子。
RSA算法举例说明
http://hi..com/lsgo/blog/item/5fd0da24d495666834a80fb8.html
知道里面刚才回答了另个朋友的问题帖出来给你看看
http://..com/question/91261774.html?si=2
题目:用RSA算法加密时,已经公钥是(e=7,n=20),私钥是(e=3,n=20),用公钥对消息M=3加密,得到的密文是_____?
给出详细过程。 谢谢!
答:
你所说的:
n=20
d=7 公钥
e=3 私钥
对M=3 进行加密
M'=M^d%n (M的d次方,然后除以n取余数)
M'=3^7%20=2187%20=7 加密后等於7
对M'=7进行解密
M=M'^e%n=7^3%20=343%20=3 解密后又变成3了
你取的两个素数太小了,所以n太小根本起不了作用。至少要取1024位的数字
㈦ 德国密码学家破解了RSA加密系统,这意味着什么
RSA是RonRivest、AdiShamir和LeonardAdleman于共同提出的加密算法。该算法利用大的少数分解困难的特性,大的少数成绩很难分解,所以这个密码很难破解。解密密码需要很多计算。克劳斯彼得施诺是德国法兰克福大学数学和计算机科学系教授,是著名的数学家和密码学家,Schnorr签名算法是以他的名字命名的。
宏恶意软件一直是黑客们的热门选择。微软多年来一直使用防恶意软件检查界面(AMSI)来删除宏恶意软件,但成功删除用VBA编写的宏脚本的努力最终将攻击者推入了名为XLM的旧宏语言。该语言与1992年与Excel 4.0一起出现。XLM在1993年被VBA取代,但部分客户仍然使用XLM,因此Excel仍然支持它。
㈧ RSA算法,一般都用数字来举例算加解密,如果是字母又如何进行RSA加密呢呢
ASCII码 把字母转化为整数不就可以了
中文使用的是unicode编码 可以转化成字节数组 最后也是数字