RSA算法原理(一)之欧拉定理

关于什么是RSA,可以查看这篇文章, 今天主要是讲一下RSA底层用的一些算法原理,其实都是一些数学概念,谁让RSA算法是三个数学家发明的。

互质关系

如果两个整数(或者两个以上的整数)的最大公约数是1,则称他们为互质。也就是说两个整数,除了1以外,没有其它的最大公约数了,这两个整数就叫做互质关系。
比如说7,11他们的最大公约数只有1,所以他们互质;8,10他们的最大公约数为1,2,所以这两数不是互质关系。

欧拉函数

欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目,称为欧拉函数
比如说当n=8时,与8能形成互质关系的数有4个,分别是1,3,5,7,所以φ(8)=4
具体φ(n)函数的计算公式,可以分为以下四种情况:

情况一: 当n=1,φ(1)=1

因为1与任何整数都是互质关系,所以当n=1时,φ(1)=1

情况二:当n为质数,φ(n)=n-1

因为质数与小于它的每一个数,都构成互质关系,所以当n为质数时,φ(n)=n-1 。
比如说n=3时,1,2都跟他是互质关系, n=7时,1,2,3,4,5,6都跟他是互质关系。

情况三:n = p^k (p为质数,k为指数,且大于等于1),n是质数的k次方,则φ(p^k) = p^k - p^(k-1) = p^k(1 - 1/p)

比如:φ(8) = φ(2^3) = 2^3 - 2^2 = 4
φ(27) = φ(3^3) = 3^3(1 - 1/3) = 18

情况四: n是两个互质的整数之积,如:n = p1 * p1,则 φ(n) = φ(p1p2) = φ(p1)φ(p2)

比如:φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24

情况五:欧拉函数通式:[图片上传失败...(image-5f0fb9-1523323180027)]

其展开式为: [图片上传失败...(image-5d9beb-1523323180027)]%3Dn(1-%5Cfrac%7B1%7D%7Bp_%7B1%7D%7D)(1-%5Cfrac%7B1%7D%7Bp_%7B2%7D%7D)...(1-%5Cfrac%7B1%7D%7Bp_%7Br%7D%7D)&chs=60)
比如,用通式计算72的欧拉函数为:[图片上传失败...(image-58676a-1523323180027)]
1323的欧拉函数为:[图片上传失败...(image-68ae5e-1523323180027)]%3D%5Cphi(3%5E%7B3%7D%5Ctimes7%5E%7B2%7D)%3D1323(1-%5Cfrac%7B1%7D%7B3%7D)(1-%5Cfrac%7B1%7D%7B7%7D)%3D756&chs=60)

同余定理

给定一个正整数n,如果两个整数a和b满足a-b能够被n整除,即(a-b)/n得到一个整数,那么就称整数a与b对n同余,记作a≡b(mod n)。这就是同余定理
例如:26≡2(mod 12), 26%12 余2, 2%12余2, 26-2/12 = 0,所以26与2对模12同余

欧拉定理

数论中,欧拉定理是一个关于同余的性质,其性质如下:
若n,a为正整数,且n,a互质,则: [图片上传失败...(image-eb8acd-1523323180027)]
首先看一个基本的例子,令a = 3, n = 5

推荐阅读更多精彩内容

  • 前言 总括: 本文详细讲述了RSA算法详解,包括内部使用数学原理以及产生的过程。 原文博客地址:RSA算法详解 知...
    秦至阅读 1,478评论 0 4
  • 这是去年12月在CSDN写的一篇加密算法文章 现在决定在简书写博客 移植过来方便复习再理解。 最近算法课老师要求小...
    icecrea阅读 787评论 1 1
  • 今天我们三人一起玩打沙包 。两个人在两边打,我在中间接,卢玮超站在我的前面,王德江站在我的后面。游戏开始了,我目不...
    M梅_6fa8阅读 137评论 0 0
  • ​一日茶,一夜酒,一部毫不掩饰的小说,一次没有目的的见面,一群不谈正经事的朋友,用美好的事物消磨必定留不住的时间。...
    Chen东霓阅读 343评论 0 0
  • 本月第二惨记录 算起来,七月是最有空闲的一段时间,但我却没有做好一件事,当真的是好失败。 凄惨回顾如下: 一 早起...
    海豚的世界阅读 165评论 0 0
  • 那时的人都很“专情” 原创 2016-09-22 欢喜 承时尚 那时的车马很慢 书信很远 一生只够爱一个人 最好的...
    孟欢喜Mmmmm阅读 168评论 1 1