数字签名技术

 

数字签名技术

 

加密报文方法
example:
A->B
1.B create public key and private key.
2.B announce public key by internet
3.A want to send message to B, so get the public key from internet
4.A send the message which encrypted by public key to B
5.B get the normal message by private key
Total (A---message encrypted by public key --- internet --- cracked by private key ---B)

A->E, F, D
1.E, F, D create respective public key
2.A create Symmetric Key
3.A encrypt message with Symmetric Key.
4.A encrypt symmetric key by respective public key
5.A send message and encrypted key message to every one
6.E crack key message by E private key and get symmetric key. Then crack message by the symmetric key
F, D also

 

 

数字签名(Digital Signature
与加密相反,数字签名利用的是private key加密要送出的东西,用public key解密就可以知道发送人的身份,达到个人认证和完全性保证。

 

安全Hash函数

安全设计时必须满足四个要求
第一:寻找两个输入得到相同的输出在计算上不可行的。也就是常说的抗碰撞(No Collision
第二:从输出得到输入在计算上不可行。也就是单向性
第三:不同长的输入数据得到相同长的输出数据。该长度叫做hash长或者digest长。
第四:输入的一点点不同导致输出的大相径庭。也就是说防止相似破解查找

我们可以通过MD5的来演示一下
Unix
用户直接输入下列命令,Window用户打开你的cygwin。以下是我的yama,yamat的例子结果
-------------------------------------------------------------------------------
chinatimeover@nx9040 ~
$ echo -n yama | md5sum
3971a7663b23a5b7116ba73da31c3e4a *-

chinatimeover@nx9040 ~
$ echo -n yamat | md5sum
a5503d45d67bb7dc3165b5f9f53f19b4 *-
--------------------------------------------------------------------------------

目前主要用到的算法
MD2 128bit
。用于PEM。详见RFC1319
MD4 128bit
。可以说是MD5SHA-1的母亲。详见RFC1320。不过1994年就被搞定了
MD5 128bit
。详见RFC13211996年弱点发现,2004年山东大学王小云教授成功破解。
SHA-1 160bit
。详见RFC 31741995NIST把它作为美国政府的标准hash函数。

 
重要的概念
1
。签名Sign:生成数字签名的过程
具体如下
第一:使用哈希函数对需要签名的数据处理生成digest
第二:使用Private钥对digest实行加密处理。
第三:数据加上签名一同通过网络传输到接受方。
2
。有效性确认Validate:确认数字签名是否有效的过程
具体如下
第一:对受信数据使用哈希函数来生成digest
第二:对受信签名用Public钥来解密得到原始digest
第三:一和二生成的digest进行比较。结果一致即为有效

使用数字签名的目的
1
。保证数据完整性
2
。作成者的认证

数字签名的主要种类
正如概念里面说过,数字签名实际上是哈希函数和非对称加密算法的综合体。
所以主要由以下几种
1
Sha-1WithRSAEncyption RSA + SHA-1
2
Md5WithRSAEncryption RSA + MD5
3
id-dsa-with-sha1 DSA + SHA-1
4
ecdsa-with-SHA1 ECDSA + SHA-1

 

 

 

你可能感兴趣的:(算法,unix,F#,云计算)