•保密性:未经授权方应无法访问敏感数据。
举例:所有的 encryption
•完整性:未经授权方检测,数据应不可修改。
举例:message auth code, digital signature
•真实性:未经授权的方应不可伪造数据
举例:digital signature
•可用性:应向授权人员提供数据。
• Classical ciphers 经典密码学
• Modern symmetric-key ciphers现代对称加密
• Block cipher
• Stream cipher
• Modern asymmetric-key ciphers现代非对称加密
• Public key encryption
• Identity-based encryption
• Attribute-based encryption
• Functional encryption
加密需要密钥Key,而编码则不需要。
编码的例子:
ASCII码
语言翻译,比如英语翻译成汉语
用摩尔斯电码等等。
这些都不需要key!
对称加密:
加密和解密的密钥是相同的。
Advantage: 算法公开、计算量小、加密速度快、加密效率高
Disadvantage: 一方的秘钥被泄露=gg.
收、发双方所拥有的钥匙数量巨大,密钥管理会成为双方的负担。
常见的对称加密算法有: DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES
非对称密钥加密
非对称加密算法需要两个密钥:
一个公钥(加密密钥)和一个私钥(解密密钥)。
优点:安全
缺点:低速度
常见的非对称加密算法有: RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用。
Goal + Atk
understand 攻击者有着最强大的能力,却不能实现最简单的目标难么证明这个model很Strong!
安全目标是什么?防止攻击者
•发现解密密钥
•解密密文
•获取有关加密消息的任何重要信息
攻击模型是什么?
•仅密文 Ciphertext only
•已知消息攻击 Known-message attack
•选择消息攻击 Chosen-message attack
•选择密文攻击 Chosen-ciphertext attack
//攻击强度从上到下递增
An encryption scheme has semantic security if the attacker A learns norting (except the length of the message) from a ciphertext c. 攻击者除了长度啥都不知道。
我们称之为Perfectly secure system
The ciphertext c does not provide any additional information to the attacker.
然而这个系统是不切实际的! We focus on computationally secure systems in modern cryptography.
An Encryption Scheme has indistinguishability if for any PPT attacker, the winning probability is≈1/2. 猜中的概率等于瞎猜的概率.
两个限制:
Only consider polynomial time adversary.
The two challenge messages m0 and m1 must have equal length.
攻击者的时间必须是有限的,不能考虑没有时间限制的暴力破解
M0和M1的长度必须相等。
我们更深入一点:
Is Vigenere Cipher scheme IND secure?
No
M0: aaaaa. M1:abcde
C–>Repeat–>M0
C–>Random–>M1
解决方法:让KEY和M一样长–>One Time Pad
Is the One Time Pad IND secure?
Yes! Perfect security. Only information leaked is the size of the message.
Chosen Message Attacks简写CMA等同于CPA (Chosen Plaintext Attacks)
想比较于IND,IND-CPA在挑战之前2-4重复多次+ 挑战过程中多次Encryption queries
可以理解为给Attacker叠增益Buff,攻击者在能力越多的情况下猜中的概率仍然等于瞎猜–>
模型更强大。
Is the One Time Pad IND-CPA secure?
NO! Why?
在IND-CPA model里,KEY必须要重复使用,所以one-time pad 不安全
正常的One Time Pad–>每次加密使用的key不同–>Perfect security.
在模型中,key被固定,所以我们只需要查询m=0000000就可以得到key–>直接解密C*
Proposition: There exists no deterministic encryption scheme that is IND-CPA secure
这个定义很重要!什么是确定加密?对于相同的原文,按照算法加密后得到的密文不变,那么就是确定加密,只要是确定加密那么就不是IND-CPA secure的。哈希函数也是确定加密。
在说PKE之前我们思考一下:
SKE的最小攻击模型是什么?
Ciphertext only is meaningful minimum.
CPA is stronger.
PKE的最小攻击模型是什么?
CPA
这意味着需要一种方法,即使输入相同的m也要得到不同的ciphertext,因为在CPA中PK是直接给到ATTACKER的,在Public key encryption中不能有比这个更弱的了。
CCA1: The decryption oracle is only accessible before receiving the challenge ciphertext.
CCA2: The decryption oracle can be accessed before and after receiving the challenge ciphertext.
相比较与CCA1,CCA2第6步之后多了一步.
对于那些不知道Trapdoor 的人来说,这是one-way function,对于知道的人来说,他们可以reverse this function.
A trapdoor one-way function is a function which looks like a one-way function but is equipped with a secret trapdoor.
If this secret door is known, the inverse can be easily calculated.