linux标准文件编程库(高级文件编程)
2011-09-08 21:25
309 查看
1.对称加密------加密和解密公用同一个密钥
2.非对称加密------公钥加密的私钥解(加密),私钥加密的公钥解(不可否认,因为私钥的唯一性决定了不可否认);公钥加密的公钥不能解,私钥加密的私钥不能解。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
我的公钥是I1,私钥是I2
你的公钥是Y1,你的私钥是Y2
随机对称密钥A是由DH算法产生的SHARE SECURET KEY 共享密钥 是两方相同的
*************************************************************************
没有数字签名的时候
加密过程
1.首先,用随机对称密钥A来加密数据----》加密后的数据标记为B
2.然后我拿你的公钥Y1来加密这个随机对称密钥A---->加密后为C
然后 把B和C打包在一起发给你 ――――――》这个过程主要是为了研究数字签名需要产生的必要性的一个引子,即为抛砖引玉的作用
解密过程
1.首先你收到B和C后 你会用你的Y2来解密C----得出了A
2.然后你在用A解密B 得出了最终的数据
**************************************************************************
-------------------------------------------------------------------------------------------------------------------------------------------------------------
有数字签名的时候
加密过程:
1.首先,用随机对称密钥A来加密数据----》加密后的数据标记为B;同时也把这个数据+随机对称密钥A 进行HASH----得出摘要M
2.然后我拿你的公钥Y1来加密这个随机对称密钥A---->加密后为C;同时我把得出的摘要M用我的私钥I2来加密----得出加密后的摘要N
3.我把B和C和摘要N 打包一起 发给你
解密过程
1. 你先用你的私钥Y2来解密C-----得出A
2. 然后你在用A解密B----得出了最终数据
3. 你在用我的公钥I1解密N---得出摘要M
4.你在用HASH算法把得出的最终数据+随机对称密钥A进行HASH下---如果得出摘要M的话
就意味着这个最终数据就是我发给你的数据
总结: 数字签名后 ,提供了不可否认性,但是无法验证这个不可否认性的发送方的合法身份,所以此时需要第三方信任机构发放用数字证书来承认你是合法的。为什么要这样做呢?比如是黑客冒充我发给你发送一份数据(按照正常的数字签名的加密过程) ,你接到后仍然可以看到数据并且得知是“我”发给你的(按照正常的数字签名的解密过程),但是你不知道那个“我” 是黑客。
公钥用于加密数据,私钥用来数字签名
本文出自 “李逍遥” 博客,请务必保留此出处http://lixiaoyao.blog.51cto.com/460095/190286
2.非对称加密------公钥加密的私钥解(加密),私钥加密的公钥解(不可否认,因为私钥的唯一性决定了不可否认);公钥加密的公钥不能解,私钥加密的私钥不能解。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
我的公钥是I1,私钥是I2
你的公钥是Y1,你的私钥是Y2
随机对称密钥A是由DH算法产生的SHARE SECURET KEY 共享密钥 是两方相同的
*************************************************************************
没有数字签名的时候
加密过程
1.首先,用随机对称密钥A来加密数据----》加密后的数据标记为B
2.然后我拿你的公钥Y1来加密这个随机对称密钥A---->加密后为C
然后 把B和C打包在一起发给你 ――――――》这个过程主要是为了研究数字签名需要产生的必要性的一个引子,即为抛砖引玉的作用
解密过程
1.首先你收到B和C后 你会用你的Y2来解密C----得出了A
2.然后你在用A解密B 得出了最终的数据
**************************************************************************
-------------------------------------------------------------------------------------------------------------------------------------------------------------
有数字签名的时候
加密过程:
1.首先,用随机对称密钥A来加密数据----》加密后的数据标记为B;同时也把这个数据+随机对称密钥A 进行HASH----得出摘要M
2.然后我拿你的公钥Y1来加密这个随机对称密钥A---->加密后为C;同时我把得出的摘要M用我的私钥I2来加密----得出加密后的摘要N
3.我把B和C和摘要N 打包一起 发给你
解密过程
1. 你先用你的私钥Y2来解密C-----得出A
2. 然后你在用A解密B----得出了最终数据
3. 你在用我的公钥I1解密N---得出摘要M
4.你在用HASH算法把得出的最终数据+随机对称密钥A进行HASH下---如果得出摘要M的话
就意味着这个最终数据就是我发给你的数据
总结: 数字签名后 ,提供了不可否认性,但是无法验证这个不可否认性的发送方的合法身份,所以此时需要第三方信任机构发放用数字证书来承认你是合法的。为什么要这样做呢?比如是黑客冒充我发给你发送一份数据(按照正常的数字签名的加密过程) ,你接到后仍然可以看到数据并且得知是“我”发给你的(按照正常的数字签名的解密过程),但是你不知道那个“我” 是黑客。
公钥用于加密数据,私钥用来数字签名
本文出自 “李逍遥” 博客,请务必保留此出处http://lixiaoyao.blog.51cto.com/460095/190286
相关文章推荐
- Linux高级文件编程 标准C部分笔记
- 高级文件编程——标准文件操作的函数(转)
- Linux环境高级编程:文件IO
- Linux高级编程复习 第四章 IO 文件映射 文件描述符 curses字符界面
- linux下的高级文件编程
- 关于Unix/Linux之Inode之我见----------Unix环境高级编程--目录、文件
- Linux-C高级编程(1)文件操作(二)
- Linux下C语言高级编程必备!(附多文件编程代码)
- Linux编程-标准IO(4)-临时文件
- (Linux高级编程)读写文件
- Linux下C编程-----文件操作(1) 通过系统调用简单操作标准输入、标准输出、标准错误
- linux编程主题之标准I/O与高级I/O
- Linux高级编程--05.文件读写
- Linux系统编程:标准IO操作--索引对应路径下的文件
- Linux系统编程:标准IO操作--索引对应路径下的文件
- Linux-C高级编程(1)文件操作(一)
- linux文件编程
- Linux高级编程--08.线程概述
- Linux文件编程,时间编程——系统调用-文件访问
- 【Linux的高级应用编程】进程间的通信机制