信息安全概论复习笔记 第六章 公开密钥密码学

您所在的位置:网站首页 公开密钥密码体制的基本原理 信息安全概论复习笔记 第六章 公开密钥密码学

信息安全概论复习笔记 第六章 公开密钥密码学

2023-12-25 04:28| 来源: 网络整理| 查看: 265

1.公开密钥密码模型的基本原理 2.两个算法:rsa & D-H算法

对称密钥密码的密钥交换问题双方共享的秘密:key 解决的问题:保密通信 对称的、单密钥、秘密密钥、传统密钥:发送方加密和接收方解密使用的是**同一个密钥 **该密钥需要事先由发送方和接收方实现共享,是发送方和接收方共同的秘密 如果密钥泄露,则不安全(无法提供保密性服务) 对称:通信双方是对等的

公开密钥密码模型 非对称的、双密钥:每个人有两个密钥 公钥 public key:公开 私钥 private key:保密image.pngimage.png

两种密码体制根据使用的密钥数量 对称的、单密钥、秘密密钥、传统密码技术:发送发和接收方使用同一个密钥 非对称的、双密钥、公开密码技术:发送方和接收方使用不同的密钥; 加密密钥和解密密钥分割开来,且无法由一个推算出另一个,使得不仅能公开加密算法,公开密钥也可以公开(公告牌、个人主页、号码簿)

公开密钥密码两个密钥:公钥和私钥 非对称:通信双方的地位不平等 往往利用数论的一些函数精心构造 补充而非取代对称密钥密码技术 缺点:公开密钥密码的主要弱点是加解密速度慢

公开密钥+对称密钥完成通信保密举例说明:公开密钥可以实现密钥的交换 例如:A和B使用对称密钥密码进行保密通信,怎么实现密钥交换? A和B进行保密通信 A可以先用B的公钥加密一个对称密钥 双方可以用对称密钥进行大量的保密通信,大量的数据对加解密速度有要求 非对称密钥密码很少用来加密大量数据,往往是用来交换密钥

公开密钥的历史1976年Diffie 和Hellman在论文密码学新方向(New Direction in Cryptography)中首次提出了公开密钥密码体制的问题 Diffie 和Hellman提出了第一个基于公开密钥思想的密码算法,称为D-H算法,此算法可以用于实现密钥交换 1977年Rivest、Shamir和Adleman三个人实现了公开密钥密码体制,现在称为RSA算法,它是第一个既能用于密钥交换、也能用于数据加密和数字签名的算法

公开密钥加密系统一个公开密钥系统由六要素组成:明文公开密钥(记作PU或KU) 私有密钥(记作PR或KR) 加密算法 密文 解密算法

公开密钥算法的基本要求加密参与方B容易通过计算产生出一对密钥 (公开密 钥KUb , 私有密钥KRb ) 发送方A很容易计算产生密文 C = EKUb (M) 接收方B通过计算解密密文 M = DKRb © = DKRb [EKUb (M)] 敌对方即使知道公开密钥KUb , 要确定私有密钥 KRb 在计算上是不可行的敌对方即使知道公开密钥KUb 和密文C , 要确定 明文M在计算上是不可行的密码对互相之间可以交换使用M = DKRb [EKUb (M)] = DKUb [EKRb (M)]image.png

数字签名密钥对互相之间可以交换使用image.pngimage.png公钥加密私钥解密做通信保密私钥签名公钥校验做数字签名什么是数字签名?数字签名由什么安全需求?所谓数字签名就是一种可以替代手写签名的一种签名技术。回到问题最初状态:手写签名的安全需求有哪些?可认证 抗抵赖image.png所谓数字签名就是用私钥加密image.pngimage.pngimage.png公开密钥密码原理总结公开密钥密码技术涉及两个密钥 公钥: 公开,任何人可以知道,用于加密明文或验证签名私钥: 仅有接收者/拥有者自己知道,用于解密或构造签名 非对称的含义 密钥的不对称:加/解密的密钥不同 用于加密的不能解密,用于解密的不能加密 双方地位不对等: 通信双方知道的秘密不一样多,私钥只能自己知道

两个典型算法RSA算法Diffie-Hellman算法

RSA算法1977年由MIT的Rivest, Shamir和Adleman 三人提出 是一个分组加密方法 目前被最广泛地采用 理论基础是数论中的下述论断:要求得两个大素数的乘积是容易的,但要分解一个合数为两个大素数的乘积,则在计算上几乎是不可能的;采用的单向函数是大素数相乘 ,相乘很容易 ,但因子分解很困难 基于数论中的Fermat (小) 定理实现

RSA密钥生成(不是重点)每个用户生成公钥/私钥对的步骤: ①随机选择两个大素数 p, q ②计算这两个素数的乘积 n=p×q ③计算小于n并且与n互质的整数的个数 即欧拉函数 ø(n)=(p-1)(q-1) ④选择一个随机数e,满足 1RSA密钥生成的计算量如何得到足够大的随机素数 如何求解方程 e.d≡1 mod ø(n)实际应用所采用的方法是:首先,产生一个足够大的随机数,然后通过采用一个概率多项式时间算法来检测该随机数是否是素数(即是否具有素性) 常用的两个素性测试算法: Solovay-Strassen素性测试; Miller-Rabin素性测试image.png密钥生成的5个步骤,每个步骤都有自己的算法,而且都是多项式时间求解的算法,也就是说拥有密钥的人求解是多项式时间求解问题

RSA加解密密钥生成部分得到:公钥公开: PU={e,n} 私钥保密: PR={d,n} 加密一个报文,发送方: 获取接收方的公钥PU={e,n} 计算C = Me mod n, 0≤M注意两点:1.加解密算法一致,软硬件只需设计一套 2.可以证明1(课后可以查阅文献证明)image.pngimage.pngimage.png

RSA算法的安全性image.pngimage.png

image.png重点image.png重点image.png陷门image.png了解

Diffie-Hellman密钥交换算法是第一个公钥方案 使用在一些常用安全协议或产品(例如SSH、IPSEC) 密钥交换方案 不能直接用于有大量数据传输的保密通信 允许两个用户可以安全地建立一个共享的秘密信息,用于后续的通信过程 该**秘密信息仅为两个参与者知道 **算法的安全性依赖于有限域上计算离散对数的问题image.png

Diffie-Hellman密钥交换算法(ennnn,看不懂)具体算法: 通信双方/多方选择大素数p,以及p的一个原根a 用户A选择一个随机数xA < p,计算: yA = axA mod P 用户B选择一个随机数xB < p,计算: yB = axB mod P 每一方保密X值,而将Y值交给对方 即:X是私钥,Y是公钥 双方可以共享一个密钥:KAB = axA.xB mod p 对于用户A,计算出:KAB=yBxA mod p 对于用户B,计算出:KAB=yAxB mod p 攻击者要获得KAB,需要求解离散对数 实际使用中,素数p以及p的原根a,可有一方选择后发给对方image.pngimage.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3