密码学,你也可以学会的表白

大家也许经常收到心上人发的奇奇怪怪的字符,有人说,可以无脑当作I LOVE YOU处理,该说不说,这些字符大多来自编码和古典密码,那么520我们也来分享一些常见编码和古典密码表白。

最基础的基于置换的方法,比如从1开始到26,分别表示从A到Z,即:A(1)B(2) C(3) D(4) E(5) F(6) G(7) H(8) I(9) J(10) K(11) L(12) M(13) N(14) O(15) P(16) Q(17) R(18) S(19) T(20) U(21) V(22) W(23) X(24) Y(25) Z(26)。

那么9 12 15 22 5 21就是 I LOVE U

或者很基础的莫斯密码,··   ·—·· ——— ···— ·   ··—,也是i love you的意思。

还有小学就学过的凯撒移位:j mpwf v,这个有点过于小儿科了。

除此之外,还要维吉尼亚密码,栅栏密码,棋盘密码,希尔密码,它们的共同点都是基于字母置换,

下面讲解一下一个贴吧上经典的多重置换表白案例,密文是“****—****—*————***——**———/—********—/”

该摩斯密码相应密码对应的数字组合和英文字母组合分别是“4194418141634192622374”和“daiddahadafcdaibfbbcgd”。

观察第一段数字,其是从1-9的数字,考虑来自手机键盘,将摩尔斯密码对应的数字“4194418141634192622374”转换成了手机键盘字母。以“41”为例,它对应的就是传统手机键盘上的“4”的第1个字母,“94”则是“9”的第4个字母。这样,便得到了第二步的答案“GZGTGOGXNCS”。

第三步有些难想,因为QWE格式(即QWERTY电脑键盘布局)是应用最广泛的键盘格式,所以也就可能成为密码的置换码表。假设这段密码的码表为‘QWE=ABC’,以此类推Q=A,W=B,E=C,R=D,T=E,Y=F,U=G,I=H,O=I,P=J,A=K,S=L,D=M,F=N,G=O,H=P,J=Q,K=R,L=S,Z=X,X=T,C=U,V=V,B=N,N=W。按照这样的次序,置换上面的来自于手机键盘的字母,就转换到了第三步答案“OTOEOIOUYVL”。

第四步,应用栅栏密码,栅栏密码是一种简单的移动字符位置的加密方法。即把文本按照一定的字数分成多个组,取每组第一个字连起来得到密文1,再取每组第二个字连起来得到密文2……最后把密文1、密文2……连成整段密文。

将这组字母分成“OTOEOI”和“OUYVL”两排,然后对插重组,得到第四步的字母排列“OOTUOYEVOLI”。

最后,将“OOTUOYEVOLI”倒序排列,即“I LOVE YOU TOO”。

我们密码人真是太深情了

当然,除了古典密码和编码,也可以用现代密码学来加密,但是如果对方不是工科的话,难度有点大。

比如基于RSA的表白(本案例来自freebuf),首先引入RSA的加密过程

选择两个大素数p和q,计算n=p×q和z=(p-1)×(q-1)

选择一个与z互质的数,令其为d,找到一个 e 使满足exd= 1 (mod z)

公开密钥为(e,m),私有密钥为(d,m)

对每个数据块 P,计算 C= P^(mod n),C 即为P的密文

对每个密文块 C,计算 P=C^d(mod n),P即为明文

首先选择公钥e:1314(或者520之类的,虽然说e必须是素数,不过表白嘛,不用太计较)

然后选择p和q,要求

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

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

获取到了that gilr 或者boy的个人信息,包括但不限于姓名、学号、生日,把它们当作p和q,加密你的表白,比如i love you,得到密文即可。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com