因为之前的博客不知怎么的上不去了,所以就把以前的博文转到这里来。。。
跟图片隐写一样,先开个头, 最近也挺忙的, 只能慢慢更新, 然后加密这块也是挺有意思的。
0x00
看到这个字符串, 首先发现的就是有斜体之分, 然后脑洞一开, 尝试培根加密, 培根加密只有AB之分, 然后对应不同的字母等。
每五个一组,分组为:FEARC ANHOL DUPRI SONER HOPEC ANSET UFREE
然后解出最后为freedom.
0x01
RSA算法:
加密原理:用RSA加密信息首先要生成密匙,随机选取两个不相等的质数p,q;两者相乘n=p*q,解出n;计算欧拉函数φ(n)=(p-1)*(q-1);随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质;计算模反元素d,de=1mod(φ(n)),即de-1=k(φ(n)),k为整数。
至此RSA加密所需要的全部元素以列出,包括p,q,n,φ(n),e,d.其中(n,e)构成公匙,(n,d)构成密匙。(n,e)对外公布,通讯双方加密信息使用;其他四个全部保密,(n,d)解密使用。
加密过程:例如要对明文m加密,需要用公匙(n,e),只需计算m^e=c mod(n),即密文c为m的e次幂除以n所得的余数。
解密过程:解密过程即是求m,需要用私匙(n,d),解出等式c^d=m mod(n),得出m即是明文。正常的信息加密过程中d是被严格保密的,所以破解d就是破解密文的关键。因为只有(n,e)是公开的,根据de=1mod(φ(n)),要想知道d,必须知道φ(n),因为φ(n)=(p-1)*(q-1),要想知道φ(n)必须知道p,q;因为n=p*q;所以要想知道p,q必须因式分解n,但若n很大,分解n几乎是不可能的,所以就达到了加密的效果。
0x02
摩斯密码:通过‘*’和‘-’不同的排列顺序来表达不同的英文字母、数字和标点符号。‘*’的ASC码值为42,‘-’的ASC码值为45.
0x03
凯撒密码:通过字母的简单位移进行信息加密。
0x04
字母频率猜解
0x05
阑珊密码:阑珊密码即是把明文分成N组,分别把每组的第一个,第二个。。。。。连接起来,再拼凑成一个字符串
0x06
.维吉尼亚密码:为了对抗字母频度猜解,在凯撒密码的基础上发展出一种多表替换的密码。维吉尼亚密码引出密匙概念,根据密匙来决定用哪一行密表来进行加密。