古典密碼
密碼
在現今資訊爆炸的年代,溝通容易變得公開,故加密 (Coding) 的工作尤其重要。
所謂「加密」,即把一段訊息,我們通稱「明文」(Message) ,加上密碼,成為「密文」(Code) ,再行傳輸,即使被別人看了,別人也不明其意。
當指定接收訊息的人經過一個「解密」(Decode) 或稱「解碼」的程序後,便得知原本的「明文」。
以往的加密方法有很多,如易位、代替等,我們通稱「古典密碼」。
易位密碼
易位密碼通常用於西方字母組成的文句中,方法是把明文的字母次序改變,使人難於明白。如:
明文:「Amy Attended A Meeting」
上文合共有 19 個字母 (不計空白),我們作一 4x5 的方陣,如下。
A |
M |
Y |
A |
T |
T |
E |
N |
D |
E |
D |
A |
M |
E |
E |
T |
I |
N |
G |
我們改變次序,得
密文:「ATDT MEAI YNMN ADEG TEE」
代替密碼
代替密碼是指用別的字母 (或單一漢字) 代替原本「明文」上的字母 (或單一漢字) ,使之「密文」。如:
明文:「Amy Attended A Meeting」後移 (5)
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
把「明文」字母作一一對應的替換得:
密文:「FRD FYYJSIJI F RJJYNSL」
當中的「後移五」,我們稱為「密鑰」,即解密的鑰匙。當然密鑰有很多不同的樣式,可如上例般,稱「加法替代」;當然也有「乘法替代」,即利用與 26 互素 (Coprime) 的數作模 (Modulo) 26 的乘法運算;也可混合二者或經多次替代,增加解密的難度。
古典密碼的不足
古典密碼的不足在於其依然以字母為基礎,要知道英文中各字母出現的頻率不一:
字母 |
頻率 |
字母 |
頻率 |
字母 |
頻率 |
字母 |
頻率 |
字母 |
頻率 |
A |
0.0856 |
B |
0.0139 |
C |
0.0297 |
D |
0.0378 |
E |
0.1304 |
F |
0.0289 |
G |
0.0199 |
H |
0.0528 |
I |
0.0627 |
J |
0.0013 |
K |
0.0042 |
L |
0.0339 |
M |
0.0249 |
N |
0.0707 |
O |
0.0797 |
P |
0.0199 |
Q |
0.0012 |
R |
0.0377 |
S |
0.0607 |
T |
0.1045 |
U |
0.0249 |
V |
0.0092 |
W |
0.0149 |
X |
0.0017 |
Y |
0.0199 |
Z |
0.0008 |
這現象在中文上亦是相類似,只要我們計算字母出現頻率,再加推敲,破解密文實不難。當然古典密碼在一些短語的傳遞上仍有作用,但整篇文章以此法加密,其保安能力已顯然不足了。