当前位置: 首页 > news >正文

学院网站建设总结中国科技新闻网

学院网站建设总结,中国科技新闻网,企业网厅,中央经济工作会议确定要强化本文主要是简单高效地讲解RSA算法的基本数学原理以及加解密的步骤,算法背景以及设计到的数学证明省略。本文主要参考wikipedia和博文《非对称加密算法–RSA加密原理》。 非对称公钥加密算法可以由下列几步实现: 信息接收方产生公钥 p k pk pk与私钥 s k…

本文主要是简单高效地讲解RSA算法的基本数学原理以及加解密的步骤,算法背景以及设计到的数学证明省略。本文主要参考wikipedia和博文《非对称加密算法–RSA加密原理》。
非对称公钥加密算法可以由下列几步实现:

  1. 信息接收方产生公钥 p k pk pk与私钥 s k sk sk,公钥可以给任何人,私钥自己保存;
  2. 信息发送方将要发送的信息 m m m与公钥 p k pk pk一起用特定的加密算法加密,即密文 c c c
  3. 信息接收方接收到密文 c c c,与私钥 s k sk sk一起用特定解密算法恢复明文。

可见,以上加密算法的关键角色是公钥和私钥的生成,以及加解密算法的具体操作。RSA算法就是一种实现上述公钥加密的算法。

欧拉函数

RSA算法设计到欧拉函数相关知识,下面进行一些简单定义。对于一个整数 n n n,我们用欧拉函数 φ ( n ) \varphi (n) φ(n)来表示小于 n n n并与之互质的正整数。下面给出与欧拉函数相关的2条性质(证明忽略,记住就好):

  1. 如果 n n n是质数,则 φ ( n ) = n − 1 \varphi (n)=n-1 φ(n)=n1
  2. 如果 n n n可以表示成2个互质的数的乘积,即 n = p × q n=p\times q n=p×q,那么 φ ( n ) = φ ( p ) × φ ( q ) \varphi (n)=\varphi (p)\times \varphi (q) φ(n)=φ(p)×φ(q)

欧拉定理变型

欧拉定理为:如果 m m m n n n互质,则 m φ ( n ) = k n + 1 m^{\varphi(n)}=kn+1 mφ(n)=kn+1,即模 n n n余1。
等式两边同时取整数 l l l次方,并再乘上 m m m m l φ ( n ) + 1 = m ( k n + 1 ) l = k ′ n + m m^{l\varphi(n)+1}=m(kn+1)^l=k^{'}n+m mlφ(n)+1=m(kn+1)l=kn+m。可见,如果 m < n m<n m<n,则有
m l φ ( n ) + 1 ( m o d n ) = m . m^{l\varphi(n)+1}~(mod~n)=m. mlφ(n)+1 (mod n)=m.显然这是一个很好地恢复原数( m m m看做是传输的信息)的算法,这也为后面RSA的算法提供了思路。

模反元素

根据欧拉定理我们知道 m × m φ ( n ) − 1 = k n + 1 m\times m^{\varphi(n)-1}=kn+1 m×mφ(n)1=kn+1,即对于互质的两个数 e e e x x x,一定存在他的一个模反元素 d d d,满足 e × d ( m o d x ) = 1 e\times d~(mod~x)=1 e×d (mod x)=1。该等式重写为
e d = k x + 1. ed=kx+1. ed=kx+1.注意,为了书写方便,本文中不同公式出现的符号 k k k可以是任何不相等的整数。

设计一个能恢复信息 m m m的算法

前面我们通过欧拉定理变型可以恢复信息 m m m,结合模反元素的公式,我们有
m e d = m k x + 1 . m^{ed}=m^{kx+1}. med=mkx+1.假如我们令 x = φ ( n ) x=\varphi(n) x=φ(n),就有
m e d = m l φ ( n ) + 1 = k n + m . m^{ed}=m^{l\varphi(n)+1}=kn+m. med=mlφ(n)+1=kn+m.我们也可以将 e e e d d d分开,等价地写成
第 一 步 : c = m e ( m o d n ) 第一步:c=m^e~(mod~n) c=me (mod n)
第 二 步 : m = c d ( m o d n ) . 第二步:m=c^d~(mod~n). m=cd (mod n).这两步就是RSA算法的加密和解密过程( m m m是信息, e e e n n n是公钥,第一步就是加密,得到密文 c c c d d d n n n是私钥,第二步就是解密,恢复信息 m m m)。
注意,至此,我们的理论有个假设前提,那就是利用欧拉定理的时候,需要信息 m m m n n n互质,实际上 m m m n n n不互质也可以用上述公式,详细证明参考博文《RSA 算法流程及证明》。此外,还有一个限制就是 e e e φ ( n ) \varphi(n) φ(n)互质

RSA算法流程

  1. 选择两个质数 p p p q q q,算出他们的乘积 n = p × q n=p\times q n=p×q,算出对应的欧拉函数 φ ( n ) \varphi(n) φ(n)(利用性质 φ ( n ) = φ ( p ) × φ ( q ) = ( p − 1 ) ( q − 1 ) \varphi(n)=\varphi(p)\times \varphi(q)=(p-1)(q-1) φ(n)=φ(p)×φ(q)=(p1)(q1))。
  2. 选择一个 e e e,使得 e < φ ( n ) e<\varphi(n) e<φ(n)并且 e e e φ ( n ) \varphi(n) φ(n)互质。
  3. 算出 e e e的一个相对于 φ ( n ) \varphi(n) φ(n)的模反元素 d d d
  4. ( e , n ) (e,n) (e,n)为公钥, ( d , n ) (d,n) (d,n)为私钥,信息(明文) m m m长度小于 n n n
  5. 加密 c = m e ( m o d n ) c=m^e~(mod~n) c=me (mod n)
  6. 解密 m = c d ( m o d n ) m=c^d~(mod~n) m=cd (mod n)
http://www.hkea.cn/news/891789/

相关文章:

  • wordpress icomoon太原seo快速排名
  • 中华建设杂志网站记者数据指数
  • 网站开发测试情况南召seo快速排名价格
  • 上海仓储公司小红书seo优化
  • 南京建设公司网站网络营销整合推广
  • wordpress更改语言沈阳seo优化
  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录
  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发