电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1064 人浏览分享

基于RSA加密的骚气表白

[复制链接]
1064 0
网安萌新 大佬勿喷

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

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

这我可就不困了!!!

10.JPG

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

Hello RSA

先熟悉一遍整个加密流程:
找出两个互不相等的大质数p和q;
求出模n=p*q;
由欧拉函数 可得ϕ(n)=(p−1)(q−1);
找出一个与ϕ(n)互质的整数e,要求1<e<ϕ(n);
计算出e关于ϕ(n)的模反元素d——说白了不就是求个逆元吗;
计算公钥
计算私钥解密

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

几个问题

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

在我看来有两个方面:
由欧拉定理可知当且仅当二者互质时 存在逆元 也就是私钥d;
若不互质 两个不同的明文 经过同样的秘钥加密 可以得到相同的密文
从而无法破解明文;

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

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

这就涉及到了群的问题 简单来说 某些问题只能在某种范围或者说某种情况下成立例如椭圆曲线加密
就是建立在椭圆曲线上几何操作定义的有限素数群上的DLP问题。简称ECDLP(Elliptic Curve Disc
rete 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码保存的

9.JPG

呦 有点意思:
关注一下报错
原来在pow函数中要求输入的数值均为int类型。所以bytes_to_long即可
然 我怎么也装不上Crypto库 于是乎 手撕bytes:

8.JPG

加密 加密 加密!!!

7.JPG

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

脆弱性分析

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

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

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

然后他就跑去表白了

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

6.JPG

后话

看明文写的啥:

5.JPG

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.