任务二:Crypto学习

任务二:Crypto学习

内容:

① 掌握RSA加解密原理以及算法实现,在理解原理的过程中可以结合PPT对数论部分的相关内容进行学习。学习掌握AES加解密原理、代码实现。
② 完成2020数字中国虎符网络安全赛比赛题目的复现。



RSA

基本信息:

①RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中被广泛使用,于1977年由在麻省理工学院工作的三人提出。
②1973年,在英国政府通讯总部工作的数学家发表了一个内部文件,提出了相同的算法,但是由于他的发现被列入机密,所以直到1997年才被发表。
③对极大整数做因数分解决定了RSA算法的可靠性。世界上没有任何可靠的攻击RSA算法的方式,只要其钥匙的长度足够长,用RSA加密的信息实际上是不可能被破解的。
④RSA属于公钥密码体制,他通常先生成一对RSA密钥,其中之一是保密密钥,由用户妥善保管;另一个是公开密钥,可以对外公开。为了提高保密强度,RSA密钥长度至少为500位长,一般推荐使用1024位的。这使得加密的计算量很大。在传送信息时,采用传统加密方法与空开密钥加密方法向结合的方式,即信息采用改进的DES或IDEA密钥加密,然后用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并课核对信息摘要。
⑤RSA算法时第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA时被研究得到最广泛使用的密钥算法。从提出至今的三十多年里被无数次攻击,逐渐被人们所接受,截至2017年被普遍认为是最优秀的公钥方案之一。

加密及解密原理:

RSA算法的加密和解密数据主要围绕这模幂运算。模幂运算是取模状态的一种,其公式为:ab mod n。
一、过程
(1)A要将消息M发送给B。
(2)B要首先要生成公钥(n,e)和私钥(n,d),并且将公钥(n,e)传给A。
(3)A利用B传过来的公钥(n,e)对消息进行加密,公式为:c=(me)(mod n)。
(4)而后A将加密后的密文传送给B。
(5)B收到密文后,利用私钥(n,d)进行解密,公式为:m=(cd)(mod n)。

二、基本原理
1.基础定理:
(1)欧拉定理:aφ(n)=1(mod n)
欧拉定理是一个关于同余的性质,公式中n,a为正整数,且n,a互质。
(2)飞马小定理:a(p-1)≡1(mod n)
a是不能被指数p整除的正整数。
2.参数生成:
(1)随机产生两个大质数P和Q(要求足够大,难以破译)。
(2)计算两个质数的乘积,N=PQ。
(3)计算N的欧拉函数,φ(n)。
φ(N)=φ(PQ)=φ(P)φ(Q)=(P-1)(Q-1)。
(4)随机选择一个正整数E,要求E<φ(N)且E>1,且E与φ(N)互质。
(5)计算E对于φ(N)的模反函数D。
模反函数:指的是有意个整数D,可以使得ED除以φ(n)的余数为1。公式法表示为:ED≡1(mod φ(n))。
(6)其中的N和E是公钥,N和D是私钥。
3.安全性分析:
用RSA体制加密时,先要将明文进行加密,在实际引用中M值的长度一般要远大于N的长度,英雌实际加密消息M时,首先将他分为n小组的数据再进行加密,每组单独进行加密,且保证安全性,每组的长度尽量接近n的长度。为了加大破译私钥的难度,尽量选择大数的因子。只要N的长度达到一定要求,并且参数P、Q、E选择适当的话,RSA系统是相当安全的。

三,破译方法
目前破译密码主要有两种方法:穷尽搜索、密码分析。
1.穷尽搜索方法就是尝试所有的可能的密钥组合,遇到范围较小的密钥可以快速破解。由于RSA算法再加密和解密过程中都是用指数来计算的,所以计算工作量巨大,穷尽搜索方法难以破解RSA。
2.密码分析法是攻击RSA密码系统,途径之一是计算"n的e次方根",但这种算法在现实中是难以计算的问题。要破解密钥,就要掌握私钥中的N值,因为RSA使用大因数,大数因子分解困难。需要想办法从其他方向来破解。

代码实现

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值