咨询热线:0510 - 8229 3900 | |||||||
保密技术 | 保密技术 | 首页 > 保密技术 >编码技术(加密算法) | |||||||||||||||||
|
编码技术实际上就是把一种数据格式以一定位长为单位转换成另一种格式。根据应用领域的不同,编码方式也有各种形式和规范。比如多媒体应用中有音频和视频编码技术,著名是MP3、MPG4都是多媒体编码标准。压缩技术也采用了编码方法。在加密技术中的编码指的是加密算法的实现技术。 在数据加密处理中,明文到密文的转换有两个要素,一个是算法,另一个是密钥。算法是把原始明文结合密钥转换成密文的运算过程,密钥则是明文到密文(加密)或密文到明文(解密)的转换的一段关键数据。在加密技术中,计算机上加密和解密的运算过程称为编码技术,中狭义的编码技术。 好的编码技术其运算过程是不需要保密的,密文的安全性完全由密钥保证。因此大部分著名的编码算法其数学模型都是公开的。而密钥则是任何加密技术安全性的“命根”,密钥的泄漏将导致该密钥产生的密文安全性失效。对于密文的攻击者来说,破解的主要工作就是找到密钥。对于数学模型上没有缺陷的编码算法,其产生的密文在没有密钥的前提下是不可能被破解的。 加密算法按其密钥的不同可以分为对称加密算法和非对称加密算法。对称加密算法是指加密和解密使用相同的密钥,而非对称加密算法加密和解密使用不同的密钥。还有一种散列算法概念与以上两种有很大的不同,和以上两种没有对比性,在后面会单独介绍。 对称加密算法如同双向行车道,明文到密文和密文到明文的转化过程使用的是同一个密钥 非对称加密算法如同单行线,从明文到密文和从密文到明文采用的是不同的密钥,不可以通过同一条路线往返 非对称加密的加密和解密密钥是分离的,加密密钥不能用于解密,可以公开其加密密钥,因此非对称加密算法也称为公开密钥的加密算法。对应的解密密钥不可以公开,称为私钥。所有以公钥加密的信息只有私钥拥有者才能解密。这是非对称加密算法用于保密通讯的原理。实际上因为非对称加密运算效率低,速度慢,只能用于加密少量内容,因此非对称加密算法很少用于单纯的加密用途。如果把非对称加密的两对密钥用途对调,也就是用私钥加密,公钥解密,就出现了一种新的用途,密文的接收方通过公开的公钥解密密文,可以得到下面的结论: 1)信息一定来自私钥拥有者; 因为只有私钥加密的信息才能被公钥所解密,没有私钥的人是无法伪造出可以用这个公钥解密的密文的,所以正确解密后可以肯定这段信息一定来自私钥拥有者。 2)信息没有被其他人更改过。 虽然所有的人都可以通过公钥解密这段密文,但却没有办法生成可以被公钥解密的密文,因为只有私钥才能生成可以被公钥解密的密文。因此,其他人虽然可以看到发送方发出的信息内容,却不能更改和伪造发送方的信息。 基于这种原理,非对称加密算法可以被用作特殊用途,比如按照1)的原理可以用于身份验证,网上银行就是采用这种技术验证操作者的身份的。2)的原理则可用于数字签名。 在实际应用中,为了减少非对称加密算法处理数据量的大小,通常会结合对称加密算法和散列算法一起使用。 著名的非对称加密算法和RSA、ECC等。 对称加密算法效率高,速度快,适合大数据量的加密。因此在真正的数据加密系统中被广泛应用。对称加密算法加密和解密使用同一个密钥,因此对称加密算法必须保证密钥的安全。在采用对称加密算法的保密系统中,一般要求密钥必须与密文分开存放,并且有一定的措施保证密钥载体的安全。 决定对称加密算法安全性的主要指标是密钥位长。著名的DES(数据加密标准)加密算法密钥长度是64位,但由于DES算法本身设计上的一些问题,使其有效密钥长度只有56位,这样DES算法理论上有2^56种可能的密钥。一种数学模型上没有缺陷的编码算法唯一的破解方法就是穷尽其可能的密钥,这在当时的计算机运算能力下是不存在破解的可能性的。因此DES作为数据加密标准使用了20多年。然而计算机运算速度的提高十分惊人,1993年,加拿大北方电信的一名工程师就设计出了DES的破解机,这台使用专用芯片的机器平均3.5小时就可以破解DES加密的内容。即使不使用专用破解机,在“云计算”时代,DES的56位密钥显然已经不适用了。后来DES为了弥补安全性的不足,又出现了一些变种的DES算法,如三重DES,安全性得到提高,但速度更慢(古老的DES原本速度就很慢)。 在DES显然已经不适应计算机的发展速度的背景下,NIST(美国国家标准技术局)开始征集新的替代算法,于1997年定义了一个AES(先进加密标准)草案,对候选算法提出以下要求: 1)公开定义 在第二轮选拔过后,最后入围的算法只剩下Mars、RC6、RijnDael、Serpent、Twofish。2000年10月,NIST最后选择了RijnDael作为AES算法。 RijnDael使用128位分组,密钥长度则可以选择128、192、256位三种。其编码效率和安全性远远超过DES。假设有一台1秒钟就可以破解出DES密钥的机器存在,同样的机器破解128位密钥的AES需要花费149万亿年! 散列算法(Hash算法)也称为摘要算法、哈希算法。散列算法严格地讲不是加密算法,因为这种算法不存在密钥,运算结果也没有办法还原成原始数据,是一种单向摘要算法。这种算法用途很广,常用的口令字校验、数字签名、MD5值校验都是采用这种算法。 散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。 常用的散列算法有MD5和SHA。 在一个完整的保密系统中,算法的使用一般都不是孤立的。往往同时使用几种算法联合完成一个任务。比如在保密通信中,散列算法被用于本地操作员的登录口令校验,非对称加密算法则被用来与通信方握手交换对称加密的密钥,后面真正通信的大量数据则采用了对称加密算法。通信发送的文件还可以通过非对称加密实现的数字签名技术验证文件未被篡改。
|
||||||||||||||||||
关于我们|联系方式|资质认证|站点地图|职位招聘|建议与投诉 | ||
地址:江苏省无锡市梁溪区锡澄路260-1号圆融发展中心17F 邮编:214031 总机:(0510)82293900 传真:(0510)82702019 | ||
版权所有 © 2003-2024 无锡万华数据科技有限公司 | ||
苏ICP备05009260号 | ||
苏公网安备 32021302000919号 | ||