5月比赛合集
这些题目还是比较简单的,所以放一起了。 zeroG CTF 2026Twin Orbit题目123456789101112131415#!/usr/bin/env python3# -*- coding: utf-8 -*-from Crypto.Util.number import bytes_to_longdef encrypt_message(flag: bytes, n: int): m = bytes_to_long(flag) e1 = 65537 e2 = 17 c1 = pow(m, e1, n) c2 = pow(m, e2, n) return e1, e2, c1, c2 思路已知$$c_1=m^{e_1} \pmod n ,c_2=m^{e_2} \pmod n$$ 用扩展欧几里得求出: se1+te2=gcd(e1,e2)=1 则$$m=c_1^s*c_2^t \pmod n$$ 解答12345678910111213141516from Crypto.Util.nu...
4月国外比赛合集
JerseyCTF 2026Operation Dark Side1234a382223e6e58c51ae1da88aef21bd9eac95e9179b1122e495035e489edccebaff829d8e85118d7f5c0b87368a158fea60836c8f415488a1b994565ee15099ef79cfd46ea6757bb19444e69d1013a2b1447546bf4bec10e2fdb72d8fdd718d484b005d603aa19f2e5dcb7029662603c0e1cb4b8471dae565ea06d8d08c518e05e8396c18ba71749afb0cf4855437ef898ab9eb578326198d0865527053d1eceadfc63eb29e258c80e5fae7493d79f80dc0bc8fc9a2a62d10fb271b8d6d977c0bceefde66246883c8161c99e4031ba5bc710c910e6ac3b84d874bc227076c330e4868f5daf9d2d...
ECC 理论知识
一、简介椭圆曲线密码(ECC)是基于椭圆曲线数学理论构建的非对称加密技术,其安全性依赖于椭圆曲线离散对数问题(ECDLP)的数学困难性。 $$ECC基于有限域上的椭圆曲线方程定义代数结构,通过点加法运算形成有限Abel群。$$ $$目前椭圆曲线主要采用的有限域有以素数为模的整数域 GF(p)和特征为2的伽罗华域 GF(2^m)$$ 二、数学基础离散对数$$对整数b、指数p及其原根a,若可找到唯一指数使得b \equiv a^i \pmod p,其中i \in [0,p-1],则称i为b的以a为基数的离散对数$$ 阿贝尔群一个集合G配备一个二元运算(通常称为加法或乘法)满足以下四条公理: 封闭性:$$\forall a,b \in G,a \cdot b\in G(或a+b \in G)$$ 结合律:$$\forall a,b,c \in G,(a \cdot b)\cdot c=a \cdot (b \cdot c) $$ 单位元:$$\exists e \in G,使得\forall a \in G,e \cdot a=a\cdot e=a$$ ...
RSA-PEM文件
一、格式PEM(Privacy Enhanced Mail)是一种用于存储和传输加密对象的文件格式。 外观特征123-----BEGIN <LABEL>-----Base64 编码的数据(每行 64 字符)-----END <LABEL>----- 常见类型 -----BEGIN PUBLIC KEY-----:公钥 包含:n、e -----BEGIN RSA PUBLIC KEY-----:RSA 公钥(较老格式,较少见) 包含:n、e -----BEGIN PRIVATE KEY-----:PKCS#8 通用 私钥 -----BEGIN (RSA) PRIVATE KEY-----:PKCS#1 RSA 私钥 -----BEGIN CERTIFICATE-----:X.509 证书(其中包含公钥 生成公私钥: 123456789101112131415161718192021from Crypto.PublicKey import RSAfrom Crypto.Util.number import *p,q=getPrime(512),ge...
e和φ(n)不互素
数学知识Ⅰ.二次剩余$$m^2 \equiv c \pmod{p},记p=2^t \cdot {s},由Euler准则:$$ $$对于二次剩余:x^{(p-1)/2} \equiv 1 \pmod p,即x^{2^{(t-1)} \cdot {s}} \equiv 1 \pmod p$$ $$对于二次非剩余:y^{(p-1)/2} \equiv -1 \pmod p,即y^{2^{(t-1)} \cdot {s}} \equiv -1 \pmod p$$ (1)当t=1时$$x^s \equiv 1 \pmod p,两边同时乘x再开方得:x^{(s+1)/2} \equiv x^{1/2} \pmod p$$ $$将c代入:c^{(s+1)/2} \equiv c^{1/2} \pmod p$$ $$故m \equiv c^{1/2} \equiv c^{(s+1)/2} \pmod p$$ (2)当t>1时$$若直接开方:x^{2^{t-2} \cdot {s}} \equ...
Wiener's Attack 维纳攻击
维纳攻击一、攻击条件设$$N=pq,q<p<2q,$$若: $$d < \frac {1}{3}N^{\frac {1}{4}}$$ 给出$$N,e(ed \equiv 1 \pmod {\lambda (N)},$$则攻击者可以恢复d 针对维纳攻击的对策: 选择较大公钥:$$将e替换为e’=e+k \lambda(N),当e’足够大即e’>N^{\frac {3}{2}}$$ 中国剩余定理:$$选择d使得\quad dp \equiv d \pmod {p-1},dq \equiv d \pmod {q-1},但d本身不小,那么可以:$$ $$计算M_p \equiv C^dp \pmod p,Mq \equiv c^dq \pmod q$$ $$利用中国剩余定理:M \equiv M_p \pmod p,M\equiv M_q \pmod q,其中0 \leq M <N$$ $$由于d模 \lambda (N)可能很大,故维纳攻击并不适用$$ 二、攻击原理How to attack$$记G=gcd(p-1,q-1...
picoCTF 2026
1、cryptoamze题目123456LFSR Initial State:[0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1]LFSR Taps:[63, 61, 60, 58]Encrypted Flag:8f0e6d0f5b0dc1db201948b9e0cebd8f184b92a3e4793abf8dac3d9e135f39a638338e7e04fbddef0c6260a4eb758417 解答123456789101112131415161718192021222324from Crypto.Util.number import *def lfsr_left(init_state,taps,num_bits): state=init...
Franklin-Reiter相关消息攻击
一、原理 攻击条件$$当A使用同一公钥对两个具有某种线性关系的M_1与M_2进行加密,并将加密后的消息C_1,C_2发送给B$$$$M_1,M_2具有某种线性关系:M_1 \equiv f(M_2) \pmod N,其中f为一个线性函数$$$$在具有较小错误概率下的情况下,其复杂度为O(e \log_2 N)$$ 攻击原理$$已知C_1 \equiv M_1^e \pmod N,且M_1 \equiv f(M_2) \pmod N$$$$那么M_2是方程f(x)^e \equiv C_1 \pmod N的一个解,即M_2是方程f(x)^e-C_1在模N下的一个根$$$$且M_2是x^e-C_2在模N意义下的一个根,那么x-M_2同时整除上述两个多项式$$$$故可以求得两个多项式的最大公因子,若最大公因子是线性的,那么就求到了M_2$$ e=3时:最大公因子一定是线性的 二、例题 1、题目12345678910111213141516171819202122232425from secret import flagfrom Crypto.Util.number im...
PolarCTF 2025冬季赛
Crypto1、神秘套娃题目12345一天,小明在古玩市场得到一个神秘的套娃,听说这个套娃藏着古代最有钱富豪的宝箱密码,套娃的底部,你发现了三段标注 “核心加密” 的神秘字符串,根据小明细心研究,这些是逐步叠加嵌套得到的密码,已知flag在初步被加密为24292125,请帮小明得到宝箱的密码,或许他能和你46分(注:每一个结果中间加一个空格号,再套上flag{})第一段:22151311012182213第二段:36122921261633143212第一段:3619373118351933 思路由题意得,每两个数字对应键盘上某行某列的字母。得到第一段:stepwise 第二段:nwlahycrxw 第三段:nomziboc。由题目信息可知是逐步叠加嵌套得到的密码,将第二段字符串用凯撒密码枚举偏移量解密,当偏移量等于9时解得encryption。将第三段也偏移9位得到efdqzsft,再枚举偏移量解密,当偏移量等于12时,解得strength 2、ezAES题目1234k = 54686973497341555331323435363638IV = 496E6...