日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

密码学(二)

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 密码学(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、凱撒部長的獎勵

密文:MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
看著挺兇的題,拿去解個密竟然就出來了;這里使用的是Bugku的工具,不得不說,真的很好用,嘿嘿。

flag:SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
2、告訴你個秘密(ISCCCTF)
密文:

636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5769426961453067

先來理性分析一波

  • 查看給定的字符串中,字符只有A-F,并且字符串兩兩結合對應的十進制小于128(ASCII碼范圍為0–127)

  • 將他們轉化為ascii對應的字符
    cjV5RyBscDlJIEJqTSB0RmhCVDZ1aCB5N2lKIFFzWiBiaE0g

  • 2中得到的字符串,像是經過了base64編碼,進行解密得
    r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM

  • 看到這以空格分組的字符串,也懵逼了,到底啥意思呢,低頭對著鍵盤。
    發現r5yg包著了t,以此類推得到tongyuan。(這是鍵盤加密)

  • 小寫無法提交,使用大寫提交

  • 代碼:

    #coding:utf-8 import base64 strs="636A56355279427363446C4A49454A7154534230526D684356445A31614342354E326C4B4946467A5769426961453067" i = 0 strs_len = len(strs) chs=[] while(i < strs_len):chs.append(chr(int(strs[i:i+2],16)))i = i + 2 print("".join(chs)) print(base64.decodestring("".join(chs)))

    3、變異凱撒
    加密密文:afZ_r9VYfScOeO_UL^RWUc
    由題目中得知,這個密文的加密與凱撒解密有關,那就先解下密;

    但是解密內容貌似并沒有我們想要的;那來分析下他們的ASCII碼吧
    密文:afZ_r9VYfScOeO_UL^RWUc,看看能否與ctf 或者flag 對應上,

    a:97 f:102 Z:106 _:95` c:99 t:116 f:102 {:123 f:102 l:108 a:97 g:103

    可以發現規律a→f 移動了5 ; f→l移動了6, 后面依次移動了7、8。
    知道了這些就可以寫腳本了:

    #!/usr/bin/env python # coding:utf-8def b_kaisa(mstr):j = 5i = 0lmstr = []for i in range(len(mstr)):m = ord(mstr[i]) # 將密文的第i個字母變為其ascii碼值m = m + j # ascii值+jlmstr.append(m) # 將遞進后的ascii值存入列表lmstr[]i = i+1j = j+1return lmstrif __name__ == '__main__':m_str = 'afZ_r9VYfScOeO_UL^RWUc' # 密文lstr = []lstr = b_kaisa(m_str)print lstr

    運行結果:
    然后將這些ASCII碼轉換為字符串就好了;

    flag{Caesar_variation}

    4、傳統知識+古典密碼
    小明某一天收到一封密信,信中寫了幾個不同的年份
    辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
    信的背面還寫有“+甲子”,請解出這段密文。

    key值:CTF{XXX}

    額…這題感jio很有意思的亞子;這里的年份是天干地支紀年法,其中一個甲子是60年,百度下這些年份的,這里得到了一張應該有用的信息:

    對應著這些年份:
    辛卯:28
    癸巳:30
    丙戌:23
    辛未:8
    庚辰:17
    癸酉:10
    己卯:16
    癸巳:30
    題干中說信的背面還寫有“+甲子”,于是我們可以把每個數加上60即可
    88,90,83,68,77,70,76,90
    emmm…得到這些數字把它們轉化成ascii碼看看

    XZSDMFLZ

    沒有別的提示,只好去翻翻別人的blog ,才知道需要先柵欄解密,2位一欄,然后再凱撒解密。唉,我錯了,這題挺無聊的 ̄へ ̄
    flag:CTF{SHUANGYU}

    總結

    以上是生活随笔為你收集整理的密码学(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。