| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 《密码编码学与网络安全》William Stalling著 --- 学习笔记(一)---传统密码+经典对称加密算法+经典公钥密码算法+密码学Hash函数---知识点速过 -> 正文阅读 |
|
[网络协议]《密码编码学与网络安全》William Stalling著 --- 学习笔记(一)---传统密码+经典对称加密算法+经典公钥密码算法+密码学Hash函数---知识点速过 |
《密码编码学与网络安全》William Stalling著 — 学习笔记(一)—传统密码+经典对称加密算法+经典公钥密码算法+密码学Hash函数—知识点速过写在前面最近因为学习的需要初步接触网络安全方向,阅读的书是William Stalling著的《密码编码学与网络安全(第六版)》。由于本科期间是计科的Web应用开发方向,没有系统接触过网络安全方面的课程,所以从密码学入门。做个学习笔记方便后期复习,同时也分享给大家。由于本人能力有限肯定会有总结和理解不到位的地方,甚至有的地方会有错误(当然目前我没发现…)我若日后发现也会及时更新修改,所以希望各位辩证的学习,不要尽信书。阅读的参考书封面如图所示。 1. 传统密码1.1 Casear密码简单的由字母表中循环后推k位。 1.2 单表代替密码给出一张一一映射的密码表。 1.3 Playfair密码(多字母代替密码)密钥词: i am BUAAer
step1:配对。he lx lo wo rl dx 1.4 Hill密码AA-1=A-1A=E
Hill密码系统: 完全屏蔽了单字母的频率特性,且加密密钥矩阵越大,隐藏的频率信息越多 设名密文对分别为X,Y,K=X-1Y 1.5 多表代替加密明文消息中采用不同的单表替代。 1.5.1 Vigenere密码(维吉尼亚密码)相当与一份26个Caesar密码代替表组成。 屏蔽了字母出现的频率信息,但是Vigenere密码频率分布特征仍然能够被分析出。 1.5.2 Vernam密码(弗纳姆密码)流密码典型代表 一次一密典型代表 1.6 一次一密-不可攻破使用穷举法可以分析出大量的可读明文,因为无法唯一确定原始明文是哪一条。 应用难点:产生大规模随机密钥困难, 密钥分配管理困难 1.7 置换技术
1.8 转轮机图灵在二战时期破译的德军恩格玛机,改变了二战的走向。 破解困难:轮转方向不可知,连线顺序不可知。 1.9 隐写术例子:藏头诗等,不可见墨水(比如谍战片中常看到的用水泼上去才能看到字等),紫外线光下展现。 2. 经典对称加密算法Feistel密码强度:迭代轮数,函数F,密钥使用算法 分组密码的工作模式电码本模式 密文反馈模式 输出反馈模式 计数器模式
2.1 DES (数据加密标准 Data Encryption Standard)DES加密过程 密码强度:256 = 7.2*1016 3DES 若关于这没有看懂的同学,我建议查看这个视频。我是通过这个视频看懂的,UP主十分强!!! 2.2 AES (高级加密标准 Advanced Encryption Standard)(Rijndael算法) AES-128将密钥16字节,写为写成4*4矩阵,然后按照下列流程图进行数据加密。
轮密钥生成 (密钥扩展)分为两种情况 若关于这没有看懂的同学,我还是建议查看这个UP主的视频 3. 经典公钥密码算法3.1 RSA算法RSA算法由麻省理工的三位大神 M.Rivest; A.Shamir;L.Adlman发明,并用他们的名字首字母命名。 可变参数称为陷门信息 RSA算法加密过程:
3.2 Diffie-Hellman密钥交换算法(迪菲-赫尔曼密钥交换算法)基于数学难题: 一般有限域上离散对数的难解性 3.3 EIGamal加密算法基于DH密钥交换算法的非对称加密算法,使用一次性密钥K。
3.4 ECC(椭圆曲线密码)椭圆曲线:形如 y2=X3+aX+b (4a3+27b2 ≠0,保证曲线上任意一点均存在切线)关于X对称。 连续域上的椭圆曲线一般不能用来密码学中直接使用,我们一般使用有限域上的离散的点。 椭圆曲线密码基于: 椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem) ECC加密: 选择随机数r,将消息M加密为密文C 4. 密码学Hash函数4.1 MD5(消息摘要算法 Message Digest Algorithm 5)用处:密码保护、文件完整性校验、数字签名、文件秒传 FF(a ,b ,c ,d ,Mj ,s ,ti)
我国密码学家王小云院士:碰撞攻击可行,通过碰撞攻击可以达到MD5的解密。 **相同前缀碰撞:文件完整性校验变得危险。**前缀相同,但是通过对后缀的修改,若可以实现MD5值依然相同那么将会是一件危险的事。试把蒙娜丽莎的微笑想象成你要下载的可执行文件。另外一份是恶意文件。通过后缀中某个条件可以出发恶意行为。如果先用正常的软件通过恶意软件检测,再悄悄替换为危险软件,由于这两个软件MD5值相同,恶意软件会被认为是前面检查过的可执行文件。这就给攻击者可趁之机。 选择前缀碰撞:MD5值一样,两个程序完全不同。数字签名比较危险(数字支票金额支付)。 4.2 SHA (安全散列算法 Secure Hash Algorithm)抗原像攻击 4.2.1 SHA-0被发现存在缺陷 4.2.2 SHA-1建立在MD4算法之上 对每个512数据块进行相应轮数计算、前一分组输出的消息摘要同时也作为后一分组的输入 a=H0 b=H1 c=H2 d=H3 e=H4 -->初始链接变量 轮函数:
Kt为给定常量字, 4.2.3 SHA-2128bit密钥长度的SHA-1已经被Google团队破获,所以SHA-2应运而生,在我的理解…其实就是加长了密钥长度的SHA-1。
输入:0<L<2^64
输入:0<L<2^64
输入:0<L<2^256
输入:0<L<2^256 4.2.4 SHA-3SHA-3较为复杂,SHA-3的详细介绍见我的另外一篇笔记文章。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:18:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |