1 / 224

第一讲 密码学基础

信息安全的含义 通信保密 ( COMSEC):60-70 年代 信息保密 信息安全 ( INFOSEC):80-90 年代 机密性、完整性、可用性、不可否认性等 信息保障 ( IA):90 年代- (80-90 年代 ) • 信息安全的三个基本方面 – 保密性 Confidentiality 即保证信息为授权者享用而不泄漏给未经授权者。 – 完整性 Integrity • 数据完整性,未被未授权篡改或者损坏 • 系统完整性,系统未被非授权操纵,按既定的功能运行 – 可用性 Availability

abiba
Download Presentation

第一讲 密码学基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 信息安全的含义 通信保密(COMSEC):60-70年代 信息保密 信息安全(INFOSEC):80-90年代 机密性、完整性、可用性、不可否认性等 信息保障(IA):90年代- (80-90年代) • 信息安全的三个基本方面 – 保密性Confidentiality 即保证信息为授权者享用而不泄漏给未经授权者。 – 完整性Integrity • 数据完整性,未被未授权篡改或者损坏 • 系统完整性,系统未被非授权操纵,按既定的功能运行 – 可用性Availability 即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况。 第一讲 密码学基础

  2. 信息安全的其它方面 – 信息的不可否认性Non-repudiation : 要求无论发送方还是接收方都不能抵赖所进行的传输。 – 鉴别Authentication 鉴别就是确认实体是它所声明的。适用于用户、进程、系统、信息等。 –审计Accountability确保实体的活动可被跟踪。 – 可靠性Reliability 特定行为和结果的一致性。

  3. 1 基础知识 1.1专业术语 1. 计算机安全:把设计用来保护数据、阻挡黑客的工具集合称为计算机安全. 违反安全性的例子: (1)用户A传输一个文件到用户B,该文件包含了敏感的数据,这样数据必须加以保护以防泄密。没有被授权读取该文件的用户C可以能监视该传输过程,并在传输过程中截取了该副本。(机密性) (2)某网络管理员D在其管理下向一台计算机E传输一条消息,该消息指示计算机E更新一个授权文件,该文件包含了能够访问该计算机的一些新用户标识符。用户F中途截取了该消息,并且增加和删除一些项从而改变了该消息,然后将该消息转发给E。计算机E以为该消息是从管理者D接收的,因而更新了这个授权文件。(完整性)

  4. (3)用户F并没有中途阻止某消息,用户F构造了具有它自己希望内容的消息,并将该消息传输给E,好象该消息来自于管理员D。计算机E接收了以为来自于管理者D的消息并更新了它的授权文件。(鉴别性)(3)用户F并没有中途阻止某消息,用户F构造了具有它自己希望内容的消息,并将该消息传输给E,好象该消息来自于管理员D。计算机E接收了以为来自于管理者D的消息并更新了它的授权文件。(鉴别性) (4)一个客户向一个股标代理商发出带有多个交易指示的消息。随后,该投资跌值,而该客户不承认发送了该消息。(抗抵赖性)

  5. 2. 消息和加密 消息(message)被称为明文(plaintext). 加密(encryption)用某种方法伪装消息以隐藏它的内容过程称为加密。 被加密的消息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption) 原始明文 解密 密文 明文 加密

  6. 密码编码学:使信息保密的技术和科学叫密码编码学(cryptography)。从事此行的叫密码编码者,密码分析者是从事密码分析的专业人员;密码分析学(cryptanalysis)就是破译密文的科学与技术,即揭穿伪装。密码编码学:使信息保密的技术和科学叫密码编码学(cryptography)。从事此行的叫密码编码者,密码分析者是从事密码分析的专业人员;密码分析学(cryptanalysis)就是破译密文的科学与技术,即揭穿伪装。 明文用M表示,它可能是位序列、文本文件、位图、数字化的语音序列或数字化的视频图像等。对于计算机,M指简单的二进制数据 密文用C表示,它亦是二进制数据。 加密函数E作用于M得到密文C可用数学公式表示: E(M)=C 解密函数D作用于C产生M: D(C)=M 先加密后解密,原始明文将恢复,故有 D(E(M))=M

  7. 3.鉴别、完整性和抗抵赖性 鉴别(authentication)消息的接受者应该能够确认消息的来源;入侵者不可能伪装成他人。 完整性(integrity):消息的接受者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法的消息。 抗抵赖性(nonrepudiation):发送者事后不可能虚假地否认他发送的消息。 4.算法和密钥 密码算法(algorithm)亦叫密码(cipher),是用于加密和解密的数学函数。通常情况下有两个相关的函数:一个用作加密,一个用作解密。

  8. 如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。 现代密码学用密钥解决问题,密钥用K表示。K可以是很多值里的任意值。 密钥K的可能值的范围叫做密钥空间(keyspace)。 如加密和解密都用一个密钥,加/解密函数变成: EK(M)=C DK(C)=M DK(EK(M))=M

  9. 密码系统:由算法以及所有可能的明文、密文和密钥组成的。密码系统:由算法以及所有可能的明文、密文和密钥组成的。

  10. 对称算法(symmetric algorithm)有时叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来亦成立。在大多数对称算法中,加/解密密钥是相同的。这些算法亦叫秘密密钥算法或单密钥算法,它要求发送者和接受者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥。只要通信需要保密,密钥就必须保密。 对称算法的加密和解密表示为:EK(M)=C DK(C)=M 公开密钥算法 公开密钥算法(public-key algorithm)亦称为非对称算法:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的时间内)。之所以叫公开密钥算法是因为加密密钥能够公开。加密密钥叫公开密钥,解密密钥叫私人密钥。 5.对称算法 基于密钥的算法通常分为两类:对称算法和公开密钥算法。

  11. 密码算法分类(1) • 按照保密的内容分: 􀂾 受限制的(restricted)算法:算法的保密性基于保持算法的秘密。 􀂾 基于密钥(key-based)的算法:算法的保密性基于对密钥的保密。 密码算法分类(2) • 基于密钥的算法,按照密钥的特点分类: 􀂾 对称密码算法(symmetric cipher):又称传统密码算法(conventional cipher),就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一 个。又称秘密密钥算法或单密钥算法。 􀂾 非对称密钥算法(asymmetric cipher):加密密钥和解密密钥不相同,从一个 很难推出另一个。又称公开密钥算法(public-key cipher) 。• 公开密钥算法用一 个密钥进行加密, 而用另一个进行解密.其中的加密密钥可以公开,又称公开密钥 (publickey),简称公钥.解密密钥必须保密,又称私人密钥(private key)私钥.简 称私钥。 按照明文的处理方法: 􀂾 分组密码(block cipher):将明文分成固定长度的组,用同一密钥和算法 对每一块加密,输出也是固定长度的密文。 􀂾 流密码(stream cipher):又称序列密码.序列密码每次加密一位或一字节 的明文,也可以称为流密码。 序列密码是手工和机械密码时代的主流

  12. 对称密钥密码又可分为: 􀂾 分组密码:每次对一块数据加密,多数网络加密应用 DES,IDEA,RC6, 􀂾 流密码:每次对一位或一字节加密 手机 One-time padding 公开密钥密码: 􀂾 大部分是分组密码,只有概率密码体制属于流密码。 每次对一块数据加密 数字签名,身份认证 RSA,ECC,ElGamal 加密解密速度慢

  13. 7.密码分析 密码编码学的目的是保持明文(或密钥、明文和密钥)的秘密以防止偷听者(对手、攻击者、入侵者)知道。 密码分析学是在不知道密码的情况下,恢复明文的科学。 对密码进行分析的尝试称为攻击。常用的密码分析攻击有四类: (1)唯密文攻击:密码分析者有一些消息的密文,这些消息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密消息密钥来,以便能采用相同密钥解出其它被加密的信息。 (2)已知明文攻击:密码分析者不仅可得到一些消息的密文,而且可以知道这些消息的明文。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法可以对用同一密钥加密的任何信息进行解密。

  14. (3)选择明文攻击:分析者不仅可得到一些消息的密文和相应的明文,而且他们亦可选择被加密的明文。(3)选择明文攻击:分析者不仅可得到一些消息的密文和相应的明文,而且他们亦可选择被加密的明文。 (4)自适应密文攻击:这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的明文,而且亦能基于以前加密的结果修正这个选择。 8.算法的安全性 如果破译算法的代价大于加密数据价值,那么你是安全的。如果破译算法所需的时间比加密数据保密的时间长,那么你可能是安全的。

  15. 1.2 隐写术 隐写术是将秘密消息隐藏在其他消息中,这样真正存在的信息被隐藏了。如发表一篇无关紧要的文章等。最近人们在图像中隐藏秘密的消息,用图像的每个字节的最不重要的位代替消息位,图像并没有发生多大的改变。 1.3 代替密码和换位密码 1.代替密码 (1)代替密码:就是明文中每一个字符被替换成密文中的另外一个字符。对密文进行替换就恢复出明文。简单代替密码,或单字母密码:就是用明文的一个字符用相应的一个密文字符代替。 (2)多名码代替密码:它与简单代替密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个符之一,例如,A可能对应5、13、35等。 多字符代替密码:字符块被成组加密,例如,ABA可能对应于RTQ,ABB可能对应于SLL等。 (3)多表代替密码:由多个简单的代替密码构成。

  16. 2.换位密码 在换位密码中,明文的字母保持相同,但顺序被打乱了。 例如: 明文: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST IT’S EXPENSIVE C O M P U T E R G R A PHIC S M A Y B E S L O W B U T A T L E A STI T S E X P E N S IV E 密文:CAELP OPSEE MHLAN PIOSS UCWTI TSBIV EMUTE RATS GYAE RBTX 1.4 一次一密乱码本 一次一密乱码本是一个大的不重复的真陈述随机字母集,这个密钥字母集被写在纸上,并被粘成一个乱码本。发送者用乱码本中的每个密钥字母准确地加密一个明文字符。加密是用明文字符和一次一密乱码本密钥字符的模26加法。

  17. 每个密钥仅对一个消息使用一次。发送者对所发送的消息加密,然后销毁乱码本中用过的一页或磁带部份。接受者有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符。接受者在解密后销毁乱码本中已用过的一页或磁带部份。新的消息则用乱码本中新的密钥加密。每个密钥仅对一个消息使用一次。发送者对所发送的消息加密,然后销毁乱码本中用过的一页或磁带部份。接受者有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符。接受者在解密后销毁乱码本中已用过的一页或磁带部份。新的消息则用乱码本中新的密钥加密。 例如:如果消息是: ONETIMEPAD 而取自于乱码本的密钥序列是: TBFRGFARFM 那么密文就是: IPKLPSFHGQ 因为: O+T MOD 26=I N+B MOD 26=P E+F MOD 26=K ………………

  18. 1.5 计算机算法 计算机密码算法有多种,最通用有以下三种: (1)DES(data encryption standard,数据加密标准)是 最 通用的计算机加密算法。DES是国际标准,它是对称算 法,加密和解密的密钥是相同的。 (2)RSA(Ron Rivest、Adi Shamir、Len Adleman)算法 是最流行的公开密钥算法,它用作加密和数字签名。 (3) DSA(digital signature algorithm,数字签名算法,用作 数 字签名的一部份)是另一种公开密钥算法,它不能用作加 密,只用作数字签名。

  19. 1.6 密码的分类 从不同的角度根据不同的标准,可以把密码分成若干类。 一、按应用技术或历史发展阶段划分: 1、手工密码。以手工完成加密作业,或者以简单器具辅助操作的密码,叫作手工密码。第一次世界大战前主要是这种作业形式。 2、机械密码。以机械密码机或电动密码机来完成加解密作业的密码,叫作机械密码。这种密码从第一次世界大战出现到第二次世界大战中得到普遍应用。 3、电子机内乱密码。通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素生产大量的加密乱数,因为其制乱是在加解密过程中完成的而不需预先制作,所以称为电子机内乱密码。从五十年代末期出现到七十年代广泛应用。 4、计算机密码,是以计算机软件编程进行算法加密为特点,适用于计算机数据保护和网络通讯等广泛用途的密码。

  20. 二、按保密程度划分 1、理论上保密的密码 不管获取多少密文和有多大的计算能力,对明文始终不能得到唯一解的密码,叫作理论上保密的密码。也叫理论不可破的密码。如随机一次一密的密码就属于这种。 2、实际上保密的密码 在理论上可破,但在现有客观条件下,无法通过计算来确定唯一解的密码,叫作实际上保密的密码。 3、不保密的密码 在获取一定数量的密文后可以得到唯一解的密码,叫作不保密密码。如早期单表代替密码,后来的多表代替密码,以及明文加少量密钥等密码,现在都成为不保密的密码。 三、按密钥方式划分 1、对称式密码 收发双方使用相同密钥的密码,叫作对称式密码。传统的密码都属此类。 2、非对称式密码 收发双方使用不同密钥的密码,叫作非对称式密码。如现代密码中的公共密钥密码就属此类。

  21. 四、按明文形态 1、模拟型密码 用以加密模拟信息。如对动态范围之内,连续变化的语音信号加密的密码,叫作模拟式密码。 2、数字型密码 用于加密数字信息。对两个离散电平构成0、1二进制关系的电报信息加密的密码叫作数字型密码。 五、近代加密技术 1. 数据加密标准(DES)是美国经长时间征集和筛选后,于1977年由美国国家标准局颁布的一种加密算法。它主要用于民用敏感信息的加密,后来被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密. DES主要的应用范围有: (1)计算机网络通信:对计算机网络通信中的数据提供保护是DES的一项重要应用。但这些被保护的数据一般只限于民用敏感信息,即不在政府确定的保密范围之内的信息。

  22. (2)电子资金传送系统:采用DES的方法加密电子资金传送系统中的信息,可准确、快速地传送数据,并可较好地解决信息安全的问题。 (3)保护用户文件:用户可自选密钥对重要文件加密,防止未授权用户窃密。 (4)用户识别:DES还可用于计算机用户识别系统中。 2.国际数据加密算法IDEA是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强,这种算法是在DES算法的基础上发展出来的,类似于三重DES.

  23. 3. 公开密钥密码体制 传统的加密方法是加密、解密使用同样的密钥,由发送者和接收者分别保存,在加密和解密时使用,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。在网络通信中,大量密钥的分配是一个难以解决的问题。 例如,若系统中有n个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握(n-1)个密钥,而系统中所需的密钥总数为n*(n-1)/2 个。对10个用户的情况,每个用户必须有9个密钥,系统中密钥的总数为45个。对100个用户来说,每个用户必须有99个密钥,系统中密钥的总数为4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。

  24. 本世纪70年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出 了一种新的加密方法—公开密钥加 密队PKE方法。与传统的加密 方法不同,该技术采用两个不同的密钥来对信息加密和解密,它 也称为非对称式加密方法。每个用户有一个对外公开的加密密钥 (公钥)和对外保密的解密密钥(私钥)。

  25. 1.7 数字签名的特征 签名是可信的 签名使文件的接受者相信签名者是慎重地在文件上签字的。 签名不可伪造 签名证明是签名者而不是其它人慎重地在文件上签字。 签名不可重用 签名是文件的一部分,不法之徒不可能将和签名移到不同的文件上。 签名的文件是不可改变的 在文件答名后,文件不能改变。 签名是不可抵赖的 签名和文件是物理的东西。签名者事后不能称他没有签名。

  26. 第二讲数学背景 一、信息论 1.熵和不确定性 信息论定义一条消息的信息量如下:假设所有消息是等可能的,对消息中所有可能的值进行编码所需要的最小位数。如数据库中有关“一周中的每一天”这一字段包含不超过3位的信息,因此此消息可以用3位进行编码: 000=星期日…… 110=星期六 111是未用的 一条消息M的信息量可通过它的熵(entropy)来度量,表示为H(M)。一条表示性别的熵为1位,一条表示一周的天数的消息的熵略小于3位。通常一条消息的熵是log2n,其中n是消息所有可能的值。 一条消息的熵亦表示了它的不确定性(uncertainty),即当消息被加密成密文时,为了获取明文,需要解密的明文的位数。例职关于性别消息的不确定性是1。

  27. 2.混乱与扩散 混乱(confusion)用于掩盖明文和密文间的关系。这可以挫败通过研究密文以获取冗余度和统计模式的企图。可以通过代替密码实现。 扩散(diffusion)通过将明文冗余度分散到密文中使之分散开来。密码分析者寻求这些冗余度将会更难。产生扩散的方法是通过换位(亦称置换) 分组密码算法即用到扩散又用到混乱。 二、复杂性理论 1.算法的复杂性 一个算法的复杂性即运行它所需的计算能力。算法的计算复杂性常常用两个变量度量: T(时间复杂性(time complexity))和S(空间复杂性(space complexity)或所需存储空间),T和S通常表示为n的函数。

  28. O(1):算法的复杂性不依赖于n,它是常数的。O(1):算法的复杂性不依赖于n,它是常数的。 O(n):线性的。 O(nm):其中m为一常数。有些算法是二次方、三次方的等。所有这些算法都是多项式的。 具有多项式时间复杂性的算法称为多项式时间(polynomial-time)算法。 O(tf(n)):指数的。 2.问题的复杂性 图灵机的理论计算机上解决最难的问题实例所需要的最少时间和空间。 图灵机是一种无限读写存储带的有限状态机。 能够用多项式时间算法解决的问题称之为易处理的(tractable),因为它们能够用适当的输入尺寸,在适当的时间开销内解决。 不能在多项式时间内解决的问题称之为难处理的(intractable)

  29. 问题可分为:P NP(NP完全)PSPACE(PSPACE完全) EXPTIME P类问题是指所有能用多项式时间解决的问题. NP问题是所有在非确定型图灵机上可用多项式时间解决的问题.非确定型图灵机是标准图灵机的变形,它能进行猜测.此机器通过幸运猜测或平行尝试猜测所有可能的问题的解,然后在多项式时间内检查它的猜测. 3. NP完全问题 旅行商问题:一名旅行商必须到n个不同的城市,而它仅有一箱汽油.有方法使它仅用一箱汽油而旅行到每个城市恰好一次吗?(Himilton问题) 背包问题(knapsack),又称子集合问题(subset sum)属于NP问题。

  30. 4.严格单向函数 • 一个单射函数f: X→ Y称为是严格单向函数,如果下述条件成立: 存在一个有效的方法,对所有的x∈X可计算f(x),但不存在一个有效的办法由y= f(x)计算x,所有的y∈Y • 严格单向函数是不能用于加解密的,对于严格单向函数的存在,现无法证明

  31. 三、数论 1、模运算 例:如果TOM说10:00他回家,而他迟到了13个小时,那么他什么时间回家。这是一个模12运算,23模12等11,记为: 23 MOD 12=11 MOD 12=11 另一种写法认为23和11的模12运算相等: 2311(MOD 12) 一般表示为:a=b+kn,即:ab(mod n) 称a和b同余 2.素数 密码学特别是公开密钥密码学常用大的素数(512位长或更长)

  32. (1)最大公因子 两个数互素是指当它们除了1之外没有共同的公因子。计算最大公因子算法为欧机里德算法: int gcd(int x,int y) { int g; if(x<0) x=-x; if(y<0) y=-y; if(x+y==0) return error; g=y; while(x>0){ g=x; x=y%x; y=g; } return;}

  33. (2) 求模逆元 逆元的概念 模逆元:4x1(mod 7) 这个方程等价于寻找一个x和k使得: 4x=7k+1 x,k均为整数。 更一般的问题是寻找一个x,使得:1=(ax)mod n 亦可写作: a-1x(mod n) 5模14有逆元是3,2模14没有逆元。 一般而论。如果a和n互素的,那么a-1x(mod n)有唯一解; 如果a和n不是互素的,那么a-1x(mod n)没有解,如果n是一个素数,那么从1到n-1的每个数与n都互素的,且在这个范围内恰好有一个逆元。 求a 模n的逆元的扩展欧几里德算法。

  34. 3 费尔马小定理 如果m是一个素数,且a不是m的倍数,那么,根据费尔马小定理有: am-11(mod m) 4 欧拉函数 欧拉函数,亦称为欧拉函数,写作(n),它表示模n的余数化间集中元素的数目。换句话说,(n)表示与n互素的小于n的正整数的数目(n>1)。 如果n是素数,那么(n)=n-1; 如果n=pq,且p,q互素,那么(n)=(p-1)(q-1) 这些数字在随后的公开密钥中经常用到。 根据费尔马小定理的欧拉推广,如果gcd(a,n)=1 ,那么 a(n)mod n=1 现在计算a模n逆元很容易:x= a(n)-1mod n 例如求5模7的逆元是多少?既然7是素数,(7)=7-1=6,因此5模7的逆元是 56-1mod 7=3

  35. 5.中国剩余定理 如果已知n的素因子,那么就利用中国剩余定理求解整个方程组。 一般而言,如果n的素因子分解为n=p1x p2x p3…xpt,那么方程组(x mod pi)= ai有唯一的解,x小于n(注意一些素数可能不止一次出现)换句话说,一个数(小于一些素数之积)被它的余数模这些素数唯一地确定。 例如:取素数3和5,取一个数14,那么14mod 3=2,14 mod 5=4,则小于15且有上述余数的数只有14,即由这两个余数唯一地确定数14

  36. 如果对于任何a<p,b<q(p,q都是素数),那么当x小于pxq时,存在唯一一个x使得:如果对于任何a<p,b<q(p,q都是素数),那么当x小于pxq时,存在唯一一个x使得: xa(mod p)且xb(mod q) 为求这个数先用欧几里德算法找到u,使得: uxq=1(mod p) 然后计算: x=(((a-b)xu)mod p)xq+b 例:p=5,q=3 a=4,b=2 u=7 x=14 6.有限域上的离散对数 模指数运算是频繁用于密码学中的另一个单向函数。 计算下列表达式很容易 ax mod n 模指数运算的逆问题是找出一个数的离散对数,这是个难题: 求解x,使得axb(mod n) 例如:3x15 mod 17,那么x=6,不是所有的离散对数都有解。3x7 mod 13无解。

  37. 7.单向散列函数 单向散列函数H(M)作用于任意长度的消息M,它返回一固定长度的散列值h: h=H(M) 其中h的长度为m 输入任意长度且输出为固定长度的函数有多种,但单向散列函数还具有使其单向的如下特征: 。给定M,很容易计算h 。给定h,根据H(M) =h计算M很难 。给定M,要找到另一个消息M’并满足H(M)=H(M’)很难 在一些其它的应用中,仅有单向性是不够的,还需要称之为抗碰撞的条件: 要找出两个随机的消息M和M’来满足H(M)=H(M’)满足很难

  38. 8.因子分解 对一个数进行因子分解就是找出它的素因子 10=2*5 60=2*2*3*5 252601=41*61*101 目前最好的因子分解算法是: 。数域筛选法(number field sieve,NFS) 。二次筛选法 。椭园曲线法 。Pollard的蒙特卡罗算法 。连分式算法 。试除法

  39. 9.生成元 如果p是一个素数,且g小于p,对于从0到p-1的每一个b,都存在某个a,使得gab(mod p),那么g是模p的生成元(generator)。另一种称法称g是p的本原元(primitive)。 例如,如果p=11,2是模11的一个生成元 210=10241(mod 11) 21=22(mod 11) 28=2563(mod 11) 22=44(mod 11) 24=165(mod 11) 29=5126(mod 11) 27=1287(mod 11) 23=88(mod 11) 26=649(mod 11) 25=3210(mod 11)

  40. 10.二次剩余 如果p是素数,且a小于p,如果 x2a(mod p),对一些x成立,那么称a是对模p的二次剩余(quadratic residue)。 不是所有的a的值都满足这个特性。如果a是对模n的一个二次剩余,那么它必定是对模n的所有素因子的二次剩余。如:p=7,二次剩余是1,2,4: 12=11(mod 7) 22=44(mod 7) 32=92(mod 7) 42=162(mod 7) 52=254(mod 7) 62=361(mod 7) 没有x值可满足下列这些方程的任意一个: x23(mod 7) x25(mod 7) x26(mod 7) 所以3,5,6是对模7的二次非剩余。

  41. 11.有限域 一个元素个数有限的域称为有限域,或者伽罗华域(Galois field) 。 有限域中元素的个数为一个素数,或者一个素数的幂, 记为GF(P)或GF(pn),其中P为素数。 • 有限域中运算满足交换律、结合律、和分配律。 • 加法的单位元是0,乘法的单位元是1,每个非零元素都有一个唯一的乘法逆元。 • 密码学中用到很多有限域中的运算,因为可以保持数在 有限的范围内,且不会有取整的误差。 – GF(p) – GF(2n) Galois Fields GF(p) • GF(p) 是整数集合{0,1, … , p-1}具有模素数p的运算

  42. 12.多项式运算 • 一元多项式x,多项式运算可分为三种: – 使用代数基本规则的普通多项式运算 – 系数运算是模p运算的多项式运算,即系数在Zp中 – 系数在Zp中,且多项式被定义为模一个n次多项式m(x)的多项式运算

  43. 第三讲密码协议

More Related