[CTF]柵欄密碼學習- IT閱讀
文章推薦指數: 80 %
[CTF]柵欄密碼學習 ... 即把將要傳遞的資訊中的字母交替排成上下兩行,再將下面一行字母排在上面一行的後邊,從而形成一段密碼。
柵欄密碼是一種置換密碼。
[CTF]柵欄密碼學習
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
[CTF]柵欄密碼學習
2018-12-16254
[CTF]柵欄密碼學習
即把將要傳遞的資訊中的字母交替排成上下兩行,再將下面一行字母排在上面一行的後邊,從而形成一段密碼。
柵欄密碼是一種置換密碼。
例如密文:TEOGSDYUTAENNHLNETAMSHVAED 解密過程:先將密文分為兩行 TEOGSDYUTAENN HLNETAMSHVAED 再按上下上下的順序組合成一句話 THELONGESTDAYMUSTHAVEANEND.加深的 密文為: PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI 去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI 共64個字元,以8個字元為一欄,排列成8*8的方陣(凱撒方陣): PFEESESN RETMMFHA IRWEOOIG MEENNRMA ENETSHAS DCNSIIAA IEERBRNK FBLELODI 從上向下豎著讀:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI 插入空格:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI經典加密技術例項經典加密主要採用了兩種加密技術:替代技術和置換技術。
(1)替代技術替代技術是將明文中的每個元素(字母、位元、位元組合或字母組合)對映為另一個元素的技術。
明文的元素被其他元素所代替而形成密文。
在經典加密技術中使用的元素一般為字母或數字。
下面給出經典加密中幾種有代表性的替代技術。
1)凱撒密碼凱撒密碼是最早使用的替代密碼。
定義1凱撒密碼將字母表視為一個迴圈的表,把明文中的字母用表中該字母后面第3個字母進行替代。
凱撤密碼的明文字母和密文字母的對應關係如下:明文字母:abcdefghIjklmnopqrstuvwxyz密文字母:DEFGHIJKLMNOPQRSTUVWXYZABC若讓每個字母對應一個數值(a=0,b=1,……,z=25),則該演算法可以表示為:。
定義2將1演算法一般化,即密文字母與明文字母的偏移可以是任意值,形成了所謂的移位密碼,其演算法可以表示為:k就是加密演算法的金鑰,可以在1到25之間取值。
解密演算法可以表示為:。
由於k的取值範圍的限制,凱撒密碼的金鑰空間很小,難以抵禦強行攻擊密碼分析。
攻擊者最多嘗試25次,就一定能夠破譯密碼。
2)單字母替代密碼為了加大凱撒密碼的金鑰空間,可以採用單字母替代密碼。
單字母替代密碼是將密文字母的順序打亂後與圖文字母對應。
明文字母:abcdefghIjklmnopqrstuvwxyz密文字母:OGRFCYSALXUBZQTWDVEHJMKPNI此時的金鑰空間大小為26!,約為4×1026。
即使每微秒試一個金鑰,也需要花費約1010年才能窮舉所有的金鑰。
因此,強行攻擊法不太適合。
3)Vigenere密碼Vigenere密碼利用一個凱撤方陣來修正密文中字母的頻率。
在明文中不同地方出現的同一字母在密文中一般用不同的字母替代。
凱撒方陣的形式為:ABCDEFG…YZ BCDEFGH…ZA CDEFGHI…AB DEFGHIJ…BC … ZABCDEF…XY加密時,使用一個通訊雙方所共享的金鑰字母串(如:HAPPYTIME),將金鑰字母串重複書寫在明文字母的上方。
對要加密的明文字母找到上方的金鑰字母,然後比一下以確定凱撒方陣的某一行〔以該金鑰字母開頭的行〕。
最後利用該行的字母表,使用凱撒密碼的加密方法進行替代:例如:金鑰:HAPPYTIEHAPPYTIM明文:pleasesendthedata明文中的第一個e用凱撒方陣中的P行(PQRSTU…O)進行加密,因此被T替代;第二個e用方陣中的T行(TUVWX…S)進行加密,因此被X替代。
即使只選擇凱撒方陣中的任意m行,Vigenere密碼的金鑰字的長度將是26m,窮舉金鑰空間將需要很長時間,例如m=5,金鑰空間超過11000000,已經足以阻止手工窮舉金鑰搜尋。
在Vigenere密碼中,一個字母能夠對映成m個可能字母中的一個,這樣的密碼體制稱為多表密碼體制,一般情況下對多表密碼體制的密碼分析比單表困難。
(2)置換技術置換是在不丟失資訊的前提下對明文中的元素進行重新排列。
1)矩形轉置密碼將明文寫成矩形結構,然後通過控制其輸出方向和輸出順序來獲得密文。
例如,明文pleasesendthedata在不同輸出順序下的密文如下圖所示。
矩形方陣上方的數字和字母串為代表輸出順序的金鑰,字母串按字母順序輸出(AEFRT)。
輸出順序12345p1easesendthe data 輸入方向 輸出順序35142p1easesendthe data 輸入方向 輸出順序AFTERp1easesendthe data 輸入方向 密文:pedldestaaehtsnea 密文:estasneapedeahtld 密文:pedaehtldsneaesta 圖矩形轉置密碼加密示意圖 2)圖形轉置密碼一個三角形轉置密碼的例子如下圖所示ehavharryoksdoeshowmanybo 輸入方向 輸出方向 明文:howmanybooksdoseharryhave密文:OSYVEBERAYORHNDAASHMKWOOH 圖三角形轉置密碼加密示意圖 http://www.sdpc.edu.cn/jpkc/wlaq/szal/aqslfx/sl7.htm
相關文章
[CTF]柵欄密碼學習
[CTF]柵欄密碼
ctf密碼學習題總結
柵欄密碼--Python解密指令碼
JAVA柵欄密碼解密程式
資訊保安密碼技術--柵欄密碼
CTF中Crypto(密碼學)線上解密網站
柵欄密碼
python反方向破解柵欄密碼*上不上車*20年python大牛開車
逆向破解柵欄密碼,python就是這麼迷人!
格密碼學習筆記(一)
【編碼】量子密碼學習筆記(一)
【編碼】量子密碼學習筆記(二)
橢圓曲線公鑰密碼學習
CTF入門——密碼學基礎
分類導航
HTML/CSS
HTML教程
HTML5教程
CSS教程
CSS3教程
JavaScript
JavaScript教程
jQuery教程
Node.js教程
服務端
Python教程
Python3教程
Linux教程
Docker教程
Ruby教程
Java教程
JSP教程
C教程
C++教程
Perl教程
Go教程
PHP教程
正則表達式
資料庫
SQL教程
MySQL教程
PostgreSQL教程
SQLite教程
MongoDB教程
Redis教程
Memcached教程
行動端
IOS教程
Swift教程
Advertisement
三度辭典
Copyright©2016-2021IT閱讀
Itread01.comAllRightsReserved.
0.001291036605835
延伸文章資訊
- 1基本解碼方法介紹——柵欄 - 每日頭條
柵欄加密是凱撒移位的一種變體,它的加密方式是這樣,首先我們得有一串明文,我就瞎編一個:w. wsd32agent563kz. 我們現在想給它加密,這串密碼有15位,拆 ...
- 2柵欄密碼 - 華人百科
所謂柵欄密碼,就是把要加密的明文分成N個一組,然後把每組的第i個字連起來,形成一段無規律的話。 一般比較常見的是2欄的棚欄密碼。 ... 這樣就得到我們需要的密碼了!
- 3栅栏密码加密解密 - 千千秀字
栅栏密码是一种字符位置转移加密方式,规则简单,容易破解。本页提供一个栅栏密码加密和解密的小程序,可以对包括中文字符在内的任意文本进行栅栏密码规则加密和解密。
- 4柵欄密碼_百度百科
所謂柵欄密碼,就是把要加密的明文分成N個一組,然後把每組的第1個字連起來,形成一段無規律的話。 不過柵欄密碼本身有一個潛規則,就是組成柵欄的字母一般不會太多。
- 5栅栏密码_栅栏密码在线加密解密【W型】 - ME2在线工具
栅栏密码W型加密算法: 栅栏密码(Rail fence Cipher),扩展变种W型,采用先把明文类似"W"形状进行排列,然后再按栏目顺序1-N,取每一栏的所有字符值,组成 ...