Classical-Cipher
玩具密碼——它有名字嗎?
當我大概九歲的時候,我從圖書館借了一本關於各種數學和 CS 主題的書。它概述了各種簡單的密碼,包括我經常使用的一種,只是為了好玩。我不記得書的名字,或者密碼的名字,所以我希望你能幫助我解決後一個問題。
它是一種以單詞為密鑰的單字母替換密碼。鍵是字母表中的任意單詞,與字母表本身連接,然後刪除重複的字母(僅保留第一次出現)。生成的單詞是密碼字母表。
例如,使用現代英文字母表和密鑰“STACKEXCHANGE”,密碼字母表將變為“STACKEXHNG”(密鑰,後來刪除重複項)與“BDFIJLMOPQRUVWYZ”(沒有密鑰字母的字母)連接:
plain : ABCDEFGHIJ KLMNOPQRSTUVWXYZ cipher : STACKEXHNG BDFIJLMOPQRUVWYZ
當然,這個密碼在密鑰中的“最高”字母 (
Y=Y
,Z=Z
) 之後是不安全的,但是作為替代密碼的實際解釋仍然很有趣(由於它的弱點,可能更有趣)。重複我的問題:這個方案有一個眾所周知的名字嗎?還是已知歸因於一個人?
這是一個簡單的替換密碼,特別是混合/混亂的字母密碼。參見維基百科的描述:
單獨替換單個字母 - 簡單替換 - 可以通過以某種順序寫出字母表來表示替換來證明。這被稱為替換字母表。密碼字母表可以移動或反轉(分別創建凱撒和阿特巴什密碼)或以更複雜的方式加擾,在這種情況下,它被稱為混合字母表或混亂字母表。傳統上,可以通過首先寫出一個關鍵字,刪除其中重複的字母,然後按通常的順序寫下字母表中所有剩餘的字母來創建混合字母。使用這個系統,關鍵字“斑馬”為我們提供了以下字母:
Plaintext alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphertext alphabet: ZEBRASCDFGHIJKLMNOPQTUVWXY