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

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

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

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://chlfg.com/post/74183.html

分享给朋友:

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

武汉app定制开发公司(武汉app定制开发公司怎么样)

武汉app定制开发公司(武汉app定制开发公司怎么样)

1华盛恒辉科技有限公司 上榜理由华盛恒辉是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面系统的开发制作方案在开发建设到运营推广领域拥有丰富经验,在教育,医疗,APP,管理,商城,人工。 三整体评估选择开发公司,一定要进行整体评估,一是评估自身,二是评估对方四跟进速度好的AP...

网站类app(网站类型有哪些)

网站类app(网站类型有哪些)

1、2旅游app排行榜前十名3旅游的app有哪些4旅游攻略app排行榜前十名口碑最好的旅游软件有哪些?口碑好的旅游软件去哪儿携程旅行穷游驴妈妈旅游蚂蜂窝自由行一去哪儿去哪儿APP是国内较大的一家旅游出行APP,上面有旅游。 2、2AppmakriOS,WindowsPhone,AndroidAppM...

做企业规划的app(做企业规划的步骤有哪些)

做企业规划的app(做企业规划的步骤有哪些)

十大室内设计培训机构排行榜 现在室内设计的门槛越来越低,越来越考验设计师的能力,想要让自己的技术精益求精,想在预计的时间内学到真本领,则选择去正规学校进行专业的学习。因为专业的室内培训学校可以给学员进行更加正规的培训,比如杭州清风室内设计培训学院,专攻室内设计一门专业,老师都是股份责任制,培训班进行...

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

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

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

杭州定制开发app案例(杭州定制开发app案例分析)

杭州定制开发app案例(杭州定制开发app案例分析)

2你想要开发的类型是否是开发公司的强项 再牛的APP开发公司不可能什么类型什么行业的APP都开发过,一般比较好的APP开发公司都有强项,也就是说擅长开发某一个或者哪几个行业的APP,并且有高质量的开发案例所以找APP开发;开发一个App的费用因多种因素而异,一般来说,定制开发的App价格会比较高根据...

app应用开发哪里做得好(各种app开发的是学什么专业的)

app应用开发哪里做得好(各种app开发的是学什么专业的)

北京华盛恒辉科技有限公司东软集团海辉软件等都不错北京华盛恒辉科技有限公司hivekion是一家专注IT产品研发与服务的企业,是全球领先的IT解决方案提供商东软以软件技术为核心,通过软件与服务的结合,软件与制造的。 其实市场上做APP的也有好多公司,但是每一个公司他主营都不一样,因为每个公司技术的专业...