加密算法介绍及加密算法地选择
信息安全中的加密算法应用教程

信息安全中的加密算法应用教程随着信息技术的迅速发展,加密算法在信息安全中扮演着至关重要的角色。
加密算法通过使用密钥对数据进行加密和解密,以确保数据的机密性、完整性和可用性。
本文将向读者介绍加密算法的基本概念、常见的加密算法以及它们在信息安全中的应用。
一、加密算法的基本概念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年提出。
信息安全:RSA加密和AES加密的比较

信息安全:RSA加密和AES加密的比较RSA加密和AES加密是目前常用的两种加密算法,它们都是保护信息安全的重要手段。
本文将从加密原理、加密过程、安全性等多方面进行比较,以便读者更好地了解它们的异同及优缺点。
1. RSA加密原理RSA加密算法是由三位数学家Rivest、Shamir和Adleman创立的,是一种非对称加密算法。
其原理是利用两个质数的乘积作为公开的密钥,而私钥是两个质数的积的质因数分解。
RSA加密算法的加密过程为:明文通过公钥加密成密文,密文通过私钥进行解密还原为明文。
2. AES加密原理AES(Advanced Encryption Standard)是一种对称加密算法,其加密和解密所用的密钥相同,因此安全性取决于密钥的保密程度。
AES算法通过一系列加密轮进行加密,每轮有四个步骤:字节替换、行移位、列混淆和轮密钥加。
随着加密轮的增加,AES算法的复杂度也会相应增加。
3.加密过程比较RSA加密算法是非对称加密算法,加密和解密所用的密钥不同,因此需要先进行密钥交换。
具体的加密过程为:首先生成一对公私钥对,公钥用于加密,私钥用于解密。
发送方将明文通过公钥加密成密文,然后将密文发送给接收方。
接收方使用私钥解密密文还原成明文。
而AES算法是对称加密算法,加密和解密用的是同一个密钥,所以在加密和解密时无需进行密钥交换,也就是流程相对简单。
4.安全性比较RSA算法具有很好的安全性,其安全性取决于密钥的长度,常见的密钥长度为2048位或4096位。
由于其加密和解密所用的密钥不同,因此有效避免了密钥泄露带来的风险,但由于密钥长度较长,加解密速度较慢,且在大数据量情况下,加密效率有所降低。
AES算法也有较高的安全性,但其密钥长度通常为128位、192位或256位,因此相对于RSA算法来说,密钥的长度较短,存在密钥泄露的风险。
但由于是对称加密算法,因此加解密速度较快,适合大数据量加密需求。
5.选择哪种算法在具体应用中,RSA算法常用于数字签名、密钥交换等场合,它可以较好地保证数据的安全性,并有效避免密钥泄露带来的风险。
数据加密和解密操作指南

数据加密和解密操作指南在现代信息社会中,数据的安全性显得尤为重要。
为了保护数据的安全性,人们通常使用数据加密技术来保障敏感信息的保密性。
本文将向您介绍一些常见的数据加密和解密操作指南,以帮助您更好地保护和管理您的数据。
一、数据加密的基本原理和方法数据加密是通过对原始数据进行算法转换,使其变得难以理解和解读,从而保护数据的安全性。
常见的数据加密方法包括对称加密和非对称加密。
1. 对称加密对称加密是指使用相同的密钥对数据的加密和解密进行操作。
加密和解密过程使用相同的密钥,因此密钥的保管和传输必须十分安全。
常见的对称加密算法有DES、AES等。
2. 非对称加密非对称加密是指使用不同的密钥对数据的加密和解密进行操作。
加密和解密过程使用不同的密钥,分别称为公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
非对称加密算法常用的有RSA、ECC等。
二、数据加密和解密的操作步骤无论是对称加密还是非对称加密,数据加密和解密的操作步骤大致相同。
下面将介绍数据加密和解密的一般操作步骤。
1. 数据加密操作步骤(1)选择合适的加密算法和密钥长度。
(2)生成密钥对,或确定共享的密钥。
(3)将明文数据进行加密。
(4)发送或存储加密后的密文数据。
2. 数据解密操作步骤(1)获取相应的密钥。
(2)对密文数据进行解密。
(3)获取解密后的明文数据。
三、数据加密和解密的常见工具和应用随着数据加密技术的发展,出现了许多数据加密和解密的常见工具和应用。
以下将介绍几种常见的工具和应用。
1. 加密软件加密软件是用于实现数据加密的工具。
常见的加密软件有Veracrypt、BitLocker等,它们提供了对文件、磁盘等数据进行加密的功能。
2. SSL/TLS协议SSL/TLS协议是一种应用最广泛的加密传输协议,用于保护网站、电子邮件和其他网络应用的通信安全。
通过SSL/TLS协议,可以使用HTTPS方式浏览网站,确保数据在传输过程中的机密性。
3. 数字签名数字签名是一种用于验证信息完整性和身份真实性的技术。
常用加解密算法

常用加解密算法1. 概述加解密算法是计算机领域的一项非常重要的技术,它可以用来保障信息的安全性,保护个人隐私信息,防止数据泄露。
常用的加解密算法有非对称加密算法和对称加密算法,两种算法的优缺点不同,每种算法针对不同的应用场景具有不同的选择。
2. 对称加密算法对称加密算法是最简单、最快速的加密算法,在加密和解密的过程中使用同一个密钥,加密和解密的速度很快,适合处理大量数据的场景。
常用的对称加密算法有DES、3DES、AES、RC4等。
其中AES是应用最广泛的对称加密算法,它的加密速度很快,安全性高,可以加密各种类型的数据,被广泛应用在网络通信、文件传输、数据库加密等领域。
3. 非对称加密算法非对称加密算法是一种高级的加密算法,加密和解密使用不同的密钥,安全性更高,适合处理重要数据的场景。
常用的非对称加密算法有RSA、ECC、DSA等。
其中RSA是应用最广泛的非对称加密算法,它可以用于数字签名、密钥交换、数据加密等领域,被广泛应用于银行、金融、电子商务等领域。
4. 常用加解密算法的优缺点对称加密算法的优点是加密速度快,适合处理大量数据的场景,缺点是安全性不够高,密钥很容易被破解。
非对称加密算法的优点是安全性高,密钥不易被破解,缺点是加密速度慢,处理大量数据时效率低下。
5. 总结在实际应用中,我们需要根据具体的应用场景选择适当的加解密算法。
如果需要处理大量数据,可以选择对称加密算法;如果需要保障数据的安全性,可以选择非对称加密算法。
在使用加解密算法时,我们还需要注意密钥的保护,避免因为密钥泄露导致数据被攻击者破解。
服务器端加密技术应用指南

服务器端加密技术应用指南随着信息技术的不断发展,数据安全问题日益受到重视。
在网络传输和存储过程中,数据的安全性是至关重要的。
为了保护数据不被未经授权的访问和篡改,加密技术成为一种必不可少的手段。
在服务器端,加密技术的应用更是至关重要。
本文将介绍服务器端加密技术的应用指南,帮助您更好地保护数据安全。
一、加密算法选择在服务器端加密过程中,首先需要选择合适的加密算法。
常见的加密算法包括对称加密算法和非对称加密算法。
对称加密算法加密速度快,适合对大量数据进行加密,如AES算法;非对称加密算法安全性更高,适合在网络传输中使用,如RSA算法。
根据实际需求和安全级别要求,选择合适的加密算法非常重要。
二、SSL/TLS协议在服务器端加密通信中,SSL/TLS协议是必不可少的。
SSL/TLS协议通过在传输层对数据进行加密,确保数据在传输过程中不被窃取或篡改。
通过SSL/TLS协议,服务器和客户端之间的通信变得更加安全可靠。
在配置服务器时,务必启用SSL/TLS协议,提高数据传输的安全性。
三、数字证书管理数字证书是服务器端加密通信的重要组成部分。
数字证书用于验证服务器的身份,确保通信双方的身份合法可信。
在服务器端配置数字证书时,需要选择可靠的证书颁发机构(CA),并定期更新证书以确保安全性。
同时,合理管理私钥,确保私钥不被泄露,防止数据被篡改。
四、数据加密存储在服务器端,存储数据同样需要进行加密保护。
对于重要数据,可以采用数据库加密技术,对数据进行加密存储,提高数据的安全性。
同时,定期备份数据,确保数据不会因意外丢失而泄霩。
在数据传输和存储过程中,加密技术是保护数据安全的有效手段。
五、访问控制与权限管理除了加密技术,访问控制与权限管理也是保护服务器端数据安全的重要手段。
合理设置访问权限,限制用户对服务器的访问和操作,防止未经授权的访问。
同时,定期审计用户操作记录,及时发现异常行为并采取相应措施。
通过访问控制与权限管理,有效保护服务器端数据的安全性。
最简单的加密算法

最简单的加密算法1. 引言加密算法是信息安全领域中的重要内容之一,它可以将敏感信息转化为无法被轻易理解的密文,以保护信息的机密性。
在本文中,我们将介绍最简单的加密算法,探讨其原理、优缺点以及可能的应用场景。
2. 算法原理最简单的加密算法是替换算法,也称为凯撒密码。
它的原理非常简单,即通过将明文中的每个字母按照一定规则进行替换,从而得到密文。
具体而言,凯撒密码将每个字母按照字母表中的顺序往后移动固定的位数,例如向后移动3位。
这样,明文中的每个字母都被替换为字母表中向后移动3位的字母。
下面是一个示例: - 明文:HELLO - 密钥:3 - 密文:KHOOR可以看到,明文中的每个字母都向后移动了3位,得到了相应的密文。
3. 算法优缺点凯撒密码作为最简单的加密算法,具有以下优点: - 算法简单易懂,容易实现和使用。
- 加密速度快,适用于对速度要求较高的场景。
- 对于小规模的文本加密,凯撒密码具有一定的保密性。
然而,凯撒密码也存在一些明显的缺点: - 密钥空间有限,因为只能选择字母表中的一个固定位数作为密钥。
这意味着凯撒密码容易被暴力破解。
- 易受频率分析攻击,因为字母的分布模式在密文中得以保留,攻击者可以通过统计字母出现的频率来破解密文。
- 缺乏安全性,凯撒密码可以被轻松地破解,即使没有密钥也可以通过暴力破解或试错法来解密。
因此,凯撒密码只适用于一些简单的保密需求,对于更高级的安全需求,需要使用更加复杂和安全的加密算法。
4. 应用场景尽管凯撒密码的安全性较低,但在一些特定的场景下仍然有一定的应用价值。
以下是一些可能的应用场景:4.1 教育领域在教育领域,凯撒密码可以作为教学工具,用于向学生介绍加密算法的基本概念和原理。
通过编写简单的加密和解密程序,学生可以更好地理解加密算法的工作原理,培养他们对信息安全的兴趣。
4.2 暗号游戏凯撒密码可以作为一种有趣的游戏形式,用于组织暗号破解比赛或者解密谜题。
加密算法介绍及加密算法的选择

加密算法介绍及如何选择加密算法加密算法介绍一.密码学简介据记载,公元前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 正日益成为加密各种形式的电子数据的实际标准。
数据加密技术介绍

数据加密技术介绍在这个互联网高速发展的时代,信息安全已经成为越来越多人关注的问题。
尤其是对于企业和政府部门来说,数据安全更是重中之重。
而数据加密技术作为保障信息安全的重要手段,已经得到了广泛的应用。
那么,什么是数据加密技术?它又是如何保障我们的信息安全呢?就让我来为大家介绍一下数据加密技术。
一、什么是数据加密技术数据加密技术,就是将原始数据(明文)通过一定的算法转换成无法被轻易解读的密文,从而保护数据在传输和存储过程中的安全性。
只有掌握了解密算法和密钥,才能将密文还原成原始数据。
数据加密技术主要包括两个方面:加密算法和解密算法。
二、加密算法加密算法是数据加密技术的核心,它决定了加密的强度和安全性。
目前,常用的加密算法有对称加密算法、非对称加密算法和混合加密算法。
1.对称加密算法:对称加密算法是指加密和解密使用同一把密钥的加密算法。
这种算法的优点是加密和解密速度快,缺点是密钥的传输和保管存在安全隐患。
典型的对称加密算法有DES、3DES和AES等。
2.非对称加密算法:非对称加密算法是指加密和解密使用不同密钥的加密算法。
这种算法的优点是密钥的传输安全,缺点是加密和解密速度较慢。
典型的非对称加密算法有RSA、ECC和DSA等。
3.混合加密算法:混合加密算法是将对称加密算法和非对称加密算法相结合的一种加密方式。
它既利用了对称加密算法的速度优势,又保证了非对称加密算法的密钥安全。
典型的混合加密算法有SSL/TLS和IKE等。
三、解密算法解密算法是数据加密技术的另一个重要组成部分,它负责将密文还原成原始数据。
解密算法通常依赖于密钥,只有掌握正确的密钥,才能成功解密。
解密算法的安全性直接影响到加密技术的效果。
目前,解密算法主要有两种类型:对称解密算法和非对称解密算法。
1.对称解密算法:对称解密算法是指使用与加密算法相同的密钥进行解密的算法。
这种算法的优点是解密速度快,缺点是密钥的传输和保管存在安全隐患。
2.非对称解密算法:非对称解密算法是指使用与加密算法不同密钥进行解密的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加密算法介绍及如何选择加密算法加密算法介绍一. 密码学简介据记载,公元前400年,古希腊人发明了置换密码。
1881年世界上的第一个电话保密专利出现。
在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于; 在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。
随着对加密强度需求的不断提高,近期又出现了AES、ECC等。
使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。
数据完整性:防止数据被更改。
身份验证:确保数据发自特定的一方。
二. 加密算法介绍根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
对称加密算法对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES( Data Encryption Standard ):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES ( Triple DES ) :是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
A E S( 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字节)分组加密和解密数据。
与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。
通过分组密码返回的加密数据的位数与输入数据相同。
迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。
非对称算法常见的非对称加密算法如下:RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;DSA (Digital Sig nature 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 v a v 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 poi nt ),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的安全性和速度的比较。
散列算法散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。
加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。
任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。
散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。
具有这些特性的散列结果就可以用于验证信息是否被修改。
单向散列函数一般用于产生消息摘要,密钥加密等,常见的有: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将输入流按照每块5 12位(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倍。
三•加密算法的选择前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。