密钥交换算法
DH 密钥交换 DH 密钥交换,全称 Diffie-Hellman key exchange,它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥,这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。其原理使用了数论中的一个简单的推论,从理论上保证了其加密的可靠性。虽然如此,DH 密钥交换并不是完全安全的,攻击人可能会通过中间人通讯进行攻击,可以说用心险恶 ...
DH 密钥交换 DH 密钥交换,全称 Diffie-Hellman key exchange,它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥,这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。其原理使用了数论中的一个简单的推论,从理论上保证了其加密的可靠性。虽然如此,DH 密钥交换并不是完全安全的,攻击人可能会通过中间人通讯进行攻击,可以说用心险恶 ...
还记得我在 Visual Studio 上写的第一个程序: #include <stdio.h> int main(int argc, char** argv) { printf("Hello World!\n"); return 0; } 当第一次看到命令行按照以上代码打印出 “Hello World!” 时,我有一种非常奇妙的感觉,因为我发现我好像正在与一台计...
RSA 加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。RSA 是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在 1977 年一起提出的。当时他们三人都在麻省理工学院工作。RSA 就是他们三人姓氏开头字母拼在一起组成的。 —— 维基百科 互联网是自由的,我们可以在网上获得几乎任...
zigzag 是一个简单好用的小整数压缩算法。 原理 现在一般的计算机都是 32 位或者 64 位机了,每个数据的表示长度和范围都比较多。一个常见的数据类型 int 一般占 4 个字节,但是在实际使用时,数字并不会很大,经常不会超过几万(当然要看实际情况),比如下面几个例子 number: 23 bit: 0000 0000 0000 0000 0000 0000 0001 01...
在写一些简单的玩具的时候,我们可以通过标准库提供的 printf 或者 std::cout 等进行调试。不过当项目越来越大的时候,就需要一个日志系统帮助我们监测程序详细的运行状态及调试,所以有必要实现一个好用的日志系统。虽然现在已经有很多现成的日志库可以直接拿来用了,但是自己实现一个也不是很难。本篇文章参考 sylar 的日志系统实现了一个简化的日志系统 日志系统的基本功能 日志等...
本次实验准备借助 lex 写一个 C 语言子集的词法分析程序 lex 文件的写法 一个简单例子 先从例子入手吧,下面的例子用来统计文本行数: %{ #include <stdio.h> int lines = 1; %} %% \n { lines++; } . ; %% int main(int argc, char** argv) { if (arg...
1. 操作说明 命令 含义 int 将整数数添加到栈中 + 栈中压入 + s 栈中压入 s e 计算栈顶表达式的值(详见下文) d...
Cool, an acronym for Classroom Object Oriented Language, is a computer programming language designed by Alexander Aiken for use in an undergraduate compiler course project. While small enough for a...