网站开发项目风险优秀产品vi设计手册

news/2025/9/24 4:56:53/文章来源:
网站开发项目风险,优秀产品vi设计手册,WordPress自助提交友情链接,宁海建设局网站RSA算法RSA一、数学原理二、实现代码1 生成素数2 生成秘钥3 对数据进行加密、解密总结RSA RSA是一种非对称加密体制#xff0c;由公钥和私钥组成#xff0c;数学原理是实数域的模余法。在使用私钥对数据进行加密后#xff0c;可用公钥对数据进行解密。 在RSA算法中#xf… RSA算法RSA一、数学原理二、实现代码1 生成素数2 生成秘钥3 对数据进行加密、解密总结RSA RSA是一种非对称加密体制由公钥和私钥组成数学原理是实数域的模余法。在使用私钥对数据进行加密后可用公钥对数据进行解密。 在RSA算法中设公钥为D, N私钥为E, N加密过程可以表示为明文EmodN密文明文^{E} \ mod\ N密文 明文E mod N密文 解密算法一致把E换成密文modN明文密文^{} \ mod\ N明文 密文 mod N明文 当然能这样计算对N、E、D是有要求的。 RSA是目前公认的安全算法对它进行破解需要进行大数的质数分解目前除了穷举法没有发现其他方法能计算而穷举法在足够大的大数面前计算是需要非常漫长的时间的因此当RSA算法采用的N、E、D足够大时就认为是安全的。目前来说需要N达到1024bits。 一、数学原理 欧拉函数的性质 若nqpp和q是两个质数,则φ(n)(q−1)(p−1)n qpp和q是两个质数,\ 则{\varphi}(n) (q-1)(p-1)nqpp和q是两个质数, 则φ(n)(q−1)(p−1) 欧拉定理若a与n互质即gcd(a,n)1,则aφ(n)≡1modngcd(a,n)1, 则a^{\varphi(n)}\ {\equiv}\ 1\mod\ ngcd(a,n)1,则aφ(n) ≡ 1mod n 进一步若n是质数an−1≡1modna^{n-1}\ {\equiv}\ 1\mod nan−1 ≡ 1modnan≡amodna^{n}\ {\equiv}\ a\mod nan ≡ amodn 费马小定理若n是质数a与n互质则an−1≡1modna^{n-1}\ {\equiv}\ 1 \mod \ nan−1 ≡ 1mod n 逆元如果ab≡1modn,则a和b互为逆元ab\ {\equiv}\ 1\mod\ n, 则a和b互为逆元ab ≡ 1mod n,则a和b互为逆元 RSA加密的条件 · np×qn p{\times}qnp×q · Lφ(n)(p−1)(q−1)L {\varphi}(n) (p-1)(q-1)Lφ(n)(p−1)(q−1) · 随机选取 1eL使得gcd(e,L)11eL使得gcd(e,L)11eL使得gcd(e,L)1 ·计算 ed≡1modLed\ {\equiv}\ 1\mod\ Led ≡ 1mod L ·公钥对 n, d私钥对 n, e 继续设明文 M密文 C现在来证明可以用上述方法加解密的条件。 MEmodNC,CDmodNMM^{E}\ mod\ N C,\ C^{D}\mod\ N MME mod NC, CDmod NM 根据模法CD−kNMC^{D}\ -\ kN MCD − kNM代回第一个式子 (CD−kN)E≡1modN(C^{D}\ -\ kN)^{E}\ {\equiv}\ 1\mod\ N(CD − kN)E ≡ 1mod N CDE≡CmodNC^{DE}\ {\equiv}\ C\mod\ NCDE ≡ Cmod N由于 E×D≡1modφ(N)E\times D\equiv 1\mod\ \varphi(N)E×D≡1mod φ(N)也即 ED−kφ(N)1ED-k\varphi(N) 1ED−kφ(N)1 若gcd(C, N) 1根据欧拉定理Cφ(N)≡1modNC^{{\varphi}(N)}\ {\equiv}\ 1\mod\ NCφ(N) ≡ 1mod NCkφ(N)1≡CmodNC^{k{\varphi}(N)1}\ {\equiv}\ C\mod\ NCkφ(N)1 ≡ Cmod NCED≡CmodNC^{ED}\ {\equiv}\ C \mod\ N CED ≡ Cmod N若C与N不互质由于N是两个质数的积所以gcd(C,N)q or gcd(C,N)p。设 Ck1qorCk2pC k_{1}q\ or \ Ck_{2}pCk1​q or Ck2​p假设C kp而且gcd(m,q)1由欧拉定理和欧拉函数的性质(kp)q−1≡1modq(kp)^{q-1} \ {\equiv} \ 1 \mod \ q(kp)q−1 ≡ 1mod q((kp)q−1)k2(p−1)≡(kp)q−1≡1modq((kp)^{q-1})^{k_{2}(p-1)}\ {\equiv}\ (kp)^{q-1} \ {\equiv} \ 1 \mod \ q((kp)q−1)k2​(p−1) ≡ (kp)q−1 ≡ 1mod q(kp)k2φ(n)≡1modq(kp)^{k_{2}{\varphi}(n)} \ {\equiv} \ 1 \mod \ q(kp)k2​φ(n) ≡ 1mod qCk2φ(n)−aq1C^{k_{2}{\varphi}(n)}-aq 1Ck2​φ(n)−aq1两边同时乘上C,Ck2φ(n)1aCqCakpqCakNCk3NCC^{k_{2}{\varphi}(n)1}aCqCakpqCakNCk_{3}NCCk2​φ(n)1aCqCakpqCakNCk3​NC也即 CED≡CmodNC^{ED}\ {\equiv}\ C\mod\ NCED ≡ Cmod N原式得证。 素数检验Miller-Rabbin算法 涉及到两个定理 5.1 费马小定理参见3但是费马小定理的逆定理不一定成立 5.2 二次探测定理如果 p是一个素数0xp0xp0xp则方程 x2≡1modpx^{2}\ {\equiv}\ 1 \mod px2 ≡ 1modp 的解为 x1x1x1 或 xp−1xp-1xp−1 算法内容 · 设一个数为x分解为2stx−12^{s}t\ \ x-12st  x−1t为x不断除以2得到的最大奇数 · 随机取aaataa^{t}aat对a进行s次平方也即计算ba2modx,abb a^{2}\mod x,a bba2modx,ab如果其中有次平方的结果为b1而且此时a不为1或x-1则不满足二次探测定理 · 如果 ax−1modx≠1a^{x-1}\mod x {\neq}1ax−1modx​1则不满足费马小定理 如果可以a取小于x的足够多的质数或者随机选取a进行多次检测。Miller-Rabbin算法只能保证x大概率是一个素数不过这个概率已经足够大了。 快速幂 计算axmodn?a^x\mod n?axmodn?当a和x很大的时候中间结果超出存储容量又或者数字太大计算复杂此时需要快速计算这个指数模余值可以如下进行 对x分解为二进制形式则有axmodna2bk2bk−1⋅⋅⋅⋅⋅⋅2b0modn((a2bkmodn)⋅⋅⋅⋅⋅⋅(a2b0modn))modna^{x}mod\ n a^{2^{b_{k}}2^{b_{k-1}}······2^{b_0}}mod\ n ((a^{2^{b_k}} mod\ n)······(a^{2^{b_0}} mod\ n))mod\ naxmod na2bk​2bk−1​⋅⋅⋅⋅⋅⋅2b0​mod n((a2bk​mod n)⋅⋅⋅⋅⋅⋅(a2b0​mod n))mod n 二、实现代码 重新看下RSA算法的流程 · np×qn p{\times}qnp×q · Lφ(n)(p−1)(q−1)L {\varphi}(n) (p-1)(q-1)Lφ(n)(p−1)(q−1) · 随机选取 1eL使得gcd(e,L)11eL使得gcd(e,L)11eL使得gcd(e,L)1 ·计算 ed≡1modLed\ {\equiv}\ 1\mod\ Led ≡ 1mod L ·公钥对 n, d私钥对 n, e 由于RSA的安全性取决于n的大小所以生成的p和q越大越好那么需要 生成大素数p和q计算L (p-1)*(q-1)随机选取与L互质的e2eL计算e对L的逆元d销毁p、q保存n,e,d 1 生成素数 用基础算法列出1-1000的素数从2到x\sqrt xx​求x是非能被1和他自身外的其他数整除。 def createPrime():ret []for i in range(1000):for j in range(2,ceil(sqrt(i))1):if i % j 0:breakif j ceil(sqrt(i)):ret.append(i)return ret先实现快速幂算法再用Miller-Rabbin算法生成一个大的素数这个大有多大看需求。 # 1000以内的质数 prime_list [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103,107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223,227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347,349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463,467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743,751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883,887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]def quickPowerMod(a,x,n):# 计算a**x % nc b 1binary bin(x)[2:]binary reversed(binary)for it in binary:if it 0:# 结果不动乘子指数加一a (a ** 2) % nelse:# 结果乘上当前权重乘子指数加一b (a * b) % na (a ** 2) % nreturn bdef MillerRabin(num):# 偶数if num 1 0:return False# 将num分解为 (2**s)*t num-1s 1# 这时t必定是偶数将其分解到为奇数t num - 1while t 1 0:s 1t t // 2for it in prime_list:if it num:breaka quickPowerMod(it,t,num)# 二次探测定理for i in range(s):b a * a % numif b 1 and a ! 1 and a ! num-1:return Falsea bif a ! 1:# (it**t) 同余 1 mod num, 费马小定理return Falsereturn Truedef createBigPrime():pMin 10 ** 54pMax 10 ** 64a random.randint(pMin,pMax)while not MillerRabin(a):a random.randint(pMin, pMax)return a2 生成秘钥 接下来编写函数生成公钥私钥对求逆元的时候有几种算法由于明文和N关系未知选取扩展欧几里得算法又需要求最大公因子和最小公倍数的函数这两个很简单直接上代码。 def gcd(a,b):if a % b 0:return belse:return gcd(b, a % b)def lcm(a,b):c gcd(a, b)return a * b // cdef inverseGCD(a,b):# 递推求扩展欧几里得算法if b 0:return 1, 0else:k a // bx2, y2 inverseGCD(b, a % b)x1, y1 y2, x2 - k * y2# 注意x1可能为负在外面再求一次模return x1, y1def createKeys():q createBigPrime()p createBigPrime()n q * p# n的欧拉函数L (p - 1) * (q - 1)e random.randint(2,L)while gcd(e,L) ! 1:e random.randint(2,L)# 计算e * d 同余 1 mod L# 扩展欧几里得算法求逆元d, _ inverseGCD(e,L)d d % L#d e**(L-2)with open(e.txt, w) as f:f.write(str(e))with open(d.txt, w) as f:f.write(str(d))with open(n.txt, w) as f:f.write(str(n))return n, e, d3 对数据进行加密、解密 有了私钥对加密只是进行一个求快速幂的过程。 m 8916534261681675 n,e,d createKeys() print(私钥对\n,n,e) print(公钥对\n,n,d) en quickPowerMod(m,e,n) print(原消息: , m) print(加密后, en) de quickPowerMod(en,d,n) print(解密后, de)看下结果 已经完成正确的加解密 总结 RSA算法用到数论、离散数学的基础加密速度慢而且每次加密过程中消息大小M不能大于N。但RSA算法是公认非常安全的算法。 如果想对大小超出N的消息加密一般需要先用DES、SHA等对原消息计算成一定长度的摘要再对摘要进行RSA加密。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清河网站制作宁波网站推广方案

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://space.bilibili.com/485524575/channel/detail?cid94579 用户名密码0000001test0000002test0000003test0000004test文章目录1. 演示2. 代码2.1. 删除实例命令2.2. 执行删除动作1. 演示 …

公司网站建设费计入科目中国企业查询官网

目录 概述 安装 PHP 安装MySQL数据库 安装 WordPress 设置您的 WordPress 数据库 设置 MySQL/MariaDB 创建 WordPress 数据库 WordPress configuration 将WordPress站点发布到公网 安装相对URL插件 修改config.php配置 支持好友链接样式 定制主题 🎈个…

蓟县网站制作wordpress 显示全文

戳蓝字“CSDN云计算”关注我们哦!作者|马岛本文翻译自Alexandra Noonan 的 《Goodbye Microservices: From 100s of problem children to 1 superstar》内容是描述 Segment 的架构如何从 「单体应用」 -> 「微服务」 -> 「140 微服务」 -> 「单体应用」 的…

网站是什么字体高速建设材料在哪个网站购买

哈喽,大家好呀,淼淼又来和大家见面啦,如今移动应用市场不断的发展,许多开发者小伙伴们都选择将他们的应用发布到苹果App Store上,但是,有时候他们可能希望通过直接分享IPA文件来分发他们的App,那…

济南小程序网站开发天空人体网站怎么做

来源:楼今岁阅 摘要:2018年,我们都在谈智能家居、智能交通、智能工业、智能安防等热门物联网话题,并且预计到2020年,中国物联网的整体规模将超过1.8万亿元。发展如此迅速,其涉及的领域一定会越来越广&#…

paypal外贸门户网站中外网站建设区别

设置 VIO 核以执行测量 您添加到自己的设计中的 VIO 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果未显示这些 VIO 核 , 请右键 单击器件并选择“ Refresh Hardware ”。这样将重新扫描 FPGA 或 ACAP 并刷新“ Hardware ”窗口。 注释 &#xff…

小型网站设计及建设设计方案评价

文章目录 JDK7 vs JDK8 的 HashMap 结构变化Java8 中哈希表的红黑树优化机制HashMap 添加元素的完整流程解析1. 计算 key 的哈希值并确定索引2. 检查该索引位置是否已有元素3. 处理哈希冲突4. 判断当前存储结构(链表还是红黑树)5. 判断链表长度是否超过 …

深圳做外贸网站的公司wordpress收费下载资源插件

(201) 201 三十0 中断优先级补充 (202) 202 三十1 TCP的用户需求 函tcp_usrreq一 (203) 203 三十2 TCP的用户需求 函tcp_usrreq二 (204) 204 三十3 TCP的用户需求 函tcp_usrreq三 (205) 205 三十4 TCP的用户需求 函tcp_usrreq四 (206) 206 三十5 TCP的用户需求 函tcp_usrreq五 …

美食网站html代码ui培训班哪家好

为什么需要Schema Register 注册表 无论是使用传统的Avro API自定义序列化类和反序列化类 还是 使用Twitter的Bijection类库实现Avro的序列化与反序列化,这两种方法都有一个缺点:在每条Kafka记录里都嵌入了schema,这会让记录的大小成倍地增加。但是不管怎样,在读取记录时…

阿里云建站的优缺点企业网站建设规划可行性分析

全世界只有3.14 %的人关注了青少年数学之旅(图源 阿粪青,侵权删)

网站的邀请怎么做的手机网站 模板

电脑自动弹出网页的解决方法:我们可以利用360安全卫士中的弹窗过滤工具来解决此问题。首先我们打开360安全卫士;然后找到弹窗过滤工具;最后选择【强力模式】,保存设置即可。电脑自动弹出网页可以使用360安全卫士来进行弹窗拦截。打…

asp 网站 500wordpress在php什么版本

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动&中心旋转自转小球&割草旋转逻辑<&#xff01;&#xff01;&#xff01;文章末尾有完整代码下载链接地址&#xff01;&#xff01;&#xff01;> Hello大家好&#xff01;今天我们来用最新的CocosCreat…

WordPress激活邮件链接无效网站购物分享seo

物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;是指将各种物理设备、车辆、家用电器、工业设备等通过网络连接起来&#xff0c;实现数据交换和通信的技术。物联网操作系统是管理这些设备并使其能够相互通信的软件平台。以下是一些常见的物联网操作系统&…

网站建设合同百度文库中国在线商城注册管理平台

现在越来越多的人或公司都想开发出自己的直播网站或者直播APP&#xff0c;但是在技术这一块又不知道怎么下手&#xff0c;那么我就给大家讲一下在视频直播系统开发中要了解那些知识和技术&#xff1a; 在开发上需要用的技术有&#xff1a; 摄像头采集 音视频编解码 流媒体协议…

湖南建设局网站大连网站开发培训班

1 概要说明 使用微信扫描登录相信大家都不会陌生吧&#xff0c;二维码与手机结合产生了不同应用场景&#xff0c;基于二维码的应用更是比较广泛。为了满足ios、android客户端与web短信平台的结合&#xff0c;特开发了基于SinglarR消息推送机制的扫描登录。本系统涉及到以下知识…

网站建设永远在路上国际购物网站有哪些

摘 要 本系统为用户而设计制作旅游信息管理系统&#xff0c;旨在实现旅游信息智能化、现代化管理。本旅游信息管理自动化系统的开发和研制的最终目的是将旅游信息的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代管理人员的使用提供更多的便利和条件…

信贷 网站模板 下载网站文字规划

1、GitHub遭遇严重的供应链“投毒”攻击&#xff0c;影响GG平台 多年来&#xff0c;威胁行为者一直在使用多种策略、技术和程序 &#xff08;TTP&#xff09;&#xff0c;包括劫持 GitHub账户、分发恶意 Python 包、使用虚假的 Python 基础设施以及社会工程进行攻击&#xff0c…

网站建设如何创建框架页面记事本代码做网站

执行流程 spring中Bean对象的执行流程大致分为四步: 启动Spring容器实例化Bean对象Bean对象注册到Spring容器中将Bean对象装配到所需的类中 ①启动Spring容器,在main方法中获取spring上下文对象并配备spring. import demo.*;import org.springframework.context.Applicati…

企业网站建设推广含义重庆潼南网站建设公司电话

一、前言 随着深度学习在图像、语言、广告点击率预估等各个领域不断发展&#xff0c;很多团队开始探索深度学习技术在业务层面的实践与应用。而在广告CTR预估方面&#xff0c;新模型也是层出不穷&#xff1a; Wide and Deep[^1]、DeepCross Network[^2]、DeepFM[^3]、xDeepFM[^…

广德做网站护肤品网站制作 网新科技

关于JSP页面无法加载css&#xff0c;游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图&#xff1a; 代码如下&#xff1a; public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…