加密算法介绍及加密算法的选择

合集下载

各种加密算法比较

各种加密算法比较

各种加密算法比较在计算机安全领域,加密算法是保护数据机密性和完整性的重要工具。

不同的加密算法采用不同的加密策略和数学原理,各有优缺点。

下面是对几种常见的加密算法进行比较和分析。

1.对称加密算法:对称加密算法使用相同的密钥进行数据的加密和解密。

常见的对称加密算法有DES、3DES、AES等。

- DES(Data Encryption Standard)是一种对称加密算法,采用56位的密钥,被广泛应用于早期的密码学应用。

但是由于DES密钥较短,容易被暴力破解,安全性有限。

- Triple DES(3DES)是对DES的改进,通过多次执行DES算法增加密钥长度和强度。

由于3DES的密钥长度可达到112位或168位,相对安全性更高,但加密和解密速度较慢。

- AES(Advanced Encryption Standard)是目前最常用的对称加密算法,被美国政府采用为保护机密信息标准。

AES密钥长度可选128位、192位或256位,安全性较高,速度较快。

对称加密算法的优点是运算速度快,适合对大量数据进行加密;缺点是密钥管理困难,需要将密钥安全地分发给所有通信的用户。

2.非对称加密算法:非对称加密算法使用一对密钥:公钥和私钥。

公钥用于加密数据,私钥用于解密数据。

常见的非对称加密算法有RSA和椭圆曲线加密。

-RSA是一种常见的非对称加密算法,基于大数分解的数论问题。

在RSA中,公钥和私钥是一对大质数的函数关系,通过求解大数分解问题,能保证数据的安全性。

RSA广泛应用于数字签名和密钥交换等场景。

- ECC(Elliptic Curve Cryptography)是一种基于椭圆曲线的非对称加密算法。

ECC在相同的安全强度下,密钥长度较短,计算量较小,适合在资源受限的环境下使用。

ECC被广泛应用于移动设备和物联网等领域。

非对称加密算法的优点是密钥分发方便,安全性高;缺点是运算速度较慢,不适合对大量数据进行加密。

3.哈希算法:哈希算法是将任意长度的数据转换成固定长度的哈希值(摘要)。

HTTPS加密算法的选择与配置

HTTPS加密算法的选择与配置

HTTPS加密算法的选择与配置在网络传输中,数据的安全性是一个非常重要的问题。

为了保护数据的隐私和完整性,HTTPS加密算法成为了互联网传输中的首选方案。

本文将探讨HTTPS加密算法的选择与配置,以帮助读者更好地了解和应用该技术。

一、HTTPS加密算法概述HTTPS(Hyper Text Transfer Protocol Secure)是在HTTP基础上加入了SSL/TLS协议进行加密传输的协议。

它通过使用加密算法对传输的数据进行加密和认证,确保数据在传输过程中不被窃取或篡改。

二、HTTPS加密算法的选择1. 对称加密算法对称加密算法使用同一个密钥进行加密和解密,加密速度快而且效率高。

常见的对称加密算法有DES、3DES、AES等。

在HTTPS中,AES是最常用的对称加密算法,其具有较高的安全性和性能。

2. 非对称加密算法非对称加密算法使用公钥和私钥进行加密和解密,公钥用于加密,私钥用于解密。

常见的非对称加密算法有RSA、DSA、ECC等。

在HTTPS中,RSA是最常用的非对称加密算法,其公钥用于对传输中的数据进行加密,私钥用于对接收到的数据进行解密。

3. 散列算法散列算法用于对数据进行摘要,生成一个固定长度的散列值。

常见的散列算法有MD5、SHA-1、SHA-256等。

在HTTPS中,SHA-256是更安全的散列算法,这是因为SHA-1等算法存在碰撞漏洞,已经不再推荐使用。

三、HTTPS加密算法的配置1. 配置服务器证书为了实现HTTPS加密传输,服务器需要配置SSL证书。

证书包含了服务器的公钥和服务器域名等信息。

证书的申请可以通过第三方认证机构(如Symantec、Let's Encrypt等)或自签名的方式。

配置证书后,服务器将能够使用非对称加密算法与客户端进行通信。

2. 选择合适的加密套件加密套件是由对称加密算法、非对称加密算法和散列算法组成的集合。

服务器和客户端在握手过程中协商选择合适的加密套件。

信息安全中的加密算法应用教程

信息安全中的加密算法应用教程

信息安全中的加密算法应用教程随着信息技术的迅速发展,加密算法在信息安全中扮演着至关重要的角色。

加密算法通过使用密钥对数据进行加密和解密,以确保数据的机密性、完整性和可用性。

本文将向读者介绍加密算法的基本概念、常见的加密算法以及它们在信息安全中的应用。

一、加密算法的基本概念1.1 对称加密算法对称加密算法是一种使用相同的密钥进行加密和解密的算法。

在发送方加密数据时,它将明文数据与密钥进行数学运算,生成密文数据。

而在接收方解密数据时,使用相同的密钥对密文数据进行数学运算,还原出明文数据。

对称加密算法的主要优点是加解密速度快,但密钥的分发和管理相对较复杂。

1.2 非对称加密算法非对称加密算法使用两个相关联的密钥:一个用于加密数据,另一个用于解密数据。

发送方使用接收方的公钥进行加密,而接收方使用自己的私钥进行解密。

非对称加密算法的主要优点是密钥的管理和分发相对较简单,但加解密的速度较慢。

1.3 哈希函数哈希函数是一种将任意长度输入转换为固定长度输出的算法。

它具有单向性,即从哈希值无法还原出明文。

常用的哈希函数包括MD5、SHA-1和SHA-256等。

哈希函数在信息安全中常用于验证数据的完整性,防止数据在传输过程中被篡改。

二、常见的加密算法2.1 DESDES(Data Encryption Standard)是一种对称加密算法,也是最早广泛应用于商业领域的加密算法之一。

它使用56位密钥对64位数据块进行加密和解密。

DES 算法的主要缺点是密钥长度较短,容易受到暴力破解攻击。

2.2 AESAES(Advanced Encryption Standard)是一种对称加密算法,在现代信息安全中得到广泛应用。

它使用128位、192位或256位密钥对数据进行加密和解密。

AES算法的优点是加解密速度快、安全性高,已成为许多政府和企业机构的首选算法。

2.3 RSARSA是一种非对称加密算法,由三位数学家Rivest、Shamir和Adleman于1977年提出。

常用简易数据加密算法

常用简易数据加密算法

常用简易数据加密算法数据加密是一种保护敏感信息不被未授权人员访问的重要手段。

在日常生活中,我们经常需要对一些重要的信息进行保密处理,比如银行账号、密码等。

为了确保数据的安全,我们可以使用一些常用的简易数据加密算法。

1.凯撒密码:凯撒密码是最早的一种简易数据加密算法。

它通过将字母按照一定的位移进行替换来实现加密。

比如,将字母表中的每个字母向后移动3位,A就变成了D,B变成了E,以此类推。

解密时则将字母向前移动3位即可。

虽然凯撒密码容易破解,但对于一些非敏感信息的简单保护还是很有用的。

2.栅栏密码:栅栏密码也是一种常见的简易数据加密算法,它将明文按照一定的规则进行分组,并按照一定顺序将分组内的字符进行排列,从而实现加密。

解密时则将加密后的字符按照相同的规则排列即可。

栅栏密码的优点是简单易懂,但安全性相对较低。

3.异或加密:异或加密是一种比较常见的简易对称加密算法。

它使用异或运算来实现加密和解密过程。

异或运算的特点是相同数字异或后结果为0,不同数字异或后结果为1。

通过对数据和密钥进行异或运算,可以实现简单的加密和解密过程。

4.MD5哈希算法:MD5是一种常用的哈希算法,它将数据转换为一串固定长度的哈希值。

MD5算法具有不可逆性,即无法从哈希值推导出原始数据。

因此,MD5算法常用于对密码进行加密存储。

不过需要注意的是,由于MD5算法的安全性存在一些问题,现在更常用的是SHA-256等更安全的哈希算法。

尽管以上算法都是简易的数据加密算法,但在一些非敏感信息的保护中仍然具有一定的作用。

然而,对于重要的机密信息,我们应该使用更为安全的高级加密算法,如AES、RSA等。

总之,数据加密是保护敏感信息不被未授权访问的重要手段。

在日常生活中,我们可以使用一些常用的简易数据加密算法对一些非敏感信息进行保护。

然而,对于重要的机密信息,我们应该选择更安全的高级加密算法来确保数据的安全。

信息安全的数据加密算法

信息安全的数据加密算法

信息安全的数据加密算法信息安全在当今社会扮演着至关重要的角色。

不论是在个人层面还是商业领域,数据的安全与保护都是非常重要的。

而数据加密算法就是确保数据传输和存储安全性的关键。

本文将介绍几种常见的数据加密算法,包括对称加密算法、非对称加密算法以及哈希算法,并分析它们的优缺点。

一、对称加密算法对称加密算法是最常见的加密方式之一。

该算法使用相同的密钥对数据进行加密和解密。

其中,数据发送方使用密钥对数据进行加密,然后将加密后的数据发送给接收方,接收方使用相同的密钥进行解密,恢复原始的数据。

对称加密算法的优点是加密解密速度快,适合对大量数据进行加密。

然而,对称加密算法的密钥管理比较复杂,存在着密钥分发的风险,一旦密钥泄露,数据安全性将无法保障。

常见的对称加密算法有DES、3DES、AES等。

二、非对称加密算法非对称加密算法与对称加密算法不同,它使用一对密钥进行加密和解密,这对密钥分别称为公钥和私钥。

发送方使用接收方的公钥对数据进行加密,接收方使用自己的私钥对数据进行解密。

相比对称加密算法,非对称加密算法更加安全,因为私钥只有接收方自己拥有。

不过,非对称加密算法的加密解密速度慢,不适合对大量数据进行加密。

常见的非对称加密算法有RSA、DSA等。

三、哈希算法哈希算法是一种将任意大小的数据转换为固定大小的哈希值的算法。

哈希值的特点是唯一性和不可逆性,即不同的数据会生成不同的哈希值,而相同的数据将永远生成相同的哈希值。

哈希算法常用于验证数据的完整性和比对密码。

与加密算法不同,哈希算法只能将数据进行单向加密,无法逆向解密。

常见的哈希算法有MD5、SHA-1、SHA-256等。

综上所述,信息安全的数据加密算法有对称加密算法、非对称加密算法和哈希算法三种。

对称加密算法适合大数据量的加密,但密钥管理复杂;非对称加密算法更安全,但加密解密速度较慢;哈希算法用于验证数据完整性和密码匹配。

在实际应用中,根据需求选择合适的加密算法,并加强密钥管理和安全防护措施,以保障信息的安全。

数据加密保护设计方案

数据加密保护设计方案

数据加密保护设计方案随着数字化时代的到来,数据的安全性成为了一个非常重要的问题。

在信息传输和存储过程中,数据加密技术被广泛应用于保护敏感信息的安全。

本文将介绍一个数据加密保护设计方案,旨在提供一种有效保护数据安全的解决方案。

一、方案概述数据加密保护设计方案是指通过使用加密算法和密钥管理系统,对敏感数据进行加密,从而保护数据在传输和存储过程中的安全性。

该方案的目标是确保数据的机密性、完整性和可用性。

二、加密算法的选择在设计数据加密保护方案时,选择适合的加密算法至关重要。

目前常用的对称加密算法有AES和DES,非对称加密算法有RSA和ECC。

根据数据的特点和安全需求,选择合适的加密算法进行数据加密。

三、密钥管理系统密钥管理是数据加密保护的关键环节,其安全性和可管理性直接影响整个系统的可靠程度。

一个好的密钥管理系统应该包括以下几个方面:1. 密钥生成与分发:为了确保密钥的安全性,需要采用安全的密钥生成算法,并确保密钥在分发过程中不被泄露。

2. 密钥的存储与保护:密钥的存储应该采用加密的方式,同时存储密钥的设备也需要具备一定的安全性。

3. 密钥更新和撤销:为了应对密钥泄露或被破解的风险,密钥管理系统应提供密钥更新和撤销的机制,及时更换密钥,以保证数据的安全。

4. 密钥备份与恢复:密钥备份是保证数据可用性的重要环节,需要定期备份密钥,并建立密钥恢复机制,以防密钥丢失导致数据无法解密。

四、数据传输保护数据在传输过程中容易受到窃听、篡改和伪造的攻击,因此需要采取相应的措施保证数据传输的安全性:1. 采用安全传输协议:使用SSL/TLS协议等安全传输协议对数据进行加密传输,确保数据在传输过程中不被窃听和篡改。

2. 数据完整性保护:使用消息认证码(MAC)或数字签名等技术保护数据的完整性,防止数据在传输过程中被篡改。

3. 用户身份认证:在数据传输过程中,对用户进行身份认证,防止未经授权的用户获取敏感数据。

五、数据存储保护数据在存储过程中也需要受到保护,以防止数据泄露和不可控的访问。

常用的加密方法及应用场景

常用的加密方法及应用场景

常用的加密方法及应用场景加密是将明文转换成密文的过程,是信息安全领域中重要的技术手段之一。

常用的加密方法有对称加密算法、非对称加密算法和哈希算法。

下面将详细介绍这些加密方法及其应用场景。

1. 对称加密算法:对称加密算法又称为私钥加密算法,是指加密和解密使用相同的密钥。

常见的对称加密算法有DES、3DES、AES等。

应用场景:(1) 数据加密传输:对称加密算法可以保护数据在传输过程中的安全性。

例如,在进行网上银行转账时,可以使用对称加密算法对用户的交易信息进行加密,以防止被黑客窃取。

(2) 文件加密存储:对称加密算法可以用于对敏感文件进行加密存储,以防止文件被未授权的人访问。

例如,企业可以使用对称加密算法对公司机密文件进行加密,确保信息不会泄露。

2. 非对称加密算法:非对称加密算法也称为公钥加密算法,是指加密和解密使用不同的密钥。

常见的非对称加密算法有RSA、ECC等。

应用场景:(1) 数字签名:非对称加密算法可以用于生成数字签名,用于验证数据的完整性和真实性。

例如,在电子商务中,买家可以使用卖家的公钥对订单进行签名,确保订单在传输过程中不被篡改。

(2) 密钥交换:非对称加密算法可以用于安全地交换密钥。

例如,在网络通信中,可以使用非对称加密算法对会话密钥进行加密,并通过非安全信道将其发送给通信方,确保密钥只有合法的通信方可以得到。

3. 哈希算法:哈希算法是一种将任意长度的数据映射为固定长度散列值的算法。

常见的哈希算法有MD5、SHA-1、SHA-256等。

应用场景:(1) 数字指纹:哈希算法可以用于生成数据的唯一标识,用于鉴别数据的完整性。

例如,在文件传输过程中,发送方可以对文件进行哈希运算并将生成的哈希值发送给接收方,接收方可以通过对接收的文件再次进行哈希运算,并将结果与发送方的哈希值进行比对,以确保文件的完整性。

(2) 密码存储:哈希算法可以用于密码的存储。

由于哈希函数是单向的,无法从哈希值反推出原始密码,因此可以将用户的密码哈希存储在数据库中,提高密码的安全性。

信息安全中的五种加密方式

信息安全中的五种加密方式

信息安全中的五种加密方式信息安全,是指防止外界非法获取、篡改、破坏信息的一系列措施,是现代社会不可或缺的一个重要领域,而加密技术则是信息安全的重要组成部分之一。

加密是一种将信息数据转换为另一种形式,以使得未授权的用户无法理解该信息的过程。

而加密方式的选择直接关系到信息安全的可靠性和保密性。

本文将为您介绍信息安全中的五种加密方式。

一、单向散列函数单向散列函数是一种将任意长度的信息通过一种不可逆的方法,压缩成一个固定长度的摘要信息的函数,也称为指纹函数。

一般来说,单向散列函数的密文只能被验证,而不能被解密,具有高度的不可逆性和随机性。

常用的单向散列函数有MD5、SHA-1、SHA-2等。

MD5(Message Digest Algorithm 5),是一种具有不可逆的特性的消息摘要算法,可以将任意长度的消息数据加密成一个128位的密文。

但由于其较低的安全性,被一些密码专家认为是不可靠的。

另外,由于其产生的哈希值相同的概率较高,所以在大规模处理的时候需要注意去重。

SHA-1和SHA-2是一种美国国家标准局推出的加密方式,哈希值长度分别为160位和256位。

由于其产生的哈希值相同的概率非常低,所以被广泛应用于数据完整性检查和数字签名等领域。

二、对称加密算法对称加密算法也称为共享密钥加密,是指加密和解密使用同一种密钥的算法。

对称加密算法的优点是加解密速度快,适合大数据加密,但缺点是密钥必须在发送双方之间传递,以保证密钥不被第三方获取。

常用的对称加密算法有DES、3DES、AES等。

DES(Data Encryption Standard),是一种对称加密算法,使用56位密钥对数据进行加密,被广泛应用在金融等领域。

但是,由于DES的密钥长度较短,易受到暴力破解攻击。

3DES(Triple Data Encryption Algorithm),是一种基于DES的对称加密算法,使用两个(或三个)56位密钥对数据进行加密,安全性相对较高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

加密算法介绍及如何选择加密算法加密算法介绍一.密码学简介据记载,公元前400年,古希腊人发明了置换密码。

1881年世界上的第一个电话保密专利出现。

在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。

随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。

随着对加密强度需求的不断提高,近期又出现了AES、ECC等。

使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。

数据完整性:防止数据被更改。

身份验证:确保数据发自特定的一方。

二.加密算法介绍根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。

对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

对称加密算法对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;AES2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。

Rijndael被选中成为将来的AES。

Rijndael是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。

AES 正日益成为加密各种形式的电子数据的实际标准。

美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准(AES) 规范。

算法原理AES 算法基于排列和置换运算。

排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。

AES 使用几种不同的方法来执行排列和置换运算。

AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。

与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。

通过分组密码返回的加密数据的位数与输入数据相同。

迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

AES与3DES的比较非对称算法常见的非对称加密算法如下:RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

ECC在1976年,由于对称加密算法已经不能满足需要,Diffie 和Hellman发表了一篇叫《密码学新动向》的文章,介绍了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA算法。

随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来代替RSA。

1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。

ECDLP是比因子分解问题更难的问题,它是指数级的难度。

原理——椭圆曲线上的难题椭圆曲线上离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。

可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。

将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。

例如,对应Diffie-Hellman公钥系统,我们可以通过如下方式在椭圆曲线上予以实现:在E上选取生成元P,要求由P产生的群元素足够多,通信双方A和B分别选取a和b,a和b 予以保密,但将aP和bP公开,A和B间通信用的密钥为abP,这是第三者无法得知的。

对应ELGamal密码系统可以采用如下的方式在椭圆曲线上予以实现:将明文m嵌入到E上Pm点,选一点B∈E,每一用户都选一整数a,0<a<N,N为阶数已知,a保密,aB公开。

欲向A送m,可送去下面一对数偶:[kB,Pm+k(aAB)],k是随机产生的整数。

A可以从kB求得k(aAB)。

通过:Pm+k(aAB)- k(aAB)=Pm恢复Pm。

同样对应DSA,考虑如下等式:K=kG [其中 K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数]不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。

这就是椭圆曲线加密算法采用的难题。

我们把点G称为基点(base point),k(k<n,n为基点G的阶)称为私有密钥(privte key),K称为公开密钥(public key)。

ECC与RSA的比较ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:抗攻击性强。

相同的密钥长度,其抗攻击性要强很多倍。

计算量小,处理速度快。

ECC总的速度比RSA、DSA要快得多。

存储空间占用小。

ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。

这对于加密算法在IC卡上的应用具有特别重要的意义。

带宽要求低。

当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。

带宽要求低使ECC在无线网络领域具有广泛的应用前景。

ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。

比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。

下面两张表示是RSA和ECC的安全性和速度的比较。

RSA和ECC安全模长得比较RSA和ECC速度比较散列算法散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。

加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。

任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。

散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。

具有这些特性的散列结果就可以用于验证信息是否被修改。

单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:●MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。

●SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;SHA-1在1993年,安全散列算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB 180)公布;1995年又发布了一个修订版FIPS PUB 180-1,通常称之为SHA-1。

SHA-1是基于MD4算法的,并且它的设计在很大程度上是模仿MD4的。

现在已成为公认的最安全的散列算法之一,并被广泛使用。

原理SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。

如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。

SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。

该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。

输入是按512 位的分组进行处理的。

SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。

通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。

MAC (信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。

MAC的产生参见下图。

输入信息密码散列函数信息认证代码SHA-1与MD5的比较因为二者均由MD4导出,SHA-1和MD5彼此很相似。

相应的,他们的强度和其他特性也是相似,但还有以下几点不同:●对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。

使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。

这样,SHA-1对强行攻击有更大的强度。

●对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。

●速度:在相同的硬件上,SHA-1的运行速度比MD5慢。

对称与非对称算法比较以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:●在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。

所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。

●在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。

对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。

公钥更具有优越性。

●从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。

是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。

三.加密算法的选择前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

相关文档
最新文档