DASCTF Sept X 浙江工业大学秋季挑战赛

crypto

签到

题目

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Crypto.Util.number import *
import random
flag=b'flag{******************}'
n = 2 ** 256
flaglong=bytes_to_long(flag)
m = random.randint(2, n-1) | 1
c = pow(m, flaglong, n)
print('m = ' + str(m))
print('c = ' + str(c))# m = 73964803637492582853353338913523546944627084372081477892312545091623069227301
# c = 21572244511100216966799370397791432119463715616349800194229377843045443048821

已知n、c、m,求e
而且n不能分解

这道题跟之前2020网鼎杯的一道题很像

应该用sage解

n = 2 ** 256
m = 73964803637492582853353338913523546944627084372081477892312545091623069227301
c = 21572244511100216966799370397791432119463715616349800194229377843045443048821
e=discrete_log(Mod(c,n),Mod(m,n))
print(e)

然后再用python

from Crypto.Util.number import *
print(long_to_bytes(e))

运行就能得到了

RSA1

nc 连接,连接后等待一分钟,才会有回显。
动态靶机,每次启动靶机的 flag 不同,请注意。

#! /usr/bin/env python
# -*- coding: utf-8 -*-from flag import get_flag
from hashlib import sha512
from Crypto.Util.number import getPrime,bytes_to_long
from libnum import invmod, gcd
import randomdef m_exit(n):print "==============Game Over!================="exit(n)def cal_bit(num):num = int(num)l = len(bin(num))return l-2def pi_b(x):bt = 536380958350616057242691418634880594502192106332317228051967064327642091297687630174183636288378234177476435270519631690543765125295554448698898712393467267006465045949611180821007306678935181142803069337672948471202242891010188677287454504933695082327796243976863378333980923047411230913909715527759877351702062345876337256220760223926254773346698839492268265110546383782370744599490250832085044856878026833181982756791595730336514399767134613980006467147592898197961789187070786602534602178082726728869941829230655559180178594489856595304902790182697751195581218334712892008282605180395912026326384913562290014629187579128041030500771670510157597682826798117937852656884106597180126028398398087318119586692935386069677459788971114075941533740462978961436933215446347246886948166247617422293043364968298176007659058279518552847235689217185712791081965260495815179909242072310545078116020998113413517429654328367707069941427368374644442366092232916196726067387582032505389946398237261580350780769275427857010543262176468343294217258086275244086292475394366278211528621216522312552812343261375050388129743012932727654986046774759567950981007877856194574274373776538888953502272879816420369255752871177234736347325263320696917012616273Lreturn invmod(x, bt)def get_ed(p, q):k = cal_bit(q*p)phi_n = (p-1)*(q-1)r = random.randint(10, 99)while True:u = getPrime(k/4 - r)if gcd(u, phi_n) != 1:continuet = invmod(u, phi_n)e = pi_b(t)if gcd(e, phi_n) == 1:breakd = invmod(e, phi_n)return (e, d)def main():flag = get_flag()p=getPrime(2048)q=getPrime(2048)n = p * qe, d = get_ed(p, q)print "n: ", hex(n)print "e: ", hex(e)flag = bytes_to_long(flag)enc_flag = pow(flag, e, n)print "Your flag is: ", hex(enc_flag)if __name__ == '__main__':main()

打开靶机得到

n:  0x9224ffc48f301b65df2bebceab3770e57484ff5107dda920aa712b2ed2a2c943b7b11f7ab883b584b2b5eec4597dde4af3e268983ec3804c073a4c78107a866a733d49d9c0e7412001b1f4b448a01355ee27a4a5589ca22d774335b694ed53d329f286a71254188c308821e52080d33895c72c2a17bdfd8ba4d57480f2238cf9f628b1ff59561da34938ac0b4715496ec7598d99d0fd2be547f123a47c564760be2e5c930897fc8d25c5b59633f37e4549c975c207983f4fcc72ae2f8a0fdbf62e0262bd019f28422d5a53871a571d6ff91c7e648bb809834295776c36c0e6d1f738ffb2e888dc646f7ea47f3a577ec83efcb3df4f981c6cc00b5652916350be21b2debc6bfe1eab293d6cffeb117d24784a917cc2f737b624499d66641a24b073f710d3706f355aafadfb45e9d2353ee38920ad2e6b213cc9d674b1626b8fa1cb93633fd9bb5da55fe711a21d104714c2415c995cc17695bd87c0e815f4f4336196ff356aa3a82e42f0eb710377af23b5a5bf25bea687640c3821012c1a2c3619886b517080eb501497bbd068e9d4ce4bf3df311eebc37a63028161a580edc3b8d8196ea1f72ed12ea6c0756939cf33305d4cbd186a346e901167613a4ba32aa6ba616a61eb3ac8697ca2a6990442c9482ee846dbe15fa2cac72fb2740c2732bb9479c85e23f4f9d493bb55dac7e5c1f07ca3dc5cc97799743f07794eaf9f09L
e:  0x108da1d7d12dee41613a7c73c574919ee91f6c638c5ec12fa62453d7398caa48c3190cb42fc5815735fb2fb5dd3c5055b534b11cdc092d457f38db1c79900b8259e79934105b3ee47fea4df9ef1d6e084c50ce785e629159c1d713cc00535140470a2ab85ac664fa195a3cb57f3307047c99aa7dcd7869b7f6ad9b21667b5e0263f2028cc0a18e469fc8f219018cda0cfd2406a3ea74296aa0bb00db2d523b5622fa60f5b08e2a5f1ca3932472fb8f5fafe7f2d2e9c4e601f52ad53a6a0bb7cfced6d675f0715f7fcb294ca7869c51a4913a0448fa29d5a256b0e05bc665090623b06dc5ceed6c281dec2e22db5fcd26e47cddcb84e033ea7ba062d4d50ae0b19ea16929ad0fe35817ba46020b832640bce7276b04a50ddca0e7e3028ecf2f5ed9277e70d936b4ded4523b9bf31a7c927adf1ae1c021101d38cbfa1f6a329c283176d5267ce8b10f4f568725a1ef561647e578bc7928f4e65c76b394d38cd65e3d9d3a8cef3066e963a5b7b6de6fe14a1f66cd2a0bf645beaa079b84536b7238300c4605994f73c30f2341f728a0e0e3d17cd8566b677dc6b2fb1eef036649c4012f2b7c16cae18f1aa07ee3223726269255a062d771cf4e5f424663b834dc97ad19a77abca8adc2ba998f4919b5dd16c28e433922129faf1ab17aa62852805e2c2b647408fe7d8c2f999dbc536f60e74a4bc5d803f1d1a68a0b0f0995b1ff67L
Your flag is:  0x61dbd98692a5cca45cf48d22e6f3012828ccfbd3b7a3f41145b0872c51b57f77ecf439348cf7c866c8658f520a6627231d77fa38dd7fd8bd37da734b12f53bc3f656d5a5342f12f208e0497804af05aa66dc6e65104a36a675f8f4eda3a146b140a477fd3026848fd7f8aaa51f56af62d25b9dca36b31d27dc73f369cc68a008a7b1424e2db2a403d4b1015f4bc0763f31c0a0a9e28775e64ae287adcf0cf70899a26e770128f9fe1f37c1ee296ac50e48d0d10a9a90d58647b2731e88d435055d8ed884a39012c351d26747a2aa57d2be0de4632bd11806b1c98dcd4eb7a5257f04a7b0a998d48ca9d7766e710673ec6f0b783b79dc213b5e567276dbc8e13db7f263b97ef2c0659ae2951f3b4d0107e635486f8e7a309b7df61101fca51ba5d0833e49e9945054fcd361f4de6811225efb64b7e3ac36e24914b34f2457a984960c0e5df745a9836b1a094c661ff01d7c77165387ae6ec5f9f35f0c63721ae2215131db63fbb4b1d35da378cc07a7de24d9bd47c3d775b92cabdc17fb089097507e6b39bfe4987da364c32e7151771da9211919dfb121f4ed4a34989f12ba0bd6219f418d0444d6317759ca66181fd187d32d23ce281b66515f0ae4bac1547f8a592064abfa29858c01d9a8bfc4904c0bcdbdd146bee7b9b11228175aa24c9ed387e41938f34eb8f310b77bfd1ff8ee05fe0ad3360daa5d74ad0b9d8d467ffcL

非常大的n,非常大的e,非常大的m

先尝试的用pythonsympy.nthroot_mod(c,e,n),需要太长时间了,没跑出来

可能因为n太大了,不能在线工具分解,

用yafu可以分解大n

先下载:https://sourceforge.net/projects/yafu/

直接解压就能用,最好的是用cmd打开,(因为直接打开用的话,不太容易看结果)

一般的n,直接factor(n)就能分解出来

但是,我们不是一般的n啊

当n非常大时,要先把n存到文件中,然后再用yafu解

而且,放到文件中,保存前一定一定要在后面加回车,不然依旧会报错:eof; done processing batchfile

保存到文件之后,用cmd打开,输入yafu-x64 "factor(@)" -batchfile p.txt(这里默认保存到了p.txt)

值得一提是,当运行结束后,原来的p.txt会自动消失

,测试结束就能用到这到题上了
然后就是漫长的等待

等待

等待

等待

忽然觉得是我的思路错了

好吧,是错了,要能分解出来哪能用这么长时间

应该用维纳攻击,再加上这道题里e不是随机的而是算出来的,

解题代码:

(wiener攻击项目:https://github.com/pablocelayes/rsa-wiener-attack)

from libnum import invmod, gcd, n2s
from gmpy2 import *
import ContinuedFractions, Arithmetic, RSAvulnerableKeyGeneratorn = 0x57b08bc1c82237cf614735562d4fe2a07570813b6c726537f83449df9be01e538bb765993001658f3c879f189620ad628517dda951a0103a88f7b28a9ee631fc365ee3e9f0ce558cf20eac76893bb7c0b49ed68506fcba1bb341eca59e7a2e4ce9bd31bfc03d6037cd565b6eae375e0e0b9084a352e820e02405597845871f62ee92eeba2f8de71f8af784a51ca83bd767b4f52908a853aae6efbf58db16a14c1fbf51c47f9613e21906f16fe14595d706f75555462cc7aea6b62ef558c6b74329ad182b308122f99cab95bc93ba6f9f9cfd29407b582404bfb11b45e1d5fa13372c174395306a6eb5c60651736f776e353b2eb8da356bded79bea7e4a1e212ac37b1d59e1356fcbcec8065642c318b1e908f54745aa7467c680ed6f2716fb3efd9843122dccbbdb6698fe1e31a2390682e03d175e0bf7591b8201ad14d1d8f02a3fcbea0b864e52895e588390e4a785ce94bf0b5b7b6a59c5f92ae214b846ffebf52b5a71dc286adc4d1755acd6b9e1b9e41cf0b1267c6433dabb708828d5b5b16638299b76c1645988e974b0f0215f8eee31f44503624d75b67519ad5c50e9924006bd64869d1a822cf927effedd570f4cbe110d8478e1ac10c95b754f05151b7eb146c226fa443655a12af864bdb3d30fce492840763775e487dd963b5fb292fbd8ca702c1be458d941177782f96edf489d021312cb082f9e01a824440e07
e = 0x77859f7f91ed390f5a7f6fdf76824c0468ae4bcde36f86fdca3a773915af3c9a8d173fcfd71a0e7782166147ca46e6d6fc32f91e6db3585d9998246dfcb163cdf9f9bad948daf005299a3c92eeef4a1ce2e78f5428608856c8b88ff3ff7b8fc3bd1a50ecbc10af5992801a0ccf92f00347a107e6856b97a16ead0f8143bd95b4614f1ba8836bb281ca2a01910c78fa99d7b7b25a224baa8403975e48105b7afd5d07d745d2be993e14c14c3de7c9b53e8d3e70420e182dbbc1b85347a517f7d93ebbcf8c0c41c234aefaa434bdad4db01ba50d8a596bf96b42da77f476056871b50d1eea18825dfe0741dba92daf33aef3b0dda2fa63a92a3cf8745044285c6c6f063754e2fe711b6dfe0557415be5dfe5b037fcce577428beada47b61a780e69a0273da11e4f0b236f3e39d471ddd17b40a7e6b05918acc668a379e17c3e857423b30699401d468b4aef7b8fa60c4dedfdb1092f46f83fecda984836b23e20436b88e5eea9d71198b966c0a0126e5063e182d822c1b72c39078a173a207677dca0599024f573f2d237177c7b70b7286c80dddd89838ba7f16e85b8ce57bc5ecf079b9cc4d9d8d633ec75d13ca1630e3ba83edbead13e50ba8ec9b68424aa88d455cdf566b607308f02e326f4d6a7673a4e2fa342b725b98a4798a54ca974cf2c28d0e79a622a19a26f1ff6340c831d08b3fdadbe48d162b1e57952bc9bbb643
cipher = 0x9eed6ec9e43e4405c0dc6f62b7ceab3f9c744d64c4262848739447924e55e2c0462d50a7b528bd4dbee136ec8725a8374078a277786e1167c08fb0bfe8fe76c94f291f56a6a478e9d9e000efd09381f228d9567132dec682413ab38483734d31c37f127dc9e172f3aab101edc2a2ba843ecf3f9f76ba7a52dc99ad63c307cb4a9183109b5b67d51c30c5e7279012c0e234c2e8c3ff182bb398e7f69c29bf1fa950d2158fb98086c5a829a6b4616f1488df7d80346805975e39d1e3e96c5dfd5e01239ec6a5a9b0391ec5b9c0b0def3f4c688ec4d54f5a96d7121d6980d80e896aec740e86567500efc21c4adc000ea19dfab5c68e5d07bef977acedfdc3d647cdf491c8aee9d96b7445d3a8df1ee3229ed23542b8e632a77e9778482908c297858e17f3964e2d82077c76036bd01db5bec483308d651f7b1e5a9c3fe2e2678331929d01e81a488b10ac5c0723e9cf586acaa2d9f061db291bb83e41f94f98a7b8ea5939ddc91c4de57a9271b71dab42d3cf8b6b0b35dbea8d6d564aba05fdbaad82846e29c37cec8b994c209be616ae167bfea11d97297ddd46a61264ae0c0fbb129bd20d12f9a6b3b7a162e1978151b2191406fbad79775a26a122724f5d5194a6362b62bd070f8e36efec0a507e5c8b92fbd69f0ba76584c260766cc6d99b3933e9d2d77f0d06bab7469dd612d79563084bfd886edb129b5f5d2eb00c3eddef hack_RSA(e,n):'''Finds d knowing (e,n)applying the Wiener continued fraction attack'''frac = ContinuedFractions.rational_to_contfrac(e, n)convergents = ContinuedFractions.convergents_from_contfrac(frac)for (k,d) in convergents:#check if d is actually the keyif k!=0 and (e*d-1)%k == 0:phi = (e*d-1)//ks = n - phi + 1# check if the equation x^2 - s*x + n = 0# has integer rootsdiscr = s*s - 4*nif(discr>=0):t = Arithmetic.is_perfect_square(discr)if t!=-1 and (s+t)%2==0:print("Hacked!")return d, phidef pi_b(x):bt = 536380958350616057242691418634880594502192106332317228051967064327642091297687630174183636288378234177476435270519631690543765125295554448698898712393467267006465045949611180821007306678935181142803069337672948471202242891010188677287454504933695082327796243976863378333980923047411230913909715527759877351702062345876337256220760223926254773346698839492268265110546383782370744599490250832085044856878026833181982756791595730336514399767134613980006467147592898197961789187070786602534602178082726728869941829230655559180178594489856595304902790182697751195581218334712892008282605180395912026326384913562290014629187579128041030500771670510157597682826798117937852656884106597180126028398398087318119586692935386069677459788971114075941533740462978961436933215446347246886948166247617422293043364968298176007659058279518552847235689217185712791081965260495815179909242072310545078116020998113413517429654328367707069941427368374644442366092232916196726067387582032505389946398237261580350780769275427857010543262176468343294217258086275244086292475394366278211528621216522312552812343261375050388129743012932727654986046774759567950981007877856194574274373776538888953502272879816420369255752871177234736347325263320696917012616273return invmod(x, bt)t = pi_b(e)
phi = hack_RSA(t, n)[1]
d = invmod(e, phi)res = powmod(cipher, d, n)
print(n2s(int(res)))

运行得到:b’flag{6da6f37a-88fc-4cb2-9f76-f4dbaa37e87f}’

(代码参考了某位师傅的,但忘了原网址了)

easy_pow

from Crypto.Util.number import *
from gmpy2 import lcm, invert
from secret import flage = 65537
p = getPrime(512)
q = getPrime(512)
n = p**4*qc = pow(bytes_to_long(flag), e, n)
print(c)hint1 = (invert(e, lcm(p - 1, q - 1))) % (p - 1)
print(hint1)b = 449703347709287328982446812318870158230369688625894307953604074502413258045265502496365998383562119915565080518077360839705004058211784369656486678307007348691991136610142919372779782779111507129101110674559235388392082113417306002050124215904803026894400155194275424834577942500150410440057660679460918645357376095613079720172148302097893734034788458122333816759162605888879531594217661921547293164281934920669935417080156833072528358511807757748554348615957977663784762124746554638152693469580761002437793837094101338408017407251986116589240523625340964025531357446706263871843489143068620501020284421781243879675292060268876353250854369189182926055204229002568224846436918153245720514450234433170717311083868591477186061896282790880850797471658321324127334704438430354844770131980049668516350774939625369909869906362174015628078258039638111064842324979997867746404806457329528690722757322373158670827203350590809390932986616805533168714686834174965211242863201076482127152571774960580915318022303418111346406295217571564155573765371519749325922145875128395909112254242027512400564855444101325427710643212690768272048881411988830011985059218048684311349415764441760364762942692722834850287985399559042457470942580456516395188637916303814055777357738894264037988945951468416861647204658893837753361851667573185920779272635885127149348845064478121843462789367112698673780005436144393573832498203659056909233757206537514290993810628872250841862059672570704733990716282248839
a = 2021*p**3 + 2022 + 2023*p**4hint2 = pow(2, a, b)
print(hint2)# c = 299017261835189498646801799047751320695668439348487790148528895116908291237131013926772081799359589818341682677111543442738252080655908837832980607220654285415406849188648588876074312051164587055277017087038387169198951679119726082130868577905495307509637437814639023859871022938423168215797501175602649102621121969715328259139345090638555904577654447171932081642373835789445132466483809296734563016796846181929739289611878336934959331072502575341363049247881265649823417307615491433072850482074652957723543487026059316519285366802688885941059639121330455152478436982943059233339674041805741182096012792918311275489444605460198614371459471817407804289704524901847153843161249387208624993194285848787852634062441217234375549379380562009770380599080279723135784896688900810431588688332192335709518547640569711433618297677079620698012458053569647547533141501523434448045634646828827172848593990693592901227377493322141118565281304196426176682214434838100064256923548036690051664051936039970959246550139917211615752871493362724592143267948814481824417708986007126979214014590455837766290295441889285916265364654809662082923890960381278762698116724490968196229881400330090923027715288555056444792729745833577501899130568724790858022446326695539071814537878834059655627706444192634195723979046739351624465832476575907100097011055108105860691993049169856798600475407542166158235082147463523443663009573254123280611097423735159597787799640249067078454450453894294270686260545979274
# hint1 = 5721198034334676541837614694444858336798773246799126905170215130476545540224374062960340456885923620963383130312535476337226014394595162625328729352118817
# hint2 = 70105679627771719775142746553136794250337998462106229956679264658530098746665466868944855488308669706231622476566195559705924155363353360283408488917464065710623926781621366649773018113928630700594350396854359790092271835687816435058239792764298042156558375596434224003013749584571959306678511753195214791439107077903813757339868710576521858061442786434257451730633431229846440096297272405246087428205202111469272496134202922842748813992627453559734564891714846769627501147879058486675487738815514505109515031476986129016953015076080656764571648130270143686579720157712521222948534007797015393032826637675765983480855079052044005355401993107282102074405371246891417816527026361635916312955134612786069557685941228464218624689513588345168398491708253400514386622804630997

依旧的RSA

我的思路是,先根据b和hint2求出a,进而求出p,然后再根据hint求出q,最后就能解flag了

先尝试的用yafu分解b

=== Starting work on batchfile expression ===
factor(449703347709287328982446812318870158230369688625894307953604074502413258045265502496365998383562119915565080518077360839705004058211784369656486678307007348691991136610142919372779782779111507129101110674559235388392082113417306002050124215904803026894400155194275424834577942500150410440057660679460918645357376095613079720172148302097893734034788458122333816759162605888879531594217661921547293164281934920669935417080156833072528358511807757748554348615957977663784762124746554638152693469580761002437793837094101338408017407251986116589240523625340964025531357446706263871843489143068620501020284421781243879675292060268876353250854369189182926055204229002568224846436918153245720514450234433170717311083868591477186061896282790880850797471658321324127334704438430354844770131980049668516350774939625369909869906362174015628078258039638111064842324979997867746404806457329528690722757322373158670827203350590809390932986616805533168714686834174965211242863201076482127152571774960580915318022303418111346406295217571564155573765371519749325922145875128395909112254242027512400564855444101325427710643212690768272048881411988830011985059218048684311349415764441760364762942692722834850287985399559042457470942580456516395188637916303814055777357738894264037988945951468416861647204658893837753361851667573185920779272635885127149348845064478121843462789367112698673780005436144393573832498203659056909233757206537514290993810628872250841862059672570704733990716282248839)
=============================================
fac: factoring 449703347709287328982446812318870158230369688625894307953604074502413258045265502496365998383562119915565080518077360839705004058211784369656486678307007348691991136610142919372779782779111507129101110674559235388392082113417306002050124215904803026894400155194275424834577942500150410440057660679460918645357376095613079720172148302097893734034788458122333816759162605888879531594217661921547293164281934920669935417080156833072528358511807757748554348615957977663784762124746554638152693469580761002437793837094101338408017407251986116589240523625340964025531357446706263871843489143068620501020284421781243879675292060268876353250854369189182926055204229002568224846436918153245720514450234433170717311083868591477186061896282790880850797471658321324127334704438430354844770131980049668516350774939625369909869906362174015628078258039638111064842324979997867746404806457329528690722757322373158670827203350590809390932986616805533168714686834174965211242863201076482127152571774960580915318022303418111346406295217571564155573765371519749325922145875128395909112254242027512400564855444101325427710643212690768272048881411988830011985059218048684311349415764441760364762942692722834850287985399559042457470942580456516395188637916303814055777357738894264037988945951468416861647204658893837753361851667573185920779272635885127149348845064478121843462789367112698673780005436144393573832498203659056909233757206537514290993810628872250841862059672570704733990716282248839
fac: using pretesting plan: normal
fac: no tune info: using qs/gnfs crossover of 95 digits
div: primes less than 10000
fmt: 1000000 iterations
Total factoring time = 1.5964 seconds***factors found***PRP1473 = 449703347709287328982446812318870158230369688625894307953604074502413258045265502496365998383562119915565080518077360839705004058211784369656486678307007348691991136610142919372779782779111507129101110674559235388392082113417306002050124215904803026894400155194275424834577942500150410440057660679460918645357376095613079720172148302097893734034788458122333816759162605888879531594217661921547293164281934920669935417080156833072528358511807757748554348615957977663784762124746554638152693469580761002437793837094101338408017407251986116589240523625340964025531357446706263871843489143068620501020284421781243879675292060268876353250854369189182926055204229002568224846436918153245720514450234433170717311083868591477186061896282790880850797471658321324127334704438430354844770131980049668516350774939625369909869906362174015628078258039638111064842324979997867746404806457329528690722757322373158670827203350590809390932986616805533168714686834174965211242863201076482127152571774960580915318022303418111346406295217571564155573765371519749325922145875128395909112254242027512400564855444101325427710643212690768272048881411988830011985059218048684311349415764441760364762942692722834850287985399559042457470942580456516395188637916303814055777357738894264037988945951468416861647204658893837753361851667573185920779272635885127149348845064478121843462789367112698673780005436144393573832498203659056909233757206537514290993810628872250841862059672570704733990716282248839ans = 1eof; done processing batchfile

我确定我再保存的时候加了回车,难道是b是素数
判断一下知道不是

那,还是换思路吧hint1是dp

按dp泄露来

发现这道题跟以前做的一道很像[羊城杯 2020]Power

同样的方法就好

import sympy
from Crypto.Util.number import *
c = 299017261835189498646801799047751320695668439348487790148528895116908291237131013926772081799359589818341682677111543442738252080655908837832980607220654285415406849188648588876074312051164587055277017087038387169198951679119726082130868577905495307509637437814639023859871022938423168215797501175602649102621121969715328259139345090638555904577654447171932081642373835789445132466483809296734563016796846181929739289611878336934959331072502575341363049247881265649823417307615491433072850482074652957723543487026059316519285366802688885941059639121330455152478436982943059233339674041805741182096012792918311275489444605460198614371459471817407804289704524901847153843161249387208624993194285848787852634062441217234375549379380562009770380599080279723135784896688900810431588688332192335709518547640569711433618297677079620698012458053569647547533141501523434448045634646828827172848593990693592901227377493322141118565281304196426176682214434838100064256923548036690051664051936039970959246550139917211615752871493362724592143267948814481824417708986007126979214014590455837766290295441889285916265364654809662082923890960381278762698116724490968196229881400330090923027715288555056444792729745833577501899130568724790858022446326695539071814537878834059655627706444192634195723979046739351624465832476575907100097011055108105860691993049169856798600475407542166158235082147463523443663009573254123280611097423735159597787799640249067078454450453894294270686260545979274
hint1 = 5721198034334676541837614694444858336798773246799126905170215130476545540224374062960340456885923620963383130312535476337226014394595162625328729352118817
hint2 = 70105679627771719775142746553136794250337998462106229956679264658530098746665466868944855488308669706231622476566195559705924155363353360283408488917464065710623926781621366649773018113928630700594350396854359790092271835687816435058239792764298042156558375596434224003013749584571959306678511753195214791439107077903813757339868710576521858061442786434257451730633431229846440096297272405246087428205202111469272496134202922842748813992627453559734564891714846769627501147879058486675487738815514505109515031476986129016953015076080656764571648130270143686579720157712521222948534007797015393032826637675765983480855079052044005355401993107282102074405371246891417816527026361635916312955134612786069557685941228464218624689513588345168398491708253400514386622804630997
e = 65537
b = 449703347709287328982446812318870158230369688625894307953604074502413258045265502496365998383562119915565080518077360839705004058211784369656486678307007348691991136610142919372779782779111507129101110674559235388392082113417306002050124215904803026894400155194275424834577942500150410440057660679460918645357376095613079720172148302097893734034788458122333816759162605888879531594217661921547293164281934920669935417080156833072528358511807757748554348615957977663784762124746554638152693469580761002437793837094101338408017407251986116589240523625340964025531357446706263871843489143068620501020284421781243879675292060268876353250854369189182926055204229002568224846436918153245720514450234433170717311083868591477186061896282790880850797471658321324127334704438430354844770131980049668516350774939625369909869906362174015628078258039638111064842324979997867746404806457329528690722757322373158670827203350590809390932986616805533168714686834174965211242863201076482127152571774960580915318022303418111346406295217571564155573765371519749325922145875128395909112254242027512400564855444101325427710643212690768272048881411988830011985059218048684311349415764441760364762942692722834850287985399559042457470942580456516395188637916303814055777357738894264037988945951468416861647204658893837753361851667573185920779272635885127149348845064478121843462789367112698673780005436144393573832498203659056909233757206537514290993810628872250841862059672570704733990716282248839x=sympy.discrete_log(b,hint2,2)
p = sympy.Symbol('p')
p = sympy.solve(2021*p**3 + 2022 + 2023*p**4-x,p)[0]
print(long_to_bytes(pow(c,hint1,int(p))))

运行得到,一大堆错误

2021-09-25相关推荐

  1. C语言程序设计 翁恺 中M2020春C入门练习第I段——变量、表达式、分支、循环 (2021/09/25 更新:AC代码 翻新至78题)

    入门练习 第一段:变量.表达式.分支.循环 1. 重要的话说三遍 2. I Love GPLT 3. 输出带框文字 4. 输出菱形图案 5. 输出倒三角图案 6. 厘米换算英尺英寸 7. 计算摄氏温度 ...

  2. 2021.09青少年软件编程(Python)等级考试试卷(三级)

    2021.09青少年软件编程(Python)等级考试试卷(三级) 一.单选题(共25题,每题2分,共50分) 1.使用map函数可以实现列表数据元素类型的转换,而无需通过循环.则将列表L=['1',' ...

  3. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  4. 【跃迁之路】【597天】程序员高效学习方法论探索系列(实验阶段354-2018.09.25)...

    @(跃迁之路)专栏 实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. ...

  5. 基于python的科技论文_实地科研 | 上海财经大学 | 金融科技、商业分析、人工智能:机器学习、人工智能及其在金融科技中的应用(2021.1.25开课)...

      课题名称   = 机器学习.人工智能及其在金融科技中的应用 =  项目背景   随着云时代的到来,机器学习.人工智能.大数据技术具有越来越重要的战略意义,并逐渐渗透到每一个行业和业务职能领域,成为 ...

  6. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

  7. 读论文——Pre-Training with Whole Word Masking for Chinese BERT(2021 11.25)

    第一遍 标题以及作者(2021 11.25) 摘要 本文基于BERT,在RoBERTa上进行一系列改进,提出了用于中文的预训练模型MacBERT. 提出了一种新的掩码策略,MLM as correct ...

  8. 实习日志 (2021.09.13)

    2021.09.13星期一 今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花 ...

  9. Diabetes 糖尿病及其并发症.|2021/1/25(未完待续)

    目录 前言: 正文: ①宏观严重性: ②普遍状况:" 三多一少": ③定义 : ③胰岛素(Insulin,一种激素(harmone)) ④引出糖尿病病理: 1> 1-型糖尿病 ...

  10. 【2021.12.25】ctf逆向中常见加密算法和编码识别

    [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 文章目录 [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 0.前言 1.基础加密手法 2.b ...

最新文章

  1. 转 wordpress搭建
  2. oracle yyyy和yy,Oracle PL / SQL:SYSDATE与’DD-MMM-YY’的区别?
  3. [转人工智能工程师学习路线及具备的5项基本技能
  4. GitHub 标星 14000+,阿里开源的 SEATA 如何应用到极致?
  5. 《网络管理员考试案例导学》复习重点
  6. C++对输入流输出流运算符的重载【案例】
  7. 网易云API微信小程序
  8. 单片微型计算机原理和应用答案,《单片微机原理及应用》 试卷A及参考答案
  9. JAVA控制stl文件导出图片_stl2png: 将PRO/E等3D建模工具生成的STL格式的模型文件生成缩略图的工具。特别适合体积较大的STL文件。...
  10. 手把手教你做线性回归分析,实用且通俗易懂!
  11. 超酷的HTML5 Canvas网络画板教程
  12. 删除+mysql+用户密码_误删除mysql中的所用用户,如何重新设置root账号和密码
  13. Prometheus为你的SpringBoot应用保驾护航
  14. 安全、可靠、合规,华为云守护企业网站安全
  15. 刘德华开抖音了,一键下载华仔所有无水印视频
  16. 关于LAMMPS能量最小化
  17. 斐讯k3搭建nginx+php+MariaDB(mysql )的教程
  18. HTML应用开发基础篇 - MUI 框架(三)MUI 布局
  19. 穆迪ESG解决方案事业部旗下公司V.E就西班牙王国的主权绿色债券框架提供第二方意见
  20. 一些鲜为人知却非常实用的数据结构 - Haippy

热门文章

  1. 全面收紧!继新加坡后,又一地拟暂停数据中心建设
  2. 数据中心机房消防演练方案
  3. 浅谈商业银行绿色数据中心建设
  4. GitHub:GitHub简介、使用方法、经验总结(图文教程)之详细攻略(持续更新!)
  5. Tool/IDE之MinGW:MinGW(C++环境)的简介、安装、使用方法之详细攻略
  6. ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  7. Py库下载:Dos内一条命令快速全部下载(先列出要下载的库名称保存为txt文件)
  8. c++入门之浅入浅出类——分享给很多想形象理解的人
  9. ajax分页实现(php)
  10. Objective-C学习笔记_命令行参数获取