国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

青少年CTF平臺練習(xí)密碼學(xué)

這篇具有很好參考價值的文章主要介紹了青少年CTF平臺練習(xí)密碼學(xué)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

凱撒大帝的征討之路

題目

凱撒大帝在出征之路上留下了這樣一串字符,你能通過這串字符得到FLAG并提交嗎?

lnixoa{1x2azz7w8axyva7y1z2320vxy6v97v9a}

我的解答:

凱撒密碼

qsnctf{1c2fee7b8fcdaf7d1e2320acd6a97a9f}

PigPig

題目

這是什么密碼呢?得到的結(jié)果請加上qsnctf{}后提交。

青少年CTF平臺練習(xí)密碼學(xué)

我的解答:

豬圈密碼:http://moersima.00cha.net/zhuquan.asp

在線解碼即可。

解個方程

題目

用簡單的數(shù)學(xué)知識來解個方程吧!

歡迎來到青少年CTF,領(lǐng)取你的題目,進(jìn)行解答吧!這是一道數(shù)學(xué)題!!
    p = 289354660472309271657353248544706260479
    q = 57125200079323286870829810458555200169
    e = 65537
    d = ?
    

我的解答:

簡單的求d

import gmpy2
from Crypto.Util.number import *

p = 289354660472309271657353248544706260479
q = 57125200079323286870829810458555200169
e = 65537
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
print(d)
#7367969462435284192140853832508961738271951882284082089327925279892469405169

qsnctf{e30479db5bcd4d6384722647fb42c886}

ez_log

題目

ez_log
注意:請將 key提交到頁面內(nèi),flag提交到這里來!

from Crypto.Util.number import *
from random import *
flag=b'key{xxxxxxx}'
m=bytes_to_long(flag)
p=3006156660704242356836102321001016782090189571028526298055526061772989406357037170723984497344618257575827271367883545096587962708266010793826346841303043716776726799898939374985320242033037
g=3
c=pow(g,m,p)
print(f'c=',c)

    c=1357929686817757691458037658075453080147729946004559669716645300464681796023905740479827097068963012085529251008676406361905862646171082203012568824221846102704498507134119427563694774055882

我的解答:

簡單的離散,sage直接梭

from Crypto.Util.number import *
import gmpy2
p=3006156660704242356836102321001016782090189571028526298055526061772989406357037170723984497344618257575827271367883545096587962708266010793826346841303043716776726799898939374985320242033037
c=1357929686817757691458037658075453080147729946004559669716645300464681796023905740479827097068963012085529251008676406361905862646171082203012568824221846102704498507134119427563694774055882

g=3
flag = discrete_log(Mod(c,p),Mod(g,p))
print(long_to_bytes(flag))
#key{uDujFo}
#qsnctf{82bbfdce553f48eb936b3a6c2b3771b1}

ezrsa

題目

這個n怎么分解呢?

from Crypto.Util.number import *
flag = b'qsnctf{xxx-xxxx-xxxx-xxxx-xxxxxxxxx}'
m = bytes_to_long(flag)
p = getPrime(512)
q = getPrime(512)
r = getPrime(512)
n = p * q * r
leak = p * q
e = 0x10001
c = pow(m, e, n)
print(f'c = {c}')
print(f'n = {n}')
print(f'leak = {leak}')
# c = 173595148273920891298949441727054328036798235134009407863895058729356993814829340513336567479145746034781201823694596731886346933549577879568197521436900228804336056005940048086898794965549472641334237175801757569154295743915744875800647234151498117718087319013271748204766997008772782882813572814296213516343420236873651060868227487925491016675461540894535563805130406391144077296854410932791530755245514034242725719196949258860635915202993968073392778882692892
# n = 1396260492498511956349135417172451037537784979103780135274615061278987700332528182553755818089525730969834188061440258058608031560916760566772742776224528590152873339613356858551518007022519033843622680128062108378429621960808412913676262141139805667510615660359775475558729686515755127570976326233255349428771437052206564497930971797497510539724340471032433502724390526210100979700467607197448780324427953582222885828678441579349835574787605145514115368144031247
# leak = 152254254502019783796170793516692965417859793325424454902983763285830332059600151137162944897787532369961875766745853731769162511788354655291037150251085942093411304833287510644995339391240164033052417935316876168953838783742499485868268986832640692657031861629721225482114382472324320636566226653243762620647

我的解答:

這題已經(jīng)是老生常談了。直接在模r下算即可。

from Crypto.Util.number import *
import gmpy2
c = 173595148273920891298949441727054328036798235134009407863895058729356993814829340513336567479145746034781201823694596731886346933549577879568197521436900228804336056005940048086898794965549472641334237175801757569154295743915744875800647234151498117718087319013271748204766997008772782882813572814296213516343420236873651060868227487925491016675461540894535563805130406391144077296854410932791530755245514034242725719196949258860635915202993968073392778882692892
n = 1396260492498511956349135417172451037537784979103780135274615061278987700332528182553755818089525730969834188061440258058608031560916760566772742776224528590152873339613356858551518007022519033843622680128062108378429621960808412913676262141139805667510615660359775475558729686515755127570976326233255349428771437052206564497930971797497510539724340471032433502724390526210100979700467607197448780324427953582222885828678441579349835574787605145514115368144031247
leak = 152254254502019783796170793516692965417859793325424454902983763285830332059600151137162944897787532369961875766745853731769162511788354655291037150251085942093411304833287510644995339391240164033052417935316876168953838783742499485868268986832640692657031861629721225482114382472324320636566226653243762620647
e=65537
r = n//leak

phi = r-1
d = gmpy2.invert(e,phi)
m = pow(c,d,r)
print(long_to_bytes(m))
#qsnctf{12ff81e0-7646-4a96-a7eb-6a509ec01c9e}

四重加密

題目

簡單的加密相信大家都會,請將最后的答案格式改為:qsnctf{flag}

我的解答:

壓縮包密碼base解碼:qsnctf

zcye{mxmemtxrzt_lzbha_kwmqzec}|key=hello

HTML解碼

zcye{mxmemtxrzt_lzbha_kwmqzec}|key=hello

維吉尼亞解碼

synt{yqitbfqnoi_xsxwp_wpifoqv}

ROT13解碼

flag{ldvgosdabv_kfkjc_jcvsbdi}

factor1

題目

這個e咋比n還大啊

import gmpy2
import hashlib
from Crypto.Util.number import *

p = getPrime(512)
q = getPrime(512)
d = getPrime(256)
e = gmpy2.invert(d, (p**2 - 1) * (q**2 - 1))
flag = "qsnctf{" + hashlib.md5(str(p + q).encode()).hexdigest() + "}"
print(e)
print(p * q)
# 4602579741478096718172697218991734057017874575484294836043557658035277770732473025335441717904100009903832353915404911860888652406859201203199117870443451616457858224082143505393843596092945634675849883286107358454466242110831071552006337406116884147391687266536283395576632885877802269157970812862013700574069981471342712011889330292259696760297157958521276388120468220050600419562910879539594831789625596079773163447643235584124521162320450208920533174722239029506505492660271016917768383199286913178821124229554263149007237679675898370759082438533535303763664408320263258144488534391712835778283152436277295861859
# 78665180675705390001452176028555030916759695827388719494705803822699938653475348982551790040292552032924503104351703419136483078949363470430486531014134503794074329285351511023863461560882297331218446027873891885693166833003633460113924956936552466354566559741886902240131031116897293107970411780310764816053

我的解答:

Wiener's Attack求d,然后根據(jù)n e d分解p q

import gmpy2
import libnum
import hashlib
import random

def continuedFra(x, y):
    cf = []
    while y:
        cf.append(x // y)
        x, y = y, x % y
    return cf
def gradualFra(cf):
    numerator = 0
    denominator = 1
    for x in cf[::-1]:
        numerator, denominator = denominator, x * denominator + numerator
    return numerator, denominator
def solve_pq(a, b, c):
    par = gmpy2.isqrt(b * b - 4 * a * c)
    return (-b + par) // (2 * a), (-b - par) // (2 * a)
def getGradualFra(cf):
    gf = []
    for i in range(1, len(cf) + 1):
        gf.append(gradualFra(cf[:i]))
    return gf

def wienerAttack(e, n):
    cf = continuedFra(e, n)
    gf = getGradualFra(cf)
    for d, k in gf:
        if k == 0: continue
        if (e * d - 1) % k != 0:
            continue
        phi = (e * d - 1) // k
        p, q = solve_pq(1, n - phi + 1, n)
        if p * q == n:
            return d

e=4602579741478096718172697218991734057017874575484294836043557658035277770732473025335441717904100009903832353915404911860888652406859201203199117870443451616457858224082143505393843596092945634675849883286107358454466242110831071552006337406116884147391687266536283395576632885877802269157970812862013700574069981471342712011889330292259696760297157958521276388120468220050600419562910879539594831789625596079773163447643235584124521162320450208920533174722239029506505492660271016917768383199286913178821124229554263149007237679675898370759082438533535303763664408320263258144488534391712835778283152436277295861859
n=78665180675705390001452176028555030916759695827388719494705803822699938653475348982551790040292552032924503104351703419136483078949363470430486531014134503794074329285351511023863461560882297331218446027873891885693166833003633460113924956936552466354566559741886902240131031116897293107970411780310764816053

d=wienerAttack(e, n**2)

print('d=',d)

k = e * d - 1

r = k
t = 0
while True:
    r = r // 2
    t += 1
    if r % 2 == 1:
        break
 
success = False
 
for i in range(1, 101):
    g = random.randint(0, n)
    y = pow(g, r, n)
    if y == 1 or y == n - 1:
        continue
 
    for j in range(1, t):
        x = pow(y, 2, n)
        if x == 1:
            success = True
            break
        elif x == n - 1:
            continue
        else:
            y = x
 
    if success:
        break
    else:
        continue
 
if success:
    p = libnum.gcd(y - 1, n)
    q = n // p
    print ('P: ' + '%s' % p)
    print ('Q: ' + '%s' % q)
    hash_result = hashlib.md5(str(p + q).encode()).hexdigest()

    print(b'qsnctf{' + hash_result.encode() + b'}')
else:
    print ('Cannot compute P and Q')
#qsnctf{8072e8b2982bc729cc74ef58f1abc862}
   

?文章來源地址http://www.zghlxwxcb.cn/news/detail-837679.html

到了這里,關(guān)于青少年CTF平臺練習(xí)密碼學(xué)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【青少年CTF】Crypto-easy 題解小集合

    【青少年CTF】Crypto-easy 題解小集合

    1.BASE 拿到附件用cyberchef自動解碼得到flag 2.basic-crypto 拿到附件發(fā)現(xiàn)是一串01的數(shù)字,這時候想到二進(jìn)制轉(zhuǎn)換 然后base64在線解碼 接著根據(jù)提示想到凱撒密碼解密 最后通過字頻查找找到flag 3.CheckIn 先用base64解碼 再用ROT47解碼得到flag 4.childRSA 先用factordb分解N 然后套用腳本得到fl

    2024年02月07日
    瀏覽(26)
  • [青少年CTF]Web—Easy CheckMe1-8 by 周末

    [青少年CTF]Web—Easy CheckMe1-8 by 周末

    青少年CTF訓(xùn)練平臺 CheckMe1-8 個人博客:https://www.st1ck4r.top/ 考點:php代碼審計 給了一個輸入框,先隨便輸點東西進(jìn)去。 直接就給出了源碼,分析該源碼。 現(xiàn)在情況很明了了,我們需要傳入字符串\\\"qsnctf\\\"的base64加密字符串。 利用在線網(wǎng)站進(jìn)行加密。 傳入?yún)?shù)。 Tips: ? 使用ha

    2024年02月06日
    瀏覽(38)
  • 青少年CTF-Web-帝國CMS1-3通關(guān)記錄

    青少年CTF-Web-帝國CMS1-3通關(guān)記錄

    本次進(jìn)通過平臺內(nèi)題目進(jìn)行,非真實環(huán)境。 首先下發(fā)題目鏈接 我們首先先找后臺看看 后臺地址為 /e/admin/ 隨后,經(jīng)過dirsearch進(jìn)行掃描,得到了一個www.zip 訪問掃描到的www.zip,得到網(wǎng)站源碼 使用D盾掃描,得到eval后門。 蟻劍鏈接 得到根目錄的Flag 這道題目和CMS01差不多,但是

    2024年02月03日
    瀏覽(31)
  • [青少年CTF]CheckMe06-07|PingMe02|2048|簡簡單單的題目|BASE

    [青少年CTF]CheckMe06-07|PingMe02|2048|簡簡單單的題目|BASE

    使用字典對登錄界面爆破 19861022 qsnctf{e2251e65-c5dd-4018-9de9-0bba832aeb44} ? 該題使用萬能密碼即可 admin\\\' or 1=1# qsnctf{a2879a99-1bbe-4602-aa55-4ef65f2d7089} ? Payload:?ip=127.0.0.1|more%09/f* qsnctf{dae90dc4-4a3c-49d8-bd0a-76c6647070bb} ? 這題在源代碼中找到 將它復(fù)制到j(luò)s在線運行一下彈窗獲得flag qsnctf{2a386

    2024年02月21日
    瀏覽(26)
  • 基于SSM青少年健身自主測評平臺小程序 畢業(yè)設(shè)計源碼14496

    基于SSM青少年健身自主測評平臺小程序 畢業(yè)設(shè)計源碼14496

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?摘 ?要 隨著中國經(jīng)濟的飛速增長,消費者的智能化水平不斷提高,許多智能手機和相關(guān)的軟件正在得到更多的關(guān)注和支持。其中,微信小程序的青少年健身自主測評平臺更是深得消費者的喜愛,它的出現(xiàn)

    2024年02月03日
    瀏覽(25)
  • ctf密碼學(xué)之四方密碼解密

    ctf密碼學(xué)之四方密碼解密

    前幾日刷題遇到一道密碼學(xué)的四方解密題: 題目如下:四方門主東方青木看著四面八方涌過來的極客,非常震驚,轉(zhuǎn)頭便進(jìn)入了祖祠中的地下室,發(fā)現(xiàn)這丫傳自唐朝的密室還設(shè)計了英文密碼。旁邊的石頭上(附件中有拓本)刻著密碼和密文,大家快幫助門主解出密碼(答案為

    2024年02月14日
    瀏覽(62)
  • CTF CRYPTO 密碼學(xué)-1

    CTF CRYPTO 密碼學(xué)-1

    工具簡介 在Kali Linux系統(tǒng)中,openssl 是一個強大的命令行工具,用于處理SSL/TLS協(xié)議。openssl pkeyutl 是 openssl 工具集中的一個命令,用于處理私鑰文件。 參數(shù)解釋 openssl pkeyutl:這是執(zhí)行私鑰操作的命令。 -decrypt:這個選項告訴 openssl 執(zhí)行解密操作。 -inkey d.dec:指定用于解密的私

    2024年01月18日
    瀏覽(89)
  • CTF CRYPTO 密碼學(xué)-4

    CTF CRYPTO 密碼學(xué)-4

    描述:oss先生將三個培根的中間一只移到了左邊,然后咬了一小口最后一根,說真好吃,真是個奇怪的先生! 密文:VlM5WnlXc0ZibEhmMmE1ZHYxMDlhVkdmMlk5WmtRPT0= 分析 應(yīng)該是根據(jù)題目提示解出壓縮包的密碼,查看flag。 第一次: 第二次: 分析 發(fā)現(xiàn)第二次解密失敗,查看題目描述。三只培

    2024年01月19日
    瀏覽(29)
  • CTF CRYPTO 密碼學(xué)-2

    CTF CRYPTO 密碼學(xué)-2

    字符 ZZZZ X XXZ ZZ ZXZ Z ZXZ ZX ZZX XXX XZXX XXZ ZX ZXZZ ZZXZ XX ZX ZZ 分析 此字段是由Z和X組成的字符,聯(lián)想到莫斯密碼是由.和-組成的所以接下來可以嘗試莫斯密碼解題 注:也可以使用在線平臺解密,這里用工具進(jìn)行演示 鏈接:https://pan.baidu.com/s/1Cgs6QtWnQtrp8aTWrq4bEQ 提取碼:aq5a

    2024年01月19日
    瀏覽(67)
  • CTF CRYPTO 密碼學(xué)-5

    CTF CRYPTO 密碼學(xué)-5

    f5-lf5aa9gc9{-8648cbfb4f979c-c2a851d6e5-c} 分析 觀察給出的密文發(fā)現(xiàn)有f、l、a、g等字符有規(guī)律的夾雜的密文中間,看出都是每3個字符的第1個 每組3個字符,共分成14組

    2024年01月23日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包