SICTF2023
SICTF2023 #Round2 Crypto方向
古典大杂烩
1 | 🐩👃🐪🐼👅🐯🐩👈👇👭👟👝🐺🐭👉👙👤👋👚🐪🐫👍👢👮👱🐼👢👨👠👭🐽🐰🐻👚👂👧👠👥👛👮👯👮👬🐾👐👛👌👚👞🐨👏👉👆🐿👆👘👇🐺👦🐸👃🐭👟👑👪👃👁🐻🐻👜🐧👇👊🐧🐾🐼👇🐫🐺👐👆👪🐼👋👌👧🐻👐🐩🐺👥🐽👋👉🐰👎👠👠👣🐧🐫👧🐭👢🐯👑👑🐮👂👏🐻👥👚🐮👋👬👌👥👁👣👅👧👯👦👌👌👍👠👌🐽👉👃👊🐫👉🐨🐮👩👆🐪🐯👘👏👏🐼👩👍👊👍👡👀👰👋👣👨👧👍👜👐👛🐮👘👅👠🐿👂👰👄👈👝👠👤👃👛👘🐭👅👱👆👬👫👥👆🐽👁👐👥👊👇👉👊👩👌👭🐫🐫👬👱🐯👇🐺👁👞👑👙🐮👜👋👘👪👩👚👦👨👀👩👐👉👃🐾👥👀🐫👝👍🐩🐧👰👆👇👨🐪👃🐭👦🐫👱 |
base家族
1 | base100 --> base62 --> base64 --> base58 --> base32 --> base62 |
Radio
1 | from Crypto.Util.number import * |
中国剩余定理
exp:
1 | from Crypto.Util.number import long_to_bytes |
MingTianPao
1 | import binascii |
MTP
网上找个脚本
需要改动一点东西
1 | import Crypto.Util.strxor as xo |
Easy_CopperSmith
1 | from Crypto.Util.number import * |
一般情况下需要已知286位才能求解512的p
但是把small_roots(epsilon = 0.01)
改动epsilon参数为0.01可以在已知264位的情况下求解p
题目给出高282,修改参数epsilon即可求解
exp:
1 | #sage |
签到题来咯
1 | from secret import flag |
相关消息攻击,遍历所有e
参考Franklin-Reiter相关消息攻击_Emmaaaaaaaaaa的博客-CSDN博客
exp:
1 | # sage |
small_e
1 | import libnum |
小e秒出
exp1:
1 | from Crypto.Util.number import * |
预期考点应该是m高位泄露
exp:
1 | #sage |
easy_math
1 | from secret import flag |
$hint_1 = a_1p+b_1q$,$hint_2 = a_2p+b_2q$
则$a_2hint_1 = a_1a_2p+b_1a_2q$,$a_1hint_2 = a_1a_2p + b_2a_1q$
两式相减得$a_2hint_1-a_1hint_2 = (b_1a_2-b_2a_1)q$
于是$q = gcd(n,a_2hint1-a_1hint_2)$,可以做检验
$a_1,a_2$不大,可以爆破
exp:
1 | from Crypto.Util.number import * |
写在最后
星盟安全团队纳新!
欢迎师傅们加群(346014666)学习、讨论!
-------------已经到底啦!-------------