4.4非对称密码技术

合集下载

非对称加密工作原理

非对称加密工作原理

非对称加密工作原理非对称加密是一种密码学中常用的加密方式,它不同于对称加密的密钥只有一个,而是采用了一对密钥,分别是公钥和私钥。

公钥是公开的,可以随意传播,而私钥则是保密的,只有密钥的持有者才能知道。

非对称加密的工作原理可以用以下几个步骤来描述:1. 密钥生成在非对称加密中,首先需要生成一对密钥,包括公钥和私钥。

这对密钥是通过一种特定的算法生成的,通常是基于数论的算法,如RSA算法。

在生成密钥的过程中,需要选择合适的参数,如密钥长度等。

2. 加密过程在加密过程中,使用公钥对明文进行加密。

明文是指待加密的原始数据,可以是文本、图片、音频等任意类型的数据。

加密算法会将明文转换为密文,密文是不可读的乱码,只有对应的私钥才能解密还原为明文。

3. 解密过程解密过程是非对称加密的关键步骤,只有持有私钥的人才能进行解密操作。

使用私钥对密文进行解密,将密文还原为明文。

解密过程是加密过程的逆过程,它需要使用相同的算法和密钥参数来还原明文。

4. 数字签名非对称加密还可以用于数字签名。

数字签名是一种用于验证数据完整性和身份认证的技术。

在数字签名过程中,私钥持有者可以使用私钥对数据进行签名,生成一个唯一的数字签名。

其他人可以使用公钥来验证数字签名的有效性,从而确认数据的完整性和来源可信。

5. 密钥管理在非对称加密中,密钥的安全性非常重要。

公钥是公开的,可以随意传播,但私钥必须妥善保管,不能泄露给他人。

密钥的管理包括密钥的生成、分发、存储和更新等过程,需要采取一系列的措施来保证密钥的安全性。

非对称加密的工作原理可以保证数据的安全性和完整性。

由于公钥是公开的,任何人都可以使用公钥对数据进行加密,但只有私钥的持有者才能解密密文。

这种加密方式可以在不安全的网络环境下进行数据传输,保证数据的机密性。

非对称加密还具有身份认证和数据完整性验证的功能。

通过数字签名技术,可以对数据进行签名,其他人可以使用公钥来验证签名的有效性,从而确认数据的来源可信和完整性。

非对称加密原理

非对称加密原理

非对称加密原理
非对称加密,又称为公钥加密,是一种加密技术,它使用了一对密钥来进行加
密和解密操作。

这对密钥包括了公钥和私钥,公钥用于加密,私钥用于解密。

非对称加密的原理是基于数学上的难解问题,例如大素数的乘积分解。

在非对称加密中,公钥是公开的,任何人都可以获得并使用它来加密数据,而私钥则只有数据的接收者才能获得,用来解密数据。

非对称加密的原理可以通过以下步骤来解释:
1. 生成密钥对,首先,需要生成一对密钥,包括公钥和私钥。

公钥可以公开给
任何人,而私钥则需要妥善保管,只有数据的接收者才能获得。

2. 加密数据,发送方使用接收方的公钥来加密数据。

这样,只有拥有私钥的接
收方才能解密数据。

3. 解密数据,接收方使用自己的私钥来解密数据,从而获取原始的明文数据。

非对称加密的原理基于数学上的难解问题,例如大素数的乘积分解。

这意味着
即使知道了公钥,想要通过公钥来计算出私钥也是非常困难的,因为这需要对大数进行因式分解,这是一个非常耗时的过程,尤其是当密钥的长度很长时。

非对称加密的原理使得数据在传输过程中更加安全,因为即使公钥被截获,攻
击者也无法通过公钥来获取私钥,从而无法解密数据。

这种加密技术被广泛应用于互联网上的安全通信,例如SSL/TLS协议中的HTTPS通信,以及数字签名等领域。

总之,非对称加密的原理是基于一对密钥来进行加密和解密操作,公钥用于加密,私钥用于解密。

这种加密技术基于数学上的难解问题,使得数据在传输过程中更加安全可靠。

非对称加密在信息安全领域有着广泛的应用,为互联网上的安全通信提供了重要的保障。

说明对称密码算法和非对称密码算法的原理和优缺点

说明对称密码算法和非对称密码算法的原理和优缺点

说明对称密码算法和非对称密码算法的原理和优缺点
对称密码算法:
原理:对称密码算法是一种加密算法,发送方和接收方使用相同的密钥进行加密和解密。

加密过程中,将明文按照一定的规则和算法进行混淆和置换,以产生密文。

解密过程中,使用相同的密钥和算法对密文进行逆向操作,还原出明文。

优点:
1. 加密和解密速度快,适用于大量数据的加密和解密操作。

2. 密钥长度相对较短,不占用过多的存储空间。

3. 实现简单,操作容易。

缺点:
1. 密钥的分发和管理较为困难,存在安全性问题。

2. 无法有效解决密钥传递问题,即如何确保密钥在发送和接收之间的安全传递。

非对称密码算法:
原理:非对称密码算法是一种加密算法,发送方和接收方使用不同的密钥进行加密和解密。

加密过程中,发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。

优点:
1. 安全性高,公钥可以随意公开,只有私钥持有者才能解密密文。

2. 解决了对称密码的密钥分发和管理问题。

缺点:
1. 加密和解密速度较慢,适用于少量数据的加密和解密操作。

2. 密钥长度相对较长,占用较多的存储空间。

3. 实现较为复杂,操作稍微复杂。

总结:
对称密码算法的优点在于速度快、实现简单,但安全性相对较低;非对称密码算法的优点在于安全性高,但加密和解密速度较慢、实现较为复杂。

因此,实际应用中常常采用对称密码算法和非对称密码算法的结合,即非对称密码算法用于密钥分发和管理,对称密码算法用于实际的数据加密和解密。

密码技术模型

密码技术模型

密码技术模型
密码技术模型是一种用于描述密码技术的概念性、理论模型,通常包括密码学的基本要素、假设、算法和安全性分析等方面。

以下是几种常见的密码技术模型:
1. 传统密码模型(Classical Cryptography Model):传统密码
模型主要用于描述古典密码技术,如凯撒密码和仿射密码等。

它通常包括明文空间、密文空间、密钥空间、加密算法和解密算法等。

2. 非对称密码模型(Asymmetric Cryptography Model):非对
称密码模型是一种基于两个互相关联、但具有不同的密钥的密码模型,也称为公钥密码模型。

它通常包括公钥空间、私钥空间、加密算法和解密算法等。

3. 对称密码模型(Symmetric Cryptography Model):对称密
码模型是一种基于相同密钥进行加密和解密的密码模型。

它通常包括密钥空间、加密算法和解密算法等。

4. 散列函数模型(Hash Function Model):散列函数模型用于
描述散列函数的基本特性和安全性要求。

它包括散列函数的输入空间、输出空间、安全性要求和安全性分析等。

5. 消息认证码模型(Message Authentication Code Model):消息认证码模型用于描述消息认证码的基本特性和安全性。

它通常包括消息认证码的输入空间、输出空间、密钥空间、安全性要求和安全性分析等。

需要注意的是,以上只是几种常见的密码技术模型,实际上还有其他的密码技术模型,如基于标签的密码模型、公钥基础设施模型等,每种模型都有其特定的应用领域和技术要求。

对称加密和非对称加密

对称加密和非对称加密

对称加密和⾮对称加密⼀、对称加密算法对称加密采⽤了对称密码编码技术,它的特点是⽂件加密和解密使⽤相同的密钥加密也就是密钥也可以⽤作解密密钥,这种⽅法在密码学中叫做对称加密算法,对称加密算法使⽤起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另⼀个对称密钥加密系统是国际数据加密算法(IDEA),它⽐DES的加密性好,⽽且对计算机功能要求也没有那么⾼对称加密算法在电⼦商务交易过程中存在⼏个问题:1、要求提供⼀条安全的渠道使通讯双⽅在⾸次通讯时协商⼀个共同的密钥。

直接的⾯对⾯协商可能是不现实⽽且难于实施的,所以双⽅可能需要借助于邮件和电话等其它相对不够安全的⼿段来进⾏协商;2、密钥的数⽬难于管理。

因为对于每⼀个合作者都需要使⽤不同的密钥,很难适应开放社会中⼤量的信息交流;3、对称加密算法⼀般不能提供信息完整性的鉴别。

它⽆法验证发送者和接受者的⾝份;4、对称密钥的管理和分发⼯作是⼀件具有潜在危险的和烦琐的过程。

对称加密是基于共同保守秘密来实现的,采⽤对称加密技术的贸易双⽅必须保证采⽤的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防⽌密钥泄密和更改密钥的程序。

假设两个⽤户需要使⽤对称加密⽅法加密然后交换数据,则⽤户最少需要2个密钥并交换使⽤,如果企业内⽤户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的⽣成和分发将成为企业信息部门的恶梦。

常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES常⽤算法介绍:(1)DES(Data Encryption Standard,数据加密算法) DES是最基本的对称加密算法,也是使⽤频率最⾼的⼀种算法,加密密钥与解密密钥相同。

DES出⾝⽐较好,出⾃IBM之⼿,后被美国军⽅采纳,之后便⼴泛流传,但是近些年使⽤越来越少,因为DES使⽤56位密钥,以现代计算能⼒,24⼩时内即可被破解。

虽然如此,在某些简单应⽤中,我们还是可以使⽤DES加密算法。

非对称密码学的原理及应用

非对称密码学的原理及应用

非对称密码学的原理及应用在信息时代,信息安全成为了一个全球性的问题。

在保障通信安全方面,密码学起着至关重要的作用。

其中,非对称密码学(asymmetric cryptography)是一种现代密码学的重要分支,是安全通信的基础。

本文将介绍非对称密码学的原理、应用以及发展历程。

一、非对称密码学的原理非对称密码学又称为公钥密码学,不同于传统的对称密码学需要双方使用同一个密钥进行加密和解密,非对称密码学使用一对密钥,一把公钥和一把私钥。

公钥是公开的,任何人都可以获得,私钥则必须由数据的接收方保管。

在非对称密码学中,发送方使用接收方的公钥对数据进行加密,接收方使用私钥对数据进行解密。

这个过程可以被看作是一个锁与钥匙的过程,即发送方使用接收方提供的锁将信息进行加密,接收方使用自己的钥匙解锁数据。

这个过程保证了信息的安全性,即使有人截获了加密后的信息,也无法破译。

因为非对称密码学使用两把不同的密钥进行加密和解密,所以具有更高的安全性,能够更好地保护机密信息。

二、非对称密码学的应用非对称密码学广泛应用于网络安全、电子商务、电子支付等领域。

1. 数字签名数字签名是一种通过使用公钥和私钥保证数据完整性和不可抵赖性的技术。

它可以验证发送者的身份以及确保数据未被篡改。

数字签名是基于非对称密码学的,发送方使用自己的私钥对信息进行加密,接收方使用发送方的公钥进行验证签名。

2. 数字证书数字证书是一种由数字证书机构颁发的,用于验证网络通信双方身份的证书。

数字证书包含了证书持有人的公钥和相关信息,并由数字证书机构用私钥进行签名。

在实际使用中,双方通过验证数字证书确定对方的身份,并保证通信内容的安全性。

3. 对称密钥协商在加密通信中,对称密钥的安全共享是一个十分重要的问题。

为了解决这一问题,非对称密码学可以生成一组随机的会话密钥,然后使用接收方的公钥对会话密钥进行加密。

发送方将加密后的会话密钥传输给接收方,接收方使用自己的私钥对会话密钥进行解密,从而实现对称密钥的安全共享。

兰姆波对称模式 和非对称模式

兰姆波对称模式 和非对称模式

兰姆波对称模式和非对称模式兰姆波对称模式与非对称模式引言:兰姆波对称模式和非对称模式是在密码学中常用的加密算法。

它们分别采用对称密钥和非对称密钥的方式来加密和解密数据。

本文将分别介绍兰姆波对称模式和非对称模式的原理及应用。

一、兰姆波对称模式兰姆波对称模式是一种使用相同密钥进行加密和解密的加密算法。

它的核心原理是将数据分成固定长度的块,然后对每个块进行加密处理。

兰姆波对称模式具有以下特点:1.1 密钥长度相同在兰姆波对称模式中,加密和解密所使用的密钥长度是相同的。

这意味着加密和解密的过程中使用的是相同的密钥,只是在处理过程中密钥的顺序或位置发生变化。

1.2 数据块加密兰姆波对称模式将数据分成固定长度的块,并对每个块进行加密处理。

这样可以保证加密后的数据不会泄露原始数据的任何信息。

1.3 加密效率高由于兰姆波对称模式采用相同密钥进行加密和解密,加密和解密的过程非常高效。

它适用于对大量数据进行加密和解密的场景。

二、兰姆波非对称模式兰姆波非对称模式是一种使用不同密钥进行加密和解密的加密算法。

它的核心原理是通过两个密钥,即公钥和私钥,来进行数据的加密和解密。

兰姆波非对称模式具有以下特点:2.1 公钥加密在兰姆波非对称模式中,使用公钥对数据进行加密。

公钥是公开的,任何人都可以使用公钥对数据进行加密,但只有私钥的持有者才能解密。

2.2 私钥解密只有私钥的持有者才能使用私钥对加密后的数据进行解密。

私钥是保密的,只有私钥的持有者才能解密数据,确保了数据的安全性。

2.3 安全性高兰姆波非对称模式通过使用不同的密钥进行加密和解密,有效地提高了数据的安全性。

即使公钥被泄露,也无法破解加密后的数据,因为只有私钥的持有者才能解密。

三、应用场景3.1 兰姆波对称模式的应用兰姆波对称模式适用于大数据量的加密和解密场景,例如网络通信、数据库存储等。

由于兰姆波对称模式加密和解密效率高,可以快速地对大量数据进行加密和解密,因此在实际应用中得到了广泛的应用。

信息安全导论(4-3 密码基础-非对称密码)

信息安全导论(4-3 密码基础-非对称密码)

37
RSA算法的安全性 RSA算法的安全性
RSA的安全性是基于分解大整数困难的假定 的安全性是基于分解大整数困难的假定 的安全性是基于分解大整数困难
如果RSA的模数 被成功地分解为 ×q,则 的模数n被成功地分解为 如果 的模数 被成功地分解为p× , 获得φ(n)=(p-1)(q-1),从而攻击者能够从 获得 , 公钥e解出 解出d, 公钥 解出 ,即d≡e-1 mod φ(n),攻击成 ≡ , 功.
由私钥及其他密码信息容易计算出公开密钥 由公钥及算法描述, 由公钥及算法描述,计算私钥是困难的
因此, 因此,公钥可以发布给其他人
6
非对称加密示意图
注意
注意
7
公钥密码的核心是使用一种特殊的函 数——单项陷门函数,从一个方向求值 单项陷门函数, 单项陷门函数 是容易的, 是容易的,但逆向计算很困难 定义: 是一个函数 是一个函数, 定义:设f是一个函数,如果对于任意给 定的x,计算y,使得y=f(x)是容易计算 定的 ,计算 ,使得 是容易计算 但对于任意给定的y,计算x是难解 的,但对于任意给定的 ,计算 是难解 即求f的逆函数是难解的 则称f是 的逆函数是难解的, 的,即求 的逆函数是难解的,则称 是 一个单向函数 一个单向函数
31
RSA中的计算问题
32
RSA中的计算问题
33
前例
则1=96-5×19=5*(-19)=5*77 mod96 = - × 5×77=1 mod96 × = 下为77 则5的乘法逆元在 mod96下为 的乘法逆元在 下为
34

35
36
验证: × = 验证:17×17=289=3×96+1=1 mod96 = × + =
38

04密码技术与应用

04密码技术与应用

4. 3
对称密码技术
现代密码算法不再依赖算法的保密, 而是把把算法和密钥分开。其中, 密码算法可以公开,但是密钥是保 密的,密码系统的安全性在于保持 密钥的保密性。如果加密密钥和解 密密钥相同,或实质上等同(即从 一个可以推出另外一个),我们称 其为对称密钥、私钥或单钥密码体 制。 对称密码技术又可分为序列密码和分 组密码两大类。序列密码每次加密 一位或一字节的明文,也称为流密 码。序列密码是手工和机械密码时 代的主流方式。分组密码将明文分 成固定长度的组,用同一密钥和算 法对每一块加密,输出也是固定长 度的密文。最典型的就是1977年美 国国家标准局颁布的DES算法。
量子密码的优点是可以防止窃听(见P81)
4. 2
古典密码技术
在计算机出现之前,密码学的算法主要是通过字符之 间代替或易位实现的,一般称这些密码体制为古典密码 或者传统加密技术。其中包括:移位密码、单表替换密 码、多表替换密码等。 古典密码的主要应用对象是对文字信息进行加密解密。 以英文为例,文字由字母中的一个个字母组成,字母表 可以按照排列组合顺序进行一定的编码,把字母从前到 后都用数字表示。此时,大多数加密算法都有数学属性, 这种表示方法可以对字母进行算术运算,字母的加减法 将形成对应的代数码。 古典密码有着悠久的历史(见P81)
4.1.3 密码的分类与算法
可以从不同角度根据不同的标准对密码技术进行分类。P79 1. 按历史发展阶段划分
(1)手工密码。(2)机械密码。
(3)电子机内乱密码。(4)计算机密码。 2. 按保密程度划分
(1)理论上保密的密码。(2)实际上保密的密码。
(3)不保密的密码。 3. 按密钥方式划分
(1)对称式密码(2)非对称式密码
2. DES算法的实现步骤 DES算法实现加密需要三个步骤: 第一步:变换明文。对给定的64位比特的明文X,首先 通过一个置换IP表来重新排列X,从而构造出64位比特 的X0,X0=IP(X)=L0R0 ,其中L0表示X0的前32位, R0表示X0的后32位。 第二步:按照规则迭代。规则为: Li=Ri-1 Ri=Li-1异或f(Ri-1,Ki) (i=1,2,3,„,16) 其中f表示一种置换,又S盒置换构成,Ki是一些由 密钥编排函数产生的比特块。 第三步:对L16R16利用IP-1作逆置换,就得到密文y。 DES算法具有极高的安全性,目前除了穷举搜索法 对 DES算法进行攻击外,还没有发现更有效的方法。而56 位长的密钥的穷举空间件为256,这意味着如果一台计 算机的速度是每秒检测100万个密钥,而搜索完全部密 钥就需要将近2285年的时间,具体的密钥长度与破解 难度可以参考表4-5。随着科技发展,可以考虑把DES 密钥的长度再增加一些,以此来达到更高的保密程度。 此外(详见P87-88)

常用加密算法学习总结之非对称加密

常用加密算法学习总结之非对称加密

常⽤加密算法学习总结之⾮对称加密公开密钥密码学(英语:Public-key cryptography)也称⾮对称式密码学(英语:Asymmetric cryptography)是密码学的⼀种演算法。

常⽤的⾮对称加密算法有 RSA DSA ECC 等。

⾮对称加密算法使⽤公钥、私钥来加解密。

公钥与私钥是成对出现的。

多个⽤户(终端等)使⽤的密钥交公钥,只有⼀个⽤户(终端等)使⽤的秘钥叫私钥。

使⽤公钥加密的数据只有对应的私钥可以解密;使⽤私钥加密的数据只有对应的公钥可以解密。

⾮对称加密通信过程下⾯我们来看⼀看使⽤公钥密码的通信流程。

假设Alice要给Bob发送⼀条消息,Alice是发送者,Bob是接收者,⽽这⼀次窃听者Eve依然能够窃所到他们之间的通信内容。

⑴ Alice与bob事先互不认识,也没有可靠安全的沟通渠道,但Alice现在却要透过不安全的互联⽹向bob发送信息。

⑵ Alice撰写好原⽂,原⽂在未加密的状态下称之为明⽂ plainText。

⑶ bob使⽤密码学安全伪随机数⽣成器产⽣⼀对密钥,其中⼀个作为公钥 publicKey,另⼀个作为私钥 privateKey。

⑷ bob可以⽤任何⽅法传送公钥publicKey 给Alice,即使在中间被窃听到也没问题。

⑸ Alice⽤公钥publicKey把明⽂plainText进⾏加密,得到密⽂ cipherText⑹ Alice可以⽤任何⽅法传输密⽂给bob,即使中间被窃听到密⽂也没问题。

⑺ bob收到密⽂,⽤私钥对密⽂进⾏解密,得到明⽂ plainText。

由于其他⼈没有私钥,所以⽆法得知明⽂;如果Alice,在没有得到bob私钥的情况下,她将重新得到原⽂。

Processing math: 100%RSARSA是⼀种⾮对称加密算法,是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年⼀起提出,并以三⼈姓⽒开头字母拼在⼀起组成的。

密码技术与应用

密码技术与应用

2.算法描述
(1)密钥的产生
① 选两个保密的大素数p和q; ② 计算n=p*q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数 值; ③ 选一整数e,满足1<e<φ(n),且gcd(φ(n),e)=1,即φ(n )与e互质; ④ 再取另一个数d,满足d*e=1 mod φ(n),(表示d*e除以φ(n) 的余数为1,或者说d是e在模φ(n)下的乘法逆元,因e与φ(n)互质 ,由模运算可知,它的乘法逆元一定存在); ⑤ 以PK={e,n}为公钥,SK={d,n}为私钥。
为了保证RSA算法的安全性,p和q的选择时须注意: (1)p和q的长度相差不要太大; (2)p-1和q-1都应应大数因子; (3)gcd(p-1,q-1)的值应较小。此外,研究结果表明, 如果e<n且d<n1/4,则d能被较容易地确定。
Diffie-Hellman密钥交换协议
Diffie-Hellman的安全性是基于zp上的离散对数问题。设 p是一个满足要求的大素数,0<a<p,并且a是循环群zp的生 成元,a和p公开,所有用户都可以得到a和p。
• 根据分析者具备的条件,通常分为4类: ① 唯密文攻击(Ciphertext-only attack) • 分析者有一个或更多的用同一密钥加密的密文。 ② 已知明文攻击(Known-plaintext attack) • 除了待破解的密文,分析者还有一些明文和用同一密钥加密的对应密文。 ③ 选择明文攻击(Chosen-plaintext attack) • 分析者可以得到所需要的任何明文对应的密文,这些密文和待破解的密文 是用同一密钥加密的。密码分析者可以选择一些明文,并得到相应的密文, 而且可以选择被加密的明文,并试图推导出加密密钥或算法。 ④ 选择密文攻击(Chosen-ciphertext attack) • 分析这可以得到所需要的任何密文对应的明文,类似地,这些密文和待破 解的密文是同一密钥加密的,获得密钥是分析者的主要目的。密码分析者可 以选择不同的密文,并能得到相应的明文,并试图推导出加密密钥。 ⑤ 选择密钥攻击(Chosen-key attack)

非对称密码

非对称密码

非对称密码昨天,我读了一本《自然科学简史》,里面讲述了非对称密码的故事。

第一步:明白非对称密码的原理。

书中说:非对称密码是指不使用两个随机数来表示信息的加密和解密过程。

即用某种方法对收到的消息进行加密,使得发送者能够观察到消息是如何被编码的,但是接收者却无法知道消息的内容。

第二步:找出破译非对称密码的方法。

我们人类通常采用三种方式对数据进行加密或解密,如果我们想要破译,首先就需要搞清楚这几种加密和解密的方式,然后才能找到破译的方法。

书中提到了三种加密方式,分别是RS RSA, RSA-DPE,rsa-EDD。

《自然科学简史》一书中提到了这样一个案例:两位科学家将三个不同形状的微小纸片放在同一只玻璃杯中,并且用不同的方法进行编号:黑纸片编号1,红纸片编号2,黄纸片编号3。

这样编号之后的玻璃杯被放入了一台普通的打印机里面。

过了一会儿,他们各自对着刚刚得到的编号开始工作起来。

结果让人大吃一惊,因为根据上下左右四条边长,它们的总和正好等于打印出来的字母“ A”!这其实是将非对称密码运用到了物理学领域,将这种独特的编码模式移植到了计算机当中。

由此可见,一旦掌握了非对称密码技术,便可以轻松地做到保护隐私、传递秘密。

这也给予我启迪——现代社会最重要的资源是什么?答案很显而易见,那就是信息。

所以从今往后,我必须努力去探索新的思路与途径,去寻求更多保障安全的方法。

这次阅读,既拓展了我的视野,又丰富了我的知识储备;既增强了我的创造意识,又锻炼了我的动手能力……我相信,未来属于敢于尝试的青少年。

那么我们生活中还有哪些应用呢?非对称密码就像是电脑病毒防火墙,虽然没办法直接抵御病毒侵袭,但可以阻止网络犯罪份子盗取银行账户、复制公司文件,甚至窃听国家政府部门间的商业谈判。

这真是居家旅行、杀人越货时的必备良品啊!看完这本书,我认识到任何事情都具有双面性,对称性固然存在缺陷,但绝非毫无价值。

倘若把平衡点调整到另外一端,则许多问题迎刃而解。

对称密码、非对称密码及量子密码

对称密码、非对称密码及量子密码

对称密码、非对称密码及量子密码
对称密码是一种加密技术,使用相同的密钥来加密和解密数据。

这意味着发送方和接收方必须共享相同的密钥。

常见的对称密码算
法包括DES、AES和IDEA等。

对称密码的优点是加密和解密速度快,但缺点是密钥分发和管理的复杂性。

非对称密码,也称为公钥密码,使用一对密钥,公钥和私钥。

公钥用于加密数据,私钥用于解密数据。

这种密码技术可以解决对
称密码中密钥管理的问题,因为公钥可以公开发布,而私钥仅由接
收方持有。

常见的非对称密码算法包括RSA、DSA和ECC等。

非对称
密码的优点是密钥管理更容易,但缺点是加密和解密速度比对称密
码慢。

量子密码是基于量子力学原理的一种加密技术,利用量子比特
的特性来实现安全的通信。

量子密码的核心思想是利用量子态的不
可测性和不可分割性来实现安全的密钥分发和加密通信。

量子密码
的优点是能够提供绝对安全的通信,因为量子态的测量会破坏其状态,从而使得任何的窃听行为都会被检测到。

然而,量子密码技术
目前仍处于实验阶段,并且需要高昂的成本和复杂的设备来实现。

总的来说,对称密码适合用于对传输速度要求较高的场景,而非对称密码和量子密码则更适合对安全性要求较高的场景。

不同的加密技术都有各自的优缺点,选择合适的加密方式取决于具体的应用场景和安全需求。

非对称加密算法

非对称加密算法

⾮对称加密算法个⼈博客⽹: (你想要这⾥多有)⼀、概述因为加密和解密使⽤的是两个不同的密钥,所以这种算法叫作⾮对称加密算法.⾮对称加密算法需要两个密钥:公开密钥和私有密钥. 公开密钥与私有密钥是⼀对的,这两个共同组成⼀个解钥,才能实现解密。

特点:⾼级、双保险种类:1. DH(Diffie-Hellman)密钥交换算法2. RSA——基于因⼦分解,RSA是可以双向加密的:私钥加密,公钥解密;公钥加密,私钥解密。

3. EIGamal——基于离散对数4. ECC(Elliptical Curve Cryptography)——椭圆曲线加密说明:如果⽤公开密钥对数据进⾏加密,只有⽤对应的私有密钥才能解密. 如果⽤私有密钥对数据进⾏加密,那么只有⽤对应的公开密钥才能解密(某些算法有提供). ⾮对称加密算法实现机密信息交换的基本过程是: 甲⽅⽣成⼀对密钥并将其中的⼀把作为公⽤密钥向其它⽅公开,得到该公⽤密钥的⼄⽅使⽤该密钥对信息进⾏加密后再发送给甲⽅. 甲⽅再⽤⾃⼰保存的另⼀把专⽤密钥对加密后的信息进⾏解密. 另⼀⽅⾯,甲⽅可以使⽤⼄⽅提供的公钥对信息进⾏加密后再发送给⼄⽅,⼄⽅再⽤⾃⼰的私匙对数据进⾏解密.⼆、密钥交换算法DH1、DH算法概述DH 对称加密算法:数据安全、密钥管理复杂、密钥传递过程复杂(存在密钥泄露问题)⾮对称加密算法的特点:算法强度复杂、安全性依赖于算法与密钥.但是由于算法复杂,使得⾮对称算法加解密速度没有对称算法加解密的速度快.对称密钥体制中只有⼀种密钥,并且是⾮公开的,如果要解密就得让对⽅知道密钥.所以保证其安全性就是保证密钥的安全.⾮对称密钥体制有两种密钥,其中⼀个是公开的,这样就可以不需要像对称密码那样向对⽅传输密钥了.因此安全性就⼤了很多.对称密钥与⾮对称密钥⽐较:算法复杂度:对称密钥<⾮对称密钥加解密速度:对称密钥>⾮对称密钥安全性:对称密钥<⾮对称密钥2、DH算法实现过程及相关类详解【1】DH加密算法密钥交换:初始化发送⽅密钥,如:KeyPairGeneratorKeyPairPublicKey//创建KeyPairGenerator对象通过KeyPairGenerator来得到KeyPair类的对象,KeyPairGenerator senderKeyPairGenerator = KeyPairGenerator.getInstance("DH");初始化接收⽅密钥,如:KeyFactoryX509EncodedKeySpecDHPublicKeyDHParameterSpecKeyPairGeneratorPrivateKey【2】密钥构建KeyAgreementSecreKeyKeyactoryX509EncodedKeySpecPublicKeystatic KeyAgreement getInstance(String algorithm)⽣成实现指定密钥⼀致算法的KeyAgreement对象【3】加密、解密CipherCipher cipher = Cipher.getInstance( " DES " );3、DH算法实现package .des;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import java.security.spec.X509EncodedKeySpec;import java.util.HashMap;import java.util.Map;import java.util.Objects;import javax.crypto.Cipher;import javax.crypto.KeyAgreement;import javax.crypto.SecretKey;import javax.crypto.interfaces.DHPrivateKey;import javax.crypto.interfaces.DHPublicKey;import javax.crypto.spec.DHParameterSpec;import javax.sound.midi.Soundbank;import mons.codec.binary.Base64;import org.bouncycastle.crypto.agreement.srp.SRP6Client;import org.bouncycastle.jcajce.provider.asymmetric.X509;import org.omg.CORBA.PUBLIC_MEMBER;public class DH {static String string = "wen-min";public static void main(String[] args) {DH.jdkDH();}public static void jdkDH() {try {//1.初始化发送⽅密钥KeyPairGenerator senderKeyPairGenerator = KeyPairGenerator.getInstance("DH");senderKeyPairGenerator.initialize(512);KeyPair senderKeyPair = senderKeyPairGenerator.generateKeyPair();byte[] senderPublicKeyEnc = senderKeyPair.getPublic().getEncoded();//发送⽅公钥,发送给接收⽅ //2.初始化接收⽅密钥KeyFactory receiverKeyFactory = KeyFactory.getInstance("DH");X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(senderPublicKeyEnc); PublicKey receiverPublicKey = receiverKeyFactory.generatePublic(x509EncodedKeySpec);DHParameterSpec dhParameterSpec = ((DHPublicKey)receiverPublicKey).getParams();KeyPairGenerator receiverKeyPairGenerator = KeyPairGenerator.getInstance("DH");receiverKeyPairGenerator.initialize(dhParameterSpec);KeyPair receiverKeypair = receiverKeyPairGenerator.generateKeyPair();PrivateKey receiverPrivateKey = receiverKeypair.getPrivate();byte[] receiverPublicKeyEnc = receiverKeypair.getPublic().getEncoded();//3.密钥构建KeyAgreement receiverKeyAgreement = KeyAgreement.getInstance("DH");receiverKeyAgreement.init(receiverPrivateKey);receiverKeyAgreement.doPhase(receiverPublicKey,true);SecretKey receiverDesKey = receiverKeyAgreement.generateSecret("DES");KeyFactory senderKeyFactory = KeyFactory.getInstance("DH");x509EncodedKeySpec = new X509EncodedKeySpec(receiverPublicKeyEnc);PublicKey senderPublicKey = senderKeyFactory.generatePublic(x509EncodedKeySpec);KeyAgreement senderKeyAgreement = KeyAgreement.getInstance("DH");senderKeyAgreement.init(senderKeyPair.getPrivate());senderKeyAgreement.doPhase(senderPublicKey, true);SecretKey senderDesKey = senderKeyAgreement.generateSecret("DES");if(Objects.equals(receiverDesKey, senderDesKey)) {System.out.println("双⽅密钥相同");}//4.加密Cipher cipher = Cipher.getInstance("DES");cipher.init(Cipher.ENCRYPT_MODE, senderDesKey);byte[] result = cipher.doFinal(string.getBytes());System.out.println("jdk dh eccrypt :" + Base64.encodeBase64String(result));//5.解密cipher.init(Cipher.DECRYPT_MODE, senderDesKey);result = cipher.doFinal(result);System.out.println("jdk dh decrypt : " + new String(result));} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}执⾏结果:双⽅密钥相同jdk dh eccrypt :Ra+RRytG7xw=jdk dh decrypt : wen-min4、DH加密算法的消息传递机制:1.甲⽅构建密钥对⼉,将公钥公布给⼄⽅,将私钥保留;双⽅约定数据加密算法;⼄⽅通过甲⽅公钥构建密钥对⼉,将公钥公布给甲⽅,将私钥保留。

非对称密码体制

非对称密码体制

非对称密码体制
非对称密码体制的基本概念 非对称密码体制的原理 RSA算法 RSA算法中的计算问题 RSA算法的安全性 非对称密码体制的应用
非对称密码体制的基本概念
非对称密码(公钥密码)与所有以前的密码方法的不同点
基于的基本思想不同 密钥的使用方式不同
公钥密码算法的密钥具有如下特点
是加密密钥与解密密钥是本质上不同的 是大多数公钥密码算法的加密密钥和解密密钥具有互换的性质,即两者是相对的
网络信息安全技术
非对称密码体制
非对称密码体制(Asymmetric CryptoSystem),也称为公钥密码体制(Public Key Cryptosystem),是现代密码学的重要组成部 分。公钥密码的思想在1976年由Diffie和Hellman在 其《密码学新方向》一文中提出。Rivest、Shamir 和Adleman在1978年提出了首个非对称密码体制, 即著名的RSA公钥密码体制。非对称密码体制的发明 是现代密码的具有里程碑意义的重要事件,它的出现 标志着现代密码学的创立。
可以通过加密算法生成密文:
C EPKB (M )
接收方B使用私有密钥容易通过解密算法对密文进行解密,以恢复原来的明文
从公开密钥PKB推出私有密钥SKB,在计算上是不可行的
非对称密码体制的原理
定义 单向陷门函数满足下列条件的函数f:D→V
1)对于任意给定的x∈D,计算y=f(x)是容易的。 2)对于几乎所有任意给定y∈V,计算x∈D使得y=f(x),
RSA算法中的计算问题
即计算(m)cmod N是RSA非对称密码 体制中的主要运算,其计算可以由 c-1次的模乘来实现,然而当比较
(m)c mod N 的有大效时计,算这问不题是一个好的算法,因为

国家开放大学最新《网络实用技术基础》第五章测试题及答案

国家开放大学最新《网络实用技术基础》第五章测试题及答案

国家开放大学最新《网络实用技术基础》第五章测试题及答案(正确答案已红色标注)、单项选择题(共20道,每题4分,总计80分)试题1总分值4.00用标记试题试题正文在网络信息传输过程中,一般需要一个(),负责向源节点和目的节点进行秘密信息分发,也可起到仲裁的作用。

选择一项:A.发送方B.可信的第三方C.接收方D.平安消息反应回答正确!此题考查“5.1网络平安概述”知识点内容。

正确答案是::可信的第三方国标记试题试题正文在SET交易的参与者中,负责连接银行专用网络和Internet的是()O 选择一项:A.发卡银行B.收单银行C.支付网关D.数字证书认证中心反应回答正确!此题考查“5.3网络支付平安”知识点内容。

正确答案是::支付网关试题13总分值4.00国标记试题试题正文在SET交易的参与者中,()的作用是商家建立账户并处理支付卡认证和支付的金融机构。

选择一项:A.发卡银行B.数字证书认证中心C.支付网关D.收单银行反应回答正确!此题考查“5.3网络支付平安”知识点内容。

正确答案是::收单银行试题14总分值4.00用标记试题试题正文加密密钥和解密密钥是相同的,或者可简单地相互推导出来,这是()的特点。

选择一项:A.对称密码体制B.非对称密码体制C.加密算法D.解密算法反应回答正确!此题考查“5.3网络支付平安”知识点内容。

正确答案是::对称密码体制试题15总分值4.00用标记试题试题正文同时使用两个不同的密钥,即公钥和私钥,这是()的特点。

选择一项:A.对称密码体制B.非对称密码技术C.加密算法D.解密算法反应回答正确!此题考查“5.3网络支付平安”知识点内容。

正确答案是::非对称密码技术试题16总分值4.00层标记试题试题正文()基于数学函数,同时使用两个不同的密钥,即公钥和私钥。

选择一项:A.对称密码体制B.非对称密码体制C.加密算法D.解密算法反应回答正确!此题考查“5.3网络支付平安”知识点内容。

简述非对称加密的过程及原理

简述非对称加密的过程及原理

非对称加密的过程及原理非对称加密是一种常见的加密方式,它使用一对密钥,一个公钥用于加密数据,一个私钥用于解密数据。

这种加密方式具有很高的安全性,广泛应用于数据传输、身份验证等领域。

以下是关于非对称加密的过程及原理的简述。

一、密钥生成密钥生成是非对称加密的基础,它包括两个步骤:生成私钥和公钥。

私钥是保密的,只有拥有者知道;公钥是公开的,任何人都可以获取。

私钥和公钥之间存在一定的数学关系,这种关系是单向的,即从公钥推导出私钥是计算上不可行的。

常用的非对称加密算法包括RSA、ECC等,每种算法都有自己独特的密钥生成方式。

例如,RSA算法中,密钥生成涉及到大数分解和模幂运算等复杂数学问题。

二、数据加密数据加密是使用公钥对数据进行加密的过程。

当发送方需要加密数据时,它会使用接收方的公钥对数据进行加密。

由于公钥是公开的,任何人都可以获取和使用,因此数据加密的安全性依赖于私钥的保密性。

在非对称加密中,即使攻击者获得了公钥,也无法解密被加密的数据,因为只有私钥才能解密数据。

三、数据解密数据解密是使用私钥对数据进行解密的过程。

当接收方收到加密的数据时,它会使用自己的私钥对数据进行解密,还原出原始数据。

由于只有私钥才能解密数据,因此只有真正的接收者才能解密并获取到数据内容。

攻击者无法解密被加密的数据,因为它们没有私钥。

四、签名验证签名验证是非对称加密的一个重要应用,它用于验证数据的完整性和来源。

签名验证涉及使用私钥对数据进行签名,然后使用公钥验证签名的过程。

发送方使用自己的私钥对数据进行签名,接收方使用发送方的公钥验证签名。

如果签名验证成功,则说明数据没有被篡改且来源于真正的发送者。

在数字签名中,由于私钥的唯一性,任何人都可以使用公钥验证签名的有效性。

如果签名无效或者被篡改,验证过程将会失败,从而保证了数据的完整性和来源可靠性。

综上所述,非对称加密的过程包括密钥生成、数据加密、数据解密和签名验证等方面。

非对称加密的原理基于数学上的单向函数和计算复杂性理论,通过使用一对公钥和私钥,实现了数据的保密传输、身份验证和完整性校验等功能。

对称加密与非对称加密

对称加密与非对称加密

对称加密与⾮对称加密转载请注明出处(⼀)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的⼀种加密⽅式,加密(encryption)与解密(decryption)⽤的是同样的密钥(secret key)。

对称加密有很多种算法,由于它效率很⾼,所以被⼴泛使⽤在很多加密协议的核⼼当中。

对称加密通常使⽤的是相对较⼩的密钥,⼀般⼩于256 bit。

因为密钥越⼤,加密越强,但加密与解密的过程越慢。

如果你只⽤1 bit来做这个密钥,那⿊客们可以先试着⽤0来解密,不⾏的话就再⽤1解;但如果你的密钥有1 MB⼤,⿊客们可能永远也⽆法破解,但加密和解密的过程要花费很长的时间。

密钥的⼤⼩既要照顾到安全性,也要照顾到效率,是⼀个trade-off。

2000年10⽉2⽇,美国国家标准与技术研究所(NIST--American National Institute of Standards and Technology)选择了Rijndael算法作为新的⾼级加密标准(AES--Advanced Encryption Standard)。

.NET中包含了Rijndael算法,类名叫RijndaelManaged,下⾯举个例⼦。

加密过程:private string myData = "hello";private string myPassword = "OpenSesame";private byte[] cipherText;private byte[] salt = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };private void mnuSymmetricEncryption_Click(object sender, RoutedEventArgs e){var key = new Rfc2898DeriveBytes(myPassword, salt);// Encrypt the data.var algorithm = new RijndaelManaged();algorithm.Key = key.GetBytes(16);algorithm.IV = key.GetBytes(16);var sourceBytes = new System.Text.UnicodeEncoding().GetBytes(myData);using (var sourceStream = new MemoryStream(sourceBytes))using (var destinationStream = new MemoryStream())using (var crypto = new CryptoStream(sourceStream, algorithm.CreateEncryptor(), CryptoStreamMode.Read)){moveBytes(crypto, destinationStream);cipherText = destinationStream.ToArray();}MessageBox.Show(String.Format("Data:{0}{1}Encrypted and Encoded:{2}", myData, Environment.NewLine, Convert.ToBase64String(cipherText)));}private void moveBytes(Stream source, Stream dest){byte[] bytes = new byte[2048];var count = source.Read(bytes, 0, bytes.Length);while (0 != count){dest.Write(bytes, 0, count);count = source.Read(bytes, 0, bytes.Length);}}解密过程:private void mnuSymmetricDecryption_Click(object sender, RoutedEventArgs e){if (cipherText == null){MessageBox.Show("Encrypt Data First!");return;}var key = new Rfc2898DeriveBytes(myPassword, salt);// Try to decrypt, thus showing it can be round-tripped.var algorithm = new RijndaelManaged();algorithm.Key = key.GetBytes(16);algorithm.IV = key.GetBytes(16);using (var sourceStream = new MemoryStream(cipherText))using (var destinationStream = new MemoryStream())using (var crypto = new CryptoStream(sourceStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read)){moveBytes(crypto, destinationStream);var decryptedBytes = destinationStream.ToArray();var decryptedMessage = new UnicodeEncoding().GetString(decryptedBytes);MessageBox.Show(decryptedMessage);}}对称加密的⼀⼤缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的⼈的⼿⾥是⼀个问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

为实现加密,需要公开(e, n),为实现解密需要(d, n)。
问题……
如何计算ab mod n?
如何判定一个给定的整数是素数? 如何找到足够大的素数p和q ?
如何计算ab mod n?
要点1:(a x b) mod n = [(a mod n) x (b mod n)] mod n] 要点2:a16=aaaaaaaaaaaaaaaa =a2, a4,a8, a16 更一般性的问题:am k m的二进制表示为bkbk-1…b0, 则 m bi 2 i
4.4.1 非对称密码学的基本原理
4.4.1 非对称密码学的基本原理
4.4.1 非对称密码学的基本原理
4.4.1 非对称密码学的基本原理
涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文 非对称密码算法的条件:
产生一对密钥是计算可行的 已知明文m和公钥PK,计算c=Epk(m)是容易的. 已知明文m和私钥SK,计算c=Esk(m)是容易的. 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 (可选)加密和解密的顺序可交换
公钥
C f ( M ) M e mod n
M f 1 (C ) C d mod n
私钥 图 RSA利用单向陷门函数的原理
开 始
产 生 第 一 个 素 数
产 生 第 二 个 素 数
两 个 素 数 是 否 相 同

产 生 公 钥
求 欧 拉 值
产 生 加 密 密 钥
产 生 解 密 密 钥
如何判定一个给定的整数是素数
Miller and Rabin, WITNESS算法 WITNESS(a,n) 判定n 是否为素数,a是某个小于n的整数
1. 令bkbk-1…b0 为(n-1)的二进制表示, 2. d 1 3. for i k downto 0 4. do x d 5. d (d d) mod n 6. if d = 1 and x 1 and x n-1 7. then return TRUE 8. if bi = 1 9. then d (d a) mod n 10. if d 1 11. then return TRUE 12. return FALSE 返回值: TRUE: n一定不是素数 FALSE: n可能是素数
4.4.1 非对称密码学的基本原理
在实际保密通信过程中是将公钥密码和对称密码结 合使用.
用对称密码算法对消息加密. 用公钥密码算法实现密钥交换和数字签名.
混合加密体制
采用传统密码体制进行通信
明文m 发送者A 密文C 信息传送信道 明文m 接收者B
加密变换 C=Ek(m)
解密变换 m=Dk(c)
相反地,用户也能用自己私人密钥对 使用公共密钥加密的数据加以处理。但该 方法对于加密敏感报文而言并不是很有用, 这是因为每个人都可以获得解密信息的公 共密钥。 当一个用户用纸的私人密钥对数据进 行了处理,可以用它提供的公共密钥对数 据加以用类型
加密/解密 数字签名 会话密钥交换
i 0
计算am mod n am mod n =
[ a ] mod n
(2i)
bi0
=
[ a
bi0
(2i)
mod n
]
快速取模指数算法计算ab mod n
c 0;d 1 for i k downto 0 do c 2×c d (d ×d)mod n if bi=1 then c c+1 d (d ×a)mod n return d

4.4.1 非对称密码学的基本原理
网上若有n个用户,则需要C(n,2)= n(n1)/2个密钥. 例如: n=1000,则C(1000,2)=500000.这么 大量的密钥存储和分发都会存在安全隐 患.
非对称密码体制的要求
(1)参与方B容易通过计算产生一对密钥 (公开密钥KUb和私有密钥KRb) (2)对于发送方A,通过计算产生对应的密文:C=EKUb(M) (3)接收方B使用私有密钥解密所得的密文以便恢复原来的报 文:M=DKRb(C)=DKRb(EKUb(M)) (4)敌对方即使知道公开密钥KUb,要确定私有密钥 KRb在计算 上是不可行的。 (5)敌对方即使知道公开密钥KUb和密文C,要想恢复原来的报 文M在计算上也是不可行的。 (6)加密和解密函数可以以两个次序中的任何一个来使用: M=DKRb(EKUb(M)) M=EKUb(DKRb(M))
4. 4
非对称密码技术
1
非对称密码算法基本原理
2
RSA算法的原理
3
ECC算法与Diffie-Hellman算法
4.4.1 非对称密码学的基本原理
对称密码体制的缺陷:
密钥分配问题 通信双方要进行加密通信, 需要通过秘密的安全信道协商加密密钥, 而这种安全信道可能很难实现; 密钥管理问题 在有多个用户的网络中, 任何两个用户之间都需要有共享的秘密 钥,当网络中的用户n很大时,需要管理 的密钥数目是非常大 。 没有签名功能:当主体A收到主体B的电 子文挡(电子数据)时,无法向第三方 证明此电子文档确实来源于B。
明文:M<n 密文:C=Me(mod n) 明文:M=Cd(mod n)
解密 (用d,n)
密文:C
示例
(1)密钥生成。设选择p=7, q=19,可计算出 n=p×q=7×19=133 计算出m=φ (n)=(p-1) ×(q-1)=(7-1) ×(19-1) 选择一个随机生成较小的整数e,进而求出d (2)加解密过程。RSA的原则是被加密的信息应小于p和q的较 小者,所以在这个例子中,要指明被加密的数字要小于7,于是 取明文码6为例。 加密:c=pe/n=65/133=7776/133=62,于是密文为62,把62传出 去。 解密:c=pd/n=6255/133,经过计算机,余数为6,则可以得到原始明文是6
4.4.1 非对称密码学的基本原理
非对称加密算法的优缺点:
优点:
大型网络中每个用户需要的密钥量少. 只要对私钥保密,而公钥只要保证它的真实性. 可以实现对信息加密和数字签名功能.
缺点:
公钥加密比对称加密的速度要慢几个数量级. 公钥加密方案的密钥长度比对称加密的密钥要长.
结 束

RSA密码体制描述
明文空间P=密文空间C=Zn 密钥的生成
选择互异素数p,q,计算n=p*q, (n)=(p-1)(q-1), 选择整数e 使((n),e)=1,1<e<(n),计算d,使d=e-1mod (n) 公钥Pk={e,n} 私钥Sk={d,n}
加密 (用e,n)
4.4.1 非对称密码学的基本原理
若加密密钥和解密密钥不相同,从其中一个难以推 出另一个,则称为不对称密码技术或双钥密码技术。 不对称密码算法使用两把完全不同但又是完全匹配 的一对钥匙—公钥和私钥。在使用不对称密码算法 加密文件时,只有使用匹配的一对公钥和私钥,才 能完成对明文的加密和解密过程。 用户可以把密钥(公钥)公开地分发给任何人,合 适保密通信,但是也存在算法复杂、加密速度慢等 问题。
从中不难看出,此过程之中私钥的保密性和对于大整数的因式分解是困难的,这就保 证了信息传递过程中的安全性。
要求:若使RSA安全,p与q必为足够大的素数,使 分析者没有办法在有效时间内将n分解出来。建议选择 p和q大约是100位的十进制素数。 模n的长度要求至少是 512比特。 为了抵抗现有的整数分解算法,对RSA模n的素因子 p和q还有如下要求: (1)|p-q|很大,通常 p和q的长度相同; (2)p-1 和q-1分别含有大素因子p1和q1 (3)gcd(p1-1,q1-1)应该很小。 为了提高加密速度,通常取e为特定的小整数,如EDI国际标 准中规定 e=216+1,ISO/IEC9796中甚至允许取e=3。这时 加密速度一般比解密速度快10倍以上。
4.4.1 非对称密码学的基本原理
从上述条件 可以看出,公开密钥体制下, 加密密钥不等于解密密钥。加密密钥可对 外公开,使任何用户都可将传送给此用户 的信息用公开密钥加密发送,而该用户唯 一保存的私人密钥是保密的,也只有它能 将密文复原、解密。虽然解密密钥理论上 可以由加密密钥推算出来,但这种算法设 计在实际上是不可能的。
若明文为m,则PK,SK满足. 1) c = Epk(m) , 则: m = Dsk(c) 2) c = Esk(m) , 则: m = Dpk(c)
4.4.1 非对称密码学的概念
非对称密码相对对称密码的主要区别: 公钥密码算法的基本工具不再是代换 和置换.而是数学函数. 公钥密码算法是以非对称的形式使用 两个密钥.
4.4.1 非对称密码学的基本原理
public-key/two-key/asymmetric 包括两个密钥:
公开密钥(public-key),PK, 可以被任 何人知道, 用于加密或验证签名 私钥(private-key),SK, 只能被消息 的接收者或签名者知道,用于解密或签 名
4.4.1 非对称密码学的基本原理
RSA密钥的生成
RSA算法归纳
选择两个大素数p和q,通常要求每个均大于10100。 计算n=pxq和φ (n) =(p-1)(q-1)。 选择一与φ (n)互质的数、令其为d 。 找到一个e满足e×d=1 (mod z)。 选好这些参数后,将明文划分成块,使得每个明文报文P 长度m满足0<m<n。加密P时,计算C=Pe(mod n),解密C 时计算P=Cd(mod n)。由于模运算的对称性,可以证明, 在确定的范围内,加密和解密函数是互逆的。
4.4.1 非对称密码学的基本原理
Public-Key Distribution Schemes (PKDS) 用于交换秘密信息(依赖于双方主体) 常用于对称加密算法的密钥 Public Key Encryption (PKE) 用于加密任何消息 任何人可以用公钥加密消息 私钥的拥有者可以解密消息 Signature Schemes 用于生成对某消息的数字签名 私钥的拥有者生成数字签名 任何人可以用公钥验证签名
相关文档
最新文档