CTF-Crypto密码学
密碼學
01密碼學概述
密碼學的發展
密碼編碼學
編碼與加密?
編碼為一類映射的關系(一一映射)
加密為一類算法(有算法(公開的),密鑰(不可泄漏))
明文 ------> 密文
plain text cipher text
對稱密碼和不對稱密碼算法
對稱密碼算法優點:加密解密速度快
缺點:密鑰不能泄漏(除了AES,因為密鑰很長,目前無機器能夠在短時間內破解)
對稱密碼算法常考DES
非對稱密碼算法(Asymetric cipher):
加密密鑰和解密密鑰不同,從一個很難退出另一個。又叫共要密碼算法(Public-key cipher)。加密密鑰可以公開,稱為公開密鑰(public key),簡稱公鑰;解密密鑰必須保密,稱為私人密鑰(private key),簡稱私鑰。
如RSA,ECC,ElGamal
非對稱密碼算法優點:速度慢(比對稱慢1000倍)
非對稱密碼算法常考RSA
摘要算法:
數據摘要算法為密碼學算法里非常重要的一個分支,它通過對所有數據提取指紋信息以實現數據簽名,數據完整性校驗等功能,由于其不可逆性,有時候會被用作敏感信息的加密。數據摘要算法也被稱為哈希(Hash)算法,散列算法,常見的摘要算法有MD5和SHA。
在互聯網上進行大文件傳輸時,都要得利用MD5算法產生一個與文件匹配的,存儲MD5值的文本文件(后綴名為.md5或.md5sum),這樣接收者在接收到文件后,就可以利用與SFV類同的方法來檢查文件完整性,絕大多數大型軟件公司或者開源組織都以這類方式來校驗數據完整性,而且部分操作系統也利用此算法來對用戶密碼進行加密,另外,它也是目前計算機犯罪里數據取證的最常用算法。
SHA里SHA1的應用較為廣泛,主要應用于CA和數字證書里,另外在互聯網里流行的BT軟件里,也是利用SHA1來進行文件校驗的,由于SHA系列算法的數據摘要長度較長,因此其運算速度與MD5相比,也相對較慢。
編碼
02 常見編碼
ASCII編碼
ASCII碼利用指定的7位或8位二進制組合來表示128或255類可能的字符。標準ASCII碼也叫基礎ASCII碼,利用7位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0到9,標點符號,以及在英語里利用的特殊控制字符。
在python控制臺里ord(‘a’)
CTF競賽一個強功能的解密加密網站:http://ctf.ssleye.com
Base64編碼:
第一行:3乘8=24
第二: 4乘6=24
第三: 4乘8=32
base64也有自己的base64表
base64解密可能會出錯,可在后面加上一個或兩個“=”
此題注意:base為base64,但base的表妹為base32
若以base64編碼來解密,在密文后面去掉一個“=”,兩個“=”,三個“=”甚至“=”都去掉會發現找不到flag,但以base32編碼來解密可成。
URL編碼:
特點:密文里有多個%字符
Unicode編碼:
Unicode碼擴展自ASCII字元集。在嚴格的ASCII里,以7位元表示一個字元,或電腦普遍采用的每字元有8位元寬;而Unicode采用全16位元字元集。這令Unicode能夠表示所有語言里可能用于電腦通訊的字元和其他字符。
特點:密文里有多個\uxxx
JS混淆(并不是一個編碼方式):
此函數可以計算字符串,并執行其里的JS代碼
例題1:
在瀏覽器按F12,點擊控制臺,在>>處輸入密文,會車即可,得到“alert(“key”)”
例題2:
會車會彈出一個彈窗,
XSS并不是flag,flag即為alert(‘XSS’)
JSfuck:
若出現沒有[],而有{},就注意可能需要將{}改為[].
03 常見加密算法
換位密碼-柵欄密碼
第一組:分組里的第一個字母
第二組:分組里的第二個字母
例題:
提示3組分別為yawce oreo@ uelm@
y a w c e
yo ar we co e@
you are wel com e@@
即為youarewelcome@@
換位加密-曲路密碼
5行7列即為每5行就有一個空格
路徑分為先上后下和先下后上
例題:
此題四個字母就有一個空格
首先先看先上后下:
c o n g r a t
u l a t i o n
t o y o u g e
t t h e k e y
從左向右看:congratulation to you get the key
一般奪旗看key,flag,CTF,CTF{},flag{}等關鍵
替換加密-凱撒密碼
替換加密-摩斯電碼
例題:
打開密碼工具的離線工具,點擊摩斯電碼,在密文框里加入密文,在上方的“點”框加入*,右邊加入-,字母間隔加入空格即可點擊解密,得到give you the key
替換加密-ROT5/13/18/47
替換加密-維吉尼亞密碼
維吉尼亞解密網站:https://www.guballa.de/vigenere-solver
替換加密-培根密碼
替換加密-鍵盤密碼
04 摘要算法
總結
以上是生活随笔為你收集整理的CTF-Crypto密码学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: printf函数输出多个printf 、
- 下一篇: 单链表(带头节点)