traditional crypto:传统加密
DDH:The Decisional Diffie-Hellman Problem 决策Diffie-Hellman问题
CDH:The Computational Diffie-Hellman Problem 计算DH问题
DLP:The Discrete Logarithm Problem 离散对数问题
IBE:所谓基于身份的密码体制,其实就是将接收者的身份揉入到公钥里面,这样直接使用带身份的公钥进行加密。
ABE:基于属性的加密,不同于身份加密,属性加密体制中使用属性集合来代表用户的身份而不是ID,属性集合由一个或者多个属性构成,通过合理的配置共享策略(由属性以及之间关系所组成的一个逻辑表达式。用于判定谁有资格解密这个密文的),使得策略与属性集合相匹配,来达到私密的数据共享。
FHE:全同态加密(fully homomorphic encryption, FHE)。
SIS:小整数解问题
LWE:容错学习问题
CRHF:抗碰撞的HASH函数
PRF:伪随机函数
PRG:伪随机数生成器
Plaintext:信息的原始形式称为明文
Ciphertext:经过变换加密的明文称谓密文
Encryption:加密
Decryption:解密
Key:密钥
柯克霍夫假设:密码系统的安全性不应该取决于不易改变的算法,而应该取决于可以随时改变的密钥,这就是设计和使用密码系统时必须遵守的原则。即加密和解密算法的安全性主要取决于密钥的安全性。
Cipertext Only Attack:唯密文攻击指的是密码分析者除了拥有截获的密文外(密码算法公开),无其他可以利用的信息。
Known Plaintext Attack:已知明文攻击,指密码分析者不仅掌握了相当数量的密文,还有一些已知的明-密文对可供利用。
Chosen Plaintext Attack:选择明文攻击,指密码分析者不仅能够获得一定数量的明密文对,还可以选择任何明文并在使用同一未知密钥的情况下能得到相应的密文。
Chosen Cipertext Attack:选择密文攻击,指密码分析者能选择不同的被加密的密文,并且而且还能得到对应的明文。
Chosen Text Attack:选择文本攻击,是选择明文攻击和选择密文攻击的组合,即密码分析者在掌握密码算法的前提下不仅能够选择明文并得到对应的密文,而且还能选择密文,得到对应的明文。
可证明安全:有一个词叫做规约。就是将密码体制的安全性归结为求解某个经过深入研究但尚且未能解决的数学难题,即将某种密码体制的安全性问题等价为一个数学难题的求解问题。这种判断方法存在的问题是:它只说明了该密码体制的安全和某个数学问题相关,但是没有完全证明问题本身的安全性。
Symmetric Key Cryptosystem:对称密码体制。密钥完全保密,加密密钥和解密密钥相同,或其中的一个可以很容易地退出另一个。典型算法有DES、3DES、AES、IDEA、RC4、A5等等。对称加密的密钥相对较短,具有很快的加解密速度。但是如何传输密钥是一个很大的问题。
Public Key Cryptosystem:非对称加密体制,或者叫公钥密码体制。在这个体制中:用户A有一对密钥:加密密钥(公钥)Pk和解密密钥(私钥)Sk。两者是不同的,从加密密钥无法推得解密密钥。如果B想要与A进行通信,首先B会使用A的公钥对消息进行加密,然后A收到消息后,用自己的私钥进行解密,获得消息。常见的公钥密码体制包括基于大整数分解的RSA公钥密码体制。基于有限域乘法群上的离散对数难题的ElGamal公钥密码体制,基于椭圆曲线上离散对数难题的公钥密码体制。
SP网络:代换-置换网络(Subsituation Permutation Network)简称SP网络,是由多重S变换(S盒,混乱)和P变换(P盒,扩散)组成的变换网络,是乘积密码的一种常见表示形式。SP网络中的S盒是许多密码算法唯一的非线性部分,其密码强度决定了整个密码算法的强度。
Feistel网络:该网络是由Feistel提出,将长度为n bit(n为偶数)的明文分组为左右各半长为n/2的两部分:L和R。然后对两部分进行迭代处理。该网络保证了算法的可逆性,即加密和解密可以采用同一算法实施。
DES:(Data Encryption Standards)是第一个广泛应用于商用数据保密的密码算法,为对称加密算法。美国国家标准局(NBS,Nation Bureau of Standards)于1973年开始征集联邦数据加密标准,许多公司都提交了算法。DES在此期间产生。
AES:1977年美国国家标准与技术研究院(NIST,Nation Institute of Standards and Technology)公开征集高级加密标准(AES,Advanced Encryption Standard),基本要求是安全性能不低于三重DES,性能比三重DES快,并且特别提出高级加密标准必须是分组长度为128位的对称分组密码,且支持长度为128位,192位,256位的密钥。2001年,NIST正式公布高级加密标准AES,并且于2002年5月26日正式生效。
IDEA:国际数据加密算法(IDEA,International Data Encryption Algorithm)由瑞士的来学嘉和James Massey于1990年公布。IDEA受到专利保护,要先获得许可证之后,才能在商业应用程序中使用,著名的电子邮件隐私技术PGP就是基于IDEA的。
FSR:反馈移位寄存器(Feedback Shift Register)一般由移位寄存器和反馈函数(Feedback Function)组成。移位寄存器是由位组成的序列,其长度用位表示,每次移位寄存器中所有位右移一位,最左端的位根据寄存器中某些位的部分被称为反馈函数,最右端一个寄存器移出的值是输出位。移位寄存器的周期是指输出序列从开始到重复时的长度。
LFSR:线性反馈移位寄存器(LFSR,Linear Feedback Shift Register)的反馈函数是寄存器中某些位简单异或,这些位叫做抽头序列(Tap Sequence),有时也叫Fibonacci配置(Fibonacci Configuration)。
Hash函数:Hash函数也称为哈希函数/散列函数,杂凑函数,是一个从消息空间到像空间的不可逆映射,可以将“任意”长度的输入经过变换以后得到固定长度的输出。他是一种单向密码体制,即只有加密过程,不存在解密过程。
消息摘要:Hash函数的单向性和输出长度固定的特征使其可生成消息的“数字指纹”(Digital Fingerprint),也称为消息摘要(MD,Messege Digest)或哈希值/散列值(Hash Value),主要应用于消息认证,数字签名,口令的安全传输与存储,文件完整性校验等方面。
SHA1:1993年,NIST公布了安全散列算法SHA0(Secure Hash Algorithm)标准,1995年4月17日,公布的修改版本称为SHA-1,是数字签名标准中要求使用的算法。
RSA公钥密码:1978年,美国麻省理工学院的Rivest,Shamir,Adleman联合提出了RSA公钥密码体制,是第一个安全实用的公钥密码算法,其安全性依赖于大整数分解的困难性。RSA公钥密码体制可以用于加密,也可以用于数字签名,且具有安全,易于实现的特点。
ElGamal公钥密码:该公钥密码体制是基于有限域上离散对数问题,既可以用于加密,又可以用于数字签名,由于其较好的安全性,也就是同一明文在不同的时刻会生成不同的密文,在实际应用中得到了广泛的应用,尤其在数字签名方面的应用,著名的数字签名标准(DSS,Digital Signature Standard)其实就是ElGamal签名方案的一种变形。ElGamal公钥密钥体制每次加密运算需要选择一个随机数,密文即依赖于明文,又依赖于随机数。因此对于同一个明文,不同的时刻生成的密文不同。此外,ElGamal加密使得消息扩展了两倍,即密文的长度是对应明文长度的两倍。
数字签名:(Digital Signature),也称为电子签名,是指附加在某一电子文档中的一组特定的符号或者代码。它利用密码技术对该电子文档进行相关信息提取并进行认证形成,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子文档在传输过程中是否被篡改或者伪造。
- 发送方A将消息用Hash算法产生一个消息摘要(Messege Digest)。
- 发送方A用自己的私钥对消息摘要进行加密,这个加密后的消息摘要就是数字签名
- 发送方A将消息与签名发送给接收方B
- 接收方B接受到消息及其签名后,用发送发A的公钥解密这个签名,获得由发送方A生成的消息摘要。
- 接收方B用发送方A所用的Hash算法重新生成所获得消息的摘要,对比这两个摘要。若相同则说明签名是发送方A针对这个消息的有效签名,否则无效。
代理签名:代理签名是指原始签名者把他的签名权授权给代理者,代理者代表原始签名者行使他的签名权。当验证者验证代理签名时,验证者既能够验证这个签名的有效性,也能确信这个签名是原始签名者认可的签名。
盲签名:这种签名要求签名者能够在不知道被签名文件内容的情况下对消息进行签名。即使签名者在以后看到了被签名的消息及其签名,签名者也不能判断出这个签名是他何时为谁生成的。直观上讲,这种签名的生成过程就像签名者闭着眼睛对消息签名一样,所以形象地称为盲数字签名。
密码协议的参与者:参与者是指参与协议的各方,每个参与者被抽象为具有概率多项式时间算法的图灵机,参与者可能是朋友或者完全信任的人。也可能是敌人或者相互完全不信任的人。据参与者在协议中的行为将其分为:诚实参与者,半诚实参与者和恶意参与者。
诚实参与者:诚实参与者完全按照要求完成执行过程中的各个步骤,同时保密自己的所有输入,输出以及中间结果。诚实参与者也会根据自己的输入,输出以及中间结果来推导其他参与者的信息,但是不会被攻击者腐败。
半诚实参与者:半诚实参与者在协议的执行过程中,完全按照协议的要求完成协议的各个步骤,但是同时可能将自己的输入,输出以及中间结果泄露给攻击者。
恶意参与者:恶意参与者在协议的执行过程中,完全按照攻击者的意志执行的各个步骤,他不但将自己的所有输入,输出以及中间结果泄露给攻击者,还可以根据攻击者的意图改变输入信息,伪造中间以及输出信息,甚至中止协议。
攻击者:协议执行中,攻击者会破坏协议安全性或者正确性,通过腐败参与者的一个子集,来控制其对协议进行攻击。根据攻击者对恶意参与者的控制程度,攻击者的计算能力,对恶意参与者的控制程度,网络同步与异步状态,自适应性等准则,可以对攻击者有不同的分类。其中按照对恶意参与者控制程度,可以将攻击者分为以下的三类:
被动攻击者:被动攻击者又称为半诚实攻击者,只是监听恶意参与者的输入,输出以及中间计算结果,并不控制恶意参与者的行为(比如修改恶意参与者的输入输出)
主动参与者:除了监听任意参与者的输入,输出以及中间结果外,主动攻击者还控制恶意参与者的行为(如恶意篡改参与者的输入,按照自己的意图控制恶意参与者的输出等)
隐蔽攻击者:隐蔽攻击者(Convert adversary)指的是介于被动攻击者与主动攻击者之间的攻击者类型,隐蔽攻击者以被发现的概率为(称为遏制因子)危险去攻击协议,被隐蔽攻击者腐败的参与者可以进行主动的腐败行为。
半诚实模型:如果所有参与者都是半诚实或者诚实的,称此模型为半诚实模型。半诚实成员完全遵守协议,但它会收集协议执行过程中的所有记录,并视图推断其他成员的输入,半诚实模型中的攻击者都是被动的。
恶意安全:有恶意参与者的模型称为恶意模型。恶意参与者完全按照攻击者的意愿执行协议的各个步骤,他不但将自己的所有输入,输出以及中间结构泄露给攻击者,还可以根据攻击者的意图改变输入信息,伪造中间以及输出信息,甚至于中止协议。恶意模型中的攻击者是主动的。
零知识证明:(Zero Knowledge Proof),是一种利用证明者在不泄露任何信息的情况下证明其掌握知识正确性的密码学协议。该协议的一方称为证明者(Prover),用P表示;另一方称为验证者(Verifier),用V表示。零知识证明指的是P视图使得V相信某个论断是正确的,但是却不向V泄露任何有用的信息,即P在论证的过程中V得不到任何有用的信息。零知识证明除了证明证明者论断的正确性外不泄露任何其他信息或者知识。
SMC:安全多方计算(Secure Multi-party Computation)由中国计算机科学家,2000年图灵奖获得者姚启智教授于1982年在论文《Protocols for secure computations》中以百万富翁问题(两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方以及其他第三方知道自己财富的任何信息),开创了密码学研究的新领域。安全多方计算是指在一个互不信任的多用户网络中,n个参与者P1,P2……Pn,每个持有秘密数据xi,希望共同计算出函数F(x1,x2,……xn)=(y1,y2,……yn),Pi仅仅得到结果yi,并且不泄露xi给其他参与者。
CA:认证机构(Cerificate Authority),又称为证书授权中心,是PKI的核心组成部分和执行机构,它为每个使用公钥的用户发放一个数字证书,证明证书中列出的用户合法拥有证书中列出的公开密钥。认证中心还应该包括证书申请注册机构RA(Registration Authority),它是数字证书的注册审批机构。
量子密码:量子密码学是量子物理学和密码学相结合的一门新兴科学,量子密码通信不是用来传送密文或者明文,而是用来建立和传送密钥的,这个密钥是绝对安全的。量子密码通信是目前公认唯一能实现绝对安全的通信方式,能够保证通信双方可以觉察出潜在的窃听者并采取相应措施使窃听者无法破解量子密码,无论破译者有多么强大的计算能力。
LPN:与LWE区别理解。此为学习带有噪声的奇偶性
UC:universal composability framework 通用可组合性框架
ZK proof:零知识证明
CRS模型:公共引用字符串
extraction/simulation:提取和模拟
PPT:任何在多项式时间内运行的算法
多项式时间:Polynomial time在计算复杂性理论中衡量算法运行时间的概念。当一个问题可以被一个算法解决,而这个算法的运行时间随着输入大小的增长而以多项式的速度增长,我们就说这个算法在多项式时间内解决了这个问题。
P问题 Polynomial time问题,是那些可以通过确定性多项式时间算法解决的决策问题的集合。
NP问题 Nondeterministic Polynomial time NP问题可以在多项式时间内被非确定性图灵机解决,或者等价的,可以在多项式时间内验证一个给定的解是否正确。
多项式时间通常代表了问题解算的可行性,对于一个给定的问题,如果存在一个多项式时间算法可以解决它,那么这个问题就被视为在计算上是可解的。