// 表示题目意思我是理解了蛮久 英语太水了
//首先这是解密公式 m=c^d mod n
// 给你 p q e 然后 n=p*q fn=(p-1)*(q-1)
// 给你 e,根据公式 e*d mod fn =1 求出 d
// 然后有 L个数据要解密
// 算法:
// 扩展欧几里得 :求 d
// 快速幂运算 :解密
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
#define maxm 100010
#define maxn 1000110
#define LL __int64
LL pow(LL a,LL b,int m){
LL t=;
for(;b>;b=b>>,a=(a*a)%m)
if(b&) t=(t*a)%m;
return t;
}
LL d,x,y;
void extendGcd(LL a,LL b){
if(b==){
d=a;
x=;
y=;
}
else{
extendGcd(b,a%b);
LL tp=x;
x=y;
y=tp-a/b*y;
}
}
int main()
{
int cc;
char ch;
LL p,q,e,l,fn,n;
while(scanf("%I64d %I64d %I64d %I64d",&p,&q,&e,&l)!=EOF){
fn=(q-)*(p-);
n=p*q;
extendGcd(e,fn);
while(x<) x+=fn/d;
//printf("%I64d",x);
while(l--){
scanf("%d",&cc);
ch=(char)(pow(cc,x,n));
printf("%c",ch);
}
printf("\n");
}
//printf("%I64d %I64d\n",x,y);
return ;
}
hdu 1211 RSA的更多相关文章
-
hdu 1211 RSA (逆元)
RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
-
HDU 1211 EXGCD
EXGCD的模板水题 RSA算法给你两个大素数p,q定义n=pq,F(n)=(p-1)(q-1) 找一个数e 使得(e⊥F(n)) 实际题目会给你e,p,q计算d,$de \mod F(n) = 1$ ...
-
hdu 1211 逆元
RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
-
HDU 1211
水.模拟即可.使用EXGCD求逆元 #include <iostream> #include <cstdio> #include <cstring> #includ ...
-
HDU RSA 扩展欧几里得
Problem Description RSA is one of the most powerful methods to encrypt data. The RSA algorithm is de ...
-
转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
-
基于OpenSLL的RSA加密应用(非算法)
基于OpenSLL的RSA加密应用(非算法) iOS开发中的小伙伴应该是经常用der和p12进行加密解密,而且在通常加密不止一种加密算法,还可以加点儿盐吧~本文章主要阐述的是在iOS中基于openSL ...
-
HDU——PKU题目分类
HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...
-
[转] HDU 题目分类
转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...
随机推荐
-
Tomcat数据源(DataSource)简介
JDBC2.0提供了javax.sql.DataSource接口,它负责建立与数据库的连接,在应用程序中访问数据库时不必编写连接数据库的代码,可以直接从数据源获得数据库连接 1.数据库和连接池 在Da ...
-
SQLSERVER 获取datetime日期的查询语句
SELECT varchar(10:57AM SELECT varchar(CONVERT(100), GETDATE(), 2): 11.05.16 SELECT varchar(CONVERT(1 ...
-
规范化注释 VVDocumenter的使用方法
很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,但是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,规范化的注释,主需要输入三个斜线“///” ...
-
Photoshop技巧:图层蒙版同步隐藏图层样式
原效果: 添加图层蒙版后,遮住一半,图层样式仍在,如: 进入图层样式,勾选“图层蒙版隐藏效果” 最终效果:
-
Redux中的重要概念
Action/Reducer/Store 首先,先看看第一张图,图中展示了Redux的单向数据流,以及Action.Reducer和Store这三个核心概念. 下面就围绕上图,非别介绍Action.R ...
-
TCP 和 UDP
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
-
Android View 的事件分发原理解析
作为一名 Android 开发者,每天接触最多的就是 View 了.Android View 虽然不是四大组件,但其并不比四大组件的地位低.而 View 的核心知识点事件分发机制则是不少刚入门同学的拦 ...
-
第一册:lesson ninety-seven。
原文: A small blue case. I left a suitcase on the train to London the other day. Can you describe it , ...
-
python爬虫scrapy之如何同时执行多个scrapy爬行任务
背景: 刚开始学习scrapy爬虫框架的时候,就在想如果我在服务器上执行一个爬虫任务的话,还说的过去.但是我不能每个爬虫任务就新建一个项目吧.例如我建立了一个知乎的爬行任务,但是我在这个爬行任务中,写 ...
-
想拥有一款钢铁侠Jarvis管家的软件吗?
漫威的<钢铁侠>电影很好看,里面钢铁侠的管家Jarvis,可以说非常酷.既能管理日常生活,还能组装钢铁战衣.跟随托尼出生入死,形影不离. 那么现实生活中,想不想拥有这一款软件?看看下面这个 ...