第五讲 密码学的数学基础(第二部分)

合集下载

大学安全工程之密码学2第二章 密码学的数学基础

大学安全工程之密码学2第二章 密码学的数学基础

第二章密码学的数学基础•数论-素数-模运算•代数结构•安全性基础-信息论-复杂性理论1为何讲素数?•为何讲数?-加(解)密:数字变换-信息:离散事件-例:A(0),B(1),…,Z(25)•为何讲素数?-素数是数的基础2素数与合数•定义:整数p是一个素数,如果它只能被+p, -p,+1,-1整除.-例:2,3,5,7,11,13,17,…,101,…•全体素数的集合记为P.•定义:如果整数n不是素数,则它是一个合数.-例:4,9,187,900,…4•Theorem:(Fundamental Theorem of Arithmetic)∀n∈N n= p1e1p2e2…pke k ( or Πp i∈Pp e i)where e p is the exponent of the prime factor p•Note:the result of factorization is unique •Example:84=22×3×7数的因子分解56素数•Theorem:There are infinitely many primes •Proof:(by contradiction)Assume , build a number N is There N is a new prime.maxP 1...max 21+=P P P N8Finding GCD•Theorem:•Example:•Complexity∏∏∏=⇒=∧=i b a ib i i a i i i i i i p b a p b p a ),min(),gcd(637*3),gcd(11*7*5*334657*3*28822322==⇒====b a b a )()()(n o c o n T band a the factoring Need =••10Euclidean Algorithm),gcd(:300...:2,:1111123221211010b a r step r and r until r r q r r r q r r r q r step br a r step n n n nn n n =≠=+=+=+===−−−−−16Congruence Relation (同余关系)•同余关系是一个等价关系-自反性-对称性-传递性•等价关系划分⇒ca cb b a ab b a aa ≡⇒≡∧≡≡⇒≡≡Modular Arithmetic(模运算)•We can define the modular arithmetic in the set of integers: Z n={0, 1, 2, …, n-1}•Under normal arithmetic (+,×)–[(a mod n) +(b mod n)] mod n = (a+b) mod n•Proof:Let a=q1n+r1, b=q2n+r2•(a+b) mod n = (q1n+r1+q2n+r2) mod n = (r1+r2) mod n–[(a mod n) ×(b mod n)] mod n = (a×b) mod n •(+, ×)→(-,÷) ?1819模运算:举例1•(Z 8={0, 1, 2, …, 7}, +)What?模运算说明•Additive Inverse Always Exists–(a+(-a)) = 0 mod n ⇒-a = n-a–if (a+b) ≡(a+c) mod n then b≡c mod n•((-a)+a+b) ≡((-a)+a+c) mod n•Multiplicative Inverse NOT Always Exists –Example:6 in Z8–When?21模运算中的乘法逆•Definition:a-1mod n is the multiplicative inverse of a∈{1,2,…,n-1} when ax≡1mod n•Theorem: If and only if gcd(a,n)=1, then the a-1 mod n exists•Lemma:If gcd(a,n)=1, then a⋅i≠a⋅j mod n for all 0≤i<j<n (i ≠j)–Proof:assume a⋅i≡a⋅j mod n⇒n|a(i-j) ⇒n|i-j⇒i-j=022乘法逆定理•Proof:•⇒–gcd(a,n)=1 ⇒a·{1,…,n-1} mod n is the permutationof {1,…,n-1}–So there exists only an i that a⋅i≡1 mod n–Therefore i is a-1mod n•⇐–Suppose a-1exists, call it x–ax ≡1 (mod n) and ax + yn= 1 for some integer y–gcd(a, n)=1 (gcd(a,n)|ax+yn→gcd(a,n)|1)23如何找到a-1mod n?•在{1,…,n-1} 中寻找,直到找到一个a-1,使得a·a-1≡1 (mod n)–T(n)=O(n)•计算a-1= aϕ(n)-1mod n–寻找ϕ(n) ⇔分解n–T(n)=O(n a)•用Extended Euclidean Algorithm–T(n)=O(log a n)2426求a-1mod ngcd(n,a)•n=aq 1+r 1 r 1=n-aq 1= s 0n+t 0a •a= r 1q 2+r 2 r 2= a-r 1q 2 =s 1n+t 1a ……•r k-1 =s k-1n+t k-1a•r k-1=gcd(n, a)•若gcd(n, a) =1,则s k-1n+t k-1a =1 ⇒t k-1a ≡1 mod n ⇒t k-1≡a -1mod nGCD(1970,1066)1970=1*1066+904 gcd(1066,904)1066=1*904+162 gcd(904,162)904=5*162+94 gcd(162,94)162=1*94+68 gcd(94,68)94=1*68+26 gcd(68,26)68=2*26+16 gcd(26,16)26=1*16+10 gcd(16,10)16=1*10+6 gcd(10,6)10=1*6+4 gcd(6,4)6=1*4+2 gcd(4,2)4=2*2+0 gcd(2,0)如何找到t k-1 ?28Step 1:r 0 =n and r 1 =aStep 2:r 0 =q 1r 1+r 2 Ær 2 =r 0 -q 1r 1 =-q 1r 1 mod nlet x 2= -q 1then r 2 =x 2r 1 mod nr 1 =q 2r 2+r 3 Ær 3 =r 1 –q 2r 2 =(1-x 2q 2)r 1 mod nlet x 3= 1-x 2q 2then r 3 =x 3r 1 mod n ……r n-3 = q n-2r n-2+r n-1 Ær n-1 =r n-3 –q n-2r n-2 mod nlet x n-1= x n-3-x n-2q n-2then r n-1 =x n-1r 1 mod n Now r n-1=1Step 3:Result is x n-2 =a -1mod nExtended Euclidean Algorithm29例:求7-1mod 26r 4 = r 2 -2r 3= r 2-2(r 1-r 2)= -2r 1+3r 2= -2r 1+3(r 0-3r 1)= 3r 0-11r 1⇒t 4= -11⇒7-1mod 26 = 15r 0 q 1 r 1r 226=3*7+5r 1 q 2 r 2r 37 =1*5+2r 2 q 3 r 3r 45 =2*2+1例:求3-1mod 26=930Euler phi Function•是在比n 小的正整数中与n 互素的数的个数.•例如:•若n 是素数,则显然有φ(n)=n-1。

密码学的数学基础及其应用

密码学的数学基础及其应用

密码学的数学基础及其应用密码学是现代信息安全领域中的重要分支,它涵盖了加密、解密、数字签名、密钥管理等方面。

其基本目的是确保信息的安全性、可靠性和隐私性。

密钥是解密或解码所需的加密或编码过的文本,因此,密码学的基础是在数学和其他相关学科中找到可行的方法来创建和管理密钥。

一、密码学的数学基础密码学的数学基础主要包括大量的数学理论、算法和问题,这些是建立密码体系必不可少的基础。

其中,最基础也最重要的是数论、代数、离散数学和计算机科学。

1. 数论数论是密码学的基础。

在密码学中,一种常用的数论方法叫做模运算。

模运算是在某一范围内进行的算术运算,例如将100除以7得到的余数是2,即100 mod 7 = 2。

这个方法被用于创建密钥和密码。

2. 代数代数在密码学中的作用与数论一样重要。

这是因为密码的创建和破解过程中,有时需要用到代数方法。

例如,当使用基于公钥的密码体系时,常常需要使用解方程式的方法来计算密钥。

3. 离散数学离散数学是密码学的关键,特别是在数据结构、图论、组合数学等方面。

在密码学中,离散数学的一种应用是用于构建Diffie-Hellman密钥交换协议和ElGamal加密算法等。

4. 计算机科学计算机科学是密码学的另一个重要基础。

密码学中使用的大多数算法都需要计算机的支持。

因此,对于密码学的学习者,必须了解计算机科学的基础知识,例如数据结构、算法、计算机体系结构和操作系统等。

二、密码学的应用密码学的应用涵盖了众多领域。

在计算机网络安全领域,有四种常见的密码学应用。

1. 对称加密技术对称加密技术是一种常见的密码技术,使用相同的密钥加密和解密数据。

这种技术能够快速加密和解密数据,但有一个问题是,不安全地传输密钥会导致密钥泄漏的风险。

2. 公钥加密技术公钥加密技术也被称为非对称加密技术。

它使用两个密钥,一个用于加密数据,另一个用于解密数据,因此只有拥有私钥的人才能读取数据。

这种技术缺点是速度慢,因为加密和解密都需要昂贵的数学计算。

密码学的数学基础PPT39页

密码学的数学基础PPT39页

谢谢!
51、 天 下 之 事 常成 于困约 ,而败 于奢靡 。——陆 游 52、 生 命 不 等 于是呼 吸,生 命是活 动。——卢 梭
53、 伟 大 的—易 卜 生 54、 唯 书 籍 不 朽。——乔 特
1、不要轻言放弃,否则对不起自己。
2、要冒一次险!整个生命就是一场冒险。走得最远的人,常是愿意 去做,并愿意去冒险的人。“稳妥”之船,从未能从岸边走远。-戴尔.卡耐基。
梦 境
3、人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有 久久不会退去的余香。
密码学的数学基础4、守业的最好办法就是不断的发展。 5、当爱不能完美,我宁愿选择无悔,不管来生多么美丽,我不愿失 去今生对你的记忆,我不求天长地久的美景,我只要生生世世的轮 回里有你。
55、 为 中 华 之 崛起而 读书。 ——周 恩来

密码学的数学基础

密码学的数学基础

密码学的数学基础密码学是研究信息安全和通信保密的一门学科,它涉及到数据加密、解密、认证、签名以及密码系统的设计等领域。

密码学作为信息安全的基石,具备坚实的数学基础。

本文将探讨密码学中涉及的一些重要的数学原理和算法。

一、模运算在密码学中,模运算是一种关键的数学运算,它对于生成密码算法和破解密码算法都有着重要作用。

模运算是指对于给定的正整数n,将一个整数a除以n所得的余数。

模运算具有以下几个重要性质:1. 加法的封闭性。

对于任意的整数a和b,(a+b) mod n=(a mod n + b mod n) mod n。

2. 乘法的封闭性。

对于任意的整数a和b,(a×b) mod n=(a mod n × b mod n) mod n。

3. 乘法的分配律。

对于任意的整数a、b和c,(a+b) mod n=(a mod n + b mod n) mod n。

二、欧拉函数和费马小定理在密码学中,欧拉函数和费马小定理是密码算法设计的重要数学基础。

1. 欧拉函数欧拉函数φ(n)表示小于等于n的正整数中与n互质的数的个数。

对于任意正整数n,欧拉函数满足以下性质:- 如果p是一个质数,那么φ(p)=p-1。

- 如果a和b互质,那么φ(a×b)=φ(a)×φ(b)。

2. 费马小定理费马小定理是一个基本的数论定理,它指出如果p是一个质数,a是不可被p整除的整数,那么a^(p-1) mod p ≡ 1。

费马小定理在密码学中应用广泛,特别是在RSA算法中。

RSA算法是一种非对称加密算法,基于大数因子分解的困难性。

三、素数和大数因子分解密码学中的许多算法都依赖于素数和大数因子分解的困难性。

1. 素数素数是只能被1和自身整除的正整数。

在密码学中,素数的选取十分重要,因为对于一个大的合数,将其分解质因数是非常困难的。

2. 大数因子分解大数因子分解是指将一个大的合数分解成质因数的过程。

在密码学中,大数因子分解的困难性是许多加密算法的基础,如RSA算法。

密码学数学基础exercise 2st

密码学数学基础exercise 2st

例5
S3 = {(1),(12),(13),(23),(123),(132)} H={(1),(12)}不是 3的正规子群, 不是S 的正规子群, 不是 S3/H={(1)H,(13)H ,(23)H}不构成群。 不构成群。 不构成群 H={(1),(123),(132)}是S3的正规子群, 是 的正规子群, S3/H={(1)H,(13)H}构成群。 构成群。 构成群
总 复 习
数论部分
一、主要概念: 主要概念: 带余除法、同余、剩余系、剩余类环、逆元、 带余除法、同余、剩余系、剩余类环、逆元、元素的 二次剩余、 阶、二次剩余、原根 二、重要定理: 重要定理: 唯一分解定理、中国剩余定理、欧拉定理、 唯一分解定理、中国剩余定理、欧拉定理、Fermat小 小 定理、欧拉判别定理、 定理、欧拉判别定理、原根的存在性 三、基本计算: 基本计算: 辗转相除、模幂 模逆运算 一次同余式求解、 和 符 模逆运算、 辗转相除、模幂/模逆运算、一次同余式求解、L和J符 号计算、 号计算、原根的计算
g 8 , g 20 模41是否为 : 是否为1 计算 是否为
28 mod 41 = 10,2 20 mod 41 = 1 48 mod 41 = 18,420 mod 41 = 1 68 mod 41 = 10,620 mod 41 = 40
38 mod 41 = 1
58 mod 41 = 18,520 mod 41 = 1
( d , ϕ ( 41)) = ( d ,40) = 1 时,6d是模 的原根,即 是模41的原根 的原根,
61 mod 41 = 6,
63 mod 41 = 11,
6 7 mod 41 = 29,
69 mod 41 = 19,

第2章 密码学的数学基础

第2章  密码学的数学基础

18
例2-8 用扩展欧几里德算法计算gcd(26,17)及17-1mod 26。 解:
课堂练习
求:gcd(26,19)及19-1 mod 26
= 1
11
第2章
gcd(26,17)=1 17-1 mod 26=-3≡23(mod 26)
密码学的数学基础
19
7、中国剩余定理
x a1 (mod m1 ) x a (mod m ) 2 2 ....... ........ x ar (mod mr )
解 只要证明 823 mod 47=1 即可。
82 64 17 (mod 47) 84 172 289 7 (mod 47)
88 7 2 49 2 (mod 47)
816 22 4 4 (mod 47)
823 816 84 82 8 4 7 17 8 3808 1 (mod 47)
•设Z为整数集合,a,b,c∈Z。 •如果c|a,c|b,则称c为a和b的公约数(common divisor)或公因子(common factor)。 •a和b的所有公约数中的最大者d,称为a和b的最 大公约数(greatest common divisor),记为 gcd(a,b)=d 或 (a,b)=d。 •定义:gcd(a,0)=|a|。注意约数只取正值。 •如果gcd(a,b)=1,则称a和b互素(relatively prime)或互质(coprime)。
Z 26 {0, 1 , 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13 , 14, 15 , 16, 17, 18 , 19, 20, 21 , 22, 23 , 24, 25}

密码学的数学基础

密码学的数学基础

素数
如何判断一个数是否为素数?
本章授课提纲
(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互素
证明:记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),由同余的第二个定 义可以得证。
[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
欧几里德算法
欧几里德算法的精确描述 两个整数用a,b表示,商用q表示,余数用r表示 Step1 取a,b较大者为a,较小者为b Step2 做除法,计算并保留余数r=mod(a,b) Step3 将原来的除数改做被除数,余数作为除数 a=b,b=r 重复Step1和Step2直到r=0,返回b

第五讲密码学的数学基础第二部分ppt课件

第五讲密码学的数学基础第二部分ppt课件

(4)模的幂、模n逆矩阵、模n平方根 (5)有限域理论
(6)素数判定和因数分解
2013/10/23
1
从使用情况来看,闭胸式的使用比较 广泛。 敞开式 盾构之 中有挤 压式盾 构、全 部敞开 式盾构 ,但在 近些年 的城市 地下工 程施工 中已很 少使用 ,在此 不再说 明。
★本讲授课提纲★
(1)有限域及其元素的多项式表示法 (2)有限域GF(pm)上的代数运算
定义2:有限群、无限群、交换群、循环群; 群的阶:一个有限群的元的个数。
定义3 G中元素g的阶为 g m 1的最小正整数m
的值. 定理1 假设G是一个阶为n的乘法群, G中元素g的 阶整除n.
定理2 如果p是素数,则 p 是一个循环群. 定义4如果p是素数,g是 p 中阶为p-1的元,则称g
为模201p3/的10/2本3 原元或生成元. 7
有限域中的每一个元素a,都是模f(x)的一个余数, f(x)为一阶数为m在模p中的不可分解的多项式。所 谓“模p的不可分解的多项式”,意味着f(x)不可分 解为阶数小于m的多项式的乘积。例如 f(x)=x3+x+1在GF(2n)中为不可分解多项式。
2013/10/23
19
从使用情况来看,闭胸式的使用比较 广泛。 敞开式 盾构之 中有挤 压式盾 构、全 部敞开 式盾构 ,但在 近些年 的城市 地下工 程施工 中已很 少使用 ,在此 不再说 明。
从使用情况来看,闭胸式的使用比较 广泛。 敞开式 盾构之 中有挤 压式盾 构、全 部敞开 式盾构 ,但在 近些年 的城市 地下工 程施工 中已很 少使用 ,在此 不再说 明。
★本章授课提纲★
(1)整除、素数、最大公约数,欧几里德算法
(2)模运算、同余、乘法逆元素、扩展的欧几里 德算法 (3)中国剩余定理、费马小定理、欧拉定理

数学与计算机科学密码学的数学基础

数学与计算机科学密码学的数学基础

数学与计算机科学密码学的数学基础密码学作为计算机科学的一个重要分支,其核心是研究如何保护信息的安全性和隐私性。

而要理解密码学的数学基础,就必须掌握数学与计算机科学密切相关的数学知识。

本文将简要介绍密码学的数学基础,包括数论、代数、离散数学和信息论等方面。

一、数论1. 整数与素数:在密码学中,整数和素数是非常重要的概念。

我们需要了解整数的性质,包括奇偶性、质因数分解等。

而素数则在密码学中用于生成密钥和构建加密算法。

2. 模运算:模运算在密码学中有着广泛的应用。

我们需要了解模运算的基本定义和性质,如同余定理、模逆元等,并掌握如何使用模运算进行加密和解密操作。

3. 欧拉函数与欧拉定理:欧拉函数是指小于某个正整数n且与n互质的正整数的个数。

欧拉定理则是指在模n的情况下,若a与n互质,那么a的欧拉指数一定是n的欧拉函数的倍数。

这些概念在密码学中用于生成RSA加密算法的密钥。

二、代数1. 群论与环论:密码学中的加密算法和解密算法可以视为群的运算过程。

我们需要了解群和环的基本定义,以及群论和环论的一些基本性质,如封闭性、结合律、单位元等。

2. 有限域与扩域:有限域是一种具有有限个元素的域,而扩域则是指通过扩展域中的元素来生成新的域。

在密码学中,有限域和扩域被广泛应用于椭圆曲线密码和有限域上的运算。

三、离散数学1. 图论与网络流:密码学中的一些加密算法可以利用图论和网络流的方法进行建模与分析。

我们需要了解图的基本概念,如顶点、边、路径等,以及网络流的基本算法,如最大流最小割定理等。

2. 组合数学:组合数学是研究离散对象的组合与排列问题的数学分支。

在密码学中,我们需要掌握组合数学的基本概念和技巧,例如排列组合、二项式系数等。

四、信息论1. 熵与信息量:信息论是研究信息传输、压缩和保密性的数学分支。

在密码学中,我们需要了解熵的概念和计算方法,以及信息量的度量和编码技术。

2. 纠错码与检验码:为了确保信息传输的可靠性,我们需要借助纠错码和检验码来检测和纠正传输过程中的错误。

密码学的数学基础

密码学的数学基础

密码学的数学基础密码学是研究加密和解密技术的学科,涉及保护通信、数据传输和信息安全的领域。

它建立在数学和计算机科学的基础之上,其中数学起到了至关重要的作用,为密码学提供了理论基础和加密算法的设计原理。

1.数论数论是密码学中的核心数学学科之一,尤其是在公钥密码学领域。

数论的重要概念和原理包括:•素数理论:素数是密码学中的关键概念,例如,RSA算法就是基于大素数分解的难解性。

•模运算:模运算( 取模运算)在加密算法中有广泛的应用,例如在对称密码学和公钥密码学中都有用到。

2离散数学离散数学提供了密码学中许多重要概念和工具,例如:•布尔代数:对称密码学中的代换和置换操作可以用布尔代数进行描述。

•图论:在密码学中,图论用于描述和分析各种密码算法的结构。

3.线性代数线性代数在密码学中的应用主要涉及到向量、矩阵和线性空间:•矩阵运算:许多密码算法( 比如AES)使用了矩阵运算来进行加密和解密。

•向量空间:在错误检测和纠正、密码系统设计中有广泛应用。

4.复杂性理论和算法复杂性•复杂性理论:对称密码学和公钥密码学中的许多算法都基于某些数学难题的困难性,如大素数分解、离散对数等。

•算法复杂性:设计有效的加密算法需要考虑到算法的复杂性,使其具有足够的安全性和效率。

5.概率论与信息论•概率论:在密码学中,概率论用于分析密码算法的安全性,并评估密码系统受到攻击的概率。

•信息论:信息论涉及信息的量度和传输,为密码学提供了一些加密和解密的基本原理。

这些数学学科为密码学提供了理论基础和设计加密算法的数学原理。

通过利用数学难题的困难性,结合算法设计和信息理论,密码学可以实现信息的安全传输和储存,保障信息的机密性和完整性。

密码学基础01-概述+对称密码

密码学基础01-概述+对称密码
要学科。
伴随计算机和通信技术旳迅速发展和普及应用,出现
了电子政务、电子商务、电子金融等主要旳应用信息系统
。在这些系统中必须确保信息旳安全传递和存储
>>
0
>>
1
>>
0
>>
1
>>
0
>>
密码学旳发展
• 1949年之前:古典密码(classical cryptography)
1. 密码学多半是具有艺术特征旳字谜,出现某些密码算法和机械
密钥(private key)私钥,简称私钥。
>>
0
>>
1
>>
0
>>
1
>>
0
>>
>>
0
>>
1
>>
0
>>
1
>>
0
>>
>>
0
>>
1
>>
0
>>
1
>>
0
>>
>>
0
>>
1
>>
0
>>
1
>>
0
>>
>>
0
>>
1
>>
0
>>
1
>>
0
>>

第2章[第2部分]密码学数学基础(数论2)

第2章[第2部分]密码学数学基础(数论2)
第2章 密码学数学基础
数论基础篇(2)
(Number Theory)
成都信息工程学院网络学院
群-概念
群的例子
思考:构成群的,单位元(恒等元)和逆元各是什么, 不构成群的,原因是什么?
*判定一个非空集合是不是群,就用群的定义去衡量
有限群,阶数,无限群,阿贝尔群
域的定义
非空集合元素F,若在F中定义了加和乘两种运算,且满 足下述公理: (1)F关于加法构成阿贝尔群。其加法恒等元记为0。 (2)F中非零元素全体对乘法构成阿贝尔群。其乘法恒 等元(单位元)记为1。 (3)加法和乘法间有如下分配律: a(b+c)=ab+ac (b+c)a=ba+ca
g(x) ≡h(x) mod f(x)
定义不可约多项式
一个多项式f(x)称为是不可约的,如果不存 在多项式f1(x),f2(x)∈Zp[x],满足 f(x)= f1(x)*f2(x), 其中deg(f1)>0和deg(f2)>0 ,也即f1(x),f2(x)不 能是常数。
解读Zp[x]
定义Zp[x]为变元x的所有多项式的集合(每一项的 系数都小于p)。 设整系数多项式f(x)=anxn+…+a1x+a0 若f(x)∈Zp[x],则要求ai ∈ Zp(0<=i<=n),即0<=ai<p 在实践中,用得比较多的是Z2[x] 例:
b7=0举例 b7=0举例
02 · 54=(0000 0010) · (0101 0100) =(x)· 6+x4+x2) (x
=x7+ x5+x3
=x7+ x5+x3 ≡ x7+ x5+x3 (modp(x)) =(1010 1000) 由上面的规则:把(0101 0100) 在字节内左移一位即得 (1010 1000) (最后一位补0)

应用密码学第2章-密码学基础

应用密码学第2章-密码学基础
• 破译者取得密文后将不能在有效的时间或成本范 围内破解出密钥或明文
• 一个密码系统是安全的必要条件:穷举密钥搜索 将是不可行的
Cryptography System
• The type of operations used for transforming plaintext to ciphertext – substitution – transposition
• The number of key used – symmetric, single key, secret-key, or convetional encryption – asymmetric, two-key, public-key encryption
• The way in witch the plaintext is processed – block cipher – stream cipher
式来隐藏它的实际内容。 • 解密(Decryption)– 将密文变为明文的过
程。
术语(续)
• 密码学(Cryptography)- 保持信息安全的艺 术与科学。
• 密码学家(Cryptographers)- 从事密码学研 究的人。
• 密码分析(Cryptanalysis)- 破解密文的艺术 与科学。
–缺陷: • 不适用于大用户群 • 没有质量控制或标准化(每个用户都有自己 独特的算法)。
plaintext
算法和密钥(续)
key
encryption algorithm
ciphertext
decryption algorithm
Original plaintext
key
算法和密钥(续)
密码分析
–破解算法需要的代价>加密的数据的价值(一 次一密)

信息安全导论5密码学数学基础

信息安全导论5密码学数学基础
算术基本定理:
任何一个不等于0的正整数a都可以写成唯一的表达

a

P P a1 a2 12
中αi>0整数。
P at t
,这里P1>P2>P3…>Pt是素数,其Leabharlann 2019/9/1510
目前没有可用于整数分解的有效算法。
对于整数a,b(a,b≥2),a,b的素数分解式分别为:
a

P e1 1
P e2 2
2019/9/15
8
带余除法
带余除法:
a∈Z, m>0,可找出两个唯一确定的整数q和r使a=qm+r, 0≤r< m。 (若r=0则m∣a) q和r这两个数分别称为以m去除a所得到的商数和余数.记: q=a div m或[a/m], r =a mod m。
存在x,y,gcd(a,b)=ax+by 如果a=qb+r,则gcd(a,b)=gcd(b,r).
信息安全导论
第五讲 密码学技术中的数学基础
华中科技大学图象所 信息安全研究室 Dr. Zuxi Wang
2019/9/15
1
密码学是研究密码系统或通信安全的一门学科, 分为密码编码学和密码分析学。
密码编码学是使得消息保密的学科,从事此行的 称为密码编码者。
密码分析学(密码破译学)是研究加密消息的破 译的学科,从事此行的称为密码分析者。精于此 道的人被称为密码学家,现代的密码学家通常是 理论数学家。
2019/9/15
2
密码学是一门交叉学科,它很大程度上是应用数 学学科。
密码学中涉及数论、代数、概率论、组合数学、 计算复杂理论等多种数学知识。
还涉及信息论学科知识。

密码学数学基础

密码学数学基础

( a b ) m n o (a m (d n ) o ( b m d n )m o )n d o
讲解:XX
• 例(7+9)mod11 • (7×9)mod11 • 计算 97 mod 13 • 证明 13200-1 是51的倍数
讲解:XX
• 例 说明 225 1是否被641整除。
•解: • 22 4,24 16,28 256,216 154,232
• 由于每个非零整数的因数的个数是有 限的,所以最大公因数是存在的,且是正 整数。
讲解:XX
最大公因数
• 若(a1, a2, , an) = 1, • 则称a1, a2, , an是互质的; • 若(ai, a j) = 1,1 i, j n,i j, • 则称a1, a2, , an是两两互质的。 • 显然,a1, a2, , an两两互质可以推出(a1,
讲解:XX
• 计算欧拉函数的公式
• 1. 若一个数m可以写成m= p1e1p2e2 ptet
• ( p i 为素数),则
t
(m) piei1(pi 1)
i1
• 2.对任一正整数m,若其可写成,

则 p1e1p2e2 ptet
(m)m(1 1)Leabharlann 讲解Pi:XXpi
• 欧拉定理 • 对于任何互素的两个整数a和n,有
a(n) 1mond
• 当n为素数时,欧拉定理相当于费马定理
讲解:XX
• 求7803的后三位数字 • 求11803的后三位数字
讲解:XX
• 思考
• 1、如果今天是星期一,问从今天起再过
讲解:XX
• 任何大于1的整数a都可以分解成素数幂 之积,且唯一。
ap 1 a 1 p 2 a 2 p ta t
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五讲 密码学数学基础
2013/10/23
1
★本章授课提纲★
(1)整除、素数、最大公约数,欧几里德算法 (2)模运算、同余、乘法逆元素、扩展的欧几里 德算法 (3)中国剩余定理、费马小定理、欧拉定理
(4)模的幂、模n逆矩阵、模n平方根
(5)有限域理论
(6)素数判定和因数分解
2013/10/23 2
有限域GF(pm)上的加法和减法
举例:在GF(33)中,若a=2x2+x+2,b=2x2+2x+2
c a b cm1xm1 cm2 xm2 c1x c0
ci ai bi (mod p) i m 1
那么,c=a+b=x2+1
2013/10/2的乘法和除法 举例:在GF(33)中,若a=2x2+x+2,b=2x2+2x+2 求d=ab (2)再除以f(x)=x3+2x+1 x4+x2+1——10101 x3+2x+1——1021 二者相除,得到的余数是221 即最终结果为2x2+2x+1
26
★有限域GF(pm)上的代数运算★
有限域GF(pm)上的乘法和除法 若a,b∈GF(pm),a与b的乘积与一般的多项式乘积 相同。其差别为,若其积的阶数等于或比m大时, 必须以不可分解多项式f(x)除之。 举例:在GF(33)中,若a=2x2+x+2,b=2x2+2x+2 求d=ab
2013/10/23
(1)素数分布极不规则
(4)模的幂、模n逆矩阵、模n平方根
(5)有限域理论
(6)素数判定和因数分解
2013/10/23 33
★本讲授课提纲★
(1)素数判定概述 (2)米勒-拉宾素数判定 (3)因数分解概述
2013/10/23
34
★本讲授课提纲★
(1)素数判定概述 (2)米勒-拉宾素数判定 (3)因数分解概述
2013/10/23
pm(p为素数)的完全剩余集的每一个元素,可以 使用m位的p进制数来表示,并进而可以使用多项 式来表示。
2013/10/23 18
★有限域的概念★
有限域GF(pm)上元素的多项式表示
令a∈GF(pm),则a可表示成如下阶数为m-1的多项式
a am1x
m1
am2 x
m2
a1x a0
2013/10/23 29
★有限域GF(pm)上的代数运算★
有限域GF(2m)上的代数运算 有限域GF(2m)上的代数运算,是密码学里最为 关心的,因为现代密码学系统中绝大部分数据都是 01这样的比特。
加、减运算是异或,加无进位,减无借位,乘 法运算是“与”,除法运算只要位数够长即可进行。
2013/10/23
2013/10/23
13
本原根不惟一。可验证除3外,19的本原根还有2, 10,13,14,15。 注意并非所有的整数都有本原根,只有以下形式的 整数才有本原根: 2,4,pα,2pα 其中p为奇素数。
2013/10/23
14
离散对数

设p是素数,a是p的本原根,即a1,a2,…,ap-1在 mod p下 产生1到p-1的所有值,所以对b∈{1,…,p-1},有惟一的 i∈{1,…,p-1}使得b≡ai mod p。称i为模p下以a为底b的离 散对数,记为i≡logab(mod p)。 当a、p、i已知时,用平方和乘法可比较容易地求出b,但 如果已知a、b和p,求i则非常困难。目前已知的最快的求离 散对数算法其时间复杂度为:
2013/10/23
37
★素数判定概述★
素数定理
素数定理给出一种估计素数个数的方法: 设π(x)是小于x的素数的个数,则 π(x)≈x/lnx 应用举例: 64位二进制表示的素数的个数为 264/ln264-263/ln263≈2.05×1017个
2013/10/23
38
★素数判定概述★
素数的分布特点
一般地,如果a的阶m等于φ(n),则称a为n的本原根。 如果a是n的本原根,则 a,a2,…,aφ(n) 在mod n下互不相同且都与n互素。 特别地,如果a是素数p的本原根,则 a,a2,…,ap-1 在 mod p下都不相同。
2013/10/23
9
例如:n=9,则φ(n)=6,考虑2在mod 9下的幂 21 mod 9≡2,22 mod 9≡4
21
★本讲授课提纲★
(1)有限域及其元素的多项式表示法 (2)有限域GF(pm)上的代数运算
2013/10/23
22
★有限域GF(pm)上的代数运算★
多项式的加减乘除运算
2013/10/23
23
★有限域GF(pm)上的代数运算★
有限域GF(pm)上的加法和减法 令a,b∈GF(pm),
a am1xm1 am2 xm2 a1x a0
1 O exp ln p 3 ln ln p
2013/10/23


2
3

所以当p很大时,该算法也是不可行的。 15
离散对数问题的算法
首先回忆一下一般对数的概念,指数函数 y=ax(a>0,a≠1)的逆函数称为以a为底x的对数,记 为y=logax。对数函数有以下性质: loga1=0, logaa=1, logaxy=logax+logay, logaxy=ylogax
这种非常大的素数通常也叫强素数
2013/10/23 36
★素数判定概述★
素数有多少个呢?
在长度为512位或略短一些的数中,有超过10151个 素数。宇宙中仅有1077个原子,如果宇宙中从诞生到 现在为止,每一微秒都需要10亿个新的素数,那么 总共需要10109个素数,现在仍然剩下约10151个512位 的素数。
35
★素数判定概述★
素数在公钥密码体制中的重要性
公开密钥密码体制中需要大的素数,如基于因数 分解困难性的RSA体制的密钥就是两个非常大的素 数的乘积,如果素数选择过小,则分解它们是容易 的,因而整个RSA密码体制系统就不安全。ElGamal 是基于离散对数求解困难的公钥密码体制,同样需 要产生非常大的素数,以保证密码体制的安全。
2013/10/23 5
★有限域的概念★
交换群的概念
交换群就是满足交换律的群 交换律(A5): a . b= b . a
交换群例子: 加法运算下的整数集合(+,-,0); 乘法运算下的非零实数集合;
2013/10/23
6
★有限域的概念★
域的概念 若一集合F在已定义的两个运算“+”和“.”中,具有 下列性质者,则F称为一个域。 (1)F在运算“+”中为一交换群,且具有单位元素0 (2)F非零的元素在“.”中也为交换群(注意:交换 群有逆元存在) (3)F中“.”对“+”运算满足分配律,即对F中的所有 a,b,c满足a.(b+c)=a.b+a.c
2013/10/23 11
★有限域的概念★
有限域的概念
一个域,如果其元素个数为无限个,则称为无限域 反之,如果域的元素个数为有限个,则称为有限域
有限域的例子:模p的同余运算中,它的完全剩余 集构成一个域,通常用GF(p)表示。
2013/10/23 12
例如: n=19,a=3在mod 19下的幂分别为 3,9,8,5,15,7,2,6,18,16,10,11, 14,4,12,17,13,1。 即3的阶为18=φ(19),所以3为19的本原根。
离散对数有以下性质: ① loga1=0。 ② logaa=1。 分别由以下关系得出: a0 mod p=1 mod p=1,a1 mod p=a。 以上假定模数p是素数,对于非素数也有类似的结 论。
2013/10/23 17
★有限域的概念★
有限域GF(pm)上元素的多项式表示
数学家已经证明,一个有限域GF(k),其k必为p 或者pm(p为素数),其它的k将不能构成有限域。
2013/10/23 20
★有限域的概念★
有限域GF(pm)上元素的多项式表示
m1 m2
a am1x
am2 x
a1x a0
a 2x x 2
2
举例:在GF(33),即GF(27)中,
表示3位3进制数212,它转换成十进制数为
2×32+1×31+2=23
2013/10/23
b bm1xm1 bm2 xm2 b1x b0
那么 c a b cm1xm1 cm2 xm2 c1x c0 其中 ci ai bi (mod p) i m 1
2013/10/23
24
★有限域GF(pm)上的代数运算★
27
★有限域GF(pm)上的代数运算★
有限域GF(pm)上的乘法和除法 举例:在GF(33)中,若a=2x2+x+2,b=2x2+2x+2 求d=ab (1)先求ab: 2 1 2 × 2 2 2 1 2 1 1 2 1 + 1 2 1 1 0 1 0 1=x4+x2+1
2013/10/23 28
23 mod 9≡8,24 mod 9≡7,25 mod 9≡5,
26 mod 9≡1。即2的阶为φ(9),所以2为9的本 原根
2013/10/23
10
★有限域的概念★
域的概念
本质上说: 域就是一个集合,可以在其上进行加法、减法、乘法 和除法而不脱离该集合。
例子:有理数集合,实数集合,复数集合 这些都是无限域
★本讲授课提纲★
(1)有限域及其元素的多项式表示法 (2)有限域GF(pm)上的代数运算
相关文档
最新文档