当前位置:网站首页 > 黑客培训 > 正文

基于RSA加密的骚气表白

freebuffreebuf 2021-09-27 405 0

本文来源:r2ate1

网安萌新,大佬勿喷

最近睡我下铺的哥们要向隔壁班一个女生表白,

问我能不能用黑客技术帮他表示一下,

这我可就不困了!!!

1632677139_6150ad1363eff47a48d60.png?1632677139572

正好我在预习RSA,能不能做个表白密码呢?说干就干!

Hello RSA

先熟悉一遍整个加密流程:

找出两个互不相等的大质数p和q;

求出模n=p*q;

由欧拉函数,可得ϕ(n)=(p1)(q1);

找出一个与ϕ(n)互质的整数e,要求1eϕ(n);

计算出e关于ϕ(n)的模反元素d——说白了,不就是求个逆元吗;

计算公钥

计算私钥,解密

打个比方,锁门要用钥匙(公钥),开门也要用钥匙(私钥),Public key 可以公开,对我的安全没有影响,但是 Private key则不能,同时,我不能只会锁门而不会开门,除非这个门我不想再用了,所以在设计公钥的同时,也要考虑到私钥的可行性。从哲学的角度来讲,阴阳相生也。

几个问题

1.为什么要确保ϕ(n)互质的整数e?

在我看来,有两个方面:

由欧拉定理可知,当且仅当二者互质时,存在逆元,也就是私钥d;

若不互质,两个不同的明文,经过同样的秘钥加密,可以得到相同的密文,从而无法破解明文;

总的来说,就是impossible to decrypt,not vulnerable.

2.为啥要求1eϕ(n)?

这就涉及到了群的问题,简单来说,某些问题只能在某种范围或者说某种情况下成立,例如椭圆曲线加密,就是建立在椭圆曲线上几何操作定义的有限素数群上的DLP问题,简称ECDLP(Elliptic Curve Discrete logarithm Problem),感兴趣的读者可以研究一下。

一个核心

RSA算法的核心就是One Way——即已知明文求模得出密文容易,反之则极为困难,尤其是在模n特别大的情况下,将模运算的单向性发挥的淋漓尽致。

密码学的本质就是解决计算复杂(不可行)的数学问题。

Security relies on the difficulty of factoring large composite numbers.

爱情密码

首先选择公钥e:1314(或521、520、147...一句话:越骚越好!)

然后选择p和q,要求

1.ϕ(pq)=(p−1)(q−1)

2.gcd(ϕ(n),e)=1

(这里我通过某种手段获取到了that gilr 的个人信息,包括但不限于姓名、学号、生日......)通过对其组合加密生成了模n:1455925529734358105461406532259911790807347616464991065301847

首先,将明文存为bytes形式(在Python语言中,数据是以bytes形式(也就是扩展ASCII码保存的))

1632674507_6150a2cb47a4757f08ff8.png?1632674507482

呦,有点意思:

关注一下报错

原来在pow函数中,要求输入的数值均为int类型,所以bytes_to_long即可,然,我怎么也装不上Crypto库,于是乎,手撕bytes:

1632674898_6150a45242e5fde7d7963.png?1632674898462

,加密,加密,加密!!!

1632674991_6150a4af3a7eddf0defd9.png?1632674991410

大功告成,还有什么比爱情密码更美妙的东西吗?

脆弱性分析

考虑到接受方的专业程度,这里的n可以很容易被大因数分解攻击破解。

实践是检验真理的唯一标准

我下铺那哥们拿到爱情密码,激动万分、感激不尽、喜极而泣。

然后他就跑去表白了

然,不是所有的女生都叫女黑客。

1632676773_6150aba587d1e75009a00.jpg?1632676773842

后话

看我明文写的啥:

1632676892_6150ac1c70fbaea0c9cdc.png?1632676892630

转载请注明来自网盾网络安全培训,本文标题:《基于RSA加密的骚气表白》

标签:密码破解CTF网络安全技术密码学观点

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表