密码学的数学基础

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

模运算和同余
模运算和同余的性质 性质三:对称性 如果a≡b(mod n),那么b≡a(mod n) 证明:由a≡b(mod n)可得a-b=nk,那么b-a=n(k),所以那么b≡a(mod n)。
模运算和同余
模运算和同余的性质 性质四:传递性 如果a≡b(mod n),b≡c(mod n),那么a≡c(mod n)
举例说明欧几里德算法 例:计算gcd(482பைடு நூலகம்1180)
取较大数1180为被除数,较小数482为除数,做除法 1180=2〓482+216 原来的除数482作为被除数,余数216作为除数,继续 482=2〓216+50 216=4〓50+16 最后一个非零的余数即 50=3〓16+2 为所求最大公约数 16=8〓2+0
模运算和同余
同余的加法消去律 如果(a+b)≡(a+c)(mod n),那么b≡c(mod n) 举例: (5+23)≡(5+7)(mod 8),那么23≡7(mod 8)
模运算和同余
同余的乘法消去律 设整数a,b,c,n(n≠0),且gcd(a,n)=1,如果 ab≡ac(mod n),那么b≡c(mod n)。 举例:
证明:记a-b=nk,b-c=nl,那么两式相减得ac=n(k-l),所以a≡c(mod n)。
模运算和同余
模运算和同余的性质 性质五:如果m|(a-b),则a≡b(mod m) 证明:由已知条件可得a-b=km,k为某一整数; 进而可得a=b+km,故a(mod m)=(b+km)除以m的余 数=b除以m的余数=b(mod m),由同余的第二个定 义可以得证。
扩展的欧几里德算法
关于ax+by=d
求解ax+by=1可使用扩展的欧几里德算法。
扩展的欧几里德算法不仅能确定两个正整数的最大 公约数,如果这两个数互素,还能确定他们各自的 乘法逆元素。
[11(mod 8)-15(mod 8)](mod 8)=(3-7)(mod 8)=4
=(11-15)(mod 8)=-4(mod 8)=4
模运算和同余
模运算的乘法的结合律 [a(mod n)〓b(mod n)](mod n)=(a〓b)(mod n) 举例: [11(mod 8)〓15(mod 8)](mod 8)=(3〓7)(mod 8)=21(mod 8)=5 =(11〓15)(mod 8)=165(mod 8)=5
5x≡7(mod 11),此处涉及乘法逆元素,一种可行 的方法是试探所有的7,18,29,40,51……直到有能 被5整除的为止。
本章授课提纲
(1)模运算和同余 (2)乘法逆元素 (3)扩展的欧几里德算法
乘法逆元素
乘法逆元素的引入 仿射密码解密时,需由加密函数 y=9x+2(mod 26)中反解出x,x=(1/9)(y-2)(mod 26) 1/9就表示在模26的条件下,9的乘法逆元素,换句 话说,就是:要求在0,1,2,3,4,…,25找一个数,这 个数和9相乘再取模26运算,结果为1。
素数
素数的定义 如果整数p(p>1)只能被1或者是它本身整除,而不 能够被其它整数整除,则称整数p为素数(质数)。 最小的素数是2,1不是素数。
大于1的整数如果不是素数,则称为合数。
素数
素数有多少个呢? ——素数有无穷多个! 素数定理给出一种估计素数个数的方法: 设π(x)是小于x的素数的个数,则
欧几里德算法
欧几里德算法的精确描述 两个整数用a,b表示,商用q表示,余数用r表示 Step1 取a,b较大者为a,较小者为b Step2 做除法,计算并保留余数r=mod(a,b) Step3 将原来的除数改做被除数,余数作为除数 a=b,b=r 重复Step1和Step2直到r=0,返回b
练习
本章授课提纲
(1)整除
(2)素数
(3)最大公约数 (4)欧几里德算法
素数
什么是素数? 素数是这样一种数:比1大,其因子只有1和它本 身,没有其它数可以整除它。 2是一个素数,其它的素数诸如73,2521, 2365347734339和2756839-1等。 密码学,特别是公开密钥密码常用大的素数(512 位甚至更长)。
乘法逆元素
乘法逆元素的一般提法 寻找一个x,使得1=(a〓x)(mod n) 写成另一种形式,即 a-1≡x(mod n)
解决乘法逆元素很困难,有时候有一个方案,有时 候没有。例如2模14的乘法逆元素就不存在,5模14 的乘法逆元素是3。
乘法逆元素
乘法逆元素的定义 假设gcd(a,n)=1,则存在整数,使得as≡1(mod n), 即s是a(mod n)的乘法逆元素。
密码学的数学基础
本章授课提纲
(1)整除、素数、最大公约数,欧几里德算法 (2)模运算、同余、乘法逆元素、扩展的欧几里 德算法 (3)中国剩余定理、费马小定理、欧拉定理
(4)模的幂、模n逆矩阵、模n平方根
(5)有限域理论
(6)素数判定和因数分解
本章授课提纲
(1)整除、素数、最大公约数,欧几里德算法 (2)模运算、同余、乘法逆元素、扩展的欧几里 德算法 (3)中国剩余定理、费马小定理、欧拉定理
模运算和同余
模运算和同余的性质 性质六:设整数a,b,c,d,n(n≠0),假设 a≡b(mod n),且c≡d(mod n),那么a+c≡b+d(mod n), a-c≡b-d(mod n), ac≡bd(mod n)。 证明:设存在整数k和l,使得a=b+nk,c=d+nl,那 么a+c=b+d+n(k+l), a-c=b-d+n(k-l), ac=bd+n(dk+bl+nkl),得证。
模运算和同余
模运算的加法和减法 [a(mod n)〒b(mod n)](mod n)=(a〒b)(mod n) 举例:已知11(mod 8)=3;15(mod 8)=7 [11(mod 8)+15(mod 8)](mod 8)=(3+7)(mod 8)=2
=(11+15)(mod 8)=26(mod 8)=2
整除
性质一:对所有整数a(a≠0),a|0和a|a成立;同 理,对任意整数b,1|b成立。 证明:显然成立,证明略
性质二:如果a|b且b|c,则a|c成立。
证明:设存在k和l使得b=ak,c=bl成立,因此 c=(kl)a,所以a|c。
整除
性质三:如果a|b且a|c,则对所有的整数s和t, a|(sb+tc)成立。 证明:设b=ak1,c=ak2,那么sb+tc=a(sk1+tk2), 所以a|c。
本章授课提纲
(1)模运算和同余 (2)乘法逆元素 (3)扩展的欧几里德算法
扩展的欧几里德算法
关于ax+by=d
由欧几里德算法可以得到下面的重要结论
设a和b是两个正整数(至少有一个非零), d=gcd(a,b),则存在整数x和y使得ax+by=d成立,如 果a和b都是素数,那么存在整数x和y使得ax+by=1成 立。此时可以求出ax≡1(mod b)中的x。
(5)有限域理论
(6)素数判定和因数分解
本讲授课提纲
(1)模运算和同余 (2)乘法逆元素 (3)扩展的欧几里德算法
本讲授课提纲
(1)模运算和同余 (2)乘法逆元素 (3)扩展的欧几里德算法
模运算和同余
模运算 a(mod n)的运算给出了a对模数n的余数,这种运 算称为模运算(modular reduction)。 从0到n-1的整数组成的集合构成了模n的完全剩 余集,这意味着,对于每一个整数a,它的模n的 余项是从0到n-1的某个数。
(4)模的幂、模n逆矩阵、模n平方根
(5)有限域理论
(6)素数判定和因数分解
本章授课提纲
(1)整除
(2)素数
(3)最大公约数 (4)欧几里德算法
本章授课提纲
(1)整除
(2)素数
(3)最大公约数 (4)欧几里德算法
整除
定义:设整数a和b,且a≠0,如果存在整数k使得 b=ak,那么就说b能被a整除,记做a|b,或者说b 是a的倍数。 举例:3|6,-15|60
欧几里德算法
举例说明欧几里德算法 例:计算gcd(12345,11111)
取较大数12345为被除数,较小数11111为除数,做除法 12345=1〓11111+1234 原来的除数11111作为被除数,余数1234作为除数,继续 11111=9〓1234+5 1234=246〓5+4 最后一个非零的余数即 5=1〓4+1 为所求最大公约数 4=4〓1+0
举例:73(mod 23)=4;27(mod 23)=4;
所以 73≡27(mod 23)
模运算和同余
模运算和同余的性质 性质一:当且仅当n|a,a≡0(mod n) 证明:a≡0(mod n)意味着a=a-0是n的整数倍, 即n|a。
模运算和同余
模运算和同余的性质 性质二:自反性 对任意整数a,有a≡a(mod n) 证明:a-a=0〓n,所以a≡a(mod n)。
用欧几里德算法(辗转相除法)求最大公约数 (1)gcd(1970,1066) (2)gcd(23456,987654)
本章授课提纲
(1)整除、素数、最大公约数,欧几里德算法 (2)模运算、同余、乘法逆元素、扩展的欧几里 德算法 (3)中国剩余定理、费马小定理、欧拉定理
(4)模的幂、模n逆矩阵、模n平方根
5〓3=15≡7(mod 8),5〓11=55≡7(mod 8)
5〓3≡5〓11(mod 8) 3≡11(mod 8)
模运算和同余
模n除法 模n除法主要用乘法消去律和乘法逆元素来解决 举例:解2x+7=3(mod 17) 2x≡3-7≡-4(mod 17),于是有x≡-2≡15(mod 17)
举例:解5x+6=13(mod 11)
最大公约数
求最大公约数的因数分解法 把a和b因素分解,比较每一个素数在a和b因素分 解中的幂的大小,取较小的一个,将所有素数的 幂相乘即可得到gcd。 举例 gcd(1728,135)=gcd(2632,355)=32=9 gcd(253472,22537)=22305071=227=28
本讲授课提纲
欧几里德算法
欧几里德算法的简单描述 欧几里德算法又称“辗转相除法”,其算法可简 单描述如下: 对于两个正整数,取其中较大者为被除数,较小 者为除数,对这两个数做除法运算,得到商和余 数,把除数作为被除数,把余数作为除数,重复 上述过程,直到余数为零,最后一个非零的余数 就是最大公约数。
欧几里德算法
(1)整除
(2)素数
(3)最大公约数 (4)欧几里德算法
欧几里德算法
欧几里德算法的来历 计算两个数最大公约数最容易的方法是欧几里德 算法——因为它不需要因数分解,速度快。欧几 里德在公元前300年所写的Elements一书中描述了 这个算法。这个算法并非由他发明,历史学家相 信在当时也有200年历史(也就是距今已有2500年 历史)。它是幸存到现在最古老的非凡算法,至 今它仍然是完好的。
素数
如何判断一个数是否为素数?
本章授课提纲
(1)整除
(2)素数
(3)最大公约数 (4)欧几里德算法
最大公约数
最大公约数的定义 a和b的最大公约数(Greatest Common Divisor ) 是能够同时整除a和b的最大正整数,记为gcd(a,b) 或者(a,b)。 例如:gcd(6,4)=2,gcd(5,7)=1,gcd(24,60)=12 互素的定义 如果gcd(a,b)=1,就称a和b互素
π(x)≈x/lnx
素数的数量很多
仅100位的素数约有3.9〓1097个
素数
因素分解 每一个整数都是由一个或者几个素数的不同次幂 相乘得来得,比如 504=23〓32〓7
这种因式分解是唯一的,除非颠倒因子的顺序, 也就是说:504因素分解总是得到三个2,两个3, 一个7。
素数
因素分解唯一性定理
任何一个正整数都可以分解为几个素数的乘积, 且该因素分解是唯一的,除非颠倒因子的顺序。 证明略。
模运算和同余
同余 设整数a,b,n(n≠0),如果a-b是n的整数倍(正 的或负的),我们就说“a与b模n同余”,记做 a≡b(mod n)。有时,b被叫做a模n的余数。 另一种描述:如果a与b的差能被n整除,就说 a≡b(mod n),即存在非零整数k,使得a=b+nk。
模运算和同余
同余和模运算的关系 同余的另一种定义:如果a(mod n)=b(mod n), 则称a和b模n同余,记做a≡b(mod n)。 a(mod n)=b(mod n) a≡b(mod n)
相关文档
最新文档