古典密碼學
一、鍵盤密碼
利用了鍵盤上的橫縱座標。
例如我們要對‘m’進行加密,我們可以寫成 32 ;當然我們也可以寫成 23 。
二、BrainFuck和Ook密碼
1.brainfuck 語言用> < + - . , [ ]八種符號來替換 C 語言的各種語法和命令。
> becomes ++p;
< becomes --p;
+ becomes ++*p;
- becomes --*p;
. becomes putchar(*p);
, becomes *p = getchar();
[ becomes while (*p) {
] becomes }
2.Ook 密碼和 Brainfuck 是一樣的概念,都是用於替換 c 語言的語法,但是語法元素更少。
示例:
將字串“meng”加密為Ook後:
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook.
可以發現Ook只有三個元素 . ? ! 因此可以簡寫
三、摩斯密碼
摩斯密碼只有三個字元組成 '.' '-' ' '。點、下劃線、空格。
四、凱撒密碼
介紹:這是一種位移加密方式,只對 26 個字母進行位移替換加密。
示例:我們有密文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
當我們讓偏移量為1的時候
我們的明文字母表就變成了:ZABCDEFGHIJKLMNOPQRSTUVWXY
這時候我們對字串‘meng’加密就變為了----> ‘nfoh’。M往前移動一位變成了N;E往前位移了一位變成了F;同理。一下是我寫的一個簡單的凱撒加密python指令碼:
s = "" for i in str: s += chr((ord(i)-97+int(x))%26+97)
print("加密後的字串為:" + s)
下面我們介紹凱撒密碼解密:
五、ROT13密碼
介紹:ROT13 是凱撒密碼的一種變體,移位數固定為 13,即把明文中的每一個字母在字母表中向後移動
13 位,數字和非字母字元保持不變。
示例:A 向後移動 13 位=N,N 向後移動 13 位=A,13 是 26 個英文字母的中間值。