当前位置:首页 > APP资源 > 正文内容

百词斩听力app下载(百词斩听力在哪里)

APP资源9个月前 (12-27)347

2019年蓝桥杯软件类省赛(软件类)C/C++大学A组第5题 “RSA解密”,题目链接:

http://oj.ecustacm.cn/problem.php?id=1456

*本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供。

01

题目描述

仍然是填空。

RSA 是一种经典的加密算法。它的基本加密过程如下。

首先生成两个质数 p , q,令 n = p ⋅ q,设 d与 ( p − 1 ) ⋅ ( q − 1 )互质,则可找到 e使得 d ⋅ e除 ( p − 1 ) ⋅ ( q − 1 ) 的余数为 1。

n,d,e 组成了私钥,n , d组成了公钥。

当使用公钥加密一个整数 X时(小于 n),计算 C = X d mod n,则 C是加密后的密文。

当收到密文 C时,可使用私钥解开,计算公式为 X = C e mod n。

百词斩听力app下载(百词斩听力在哪里)

例如,当 p = 5 , q = 11 , d = 3 时 , n = 55 , e = 27。

若加密数字 24,得 24 3 mod 55 = 19。

解密数字 19,得 19 2 7 mod 55 = 24。

02

题解

1

求p、q

1

C++代码

执行实际约十秒。

//大概10秒

展开全文

# includebits/stdc++.h

# definell long long

usingnamespacestd;

intmain{

ll n = 1001733993063167141;

ll k= sqrt(n);

for(ll i = 2; i k; i++)

if(n % i == 0)

cout i " " n / i endl;

return0;

}

2

python代码

竟然要几分钟!Python在做循环的时候失去了威力。

网上有大量吐槽Python的** for循环慢**的帖子。

from math import*

n = 1001733993063167141

k = int(sqrt(n))

fori in range( 2,k):

ifn%i == 0:

print(i,n //i)

2

求e

这时候要用到真正的大数了。c++的64位long long不够用,虽然有_int128,但是有些编译器不支持。

n = 1001733993063167141

d = 212353

p=891234941

q=1123984201

tmp = (p - 1) * (q - 1)

print(tmp)

fori inrange(2,n+1):

now = i * tmp + 1

if(now % d == 0):

print(now // d) #打印e

break#有很多e,求第一个就行了

3

求X = C e mod n

原来,本题是考了一个快速幂。还是用Python吧:

def qpow( a, b, mod):

ret= 1

whileb:

if( b 1):

ret= ret* a% mod

a= a* a% mod

b= 1

returnret

n = 1001733993063167141

e= 823816093931522017#试试其他的 e

C = 20190324

print(qpow(C, e,n)) # 579706994112328949

03

快速幂

快速幂的原理,在《算法竞赛入门到进阶》156页做了清晰简明的解释。大家可能没有这本书,这里贴图:

04

参考书籍

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://bjqlhc.com/post/74183.html

分享给朋友:

“百词斩听力app下载(百词斩听力在哪里)” 的相关文章

keepappcancel的简单介绍

keepappcancel的简单介绍

大部分的健身app提供健身训练计划教练课程分享打卡社区等功能,一些健身软件还提供记录体重变化和饮食习惯分析等功能下面为大家提供了几款方便实用的健身app,一起来看看吧!1KeepappKeep是一款目前非常受欢迎的移动健身指导健身应用,是。 根据查询百度经验得知,如果您不想继续使用keep的会员服务...

快手app成人短视频(快手app成人短视频怎么下载)

快手app成人短视频(快手app成人短视频怎么下载)

1、首先,打开快手应用,然后点击右下角的“我的”按钮在个人主页上方会出现一个“青少年模式”的选项,点击进入在青少年模式页面上,你需要进行实名认证以证明你已经满足使用成年版的条件完成实名认证后,你可以点击页面上的。 2、快手成年版可以通过以下步骤打开1 打开快手App首先,在手机上找到并打开已经安装好...

app软件制作费用(app软件制作费用计入什么科目)

app软件制作费用(app软件制作费用计入什么科目)

一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言ObjectiveC的难度,都让APP开发者加大了苹果系统手机APP开发的难度三APP制作成本包含参与人员的工资 通常;1平台费用苹果APP开发者99美元企业开发者299美元2软著费用A...

南昌制作app(南昌制作企业网站公司)

南昌制作app(南昌制作企业网站公司)

1、南昌地铁app鹭鹭行是由南昌轨道交通集团有限公司推出的一款地铁出行软件,能让广大市民朋友的出行更加方便快捷,其中扫码乘车最为实用,用户通过它可以在地铁里面的闸机口扫码,进出扫两次码就能完成乘车付费了,让你不再使用零钱;夜幕app是正规的夜幕是一块提供按摩养生服务的生活类软件,可以在线预订各种舒适...

浙江app制作哪家好(浙江app开发一般是什么流程)

浙江app制作哪家好(浙江app开发一般是什么流程)

1、售后服务都是长期的,保持长期运营才是做APP的目的APP开发公司哪家好,可以从以下方面着手1是否有成熟的专业的开发团队 这代表一个APP开发公司的技术实力,如果有非常专业的开发团队,不管客户需要定制什么样的功能,都;经过小编多年的软件开发经验,像企业app开发,从前期投入制作到后期维护迭代更新,...

app开发中文版(中文app开发软件)

app开发中文版(中文app开发软件)

1、安卓和ios都各自开发同样的逻辑界面,要写两套第二种,网页版APP开发是利用web技术进行的APP开发,我们知道web技术本身需要浏览器的支持才能进行展示和用户交互H5开发的好处是可以跨平台编写代码,同时在androidiosWindows上;汉语学习软件开发的目标就是能让孩子们更快的学习汉语,...