<dfn id="siuuq"><code id="siuuq"></code></dfn>
<menu id="siuuq"><kbd id="siuuq"></kbd></menu>
  • <menu id="siuuq"><acronym id="siuuq"></acronym></menu>
  • <menu id="siuuq"></menu>
  • <tbody id="siuuq"><nav id="siuuq"></nav></tbody>
    <li id="siuuq"></li>
    <tr id="siuuq"></tr>
    <dd id="siuuq"></dd>
  • <menu id="siuuq"></menu>
    <dfn id="siuuq"><source id="siuuq"></source></dfn><dfn id="siuuq"><dl id="siuuq"></dl></dfn>
    發(fā)表于 2023-12-12 14:52:42 江蘇| 2024-1-2 14:25編輯
    [quote]吃了學(xué)院將近4年白食了,也該寫點有用的東西了[/quote

    因為有人回了所以我提前在開頭聲明:請不要刷感謝分享,影響帖子觀感不說,我賭你肯定沒認(rèn)真看帖子內(nèi)容。以后有人再回感謝分享我一律拉黑

    導(dǎo)言

    首先我們要知道為什么會有密碼學(xué)。密碼學(xué)來源于人們對于信息傳遞過程中的追求。由古至今發(fā)展出了許許多多的密碼,人們將它們分為了古典密碼學(xué)和現(xiàn)代密碼學(xué)。密碼學(xué)(Crypto)一詞源于希臘語kryptós“隱藏的“,和gráphein“書寫“。古典密碼學(xué)通常依賴于創(chuàng)造力,作為一種實用性藝術(shù)存在,并沒有對于密碼學(xué)原理的清晰定義。而現(xiàn)代密碼學(xué)是計算機(jī)與數(shù)學(xué)的交叉學(xué)科。如果你是數(shù)論大佬的話,請您務(wù)必教導(dǎo)我在密碼學(xué)方面的學(xué)習(xí),不勝感激。
    言歸正傳,現(xiàn)代密碼學(xué)則起源于20世紀(jì)末出現(xiàn)的大量相關(guān)理論,這些理論使得現(xiàn)代密碼學(xué)成為了一種可以系統(tǒng)而嚴(yán)格地學(xué)習(xí)的科學(xué)。
    我上了大學(xué)后加入了網(wǎng)安社團(tuán),主要進(jìn)行密碼學(xué)方向的研究。本人水平依舊有限,如有謬誤,還請各方大佬斧正。也請大佬們積極補充,使本文更加翔實。
    古典密碼部分學(xué)院已經(jīng)有大量帖子講過了,我就不多加贅述了。
    而我呢,正如上文所說,我依然是一個密碼學(xué)入門菜鳥,各位中肯定有人的天賦要遠(yuǎn)遠(yuǎn)高于我,我現(xiàn)在敢在這里講密碼學(xué),只是因為我的水平高于一部分人(無惡意),所以還請大家多多給我提建議,我都會聽的。
    本人無意寫一篇密碼大合集,本文只希望能幫助讀者建立基礎(chǔ)的密碼思想。如果想找一部密碼百科,還請移步別處。





    222

    276

    分享

    4 | 樓主| 發(fā)表于 2023-12-12 15:05:06 江蘇| 2023-12-17 23:24編輯
    常見單表替換密碼

    凱撒密碼
    這個我不想,也覺得自己不應(yīng)該在這上面花費時間。如果您是小白,確實不了解這種密碼,請靈活運用搜索引擎。
    傳說凱撒大帝曾經(jīng)用這種方式和他的將領(lǐng)們傳遞軍情。歷史證明這種方法在當(dāng)時是安全的,而且要知道那會兒可沒有義務(wù)教育。
    破解方法
    爆破。

    簡單密碼表替換
    將字母表隨機(jī)替換成一個新的密碼表,形成一種新的對應(yīng)關(guān)系。破解難度來源于其巨量的排列組合可能性(密鑰空間的數(shù)量為26!=26×25×…×2×1),使其難以暴力破解。
    破解方法
    字頻分析:我們知道,英語字母的出現(xiàn)頻率是不一樣的,比如最高的是e。那么將e替換之后,比如替換為x,那么x的字頻就是最高的。
    1. 高頻與低頻字母均可成為線索
    2. 擁有的密文數(shù)量越多越容易破解
    3. 要進(jìn)行適當(dāng)猜測與推理
    https://quipqiup.com/
    這個網(wǎng)站我平時經(jīng)常使用,簡單的替換類密碼都能爆。

    Polybius密碼
    也是簡單的替換,雖然沒有j,但是不影響明文的可讀性。

    破解方法
    字頻分析。

    豬圈密碼
    這個我看學(xué)院里也有大佬講的很詳細(xì)的 帖子 ,可以移步過去看看。
    破解方法
    這個密碼表似乎都是公開的吧……破解難度甚至低于凱撒…

    培根密碼
    培根密碼使用兩種不同的字體,代表 A 和 B,結(jié)合加密表進(jìn)行加解密。我認(rèn)為它本質(zhì)上其實是一種隱寫術(shù)。

    上面的是常用的加密表。還有另外的一種加密表,可認(rèn)為是將 26 個字母從 0 到 25 排序,以二進(jìn)制表示,A 代表 0,B 代表 1。
    下面這一段內(nèi)容就是明文 steganography 加密后的內(nèi)容,正常字體是 A,粗體是 B:
    To encode a message each letter of the plaintext is replaced by a group of five of the letters 'A' or 'B'.
    可以看到,培根密碼主要有以下特點
    - 只有兩種類型的字符
    - 每一段的長度為 5
    - 加密內(nèi)容會有特殊的字體之分,亦或者大小寫之分。
    破解方法
    在線網(wǎng)站:http://rumkin.com/tools/cipher/baconian.php當(dāng)然,你非要爆破的話我也不攔你。

    云影密碼
    學(xué)院里我看也有人講過了, 那篇 講的很好。我就不寫了。不過還是忍不住想指出一個小錯誤,就是
    引用
    可知falg為WELLDONE
    falg應(yīng)該是flag,問就是打CTF打的。
    破解方法
    可以口算。
    以下是解碼腳本,大家可以隨意取用。


    def decrypt_cloud_shadow_code(encoded_message):   
    # 將數(shù)字映射到字母(1 -> A,2 -> B,...,26 -> Z)   
    num_to_letter = {i: chr(64 + i) for i in range(1, 27)}   

    # 使用'0'作為分隔符將消息分成組   
    groups = encoded_message.split('0')   

    # 解密每個組   
    decrypted_message = ''   
    for group in groups:        
    if group:  # 檢查組是否非空            
    total = sum(int(digit) for digit in group)            
    decrypted_message += num_to_letter.get(total, '?')  # 對于無效數(shù)字,使用'?'表示   
    return decrypted_message

    # 用戶輸入user_input = input("輸入加密的消息: ")
    decrypted_message = decrypt_cloud_shadow_code(user_input)
    print(f"解密后的消息: {decrypted_message}")

    本帖子中包含更多圖片或附件資源

    您需要 登錄 才可以下載或查看,沒有帳號?加入學(xué)院

    3 | 樓主| 發(fā)表于 2023-12-12 16:32:50 江蘇| 2023-12-17 22:22編輯
    占一樓,說不定未來有用
    4 | 樓主| 發(fā)表于 2023-12-17 22:09:20 江蘇| 2023-12-18 16:23編輯
    回來了,接著講,這兩天有點忙,承蒙大家錯愛了。你們不要給我點贊了,弄得我都良心不安了,所以這次的我要講的很細(xì)很細(xì)
    仿射密碼 ——年輕人的第一種現(xiàn)代密碼
    這個學(xué)院里也有人講過,我就直說了,不夠細(xì)致/明朗,至少我看完仍然是一頭霧水的。這個屬于現(xiàn)代密碼范圍,要求有一定的數(shù)學(xué)能力。但是大家不要害怕,這個還是很簡單的。我覺得我講的小學(xué)生都可以聽懂。如果你真的沒有聽懂,可以回帖詢問,雖然我現(xiàn)在不活躍了,但是每天還會來學(xué)院看一看,我會盡我最大能力講懂你。

    好,言歸正傳,開課。
    首先介紹一點密碼學(xué)的概念
    在密碼學(xué)中,通常使用以下標(biāo)記來表示不同的概念:
    m(明文):表示原始消息或文本,即加密前的信息。
    c(密文):表示經(jīng)過加密后的消息或文本,即加密后的信息。
    這是一種通用的標(biāo)記約定,但并非所有加密算法都采用這種符號約定。在某些情況下,也可能使用其他符號或術(shù)語,具體取決于特定的加密方案或協(xié)議。

    然后正式開講
    仿射密碼通常會有形式為(a,b)的密鑰,在英文中其加密函數(shù)為C=(am+b)%26
    c是密文,a和b是密鑰,26是字符集的大小,所以我上面的表述是“在英文中”。
    如果拿俄文或者日文甚至是ASCII碼的話字符集的大小肯定會變化,解密的時候可能會出現(xiàn)這些情況。尤其是在CTF比賽中,遇到這種情況選手的做法一般是暴打出題人
    說笑了,然后相對的,在英文中解密函數(shù)是m=a?1(c-b)%26。
    這里a?1并不是a的倒數(shù),在仿射密碼中a?1是a在模26下的逆元素, a?1通常滿足(a*a?1)%26=1,在仿射密碼的上下文中,我們通常要求a和26互質(zhì)以確保a在26下有逆元素。
    以上的26都是以英文為基礎(chǔ)確定的,26是字符集的大小,如果拿俄文或者日文甚至是ASCII碼的話字符集的大小肯定會變化


    破解
    我知道你們關(guān)心這個
    我就這樣說吧,1.這種密碼依然是單表代換密碼,最后都會形成一個明文字母和密文字母一對一的關(guān)系。這意味著字頻分析仍然是一種行之有效的手段。
    2.然而區(qū)別在于,仿射密碼的對應(yīng)關(guān)系是由加密函數(shù)生成的,所以我們可以同樣可以通過給定一個已知的明文攻擊,求解出仿射方程式。
    | 樓主| 發(fā)表于 2023-12-17 22:23:32 江蘇 發(fā)帖際遇
    嗯,這兩天在復(fù)盤上次比賽的題目,如果有大佬也想做的話,可以私信我要題目,咱們可以交流一下
    4 | 樓主| 發(fā)表于 2023-12-19 22:25:32 江蘇| 2025-2-3 23:18編輯
    多表代換密碼
    上面我們粗略接觸了單表代換密碼,你大概可以發(fā)現(xiàn),字頻分析是一個屢試不爽的辦法,只要有一臺說得過去的設(shè)備,破譯班花傳給后排帥哥的紙條看起來就不像是一件不可能的事了。你摩拳擦掌興致勃勃,準(zhǔn)備破解紙條內(nèi)容再大刀闊斧的篡改一遍,給予帥哥一記迎頭痛擊,告訴他誰才是老大。但是你發(fā)現(xiàn)竟然不管用?沒關(guān)系,我來拯救你的戀情。接下來我們將講解一下幾種多表代換密碼和破解方法。

    維吉尼亞密碼
    維吉尼亞密碼可以看作一種加強版的凱撒密碼,具體加密方法學(xué)院里各路大佬已經(jīng)講的很好了,我就不寫了。
    之前的內(nèi)容我刪了,講的不清楚,正好要給人培訓(xùn),做了份PPT,內(nèi)容分享給大家。以下圖片同樣開源,可用于商用

    倒數(shù)第二張圖片是最大公約數(shù)!寫錯了不想換源了
    本帖子中包含更多圖片或附件資源

    您需要 登錄 才可以下載或查看,沒有帳號?加入學(xué)院

    2 | 樓主| 發(fā)表于 2023-12-26 23:06:04 江蘇
    最近有點忙,就隨口聊聊密碼學(xué)吧。
    現(xiàn)在的比賽密碼題,一般都是從現(xiàn)有的加密方法中選取出題,所以想要正確的做出題目就必須要識別出加密類型。而在其他地方出現(xiàn)的密碼題,比如學(xué)院密碼板塊,一般會出現(xiàn)自創(chuàng)的加密方法。這時候重要的是了解出作者的加密思路。
    囧宅定理:一切密碼題都是可解的。
    所有密碼題都必須且必然滿足這個定理。因為這是一道題目,作者必須在滿足難度的同時保證其可解性。不想讓人了解到明文的不叫題目,叫機(jī)密。所以自創(chuàng)的密碼都會有一段作者給出的提示,該提示是加密方法的指針。但是一旦知道了加密方法就必然可以進(jìn)行解密(其實這么說是不嚴(yán)謹(jǐn)?shù)模诜菍ΨQ加密中即使我把公鑰給你,你也解不出明文),作者要保證難度啊,所以他就化身謎語人,此時題目已經(jīng)轉(zhuǎn)變成了對明文的雙層加密:第一層是通過作者自創(chuàng)的加密方法進(jìn)行加密,第二層是對題目的加密。當(dāng)然也有提示和密文互為提示的,唔,這么說好像有點奇怪。
    3 | 發(fā)表于 2023-12-30 13:52:43 北京| 發(fā)自安卓客戶端
    好東西,不過古典密碼基本沒啥抗攻擊力,編好程序破解很快。還是現(xiàn)代密碼更惡心
    | 發(fā)表于 2024-1-2 12:18:57 四川| 發(fā)自安卓客戶端
    感謝分享
    | 發(fā)表于 2024-2-3 20:18:22 廣東| 來自小霸王手機(jī)
    我認(rèn)為,你破解密碼的方法,是基于假設(shè)很嚴(yán)謹(jǐn),密文中無任何錯誤(認(rèn)真編輯校核,教科書式)的情況下所做的分析。如果加密者所寫明文本身有錯誤,故意引入錯誤,或者在加密過程中引入錯誤,更或者將錯誤的明文用錯誤的加密方法所得結(jié)果,混入原密文中。類似在一鍋粥中加入老鼠屎,給你(破解者)吃。對此情況,你打算如何應(yīng)對?反正我對破譯密碼不怎么感興趣,一點都沒有研究的必要。然而對加密方法還是需要的。所以當(dāng)我無聊時,看到你寫的內(nèi)容,就想把想說的寫出來,讓你知道。而你對此的看法是什么?會更加深入的研究破解之法嗎? 要是我,我會的偏執(zhí)狂想癥。
    返回版塊
    123
    尚未登錄
    您需要登錄后才可以回帖 登錄 | 加入學(xué)院
    <dfn id="siuuq"><code id="siuuq"></code></dfn>
    <menu id="siuuq"><kbd id="siuuq"></kbd></menu>
  • <menu id="siuuq"><acronym id="siuuq"></acronym></menu>
  • <menu id="siuuq"></menu>
  • <tbody id="siuuq"><nav id="siuuq"></nav></tbody>
    <li id="siuuq"></li>
    <tr id="siuuq"></tr>
    <dd id="siuuq"></dd>
  • <menu id="siuuq"></menu>
    <dfn id="siuuq"><source id="siuuq"></source></dfn><dfn id="siuuq"><dl id="siuuq"></dl></dfn>
    男女靠逼网站 | 久久露脸国产精品 | 一区二区操逼视频 | 国产欧美一区二区精品性色超碰 | 日韩国产一区二区三区 |