信息安全数学基础课件 第7章 素性检测

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

7.1

拟素数

7.2 素性检测

7.3 Euler拟素数

第7章素性检测

2019/6/2计算机科学与技术学院1

2019/6/2计算机科学与技术学院2

定义1设n是一个奇合数.如果整数b, (b,n)=1,使得同余式b n-1=1 (mod n) 成立,则n叫做对于基b的拟素数.

2340=1 mod 341, 2560=1 mod 561, 2644=1 mod 645, 2019/6/2计算机科学与技术学院3

2019/6/2计算机科学与技术学院4

2019/6/2计算机科学与技术学院5

2019/6/2计算机科学与技术学院6

7.1 拟素数

7.2 素性检测

7.3 Euler拟素数

第7章素性检测

2019/6/2计算机科学与技术学院7

生成大素数:素性检测

•随机生成一个大奇数

•然后检验它是否是素数

•需要检验多少个随机整数?

–一般每ln n个整数有一个素数

•对于一个512 bit的n, ln n = 355. 平均需要检

测大约177=355/2个奇数

•需要解决素性检验问题

8

•欧拉定理: 若a和n互素,则a (n) 1 mod n

•费马小定理:设p是素数, 由于对任意的a(0

a p-1 1 mod p

9

•Miller-Rabin算法(费马测试)

•n 是素数 a n-1 1 mod n

•n-1=2k m且a n-1=((a m)2)2…

–a m 1 mod n a n-1 1 mod n

–((a m)2)2 … 1 mod n a n-1 1 mod n

10

Miller-Rabin 检验

•确定一个给定的数n是否是素数

–n-1 = 2k m, (m 是奇数)

–选择随机整数a, 1 a n-1

–b ← a m mod n

–若b=1,则返回“n 是素数”

–计算b, b2,b4,…,b2^(k-1) mod n, 若发现 1,返回

“n 是素数”

–返回“n 是合数”

11

Why Rabin-Miller Test Work?

•声明:若输出“n 是合数”, 则n一定不是素数

•Proof:if we choose a number n and returns composite

–Then a m 1, a m -1, a2m -1, a4m -1, …, a2^{k-1}m -1 (mod n)–Suppose n is prime,

–Then a n-1=a2^{k}m=1 (mod n)

–There are two square roots modulo n: 1 and -1 a2^{k-1}m

= 1 (mod n)

–There are two square roots modulo n: 1 and -1 a2^{k-2}m

= 1 (mod n)

–…

–Then a m= 1 (contradiction!)

–因此若n是素数, 算法不将输出“合数”

12

偏“是”

•Bias to YES

–如果n是素数,那么Rabin-Miller 检测一定返回

“素数”

–但a n-1 1 mod n 不能证明n 是素数

–合数以1/4的概率通过检测

–我们可以检验多次来减少错误概率!

•但是有一些非素数!

–Carmichael 数: 561, 1105, …

13

Carmichael 数

2019/6/2计算机科学与技术学院14

7.1 拟素数

7.2 素性检测

7.3 Euler拟素数

第7章素性检测

2019/6/2计算机科学与技术学院15

2019/6/2计算机科学与技术学院20

7.3 Euler拟素数

2019/6/2计算机科学与技术学院21

第7章素性检测

7.1 拟素数

7.2 素性检测

7.3 Euler拟素数

2019/6/2计算机科学与技术学院22

相关文档
最新文档