密码技术
- 格式:doc
- 大小:98.00 KB
- 文档页数:9
计算机科学中的密码技术密码技术是计算机科学中至关重要的一个领域。
它可以预防数据泄漏,保护机密信息,并且有效的防止网络攻击。
本文将从三个方面介绍计算机科学中的密码技术:对称加密、非对称加密以及哈希函数。
一、对称加密对称加密是一种加密方式,其中加密和解密都使用相同的密钥。
这意味着需要安全分发密钥来保护加密数据并防止未经授权的访问。
对称加密算法通常分为分组密码和流密码两种类型。
分组密码将明文分为块,并使用相同的密钥加密每个块,从而生成密文。
这些块可以是比特序列或者是更大的块。
分组密码算法中比较常见的有DES(数据加密标准),Triple-DES,AES(高级加密标准)等。
流密码则通过加密明文和随机密钥序列的异或运算来生成密文。
这种密码算法可以被看作是分组密码的一种变体,其中块是一位比特。
流密码算法中比较常见的有RC4,ChaCha20等。
二、非对称加密非对称加密是一种公钥加密技术。
这里需要两个密钥:公钥和私钥。
公钥是公开的,并且任何人都可以使用它来加密消息。
相反,解密消息需要私钥,这个私钥只能由接收方持有。
这种加密方式的一种优点是可以避免安全分发密钥的问题,但是会增加加密和解密的计算量。
非对称加密算法比较常见的有RSA(可扩展的加密算法)和椭圆曲线加密算法(ECC)。
三、哈希函数哈希函数是一种将任意长度的输入映射为固定长度的输出的函数。
这个输出通常称为散列值或者数字指纹。
哈希函数的一个主要特性是当输入数据发生变化时,输出结果必须发生变化。
散列值用于验证数据的完整性,它通常用于数字签名和消息认证码(MAC)等方面。
SHA-1和MD5是最常使用的哈希函数之一。
但是最近关于它们的安全问题已经被发现,因此人们更常使用SHA-256、SHA-384和SHA-512等更多安全的哈希算法。
结论密码学技术是计算机科学的研究,包括对称加密算法、非对称加密算法和哈希函数。
现代密码学可以帮助数据保持安全,并且保证保密性和完整性,从而预防数据泄露和网络攻击。
密码技术密码技术基本概念密码技术就是数据加解密的基本过程,就是对明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法阅读的目的。
该过程的逆过程称为解密,即将该编码信息转化为原来数据的过程。
✹明文(Plaintext):被隐蔽的数据消息;✹• 密文(Ciphertext):隐蔽后的数据消息;✹• 加密(Encryption):将明文转换为密文的过程;✹• 解密(Decryption):将密文转换为明文的过程;✹• 密钥(Key):控制加密、解密的安全参数;✹• 当前,密码技术的发展使得它已经能用于提供完整性、真实性、和非否认性等属性,成为保障信息安全的核心基础技术。
✹明文P用加密算法E和加密密钥K加密,得到密文C=E K(P);✹在传送的过程中可能会出现密文截获者(又称攻击者或入侵者);✹到了接收端,利用解密算法D和解密密钥K,解出明文为D K C)= D K(E K(P))=P;✹在这里我们假定加密密钥和解密密钥都是一样的,但实际上它们可以是不一样的(即使不一样,这两个密钥也必然有某种相关性);✹密钥通常是由一个密钥源提供,当密钥需要向远地传送时,一定要通过另一个安全信道;✹根据KERCHOFF原则:算法是公开的,密钥是保密的。
在密码技术发展的早期,人们把数据的安全依赖于算法的是否保密,很显然这是不够安全的。
1883年Kerchoffs第一次明确提出编码原则:“加密算法应建立在算法的公开不影响明文和密钥安全的基础之上”。
这一原则成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。
密码的分类与算法1.按历史发展阶段划分(1)手工密码(2)机械密码(3)电子机内乱密码(4)计算机密码2.按保密程度划分(1)理论上保密的密码(2)实际上保密的密码(3)不保密的密码3.按密钥方式划分(1)对称式密码(2)非对称是密码4.按密码算法分(1)对称式密码算法(2)3DES(3)RC2和RC4(4)国际数据加密算法(5)公共密码算法(6)数字签名算法(7)AES(8)单向散列算法古典密码技术密码分析所谓密码分析,就是在未知密钥的前提下,从密文中恢复出明文或者推导出密钥,对密码进行分析的尝试。
世界五大顶级密码一、介绍随着科技的发展,越来越多的人开始使用密码来保护自己的财产和数据安全。
密码技术也在不断发展,各种顶级密码技术也不断出现。
本文将介绍世界五大顶级密码技术,以便大家能够更好地保护自己的数据安全。
二、AES加密AES(高级加密标准)是一种对称加密算法,它可以使用128、192、256位的密钥来加密和解密数据。
AES加密在世界上被广泛使用,它的安全性很高,能够有效地防止数据泄露。
AES加密算法的特点主要有:1. AES加密算法使用128、192、256位的密钥,可以有效防止数据泄露;2. AES加密算法支持多种模式,如CBC、ECB、CFB等;3. AES加密算法支持多种填充模式,如NoPadding、PKCS5Padding等;4. AES加密算法的安全性非常高,能够有效防止数据泄露。
三、RSA加密RSA加密是一种非对称加密算法,它使用一对公钥和私钥来加密和解密数据。
RSA加密算法是目前最常用的非对称加密算法,它的安全性很高,能够有效防止数据泄露。
RSA加密算法的特点主要有:1. RSA加密算法使用一对公钥和私钥来加密和解密数据,能够有效防止数据泄露;2. RSA加密算法支持多种填充模式,如NoPadding、PKCS1Padding等;3. RSA加密算法支持多种签名算法,如MD5withRSA、SHA1withRSA等;4. RSA加密算法的安全性非常高,能够有效防止数据泄露。
四、DES加密DES(数据加密标准)是一种对称加密算法,它使用56位的密钥来加密和解密数据。
DES 加密算法是一种传统的加密算法,它的安全性不如AES和RSA加密算法,但它的速度比AES和RSA加密算法快得多。
DES加密算法的特点主要有:1. DES加密算法使用56位的密钥来加密和解密数据,它的安全性不如AES和RSA加密算法;2. DES加密算法支持多种模式,如ECB、CBC等;3. DES加密算法支持多种填充模式,如NoPadding、PKCS5Padding等;4. DES加密算法的速度比AES和RSA加密算法快得多。
密码技术(图解密码技术的学习总结)⼀、对称密码1、机密性(看不到明⽂)2、算法:DES(Data Encryption Standard):已被暴⼒破解 三重DES(3DES、EDEA):过程加密(秘钥1)-解密(秘钥2)-加密(秘钥3) (1)DES-EDE2:秘钥1和秘钥3相同和 (2)DES-EDE3:秘钥均不同 特点:安全性可以,但处理速度不⾼。
AES(Advanced Encryption Standard 美国通过组织AES公开竞选算法,免费供全世界使⽤):取代DES和三重DES的标准算法。
特点:安全、快速 选定的算法为Rijndael算法。
3.DES与AES属于分组密码,只能加密固定长度的明⽂。
更多密⽂时需要分组、迭代加密。
如AES分组长度为128⽐特、可以⼀次性加密128⽐特的明⽂,并⽣成128⽐特的密⽂4.分组密码模式 ECB模式:每个组直接⽤相同秘钥直接加密。
绝对不可⽤ CBC模式:推荐 CTR模式:推荐 CFB模式:推荐 OFB模式:推荐ps:SSL/TLS协议使⽤了CBC模式,⽤了三重DES的3DES_EDE_CBC以及AES_256_CBC缺点:秘钥配送的问题。
-->可以⽤公钥密码(⾮对称加密)解决。
尝试解决配送问题:(1)事先共享秘钥 当然能见⾯、打电话确认或者邮件确认的⽅式实现共享秘钥⾃然可以,这类场景不会存在配送的问题。
能事先共享秘钥时也有问题:⼈与⼈之间都需要不同的秘钥。
数量太多。
如果有N个⼈,那么就需要N*(N-1)/2个秘钥 但其他场景,⽐如浏览器与服务器,怎样建⽴起信任?刚认识的朋友之间的消息,如何信任呢?(2)秘钥分配中⼼:每个⼈都通过中⼼分配。
缺点:数据库保存太多的秘钥、同时秘钥分配中⼼责任重⼤(3)Diffie-Hellman秘钥交换⽅式(4)公钥密码(⾮对称加密)⼆、⾮对称密码(公钥密码)1、机密性(看不到明⽂)2、原理:消息接收者A⽣成秘钥对,包含公钥和私钥。
密码技术基础及相关标准
密码技术基础主要包括密码算法、密钥管理和密码协议等方面。
1. 密码算法:是实现密码对信息进行“明”“密”变换、产生认证“标签”的一种特定规则。
主要包括对称密码算法、非对称密码算法、密码杂凑算法和随机生成算法。
2. 密钥管理:是指根据安全策略,对密钥的产生、分发、存储、更新、归档、撤销、备份、恢复和销毁等密钥全生命周期的管理。
3. 密码协议:是指两个或两个以上参与者为完成某项特定任务而采取的一系列步骤。
在密码技术基础方面,还有一些相关的标准,如:
1. 密码基础类标准:主要规定了通用密码技术和算法的要求。
2. 基础设施类标准:主要规定了认证体系等密码基础设施的要求。
3. 密码设备类标准:主要规定了接口、规格和安全要求。
4. 密码服务类标准:规定了密码报文、调用接口等方面的要求。
5. 密码检测类标准:针对基础类标准、设备类标准、服务类标准等对定了相应的检测要求。
6. 密码管理类标准:规定了设备管理、密钥管理、设备监察等方面的要求。
7. 密码应用类标准:规定了使用密码技术实现密码应用的要求(如动态口令、电子签章等、IC卡应用等)。
这些标准在保障信息安全方面发挥着重要作用,为各种信息系统提供了安全可靠的密码技术支持。
第五章密码技术一、密码学的基础知识密码学(Cryptography)一词来自于希腊语中的短语“secret writing (秘密地书写) ”,是研究数据的加密及其变换的学科。
它集数学、计算机科学、电子与通信等诸多学科于一身,它包括两个分支:密码编码学和密码分析学。
密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法。
密码分析学则与密码编码学相反,它主要研究如何分析和破译密码。
这两者之间既相互对立又相互促进。
进入20世纪80年代,随着计算机网络,特别是因特网的普及,密码学得到了广泛的重视。
如今,密码技术不仅服务于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。
加密技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理、密钥托管等技术,是保障信息安全的核心技术。
待加密的消息称为明文 (plaintext) ,它经过一个以密钥 (key) 为参数的函数变换,这个过程称为加密,输出的结果称为密文 (ciphertext) ,然后,密文被传送出去,往往由通信员或者无线电方式来传送。
我们假设敌人或者入侵者听到了完整的密文,并且将密文精确地复制下来。
然而,与目标接收者不同的是,他不知道解密密钥是什么,所以他无法轻易地对密文进行解密。
有时候入侵者不仅可以监听通信信道 (被动入侵者) ,而且还可以将消息记录下来并且在以后某个时候回放出来,或者插入他自己的消息,或者在合法消息到达接收方之前对消息进行篡改 (主动入侵者) 。
使用C = EK(P)来表示用密钥K加密明文P得到密文C,P = DK(C)代表用密钥K解密密文C得到明文P的过程。
由此可得到:DK(EK(P)) = P。
这种标记法也说明了E和D只是数学函数,事实上也确实如此。
密码学的基本规则是,必须假定密码分析者知道加密和解密所使用的方法。
二、古典密码技术古典密码技术主要有两大基本方法:①代替密码:就是将明文的字符替换为密文中的另一种的字符,接收者只要对密文做反向替换就可以恢复出明文。
密码技术密码技术在现代社会中扮演着重要的角色。
密码技术是一种应用密码学原理和方法的技术,旨在保护信息的安全性和私密性。
随着信息技术的发展和普及,人们对密码技术的需求日益增加。
本文将从密码技术的定义、分类、应用、发展等方面进行探讨。
首先,我们来了解一下密码技术的定义。
密码技术是一种通过应用密码学方法和原理来处理和传输信息的技术。
它的主要目的是保证信息的保密性、完整性和认证性。
密码技术主要应用于信息安全领域,包括网络安全、电子商务、移动通信等方面。
密码技术可以根据不同的特点进行分类。
常见的分类方式包括对称密码技术、非对称密码技术和哈希函数技术等。
对称密码技术是指发送方和接收方共享同一个密钥,用于加密和解密信息。
非对称密码技术则使用公钥和私钥两个不同的密钥,其中公钥用于加密信息,私钥用于解密信息。
哈希函数技术则是将任意长度的消息映射为固定长度的哈希值,以保证信息的完整性。
密码技术在现代社会中有广泛的应用。
首先是网络安全领域。
随着互联网的普及,网络安全问题也日益突出。
密码技术可以用于加密数据传输、保护网络通信的隐私和数据完整性,防止非法入侵和黑客攻击。
其次,密码技术在电子商务中起到了重要作用。
在进行在线支付和交易时,密码技术可以确保客户的账户信息和交易数据的安全性。
另外,密码技术也广泛应用于移动通信、电子政务、物联网等领域,为信息的传输和存储提供了安全保障。
密码技术的发展经历了多个阶段。
早期的密码技术主要是基于替换和置换的方法,如凯撒密码和维吉尼亚密码。
随着计算机技术的发展,密码技术也发生了革命性的变化。
现代密码技术主要采用数学和计算机理论为基础,如RSA算法和AES算法等。
此外,随着量子计算和人工智能技术的进步,密码技术也面临着新的挑战和机遇。
一方面,量子计算可能会破解传统密码技术的算法,因此需要开发抗量子攻击的密码技术;另一方面,人工智能可以用于密码破解和攻击,因此需要开发智能化的防御和检测系统。
总结一下,密码技术在现代社会中具有重要的意义和应用。
密码学中使用的技术
在密码学中使用的常见技术包括:
1. 对称加密:使用相同的密钥来加密和解密数据。
常见的对称加密算法有DES、3DES、AES等。
2. 公钥加密:使用一对密钥,即公钥和私钥,其中公钥用于加密数据,私钥用于解密数据。
常见的公钥加密算法有RSA、ECC等。
3. 散列函数:将任意长度的数据转换成固定长度的散列值。
常见的散列函数有MD5、SHA-1、SHA-256等。
主要用于数据完整性校验和密码存储。
4. 数字签名:使用私钥对数据进行签名,用公钥验证签名的合法性。
常见的数字签名算法有RSA、DSA等。
主要用于数据的身份验证和信息的完整性。
5. 密码哈希函数:将密码通过哈希函数进行处理,生成固定长度的密码摘要。
常见的密码哈希函数有bcrypt、Argon2、Scrypt等。
主要用于存储用户密码时的安全性。
6. 随机数生成器:生成随机数,用于密码生成、密钥生成等。
常见的随机数生成器有伪随机数生成器(PRNG)和真随机数生成器(TRNG)。
第七章密码技术7.1 数据加密技术1.基本概念——术语●消息被称为明文(plain text)●用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption,encipher)●加了密的消息称为密文(cipher text)●而把密文转变为明文的过程称为解密(decryption, decipher)。
●使消息保密的技术和科学叫做密码编码学(cryptography)。
●从事此行的叫密码编码者(cryptographer)●破译密文的科学和技术叫做密码分析学(cryptanalysis)●从事密码分析的专业人员叫做密码分析者(cryptanalyst)●密码学包括密码编码学和密码分析学两者。
现代的密码学家通常也是理论数学家。
2. 基本概念——密码学的在网络通信上的作用●保密:保护信息在传输的过程中,内容不会泄露给热合非法截收的第三者。
●鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
●完整性:消息的接收者因该能够验证在传送过程中没有被修改;入侵者不可能用假消息代替合法消息。
●抗抵赖:发送者事后不可能虚假地否认他发送的消息(不可否认性)。
3.密码通信模型①算法密码算法也叫密码,是用于加密和解密的数学函数。
通常情况下,有两个相关的函数:一个用作加密,另一个用作解密。
明文用M(消息),密文用C表示,加密函数E作用于M得到密文C,用数学表示为:E(M)=C.相反地,解密函数D作用于C产生MD(C)=M.先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:D(E(M))=M②受限制的算法如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。
如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。
③现代密码学现代密码学用密钥解决了这个问题,密钥用K表示。
用K作为加密、解密函数中的参数。
密钥K的可能值的范围叫做密钥空间。
加密和解密运算都使用这个密钥,加/解密函数现在变成:E k(M)=CD k(C)=MD k(E(M))=M图见书。
4. 密码体制①对称密钥体制加密和解密时使用同一个密钥,或者加密密钥能够从解密密钥中推算出来,反过来也成立。
又称为对称密钥体制或单钥密钥体制。
对称密码体制的代表:1977年美国国家标准局颁布的DES算法对称密钥体制的缺陷:a.密钥管理麻烦通信双方事先要通过保密信道交换密钥。
算法是公开的,密钥是对称密钥体制的核心,一定不能泄露。
密钥管理问题:用户数为n,系统拥有密钥总数为n(n-1)/2b.数字签名问题(缺乏对接收端的证实)可以证实发送端:只有掌握解密密钥的合法接收者才能恢复出明文。
不能证实接收端:接收方收到文件后可以伪造或篡改文件。
c.缺乏自动检测保密密钥泄密的能力一旦密钥泄露,在一段密钥有效期内,能顺利破译出该密钥加密的所有信息而不被发现。
②公钥密钥体制(非对称密钥体制)③混合加密体制5. 公钥密钥体制①基本概念应用两个不同的密钥:一个是公开的,一个是秘密的。
从公开密钥(以下简称为公钥)很难推断出私人密钥(以下简称为私钥)。
持有公钥的任何人都可以加密消息,但却无法解密。
只有持有私钥的人才能够解密。
②加密/解密基本步骤假设A要给B发送数据。
一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。
这样加密协议如下:A.A从公开数据库中取出B的公开密钥。
B.A用B的公开密钥加密她的消息,然后传送给B。
C.B用他的私钥解密A的消息。
③公钥/私钥特点:A.公钥和私钥是两个相互关联的密钥,但是由公钥很难推出私钥。
B.公钥加密的文件只能由私钥解密。
C.私钥加密的文件只能由公钥解密。
④优点从以上的介绍中可以看出,与对称密码技术相比较,利用非对称密码技术进行安全通信,有以下优点:A.通信双方事先不需要通过保密信道交换密钥。
B.密钥持有量大大减少。
在n个用户的团体中进行通信,每一用户只需要持有自己的私钥,而公钥可放置在公共数据库上,供其它用户取用。
这样,整个团体仅需拥有n对密钥,就可以满足相互之间进行安全通信的需求。
(实际中,因安全方面的考虑,每一用户可能持有多个密钥,分别用于数字签名、加密等用途。
此种情况下,整个团体拥有的密钥对数为n的倍数。
但即使如此,与使用对称密码技术时需要n2/2个不同的密钥相比,需要管理的密钥数量仍显著减少。
)C.非对称密码技术还提供了对称密码技术无法或很难提供的服务:如与哈希函数联合运用可生成数字签名(以后介绍),可证明的安全伪随机数发生器的构造,零知识证明等。
⑤缺点算法比较复杂,加密速度慢。
6.混合加密体制加解密采用传统密码,密钥传送采用公钥密钥。
同时解决密钥管理困难和加解密速度的问题。
步骤:A.产生一个会话密钥K,用B的公钥对K加密,得到CkB.用K和对称加密算法对明文P加密得密文CC.A发送C和Ck给BD.B用他的私钥对Ck解密得会话密钥KE.B用会话密钥K解密出消息。
图见书。
7.2网络加密方式1.链路加密方式在数据链路层上进行加密,对传输的数据报文的每一个比特进行加密,每个节点配置安全单元,用于进行加密解密。
不但对数据报文正文加密,并对路由信息、校验和等控制信息加密传输过程:网络节点内数据为明文木桶原理:一个木桶由许多块木板组成,如果组成木桶的这些木板长短不一,那么这个木桶的最大容量不取决于长的木板,而取决于最短的那块木板。
采用链路加密方式,从起点到终点,要经过许多中间节点,在每个节点地均要暴露明文,如果链路上的某一节点安全防护比较薄弱,那么按照木桶原理(木桶水量是由最低一块木板决定),虽然采取了加密措施,但整个链路的安全只相当于最薄弱的节点处的安全状况。
2.节点对节点的加密方式是对链路加密方式的改进。
和链路加密方式不同的是:只对数据报文加密,不对路由信息和校验和这些控制信息加密,在节点处进行路由选择和差错检测,但是在节点先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,连接保密组件,消息的加密/解密都在保密装置中进行,明文不在节点处出现。
3.端对端的加密方式发送端和接收端数据在发送端被加密,在最终目的地(接收端)解密,中间节点处不以明文的形式出现。
在应用层完成7.3密码算法介绍7.3.1古典密码算法●在计算机出现前,密码学由基于字符的密码算法构成。
不同的密码算法是字符之间互相代换或者是互相之间移位,好的密码算法是结合这两种方法,每次进行多次运算。
●现在事情变得复杂多了,但原理还是没变。
重要的变化是算法对比特而不是对字母进行变换,实际上这只是字母表长度上的改变,从26个元素变为2个元素。
大多数好的密码算法仍然是移位和置换的元素组合。
例如:移位算法凯撒密码:著名的凯撒密码就是一种简单的代替密码,它的每一个明文字符都由其右边第K 个(模26)字符代替(若K=3,A由D代替,B由E代替,W由Z代替,X由A代替,Y由B 代替,Z由C代替)。
它实际上更简单,因为密文字符是明文字符的环移,并且不是任意置换。
⏹ABCDEFGHIJKLMNOPQRSTUVWXYZ⏹DEFGHIJKLMNOPQRSTUVWXYZABC仅有25个可能的密钥,非常不安全。
例如:移位算法就是明文中每一个字符被替换成密文中的另外一个字符。
接收者对密文进行逆替换就恢复出明文来。
简单代替密码:就是明文的一个字符用相应的一个密文字符代替。
多字母代替密码:字符块被成组加密,例如“ABA”可能对应于“RTQ”,ABB可能对应于“SLL”等。
7.3.2数据加密标准(DES)1.DES加密算法的背景●发明人:美国IBM公司W. Tuchman 和C. Meyer 1971-1972年研制成功。
●产生:美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。
经评选从一大批算法中采纳了IBM的LUCIFER方案。
●标准化:DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。
DES出现之后,很多专家学者对它进行分析论证,证明它是一种性能良好的数据加密算法,不仅随机特性好,线性复杂度高,而且易于实现,能够标准化和通用化,因此在国际上得到了广泛的应用2.DES加密算法的基本思想DES是一种对称密码体制,加密和解密的密钥相同。
DES算法入口参数:●64bit的数据(Data),●64bit的初始密钥(Key)K●模式(Mode)DES算法工作过程:如果Mode为加密模式,则用Key去把数据Data进行加密,生成Data的密码形式(64bit)作为DES输出结果;若Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64bit)作为DES的输出结果。
DES利用传统的移位和置换的方法。
主要包括三部分:密钥产生部分、换位操作部分、与密钥有关的乘积变换部分。
图见书113页而异或则是按位“异或”,相同为“0”,相异为“1”。
例:10011000异或01100001结果11111001或运算10011000或01100001结果111110017.3.3 RSA公钥密码算法MH——背包公钥体制RSA算法是R.Rivest、A.Shamir和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布。
1.理论准备●单向函数一个单向函数是满足下列条件的函数:它将一个定义域映射到值域,使得每个函数值有一个唯一的原像,同时还要满足下列条件:函数值计算很容易,而逆计算是不可行的。
单项陷门函数:所谓单向陷门函数是这样的函数,即除非知道某种附加的信息,否则这样的函数在一个方向上容易计算,而在另外的方向上要计算是不可行的。
有了附加的信息,函数的逆就可以在多项式时间内计算出来。
一个实用的公开密钥密码系统的建立和发展依赖于找到一个单向陷门函数。
●素数只能被1和它本身整除的自然数;否则为合数。
每个合数都可以唯一的分解出素数因子6=2×315851=131×11×11999999=3×3×3×7×11×13×37互质:如果两个数的最大公约数是1,我们就说这两个数是互质数。
1.和1互质的数:2,3,4,5,6,7,8;2.和2互质的数:3,5,7;3.和3互质的数:4,5,7,8;●素因子分解速度采用运算速度为100万次每秒的计算机整数n的十进制位数因子分解运算次数计算时间50 1.4*1010 3.9小时75 9.0*1012104天100 2.3*101574年200 1.2*1023 3.8*109年300 1.5*1029 4.0*1015年500 1.3*1039 4.2*1025年●模运算求余数例如:2 mod 7=28 mod 3=5●同余问题如果a和b都是整数,而m是一个固定的正整数,则当m能够整数a-b时,称a,b 对模m同余,记为a≡b(mod m)例如:5≡2(mod 3)5-2能整除3●模运算性质如果a 与n互素,则存在b使得a ×b ≡ 1(mod n)例如:a=2, n=3 2×2≡1(mod 3) 2×5≡1(mod 3) 注:b不唯一!●欧拉函数φ(n):小于n,但与n互素的正整数的个数。