Caesar Cipher 和 Vigenere Cipher 的混合加密
總起
我結(jié)合Caesar Cipher加密方式和Vigenere Cipher加密方式形成了這個新的加密方式C-V加密,C-V加密難度適宜,不需要依賴計算機的輔助,且信息保密效果也可以。
Caesar Cipher加密方式:
Caesar Cipher是一種古老的加密方式,也稱為移位密碼,其原理是通過把每個字母移動一定位置來進(jìn)行加密。例如,把每個字母向右移動3個位置,即a變?yōu)閐,b變?yōu)閑,c變?yōu)閒,以此類推。
這個加密方式非常簡單,可以用一個固定的數(shù)字作為加密的關(guān)鍵,被加密的文字中的每個字母都向右移動這個固定的數(shù)字個位置,即可進(jìn)行加密。解密時,把每個字母向左移動同樣的數(shù)字個位置即可。
雖然這個加密方式很容易被破解,但在一些場合下還是被用來進(jìn)行簡單的數(shù)據(jù)保護(hù)。

Vigenere Cipher加密方法
Vigenere Cipher是一種古老的加密方式,也稱為多表密碼。它的原理是使用一個關(guān)鍵字作為密鑰,將明文和密鑰進(jìn)行結(jié)合后進(jìn)行加密。
具體做法是:首先將明文和密鑰都轉(zhuǎn)換成數(shù)字,然后依次選取密鑰中的每個字母,并以其對應(yīng)的數(shù)字作為移位數(shù)量,將明文中的每個字母向右移動相應(yīng)的數(shù)量。密鑰字母的選取是循環(huán)的,即若明文有n個字母,而密鑰長度只有m個字母,則在加密時需要將第n+m個字母的密鑰再次使用第1個字母,直到所有明文字母都被加密。
解密時則需要使用相同的密鑰,依據(jù)密鑰中每個字母所對應(yīng)的移位數(shù)量,將密文中的每個字母向左移動相應(yīng)的數(shù)量,即可得到原始明文。
盡管Vigenere Cipher比Caesar Cipher更加復(fù)雜,但它也存在一些缺陷,會被許多高級密碼破解技術(shù)輕易破解。

C-V加密
將兩種加密方式結(jié)合起來,就形成了C-V加密(Caesar Cipher 和 Vigenere Cipher 的混合加密)
因為有些朋友還是無法很好地理解,我將C-V加密用python代碼的方式寫了出來,代碼將全部開源出來,供大家白嫖使用。
#加密程序源代碼
#解密程序源代碼
使用方法
使用C-V加密需要3個條件,第一就是要加密的“明文”,第二是Caesar Cipher的位移量,第三就是Vigenere Cipher的關(guān)鍵字。
就是因為有位移量和關(guān)鍵字兩個特殊因素的存在,這也就是C-V加密保密性好的原因。兩種因素缺一不可,缺了任何一個都不能把密文破解出來。
下面我將用“ i love you”進(jìn)行舉例
加密過程
1、輸入明文,也就是要加密的內(nèi)容:

2、輸入Caesar Cipher的位移量,這里用 "3" 舉例

3、輸入Vigenere Cipher的關(guān)鍵字,這里用 “l(fā)ove” 舉例

4、最后就能得出加密后的內(nèi)容

解密過程
1、輸入密文,也就是要加密后的內(nèi)容:

2、輸入Caesar Cipher的位移量(要與加密時的位移量一致)

3、輸入Vigenere Cipher的關(guān)鍵字(要與先前的關(guān)鍵字一致)

4、得出解密后的內(nèi)容

C-V加密可運用于多個場景,可以和你朋友來一次加密聊天,或是給暗戀的人一個含蓄的表白,再或者是運用于大型的活動游戲......總之,C-V加密有多種多樣的玩法,等待著大家去開發(fā)。
最后
我在此也附上打包好的.exe文件,懶癌晚期的朋友可以直接使用.exe文件直接體驗哦。
鏈接:https://pan.baidu.com/s/1P6DoZLq-vTP8zYCZ5srzjQ?pwd=1225?
提取碼:1225