# Misc

# 下一站上岸

用 010 查看发现图片末尾有隐写

image-20240202225845431

得到提示:摩斯密码

image-20240202225927216

后根据考公的思路图形有两个交点的可以视为 - ,一个交点的可以视为 . ,没有交点的视为空格进行摩斯解密

下一站上岸

可得 flag (需要变小写,并且包裹 begin {})

image-20240202231851078

# 你知道中国文化嘛 1.0

# Crypto

# Hard_ECC

源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from flag import flag

A = [0,
3,
0,
973467756888603754244984534697613606855346504624,
864199516181393560796053875706729531134503137794]
p = 992366950031561379255380016673152446250935173367
ec = EllipticCurve(GF(p), [A[0], A[1], A[2], A[3], A[4]])
T = ec.random_point()
secret = int.from_bytes(flag, 'little')
Q = T * secret
print(T, Q)
# (295622334572794306408950267006569138184895225554 : 739097242015870070426694048559637981600496920065 : 1)
# (282367703408904350779510132139045982196580800466 : 411950462764902930006129702137150443195710071159 : 1)

exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A = [0, 3, 0, 973467756888603754244984534697613606855346504624, 864199516181393560796053875706729531134503137794]
p = 992366950031561379255380016673152446250935173367
ec = EllipticCurve(GF(p), [A[0], A[1], A[2], A[3], A[4]])

T = ec(295622334572794306408950267006569138184895225554, 739097242015870070426694048559637981600496920065)
Q = ec(282367703408904350779510132139045982196580800466, 411950462764902930006129702137150443195710071159)

try:
k = T.discrete_log(Q)
print("Secret scalar (k):", k)

secret_bytes = int(k).to_bytes((k.bit_length() + 7) // 8, 'little')
print("Secret in bytes:", secret_bytes)
except Exception as e:
print("Error solving discrete log:", e)

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

泠鹇 微信支付

微信支付

泠鹇 支付宝

支付宝

泠鹇 贝宝

贝宝