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

HDU RSA

翻译成中文后:

思路:由题易得,d * e +y * f ( n ) = 1 ,且gcd ( e , f ( n ) ) = 1,所以用扩展欧几里得求出 d ,但要保证 d 是非负的,最有用快速幂求出每个字符即可。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int exgcd(int a,int b,int &x,int &y){if(b==0){x=1,y=0;return a;}int gcd=exgcd(b,a%b,y,x);y-=a/b*x;return gcd;
}
int ksm(int x,int y,int p){int ans=1;while(y){if(y&1) ans=ans*x%p;x=x*x%p;y>>=1;}return ans;
}
signed main(){int p,q,e,l;while(cin >> p >> q >> e >> l){int n=p*q,f=(p-1)*(q-1);while(l--){int c,x,y;cin >> c;int gcd=exgcd(e,f,x,y);x=(x+f)%f;cout << (char)ksm(c,x,n);}cout << endl;}return 0;
}

http://www.lryc.cn/news/466010.html

相关文章:

  • 数据仓库建设 : 主题域简介
  • 开源表单生成器OpnForm
  • Zookeeper面试整理-Zookeeper的基础概念
  • 验证archive_command配置是否正确
  • 2024.10.19小米笔试题解
  • SQL-SERVER导入excel表格
  • Vue学习笔记(三、v-cloak、v-text、v-html指令)
  • Java | Leetcode Java题解之第496题下一个更大元素I
  • 【ArcGIS微课1000例】0125:ArcGIS矢量化无法自动完成面解决方案
  • slam技术支持下的果园作物估产论文汇总
  • 政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu (Linux ) 系统应用Gradio-Lite:无服务器 Gradio 完全在浏览器中运行
  • Spring 中的 @AUtowire 和 @Resource 用法和原理,以及避坑
  • 速盾:cdn能加速游戏吗?
  • 速盾:高防服务器防火墙的特性是什么?
  • 初识git · 远程操作
  • 深度学习:卷积神经网络(CNN)详解
  • 软件测试学习笔记丨Pycharm实用技巧
  • Vue学习笔记(二、Vue.js的引入与对象创建)
  • 从0-1搭建金融智能助理保姆级教程:拆箱即用的微信公众号后端+AI Agents智能体框架
  • Yolov10训练的餐盘菜品目标检测软件(包含源码及数据集)
  • Active Directory(活动目录)密码审核工具
  • Transformer为什么使用LayerNorm而不是BatchNorm?
  • 理解和重构目录结构:Java 中的父子关系管理
  • ES6面试题:(第一天)
  • 【ChatGPT】什么是ChatGPT:基础介绍与使用场景
  • 工业自动化为什么依赖光耦隔离器 --- 腾恩科技
  • Linux环境下Jmeter执行压测脚本
  • PROFINET开发或EtherNet/IP开发嵌入式板有用于工业称重秤
  • OracleT5-2 Solaris11安装
  • 详解 JuiceFS 在多云架构下的数据同步与一致性