柵欄密碼(The Rail-Fence Cipher)詳解


最近訓練CTF的時候,發現密碼學這塊的知識不太系統,所以自己接下來會陸陸續續整理出來

今天學習了柵欄密碼,BugkuCTF里面的一道叫做“聰明的小羊”的題就與柵欄密碼相關

特點

柵欄密碼與其他的密碼加密方式不太一樣,它是直接對明文中的內容進行置換操作

並不涉及明文中內容的改變!

加密方式一:

按對角線的順序寫出明文,再以行的順序讀出作為密文

明文:thank you for your arrival

對角線寫出:

t a k o f r o r r v a

h n y u o y u a r i l

按行寫出密文:

takofrorrvahnyuoyuaril

其中行代表了加密的深度,上面是兩行,所以加密的深度是2,如果深度增加,只要對角線的長度也增加即可

加密方式二

由於上面的加密方式不涉及密鑰,顯得易於破解

於是便有了一種需要密鑰的更復雜的方案:

即將明文一行行寫出,呈矩形排列,然后將列的次序打亂,最后以列的次序讀出。

而密鑰就是列的次序

如下圖:

關於這種加密的解密方式(其實不難)

只要將密文的數量n進行因式分解,重新排列成不同的矩陣,再進行相應的處理即可

更進一步地:只要再次進行幾次這樣的置換,整個矩陣就會和原來的矩陣相差很大,解密者就難以將其重構還原(下面再貼張圖)

柵欄2.png


好了,寫到這里就結束了,平時大家還是要多多訓練觀察能力嗷!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM