Cryptology
Cryptography and Cryptanalysis
Kerchoff Hypothesis
一个密码系统中唯一应该保密的只有密钥。密码算法应该对外公开。
Timestamp and sequence number are two ways to cope with replay attack.
Plaintext vs Ciphertext/Cryptogram
Crytptography Algorithm, Encryption Algorithm, Decryption Algorithm
Diffusion & Confusion
Symmetric cipher vs Asymmetric cipher
DES, 3DES, IDEA, AES
明文长度与密文长度相等,需要以安全方式进行密钥交换
RSA, ECC, ElGamal, DSA
ECC每比特加密强度最高
密文长度几乎为明文长度的两倍,管理简单
DH algorithm
第一个发表的公开密钥算法
只能用于密钥交换
公钥密码的应用
加密/解密
数字签名(身份鉴别)
密钥交换
Hash函数
Hash函数是将任意长度的消息映射成一个较短的定长输出报文的函数
单向性(不可逆)、抗碰撞性
MD5, SHA1
消息认证的三种方式
Message encryption, Message Authentication Code (function+key), Hash Function
数字签名方案
A先对消息M作一个摘要H(M)
A用自己的私钥对H(M)进行加密,得到签名,连同消息M一起发送出去
B收到复合的消息之后,把签名提取出来,用A的公钥对签名解密得到H’
B对收到的消息M’作一个摘要H(M’),如果H’=H(M’),则消息确实是A产生的