定义
密钥:分为加密密钥和解密密钥。
明文:没有进行加密,能够直接代表原文含义的信息。
密文:经过加密处理处理之后,隐藏原文含义的信息。
加密:将明文转换成密文的实施过程。
解密:将密文转换成明文的实施过程。
密码算法:密码系统采用的加密方法和解密方法,随着基于数学密码技术的发展,加密方法一般称为加密算法,解密方法一般称为解密算法。
分组密码(block cipher):用明文的一个区块和密钥,输出相同大小的密文区块。由于待加密数据通常比单一分组长,因此有各种方式将连续的区块拼接在一起。分组密码代表有DES,AES。
流密码(stream cipher):相对于分组加密,把密钥与明文依位元或字符结合,有点类似一次一密密码本(one-time pad)。输出的串流根据加密时的内部状态而定。在一些流密码上由密钥控制状态的变化。
密码分析
就是破解密码。
经典密码分析
在假设密码分析者已知所用加密算法全部知识的情况下,根据密码分析者对明文、密文等数据资源的掌握程度,可以将 针对加密系统的密码类型分为以下四种:
① (Ciphtext-only attack)
密码分析者知道密码算法,但仅能根据截获的密文进行分析,以得出明文或密钥。由于密码分析者所能利用的数据资源仅为密文,这是对密码分析者最不利的情况。
②(Plaintext-known attack)
是指密码分析者除了有截获的密文外,还有一些已知的“明文—密文对”来破译密码。密码分析者的任务目标是推出用来加密的密钥或某种 算法,这种算法可以对用该密钥加密的任何新的消息进行解密。
③ (Chosen-plaintext attack)
是指密码分析者不仅可得到一些“明文—密文对”,还可以选择被加密的明文,并获得相应的密文。这时密码分析者能够选择特定的明文数据块去加密,并比较明文和对应的密文,已分析和发现更多的与密钥相关的信息。
密码分析者的任务目标也是推出用来加密的密钥或某种算法,该算法可以对用该密钥加密的任何新的消息进行解密。
④ (Chosen—ciphenext attack)
是指密码分析者可以选择一些密文,并得到相应的明文。密码分析者的任务目标是推出密钥。这种 密码分析多针对公钥密码体制。
现代密码分析
拦截,窃听,以及用量子计算机来代替传统计算机做密码分析。
对分组密码安全性的讨论主要包括差分密码分析、线性密码分析等