基础密码学
文章平均质量分 93
基础密码学
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
Randomized Encodings in NC^0
IK00] 利用 Branching Program 构造出了任意布尔函数的 degree-3 随机多项式,这是紧的。在较温和的假设下,密码原语 OWF,PRG,CR-Hash,Enc,Sign,MACs,NI-Sommit 都可以在。因为 [IK00] 构造出了任意布尔函数的 degree-3 随机多项式,因此 [AIK04] 就构造出了。利用 minimal PRG,可以构造出一个对称加密方案,使得它的加密是落在。的电路所计算,这个电路包含:有界扇入的 OR 以及 AND,无界扇入的。原创 2024-05-21 17:45:18 · 757 阅读 · 0 评论 -
FHE 的应用场景
HPRE 的一种简单实现就是 delegator 利用 delegatee 的 pk 加密自身的 sk 发送给 proxy,于是 proxy 可以在不知道 sk 的情况下实现密文的重加密。实现了大数据集上的峰岭回归。[DHP+18] 提出了一种基于 Finite Field Isomorphism(FFI)问题的 FHE,说的是恢复两个有限域之间的同构映射是困难的。变体 B/FV,[BEHZ16] 和 [HPS19] 给出了 BFV 的 RNS 变体,[KLPX18] 给出了 BFV 的大明文模数的变体。原创 2024-03-02 17:15:25 · 1005 阅读 · 0 评论 -
FO with Prefix Hashing & KEM Generalizations
通常的,PKE 的安全性定义都是针对 **Single-user Setting** 来说的:单个用户生成公私钥对,敌手试图区分密文、恢复明文、恢复私钥。然而 [Has88] 给出了 RSA 的一种攻击:三个用户分别生成公私钥对,另一个用户发送相同的消息给他们(不同密文的消息存在关联),敌手利用这些密文所加密的是同一个明文的关系,可以恢复出这个消息。这种场景称为 **Multi-user Setting**,敌手的攻击能力更强。一种解决办法是在明文后边 padding 一个随机串,从而相同消息被强行设置为了原创 2023-12-19 15:13:06 · 947 阅读 · 0 评论 -
近似同态加密的 IND/SIM-CPA+ 安全性:对于 CKKS 实际有效的攻击
CKKS 满足 IND-CPA 安全性,但是并非是 IND-CPA+ 安全的,它在某些 MPC 场景中完全不安全!原创 2023-12-08 16:19:15 · 1454 阅读 · 0 评论 -
FO-like Transformation in QROM & Oracle Cloning
# Fine-Grained FO[HHK17] 给出了**细粒度的变换**,先从 OW-CPA 构造出 IND-CPA 或者 OW-PCA,然后再继续构造出 IND-CCA,他们的归约比之前的工作更紧。原创 2023-11-26 22:52:09 · 1437 阅读 · 1 评论 -
PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto
[NY90] 提出了 IND-CCA1 的概念,[RS91] 提出了 IND-CCA2 的概念。[GO94] 证明了,在标准模型下不存在非凡的 NIZK。原创 2023-09-20 17:15:04 · 619 阅读 · 0 评论 -
Naor-Yung Paradigm & CCA Secure SWHE
# Naor-Yung Paradigm最早在 [BFM88] 中,文章提出了 NIZKP 的概念,并证明任意的 ZKP 协议中的交互,可以被取代为一个**共享的短随机带**。本文基于**二次剩余假设**,构造了一个**三着色语言**的非交互零知识证明协议。[BFM88] 最后简略地提出,可以用 NIZKPoK 证明 “**我知道此密文的解密**”,从而使得解密神谕无用,把 IND-CCA 归约到 IND-CPA 上,第一次给出了 IND-CCA 安全的密码协议。原创 2023-09-14 17:40:29 · 258 阅读 · 0 评论 -
Impagliazzo five-worlds
# 五个世界在复杂性理论上,我们的世界可能是(目前没有办法排除掉的)下面的五个世界之一。原创 2023-09-01 11:46:20 · 368 阅读 · 0 评论 -
什么是 ORAM
Oblivious Random-Access Machine (ORAM) 是一种计算机模型,可以抵御(主动/被动)敌手观察到 “访存模式”。所谓 Oblivious 指的就是敌手**无法区分不同的访存地址序列**,只要这两个输入下程序的执行时间相同。ORAM 最初是用来做软件保护的,但之后在 MPC 等其他领域中大展拳脚(类似于 ZKP 的命运)。应用场景:假设数据在内存中是加密的,敌手无法观察到内存中写入的数据是什么。但是,假如敌手可以观察到 CPU 的访存地址,那么就会泄露一定的信息(比如,相邻原创 2023-08-31 16:24:37 · 457 阅读 · 0 评论 -
承诺协议:定义 & 构造
承诺协议(**Commitment Scheme**)是一个两阶段的两方协议。一方是承诺者(Committer)$C$,另一方是接收者(Receiver)$R$,两者都是 PPT 能力的。原创 2023-05-12 15:50:37 · 1125 阅读 · 0 评论 -
Branching Program(5-PBP)
将一个**布尔电路转化为 5-PBP** 的方法如下:1. 在 Output-Gate 的位置开始递归,将识别 $A$ 的深度 $d$ 的布尔电路,转化为两个深度 $d-1$ 的分别识别 $A_1,A_2$ 的布尔电路以及一个 AND-Gate2. 接着对深度 $d-1$ 的两个布尔电路分别构造出 5-PBP,将它们按照 AND-Gate 的串联程序组合起来,如果两个 5-PBP 的输出 $\sigma_1=\sigma_2=\sigma$ 则使用引理换一个 $\sigma_2=\tau \neq \原创 2023-04-07 16:25:32 · 665 阅读 · 4 评论 -
安全性归约(一些反例)
听课和做题时遇到的一些反例,这里随意记录下。有硬核谓词的函数不一定是单向的。令函数 f(x′∥x′′)=x′′f(x'\|x'')=x''f(x′∥x′′)=x′′,易知 b(x′∥x′′)=x′b(x'\|x'')=x'b(x′∥x′′)=x′ 是其硬核谓词,但是 fff 不是单向函数。但如果 fff 是 1-1 的,那么 fff 是弱单向的。f(x)f(x)f(x) 是 OWF,则它的迭代 f(f(x))f(f(x))f(f(x)) 不一定是 OWF。例如 f(x′∥x′′)=g(x′′)∥0nf(x'原创 2022-11-24 10:54:44 · 703 阅读 · 0 评论 -
群签名、环签名、盲签名
群签名方案是算法组ΠGS=(Gen,Sign,Ver,Open)ΠGS=(Gen,Sign,Ver,Open),Gen(1λ,n)Gen(1λ,n):密钥生成算法,nnn为群成员数,输出gvkgvkgvk:群公钥,用于验签gmskgmskgmsk:主私钥,由管理员持有,用于追踪成员身份gsk=(gsk[1],⋯,g。原创 2022-11-23 22:19:21 · 3179 阅读 · 4 评论 -
安全性归约(构造 2)
一次一密(one-time pad):Enc(s,m)=s⊕mEnc(s,m)=s \oplus mEnc(s,m)=s⊕m,密钥过长。准一次一密:设 GGG 是 PRG,Enc(s,m)=G(s)⊕mEnc(s,m)=G(s) \oplus mEnc(s,m)=G(s)⊕m,密钥不可重用。若 PRF 存在,那么多消息 IND 的私钥加密方案存在。设 {Fs}\{F_s\}{Fs} 是 PRF。加密时随机选取 rrr,令Enc(s,m)=(r,Fs(r)⊕m)Enc(s,m) = (r,F_s(r)原创 2022-11-18 11:29:51 · 1381 阅读 · 0 评论 -
安全性归约(构造 1)
设 III 是多项式可列举的指标集,若 fff 是 III 上的非全域(弱)单向函数,令g(x):=f(x′), g′(x):=f(x′)∥x′′g(x):=f(x'),\, g'(x):= f(x')\|x''g(x):=f(x′),g′(x):=f(x′)∥x′′其中 x=x′∥x′′∈{0,1}∗x=x'\|x'' \in \{0,1\}^*x=x′∥x′′∈{0,1}∗,且 ∣x′∣=max{n∈I:n≤∣x∣}|x'|=\max\{n \in I:n \le |x|\}∣x′∣=max{n原创 2022-11-18 11:28:41 · 483 阅读 · 0 评论 -
安全性归约(游戏)
在将攻击Γ\GammaΓ的算法A′A'A′归约到攻击Π\PiΠ的算法AAA时,让A′A'A′根据ChΓCh_\GammaChΓ提供的信息,为AAA模拟出同分布的ChΠCh_\PiChΠ,然后A′A'A′根据AAA针对ChΠCh_\PiChΠ的输出,计算出针对ChΓCh_\GammaChΓ的输出。原创 2022-11-16 11:39:05 · 916 阅读 · 0 评论 -
多项式承诺:KZG
我们说函数f:X×Y→Xf:X×Y→X是准交换的(),如果对于任意的x∈Xx \in Xx∈X,以及任意的y1,y2∈Yy1,y2∈Y,有f(f(x,y1),y2)=f(f(x,y2),y1)f(f(x,y1),y2)=f(f(x,y2),y1)单向累加器()是一种准交换的单向哈希函数(OWHF),即y。原创 2022-11-15 00:07:19 · 1859 阅读 · 0 评论 -
安全性归约(安全性定义 - 2)
完美安全性:密文分布与明文分布相互独立,不同明文的密文是不可区分的,{Enc(k,x;r): k←Gen, x←Xλ}≡{Enc(k,x′;r): k←Gen, x′←Xλ}\{Enc(k,x;r):\, k \leftarrow Gen,\, x \leftarrow X_\lambda\} \equiv \{Enc(k,x';r):\, k \leftarrow Gen,\, x' \leftarrow X_\lambda\}{Enc(k,x;r):k←Gen,x←Xλ}≡{Enc(k,x′;r原创 2022-11-11 23:20:05 · 529 阅读 · 0 评论 -
安全性归约(安全性定义 - 1)
概率总体:令 III 是可抽样的可数(有限/无限)集合,由 III 索引的随机变量序列记为 X={Xi}i∈IX = \{X_i\}_{i \in I}X={Xi}i∈I,其中 ∀i∈I,Xi\forall i \in I,X_i∀i∈I,Xi 是域 Di⊂{0,1}∗D_i \sub \{0,1\}^*Di⊂{0,1}∗ 上的随机变量。可有效重构:概率总体 X={Xn}n∈NX = \{X_n\}_{n \in \mathbb N}X={Xn}n∈N,存在 PPT 算法 SSS,对于任意的 n原创 2022-11-11 23:13:23 · 578 阅读 · 0 评论 -
安全性归约(基础)
现代密码学的**三个层次**:1. 基本困难问题2. 基于困难问题建立的密码原语(Cryptographic primitive)3. 密码方案、密码协议、应用系统安全性:1. **信息论安全**,两个分布几乎完全相同2. **计算安全**,两个分布不同(甚至差异很大),但是概率多项式时间(PPT)不可区分**可证明安全**:给出安全模型,设计方案,归约证明安全性(攻击密码方案的计算复杂度,不低于求解基础困难问题)1. 基于**模拟**的模型2. 基于**游戏**的模型构建密原创 2022-11-09 23:48:44 · 1011 阅读 · 0 评论 -
计算复杂性理论
参考:OI Wiki - 计算理论基础问题字母表(alphabet):有限非空集合Σ\SigmaΣ,其中的元素被称为符号(symbol)语言(language):字母表中元素组成的串的子集,L∈Σ∗L \in \Sigma^*L∈Σ∗;任何语言都可以转化为比特串,一般令Σ={0,1}\Sigma=\{0,1\}Σ={0,1}判定问题:判定一个串xxx是否属于一个语言LLL,只能回答Yes/No。f:Σ∗→{0,1}f:\Sigma^* \rightarrow \{0,1\}f:Σ∗→{0,1}功能原创 2022-04-17 13:49:48 · 637 阅读 · 0 评论 -
线性反馈移位寄存器(LFSR)和 Berlekamp-Massey 算法
如果给定一个长度为 $N$ 的序列片段 $\textbf{a} = a_1a_2 \cdots a_N \in \mathbb F^N$,已知它是由线性递归关系生成的。如何计算出生成它的最短的 LFSR ?我们使用联接多项式 $f$ 以及阶数 $l$ 来描述 LFSR。我们将 $(f_N,l_N)$ 称作 $\textbf{a}$ 的**线性综合解**,如果 $f_N$ 对应的 $l_N$ 级 LFSR 是可以生成 $\textbf a$ 的阶数最小的 LFSR。原创 2022-10-27 00:20:34 · 3252 阅读 · 6 评论 -
熵:密钥&明文&密文
加密方案是五元组,Π=(P,C,K,E,D)\Pi=(P,C,K,E,D)Π=(P,C,K,E,D):下面是关于明文空间、密文空间、密钥空间的熵之间的关系。本科学的信息论好些东西记不清了。研究生应用密码学课程的习题有相关内容,就简略推导了下,可能有错误,请见谅 ψ(*`ー´)ψ做拆解:H(P,K)=H(P)+H(K)−I(P;K)H(P,K) = H(P) + H(K) - I(P;K)H(P,K)=H(P)+H(K)−I(P;K)因为明文和密钥的选取是相互独立的,因此I(P;K)=原创 2022-10-04 16:50:17 · 2610 阅读 · 0 评论 -
Verifiable Secret Sharing
(n,t,u)−(n,t,u)-(n,t,u)−非交互式可验证秘密共享协议,是一组概率多项式时间的算法(Share,Recover,Check,Encrypt)(Share,Recover,Check,Encrypt)EncryptEncryptEncrypt是加法同态的加密方案,令Y←Encrypt(α)Y←Encry。原创 2022-09-12 20:00:14 · 850 阅读 · 2 评论 -
Shamir秘密共享 与 ElGamal门限解密
Secret sharing scheme定义秘密共享方案是可有效计算的是算法组(G,C)(G,C)(G,C),定义为GGG:概率算法,形如(α1,⋯ ,αs)←RG(s,t,α)(\alpha_1,\cdots,\alpha_s) \leftarrow_R G(s,t,\alpha)(α1,⋯,αs)←RG(s,t,α),其中0<t≤s0<t \le s0<t≤s,α∈S\alpha \in Sα∈S是秘密,输出的SK:={α1,⋯ ,αs}SK := \{\alpha_1原创 2022-05-07 22:39:28 · 1344 阅读 · 2 评论 -
签名方案的`去随机化`以及`消息域扩展`
去随机化(Derandomizing)令S=(G,S,V)\mathbb S = (G,S,V)S=(G,S,V)是定义在空间(M,Σ)(M,\Sigma)(M,Σ)上的安全的签名方案。其中签名算法SSS是概率的,表示为确定性图灵机S(sk,m;r)S(sk,m;r)S(sk,m;r),使用的随机磁带rrr取自空间RRR。令FFF是定义在空间(K,M,R)(K,M,R)(K,M,R)上的安全的PRF。那么去随机化的签名方案S′=(G′,S′,V)\mathbb S' = (G',S',V)S′=(G′,S原创 2022-05-05 14:29:17 · 251 阅读 · 0 评论 -
掷硬币协议
模型Ideal Model计算函数f:{0,1}∗×{0,1}∗→{0,1}∗×{0,1}∗f: \{0,1\}^* \times \{0,1\}^* \rightarrow \{0,1\}^* \times \{0,1\}^*f:{0,1}∗×{0,1}∗→{0,1}∗×{0,1}∗的两方协议π\piπ,参与方是P1,P2P_1,P_2P1,P2。存在敌手AAA完全控制损坏的一方Pi,i∈{0,1}P_i,i \in \{0,1\}Pi,i∈{0,1},诚实的另一方记做Pj,j=1−iP_j,j原创 2022-04-30 17:05:03 · 807 阅读 · 0 评论 -
从OWF到密码学方案
OWF求逆实验InvertA,f(n)Invert_{A,f}(n)InvertA,f(n),选择均匀的x∈{0,1}nx \in \{0,1\}^nx∈{0,1}n,并计算y:=f(x)y:=f(x)y:=f(x)敌手AAA以1n1^n1n和yyy为输入,并输出x′x'x′实验的输出为111当仅当f(x′)=yf(x')=yf(x′)=y(注意,我们不要求x’=xx’=xx’=x)一个函数f:{0,1}∗→{0,1}∗f:\{0,1\}^* \rightarrow \{0,1\}^*f:{原创 2022-04-18 22:14:32 · 3075 阅读 · 0 评论 -
密码学承诺协议
承诺协议密码学承诺方案是一个涉及两方的二阶段交互协议,双方分别为承诺方和接收方。第一阶段为承诺阶段c←Com(x,r)c \leftarrow Com(x,r)c←Com(x,r),承诺方将声明xxx和随机数rrr用OWF做变换,发送承诺ccc给接收方。第二阶段为打开阶段(x,r)←Decom(c)(x,r) \leftarrow Decom(c)(x,r)←Decom(c),承诺方简单地发送ccc对应的x,rx,rx,r给接收方,接收方判断c=Com(x,r)c=Com(x,r)c=Com(x,r)是否原创 2022-04-11 13:11:30 · 3839 阅读 · 2 评论 -
Fujisaki - Okamoto Conversion(FO转换)
令s←RSs \leftarrow_R Ss←RS定义为:从有限集合SSS中均匀随机选择一个元素sss令a←A(⋅)a \leftarrow A(\cdot)a←A(⋅)定义为:将算法AAA的结果赋值给aaaHybrid Encryption非对称加密非对称加密方案,定义为一个算法组:Πasym=(Kasym,Easym,Dasym,COINSasym,MSPCasym)\Pi^{asym} = (K^{asym},E^{asym},D^{asym},COINS^{asym},MSPC^{as原创 2022-03-23 14:45:31 · 2325 阅读 · 0 评论 -
密码分析技术 - 复杂度分析
复杂度分析差分分析对CipherFour的4+1差分分析。4轮区分器:Pr(din→4rdout)>1/24Pr(din \stackrel{4r}{\rightarrow} dout) > 1/2^{4}Pr(din→4rdout)>1/24S/N:m:明密文对个数p:差分概率,81/1024α\alphaα:去噪后,每个方程的解数,4β\betaβ:去噪比例,7387 / 216k:密钥长度,4S/N=mpmβα2k=p2kαβ=2.56S/N = \dfrac原创 2020-12-01 13:58:21 · 2391 阅读 · 4 评论 -
破解Enigma机
破解Enigma机 二战历史上著名的Enigma机,这里不再介绍其背景了。 有个电影《模仿游戏》值得一看。Enigma机构造包含26个英文字母的键盘(Keyboard)标有26个英文字母的线路接线板(Stecker)扰频器组合(Rotors)反射器(Reflector)包含26个英文字母显示灯的显示灯板(Lightboard)加解密算法p:明文字符c:密文字符S:接线板(含密钥。设使用了lll条连接线,密钥个数为:26!/((26−2l)!×l!×2l)26!/((2原创 2020-11-30 16:11:01 · 4149 阅读 · 0 评论 -
密码学基础知识
密码学基础信息安全三要素(CIA)机密性(Confidentiality)完整性(Integrity)可用性(Availability)信息安全四大安全属性机密性完整性可认证性不可抵赖性Kerckhoffs 假设在密码分析中,除密钥以外,密码分析者知道密码算法的每一个设计细节。密码算法的安全性应依赖于密钥的保密性,而非算法本身的保密性。安全性无条件安全性无论有多少可用的可用的计算资源和信息,都不足以唯一确定密文所对应的明文。比如"一次一密",密原创 2020-11-30 14:30:36 · 1192 阅读 · 1 评论