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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CTF-CRYPTO-ECC(2)

發(fā)布時(shí)間:2025/3/8 编程问答 28 如意码农
生活随笔 收集整理的這篇文章主要介紹了 CTF-CRYPTO-ECC(2) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CTF-CRYPTO-ECC(2)

橢圓加密

4.BSGS(小步大步法)

[HITCTF 2021 ]

task.py

#Elliptic Curve: y^2 = x^3 + 7 mod N which is secp256k1
N = 2**256-2**32-2**9-2**8-2**7-2**6-2**4-1
E = EllipticCurve(GF(N), [0, 7])
xG = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
yG = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
G = (xG,yG)
n = [secret0,secret1,secret2]
#flag = "HITCTF2021{"+''.join([hex(i) for i in n])
for i in n:
assert i<1048575
print(i*G)
cipher0 = (76950424233905085841024245566087362444302867365333079406072251240614685819574 , 85411751544372518735487392020328074286181156955764536032224435533596344295845)
cipher1 = (42965775717446397624794967106656352716523975639425128723916600655527177888618 , 32441185377964242317381212165164045554672930373070033784896067179784273837186)
cipher2 = (26540437977825986616280918476305280126789402372613847626897144336866973077426 , 1098483412130402123611878473773066229139054475941277138170271010492372383833)
assert n[0]*G == cipher0
assert n[1]*G == cipher1
assert n[2]*G == cipher2
#Find n and recover the flag. Good luck!

這題的有N比較小,而且有多個(gè)點(diǎn),所以我們才用bsgs

設(shè)求解

\[a^x \equiv b\mod p
\]
\[a^{im+j}\equiv b\ mod \ p
\]
\[a^j\equiv b*a^{-im}\ mod\ p
\]
\[a^j\equiv b*(a^{(-m)i}) \ mod\ p
\]

只要找到一組i,j使得最后一個(gè)式子成立就行

通過枚舉j,遞推出a^j mod p的乘法逆元 枚舉i,遞推出所有等式右邊,每得到一個(gè)值后,從hash表中查找該值,如果存在,取出其對(duì)應(yīng)的j,x=im+j,就是要的值

具體操作詳見

https://oi.men.ci/bsgs-notes/

EXP

from sage.groups.generic import bsgs

N = 2**256-2**32-2**9-2**8-2**7-2**6-2**4-1
E = EllipticCurve(GF(N), [0, 7])
xG = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
yG = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
G = E([xG,yG]) cipher0 = E([76950424233905085841024245566087362444302867365333079406072251240614685819574 , 85411751544372518735487392020328074286181156955764536032224435533596344295845])
cipher1 = E([42965775717446397624794967106656352716523975639425128723916600655527177888618 , 32441185377964242317381212165164045554672930373070033784896067179784273837186])
cipher2 = E([26540437977825986616280918476305280126789402372613847626897144336866973077426 , 1098483412130402123611878473773066229139054475941277138170271010492372383833]) m1 = bsgs(G,cipher0,(1,1000000),operation='+')
m2 = bsgs(G,cipher1,(1,1000000),operation='+')
m3 = bsgs(G,cipher2,(1,1000000),operation='+')
print(m1,m2,m3)
n = [m1,m2,m3]
flag = "NSSCTF{" + ''.join([hex(i)[2:] for i in n])+"}"
print(flag)

總結(jié)

以上是生活随笔為你收集整理的CTF-CRYPTO-ECC(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇做爰免费视看片 | 国产精品成人99一区无码 | 做暧暧视频在线观看 | 日韩福利视频导航 | 最新中文字幕在线观看视频 | 亚洲精品在线免费 | 伊人天天 | 成人精品视频在线观看 | www四虎精品视频免费网站 | 久久视频在线观看 | 2024男人天堂| 男女视频免费 | 九九久视频 | 琪琪久久 | 男生裸体视频网站 | 欧美一区2区三区4区公司 | 岛国毛片在线观看 | gav成人 | 日本一区二区在线不卡 | av手机在线免费观看 | 亚洲图片激情小说 | 亚洲911精品成人18网站 | 亚洲欧美日韩国产一区 | 农民人伦一区二区三区 | 亚洲一级淫片 | 久久密 | 日韩在线中文 | 久久不射视频 | 99看片| 第四色男人天堂 | 国产在线观看无码免费视频 | 天天操夜夜操 | 一级黄色在线观看 | 亚洲自拍在线观看 | 在线观看污| 少妇太紧太爽又黄又硬又爽 | 青青草视频在线观看 | 欧美老肥婆性猛交视频 | 玉丸(双性调教) | av有声小说一区二区三区 | 黄色国产精品 | 九色视频在线播放 | 欧美人体一区二区三区 | 激情毛片视频 | 99精品欧美一区二区 | 日本免费精品视频 | 97人妻天天摸天天爽天天 | 日韩中文字幕免费观看 | 日韩欧美一区二区区 | 中国黄色网址 | 伊人手机视频 | 日韩激情视频 | 97理伦 | 精品国产一区一区二区三亚瑟 | 久久国产日韩欧美 | 香港三级日本三级韩国三级 | 日韩一区二区免费播放 | 一级黄色a级片 | 狠狠爱天天干 | 九九在线精品 | 国产精品久久久精品三级 | 国产青青视频 | 91av日本| 日韩色图视频 | 波多野结衣办公室双飞 | 性高潮免费视频 | 精品国产青草久久久久96 | 久久9999久久免费精品国产 | 欧美怡红院视频一区二区三区 | 一区二区在线视频播放 | 天天操夜夜爽 | 午夜久久一区 | 青青草亚洲 | 亚洲欧美另类日本 | 亚洲精品黄色片 | 亚洲情热 | 国产裸体无遮挡 | 一本久久道 | 特级毛片爽www免费版 | 久久久久这里只有精品 | 少妇无码一区二区三区 | 亚洲狼人天堂 | 欧美日韩精品三区 | 国产让女高潮的av毛片 | 99久久久无码国产精品不卡 | 青青草视频| 日本极品少妇 | 日韩在线中文 | 久久久久国产免费 | 日韩电影第一页 | 乱淫的女高中暑假调教h | 国产拍拍拍 | 欧美一级在线观看 | 四色在线| www在线观看免费视频 | 国产午夜激情 | 日本精品在线视频 | 在线一级| 国产精品久久综合青草亚洲AV |