现代密码学算法介绍

        说起现代密码学,离不开三位天才科学家: William Friedman, Lester Hill 和 Claude Shannon,他们将密码学从深奥、神秘、严格的语言领域带入了数学和统计学的世界,为密码学奠定了坚实的数学基础。后来的数学家和计算机科学家们在此基础上研发开发了新算法,以在计算机时代进行数字加密。

       下面分类介绍下各种加密算法。

1、对称加密算法

         在1970年代初期,Horst Feistel 开始在IBM基于一个名为Lucifer的系统进行密码学研究,这是一个分拆安全的基于计算机的密码系统,1973年,美国国家标准局呼吁采用该加密算法,并在1977年7月15日被采用为联邦信息处理标准 46 (FIPS-46),并重新命名为联邦数据加密标准,也即DES,DES也成为了 20 世纪使用最广泛的计算机加密算法。

        1997 年,NIST 发出征集 DES 潜在继任者的呼吁,最终在2000 年 8 月,Rijndael 被选为下一个标准,新的高级加密标准(AES) 于 2001 年 11 月发布,也是对称密钥分组密码。它使用 128 位输入块,并为用户提供三种密钥大小选择:128 位、192 位和 256 位。轮数取决于密钥大小。 AES-128 使用 10 轮,AES 192 使用 12 轮,AES-256 使用 14 轮。 

2、非对称加密算法

       针对对称加密算法中的密钥交换问题,如何在不安全的通道上交换对称密钥,1976 年 11 月 Diffie 和 Hellman 的密码学新方向 (Diffie and Hellman 1976) 的出版是计算机密码学的一个里程碑。 不幸的是,Diffie 和 Hellman 没有发布算法来实现他们的想法。 因此,他们的出版物开始了一场竞赛,看谁能提出实现公私钥生成以及加密和解密算法本身所必需的算法。

        第一份满足系统所有要求的出版物由 MIT 的三位教授 Ronald Rivest、Adi Shamir 和 Leonard Adleman 于 1977 年撰写。 (Rivest et al. 1978) RSA 算法基于整数 (mod p) 上的有限 (Galois) 域中的幂运算,其中 p 是素数。

3、哈希算法

也叫散列函数,它是将不定长的消息作为输入,产生固定长度的散列值的函数,这里的散列值,也即是消息摘要。散列函数不属于加密系统,它是不可逆的,你无法从散列值解密出原始消息。

常见哈希算法:

MD5,Message-Digest Algorithm,它是在1992年8月由Ronald Linn Rivest发表,可以输出128bit(16个字符)的消息摘要值。已被证实不安全,不建议使用。

SHA-1,1995年发布,也已经过时,不推荐使用。

SHA-2,2002年发布,它包括SHA-256、SHA-384、SHA-512,数字表示生成的消息摘要的大小,在2008年SHA-224倍添加进来。

SHA-3,2015年发布,它是基于Keccak的新加密哈希算法,SHA-3 在内部不同于 SHA-1 和 SHA-2 的类似 MD5 的结构。

MurMurHash,由Austin Appleby在2008年发明,是一种非加密型哈希函数,适用于一般的哈希检索操作,对规律性较强的key,该算法输出的随机分布特征表现更好,它不是专门设计为难以被对手逆转,因此不适用于加密目的。有很多变种实现,2010年发布了MurmurHash2、2012年的发布了MurmurHash3。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值