1.XORed
根据题意,我们很容易发现这是一个异或加密,根据异或的运算法则,我们很容易解密,下面是我们的writeup
Key1 = 0x5dcec311ab1a88ff66b69ef46d4aba1aee814fe00a4342055c146533
Key13 = 0x9a13ea39f27a12000e083a860f1bd26e4a126e68965cc48bee3fa11b
Key235 = 0x557ce6335808f3b812ce31c7230ddea9fb32bbaeaf8f0d4a540b4f05
Key145 = 0x7b33428eb14e4b54f2f4a3acaeab1c2733e4ab6bebc68436177128eb
Key34 = 0x996e59a867c171397fc8342b5f9a61d90bda51403ff6326303cb865a
FlagKey12345= 0x306d34c5b6dda0f53c7a0f5a2ce4596cfea5ecb676169dd7d5931139
Key45=Key1^Key145
key12345=Key1^Key13^Key235^Key145^Key34^Key45
Flag=FlagKey12345^key12345
print hex(Flag)[2:-1].decode("hex")
2.Chonky E
题目中提到一种加密算法Schmidt-Samoa cryptosystem。我们查询其原理大致是选择两个素数p,q,令N=pow(p,2)*q,c=pow(m,N,N)。其解密公式也是先算出d=pow(N,-1,lcm(p-1,q-1)),再解密m=pow(c,d,p*q)。由于Schmidt-Samoa cryptosystem和开始的RSA使用相同的p,q。而RSA宫要不已知且e接近n。所以我们先使用winner-attack计算出d,phin。再将n分解。然后根据RSA的p,q对Schmidt-Samoa cryptosystem解密
import gmpy2
e = 91043118409828550796773745518585981151180206101005135117565865602978722878478494447048783557571813980525643725323377488249838860897784683927029906188947001149632101513367258267329961684034661252866484981926055087386190015432964608927947646476193251820354738640453947833718397360834701566765504916472450194494897616371452996381159817427887623703639133290358520498419049175941584678802701606995099241245926884172985004839801270005583030514286561971825047719421487004569752638468907609110285739083279629747310953086535889932550905065172805818862336335628248528993024112446002398466115161473573451161053837400091893285717
n = 156749047558583013960513267351769479915110440411448078412590565797031533622509813352093119636835511977253033854388466854142753776146092587825440445182008237325262012698034419137157047927918635897378973846177552961727126115560551970797370239385129543828686170774323306933202481728884019420422360360849592983818405154473369790181636472137741865440233383956571081122982223602667853668754338360008279002325576495573847568301584365514417593244726435632222027817410359417329310347952169273512510934251453361933794586716533950489973436393834189505450956622286216819440777162804798432330933357058175885674184582816364542591313
#winner-attack算得
d= 0x5baecf6f9f0a1bd295e9650b4a10b4a717db030223e803f8e964a18ab9bcfc0954a8f410cc00177ad9f6a0d581e12c6dfd0672dd6e5c3ef37e108e91d39ba4fdL
phi= 0x4d9b10f2117ddad53727e6ce6599681f7275049e10057e06a66272a5c384f8f6c1f259836af50469b66c560e7d6999ed7071ccf5ff8e199e286ad18118d2a289b76861b73f1bebb3b2dde9ceee3e2b702695ccbd76a42f2c9f05f799e2f8
密码学挑战解析

本文深入解析了一系列密码学挑战,包括异或加密、RSA分解、椭圆曲线私钥求解等,通过详细的步骤和代码示例,展示了如何破解各种加密算法。
最低0.47元/天 解锁文章
616

被折叠的 条评论
为什么被折叠?



