Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316421
  • 博文数量: 56
  • 博客积分: 2346
  • 博客等级: 大尉
  • 技术积分: 661
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-25 13:28
文章分类
文章存档

2011年(14)

2010年(42)

分类: 网络与安全

2010-01-28 20:20:39

 
 

 密码学基础知识

 

一、密码学概念

1、密码学基本概念:

密码学:是一门研究信息加密和解密方法与技术的一门学科。其分为加密和解密两个基本过程。

2、密码学两个基本过程

1)、加密概念

A、概念:将信息原文通过一定的机制或算法与密钥结合转换成密文的过程。

B、过程:通过概念能够发现加密过程中的主要元素:原文、密钥、算法、密文。

把以上的四个元素分别用字母表示为:原文(A)、密钥(K)、机制或算法(F)、密文(B),那么其过程可以表示为:

             

B=F(AK)

 

 

比如有原文为:1234,给出的密钥为0120,算法的机制为,原文和密钥按位相乘不进位加2,那么得到的密文是:2482。在实际的加密过程中,密钥的产生,加密的算法都是有一定的理论基础的,并且往往都建立在一定的数学难题基础上,这样产生的密文才不容易被破解。

2)、解密概念

将信息密文通过一定的机制或算法与密钥结合转换成原文的过程;

A、概念:将信息密文通过一定的机制或算法与密钥结合转换成原文的过程。

B、过程:同样在解密过程中的元素有原文(A)、密钥(K)、机制或算法(F)、密文(B),要得到原文,那么这里的算法则是加密的逆运算。那么其解密的过程可以表示为:

A= F(BK)

同样上述例子,比如已知密文为:2482,给出的密钥为0120,则此时的算法的机制为加密算法的逆运算,即密文按位不借位减2后,在与密钥相除。那么得到的原文是:1234。而在实际的解密过程中,解密理论基础都往往建立在难以破解的数学问题上,一般是加密有一定的运算机制,但其逆运算的解密则是极其复杂,甚至是无法进行的一个过程。这样保证了,密文无法破解,保证信息的安全。

二、密码体制分类

密码体制:密码体制指有加密和解密共同构成的信息保密机制的体系。密码体制分为对称密码体制和非对称密码体制。

1、对称密码体制:

所谓的对称密码体制,加密的密钥和解密密钥相同,是同一个密钥的加密与解密体制。用公式表达即:

加密过程:B=F(AK)

解密过程:A= F(BK)

    其中原文(A)、密钥(K)、机制或算法(F)、密文(B)依次表示。

对称密码体制根据加密解密的方法不同又可以分为分组密码体制和序列密码体制。

1)、分组密码体制

将明文符号按照固定的大小进行分组,形成明文组,然后把明文组和密钥进行加密运算从而得到密文组的密码体制。

 
 

解密的过程与加密过程相反,所用的密钥为同一个密钥,解密运算是加密运算的逆运算,即A= F(BK). F′为F的逆运算。

分组密码算法主要有DES算法、3DES算法和IDEA算法等。

ADES算法

   a、概念:DES算法又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。其密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。

   b、特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。

B3DES算法

   a、概念:用一个112位的DES密钥,进行三次常规的DES加密运算的加密方法为TripleDES算法,即3DES算法。

   b特点:明文分组同样较短、密钥同样比较短、密码生命周期较长、运算速度慢。

CIDEA算法

   a、概念IDEA算法又被称为国际数据加密算法International Data Encryption Algorithm, 由瑞士联邦工程学院研发的,采用128位密钥,类似于DESIDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。

   b、特点:密钥较长、利用软件和硬件共同实现,运算速度较快,是3DES的发展。

2)、序列密码

序列密码:以密码作为初始条件,产生一个强烈依赖于密码的随机数据流,将随机数据流和明文流相互按位抑或运算而得到密文流的方法。序列密码中,我们经常接触到的是SSF04算法.以下说明SSF04算法。

a、概念:

SSF04算法基于自动元胞机的非线性加密运算。

b、特点:

1)、依赖于非线性混沌系统,产生随机数据流,运算规模大,速度快。

2)、传统的DES、3DES、IDEA算法依赖于交换、位移、代数方法,安全性不高。而SSFO4基于非线性混沌系统产生随机数据流,则具有较好的安全性。

3)、但由于其加密使用的数据流强烈依赖于密码,因此从密钥的产生上讲,具有一定的不安全性。

2、非对称密码体制

非对称密码体制是指加密密钥和解密密钥不相同的密码体制。

在非对称密码体制当中存在两个密钥,我们把它称为公钥和私钥,公钥和私钥两者一一对应,并且从一个密钥无法推导出另一个密钥。在使用当中,根据需要用其中的一个密钥加密,而使用另外一个密钥来解密。

在非对称密码体制中密码学体制的4个元素转变为5个,即密钥成为两个。将5个元素分别表示为:

原文(A)、加密密钥(K)、解密密钥(K)、机制或算法(F)、密文(B)

其中密钥(K)密钥(K)存在一种对应关系;

则加密和解密的过程可以表示为:

加密过程:B=F(AK)

解密过程:A= F(BK) 

    非对称密码体制中,主要的加密方法是公钥密码体制(Public Key Instructure)简称PKI,和椭圆曲线密码体制。其中以RSA加密算法为理论基础的PKI算法成为当前信息加密技术的主流。

1、公钥密码

公钥密码体制(Public Key Instructure)简称PKI,因应用广泛,时常也代称为非对称密码体制。其中最著名的公钥密码体制是1976年,DiffeHellman两人为了解密密码管理问题,提出建立在大素数不可分解质因数的数学理论基础上的密钥交换协议,允许通信双方在不安全的传输信道上交换数据。以大素数不可分解的数学理论为基础的公钥加密算法有D-H算法和RSA算法。

ADiffie-Hellman算法D-H算法

Diffie-Hellman算法(D-H算法)概念:D-H加密算法的核心思想就是大素数不可分解质因数的数学理论方法。其基本原理是:

取一个大素数P,较小数r(r是P的一个原根),数字A(A介于1到P之间)。则获得公钥K:

K=r^A/P

(公钥K为r的A次方结果对P取模)

由于,较小数r(r是P的一个原根),则r^1、r^2、r^3、r^4、......r^(P-1)分别模P都不相同,则当我们知道P、r、r^A,则很难用数学方法推到出A的方法。

BRSA加密算法

RSA加密算法RSA算法由RivertShamirAdelman创立同样建立在大数因子分解的数学理论基础上他采用512甚至是更长的密钥进行加密。其安全性更高,保密性更强,成为当前网络通信最有效的加密算法。

(2)、DSA算法

Digital Signature Algorithm (DSA)SchnorrElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)

DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的pq时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到。

3)、椭圆曲线算法

a、概念

椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程 y2+a1xy+a3yx3+a2x2+a4x+a6 所确定的平面曲线。若F是一个域,ai F,i=1,2,,6。满足式1的数偶(x,y)称为F域上的椭圆曲线E的点。F域可以式有理数域,还可以式有限域GF(Pr)。椭圆曲线通常用E表示。除了曲线E的所有点外,尚需加上一个叫做无穷远点的特殊O

在椭圆曲线加密(ECC)中,利用了某种特殊形式的椭圆曲线,即定义在有限域上的椭圆曲线。其方程如下:

y2=x3+ax+b(mod p)

这里p是素数,ab为两个小于p的非负整数,它们满足:

4a3+27b2(mod p)0   其中,x,y,a,b Fp,则满足式(2)的点(x,y)和一个无穷点O就组成了椭圆曲线E

椭圆曲线离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对 Q=kP,在已知P,Q的情况下求出小于p的正整数k。可以证明,已知kP计算Q比较容易,而由QP计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。

b、特点

1)、安全性能更高  160ECC1024RSADSA有相同的安全强度。

2)、计算量小,在私钥的处理速度上(解密和签名)处理速速快;

3)、存储空间占用小 ECC的密钥尺寸和系统参数与RSADSA相比要小得多, 所以占用的存储空间小得多。

三、目前常用的算法——PKI-RSA算法

1、特点

公钥密码体制具有很好的信息的保密性、数据的完整性、数据的真实性、信息操作的不可抵赖性。一般称为公钥密码体制的四大优越性:保密性、完整性、真实性和防抵赖性。

2、不足

由于非对称密码体制中都存在公钥和私钥两个密钥,在实际运用对信息的加密一般用公钥进行加密,用对应的私钥进行解密,对信息的确认一般用私钥进行加密用公钥进行解密。因此,对公钥PKI-RSA算法来说存在的问题是:

(1)、由于私钥一般私有保存,因此公钥开放,公钥有被伪造和篡改的可能;

(2)、同时对公钥和私钥进行伪造和篡改,也会符合密码体制标准,却造成信息泄露。

3、应用

(1)、数字信封:PKI-RSA算法对信息加密是发送方用接收方的公钥对信息原文进行加密,接收方用个人的私钥对密文进行解密而查看原文的加密方法。通常也被成为数字信封技术。这种方法能够保证信息的保密性、完整性和真实性,同时能够确定文件接收方的身份。但对于文件是谁建立的,谁发送的没有办法确认。而数字签名解决了这个问题。

(2)、数字签名:数字签名发送方用自己的私钥对文件进行加密后发送给对方,接收方用发送方的公钥进行解密查看的方法,这样就确定文件的身份问题,即解决了文件的创建者和发送者是谁的问题。同时PKI加密的特性保证了信息的保密性与完整性问题。

通过PKI的数字信封技术和数字签名技术保证了信息的加密性、完整性、真实性问题,同时确定了通信双方或多方的身份问题,即不可抵赖性。因此在实际的运用中两者往往是结合起来使用,保证通信信息的安全、身份的明确。

 
 
 
 
 
 
阅读(5991) | 评论(0) | 转发(0) |
0

上一篇:AES加密算法

下一篇:散列函数

给主人留下些什么吧!~~