聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

今日關(guān)注:【干貨】常見密碼歸納(入門級(jí))(上)

來源:CSDN 時(shí)間:2023-03-10 15:15:16

常見密碼歸納(入門級(jí))

前言:前幾天的比賽發(fā)現(xiàn)密碼忘得有點(diǎn)多,今天總結(jié)一下吧。方便自己以后看看。


(相關(guān)資料圖)

常見密碼:1:base密碼(base16 ,32,64,58 ,85 ,100);: 2:ROT密碼:ROT 5/13/18/47; 3:凱撒密碼+變異凱撒; 4:柵欄密碼,柵欄密碼W型; 5:豬圈密碼; 6:維吉尼亞;7: 特殊密碼:摩斯密碼,培根密碼,與佛論禪,百家姓,Uuencode編碼轉(zhuǎn)換

一:base家族:base算是最常見的密碼之一,經(jīng)常用到的base64/32/16,少見的有58,85,100,92,93。說一下各個(gè)的特點(diǎn)吧。

base64:

實(shí)例:YWRtaW4tcm9vdA==特點(diǎn):一般情況下密文尾部都會(huì)有兩個(gè)等號(hào),明文很少的時(shí)候則沒有;加密原理:Base64編碼要求把3個(gè)8位字節(jié)(38=24)轉(zhuǎn)化為4個(gè)6位的字節(jié)(46=24),之后在6位的前面補(bǔ)兩個(gè)0,形成8位一個(gè)字節(jié)的形式。 如果剩下的字符不足3個(gè)字節(jié),則用0填充,輸出字符使用‘=’,因此編碼后輸出的文本末尾可能會(huì)出現(xiàn)1或2個(gè)‘=’。

base32:示例:GEZDGNBVGY3TQOJQGE======特點(diǎn):超過十位會(huì)有很多等號(hào),一般大于三個(gè);

base16:示例:61646D696E特點(diǎn):它的特點(diǎn)是沒有等號(hào)并且數(shù)字要多于字母下面的沒有以上三種常見

base58示例:**6tmHCZvhgfNjQu**特點(diǎn):它最大的特點(diǎn)是沒有等號(hào)

Base58是用于比特幣(Bitcoin)中使用的一種獨(dú)特的編碼方式,主要用于產(chǎn)生Bitcoin的錢包地址。

相比Base64,Base58不使用數(shù)字"0",字母大寫"O",字母大寫"I",和字母小寫"l",以及"+“和”/"符號(hào)。

比特幣的Base58字母表:

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

base85:示例:@:X4hDWe0rkE(G[OdP4CT]N#

特點(diǎn):奇怪的字符比較多,但是很難出現(xiàn)等號(hào)。

base100: 示例:??????????特點(diǎn):一堆Emoji表情 base小結(jié)::看到密文后,先看有沒有等號(hào) 有等號(hào),考慮64和32,等號(hào)特別多≥3個(gè)是32,否則64。 沒等號(hào),如果由數(shù)字和純字母(大寫)組成且數(shù)字多,大概率16;字母大小寫都有,考慮58; 有@#等符號(hào),直接base85;有enjoy表情,base100. 至于base91,92,這兩個(gè)有點(diǎn)不常見,base91至少可以百度到,base92只能用下載的工具包或者自己跑腳本了。 base64/32/16解碼網(wǎng)站:https://www.qqxiuzi.cn/bianma/base64.htm

base58/85/91/100解碼網(wǎng)站: http://www.atoolbox.net/Category.php?Id=27 注:雖然也包括64解密,但是沒有最上邊的好用,有時(shí)候解不出來。 遇到base92自求多福吧,我也只有一個(gè)工具包能解92而已

ROT密碼:

rot密碼其實(shí)可以看作是凱撒密碼的一種變式本質(zhì)都是移位運(yùn)算rot密碼按種類大致分為以下幾類:

rot5:

原理:只將字符串中的數(shù)字進(jìn)行加密,步數(shù)為5,同時(shí)在0-9十個(gè)數(shù)字進(jìn)行循環(huán),如1在rot5加密后為6,而6在rot5加密后為1。

特點(diǎn):只對(duì)數(shù)字進(jìn)行編碼,用當(dāng)前數(shù)字往前數(shù)的第5個(gè)數(shù)字替換當(dāng)前數(shù)字,例如當(dāng)前為0,編碼后變成5,當(dāng)前為1,編碼后變成6,以此類推順序循環(huán)。

rot13只將字符串中的字母進(jìn)行加密,步數(shù)為13,加密方式上最接近凱撒密碼,分別在A-Z或a-z之間循環(huán),如A在rot13加密后為N,Z在rot13加密后為M 特點(diǎn): 只對(duì)字母進(jìn)行編碼,用當(dāng)前字母往前數(shù)的第13個(gè)字母替換當(dāng)前字母,例如當(dāng)前為A,編碼后變成N,當(dāng)前為B,編碼后變成O,以此類推順序循環(huán)

rot18:字面意思(5+13=18) 即將上述兩種加密方式結(jié)合,分別對(duì)數(shù)字和字母進(jìn)行相應(yīng)的操作 特點(diǎn):由字母數(shù)字組成

**rot47:**對(duì)數(shù)字、字母、常用符號(hào)進(jìn)行編碼,按照它們的ASCII值進(jìn)行位置替換,用當(dāng)前字符ASCII值往前數(shù)的第47位對(duì)應(yīng)字符替換當(dāng)前字符,例如當(dāng)前為小寫字母z,編碼后變成大寫字母K,當(dāng)前為數(shù)字0,編碼后變成符號(hào)_。用于ROT47編碼的字符其ASCII值范圍是33-126。

特點(diǎn):對(duì)數(shù)字,字母,符號(hào)加密

ROT:小結(jié):純數(shù)字rot5;純字母rot13;數(shù)字+字母rot18;數(shù)字+字母+符號(hào)rot47 解碼網(wǎng)站:https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php

3 凱撒密碼

凱撒密碼,最典型的古典密碼,由密文和數(shù)字秘鑰組成。 原理:此為一種位移加密手段,只對(duì)26個(gè)(大小寫)字母進(jìn)行位移加密,規(guī)則相當(dāng)簡單,容易被破解。 特點(diǎn):看到“{”前有四個(gè)(flag格式)或兩個(gè)(SL格式)字母八成就是凱撒了。 解碼網(wǎng)站https://www.qqxiuzi.cn/bianma/kaisamima.php

變異凱撒,只能跑腳本了。 c語言

#includeint main(){int i;char c[]="afZ_r9VYfScOeO_UL^RWUc";//實(shí)戰(zhàn)改為對(duì)應(yīng)密文即可for(i=0;c[i]!="\0";i++){c[i]=i+5+c[i];//:本題位移數(shù)為5;實(shí)戰(zhàn)需要根據(jù)實(shí)際實(shí)際情況改}printf("%s",c);}

java

public static void main(String[] args) {String ciphertext = "afZ_r9VYfScOeO_UL^RWUc";        char[] plaintext = new char[ciphertext.length()];        for(int i = 0; i < ciphertext.length(); i++){//注意i是從0開始的,所以是5+i            plaintext[i] = (char)(((int)ciphertext.charAt(i) + 5 + i) % 128);        }        for (char i: plaintext) {System.out.print(i);        }    }

Python:

ciphertext = "afZ_r9VYfScOeO_UL^RWUc"j = 5for i in ciphertext:    print(chr(ord(i) + j), end="")    j += 1

柵欄密碼:

普通型原理柵欄密碼(Rail fence Cipher)基礎(chǔ)型加密方式,是一種簡單的移動(dòng)字符位置的加密方法,首先把加密的明文分成N個(gè)一組,然后把每組的第1、第2、第M個(gè)字符連起來,形成無規(guī)律的密文字符串。

例如字符串“123456789abc”,首先將字符串分成3組,如下排列: 1234 5678 9abc 依次取每一組字符,組成加密后密文:“15926a37b48c”。

w型柵欄密碼(Rail fence Cipher),擴(kuò)展變種W型,采用先把明文類似"W"形狀進(jìn)行排列,然后再按欄目順序1-N,取每一欄的所有字符值,組成加密后密文。 比如字符串“123456789”,采用欄目數(shù)為3的時(shí),明文將采用如下排列: 1—5—9 -2-4-6-8- –3----7– 取每一欄所有字符串,組成加密后密文:“159246837”。

解碼網(wǎng)站:http://www.atoolbox.net/Category.php?Id=27

豬圈密碼

對(duì)著翻譯即可(注意大小寫)

維吉尼亞

可以說是凱撒密碼的加強(qiáng)版,引入了密鑰原理太難解釋就跳過了 示例:fmcg{iglmq_wptd_123}特點(diǎn):有字母秘鑰,滿足用凱撒的格式但解不出來就是他。 PPS:秘鑰一般需要自己解出來,秘鑰劃重點(diǎn)。

特殊密碼

1 :與佛論禪+與熊論道特點(diǎn):就是你看不懂的佛語 解碼鏈接:http://hi.pcmoe.net/index.html

2: 培根密碼特點(diǎn):ABABABABABAABB只由大寫AB組成。 解碼鏈接:https://tool.bugku.com/peigen/

3:摩斯密碼特點(diǎn):三杠一點(diǎn),沒啥說的 用處廣泛,有時(shí)候與音頻題結(jié)合使用 解碼網(wǎng)站:http://www.all-tool.cn/Tools/morse/

4:百家姓特點(diǎn):不要多說當(dāng)你看到一串百家姓的時(shí)候多半就是這個(gè)暗號(hào)了當(dāng)他解密的的時(shí)候前面會(huì)多一串固定字符

5:Uuencode編碼轉(zhuǎn)換Uuencode是二進(jìn)制信息和文字信息之間的轉(zhuǎn)換編碼,也就是機(jī)器和人眼識(shí)讀的轉(zhuǎn)換。Uuencode編碼方案常見于電子郵件信息的傳輸,目前已被多用途互聯(lián)網(wǎng)郵件擴(kuò)展(MIME)大量取代。

原理:Uuencode將輸入文字以每三個(gè)字節(jié)為單位進(jìn)行編碼,如此重復(fù)進(jìn)行。如果最后剩下的文字少于三個(gè)字節(jié),不夠的部份用零補(bǔ)齊。這三個(gè)字節(jié)共有24個(gè)Bit,以6-bit為單位分為4個(gè)群組,每個(gè)群組以十進(jìn)制來表示所出現(xiàn)的數(shù)值只會(huì)落在0到63之間。將每個(gè)數(shù)加上32,所產(chǎn)生的結(jié)果剛好落在ASCII字符集中可打印字符(32-空白…95-底線)的范圍之中。

Uuencode編碼每60個(gè)將輸出為獨(dú)立的一行(相當(dāng)于45個(gè)輸入字節(jié)),每行的開頭會(huì)加上長度字符,除了最后一行之外,長度字符都應(yīng)該是“M”這個(gè)ASCII字符(77=32+45),最后一行的長度字符為32+剩下的字節(jié)數(shù)目這個(gè)ASCII字符。

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top