最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

CTF-密碼學(xué)和編碼

2023-06-13 10:48 作者:恨不因斯坦  | 我要投稿

密碼學(xué)

1.? 維吉尼亞密碼:

在凱撒密碼基礎(chǔ)上的一種變體,只不過對于每個明文字母來說秘鑰長度可能是不一樣的

2.? 費納姆密碼:

采用二進制表示,加密時要將明文和秘鑰都轉(zhuǎn)換成7位二進制數(shù),異或得到密文。解密將密文7個為一組,然后與秘鑰異或,再講結(jié)果轉(zhuǎn)換成ascii

3.? 列置換加密:

??將明文按行填寫在一個矩陣,然后按照預(yù)定的順序按列讀取得到密文。列置換的秘鑰通常會以一個單詞的形式給出,如nice(相當(dāng)于4312)按照每個字符在字母表中出現(xiàn)的前后順序來排列。秘鑰有幾位數(shù)解密采用的矩陣就是幾列,加密時首先去除銘文中的空格,然后依次填入一個4列的矩陣的,最后一行不足的部分可以留空(或用@等符號補全),按照秘鑰的順序一次讀取

4.? Polybius(波利比奧斯密碼):

又稱棋盤密碼。將給定的密文加密為兩兩組合的數(shù)字。

比如,HELLO加密后是23 15 31 31 34

補充ADFGX密碼:

可以看做是Polybius的升級版,用ADFGX代換了五個數(shù)字

?

5.? Brainfuck

它是一種極小化的計算機語言,按照"Turing complete(完整圖靈機) "思想設(shè)計 的語言,它的主要設(shè)計思路是:用最小的概念實現(xiàn)一種“簡單”的語 言,只有八種符號,所有的操作都由這八種符號 ?> < + - . , [ ]? 的組合來完成。

6.二進制冪數(shù)加密:

由于英文字母只有26個字母,由公式可知,只要2的0、1、2、3、4、5次冪就可以表示31個單元。通過用二進制冪數(shù)表示字母序號數(shù)來加密。4=2^2 所以D加密過之后是2;15=2^0+2^1+2^2+2^3所以O(shè)加密后是0123

?

7.仿射加密:

仿射加密則是將銘文與密鑰的一部分相乘然后加上密鑰的另一部分。為便于計算將26個英文字母用數(shù)字表示:a=0,b=1.....z=25密鑰有兩個:a和b,取值范圍是[0,25]。要求a和26互質(zhì)。比如x是明文y是密文,加密公式是y=(ax+b)mod26.a=7,b=3假設(shè)明文為c,x=2,y=17,密文就是r

8.培根密碼:

是一種簡單的替換密碼,密文字符只有兩個:a,b;每個明文資福都會被替換成為一個有a,b組成的長度為5的字符串。若看到全部銘文都是由兩種字符構(gòu)成的密文可以猜測其是培根密碼。

9.輪轉(zhuǎn)機加密:

杰斐遜輪轉(zhuǎn)加密器,這個裝置由36篇同樣大小的木制轉(zhuǎn)輪,套在一根鐵桿上,沒票輪轉(zhuǎn)的圓周邊緣上刻有亂序的26個英文字母表。駕麋芳轉(zhuǎn)動加密器上的轉(zhuǎn)輪使明文(不超過36字)正好出現(xiàn)在同一行上,這時轉(zhuǎn)輪上排列的其他25行都是無意義的亂碼,吧其中一行抄寫下來得到密文。接收方街道密文轉(zhuǎn)動加密器上的轉(zhuǎn)輪使得密文正好出現(xiàn)再同一行,然后查看其他25行上的內(nèi)容,其中有意義的就是銘文。

10.ROT13

凱撒密碼的變體,間隔數(shù)是13.PHP中的str_rot13()函數(shù)可以實現(xiàn)rot13加密。

?

11.RSA攻擊

分類:模數(shù)分解,低加密指數(shù)分解,低加密指數(shù)廣播攻擊,低解密指數(shù)攻擊,共模攻擊

m代表我們要加密的文明,c代表我們加密后的密文,p和q是我們隨機找的大素數(shù),n代表p和q的乘積稱為模數(shù),e是我們找到的和(p-1)(q-1)互質(zhì)的數(shù)稱為加密指數(shù)

12.當(dāng)鋪密碼:

當(dāng)前漢字有多少筆畫出頭,就轉(zhuǎn)化成數(shù)字幾。

如:?王夫 井工 夫口 由中人 井中 夫夫 由中大

轉(zhuǎn)換為數(shù)字:67 84 70 123 82 77 125

?

13.Jjencode
jjencode
將 JS 代碼轉(zhuǎn)換成只有符號的字符串,類似于 rrencode。aaencode 可以將 JS 代碼轉(zhuǎn)換成常用的網(wǎng)絡(luò)表情,也就是我們說的顏文字 js 加密

?

14.加鹽hash

網(wǎng)站后臺一般只儲存用戶密碼的hash值,存在一定風(fēng)險,因為如果黑客拿到了密碼的hash后,可以的通過對比已經(jīng)存在的明文與哈希的對應(yīng)數(shù)據(jù),進行對比獲得明文密碼。因此。加鹽hash,就是隨機的在用戶密碼后加上一段字符后再進行hash運算,由于黑客不知道加的鹽是什么,依然無法得到密碼。


?

編碼

()base家族

Base16:就是十六進制數(shù),0-9A-F

Base32:小寫字母,234567

Base64:將二進制數(shù)編碼成字符,大小寫字母,0-9+/,還可能會使用=作為后綴,但是=并不是必須的,只有編碼后位數(shù)不是4的倍數(shù)的時候才會用=作為后綴

Base85:大小寫字母,0-923個字符!&@#%()*+-<=>_~{}|

ASCII碼表中,算上空格, 3212695個是可見字符,不算上空格則為94個。也叫打印字符,即可以被直接打印出來的字符。剩下的則是不可見字符,即不可以被直接打印出來

?

()url編碼

url編碼(%加十六進制數(shù))如果要傳入的參數(shù)包含=或者&字符可以對其進行編碼,URL編碼格式:%十六進制ASCII碼,如&URL編碼是%26。傳輸容易引起歧義的字符時需要編碼。若在URL中對一些ascii標(biāo)準(zhǔn)字符進行了URL編碼,瀏覽器會自動將其解碼。如果在URL當(dāng)中需要傳輸中文也必須要經(jīng)過URL編碼。+比較特殊,它在URL當(dāng)中會被視為空格。URL 編碼將字符轉(zhuǎn)換為可通過因特網(wǎng)傳輸?shù)母袷健?/span>URL 只能使用 ASCII 字符集 通過因特網(wǎng)進行發(fā)送。由于 URL 通常包含 ASCII 集之外的字符,因此必須將 URL 轉(zhuǎn)換為有效的 ASCII 格式。URL 編碼使用后跟十六進制數(shù)字的 "%" 替代不安全的 ASCII 字符。URL 不能包含空格。URL 編碼通常使用加號(+)或 %20 替代空格。

Python3默認采用Unicode,Python2默認采用ascii

?

(三):Unicode編碼

Unicode編碼包含世界所有文化、所有字符的編碼方案。在不同的應(yīng)用場合所采用的表示方法也不一樣,常見的四種表示方法:&#[HEX], &#[DEC],\U[HEX],\U+[HEX].前兩種主要用在網(wǎng)頁上,可以直接放到HTML中解析

?

()UTF編碼

Unicode只是對所有字符進行了編碼但沒有規(guī)定如何存儲和傳輸。UTF編碼即Unicode Transformation FormatUnicode的轉(zhuǎn)換格式。UTF-8是一種可變長的編碼方式,用1-6個字節(jié)表示一個符號。英文字母被編碼成一個字節(jié),漢字通常是3個字節(jié),生僻字才會被編碼成4-6個字節(jié)。如果字節(jié)的第一位是0則這個字節(jié)單獨就是一個字符,若第一個是1,連續(xù)有多少個1就表示當(dāng)前字符占多少字節(jié)。當(dāng)數(shù)據(jù)在計算機內(nèi)存中被處理時,統(tǒng)一用Unicode,需要存到硬盤或者傳輸?shù)臅r候需轉(zhuǎn)換為utf-8

()jjencode aaencode

jjencode代碼,就是將正常的js代碼轉(zhuǎn)換成復(fù)雜的只有符號的字符串編碼,

進行加密 如:[$._$_]+$._$+",\\"+$.$__+$.___+"\\"+$.__$+$.__$+$這樣的組合。

aaencode代碼,則是將正常的js代碼轉(zhuǎn)為好玩的特殊網(wǎng)絡(luò)表情符號。

: ?ω??= /`m? ~┻━┻ //*′?*/ ['_']; o=(???) 這樣的表情文字


CTF-密碼學(xué)和編碼的評論 (共 條)

分享到微博請遵守國家法律
长白| 英德市| 峨山| 石家庄市| 沽源县| 牙克石市| 武清区| 彩票| 申扎县| 雷波县| 湘乡市| 昌乐县| 永泰县| 灵石县| 新和县| 苗栗县| 巫溪县| 莱州市| 房山区| 苍溪县| 梅河口市| 民乐县| 长垣县| 山阴县| 陆良县| 嘉善县| 赤水市| 商都县| 新津县| 鄂伦春自治旗| 繁峙县| 屯昌县| 武强县| 卓资县| 灵丘县| 乾安县| 红原县| 吉隆县| 容城县| 扶沟县| 芒康县|