iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
1
Security

資安0~100K只要30天系列 第 22

Day 22 - 古典密碼

  • 分享至 

  • xImage
  •  

昨天說到
古典密碼學是一種利用人們天馬行空的想像力所創造出的各種加密方式
很多都不需要大量的運算
而是你看過就會知道的東西
當你想破解古典密碼時
其實就是考驗你的知識廣度
今天就帶大家來看看這些古人的智慧吧~

Morse Code

這個中文就是摩斯電碼
相信各位一定不陌生
在以前戰爭時期
海上遠距離通信通常會用打燈的方式
或是電訊的方式,用耳朵聽
為了清楚的分辨
因次由一長一短的符號構成
短音稱為 滴
長音稱為 搭
每一種字母的組合方式都不同

我到現在還是背不起來 (X
數字可能比較好記
都由五個符號構成

基準

  • 以短音為基準一拍
  • 長音為三拍
  • 長短之間隔一拍
  • 每個字母之間隔三拍
  • 單詞之間隔七拍

衍生

由於摩斯電碼只由兩種符號構成
因此也可衍生出短音為 0 長音為 1 的表示方法
所以就轉換成了二進位

Base64

通常用於將帶有不可視字元的資料轉換為全明文好方便傳輸
其原理為 bit 之間的轉換
一般我們的資料最小單位為 byte (8 bits)
在 base64 中一單位為 6 bits
因此總共有 64 個字元的存在

  • 剛好整除

用 wiki 的圖來解說

我們可以看到上面的 Man 先以 ASCII 來看
接著轉為二進位 有 8*3 = 24 個二進位
接著除以 6 再還原成可以得到 4 個字元
這是剛好整除的情況

  • 沒有整除

在這個情況下
要編碼的位元組長度不足 3 的倍數
因此會先補滿 bit 0 再進行編碼
接著 base64 就會把多出來的以 = 來表示

替換式密碼

凱薩加密

將英文字母順序平移 1 ~ 25 個

比如說 這就是平移一格的結果

明文 : 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
密文 : 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 A

你可能聽說過一種叫做 ROT13 的加密
其實那就是凱薩密碼平移 13 格的結果
只是 13 這個數字比較特別
由於英文字母有 26 個
因此加密後再加密一次就會變回原文

維吉尼亞密碼

在這種加密方式中
會有一張密碼表稱為 維吉尼亞方格

橫的為明文
直的為 key
中間一對一的字母就是密文

舉個例子

  • 明文 : HELLO
  • 密鑰 : ABCDE
  • 密文就會是 HFNNS
    • 橫的找 H 直的找 A 就為 H
    • 橫的找 E 直的找 B 就為 F
    • 橫的找 L 直的找 C 就為 N
    • 橫的找 L 直的找 D 就為 N
    • 橫的找 O 直的找 E 就為 S

移項式密碼

密碼棒

將一長條紙捲在棒狀物體上
即可顯示出明文

柵欄密碼

將明文的字母順序重新排列
變成像柵欄一行一行的感覺

例如
明文 : THE BEST APPLE

我們先去除空白讓他全部連在一起

THEBESTAPPLE

接著兩兩分開

TH EB ES TA PP LE

然後將其上下並排

T E E T P L
H B S A P E

然後將第一行與第二行合併變成

TEETPLHBSAPE

這就是我們加密後的密文

END

古典密碼就先介紹到這邊
大家有沒有覺得很神奇呢
文字稍微打亂或是運用某種規律就變成了一種加密方式
接著明天我們來說說以大量運算為基礎的現在密碼吧~


上一篇
Day 21 - 密碼學初探
下一篇
Day 23 - 現代密碼 (一)
系列文
資安0~100K只要30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言