1. 程式人生 > 實用技巧 >古典密碼-凱撒密碼Caeser

古典密碼-凱撒密碼Caeser

凱撒密碼Caeser Cipher

在早期,凱撒密碼(Caeser Cipher)是指將密文平移三位,後來經過推廣,平移個數擴充套件為任意位,即移位密碼(Shift Cipher)

原理

凱撒密碼(Caesar)加密時會將明文中的 每個字母 都按照其在字母表中的順序向後(或向前)移動固定數目(迴圈移動)作為密文。例如,當偏移量是左移 3 的時候(解密時的金鑰就是 3):

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC

使用時,加密者查詢明文字母表中需要加密的訊息中的每一個字母所在位置,並且寫下密文字母表中對應的字母。需要解密的人則根據事先已知的金鑰反過來操作,得到原來的明文。例如:

明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

特定名稱

根據偏移量的不同,還存在若干特定的愷撒密碼名稱

  • 偏移量為 10:Avocat (A→K)
  • 偏移量為 13:ROT13
  • 偏移量為 -5:Cassis (K 6)
  • 偏移量為 -6:Cassette (K 7)

此外,還有還有一種基於金鑰的凱撒密碼 Keyed Caesar。其基本原理是利用一個金鑰,將金鑰的每一位轉換為數字(一般轉化為字母表對應順序的數字),分別以這一數字為金鑰加密明文的每一位字母,例如:

密文:s0a6u3u1s0bv1a
金鑰:guangtou
偏移:6,20,0,13,6,19,14,20
明文:y0u6u3h1y0uj1u

解密工具

  • 線上網站:http://planetcalc.com/1434/
    該網站可以線上對凱撒進行25中移位的破解,並直接返回結果
  • 工具:CaptfEncoder
    裡面集成了一堆各式各樣的工具,其中就包含Caeser的解密