最新賽況戰況一覽
2018年的最後一天,看雪CTF.TSRC 2018 最後一題畫上句號。作為本次比賽的決勝局,無團隊攻破,為本題添上些許神秘色彩。
最後一題過後,攻擊方比賽排名繼續保持如下:
感謝各位選手一個月以來的優秀表現,最終比賽結果將是如何?接下來將由比賽組委會對所有比賽成績進行復盤、審校,成績將於1月2日揭曉!
第十五題 點評
crownless:
“密碼風雲”此題涉及梅森素數、Hash演算法、傳統加密、對稱演算法、ECC公鑰密碼,可以說是密碼學的大雜燴,對沒有相關知識積累的逆向者造成了極大的考驗,創造了本屆看雪CTF第一題無人攻破的歷史。
第十五題 出題團隊簡介
出題團隊:BlackChamber
成員cnbragon,密碼學和逆向愛好者,非常喜歡分析研究密碼學演算法在各種軟體和協議中的應用,希望能和CTF比賽中的密碼學愛好者多交流
第十五題 設計思路
由看雪論壇cnbragon原創
說明:
其中Rotor加密可從相關的Python模組原始碼中獲取,Skipjack演算法對其F-Table進行了變換。
整個題目涉及梅森素數、Hash演算法、傳統加密、對稱演算法、ECC公鑰密碼,總體思路如下:
1. 前面兩個數都是梅森素數,即p是素數,2^p -1也是素數,對於10進位制3位數,只有兩個值。
這裡為了降低難度,給出線索,在嘗試出錯10次以後,增加判斷是否是素數的邏輯,便於判斷這是梅森素數公式。
2. 計算兩個梅森素數的和,並且計算轉化為字串之後的SM3雜湊值,並簡單計算Hash值的XOR校驗值,如果校驗透過,則用該Hash值作為Rotor演算法的Key。
3.對輸入的Serial中間的24個字元資料進行解密,得到字串cryptography,取其前10個字元,作為接下來Skipjack演算法的金鑰,對程式中預存的24個位元組進行解密,解密後的值為pediyctf2018.by.cnbragon,用於後面ECNR步驟的訊息計算。這裡對Skipjack的F-Table進行了變換。
4.使用同樣的金鑰,對serial的後面32個字元進行Skipjack解密,解密後的結果分別作為簽名c和簽名d。
5.將字串pediyctf2018.by.cnbragon以64位作為單位,進行xor,結果是ECNR的真正明文message。
6.對簽名c和簽名d做ECNR簽名驗證,如果驗證透過,為了保證serial的惟一併且進一步降低難度,增加了額外的加法校驗。
題目原始碼請點選下方“閱讀原文”檢視哦!
合作伙伴
騰訊安全應急響應中心
TSRC,騰訊安全的先頭兵,肩負騰訊公司安全漏洞、駭客入侵的發現和處理工作。這是個沒有硝煙的戰場,我們與兩萬多名安全專家並肩而行,捍衛全球億萬使用者的資訊、財產安全。一直以來,我們懷揣感恩之心,努力構建開放的TSRC交流平臺,回饋安全社群。未來,我們將繼續攜手安全行業精英,探索網際網路安全新方向,建設網際網路生態安全,共鑄“網際網路+”新時代。
本題原始碼!
https://bbs.pediy.com/thread-248740.htm
轉載請註明:轉自看雪學院
專欄連結彙總: