数字签名与认证

在网络通信和电子商务中很容易发生如下问题:

①否认    ②伪造    ③冒充    ④篡改

数字签名

定义:

    数字签名就是针对数字信息进行的签名,以防止信息被伪造或篡改等,数字签名也可以用于通信双方的身份鉴别。

特性:

(1)签名是可信的。

(2)签名是无法伪造的。

(3)签名是不可复制的。

(4)签名的信息是不可篡改的。

(5)签名是不可抵赖的。

原理:

公开密钥体制可以用来设计数字签名方案。

设用户Alice要发送一个经过数字签名的明文M给用户Bob,数字签名的一般过程如下:

(1) Alice用信息摘要函数hash从M抽取信息摘要M' ;

(2) Alice用自己的私人密钥对M'加密,得到签名文本S,即Alice在M上签了名;

(3) Alice用Bob的公开密钥对S加密得到S' ;

(4)Alice将S'和M发送给Bob;

(5)Bob收到S'和M后,用自己的私人密钥对S'解密,还原出S;

(6) Bob用Alice的公开密钥对S解密, 还原出信息摘要M' ;

(7) Bob用相同信息摘要函数从M抽取信息摘要M”;

(8)Bob比较M'与M”,当M'与M"相同时,可以断定Alice在M上签名。

    由于Bob使用Alice的公开密钥才能解密M',可以肯定Alice使用了自己的私人密钥对M进行了加密,所以Bob确信收到的M是Alice发送的,并且M是发送给Bob的。

数字签名标准DSS

    是利用安全散列函数(SHA)提出的一种数字签名技术。

单向散列函数

     单向散列函数,也称Hash函数﹐它可以提供判断电子信息完整性的依据﹐是防止信息被篡改的一种有效方法。

特点:

    Hash 函数的作用是当输入一任意长度的信息M时,将输出一个固定长度为m的散列值h。即:h=h(M)

安全的Hash函数的特点如下:

(1)Hash函数能从任意长度的M中产生固定长度的散列值h;

(2)已知M时,利用h(M)很容易计算出h;

(3)已知M时,要想通过同一个h(M),计算出不同的h是很困难的;

(4)已知h时,要想从h(M)中计算出M是很困难的。

应用:

(1)校验数据完整性

(2)消息认证

(3)数字签名

(4)保护用户口令

MD5算法

    又称信息-摘要算法,把一个任意长度的字节串换成固定长度的字节串。

在对输入的明文初始化之后,MD5是按每组512位来处理输入的信息,每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由4个32位分组组成,这4个32分组串联(级联)后将生成一个128位散列值

SHA算法

2002年宣布的SHA标准方案中,包括了SHA-1和SHA-256,SHA-384,SHA-512,后缀“256,384,512”表示输出的信息摘要长度。

数字证书

    由权威机构CA发行的一种权威性的电子文档,原理基于公开密钥体制。

分类:

从最终使用者来看,分为系统证书和用户证书;

从证书的用途来看,分为签名证书和加密证书。

你可能感兴趣的:(信息安全技术,java,开发语言,安全)