第六讲 公钥密码原理与数学基础
公钥密码算法

公钥密码算法
公钥密码算法是一种非对称加密算法,它使用一对公钥和私钥来加密和解密信息。
公钥密码算法的基本原理是:用户A将
要发送的信息使用用户B的公钥进行加密,然后发送给用户B,用户B收到信息后,使用自己的私钥进行解密,从而获得
原始信息。
公钥密码算法的安全性主要取决于公钥和私钥的安全性,因此,在使用公钥密码算法之前,需要先生成公钥和私钥。
一般来说,生成公钥和私钥的过程可以分为以下几个步骤:
1. 选择一个大质数p和一个小质数q,并计算出n=pq;
2. 选择一个大于1小于n的整数e,使得e与(p-1)(q-1)互质;
3. 计算出d,使得ed=1 mod (p-1)(q-1);
4. 将公钥(n,e)和私钥(n,d)发布出去。
在使用公钥密码算法进行加密时,可以使用以下步骤:
1. 将要发送的信息m转换成一个整数M,使得0<M<n;
2. 计算出密文C,C=M^e mod n;
3. 将密文C发送给接收方。
在使用公钥密码算法进行解密时,可以使用以下步骤:
1. 接收方收到密文C后,计算出明文M,M=C^d mod n;
2. 将明文M转换成原始信息m。
公钥密码算法的安全性取决于公钥和私钥的安全性,因此,在使用公钥密码算法时,应该采取有效的措施来保护公钥和私钥,以防止被攻击者破解。
例如,可以采用数字签名技术来验证公钥和私钥的真实性,以及采用加密技术来保护公钥和私钥,以防止被攻击者窃取。
公钥密码学的数学基础

公钥密码学的数学基础公钥密码学是一种采用数学方法来确保数据安全的技术,主要用于加密通信和认证。
它涉及大量的数学原理和技术,例如数论、代数、密码、编码和其他一些有关计算机安全的理论和技术。
数论中的基本概念有素数、素数的分解、欧拉函数、离散对数问题和乘法原理等。
素数的性质可用来设计公钥密码系统。
欧拉函数是一个估算不同数字的素数因子的强大工具,它可以帮助安全系统进行更复杂的加密和认证。
离散对数问题和乘法原理是两种重要的数学理论,它们可以用来破译和解决古典的公钥密码。
代数是一门研究属性和关系的数学学科。
代数在公钥密码学中也得到了广泛应用,特别是在密码变换和基于椭圆曲线加密中。
在密码变换中,代数学家们提出了许多算法,如Rijndael、Twofish 和AES,以帮助用户安全地加密和解密数据。
基于椭圆曲线加密利用椭圆曲线上的点来进行加密和解密,而这里面也用到了许多代数的原理。
密码学主要涉及密码分析和安全性评估。
密码分析是一种利用统计加密算法来评估和攻击加密系统的技术。
它旨在检测密码系统中潜在的漏洞,并尽可能地破解密码。
安全性评估是一种对加密系统进行合理测试和评估的方法,以确定其是否可以抵御恶意攻击和其他威胁。
编码是一种用来表示数据的技术,它可以帮助保护数据免受攻击和窃取。
为了确保编码技术的安全性,一般使用许多复杂的数学原理。
例如,RSA算法就是一种基于大整数的加密算法,它可以非常有效地加密信息。
最后,公钥密码学还涉及计算机安全的一些理论和技术,如访问控制、身份验证和安全协议等。
计算机安全的目的是保护用户的数据和信息安全,因此它也涉及各种安全算法和技术,以解决面临的安全挑战。
公钥密码的数学基础

• 合数的分解
21
大数概念
• 表中这些数是估计的数量级,并且是从各 种资料中精选得到的,天体物理学中许多 大数在Freeman Dyson的文章中有解释, 该文章发表在《现代物理学评论》中,名 为“时间永无止境:开放宇宙中的物理学 和生物学”。汽车事故的死亡人数是根据 1993年交通部统计数据每百万人中有178起 死亡事故和人均寿命为75.4年计算出来的。
一般来说:如果a 与n互素则它在Zn中存在乘法逆元。
13
一个结果
a=6,n=8 Z8 0 乘以6 0 余数 0 a=5,n=8 Z8 0 乘以5 0 余数 0 1 2 3 4 5 6 7 6 12 18 24 30 36 42 6 4 2 0 6 4 2
1 2 3 4 5 6 7 5 10 15 20 25 30 35 5 2 7 4 1 6 3
26
欧拉定理
• 如果a、n互素,则 aφ(n)≡1 mod n,或即 aφ(n)+1≡ a mod n • 证明(略,参考教材) • 比如n=15=3×5 ,φ(n)=8 1、2、4、5、7、8、11、13、14 8≡1 mod 15 而3、6、9、10、12 8 !≡1 mod 15
27
例子
–a=3;n=10; ø(10)=4; –因此 34 = 81 = 1 mod 10 –a=2;n=11; ø(11)=10; –因此 210 = 1024 = 1 mod 11
结论:a与n互素,在Zn中存在乘法逆元,并且a与Zn中的 每个元素的乘机mod n后得到一个完整的剩余集 14
欧几里德算法Euclid
• 辗转相除法-求最大公因子的算法 – 18,12; 12,6; 6,0; 即6 – 35, 6; 6,5; 5,1;1,0; 即1 (这叫互素) • 即
公钥加密的原理

公钥加密的原理
公钥加密是一种安全的加密方式,它的原理是通过使用两个相关的密钥来加密和解密数据。
其中一个密钥是公开的,称为公钥,另一个密钥是私密的,称为私钥。
公钥可以自由地分发,而私钥则必须保持在安全的地方。
公钥加密的过程如下:
1. 接收者生成一对密钥,一个是公钥,另一个是私钥。
2. 发送者使用接收者的公钥来加密数据。
3. 接收者使用自己的私钥来解密数据。
4. 公钥加密保证了数据的私密性,因为只有接收者知道自己的私钥,其他人无法解密数据。
公钥加密的安全性基于数学问题的困难性,例如大整数的因数分解问题和离散对数问题。
公钥加密算法主要有RSA、DSA、ECC等。
RSA是目前应用最广泛的公钥加密算法之一,它采用大素数的乘积作
为模数,并选取与模数互质的公钥和私钥。
RSA的加密和解密速度比较慢,但是安全性较高。
另外,RSA还可以用于数字签名。
DSA是一种数字签名算法,它使用离散对数问题来保证数字签名的真实性。
与RSA相比,DSA的加密速度较快,但是安全性稍低。
ECC是一种基于椭圆曲线的公钥加密算法,它与RSA和DSA相比既具有更高的安全性,也更节省存储空间和计算资源,因此被广泛应用于移动设备和物联网等环境中。
总之,公钥加密是一种安全可靠的加密方式,它可以保障数据的私密性和完整性,是当今信息安全领域中不可或缺的一部分。
公钥和私钥的加密原理

公钥和私钥的加密原理嘿,朋友们!今天咱来唠唠公钥和私钥的加密原理,这可有意思啦!你就把公钥想象成一把公开的钥匙,谁都能拿到。
这就好比是你家大门上挂了一把钥匙,路过的人都能看见它。
而私钥呢,那就是只有你自己知道的秘密钥匙啦,就像你藏在兜里的那把小钥匙,只有你能摸到。
当你要给别人发个秘密消息的时候,就用公钥把消息锁起来。
这就好像你把一个宝贝放在一个盒子里,然后用那把公开的钥匙把盒子锁上。
这时候,别人拿到这个锁着的盒子,可他们没有私钥呀,就打不开这个盒子,也就看不到里面的宝贝啦。
那你自己呢,因为你有私钥呀,你就能轻松地打开这个盒子,看到自己的秘密消息。
这多神奇呀!这不就相当于你和别人之间有了一个只有你们俩懂的秘密通道嘛。
比如说,你在网上买东西,你的信息可不能随便让人看到呀,这时候公钥和私钥就发挥大作用啦。
商家用你的公钥给你发信息,你用私钥就能解开看到内容,别人就算截到了也白搭,他们没钥匙呀,哈哈!再想想,要是没有公钥和私钥这玩意儿,那网络世界得乱成啥样呀?谁都能随便看别人的信息,那还有啥隐私可言呀!而且哦,公钥和私钥的安全性可高啦!就像一个坚不可摧的堡垒,保护着你的秘密。
你说,这是不是特别厉害?咱平时生活里也有类似的呀,比如你有个只有你自己知道的小秘密地方,别人都不知道怎么进去,只有你能自由出入,这感觉是不是很棒?公钥和私钥就是这样,给你的信息加上了一层厚厚的保护罩。
所以呀,公钥和私钥的加密原理真的是太重要啦!它让我们在网络世界里也能安心地交流和分享,不用担心自己的秘密被别人知道。
这就像是给我们的信息穿上了一层隐身衣,只有我们自己能让它现身。
你们说这是不是很神奇呢?是不是很值得我们好好去了解和掌握呀?反正我是觉得这玩意儿太牛啦,给我们的生活带来了好多便利和安全呢!。
公钥密码原理

公钥密码原理公钥密码学是一种根据密码技术原理实现信息保密与数据安全传输的安全技术,它通过建立信息发送者与接收者之间的加密技术实现信息的安全传输,从而在安全技术领域中受到广泛应用。
公钥密码学是一种非常重要的安全技术,它利用了一种叫做“公钥密码”的技术,来保护信息免受未经授权的第三方间谍的窃取或窃听的行为。
这种安全技术的原理是,一个称为公钥的需要保密的信息发送者将信息编码成一个数字算法后,便将这个数字算法发送给收件人,收件人拥有相应的数字算法,称为私钥,这样收件人就可以用自己的私钥对发件人发来的公钥进行解密,解密后就可以和发件人进行安全的信息传输,而且任何未经授权的第三方无法从中获得任何有关信息。
公钥密码学技术的发展有着悠久的历史,它最初出现在1970年代,当时由美国国家安全局(NSA)主导的一系列称之为“曲折历史”的项目中首次被提出。
该项目的最终成果是美国国家安全局(NSA)与加拿大安全局(CSEC)的MD5数学算法,它是支持公钥密码学技术最早的瑞士中央银行发放的那批椭圆曲线函数及数字签名标准(ECDSA)和统一椭圆曲线算法(ECC)之前被研发出来的最初算法。
为了更有效地支持公钥密码学技术,一些重要的数学原理和安全算法,如Diffie-Hellman算法、RSA算法等,被开发出来,它们被广泛用于公钥加密、数字签名和数字信封等安全性高的应用场景中。
由于Diffie-Hellman算法的特殊性,它被公认为是现代公钥密码学中的主要基础,而RSA算法被认为是现代公钥密码学中最为重要的数学基础,它是现代公钥密码学最基本的算法。
公钥密码学技术通过在发送信息时使用一个公钥,在接收信息时使用一个私钥,实现了信息的安全传输,从而应用于很多安全性要求较高的场景,如网络支付、金融支付、网上银行、电子商务等,从而大大提高了信息传输的安全性。
当今,公钥密码学技术已成为信息安全领域最重要的一种技术,它被广泛地应用于各种安全场景中,如电子商务、金融支付、网上银行等,这些安全场景中所使用的公钥密码学技术有效地保护了个人信息不被未经授权的第三方间谍窃取和窃听。
第6章 公钥密码体制

Char 7 pp.23
公钥密码的保密与认证图
Char 7 pp.24
公钥密码保密与认证过程分析
对于单次加密只提供认证或保密的问题,可以采用两次运用 公钥密码的方式即提供加密又提供认证:Z=EKUb[EKRa(X)] X=DKUa[DKRb(Z)] 发送方首先用其私钥对消息加密,得到数字签名,然后再用 接收方的公钥加密,所得密文只有被拥有私钥的接收方解密。 这样可保证消息的保密性。 缺点:在每次通信中要执行四次复杂的公钥算法。
Information Security:Principles & Applications
第6章 公钥密码体制
本章概要
公钥密码的概念、特点和应用范围。
数论基础
RSA算法加、解密过程。
其它公钥算法简介。
教学要求:原理要清楚,数论不深究。
Char 7 pp.2
Information Security:Principles & Applications
Char 7 pp.28
公钥密码算法应满足条件
假设消息源为A,要发送的消息为M,消息接收方为B。B的公钥KUb,私 钥KRb。 B产生一对密钥(公钥KUb ,私钥KRb )在计算上是容易的。 已知公钥KUb和要加密的消息M,发送方A产生相应的密文在计算上是 容易的:C=EKUb(M) 接收方B使用其私钥对接收方的密文解密以恢复明文在计算上是容易的: M=DKRb(C)= DKRb[EKUb(M)] 已知公钥时,攻击者要确定私钥,在计算上是不可行的。 已知公钥和密文,攻击者要恢复明文M在计算上是不可行的。 加密和解密函数的顺序可以交换: M= DKUb [EKRb(M)]=EKUb [DKRb (M)] 目前只有两个满足这些条件的算法:RSA、椭圆密码体制
第6章 公钥密码学

10
RSA密码算法
• 埃利斯的想法与Shamir、Rivest和Adleman的很相似,只 是比他们提前了好几年。然而,没有人知道埃利斯的工作. 因为他是英国政府的雇员,而且要发誓保密。到1969年末, 埃利斯看来已经陷入了僵局,他已证明公开密钥是可能的, 他也发明了公开密钥和私人密钥的概念。 • 接下来的三年中,政府通讯总部的最聪明的头脑努力寻找一 个能满足埃利斯要求的单向函数,但毫无结果。 • 1973年9月,一个年轻的数学家加入了这个小组,克利福德· 科克斯。刚刚毕业于剑桥大学,是一个纯粹的数学家。 • 六个星期后,佩特森告诉科克斯,之所以告诉科克斯这个想 法,是因为这是密码学中最让人兴奋的想法,而不是指望他 能够解决这个问题。科克斯回忆到:“从开始到结束,我总 共没花半个小时的时间,我对自己很满意,我想‘哦,这很 好,别人给我提了一个问题,而我解决了。”
d=5*5 ≡ 4mod21; b1=1; d=4*5=20
i=0
d=400≡1mod21;b0=0;
结束
18
RSA的安全性
• RSA的安全性-为什么要保密p,q,d
d是私钥,当然要保密。为什么要保密p,q?也就是说为什 么RSA是基于大数分解难题的?
因为知道了p, q. 也就是说知道了n的因子分解,就可以算 出Euler函数(n)=(p-1)(q-1), 也就可以利用辗转相除法, 根据ed≡1 mod (n), 由e求出d. • 因为基于大整数分解的公开密钥体制的安全性依赖于大整数 (大合数分解)问题,所以RSA的安全性完全依赖于大数分 解问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
一、公钥密码原理
一、公钥密码原理
一、公钥密码原理
一、公钥密码原理
一、公钥密码原理
二、数论知识
3
二、数论知识
二、数论知识
二、数论知识
二、数论知识
二、数论知识
4
二、数论知识
二、数论知识
3版P96,四版P86
二、数论知识
二、数论知识
Fermat定理
二、数论知识
一、公密码原理
Bob的 公钥环
Mike Joy
Ted Alice
Alice的公钥
Alice的私钥
传输密文
明文输入 加密算法,如RSA 图4-1 通信保密
解密算法 明文输出
一、公钥密码原理
(2) 数字签名:将私钥作为加密密钥,公钥 作为解密密钥,可实现由一个用户对数据加密 而使多个用户解读。如图4-2所示,Bob用私 钥对明文进行加密并发布,Alice收到密文后 用Bob公布的公钥解密。由于Bob的私钥只有 Bob本人知道,因此,Alice看到的明文肯定是 Bob发出的,从而实现了数字签名。
(3) 密钥交换:通信双方交换会话密钥,以 加密通信双方后续连接所传输的信息。每次逻 辑连接使用一把新的会话密钥,用完就丢弃。
一、公钥密码原理
Alice的 公钥环
Bob的私钥
Mike Joy
Ted Bob
Bob的公钥
传输密文
明文输入 加密算法,如RSA
解密算法 明文输出
图4-2 数字签名
一、公钥密码原理
Tel : 029-88202600 Email : jjmu@
mujianjun88@
第六讲 RSA公钥密码体制
讲授内容:
1.公钥密码原理
2. 数论知识
讲授重点:公钥密码原理 讲授难点:公钥密码原理
一、公钥密码原理
传统密码要求通信双方用的密钥是通过秘密信道私下商定的。
加密变换(公钥)公开 解密变换(私钥)保密
1
一、公钥密码原理
一、公钥密码原理
公钥密码系统可用于以下三个方面:
(1) 通信保密:此时将公钥作为加密密钥, 私钥作为解密密钥,通信双方不需要交换密 钥就可以实现保密通信。这时,通过公钥或 密文分析出明文或私钥是不可行的。
如图4-1所示,Bob拥有多个人的公钥, 当他需要向Alice发送机密消息时,他用Alice 公布的公钥对明文消息加密,当Alice接收到 后用她的私钥解密。由于私钥只有Alice本人 知道,所以能实现通信保密。
Network Security Technology -网络安全技术
Instructor : 慕建君,教授,博士 Research Direction:差错控制编码与信息安全 Laboratory :计算软件教研室 Office : No.406, 主楼I-区 Affiliation :
欧拉函数与欧拉定理
5
二、数论知识
二、数论知识
二、数论知识
二、数论知识
6
作业:P32 练习 1.16, 1.23,
7
网上若有n个用户,当个n用户采用对称密码
保密通信时,任意两个用户之间都需要一个安
全的信道,每个用户需要持有个n-1密钥,则
共需
个密钥。 C
2 n
=
n (n − 1 )
2
导致密钥过多,管理和必要的更换都是十
分繁重的工程。
记录在本上或存储在计算机上的内存和外 存上不安全。
对称密码体制的一个缺点:它需要两个用户传 输密文之前使用一个安全的通道交换密钥。实 际上,这可能很难做到。
一、公钥密码原理
公钥(加密密钥):e 私钥(解密密钥):d
Bob
Alice
一、公钥密码原理
双(公)钥密码体制 1976年W. Diffie和M. Hellman; R. Merkle[1978] 可用于保密通信, 也可用于数字签字 密码学史上划时代的事件 为解决计算机信息网中的安全 提供了新的理论和技术基础