几种加密、算法的概念
- 格式:doc
- 大小:44.50 KB
- 文档页数:7
几种加密、算法的概念信息安全技术的几个概念1、IDEA(对称加密算法)IDEA国际数据加密算法这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。
发展IDEA也是因为感到DES具有密钥太短等缺点,已经过时。
IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。
类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。
与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。
2、DES(对称加密算法)数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。
DES 使用一个56 位的密钥以及附加的8 位奇偶校验位,产生最大64 位的分组大小。
这是一个迭代的分组密码,使用称为Feistel 的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。
DES 使用16 个循环,使用异或,置换,代换,移位操作四种基本运算。
3、AES(对称加密算法)密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
4、MD5(非对称加密算法)对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
简单加密算法的设计与应用简介:随着信息技术的快速发展,数据的安全性得到了更多的关注。
在网络传输、数据存储等领域,加密算法成为了保护数据安全的重要工具。
本文将就简单加密算法的设计与应用进行探讨,介绍几种常见的简单加密算法,并分析其优缺点以及适用场景。
一、凯撒密码凯撒密码是一种最早出现的加密算法,也被称为移位密码。
其算法原理非常简单,即将明文中的每个字母按照一个固定的偏移量进行替换,从而生成密文。
解密过程则是将密文中的每个字母按照相同的偏移量进行逆向替换,恢复出明文。
凯撒密码的优点在于其简单易懂、计算量小,适用于对初级保密要求的场景。
然而,凯撒密码容易被破解,因为密钥空间较小,只有26种可能性。
因此,在高安全性要求的场景下,不适合使用凯撒密码。
二、栅栏密码栅栏密码是一种基于排列的加密算法,通过将明文排列成一个类似栅栏形状的图案,然后按照某种规则从上到下读取,生成密文。
解密过程则是将密文还原成栅栏形状,再按照相同的规则从左到右读取,恢复出明文。
栅栏密码的优点在于其简单易实现,密钥空间相对于其他简单加密算法较大。
然而,栅栏密码也有其缺点,例如密文中的信息很容易统计学分析,从而暴露出明文的一些模式,导致安全性较低。
三、替换密码替换密码是一种基于替换的加密算法,通过将明文中的每个字符替换成另一个字符,生成密文。
常见的替换密码有简单替代密码和多表密码。
简单替代密码是将明文中的每个字母按照一个固定的映射表进行替换,从而生成密文;而多表密码是使用多个映射表,根据明文中的位置信息选择相应的映射表进行替换。
替换密码的优点在于其密钥空间较大,且替换操作可以进行多次,增加了安全性。
然而,替换密码也有其缺点,例如密文中的信息仍然很容易被统计学分析,而且简单替代密码的密钥空间仍然有限。
四、异或运算加密异或运算加密是一种基于位运算的加密算法,通过使用一个密钥与明文的每个比特位进行异或运算,生成密文。
解密过程则是使用相同的密钥与密文的每个比特位进行异或运算,恢复出明文。
数据库加密方法一、概述数据库加密是一种重要的数据安全保护手段,可以有效地保护敏感数据不被未经授权的人员访问和窃取。
本文将介绍数据库加密的相关概念、加密方法以及实现步骤。
二、数据库加密的概念1. 数据库加密是指对数据库中存储的敏感信息进行加密处理,以保证数据在存储和传输过程中的安全性。
2. 数据库加密可以分为两种类型:全盘加密和部分加密。
全盘加密是指对整个数据库进行加密,而部分加密则是只对敏感数据进行加密。
3. 数据库加密可以采用多种算法,如对称算法、非对称算法和哈希算法等。
三、对称算法1. 对称算法是一种常用的数据库加密方法,其特点是使用同一个秘钥进行数据的加解密。
2. 常见的对称算法有DES、AES等。
3. 对称算法的优点在于速度快,但缺点在于秘钥管理困难,容易被攻击者获取秘钥从而破解数据。
四、非对称算法1. 非对称算法也是一种常用的数据库加密方法,其特点是使用公钥和私钥进行数据的加解密。
2. 公钥可以公开,而私钥只有数据接收方才能够获取。
3. 常见的非对称算法有RSA、DSA等。
4. 非对称算法的优点在于安全性高,但缺点在于速度慢。
五、哈希算法1. 哈希算法是一种将任意长度的消息压缩到某一固定长度的算法,其特点是不可逆性和唯一性。
2. 常见的哈希算法有MD5、SHA等。
3. 哈希算法常用于存储密码等敏感信息时进行加密处理,以保证数据不被攻击者破解。
六、数据库加密实现步骤1. 确定加密对象:确定需要加密的数据库或表格。
2. 选择加密方法:根据实际需求选择合适的加密方法,如对称算法、非对称算法和哈希算法等。
3. 生成秘钥:根据选择的加密方法生成相应的秘钥,并进行安全管理和存储。
4. 加密数据:使用秘钥对需要加密的数据进行加密处理,并将加密后的数据存储到数据库中。
5. 解密数据:使用相应的秘钥对已经加密过的数据进行解密处理,以便正常使用和操作数据。
7、总结数据库加密是一项非常重要的数据安全保护措施,可以有效地保护敏感数据不被未经授权的人员访问和窃取。
C#⼏种常⽤的加密⽅式⼀、AES加密算法AES算法基于排列和置换运算。
排列是对数据重新进⾏安排,置换是将⼀个数据单元替换为另⼀个。
AES 使⽤⼏种不同的⽅法来执⾏排列和置换运算。
AES是⼀个迭代的、对称密钥分组的密码,它可以使⽤128、192 和 256 位密钥,并且⽤ 128 位(16字节)分组加密和解密数据。
与公共密钥密码使⽤密钥对不同,对称密钥密码使⽤相同的密钥加密和解密数据。
通过分组密码返回的加密数据的位数与输⼊数据相同。
迭代加密使⽤⼀个循环结构,在该循环中重复置换和替换输⼊数据。
摘⾃:互动百科⼏种模式的优缺点对⽐:C#代码:using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class AESHelper{///<summary>/// AES 加密///</summary>///<param name="str">明⽂(待加密)</param>///<param name="key">密⽂</param>///<returns></returns>public string AesEncrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateEncryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray);}///<summary>/// AES 解密///</summary>///<param name="str">明⽂(待解密)</param>///<param name="key">密⽂</param>///<returns></returns>public string AesDecrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Convert.FromBase64String(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateDecryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Encoding.UTF8.GetString(resultArray);}}}⼆、DES加密算法DES设计中使⽤了分组密码设计的两个原则:混淆(confusion)和扩散(diffusion),其⽬的是抗击敌⼿对密码系统的统计分析。
常见的几种加密算法在信息安全领域中,加密算法被广泛应用于保护数据的机密性、完整性和可靠性。
常见的几种加密算法包括对称加密算法、非对称加密算法和哈希算法。
1. 对称加密算法:对称加密算法使用同一个密钥对信息进行加密和解密。
常见的对称加密算法包括DES(Data Encryption Standard)、3DES(Triple Data Encryption Standard)、AES(AdvancedEncryption Standard)等。
对称加密算法速度快且适合加密大数据量,但由于密钥同样需要传输,因此密钥的安全性成为对称加密算法的一个主要问题。
2. 非对称加密算法:非对称加密算法使用一对密钥,即公钥和私钥,分别用于加密和解密。
公钥可以公开,任何人都可以用公钥加密数据,但只有私钥的持有者才能解密数据。
常见的非对称加密算法包括RSA算法、DSA(Digital Signature Algorithm)算法和ECC(Elliptic Curve Cryptography)算法。
非对称加密算法安全性较高,但加密和解密的过程相对较慢,因此通常与对称加密算法结合使用,提高效率。
3. 哈希算法:哈希算法将任意长度的数据映射为固定长度的哈希值,并具有不可逆性和唯一性。
哈希算法常用于验证数据的完整性和真实性,常见的哈希算法有MD5(Message Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)和SHA-256等。
哈希算法计算速度较快,但由于将不同长度的数据映射为固定长度的哈希值,可能存在哈希碰撞的问题,即不同的数据产生相同的哈希值。
除了上述几种常见的加密算法,还有一些特殊用途的加密算法,例如同态加密算法、椭圆曲线加密算法等。
同态加密算法可以在不解密的情况下对加密数据进行特定运算,保护数据的隐私性。
椭圆曲线加密算法是一种基于椭圆曲线数学问题的加密算法,具有较高的安全性和性能。
加密解密的概念与算法1.1 为什么需要加密解密?在客户端与服务器进行交互时,必然涉及到交互的报文(或者通俗的讲,请求数据与返回数据),如果不希望报文进行明文传输,则需要进行报文的加密与解密。
所以加密的主要作用就是避免明文传输,就算被截获报文,截获方也不知道报文的具体内容。
1.2 对称加密,单向加密,非对称加密的介绍与区别加密分为对称加密和非对称加密:对称加密效率高,但是解决不了秘钥的传输问题;非对称加密可以解决这个问题,但效率不高。
(其中https是综合了对称加密和非对称加密算法的http协议。
)1.2.1 对称加密采用单钥密的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
即约定一个秘钥,客户端使用这个秘钥对传输参数进行加密并提交至服务端,服务端使用同样的秘钥进行解密;1)常用的对称加密算法:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密;2)算法特征:加密方和解密方使用同一个密钥;加密解密的速度比较快,适合数据比较长时的使用;密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;3)加密工具:openssl,它使用了libcrypto加密库、libssl库即TLS/SSL协议的实现库等。
TLS/SSL是基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库。
1.2.2 单向散列加密单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的。
单向散列函数一般用于产生消息摘要,密钥加密等1)常用的单向散列加密算法:MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文;SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值。
密码学基础概念及应用
密码学是研究信息的保密性、完整性和可用性的科学与技术。
它涉及使用密码算法对信息进行加密、解密和验证的过程。
以下是密码学的基础概念和一些常见的应用:
1. 加密算法:加密算法是密码学中最重要的概念之一。
它是一种数学算法,用于将明文(原始信息)转换为密文(加密后的信息)或将密文还原为明文。
2. 密钥:密钥是在加密和解密过程中使用的参数。
它是一个特定的数据值,用于确定加密算法的行为,从而实现不同的加密效果。
3. 对称加密和非对称加密:对称加密使用相同的密钥来进行加密和解密,而非对称加密使用一对密钥,其中一个用于加密,另一个用于解密。
4. 数字签名:数字签名是一种用于验证文档或消息真实性和完整性的技术。
它使用私钥对文档进行加密,然后使用公钥对加密后的文档进行解密验证。
5. 数字证书:数字证书是一种用于验证通信方身份的电子文件。
它包含了通信方的公钥和相关身份信息,由可信的证书颁发机构签发。
6. 密码协议:密码协议是在网络通信中使用的一组规则和步骤,用于确保安全通信和保护数据的隐私。
7. 数字货币:加密货币如比特币和以太坊使用密码学技术实现安全的交易和资产管理。
8. 数据库加密:数据库加密技术用于对数据库中存储的敏感数据进行加密保护,以防止未经授权的访问和泄露。
9. 消息认证码(MAC):MAC是一种用于验证消息完整性和真实性的密码技术,可以确保消息在传输过程中没有被篡改。
这些只是密码学的一些基础概念和应用示例。
密码学在许多领域都有广泛的应用,包括网络安全、电子商务、通信保密、数据保护和数字身份验证等。
不同加密算法的安全性比较分析一、引言在信息交流的现代社会中,加密算法已经成为了保障个人和企业隐私安全的重要手段,各种加密算法的不断出现和更新也对信息安全领域带来了新的挑战。
本文旨在对常见的几种加密算法进行安全性比较分析,为读者提供更全面的信息安全保障建议。
二、对称加密算法对称加密算法又称共享密钥算法,将消息加密和解密使用相同的密钥,传输效率高,但密钥的安全问题使其逐渐无法适应日益复杂的信息交互环境。
1. DES算法DES算法是一种分组密码算法,密钥长度为56位,以8个字节为一组对明文进行加密。
虽然DES算法被证明存在一些安全漏洞,但其仍然被广泛应用。
2. AES算法AES算法是一种分组密码算法,密钥长度可为128位、192位或256位,对明文进行加密前需要对明文进行填充处理,加密速度较快且安全性较高,是目前被广泛应用的对称加密算法之一。
三、非对称加密算法非对称加密算法也称公钥密码算法,包含公钥和私钥两种密钥,公钥用于加密数据,私钥用于解密数据,安全性高但加密解密速度较慢。
1. RSA算法RSA算法是最早也是应用最广泛的非对称加密算法之一,基于大数因数分解的困难性,密钥长度可达到2048位以上,加密解密可靠性高,但相应的加密解密速度较慢,随着计算机技术的不断发展,RSA算法也存在一定的安全风险。
2. ECC算法ECC算法是基于椭圆曲线离散对数问题设计的非对称加密算法,密钥短、加密速度快、加密强度高,在移动设备、嵌入式系统等场景下应用广泛,但安全性也需要时刻关注。
四、哈希算法哈希算法也称散列算法,将任意长度的消息压缩成固定长度的摘要信息,生成的摘要信息不可逆,安全性高,但不适用于加密。
1. MD5算法MD5算法是一种广泛应用的哈希算法,在网络传输和文本文件校验等领域被广泛使用,但由于其容易被碰撞攻击,目前MD5算法已经逐步被安全性更高的哈希算法取代。
2. SHA-2算法SHA-2算法是一种安全性更强的哈希算法,分为256位、384位和512位三种版本,其安全性被广泛认可并得到了广泛的应用。
加密算法介绍褚庆东一.密码学简介据记载,公元前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、对称性加密算法:AES,DES,3DES。
DES是一种分组数据加密算法(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密,而3DES是一种基于DES的加密算法,使用3个不同秘钥对同一个分组数据进行3次加密,如此以使得密文强度更高。
相较于DES和3DES算法而言,AES算法有着更高的速度和资源使用效率,安全级别也较之更高了,被称为下一代加密算法的标准。
2、非对称性加密算法:RSA,DSA,ECCRSA和DSA的安全性及其它各方面性能都差不多,而ECC较之则有着很多的性能优越,包括处理速度,带宽要求,存储空间等等。
3、几种线性散列算法(签名算法)MD5,SHA1,HMAC这几种算法,只生成一窜不可逆转的密文,经常用其校验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输的数据进行过了修改。
通常在数据传输过程前,使用MD5和SHA1算法均需要发送和接收数据双方在数据传送之前就知道秘钥生成算法,而HMAC与之不同的是需要生成一个秘钥,发送方用此密钥对数据进行摘要处理(生成密文),接收方再利用此密钥对接收到的数据进行摘要处理,再判断生成的密文是否相同。
4、对于各种加密算法的选用由于对称加密算法的秘钥管理是一个复杂的过程,迷药的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际操作中,我们通常采用的是:采用非对称加密算法管理对称机密算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理秘钥的优点。
如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,秘钥越长,运行的速度就越慢,应该根据我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128位即可。
信息安全技术的几个概念
1、IDEA(对称加密算法)
IDEA国际数据加密算法这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。
发展IDEA也是因为感到DES具有密钥太短等缺点,已经过时。
IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。
类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。
与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。
2、DES(对称加密算法)
数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。
DES 使用一个56 位的密钥以及附加的8 位奇偶校验位,产生最大64 位的分组大小。
这是一个迭代的分组密码,使用称为Feistel 的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;
接着交换这两半,这一过程会继续下去,但最后一个循环不交换。
DES 使用16 个循环,使用异或,置换,代换,移位操作四种基本运算。
3、AES(对称加密算法)
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
4、MD5(非对称加密算法)
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
在MD5算法中,首先需要对信息进行填充,使其位长对512求余的结果等于448。
因此,信息的位长(Bits Length)将被扩展至N*512+448,N为一个非负整数,N可以是零。
填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。
然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。
经过这两步的处理,现
在的信息的位长=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。
这样做的原因是为满足后面处理中对信息长度的要求。
MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476。
当设置好这四个链接变量后,就开始进入算法的四轮循环运算。
循环的次数是信息中512位信息分组的数目。
将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。
主循环有四轮(MD4只有三轮),每轮循环都很相似。
第一轮进行16次操作。
每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。
再将所得结果向左环移一个不定的数,并加上a、b、c或d中之一。
最后用该结果取代a、b、c或d中之一。
5、3DES(对称加密算法)
3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。
数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组织规范为ANSI X.3.92。
DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大
小的文本块然后再进行加密。
比起最初的DES,3DES更为安全。
6、ECC(非对称加密算法)
ECC根据其所依据的难题分为三类
2002年,美国SUN公司将其开发的椭圆加密技术赠送给开放源代码工程
公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。
有时也把椭圆曲线类归为离散对数类。
7、DSA(非对称加密算法)
DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。
DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。
RSA算法却作不到。
8、RSA(非对称加密算法)
RSA公开密钥密码体制。
所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。
加密算法E
和解密算法D也都是公开的。
虽然秘密密钥SK是由公开密钥PK 决定的,但却不能根据PK计算出SK。
正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。
为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。
这就使加密的计算量很大。
为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。
对方收到信息后,用不同的密钥解密并可核对信息摘要。
9、CPK(不是算法)
CPK:Process Capability index 的缩写,译作过程能力指数,也有译作工艺能力指数,工序能力指数,是现代企业用于表示过程能力的指标。
在产品制造过程中,工序过程是保证产品质量的最基本环节。
过程能力分析就是考虑过程的设备、工艺、人的操作、材料、测量工具与方法以及环境对过程质量指标要求的适合程度。
过程能力指数Cpk,是指工序在一定时间里,处于控制状态(稳定状态)下的实际加工能力。
它是工序固有的能力,或者说它是工序保证质量的能力。
对于任何生产过程,产品质量总是分散地存在着。
若工序能力越高,则产品质量特性值的分散就会越小;若工序能力越低,则产品质量特性值的分散就会越大。
过程能力研究是SPC统计过程控制的重要组成部分。
过程能力指数Cpk值越大表示品质越佳。
Cpk=min((X-LSL/3s),(USL-X/3s))
Cpk≥2.0 特优可考虑成本的降低
2.0 >Cpk≥1.67 优应当保持之
1.67 >Cpk≥1.33 良能力良好,状态稳定,但应尽力提升1.67以上
1.33 >Cpk≥1.0 一般状态一般,制过程因素稍有变异即有产生不良的危险,应利用各种资源及方法将其提升至1.67以上
10、SHA(安全散列算法)(Secure Hash Algorithm,SHA)
是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1。
其对长度不超过264二进制位的消息产生160位的消息摘要输出,按512比特块处理其输入。
SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。
该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。
散列函数值可以说时对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。
11、AES
AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。
1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。
1999年3月完成了第二轮AES2的分析、测试。
AES加密数据块和密钥长度可以是128比特、192比特、256比特中的任意一个。
AES加密有很多轮的重复和变换。
大致步骤
如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。