rsa加密算法信息安全工程师

RSA加密算法是一种非对称加密算法,于1977年由
罗纳德·李维斯特(Ron Rivest)
阿迪·萨莫尔(Adi Shamir)
伦纳德·阿德曼(Leonard Adleman)一起提出的。

RSA的优势:对极大整数做因数分解的难度决定了RSA算法的可靠性,对一极大整数做 因数分解愈困难,RSA算法愈可靠

加密由 公钥,私钥, 明文,密文,四部分组成。

质数与互质数

一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为质数(素数);否则称为合数。

例如,15=3×5,所以15不是素数
13除了等于13×1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数
1不是质数,也不是合数
公约数只有1的两个数,叫做互质数

取模运算

也就是求余数
例如,10 mod 3 = 1(10%3=1) 、26 mod 6 = 2 、28 mod 2 = 0

同余定理

“≡”是数论中表示同余的符号
同余的定义如下:
给定一个正整数m,如果两个整数a和b满足a - b能被m整除,即(a - b)modm=0,
那么就称整数a与b对模m同余,记作a ≡ b ( mod m),同时可成立a mod m = b
注意,同余与模运算是不同的
显然,有如下事实
(1)若a≡0(mod m),则m|a;
(2)a≡b(mod m)等价于a与b分别用m去除,余数相同。

欧拉函数

任意给定正整数n,计算在小于等于n的正整数之中,有多少个与n构成互质关系?计算这个值的方法就叫做欧拉函数,以φ(n)表示.

例如,在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4

在RSA算法中,欧拉函数对以下定理成立
1.如果n可以分解成两个互质的整数之积,即n=p×q,则有:φ(n)=φ(pq)=φ( p )φ( q );
2.当p为质数,φ( p )=p-1

所以有φ(n)=(p-1)(q-1)

欧拉定理与模反元素

欧拉函数的用处,在于欧拉定理
“欧拉定理”指的是:
如果两个正整数a和n互质,则n的欧拉函数φ(n)可以让下面的等式成立:
a^φ(n)≡1(modn)
也就是说,a的φ(n)次方被n除的余数为1

模反元素的推导过程如下:
根据欧拉定理,有:
a^φ(n) = a × a^(φ(n)−1)≡1(modn)

b=a^(φ(n)−1),得:

ab≡1(modn)
b就是a的模反元素
所以,如果两个正整数a和n互质,那么一定可以找到整数b使得ab-1被n整除,或者说ab被n除的余数是1

所以求私钥d的公式:d*e≡1mod[(p-1)(q-1)]

其中{φ(n) = (p-1)(q-1),φ(n) 与e互质,k为正整数}
可化为:d= (k*φ(n)+1)/e

推导公式:d*e≡1mod φ(n)

可得:(d*e-1) / φ(n) =k

即:d = (k*φ(n)+1) / e

    rsa加密算法信息安全工程师_大整数

    RSA密钥一般是1024位(安全)

    由p,q,dp,dq,c求明文的算法

    代码如下:

    import gmpy2
    I = gmpy2.invert(q,p)
    mp = pow(c,dp,p)
    mq = pow(c,dq,q)               #求幂取模运算
    
    m = (((mp-mq)*I)%p)*q+mq       #求明文公式
    
    print(hex(m))          #转为十六进制

    一切以解题为目的的抄代码都是没有灵魂的,我们还是要从数学理论上去分析解决它,再去写代码。

    rsa加密算法信息安全工程师_整除_03

    rsa加密算法信息安全工程师_大整数_04

    rsa加密算法信息安全工程师_整除_05

    rsa加密算法信息安全工程师_整除_06

    网络安全学习路线

    对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

    同时每个成长路线对应的板块都有配套的视频提供:

    需要网络安全学习路线和视频教程的可以在评论区留言哦~

    最后
    • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!

    给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

    黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

    结语

    网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

    特别声明:
    此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值