一、入門題:
(一)卡爾達諾漏格板(CardanGrille)
依照漏格書寫明文以及觀看明文。雙方皆須要有一個漏格才有辦法解碼。
請問,解碼的答案為:
(二) 摩斯密碼: 還記得2進位,0與1的文字表示法嗎? ASCII、BIG5、UTF-8 ....
請問,以下摩斯密碼,解碼後的答案為:
-- --- ·-· ··· · / -·-· --- -·· ·
(空格)
二、基礎題:
(一)替換法:
使用事先已設計好字母替換的對照表,來進行密碼的交換,與摩斯密碼異曲同工。
◎練習I: 「海狸國文字加密」
海狸國的情報單位發明了一種文字加密法,讓海狸間諜之間可以秘密通訊。他們會用下面的圖卡來幫助加密與解密:
例如:單字BEAVER 加密後的密文就是:
請幫海狸間諜解密:
(二)換位法:
最早期由羅馬帝國凱撒大帝發明,據稱當年凱撒曾用此方法與其將軍們進行聯繫,故稱為凱撒密碼(Caesar cipher),或稱凱撒加密、凱撒變換、變換加密,是一種最簡單且最廣為人知的加密技術。
凱撒密碼是一種換位加密技術,明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移後被替換成密文。
◎練習II: 「換位加密法」
1.假設加密的訊息為「MERRYXMAS」,假設訊息傳送者與接收者事先約定以「換位4」加密,則依序在每個字母底下家個數字,編號到4後,下個字母再重新由1開始設定號碼。
EX.加密前:
2.依編號數字順序排列,得到的結果為「MYSEXRMRA」
EX.加密後:
請問:
相同的加密訊息為「MERRYXMAS」,但是使用「換位3」進行加密,則得到的結果會是什麼答案?
◎練習III: 「海狸兄弟的秘密」
海狸兄弟 Steve 和 Dave 喜歡用只有彼此瞭解的加密方式,傳遞秘密訊息給對方。Steve 傳訊息時習慣在前面先稱呼對方,而 Dave習慣在訊息後署名。
兩人使用的加密方式雖然不同,但是都只對字母加密,不對符號加密。
鄰居 Sam 也想加入牠們的訊息群組,於是 Steve 和 Dave 决定: 如果 Sam 能夠將下面兩句對話訊息解密,就讓 Sam 加入。
資料來源: 2020、2021運算思維推動計畫
請回答以下問題:
(1) 請幫 Sam 找出 Dave 的訊息,並將訊息解密。
(2) 請幫 Sam 找出 Steve 的訊息,並將訊息解密。
三、進階題:
◎表格法(Tabula Recta)(又稱:維吉尼亞密碼)
在一個凱撒密碼中,字母表中的每一字母都會作一定的偏移,例如偏移量為3時,A就轉換為了D、B轉換為了E……而維吉尼亞密碼則是由一些偏移量不同的凱撒密碼組成。
為了生成密碼,需要使用表格法。這一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具體使用哪一行字母表進行編譯是基於密鑰進行的,在過程中會不斷地變換。
範例: 加密訊息的產生
進行加密前,必須先約定好一個金鑰。
假設預備傳送的訊息為「HELP」,金鑰為「NTCT」,則加密的訊息:
(1)第一個字母: 第 H 行,第 N 列 的 「U」
(2)第二個字母: 第 E 行,第 T 列 的 「X」
(3)第三個字母: 第 L 行,第 C 列 的 「N」
(4)第四個字母: 第 P 行,第 T 列 的 「I」
最後獲得加密的訊息為「UXNI」。
解密練習,請問:
預設金鑰為「MCJHCO」,已加密的訊息為「FWAUQB」,原始訊息應為?