信息安全复习六:公开密钥密码学

这篇具有很好参考价值的文章主要介绍了信息安全复习六:公开密钥密码学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、章节梗概

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

主要内容
1.对称密钥密码的密钥交换问题
2.公钥密码模型的提出
3.设计公钥密码的基本要求
4.数字签名
5.RSA算法
6.公钥密码的特征总结

二、对称密钥密码

1.对称加密是什么:对称加密是指加密和解密用的是同一个密钥的加密方式。

2.对称加密算法原理:
对称加密算法中,数据发送方将明文和密钥一起经过特殊加密算法处理成密文后,将它发送出去。接收方收到密文后,若想解读原文,则需要使用加密用到的相同密钥及相同算法的逆算法对密文进行解密,才能使其恢复成原文。

3.对称加密的优点/特点:加密计算量小、速度快。

4.对称加密的缺点:
一是通讯双方基于通过非面对面的方式协商一个共同的密钥,因此不能保证协商过程的安全性。
二是通讯双方每次进行数据传输时都使用惟一密钥,这使得对称加密技术在开放型的网络中需要使用和生成大量的密钥,对于密钥的管理就成为用户的很大负担。
三是对称加密算法不能实现不可否认性(抗抵赖性)。使用同一密钥的多个通信对象间,无法证实该消息是由确认的某个对象发出来的,它不提供数字签名之类的功能。

5.对称加密的问题:密钥传输问题。
对称加密的问题是密钥传输问题,因为对称加密的做法一般是解密方生成密钥传输给加密方,加密方对明文加密,然后把密文发送给解密方,解密方使用密钥对密文解密,得到明文,而密钥在传输过程中很可能被攻击者截获,因此对称加密的安全性就不仅仅取决于加密算法本身的强度,更取决于密钥是否被安全地传输。

6.对称加密的应用场景
对称加密适用于对大量数据进行加密的场景。

7.常见的对称加密算法有:AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6。

8.对称加密的核心是:只有一把密钥。

对称密钥密码模型中,双方共享的秘密是密钥KEY,解决的问题是保密通道。

对称的、单密钥、秘密密钥、传统密钥:发送方加密和接收方解密使用的是同一个密钥。

该密钥需要事先由发送方和接收方实现共享,是发送方和接收方共同的秘密。

如果密钥泄露,则不安全(无法实现保密性服务)

对称:通信双方是对等的。

三、公开密钥密码模型

1.非对称加密是什么
非对称加密是指加密和解密用的不是同一个密钥的加密方式。

2.非对称加密的原理
非对称加密算法实现机密信息的交换过程为:甲方生成一对密钥并将其中一个作为公钥向其他方公开;得到该公钥的乙方使用该密钥对机密信息进行加密后发送给甲方;甲方再用自己的另一个专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。

3.非对称加密的优点
简化了密钥的发放及管理的过程,支持数字签名等安全认证技术。
非对称加密的特点是不存在密钥传输问题,因为非对称加密的做法一般是解密方生成一对公私钥,自己保留私钥,把公钥公开,加密方拿到公钥对明文加密,然后把密文发送给解密方,解密方使用私钥对密文解密,得到明文,所以公钥是随便你什么人来拿都行、反正也是用来加密的、又不是用来解密的——即就算被截获了也不怕,只要保管好私钥就可以了。

4.非对称加密的问题
非对称加密的问题是加密计算量大、速度慢。

5.非对称加密的应用场景
非对称加密适用于对少量数据进行加密的场景。

6.常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)。

7. 最有名的非对称加密算法当属 RSA ,非对称加密的典型应用是数字签名。

非对称加密算法中,有两个密钥:公钥和私钥。它们是一对,如果用公钥进行加密,只有用对应的私钥才能解密;如果用私钥进行加密,只有用对应的公钥才能解密。

3.1 非对称的、双密钥:每个人都有两个密钥

公钥:公开
私钥:保密

3.2 根据使用的密钥数量区分的两种密码体制

对称的、单密钥、秘密密钥、传统密码技术:发送发和接收方使用同一个密钥。

非对称的、双密钥、公开密码技术:发送方和接收方使用不同的密钥。

加密密钥和解密密钥分割开来,且无法由一个推算出另一个,使得不仅能公开加密算法,公开密钥也可以公开(公告牌、个人主页、号码簿)。

3.3 公开密钥密码

两个密钥:公钥和私钥
非对称:通信双方的地位不平等

往往利用数论的一些函数精心构造
补充而非取代对称密钥密码技术

缺点:公开密钥密码的主要弱点是加解密速度慢。

3.4 公开密钥的历史

1976年Diffie 和 Hellman在论文密码学新方向( New Direction in Cryptography ) 中首次提出了公开密钥密码体制的问题。

Diffie和 Hellman提出了第一个基于公开密钥思想的密码算法,称为D-H算法,此算法可以用于实现密钥交换。

1977年Rivest Shamir和 Adleman三个人实现了公开密钥密码体制,现在称为RSA算法,它是第一个既能用于密钥交换,也能用于数据加密和数字签名的算法。

3.5 公开密钥加密系统

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

3.6 公开密钥密码原理总结

公钥:任何人可以知道,用于加密明文或验证签名
私钥:仅有接收者/拥有者知道,用于解密和构造签名。

非对称的含义
密钥的不对称:加/解密密钥不同
用于加密的不能解密,用于解密的不能加密。
双方地位不对等:通信双方知道的秘密不一样多,私钥只能自己知道。

四、数字签名

4.1 简单概念

数字签名是个加密的过程,数字签名验证是个解密的过程。

数字签名解决的核心问题是:确保收到的文件没有被更改。

密钥对互相之间可以交换使用。
信息安全复习六:公开密钥密码学
密钥对交换使用能提供什么功能:通信保密、数字签名。
什么是数字签名:所谓数字签名就是一种可以替代手写签名的一种签名技术。

手写签名的安全需求:可认证、抗抵赖。
所谓数字签名就是用私钥加密:可认证、抗抵赖。

对称密钥密码实现不了可认证和抗抵赖的安全需求。
信息安全复习六:公开密钥密码学

4.2 基本特征

数字签名必须保证三点:
报文鉴别——接收者能够核实发送者对报文的签名;
报文的完整性——接收者不能伪造对报文的签名或更改报文内容。
不可否认——发送者事后不能抵赖对报文的签名;

数字签名三个特征的验证:
不可否认——只有用户A拥有私钥A,并能使用私钥A产生"加密的摘要",这样用户A就不能否认给用户B发送了经过签名的密文。
报文的完整性——用户B通过比较得出的两份摘要是否相等,可以判断签名或文件内容是否发生改变。
报文鉴别——用户B可以使用收到的公钥对"加密的摘要"进行解密,从而核实用户A对文件的签名。

4.3 数字签名的作用

一是能确定消息的不可抵赖性,因为他人假冒不了发送方的私钥签名。发送方是用自己的私钥对信息进行加密的,只有使用发送方的公钥才能解密。

二是数字签名能保障消息的完整性。一次数字签名采用一个特定的哈希函数,它对不同文件产生的数字摘要的值也是不相同的。

4.4 数字签名的原理

数字签名技术是将原文通过特定HASH函数得到的摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文提炼出一个摘要信息,与解密得到的摘要进行对比。哪怕只是一个字符不相同,用HASH函数生成的摘要就一定不同。如果比对结果一致,则说明收到的信息是完整的,在传输过程中没有被修改,否则信息一定被修改过,因此数字签名能够验证信息的完整性。

五、RSA算法

5.1 RSA介绍

概念
是一个分组加密算法。
目前被最广泛采用。
基于数论中的Fermat(小)定理实现。
是一个既能用于密钥交换,也能用于数据加密和数字签名的算法。

算法原理
来源于数论的理论基础:要求得两个大素数得乘积很容易,但要分解一个合数为两个大素数得乘积,在计算上几乎不可能;采用得单向函数是大素数相乘,相乘很容易,但因子分解很难。

5.2 RSA密钥生成步骤

信息安全复习六:公开密钥密码学

5.3 RSA加密和解密

RSA加密
信息安全复习六:公开密钥密码学
RSA解密
信息安全复习六:公开密钥密码学

5.4 RSA使用

1.公钥公开:PU={n,e};私钥保密:PR={n,d}

2.加密报文:发送方获取接收方的公钥PU ={n,e}

3.计算密文:C = M^e mod n,0<=M<n

4.解密密文:接收方用自己的私钥PR={n,d}解密

5.计算M = C^d mod n

举例:
选择素数:p=17 & q=11
计算 n = pq = 19× 11 = 187
计算 m = (p-1)(q-1) = 18 × 10 =160
找到 e:gcd(160,e)=1 ,选择 e = 7
计算d:de mod m = 1,7d mod 160 = 1 得 d=23
生成密钥对:公钥PU={187,7};私钥PR={187,23}

RSA加密:M = 88,C = 88^7 mod 187 =11
RSA解密:M = 11^23 mode 187 =88

5.5 RSA的安全性和速度

安全性:破解 RSA 的难点在于对 n 的因数分解,然而大整数的因数分解暂时没有高效的算法。

速度:RSA最快的情况也比DES慢许多倍,无论是软件还是硬件。因此一般只用于少量数据加密,一般做密钥交换。

RSA是最优秀的公钥方案之一。
RSA —— 经典的非对称加密算法

六、公开密钥密码的特征总结

公开密钥算法设计需要有以下基本要求:
加密与解密由不同的密钥完成。

知道加密算法,从加密密钥得到解密密钥在计算上是不可行
两个密钥中的任一个都可以作为加密,而另一个作为解密。

保密通信:公钥加密,私钥解密
数字签名:私钥加密(签名),公钥解密(验证)

七、公开密钥密码算法的基础

1.单向函数
对于一个函数f(x),如果对于其定义域上的任意x,f(x)都容易计算,同时对子其值域中几乎所有的取值y,计算其逆丽数f^-1(y)都是不可行的,则函数f(x)称为单向函数。

2.可以提供单向函数的三大数学难题
大整数分解问题
离散对数问题
椭圆曲线离散对数问题(简称ECDLP)

3.单向陷门函数
对于一个单向函数f(x),如果其逆函数f^-1(x)在已知某些辅助信息的情况下,容易求解得出,则称该单向函数f(x)称为单向陷门函数。

构造公钥密码系统的关键是如何在求解某个单向函数的逆函数的NP完全问题中设置合理的”陷门”。

4.其它
除RSA算法之外,建立在不同计算难题上的其他公开密钥密码算法有:
基于因子分解问题的Rabin算法;
椭圆曲线公钥算法;
基于有限域中离散对数难题的Elgamal公钥密码算法;
基于“子集和”难题的Merkel-HellmanKnapsack (背包)公钥密码算法;

八、Diffie-Hellman密钥交换算法

8.1 概念

是第一个公钥方案;使用在一些常用安全协议或产品(例如SSH 、IPSEC)。

8.2 密钥交换方案

不能直接用于有大量数据传输的保密通信;
允许两个用户可以安全地建立一个共享的秘密信息,用于后续的通信过程;
该秘密信息仅为两个参与者知道;
算法的安全性依赖于有限域上计算离散对数的问题

离散对数问题
假设a、p均为素数,则有以下等式:
{ a^1 mod p, a^2 mod p, …, a^(p-1) mod p } = {1, 2, … , p-1 } {} 表示集合
对于任意一个数 x,若 0 < x < p,则必定存在唯一的 y 使得 x = a^y mod p,其中 0 < y < p。当p很大时,很难求出y,所以它能做为DH秘钥交换的基础。

8.3 算法流程

缺点:DH密钥交换算法易受到中间人攻击。

造成中间人攻击得逞的原因是:DH密钥交换算法不进行认证对方。利用数字签名可以解决中间人攻击的缺陷。

Diffie-Hellman密钥交换协议
Diffie-Hellman密钥协商算法文章来源地址https://www.toymoban.com/news/detail-424291.html

到了这里,关于信息安全复习六:公开密钥密码学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【北京航空航天大学】【信息网络安全实验】【实验一、密码学:DES+RSA+MD5编程实验】

    1. 通过对DES算法的代码编写,了解分组密码算法的设计思想和分组密码算法工作模式; 2. 掌握RSA算法的基本原理以及素数判定中的Rabin-Miller测试原理、Montgomery快速模乘(模幂)算法,了解公钥加密体制的优缺点及其常见应用方式; 3. 掌握MD5算法的基本原理,了解其主要应用

    2024年02月19日
    浏览(52)
  • 密码学复习-2 分组密码

    分组密码:将一个明文块作为一个整体来处理,并用来产出等长的密文块的一种密码。 流密码:对数字流一次加密一位或者一个字节的密码。 Feistel建议使用乘积密码的概念来逼近理想分组密码。 乘积密码:是指依次使用两个或两个以上的基本密码,所得结果的密码强度将强

    2023年04月26日
    浏览(51)
  • 信息安全复习四:置换密码&乘积密码&隐写术

    置换密码、Rail Fence密码、行置换密码、乘积密码、转子机、隐写术 重新排列明文字母,达到信息加密的目的。 与替代密码不同的是,原来明文中的字母同样出现在密文中,只是顺序被打断。 古典的置换密码的例子:Rail Fence密码、行置换密码、乘积密码、转子机、隐写术 羊

    2024年02月10日
    浏览(81)
  • 现代密码学复习

    目录 密码学总结 第一章——只因础模型与概念 1.1 密码学五元组(结合🐏皮卷) 1.2 Dolev-Yao威胁模型 1.3 攻击类型 1.4 柯克霍夫原则(Kerckhoffs\\\'s principle) 1.5 对称、非对称加密 1.6 密码的目标 1.7 保密通信模型 第二章——古典密码 2.1 仿射密码 2.2 Hill密码 例题0 ——解同余方程

    2023年04月09日
    浏览(63)
  • 区块链--密码学复习概括

    目录 一、密码学需要实现的功能与目标 二、从发展历史角度 三、古典密码学 四、现代密码学 五、密码体制分类 六、密码技术基础 七、非对称密码体制 八、基于证书的公钥分发机制 九、对称与非对称加密体制特性对比 十、RSA算法 十一、数字签名 十二、ECDSA签名算法 十三

    2024年02月03日
    浏览(47)
  • 【密码学复习】第十章 身份鉴别

    身份鉴别的定义 定义:身份 鉴别 , 又称为身份识别、身份认证。它是证实客户的真实身份与其所声称的身份是否相符的过程。 口令身份鉴别       固定口令(四) 注册环节:双因子认证 ① 接收用户提供的口令 pw (PIN); ② 生成用户的其它信息(证书等),存入磁卡

    2024年02月08日
    浏览(53)
  • 【密码学复习】第七章 公钥加密体制(二)

    RSA单向陷门函数及其应用 ElGamal单向陷门函数 1)密钥生成 ① 选择一大素数 p ,选取Z p * 的生成元 g ; ② 任选 小于 p 的随机数 x ,计算 y ≡ g x mod p ; ③ ( y , g , p )为公开密钥, ( x , g , p )为秘密密钥. 2)加密: 设待加密明文为 M . ① 随机选一整数 k ,0 k = p -1; ② 计算密文对

    2024年02月05日
    浏览(59)
  • HDU密码学-SM4(Java实现,仅针对输入为16进制128bit的明文和密钥)

    1、熟悉分组密码的基本框架。 2、掌握SM4密码的加解密原理。 3、用合适的编程语言实现SM4密码程序并输出结果。 SM4算法是我国商用密码标准,其前身是SMS4算法。SM4算法是一个分组加密算法,分组长度和密钥长度均128bit。SM4算法使用32轮的非线性迭代结构。SM4在最后一轮非线

    2024年02月16日
    浏览(79)
  • 现代密码学第四版杨波著-期末复习汇总

    我将用一整天突击,崭新的一本书,从0到期末80+,(仅针对本校逆天考点进行总结) 完本总结:总计历经两天半,共计15小时,总计30+页,仅带来个人的复习思路与心路历程 写本博客原因? 马上期末考试,整本书从来没有看过,尝试0基础一天学完,突破自己。 网上没有完

    2024年02月09日
    浏览(46)
  • 密码学——Hill体制密码中已知明文M和密文C求解密钥矩阵K的两种方法之逆矩阵求解法和待定系数求解法

    本文主要解决古典密码中的Hill体制密码在已知明文M和密文C的情况下求解密钥矩阵K的两种方法:①求逆矩阵②待定系数法。 如若不懂Hill体制的古典密码可以参照我上一篇文章密码学——几种典型的古典密码体制(Caesar体制、Playfair体制、Vigenere体制、Beaufort体制以及Hill体制)

    2024年02月02日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包