现代密码学有哪些

TIME:2019-03-15   click: 310 次


现代密码学的任务已不只限于传统密码学的“保密通信”,而是含义更广的“信息安全”,其中包括“保密通信”、“数据加密”、“数字签名”等重要的功能,并且其应用也远远突破了军事、外交和捷报等传统的范围,开始全面进入经济、商务、科学、教育等人类社会活动的各个领域,从而对人们的工作和生活有深远的影响。现代密码学已成为信息时代无处不在且不可缺少的信息安全卫士。

与传统密码学不一样,现代密码学设计时,通常都假定密码系统的结构是透明的,至少敌人是知道的。这一假设被称为科考夫原则,是由19世纪荷兰密码专家Auguste Kerckhoffs首先提出的,该假设之所以在密码学界被普遍接受,是因为它基本符合实际情况,并且据此能简化密码系统的分析、设计和实施。密码系统的结构叫密码算法,加密或解密用的关键参数叫密钥。事实上,在日常社会活动领域中使用的密码算法基本上都是公开的。现代密码学的安全性主要由密钥的设计和使用决定。

根据技术特征,现代密码学可分为三类。

1.对称算法

对称算法是指加密与解密密钥一样的密码算法,又叫密码密钥算法或单密钥算法。该类算法又分为流密码算法与分组密码算法。

流密码算法又叫序列密码算法,每次加密或解密一位或一字节的明文或密文。

分组密码算法把明文(密文)分成了确定长度的数据块(比特块或字节块),用同一密钥和算法加密(解密)每一明文(密文)块后得到等长的密文(明文)块,然后把密文(明文)块按顺序组合起来最终得到密文(明文)。

常见的流密码算法包括RC4;常见分组密码算法有DES、IDEA、RC2、AES、SM4等。

2.非对称算法

非对称算法是指加密与解密密钥不一样的密码算法,从一个密钥推导出另一个密钥很难,又叫公开密钥算法或公钥算法。该算法用一个密钥加密,另一个密钥解密,其中加密密钥可公开,又叫公开密钥或公钥;解密密钥一定得保密,又叫私有密钥或私钥。

常见的非对称算法有RSA、DH、DSA、ECDSA、ECC、SM2等。

3.摘要算法

摘要算法是一种把随意长的输入数据转换为确定长的输出数据的密码算法,又叫散列函数、哈希函数或杂凑函数、单向函数等。摘要算法产生的确定长度的输出数据叫摘要值、散列值或哈希值。摘要算法没有密钥。

常见的摘要算法有MD5、SHA1、SM3等。

上一篇:传统密码学分类 下一篇:电子签名和手写签名的区别