首页 > 其他分享 >NSSCTF 2nd Crypto复现

NSSCTF 2nd Crypto复现

时间:2023-09-03 21:03:46浏览次数:38  
标签:Crypto 2nd flag 2021 2023 NSSCTF hint1 Mod

1,EzRSA

题目代码:

from Crypto.Util.number import *
from secret import flag
m = bytes_to_long(flag)
assert m.bit_length()<200
p = getPrime(512)
q = getPrime(512)
n = p*q
e = 3
c = pow(m, e, n)
kbits = 103
m = (m >> kbits) << kbits
Mod = getPrime(1024)
hint1 = (2021-2023*m) % Mod
hint2 = pow(2, 2023, Mod)
print('n =',n)
print('c =',c)
print('hint1 =',hint1)
print('hint2 =',hint2)
'''
n = 115383855234466224643769657979808398804254899116842846340552518876890834212233960206021018541117724144757264778086129841154749234706140951832603640953383528482125663673926452745186670807057426128028379664506531814550204605131476026038420737951652389070818761739123318769460392218629003518050621137961009397857
c = 5329266956476837379347536739209778690886367516092584944314921220156032648621405214333809779485753073093853063734538746101929825083615077
hint1 = 153580531261794088318480897414037573794615852052189508424770502825730438732573547598712417272036492121110446656514226232815820756435437665617271385368704576530324067841094570337328191161458300549179813432377043779779861066187597784486306748688798924645894867137996446960685210314180286437706545416961668988800
hint2 = 130939024886341321687705945538053996302793777331032277314813607352533647251650781154105954418698306293933779129141987945896277615656019480762879716136830059777341204876905094451068416223212748354774066124134473710638395595420261557771680485834288346221266495706392714094862310009374032975169649227238004805982
'''

简单点,就是 c 直接开 3 次方 ,即得 flag :b'NSSCTF{Rea1_Si9n3n}'

但以学习的想法来写,以下为我的思考:

我想前半部分,他是参考 ctfshow 中 的一道题 Crypto-Comedy 来出题的,后半部分是m高位攻击

考点1: 在k倍的模下构造等式来求解

hint1 = (2021-2023*m) % Mod
hint2 = pow(2, 2023, Mod)

$$k*Mod = 2^{2023}-hint2$$

$$hint1 +2023*m-2021=0 ~mod ~Mod $$

再转化为$$hint1 +2023*m-2021=0 ~mod ~k*Mod$$

如此即可在 sagemath 里求解 m

 

标签:Crypto,2nd,flag,2021,2023,NSSCTF,hint1,Mod
From: https://www.cnblogs.com/Wbuildings/p/Nss2nd.html

相关文章

  • Java:使用javax.crypto.Cipher的AES算法实现数据加密解密
    AES算法加密Stringalgorithm="AES/ECB/PKCS5Padding";//定义加密算法Stringkey="1234567890123456";//这是待加密的信息Stringmessage="HelloWorld.";//这是待加密的信息Ciphercipher=Cipher.getInstance(algorithm);cipher.init(Cipher.ENCRYPT......
  • Mac Catalina安装Python版本Crypto
    在PyCharm2020+VirtualEnvs环境下使用如下命令,在MacCatalina上成功安装Crypto模块:pip3installpycrypto示例'''JustfortestAESalgorithminPython'''importbase64fromCrypto.CipherimportAESdefadd_to_16(value):whilelen(value)%16!......
  • 【NSSCTF逆向】【2023题目】《VidarCamera》
    题目VidarCamera解法这是一道安卓逆向题目,放在模拟器里打开看看需要输入一个序列号啥的,扔jadx里吧。通过字符串搜索定位到关键代码这里应该就是一个变种TEA,更改了加密轮次,delta。不过是TEA加密,写脚本不太难,自己的太丑了,贴个别人的点击查看代码fromCrypto.Util.numbe......
  • 【NSSCTF逆向】【2023题目】《kunmusic》
    题目kunmusic解法这题还是非常有意思的。打开有很多button,可能是需要按button的次数来得到flag把。这是一个.net的程序,需要用dnspy来反编译他反编译这个dll找到这个入口点可以看到是引入了某片数据,然后进行异或104,进行一个解密。找到这个东西、把他保存下来,然后......
  • mysql在安装group_replication插件时,报错"version libcrypto.so.10 not defined in fi
    问题描述:mysql在安装group_replication插件时,报错"versionlibcrypto.so.10notdefinedinfilelibcrypto.so",如下所示:数据库:mysql8.0.27系统:rhel7.364位1、异常重现mysql>installplugingroup_replicationsoname'group_replication.so';ERROR1126(HY000):......
  • CTF Crypto 常用函数库的常见函数使用
    发现有些博客里面写的不是很全,而且自己也懒得去找。一个菜鸡一边学一边补充的,没写完。Crypto.Util.number\(int\rightarrowbytes\)#long_to_bytes()'''将整数转化成byte字符串:param 要转化的数字(int):return 转化结果(byte)'''>>>long_to_bytes(112615676672893)......
  • No module named “Crypto” 解决方案
    某些脚本需要用到Crypto库,但当pipinstallCrypto后仍提示:Nomodulenamed‘Crypto’,解决方案如下:pipuninstallcryptopycryptodomepipinstallpycryptodome12pycrypto和crypto是同一个库,crypto在python中又被称为pycrypto,它是一个第三方库,但是已经停止更新了,所以不建议大......
  • "Your app contains unsafe cryptographic encryption patterns" - How I can get rid
      "Yourappcontainsunsafecryptographicencryptionpatterns"-HowIcangetridofthiswarning?AskQuestionAsked 2years,2monthsagoActive 2yearsagoViewed 5ktimes 7Fewdaysago,In"Pre-launchreportforAPK"inGooglePlayCo......
  • *CTF和nssctf#16的wp
    *ctf2023fcalc分析程序本题存在漏洞,是生活中很容易犯的错误,就是循环或者判断的时候没有注意多一还是少一,这种会发生很严重的问题。比如这个题在过滤数字的时候没有过滤掉0,所以输入0的时候会跳转到栈的内容,从而被攻击者执行shellcode。不过本题目不能直接执行,因为存在一个对浮......
  • 【NSSCTF逆向】【2023题目】《Bytecode》
    题目Bytecode解法是蛮久没见的字节码题目,还有点记忆这里一大长串应该是一串数组,跟存储后变形的flag有关上面的啥打印错误什么的应该是在跑的时候告诉我们有问题,也不用管红框里面可以看到是一个循环从46到152可以继续看到红框里面的东西,应该就是主要的变形过程了。写w......