NAPS
根据设计有限次数代理需求阅读NAPS Abstract:DAPS(Double-authentication-preventing signatures),核心目的就是:如果签名者使用相同的地址(第一部分)和不同的载荷(第二部分)签名两条消息,则任何人都能从这两份签名中公开提取出该签名者的私密签名密钥。 应用:A prime application for DAPS is disincentivizing and/or penalizing the creation of two signatures on different payloads within the same address。 Introduction数字签名是现代领域中提供强大完整性和真实性保证的核心密码学原语。 主要应用广泛的有两类: 基于大数分解的RSA-FDH 基于离散对数的数字签名算法(EC)DSA 数字签名的签名和验证以及安全性要求其满足选择消息攻击下的存在不可伪造性(EUF-CMA) 在本文中我们研究一种名为(dubbed)双重身份验证预防签名(DAPS)的签名方案变体(variant...
Litctf2025WP
[LitCTF 2025]basic题目 12345678910111213141516from Crypto.Util.number import *from enc import flag m = bytes_to_long(flag)n = getPrime(1024)e = 65537c = pow(m,e,n)print(f"n = {n}")print(f"e = {e}")print(f"c = {c}")'''n = 15062432188340682520320822387737914124830309863917893924656101655598471108828159945164240103605967778849184539214518550848343024328064917923134988810864976632096109573240029705227400326923070489094968283...
格密码
格密码因为学习背包密码的过程中发现涉及格的知识但是我还不会,恶补一下知识 主要看到是dexterjie的笔记 定义给定$n$维空间中$n$个线性无关向量:$\vec{b_1},\vec{b_2},…,\vec{b_n}$,并把这$n$个向量称为基。 这组向量存在线性组合$x_1\vec{b_1}+x_2\vec{b_2}+…+x_n\vec{b_n}$ 把整系数的线性组和构成的集合称为格即$x_i\in \mathbb{Z} $ 记为:$\mathcal{L}(b_1, b_2, \ldots, b_n) = {\Sigma x_i b_i \mid x_i \in \mathbb{Z}}$ 格基的等价变换顾名思义这些变换产生的格基形成的格都是一样的 列向量交换,即$\vec{b_i} \longleftrightarrow \vec{b_j}$ 向量取反,即$\vec{b_i}\longleftrightarrow -\vec{b_i}$ 整系数线性组合,即$\vec{b_i}\longleftrightarrow \vec{b_i}+k\vec{b_j}$ -...
SM9代理环签名
SM9代理环签名方案摘要条件:SM9数字签名算法 代理环签名方案: 六步骤:系统初始化、密钥提取、代理委托、代理验证、签名和验证 SM9数字签名之前看的一篇有详细讲解签名流程做的笔记 密钥生成中心使用用户标识计算用户的密钥,原始签名者使用已知信息计算代理授权,然后将代理授权委托给代理签名者。代理签名者验证委托的真实性后,通过签名步骤产生代理环签名,产生的签名可以使用验证算法验证。 优势之处:实现了签名权力的委托,同时通过环签名的匿名性保护签名者的隐私,并且在随机预言模型证明其具有适应性选择消息攻击厦大不可伪造性。 引言部分1、1996年,MAMBO[3]等人提出代理签名的概念,允许原始签名者将自己的签名权委托给代理签名者,由代理签名者代替原始签名者进行签名,得到的签名具有同样的效用,实现了签名权的委托与撤销。 2、基于身份的密码体制(Identity-Based Cryptography,IBC) 核心理念:IBC 允许用户直接将**自己的唯一标识(Identifier, ID)**作为公钥使用。例如,用户的电子邮箱地址、IP地址或身份证号等都可以直接作为加密或验签所需的公钥。...
背包密码
参考Dexterjie杰哥 Harry师傅 背包密码前情提要 背包问题假设一个背包可以承受重量为$S$,现在有n个物品,其重量分别为$a_1$,$a_2$,…$a_n$ 问题:哪些物品在最多只能装一次的情况下可以恰好使得背包被装满。 对应关系式:$x_1a_1+x_2a_2+…+x_na_n=S$ 其中($x_i\in0,1$) 实际上,我们可以将明文转换成数字,并将其二进制01码从高位到低位依次作$x_i$. 公布$a_i、S$、这样就实现了,利用背包问题来简单加密明文。 此时,若要破解出$x_i$,爆破攻击的时间复杂度是$O(2^n)$,非常困难也非常安全,但没有意义。 因为加密的目的,是让指定的人(同时有公私钥的人)能快速解密,而只有公钥的人则无法快速解密。 如上所述的加密方式,没有这么一种「私钥」能让拥有者快速解出明文$x_i$ 超递增序列为什么要将这个因为直接爆破攻击时间复杂度为$O(2^n)$,非常困难,为此需要找到一个在特殊情况下可以快速求出序列$X$(即$x_i$组成的序列),即超递增序列。 ${r_1,r_2,…,r_n}$是超递增序列,指的是$r...
DASCTFwp
three_friends题目 12345678910111213141516171819202122232425262728293031323334353637383940from Crypto.Util.number import *flag = b"***********"L = len(flag)m1 = bytes_to_long(flag[:L//3])m2 = bytes_to_long(flag[L//3:2*L//3])m3 = bytes_to_long(flag[2*L//3:])p = getPrime(512)q = getPrime(512)r = getPrime(512)e = 65537n1 = p * qn2 = q * rn3 = p * rc1 = pow(m1, e, n1)c2 = pow(m2, e, n2)c3 = pow(m3, e, n3)print(f"n1 = {n1}")print(f"n2 = {n2}")print(f&...
ECC椭圆曲线
基本概念简介椭圆曲线密码学(英语:Elliptic Curve Cryptography,缩写:ECC)是一种基于椭圆曲线数学的公开密钥加密算法。与传统的基于大质数因子分解困难性的加密方法不同,ECC 依赖于解决椭圆曲线离散对数问题的困难性。它的优势主要在于相对于其它方法,它可以在使用较短密钥长度的同时保持相同的密码强度。目前椭圆曲线主要采用的有限域有以素数为模的整数域 GF(p)和特征为2的伽罗华域 GF(2^m) 椭圆曲线椭圆曲线的定义式:$y^2+axy+by=x^3+cx^2+dx+e$一般方程:$y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6$ 最常用方程(维尔斯特拉斯标准形式)$y^2=x^3+ax+b$,判别式$ Δ=−16(4a^3+27b^2)≠0$椭圆曲线的定义也要求曲线是非奇异的。几何上来说,这意味着图像里面没有尖点、自相交或孤立点。代数上来说,这成立当且仅当判别式 Δ≠0。 还需要一个无穷远点作为曲线的一部分,用O表示。 椭圆曲线阿贝尔群O为零元,相反数 P为关于X轴对称的另一边的点,加法规则为...
ZeroGWP
新生赛好玩 Cry_01.Twin Orbit / 双轨加密题目: Cry_01.Twin Orbit / 双轨加密62 pts Flag 格式:flag{…} ZeroG 空间站的两个轨道通信模块使用了同一个 RSA 模数 n。 工程师为了“安全隔离”,给两个模块设置了不同的公钥指数: e1 = 65537 e2 = 17 他们认为: “指数不同,密文不同,应该不会出问题。” 但 Fen 发现,两条通信轨道传输的是同一份核心指令。 请恢复明文,得到 flag。 两个 RSA 公钥使用了相同的 n。 如果 gcd(e1, e2) = 1,可以尝试扩展欧几里得。 注意处理负指数,可以使用模逆。 附件: 123456n = 78429219359517922271023478963814594552681246043944770910304760471867765174623304038843626799213010074714647155283331308571847776870166597053823412781788611608...
NISACTF 2022WP
NISACTF 2022WP[NISACTF 2022]sign_crypto题目提示:flag为大写喔~思路签到题是LATEX符号 1\ni \sum \sum \chi \theta \forall \{ \eta \Diamond \infty \tau \_ \widehat{nisa} \int \triangle \hookleftarrow \_ \Lambda \aleph \tau \ell \xi \} 因为flag格式为NSSCTF{}所以发现是提取首字母NSSCTF{EDIT_WITH_LATEX} [NISACTF 2022]funnycaeser题目凯撒5号说:大家为什么都说我很奇怪?附件:txt->NRQ;P<uLliW^(XQ/QT\NDh思路shift=5解密一次得到IML;K<pGgdR^(SL/LO\IYc尝试再解密一次得到了flagflag:NSSCTF{Stran9e_Caesar} 题目提示很奇怪->变异凯撒 12345678910111213...
SM9
论文前情提要困难问题假设双线性群 标识签名的定义和安全模型标识签名 (identity-based signature) 由以下 4 个多项式时间算法组成.• (mpk, msk) ← Setup(λ). 已知系统安全参数 λ, 系统建立算法 Setup 以 λ 为输入, 输出系统主公钥 mpk 和主私钥 msk, 其中 mpk 是公开的, msk 由 KGC 秘密保存. 此算法由 KGC 执行.• $sk_{ID}$ ← KeyGen(mpk, msk,ID). 已知标识 ID, 用户私钥生成算法 KeyGen 以系统主公私钥对 (mpk, msk) 和 ID 为输入, 输出用户 ID 的私钥 $sk_{ID}$. 此算法由 KGC 执行.• σ ← Sign(mpk, M,$sk_{ID}$). 已知消息 M, 签名算法 Sign 以系统主公钥 mpk、M 和签名者的私钥 $sk_{ID}$ 为输入, 输出 M 的签名 σ. 此算法由签名者执行.• 1/0 ← Verify(mpk, M, σ,ID). 验证算法 Verify 以系统主公钥 mpk、签名消息 M 及...









