常用的加密 算法

因爲之前的博客不知怎麼的上不去了,所以就把以前的博文轉到這裏來。。。


跟圖片隱寫一樣,先開個頭, 最近也挺忙的, 只能慢慢更新, 然後加密這塊也是挺有意思的。

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

.維吉尼亞密碼:爲了對抗字母頻度猜解,在凱撒密碼的基礎上發展出一種多表替換的密碼。維吉尼亞密碼引出密匙概念,根據密匙來決定用哪一行密表來進行加密。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章