哈希函数可以看成是第三种算法,它是一种单向散列函数,所有的消息输出的哈希/散列值的长度都是固定的。

  大多数实际的加密应用都是同时使用对称算法和非对称算法,有时也包括哈希函数。这些方案有时也叫混合方案,因为每类算法都有各自的优缺点,需要在实际应用中予以不同的选择。

  密码分析学也可以分为三个方面:

  1。古典密码分析(Classical Cryptanalysis)

  对密文分析来获得明文或者密钥,分为数学分析和蛮力分析法。

  2。实施攻击(Implementation Attack)

  通过物理方法直接攻击或者获取信息,如电磁通讯和智能卡。

  3。社会工程攻击(Social Engineering Attack)

  通过社会上的手段,如勒索、询问、窃取、行贿、诈骗等来获得密钥。       

  下面我将简单的介绍加密体制、数字签名、和数字签密体制等概念,让我们对这些概念加以区分,然后重点介绍数字签密的种类,我们将研究一个易于实现的数字签密的算法,探讨其安全性的证明,并且进行部分程序算法的演示。

2 密码学和数字签密的理论基础

2。1  加密

根据著名信息理论学家Claude Shannon的理论,强加密算法[4]都是基于以下操作:论文网

(1)混淆(Confusion):是一种使密钥与密文之间的关系尽可能模糊的加密操作。如今实现混淆常用的一个元素就是替换;这个元素在DES和AES中都有使用。

(2)扩散(Diffusion):为了防止明文的统计属性泄露密码信息,我们将一个明文字符的影响扩散到多个密文字符。最简单的扩散元素就是位置换,它常用于DES中;而AES则使用更高级的Mixcolumn操作。

仅执行扩散的加密是不安全的,然而,将扩散操作串联起来就可以建立一个更强的密码。将若干加密操作串联起来的思想也是Shannon提出的,这样的密码也叫乘积密码(Product cipher)。数据加密有好几种算法,它有着久远的历史,从古典加密算法(移位密码、仿射密码、分组密码),到现代密码学中的(对称)单密钥加密(AES,DES),公钥(非对称)加密算法(RSA,ElGamal,椭圆曲线),哈希(单向散列)函数等。

2。2  公钥密码体制

  1976年,Diffie和Hellman提出了公钥密码体制[5],解决了单钥密码体制的密钥分配问题。在共钥密码体制中,用户拥有一对密钥:私钥和公钥,用户保密私钥,公钥则由某可靠的证书权威(Certificate authority,CA)保存,公钥是公开的。这意味着知道公钥的人都可以用公钥来加密信息,然后接收信息的用户用私钥对加密的信息解密。相反,公钥认证消息其实就是用户用私钥加密消息,然后任何持有用户公钥的人都可以对消息进行验证。然而公钥密码体制存在一个缺点,它会轻易的受到“公钥替换”攻击,即攻击者伪造假的公钥给用户,用户使用这个假公钥加密信息,攻击者截取密文后用对应的密钥解密,因此必须将公钥与用户的身份对应起来。为此我们需要对用户的公钥进行验证,确保信息的来源,根据不同的公钥认证方式我们可以将公钥密码体制[6]分为基本的三大类:基于PKI的公钥密码体制、基于身份的公钥密码体制、(基于自证明的公钥密码体制)无证书公钥密码体制(certificateless public key cryptography)。这些密码体制都是在公钥加密的基础上进行的,比较常见的的公钥加密体制有,RSA公钥密码,ElGamal公钥密码,椭圆曲线公钥密码等。如何验证用户的公钥,例如PKI的公钥密码体制的一个验证方法,就是使用证书,由认证机构对用户的公钥证书进行签名,就可以知道认证机构认定“该公钥确实属于该用户”。文献综述

上一篇:最小二乘问题的几种数值解法
下一篇:摩擦市场中资产定价的基本定理

浅谈中学数学函数最值问题的求解方法

基于决策树算法的篮球联赛预测

数形结合在中学数学中的...

浙江省工业企业发展的因子分析

中美小学数学课堂教学的比较

杭州历年中考三角形的题型分析

论数形结合在中学数学教育中的应用

LiMn1-xFexPO4正极材料合成及充放电性能研究

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...

张洁小说《无字》中的女性意识

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

ASP.net+sqlserver企业设备管理系统设计与开发

安康汉江网讯

新課改下小學语文洧效阅...

网络语言“XX体”研究