加密与认证技术

加密与认证技术

  • 密码技术概述
  • 密码算法与密码体制的基本概念
          • 加密算法与解密算法
    • 秘钥的作用
    • 什么是密码
    • 密钥长度
  • 对称密码体系
    • 对称加密的基本概念
    • 典型的对称加密算法
      • DES加密算法
      • 3DES加密算法
  • 非对称密码体系
    • 非对称加密基本概念

密码技术概述

密码技术是保证网络安全的核心技术之一,密码学包括密码编码学与密码分析学,人们利用加密算法和秘钥来对信息编码进行隐藏,而密码分析学试图破解算法和秘钥。两者相互对立,又相互促进的向前发展。
无加密沟通
这种直接进行沟通,中间没有对信息进行处理,若被不法分子获取到沟通的信息,非常容易造成信息泄露。
加密与认证技术_第1张图片
这种对信息进行处理,即使不法分子获取到沟通的信息,也很难直接从这些信息中获取到对他们有用的信息,难以造成信息泄露。

这也说明了密码学对社会的重要性。

密码算法与密码体制的基本概念

加密算法与解密算法

加密的基本思想是伪装明文以隐藏其真实内容,即将明文X伪装成密文Y。

加密算法:伪装明文的操作称之为加密,加密时所采用的变换规则则称之为加密算法。
解密算法:由密文恢复出原文的过程称之为解密,解密时所采用的变换规则称之为解密算法。

秘钥的作用

加密算法与解密算法的操作通常都是在一组秘钥控制下进行的,密码体制是指一个系统所采用的基本工作方式以及它的两个基本构成要素,即加密/解密算法和秘钥。

传统密码体制所用的加密密钥和解密密钥相同,也称为“对称密码体制”。如果加密容钥和够密者明不相同,则称为“非对称密码体制”。加密算法是相对稳定的。在这种意义上,可以把加密算法视为常量,而密钥则是一个变量。可以根据事先约定的规则,对应每一个新的信息改变一次密街、或者定期更换密钥。这里可以以最古老的凯撒密码的例子来说明秘钥保存的重要性。

凯撒密码

在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

凯教密码属于种“置位密码”,它是将一组明文字母用另一 组伪装的字母表示,例如

明文:今 天 的 天 气 不 错 你 觉 得 呢
密文:做 低 还 算 得 迷 删 这 年 体 制

当然,这里做介绍得时候举例是按照我自己的想法举例,为了说明凯撒密码这个案例。根据上面的密码表,如果我们得文字内容是:今 天 的 天 气 不 错 你 觉 得 呢,这是后我们通过加密,就会获得这样一条语句:做 低 还 算 得 迷 删 这 年 体 制,这样一条消息我想你很难看出来原本的意思吧,但是如果这时候我们把加密的秘钥给你了,通过查看秘钥,你就能获得正确的信息。

这种方法称为“单字母替换法”,秘钥就是这个明文与密文的对应关系,我们按照英文字母来进行介绍,整个替换的方式有16!个,这样的加密方法虽然简单,但是破译者要想完全破译,即使是1us测试一个秘钥,也需要数年时间来完成完全破译。

这样看起来这种加密方法是很安全的,但是人们通过字母频率很容易就能反向破译出来。下面附录英文字母的使用频率排序:

字母 使用频率 字母 使用频率 字母 使用频率 字母 使用频率 字母 使用频率
A 8.167% B 1.492% C 2.782% D 4.253% E 12.702%
F 2.228% G 2.015% H 6.094% I 6.966% J 0.153%
K 0.772% L 4.025% M 2.406% N 6.749% O 7.507%
P 1.929% Q 0.095% R 5.987% S 6.327% T 9.056%
U 2.758% V 0.978% W 2.360% X 0.150% Y 1.974%
Z 0.074%

从这个表就可以看出,在英文中各英文字母出现的频率是有一定区别的,抓住这一特点,能加快破译。

另外一种加密方法是“易位密码法”,它首先是选择一个秘钥,这个秘钥的特点是采用一个组成的字母不重复的单词或词组,例如:MEGABUCK。使用这个秘钥字母出现的顺序重新对明文字母的顺序进行排序,从未加大破译的难度。整个过程如下图所表示:

原文:It is a lovely day

加密过程:  
           7  4  5  1  2  8  3  6
           M  E  G  A  B  U  C  K
	       i  t  i  s  a  l  o  v
		   e  l  y  d  a  y

这时候获得的解密后的文本为:saotivildalyey

易位加密的批结难度从加密过程就可以看出,相比单字母加密,这个难度高出了很多。

从上文中提到的例子中其实可以看得出来,加密算法实际上是很难做到绝对保密的,现代密码学的一个基本原则是“一切秘密寓于秘钥之中”。秘钥可以视为加密算法中的可变参数,从数学的角度来看,改变了秘钥,实际上也就改变了明文于密文之间的等价的数学关系。在设计加密系统时,加密算法可以是公开的,真正需要保密的是秘钥。

什么是密码

加密技术可以分为秘钥和加密算法两个部分,其中,加密算法是用来加密的数学函数,密码是明文经过加密算法运算后的结果。加密算法可以公开,而密钥只能由通信双方持有。如果在网络传输过程中,传输的是经过加密处理后的数据信息,那么即使有人窃取了这样的数据信息,由于不知道相应的密钥与解密方法,也很难将密文转换为明文,从而可以保证信息在传输与存储中的安全。

密钥长度

对于同样一种加密算法,密钥的位数越长,破译的难度就越大,安全性也就越好。在给定的环境下,为了确保加密的安全性,人们也一直在讨论密钥长度,也就是密钥的位数。密钥位数越多,密钥空间越大,也就是密钥的范围也就越大,那么攻击者也就不容易通过蛮力攻击来破译。

蛮力破解:破译者通过穷举法对密钥的所有组合进行猜测,直到成功的解密。

下面给出一定密钥长度下需要破解尝试的密钥个数:

密钥长度 组合个数 密钥长度 组合个数
40 1 099 511 627 776 112 5.192 296 858 535 * 10^33
56 7.205759403793 * 10^16 128 3.402 823 669 209 * 10^38
64 1.844 674 407 371 * 10^19

使用长的密钥,可以使破解的难度成倍增长,但是在加密和解密上花费的时间也就越多。我们的目标是让破译密码所需要的成本要比破译完成后所获得的信息价值还要大,这样才算是有效的保护措施。

对称密码体系

目前常用的加密技术可以分为两类,即对称加密与非对称加密。在传统的对称密码系统中,加密用的密钥与解密用的密钥是相同的,密钥在通信中需要严格保密。在非对称加密系统中,加密用的公钥与解密用的私钥是不同的,加密用的公钥可以公开,而解密用的私钥需要保密。

对称加密的基本概念

对称加密技术对信息的加密和解密使用的都是相同的密钥,使用对称加密,加密方和解密方必须使用同一种加密算法和相同的密钥,需要注意以下几个问题:
加密与认证技术_第2张图片

由于通信双方加密解密使用同一个密钥,如果密钥被泄露,那么就会造成失密,也就是说信息交换双方存在着密钥交换的问题,需要确保密钥交换是安全的。

如果一个用户需要跟N个用户进行加密通信时,那么该用户将要维护N个用户的密钥信息,当网络中有N个用户之间进行加密通信时,则需要有N*(N-1)个密钥,才能保证通信。

由于信息传递需要双方均获取密钥,密钥的安全传输问题变成了十分复杂的问题

即使当前系统所使用的密钥算法十分安全,但是密钥保护做的不好,那么该系统也将不是一个安全的系统。

典型的对称加密算法

DES加密算法

DES算法(Data Encryption Standard)是一种常见的分组加密算法。分组加密算法是将明文分成固定长度的组,每一组都采用同一密钥和算法进行加密,输出也是固定长度的密文。
由IBM公司在1972年研制,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。
在DES算法中,密钥固定长度为64位。明文按64位进行分组,分组后的明文组和密钥按位置换或交换的方法形成密文组,然后再把密文组拼装成密文。
密钥的每个第八位设置为奇偶校验位,也就是第8、16、24、32、40、48、56、64位,所以密钥的实际参与加密的长度为56位。

DES算法采用了64位密钥的长度,其中8位用于奇偶性校验,用户可以使用剩下的56位,DES算法并不是非常安全的,入侵者往往可以使用算力足够的计算机进行破解,但是破解时间是较长的,只要破译时间大于密文的有效期,那么密钥就是安全有效的。

3DES加密算法

3DES,也称为 3DESede 或 TripleDES,是三重数据加密算法,相当于是对每个数据库应用三次DES的对称加密算法。
由于DES密码长度容易被暴力破解,所以3DES算法通过对DES算法进行改进,增加DES的密钥长度来避免类似的攻击,针对每个数据块进行三次DES加密;因此,3DES加密算法并非什么新的加密算法,是DES的一个更安全的变形,它以DES为基本模块,通过组合分组方法设计出分组加密算法。。
3DES是DES向AES过渡的加密算法,它使用2个或者3个56位的密钥对数据进行三次加密。相比DES,3DES因密钥长度变长,安全性有所提高,但其处理速度不高。因此又出现了AES加密算法,AES较于3DES速度更快、安全性更高。

该算法的加解密过程分别是对明文/密文数据进行三次DES加密或解密,得到相应的密文或明文。
假设EK()和DK()分别表示DES的加密和解密函数,P表示明文,C表示密文,那么加解密的公式如下:
加密:C = EK3( DK2( EK1(P)) ),即对明文数据进行,加密 --> 解密 --> 加密的过程,最后得到密文数据;
解密:P = DK1( EK2( DK3(C)) ),即对密文数据进行,解密 --> 加密 --> 解密的过程,最后得到明文数据;

当然,还有一些对称加密算法,包括IDEA算法,RC2算法、RC4算法与Skipjack算法等。

非对称密码体系

非对称密码体系对信息的加密和解密使用不同的密钥,用来加密的密钥是可以直接公开的,用来解密的私钥则需要保密,因此该技术又称为 公钥加密(public key encryption)
加密与认证技术_第3张图片

非对称加密基本概念

非对称加密在现在密码学中是非常重要的,按照一般的理解,加密主要是解决信息在传输过程中的保密性问题,但是还存在着另外一个问题,就是如何对发送人和接收人的真实性进行验证,防止所发出信息和接收信息的用户在时候抵赖,并且能够保证数据的完整性。

在非对称密钥体系中,加密的公钥和解密的私钥是不相同的,人们可以把公钥公开,谁都可以用,而解密的私钥只有解密人自己知道。

由于采用了两个密钥,并且从理论上可以保证要从公钥和密文中分析出明文和解密的私钥在计算机上是不可行的。那么以公钥为加密密钥,接收方使用私钥解密,则可以实现多个用户发送的密文只能由一个持有私钥的用户解读。

如果以用户的私钥作为加密密钥,而以公钥作为解密密钥,那么可以实现一个用户加密的消息由多个用户进行解读,这样非对称密钥密码就可以用于数字签名。

非对称加密技术可以大大简化密钥的管理,网络中N个用户进行通信加密,只需要使用N对密钥就可以了。

非对称加密技术与对称加密技术相比,其优势在于不需要共享通用的密钥,用于解密的私钥不需要发往任何地方,公钥在传递和发布过程中即使被截获,由于没有与公钥相匹配的私钥,截获的公钥对入侵者也没有太大的意义;公钥加密的缺点主要在于加密算法复杂,加密与解密过程比较慢。

你可能感兴趣的:(计算机其它进阶知识专栏,网络,安全)