密码学中的数论基础.ppt

上传人:b****3 文档编号:2743982 上传时间:2022-11-10 格式:PPT 页数:111 大小:645KB
下载 相关 举报
密码学中的数论基础.ppt_第1页
第1页 / 共111页
密码学中的数论基础.ppt_第2页
第2页 / 共111页
密码学中的数论基础.ppt_第3页
第3页 / 共111页
密码学中的数论基础.ppt_第4页
第4页 / 共111页
密码学中的数论基础.ppt_第5页
第5页 / 共111页
点击查看更多>>
下载资源
资源描述

密码学中的数论基础.ppt

《密码学中的数论基础.ppt》由会员分享,可在线阅读,更多相关《密码学中的数论基础.ppt(111页珍藏版)》请在冰豆网上搜索。

密码学中的数论基础.ppt

数论是密码学特别是公钥密码学的基本工具。

数论概念:

研究“离散数字集合”运算是“+”,“”例:

整数:

5+9=14;53=5+5+5=15多项式:

x2+1+x=x2+x+1;xx2+1=x3+x1.数论简介运算概念运算:

模数运算模多项式运算进一步运算:

指数运算,逆运算整除对整数b!

=0及a,如果存在整数如果存在整数m使得a=mb,称b整除a,也称b是a的因子记作b|a例1,2,3,4,6,8,12,24整除241.因子:

设a,b(b0)是两个整数,如果存在另一整数m,使得a=mb,则称b整除a,记为b|a,且称b是a的因子因子。

1.1素数和互素数整数具有以下性质:

a|1,那么a=1。

a|b且b|a,则a=b。

对任一b(b0),b|0。

b|g,b|h则对任意整数m、n有b|(mg+nh)。

1.1素数和互素数这里只给出的证明,其他3个性质的证明都很简单。

性质的证明:

由b|g,b|h知,存在整数g1、h1,使得g=bg1,h=bh1所以mg+nh=mbg1+nbh1=b(mg1+nh1),因此b|(mg+nh)。

1.1素数和互素数2.素数:

称整数p(p1)是素数素数,如果p的因子只有1,p。

任一整数a(a1)都能惟一地分解为以下形式:

其中p1p2pt是素数,ai0(i=1,t)。

例如91=711,11011=7112131.1素数和互素数这一性质称为整数分解的惟一性,也可如下陈述:

设P是所有素数集合,则任意整数a(a1)都能惟一地写成以下形式:

其中ap0,等号右边的乘积项取所有的素数,然而大多指数项ap为0。

相应地,任一正整数也可由非0指数列表表示。

例如:

11011可表示为a7=1,a11=2,a13=1。

两数相乘等价于对应的指数相加,即由k=mn可得:

对每一素数p,kp=mp+np。

而由a|b可得:

对每一素数p,apbp。

这是因为pk只能被pj(jk)整除。

1.1素数和互素数3.互素数称c是两个整数a、b的最大公因子,如果c是a的因子也是b的因子,即c是a、b的公因子。

a和b的任一公因子,也是c的因子。

表示为c=gcd(a,b)。

1.1素数和互素数由于要求最大公因子为正,所以gcd(a,b)=gcd(a,-b)=gcd(-a,b)=gcd(-a,-b)。

一般gcd(a,b)=gcd(|a|,|b|)。

由任一非0整数能整除0,可得gcd(a,0)=|a|。

如果将a,b都表示为素数的乘积,则gcd(a,b)极易确定。

例如:

300=223152;18=2132gcd(18,300)=213150=6一般由c=gcd(a,b)可得:

对每一素数p,cp=min(ap,bp)。

1.1素数和互素数由于确定大数的素因子不很容易,所以这种方法不能直接用于求两个大数的最大公因子,如何求两个大数的最大公因子在下面介绍。

如果gcd(a,b)=1,则称a和b互素互素。

1.1素数和互素数整数互素整数a,b互素是指它们没有除1之外的其它因子8与15互素8的因子1,2,4,815的因子1,3,5,151是唯一的公因子素数与不可约多项式素数:

只有因子1和自身1是一个平凡素数例2,3,5,7是素数,4,6,8,9,10不是素多项式或不可约多项式irreducible:

不可写成其他因式的乘积x2+x=xx+1是非不可约多项式;x3+x+1是不可约多项式一些素数200以内的素数:

2357111317192329313741434753596167717379838997101103107109113127131137139149151157163167173179181191193197199素数分解把整数n写成素数的成绩分解整数要比乘法困难整数n的素数分解是把它写素数的乘积eg:

91=713;3600=243252设n是一正整数,a是整数,如果用n除a,得商为q,余数为r,则a=qn+r,0rn,其中x为小于或等于x的最大整数。

用amodn表示余数r,则。

如果(amodn)=(bmodn),则称两整数a和和b模模n同同余余,记为abmodn。

称与a模n同余的数的全体为a的同余类的同余类,记为a,称a为这个同余类的表示元表示元素素。

注意:

如果a0(modn),则n|a。

1.2模运算同余有以下性质:

若n|(a-b),则abmodn。

(amodn)(bmodn),则abmodn。

abmodn,则bamodn。

abmodn,bcmodn,则acmodn。

从以上性质易知,同余类中的每一元素都可作为这个同余类的表示元素。

1.2模运算求余数运算(简称求余运算)amodn将整数a映射到集合0,1,n-1,称求余运算求余运算在这个集合上的算术运算为模运算模运算,模运算有以下性质:

(amodn)+(bmodn)modn=(a+b)modn。

(amodn)-(bmodn)modn=(a-b)modn。

(amodn)(bmodn)modn=(ab)modn。

1.2模运算性质的证明:

设(amodn)=ra,(bmodn)=rb,则存在整数j、k使得a=jn+ra,b=kn+rb。

因此(a+b)modn=(j+k)n+ra+rbmodn=(ra+rb)modn=(amodn)+(bmodn)modn(证毕)性质、的证明类似。

1.2模运算例:

Z8=0,1,7,考虑Z8上的模加法和模乘法,结果如下表所示。

1.2模运算从加法结果可见,对每一x,都有一y,使得x+y0mod8。

如对2,有6,使得2+60mod8,称y为x的负数,也称为加法逆元。

+01234567001234567112345670223456701334567012445670123556701234667012345770123456对x,若有y,使得xy1mod8,如331mod8,则称y为x的倒数,也称为乘法逆元。

本例可见并非每一x都有乘法逆元。

X01234567000000000101234567202460246303614725404040404505274163606420642707654321一般地,定义Zn为小于n的所有非负整数集合,即Zn=0,1,n-1,称Zn为模为模n的同的同余类余类集合。

其上的模运算有以下性质:

交换律(w+x)modn=(x+w)modn(wx)modn=(xw)modn结合律:

(w+x)+ymodn=w+(x+y)modn(wx)ymodn=w(xy)modn1.2模运算分配律w(x+y)modn=wx+wymodn单位元(0+w)modn=wmodn(1w)modn=wmodn加法逆元对wZn,存在zZn,使得w+z0modn,记z=-w。

1.2模运算此外还有以下性质:

如果(a+b)(a+c)modn,则bcmodn,称为加法的可约律加法的可约律。

该性质可由(a+b)(a+c)modn的两边同加上a的加法逆元得到。

1.2模运算然而类似性质对乘法却不一定成立。

例如63672mod8,但37mod8。

原因是6乘以0到7得到的8个数仅为Z8的一部分,见上例。

即如果将对Z8作6的乘法6Z8(即用6乘Z8中每一数)看作Z8到Z8的映射的话,Z8中至少有两个数映射到同一数,因此该映射为多到一的,所以对6来说,没有惟一的乘法逆元。

但对5来说,551mod8,因此5有乘法逆元5。

仔细观察可见,与8互素的几个数1,3,5,7都有乘法逆元。

这一结论可推广到任一Zn。

1.2模运算定理1设aZn,gcd(a,n)=1,则a在Zn中有乘法逆元。

证明:

首先证明a与Zn中任意两个不相同的数b、c(不妨设cb)相乘,其结果必然不同。

否则设abacmodn,则存在两个整数k1,k2,使得ab=k1n+r,ac=k2n+r,可得a(b-c)=(k1-k2)n,所以a是(k1-k2)n的一个因子。

1.2模运算又由gcd(a,n)=1,得a是k1-k2的一个因子,设k1-k2=k3a,所以a(b-c)=k3an,即b-c=k3n,与0cbn矛盾。

所以|aZn|=|Zn|,又知aZnZn,所以aZn=Zn。

因此对1Zn,存在xZn,使得ax1modn,即x是a的乘法逆元。

记为x=a-1。

(证毕)1.2模运算设p为一素数,则Zp中每一非0元素都与p互素,因此有乘法逆元。

类似于加法可约律加法可约律,可有以下乘法可约律乘法可约律:

如果(ab)(ac)modn且a有乘法逆元,那么对(ab)(ac)modn两边同乘以a-1,即得bcmodn1.2模运算模算式除法取余运算同余(congruence)fora=bmodn如果a,b除以n,余数相同eg.100=34mod11b叫做a模n的剩余通常0=b=n-1eg.-12mod7=-5mod7=2mod7=9mod7可以进行整数运算模运算举例-21-20-19-18-17-1615-14-13-12-11-10-9-8-7-6-5-4-3-2-10123456012345678910111213141516171819202122232425262728293031323334模算术运算加法加法a+bmodn减法减法a-bmodn=a+(-b)modn乘法除法乘法乘法a.bmodn重复加法除法除法a/bmodn乘以b的逆元:

a/b=a.b-1modn如果n是素数,b-1modn存在s.tb.b-1=1modn例.2.3=1mod5hence4/2=4.3=2mod5模递归运算模递归运算是“模除求余”例.r=amodn计算a=d.n+r33mod7=4.7+5;得数是5通常,r取正数例-18mod7=-3.7+3;答案是3a+/-bmodn=amodn+/-bmodnmodn费尔玛费尔玛(Fermat)定理定理和欧拉欧拉(Euler)定定理理在公钥密码体制中起着重要作用。

Fermat定理:

若p是素数,a是正整数且gcd(a,p)=1,则ap-11modp。

Euler定理:

若a和n互素,则a(n)1modn。

1.3费尔玛定理和欧拉定理费尔玛定理证明:

当gcd(a,p)=1时,aZp=Zp,其中aZp表示a与Zp中每一元素做模p乘法。

又知a00modp,所以aZp-0=Zp-0,a(Zp-0)=Zp-0。

即amodp,2amodp,(p-1)amodp=1,2,p-1例如P=7,a=33,6,9,12,15,18mod7=3,6,2,5,1,4费尔玛定理所以a2a(p-1)a(amodp)(2amodp)(p-1)amodp)modp(p-1)!

modp另一方面a2a(p-1)a=(p-1)!

ap-1因此(p-1)!

ap-1(p-1)!

modp由于(p-1)!

与p互素,因此(p-1)!

有乘法逆元,由乘法可约律得ap-11modp。

(证毕)费尔玛定理Fermat定理也可写成如下形式:

设p是素数,a是任一正整数,则apamodp。

费尔玛定理2.欧拉函数设n是一正整数,小于n且与n互素的正整数的个数称为n的欧拉函数欧拉函数,记为(n)。

例如:

(6)=2,(7)=6,(8)=4。

若n是素数,则显然有(n)=n-1。

欧拉定理定理定理4.3若n是两个素数p和q的乘积,则(n)=(p)(q)=(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1