Securinets CTF Finals 2022 Yor Forger Writeup
Task: 构造shamir算法的secret
trick零点也可以用于在shamir secret sharing中重构多项式1234567891011121314151617181920212223242526272829303132333435363738394041import hashlib, jsonfrom pwn import *def hash(msg): return hashlib.sha256(msg.encode()).hexdigest()target = int(hash("gimme flag"), 16)r = remote('ADDRESS', PORT)r.recvuntil(b':\n')dat = r.recvline().strip(b'\n').replace(b"'",b'"').replace(b'(',b'[').replace(b') ...
root-me.org Crypto Writeup
Encoding - ASCII题目给出了一个ASCII编码的hex串,解码即可.1bytes.fromhex(your_hex_string)
Encoding - UUuuencode编码, 找个网站或自己编写解码程序即可.
To be continued…
Line CTF 2022 X-Factor Writeup
题目背景RSA 签名: $s \equiv m^d \pmod{n}$
RSA 验签: $m^\prime \equiv s^e \pmod{n}$, 检查$m^\prime = m$是否成立.
一般情况下要求对$m$的哈希值$H(m)$进行签名, 否则给定若干组$m_i$, 可以根据$m_i$的因子构造出新的消息$M$和伪造签名$S$.
假设$M = \prod{m_i^{\alpha_i}}$,$m_i$对应的签名为$s_i$,则有
$S \equiv M^d \pmod{n}$
$\quad \equiv (m_1^{\alpha_1}m_2^{\alpha_2}\cdots m_n^{\alpha_n})^d$
$\quad \equiv (m_1^{\alpha_1})^d(m_2^{\alpha_2})^d\cdots (m_n^{\alpha_n})^d$
$\quad \equiv (m_1^d)^{\alpha_1}(m_2^d)^{\alpha_2}\cdots (m_n^d)^{\alpha_n}$
$\quad \equiv s_1^{\alpha_1}s_2^ ...
nahamCon CTF 2022 Cryptography Writeup
XORROX题目给出了1, 1 ^ k[0], 1 ^ k[0] ^ k[1] ..., 脚本恢复即可
1234567891011121314from pwn import xorxorrox = [1, 209, 108, 239, 4, 55, 34, 174, 79, 117, 8, 222, 123, 99, 184, 202, 95, 255, 175, 138, 150, 28, 183, 6, 168, 43, 205, 105, 92, 250, 28, 80, 31, 201, 46, 20, 50, 56]enc = [26, 188, 220, 228, 144, 1, 36, 185, 214, 11, 25, 178, 145, 47, 237, 70, 244, 149, 98, 20, 46, 187, 207, 136, 154, 231, 131, 193, 84, 148, 212, 126, 126, 226, 211, 10, 20, 119]key = [124, 208]for i in range(2, len(xorrox)): r ...
实用工具
流程化的在线密码学工具箱Cryptii
单表替换密码字母频率分析QuipQUip
Viginere 密码分析Vigenere Solver
古典密码工具集dCode.fr