摘要: 如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢?解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构。验证公钥,Digital Certificate 显然,这不是一个用技术所能解决的问题,很好的解决办法就是建立一个中介,我们所有的人都相信这个中介,中... 阅读全文
posted @ 2013-12-17 15:12 stemon 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记。上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案。两种方案的结合--扬长避短首先发送方如果想加密发送一个很大的数据,由于非对称加密的速度很慢,所以只能采用对称式的加密方式,加密这个很大的明文... 阅读全文
posted @ 2013-12-17 03:18 stemon 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 困死了,这里对非对称加密体系开个头,具体的实验明天写非对称加密体系为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系。加密和解密的密钥是不同的。一把称为公钥,一把称为私钥。比如,甲、乙、丙三个人要给丁发送信息,但是他们都不想让另外的两个人知道信息的内容... 阅读全文
posted @ 2013-11-26 02:20 stemon 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点。The Priciple of Encryption/Decryption--conventional encryption上节成功的安装好了openssl安全库,下面就进入一些加解密的理论的学习,有关的权威的书籍《应用密码学:协议、算法与C源程序》作者:Bruce Schneier整个加密的过程就是一种数学的变换:对应的数学表示:加密时,f1是加密的函数变换,它的输入是明文和口令,解密时,f2是解密的函数变换,它的输入是密文和口令。f1和f2是互逆的两种变换,但是f1和f2输入的参数key可以相等 阅读全文
posted @ 2013-11-26 01:55 stemon 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记。所以新开一个专题笔记:Using Apache with SSL引入:首先我们在平时的访问网站的时候,数据的传输协议是HTTP协议,这个协议是明文传输的,也就是说存在数据安全的问题。但是在电子商务的时代,我们需要数据安全地传输,这样SSL协议就应运而生了。SSL在网络协议栈的位置:我们平时在线支付的时候,浏览器的地址栏中的地址是https,也就是说是http over SSL。当然支持SSL协议的软件库很多,但是推荐一款开源的OpenSSL,因为安全软件嘛,你的安全要放在桌面上,让大家 阅读全文
posted @ 2013-11-26 00:22 stemon 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态数据成员的用途之一是统计有多少个对象实际存在。静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝图,在其中指定初值是不允许的。也不能在够造函数中初始化该成员,因为静态数据成员为类的各个对象共享,那么每次创建一个类的对象则静态数据成员都要被重新初始化。 1 #include 2 3 class CDummy 4 { 5 public: 6 stati... 阅读全文
posted @ 2013-11-14 18:10 stemon 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 栈是常用的数据结构之一,下面给出一个链式栈的实现~~头文件Stack.h#ifndef Stack_H#define Stack_Htypedef int Item;typedef struct node * PNode;/*定义栈节点类型*/typedef struct node{ Item data; PNode down;}Node;/*定义栈类型*/typedef struct stack{ PNode top; int size;}Stack;/*构造一个空栈*/Stack *InitStack();/*销毁一个栈*/void DestroyStack(Sta... 阅读全文
posted @ 2013-11-06 23:16 stemon 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 队列是常用的数据结构之一,下面给出一个链式队列的实现:头文件Queue.h 1 #ifndef Queue_H 2 #define Queue_H 3 4 typedef int Item; 5 typedef struct node * PNode; 6 typedef struct node 7 { 8 Item data; 9 PNode next;10 }Node;11 12 typedef struct13 {14 PNode front;15 PNode rear;16 int size;17 }Queue;18 19 /*构造一个空队列*... 阅读全文
posted @ 2013-11-06 23:09 stemon 阅读(1741) 评论(0) 推荐(0) 编辑
摘要: 二叉树的所有的操作基本上都是跟遍历相关的,二叉树的深度遍历(先序、中序、后序)都设计栈的操作,但是二叉树的广度搜索(层次遍历)用到的就是队列的操作。注意一点,二叉树的层次的遍历要得到的结果是把所有的信息放到一个一维的数组中,还是放到一个二维的数组中。遍历结果存储到一维数组中vector PrintF... 阅读全文
posted @ 2013-11-06 23:05 stemon 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 首先总的纲领就是最优决策原理:过程的最优决策序列具有如下性质:无论过程的初始状态和初始决策是什么,其余的决策都必须相对于初始决策所产生的状态构成一个最优决策序列。下面逐步的来讲解怎么样通过动态决策构建最优二分检索树,首先一步一步的来:前奏:二分检索树(Binary Search Tree)的定义:二分检索树是一棵二元树,它或者为空,或者其每个结点的数据元素都可以比较大小,且满足下面性质:(1)T的左子树中的所有元素都比根结点中的元素小。(2)T的右子树中的所有元素都比根结点中的元素大。(3)T的左子树和右子树也是二分检索树。注:Binary Search Tree要求树中的结点元素值互异。对于 阅读全文
posted @ 2013-11-05 00:31 stemon 阅读(4040) 评论(0) 推荐(0) 编辑