中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

吉林省水土保持生態(tài)建設(shè)網(wǎng)站網(wǎng)站seo優(yōu)化方案設(shè)計(jì)

吉林省水土保持生態(tài)建設(shè)網(wǎng)站,網(wǎng)站seo優(yōu)化方案設(shè)計(jì),在家?guī)蛣e人做網(wǎng)站賺錢(qián),企業(yè)互聯(lián)網(wǎng)這個(gè)比賽沒(méi)有參加,跟別人要了些數(shù)據(jù)跑一下,其實(shí)交互這東西基本上一樣,跑通就行. ez_enc 這題有點(diǎn)騙人,給了一堆AB串,一開(kāi)始以為是培根密碼,結(jié)果出來(lái)很亂.再看長(zhǎng)度:192 應(yīng)該就是01替換 a ABAABBBAABABAABBABABAABBABAAAABBABABABAAABAAABBAABBBBABBABBABBABABABAABBAABBABAA…

這個(gè)比賽沒(méi)有參加,跟別人要了些數(shù)據(jù)跑一下,其實(shí)交互這東西基本上一樣,跑通就行.

ez_enc

這題有點(diǎn)騙人,給了一堆AB串,一開(kāi)始以為是培根密碼,結(jié)果出來(lái)很亂.再看長(zhǎng)度:192 應(yīng)該就是01替換

a = 'ABAABBBAABABAABBABABAABBABAAAABBABABABAAABAAABBAABBBBABBABBABBABABABAABBAABBABAAABBAABBBABABABAAAABBAAABABAABABBABBBABBAAABBBAABABAABBAAAABBBAAAABAABBBAABBABABAABABAAAAABBBBABAABBBBAAAABBBBBAB'
long_to_bytes(int(a.replace('A','0').replace('B','1'),2))
#NSSCTF{mS4gT1Kv9L8NjPzx}

ez_fac

從名字可以看出來(lái)這是個(gè)分解題,關(guān)于RSA大數(shù)分解有好多論文,沒(méi)見(jiàn)過(guò)的估計(jì)打死也作不出來(lái),畢竟不是數(shù)學(xué)家.

from Crypto.Util.number import *
import random
from secret import flag,a0,a1,b0,b1p = getPrime(512)
q = getPrime(512)
e = getPrime(128)
n = p*q
assert pow(a0,2) + e * pow(b0,2) == n
assert pow(a1,2) + e * pow(b1,2) == n
m = bytes_to_long(flag)
c = pow(m,e,n)print("c=",c)
print("n=",n)
print("a0=",a0)
print("a1=",a1)
print("b0=",b0)
print("b1=",b1)

這個(gè)論文好像不很新,關(guān)于?

N= m*a^{2} + n*b^{2}

可以得到? p = gcd(N,a0*b1-a1*b0)

c= 34007465638566836660852768374211870538357285529060206826620688555044780516477877596651414637089490522614456532732711803500304737160162560168303462221485961593760966240770414498297915175227814336224871400766371471776600674705757656616409870237891336752248110367865552469248343708419900511716030176178698949179
n= 70043427687738872803871163276488213173780425282753969243938124727004843810522473265066937344440899712569316720945145873584064860810161865485251816597432836666987134938760506657782143983431621481190009008491725207321741725979791393566155990005404328775785526238494554357279069151540867533082875900530405903003
a0= 8369195163678456889416121467476480674288621867182572824570660596055739410903686466334448920102666056798356927389728982948229326705483052970212882852055482
a1= 8369195163678456889416121462308686152524805984209312455308229689034789710117101859597220211456125364647704791637845189120538925088375209397006380815921158
b0= 25500181489306553053743739056022091355379036380919737553326529889338409847082228856006303427136881468093863020843230477979
b1= 31448594528370020763962343185054872105044827103889010592635556324009793301024988530934510929565983517651356856506719032859from gmpy2 import *e = (n - a0*a0)//b0//b0
#e = 255348562315891975282864504628198394319
'''
當(dāng) N = m*a^2 + n*b^2  時(shí)有 p = gcd(N, a0*b1 - a1*b0)
'''
p = gcd(n, a0*b1 - a1*b0)
d = invert(e, (p-1)*(n//p-1))
m = pow(c,d,n)
long_to_bytes(m)
#NSSCTF{ee7f5bf0-13b9-4a61-9b1b-243f2edef2e8}

ez_signin

這題有兩個(gè)點(diǎn),一個(gè)是二項(xiàng)式定理,一個(gè)是rabin加密

from Crypto.Util.number import *
from secret import flagp = getPrime(512)
q = getPrime(512)
assert p > q
n = p*q
e = 65536
m = bytes_to_long(flag)
num1 = (pow(p,e,n)-pow(q,e,n)) % n
num2 = pow(p-q,e,n)
c = pow(m,e,n)print("num1=",num1)
print("num2=",num2)
print("n=",n)
print("c=",c)

題目給出 num1 = p^e -q^e %n ; num2 = (p-q)^e %n??

二式可轉(zhuǎn)化為p^e + q^e %n 中間項(xiàng)同時(shí)帶pq被模掉.所以?xún)墒较嗉优cn取gcd可以得到p

第二步由于 e=0x1000 是個(gè)rabin加密 ,這個(gè)直接用個(gè)模板

num1= 134186458247304184975418956047750205959249518467116558944535042073046353646812210914711656218265319503240074967140027248278994209294869476247136854741631971975560846483033205230015783696055443897579440474585892990793595602095853960468928457703619205343030230201261058516219352855127626321847429189498666288452
num2= 142252615203395148320392930915384149783801592719030740337592034613073131106036364733480644482188684184951026866672011061092572389846929838149296357261088256882232316029199097203257003822750826537629358422813658558008420810100860520289261141533787464661186681371090873356089237613080052677646446751824502044253
n= 154128165952806886790805410291540694477027958542517309121222164274741570806324940112942356615458298064007096476638232940977238598879453357856259085001745763666030177657087772721079761302637352680091939676709372354103177660093164629417313468356185431895723026835950366030712541994019375251534778666996491342313
c= 9061020000447780498751583220055526057707259079063266050917693522289697419950637286020502996753375864826169562714946009146452528404466989211057548905704856329650955828939737304126685040898740775635547039660982064419976700425595503919207903099686497044429265908046033565745195837408532764433870408185128447965
e = 65536'''
n1 = p^e - q^e 
n2 = (p-q)^e = p^e + q^e 
n1+n2 | n
'''
from gmpy2 import *p = gcd(num1+num2,n)
q = n//p 
phi = (p-1)*(q-1)#e = 0x1000 rabin
x0=invert(p,q)
x1=invert(q,p)
cs = [c]
for i in range(16):ms = []for c2 in cs:r = pow(c2, (p + 1) // 4, p)s = pow(c2, (q + 1) // 4, q)x = (r * x1 * q + s * x0 * p) % ny = (r * x1 * q - s * x0 * p) % nif x not in ms:ms.append(x)if n - x not in ms:ms.append(n - x)if y not in ms:ms.append(y)if n - y not in ms:ms.append(n - y)cs = msfor m in ms:flag = long_to_bytes(m)if b'nss' in flag:print(flag)#nssctf{W3lc0me_t0_nssctf_R0undll_w15h_U_can_have_Fun_t0day!!!#0919}

?

myGame

這個(gè)題應(yīng)該放前邊,內(nèi)容很簡(jiǎn)單,有兩個(gè)菜單項(xiàng),一個(gè)是加密一個(gè)是讀flag,加密用相同的n和flag但是用不同的e,這樣就是個(gè)很標(biāo)準(zhǔn)的共模攻擊

from Crypto.Util.number import *
import os
import random
import stringflag = os.getenv('FLAG')def menu():print('''=---menu---=
1. Guess
2. Encrypt
''')p = getPrime(512)
q = getPrime(512)
n = p*qdef randommsg():return ''.join(random.choices(string.ascii_lowercase+string.digits, k=30))mymsg = randommsg()
def guess():global mymsgmsg = input()if msg == mymsg:print(flag)else:print(mymsg)mymsg = randommsg()def encrypt():e = random.getrandbits(8)c = pow(bytes_to_long(mymsg.encode()), e, n)print(f'Cipher_{e}: {c}')def main():print(f'n: {n}')while True:opt = int(input())if opt == 1:guess()elif opt == 2:encrypt()main()

由于沒(méi)有遠(yuǎn)端沒(méi)有數(shù)據(jù),就直接把板子放上,應(yīng)該問(wèn)題不大

n,e1,e2,c1,c2 = ...g, x1, x2 = gcdext(e1,e2)  #e1,e2不互素時(shí),最后公約數(shù)g開(kāi)根號(hào),一般如果m不是很大可直接開(kāi)
m = pow(c1,x1,n)*pow(c2,x2,n) % n
print(long_to_bytes(int(irrot(m,g)[0])))

myMessage

同樣是沒(méi)有遠(yuǎn)端,也同樣是板子題,e=127 每次的n不同,取e組數(shù)據(jù)求crt然后開(kāi)根號(hào).

from Crypto.Util.number import *
import osflag = os.getenv('FLAG')e = 127def sign():msg = input("Input message:")p = getPrime(512)q = getPrime(512)n = p*qc = pow(bytes_to_long((msg + flag).encode()), e, n)print(f"n: {n}")print(f"Token: {hex(c)}")def main():while True:sign()main()

舉個(gè)栗子

#sage
def get_nc():...return n,c for i in range(e):tn,tc = get_nc()ns.append(tn)tc.append(tc)m127 = crt(c,n)
m = iroot(m127,e)[0]
print(long_to_bytes(int(m)))

?

NTR

最后一題同樣是板子題,只是參數(shù)沒(méi)有按原來(lái)的命名

import gmpy2
from flag import flag
from Crypto.Util.number import *def init():p = getPrime(2048)while True:x = getRandomNBitInteger(1024)y = getPrime(768)z = gmpy2.invert(x, p) * y % preturn (p, x, y, z)def encrypt(cipher, p, z):message = bytes_to_long(cipher)r = getRandomNBitInteger(1024)c = (r * z + message) % preturn cp, x, y, z = init()
c = encrypt(flag, p, z)
with open("cipher.txt", "w") as f:f.write("binz = " + str(bin(z)) + "\n")f.write("binp = " + str(bin(p)) + "\n")f.write("binc = " + str(bin(c)) + "\n")

這里定義了兩個(gè)式子:

c = r*z +m (mod p)

z = y * x^-1 (mod p)

跟原行NTRU的式子: c = r*h + m (mod p) 幾乎一樣,只需要改下xy

#---------- NTRU -------------
binz = 0b10000100100000110000100001011001100110110111111110101001011100111001101101100100010010100110111010000001000001100011111011011000110000000111011100100010010001100110101001001110011000110000100101111001101010000101001101010001111001110000010100011001101010111000110111011111100101100100101100111000101011111101111011000101000100000010100100000110000001011100011100010001101001100101100100000101101101001100110100100101110000011001000000000010100010100011001100110101011000010000001111100101001001110111000110010001101111111110000111100001110011100001101010001101010011011110101100100110110011001111110111100100000011101000000100010011101110111100111100111100011001000111010110100101100110111101010010111110000100100001110101011000010101110010010100101110001001101010101001100000111010011110001000010100000100010000010000110011100111100110011100110111101011101001000110110011001011010101100110111111110001011110000100100011110111100011111011111011100110011011100010111010110010111101010001100010001010010111111101110011010101000010000011100000110001100110100001010011010111000000110001010110000110000000100111000101010000010100000110111111111001100100101001111001010010101101101100111010000001100101100100101010111010000011101000100011011111010101100000011100100101110001100100010010010100010000100100100111101101110110111101011001111011011101001110110100101111110001010110010000101111011110111011100111100110000110000010101001101001101000111010100110011000101010001110100110101101110011111010110010010111110111101100111100101110110011110100100000101000101100111000100011001111110001000010010001010101110001110000111100110001101111110110001001001100101110001010111111000111000100011001110001010101000100110001000101110110101000000001100010001000101110000000010001001001100110100100011100101101010010100001011111001011010011001000101101101001111001100101011101111110111101101100111110000100110110011110000111111011010010010011011100100101000000111110110010101110010011000111101101011111110001100101100011111110111111100111001011001010010101000011001110binp = 0b10011001100000011101010111000011011000001101101000010101101110001111101010101100110000100111101101000100011101001011001100101000110010001000100001010011011100110011001110111001101010000111100000111110110101011101110000010111111101101111001011111111101100010011010001000011000100000010111111001000100000010001010001110101101011001100110001100000001100111010010011010101000011001101111011001110101111111011111101010100100000111101010101001101110000010101100011111001111100001100111010000111100110000001010001001101111111111100010010010001100110000011100110100100001000001001011010000000010100100011001000000000000010100111010011000111011010001010111010001000101100101011001001101101001101101001110101111011010110100101000000001111000001100101000000010101011011011100000001010001111000000100110011011001010011101000010101100101001000001100111001101000111101000000111001110010100001111100101001001101001101000011111001001000101001100101010001011010101111001001101110011101011001011110000001000100100110110001011010101000111001111001011001000001011111110000111000001100011110000011001110000010110101010000000101001111111011100010000000111001110100000010001101100110111010100000011101000100111011111011110001011001110000010001101010011110100110100111001000100010000110110110010111100101111010011110011110100000001001110111100111101000100011011100011101111100101100110110100011101110001111111110010001000001101111100100101011111110111110010100101010110111010111110010110111101011101111110110110101001111101101000010010100000101111000100010110100010011101000100111000011111100111010011010011101110110000100101100101010111111000110100010010101001000001111001100100110101000100110101001011110111101010101110001111101111001110000101000001010110011111000000010010100010000111011001000111000011000011110100000111101101011100000101000111011101110101100101001110001101000111100111011110000110010101010000100110100011010111110111100010111111101010110001000010010011110111101000110001100101111000111101010101101101100100010110011101111101000011101100000101001111001binc = 0b1111010111110100110011100100001100111101111000010010000010010011101110101000101000100011111101011100110010010111111010000111001101010101010111100000000100111111001111110001111011110100001111001001010001000000011110000001001000011010100111100011110011011010011010011011111111100100110000110010011101110111001001011010101001101011100110101110001111111100100111011010011001001001100010110100000011100000000100110010101100000001010000101000100010000101101111010101000001000110011101100101010111110111000100001011110101010011010010110111010010100101001001010011000100110010010010110100101001111001111000011011000000110000111111001101001111010011110101001001111111110001001100011100101100011110110101000110010110110110101110110110111010110111100101101000111101101011000010011001111111010111000001100101001010010110111100100100100011110101010010010010010100100011001100011111010011101101101101000010101101011000100101101100001000000001101111111100100101111000101011001010010011000011001101101110101001011111010110000111111111011000101100000000011001010000000111110000001101101100101010010001101101010101000010010010110101110100100110011001001011101011111110011100000100001100010100000101011100001110101101011011110000101110011011100010100101010011101011001011011111100001100010000010110010001111010000110010000011100010010101110000101011110000111101001110001111111111101011000110001111011100100111000010110001111110100100011110000100010000011101110101111101000110100110111101110001011101110100001101101100011111000010101111100011100011011001011110010000000001010010101100111001111110110101000010110101110001011000101101110100110111100000110101101010010111001101000010001101110011101010111111011001110000001110000110001000101110110010001001001101010011110100000010100000100010110000001000011001011010000010111010100100101010100010011001100111011110111100101111100000100110110110101101110100011011101101100000101111000011110011000010000000100010000011110110010000010101001110000111110111110001001101000010011101010101101111101010100001101010111010000010000h = binz
c = binc 
v1 = vector(ZZ, [1, h])
v2 = vector(ZZ, [0, p])
m = matrix([v1,v2]);# Solve SVP.  f*h = g (mod p) 求f,g
f,g = m.LLL()[0]
mf = f*c % p % g
m = mf * inverse_mod(f, g) % g
long_to_bytes(m)
#NSSCTF{c6ff8aba-fda9-497a-91a7-ee1ac5da68ab}

http://www.risenshineclean.com/news/50097.html

相關(guān)文章:

  • 關(guān)于做網(wǎng)站的調(diào)查問(wèn)卷外包公司
  • 鎮(zhèn)江疫情最新數(shù)據(jù)seo免費(fèi)外鏈工具
  • 相親網(wǎng)與做網(wǎng)站廣州關(guān)鍵詞搜索排名
  • 網(wǎng)站建設(shè)初期工作方案網(wǎng)絡(luò)推廣項(xiàng)目代理
  • 廣州做企業(yè)網(wǎng)站找哪家公司好網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣方法和手段
  • 移動(dòng)網(wǎng)站的開(kāi)發(fā)流程圖搜索引擎培訓(xùn)班
  • 淘寶客云建站官網(wǎng)百度q3財(cái)報(bào)2022
  • 做地產(chǎn)的設(shè)計(jì)網(wǎng)站seo顧問(wèn)
  • 政府網(wǎng)站用什么cmsseo新人怎么發(fā)外鏈
  • 長(zhǎng)沙外貿(mào)建站vue seo 優(yōu)化方案
  • 北京中高端網(wǎng)站建設(shè)友情鏈接買(mǎi)賣(mài)平臺(tái)
  • 網(wǎng)站免費(fèi)正能量不用下載歐洲站fba
  • 公司網(wǎng)站建設(shè)費(fèi)用賬務(wù)處理百度云群組
  • 深圳購(gòu)物網(wǎng)站建網(wǎng)站怎么快速排名
  • 圖片制作在線制作免費(fèi)seo外包公司費(fèi)用
  • 網(wǎng)站支付頁(yè)面怎么做的123網(wǎng)址之家
  • 常用的網(wǎng)站建設(shè)技術(shù)有什么軟件一鏈一網(wǎng)一平臺(tái)
  • 怎樣建立平臺(tái)愛(ài)站網(wǎng)seo
  • 建設(shè)營(yíng)銷(xiāo)網(wǎng)站要什么寧波技術(shù)好的企業(yè)網(wǎng)站制作
  • 中國(guó)歐洲陸運(yùn)專(zhuān)線外包seo公司
  • html 手機(jī)網(wǎng)站開(kāi)發(fā)吸引人的軟文標(biāo)題例子
  • wordpress theme 免費(fèi)北京搜索引擎優(yōu)化經(jīng)理
  • 可以做網(wǎng)站的編程有什么軟件成都網(wǎng)絡(luò)推廣優(yōu)化
  • PHP網(wǎng)站開(kāi)發(fā)程序員招聘免費(fèi)推廣產(chǎn)品的平臺(tái)
  • 網(wǎng)站產(chǎn)品頁(yè)面什么時(shí)候做怎么自己做網(wǎng)站
  • 網(wǎng)站被黑了怎么恢復(fù)重慶企業(yè)站seo
  • 大學(xué)二級(jí)學(xué)院網(wǎng)站建設(shè)必要性網(wǎng)站流量統(tǒng)計(jì)工具
  • 做php網(wǎng)站前端價(jià)格鄭州seo聯(lián)系搜點(diǎn)網(wǎng)絡(luò)效果好
  • 廣州哪里有學(xué)做網(wǎng)站的瀏覽器網(wǎng)站大全
  • 常寧市建設(shè)局網(wǎng)站seo培訓(xùn)