IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 密码学与网络安全 - 9 公钥密码学与RSA & 10 密钥管理和其他公共密码体制 -> 正文阅读

[网络协议]密码学与网络安全 - 9 公钥密码学与RSA & 10 密钥管理和其他公共密码体制

9 公钥密码学与RSA

公钥和我们之前讲的密码完全不同,它是基于函数的而不是替换和置换

澄清几点:任何密码的安全性都依赖于密钥长度和破译密文所需要的时间

公钥密码学和传统密码学各有各的使用场景

9.1 公钥密码体制的基本原理

为了解决两个问题:

  1. 密钥分配
  2. 数字签名

9.1.1 公钥密码体制

公钥密码算法特点:

  1. 只有公钥和算法在计算上求解私钥不可行
  2. 公钥和私钥都可以用来加密和解密(用私钥加密就是数字签名,别人可以用公钥验证,用公钥就是别人可以用它来发送信息/转账等,然后自己用私钥收取)

公钥密码体制的六个组成部分

  1. 明文
  2. 加密算法
  3. 公钥和私钥
  4. 密文
  5. 解密算法

9.1.2 公钥密码体制的应用

加密/解密(发送方使用接收方的公钥对信息进行加密)

数字签名

密钥交换

9.1.3 对公钥密码的要求

建立在基于两个两个相关密钥的密码算法之上,算法应该满足的条件:

  1. 产生一对密钥在计算上是容易的
  2. 通过公钥加密消息在计算上是容易的
  3. 通过私钥恢复密文在计算上是容易的
  4. 已知公钥和密文,计算私钥在计算上是不可行的
  5. 加密和解密的顺序可以交换

目前满足这几个条件的算法有:RSA、椭圆曲线密码体制、Diffe - Hellman,DSS

事实上要满足上述的条件,就是要找一个单向陷门函数,每个函数值都存在唯一的逆,计算函数值容易但求逆却不容易

9.1.4 公钥密码分析

面对穷举攻击,公钥密码解决方案也是增长密钥,加随机数

另外,目前未有特定公钥算法证明从公钥推出私钥是不可行的

9.2 RSA算法

9.2.1 算法描述

设通信双方为A和B,发送的消息为M

通过RSA算法获得了公钥d和私钥e,公开数n

A会先把消息M进行M^d,然后mod n, 结果就是加密后的信息N

B会先使用私钥e对密文N进行N^e,然后同样mod n 就能够还原出信息M

这个过程不需要实现通过一个中心结构分配密钥对,而B可以自己通过随机生成,然后把公钥和n高速A即可,告诉也无所谓,这个信息可以是公开的,攻击者在计算上是不可行的

9.2.2 计算方面的问题

可以看到上述中间结果可能很大,所以对过程值mod n,也是可行的

9.2.3 RSA的安全性

  1. 穷举攻击
  2. 数学攻击
  3. 计时攻击
  4. 基于硬件故障的攻击
  5. 选择密文攻击

10 密钥管理和其他公共密码体制

10.1 Diffie - Hellman交换

本质是求离散对数

10.1.1 算法

通过交换公钥双方可以获得密钥

10.1.2 密钥交换协议

不能抗重播攻击

10.1.3 中间人攻击

通过数字签名和公钥证书来弥补

10.2 EIGamal密码体制

10.3 椭圆曲线算术

10.3.1 阿贝尔群

这个概念在数论章节我们已经解释过了

10.3.2 椭圆曲线

椭圆曲线并不是椭圆,只是因为形式非常像椭圆曲线方程

10.3.3 Zp上的椭圆曲线

椭圆曲线的密码体制使用的是变元和系数均为有限域中元素的椭圆曲线,密码应用中所使用的两类椭圆曲线是定义在Zp上的素曲线和在GF(2^m)上构造的二元曲线

10.3.4 GF(2^m)

有限域GF(2m)由2m个元素及定义在多项式上的加法和乘法运算组成

10.4 椭圆曲线密码学

对应RSA,椭圆曲线求离散对数

同样的,利用椭圆曲线也可以实现Diffie - Hellman交换 和加密和解密

10.4.1 椭圆曲线密码的安全性

10.5 基于非对称密码的伪随机数生成器

如基于RSA的PRNG和基于椭圆曲线的PRNG

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:12:53  更:2022-05-14 10:13:10 
 
开发: 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年5日历 -2024/5/19 5:21:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码