【Crypto】RSA

文章目录

  • 题目
  • 步骤
    • 1.计算 𝑛
    • 2.计算欧拉函数 𝜙(𝑛)
    • 3. 扩展欧几里得算法求逆元 𝑑
  • 解题感悟


题目

在这里插入图片描述
在这里插入图片描述

p=473398607161
q=4511491
e=17
求d

步骤

1.计算 𝑛

公式:n=p×q

n=473398607161×4511491=2135733555619387051

2.计算欧拉函数 𝜙(𝑛)

公式:𝜙(𝑛)=(p−1)×(q−1)

𝜙(𝑛)=(473398607161−1)×(4511491−1)=2135733082216268400

3. 扩展欧几里得算法求逆元 𝑑

d×e≡1(mod𝜙(𝑛))
意思是在模 𝜙(𝑛)的运算下,𝑑和𝑒是互为乘法逆元的。也就是说𝑑是𝑒的逆元,使得𝑒乘以𝑑后对𝜙(𝑛) 取模得到 1

直接用python进行计算

from sympy import mod_inverse# 给定值
e = 17
phi_n = 2135732641062828400# 计算 d (e 在模 phi_n 下的乘法逆元)
d = mod_inverse(e, phi_n)
print(d)  # 输出应为 125631357777427553

其实直接可以所有计算都交给python

from sympy import mod_inverse
p = 473398607161
q = 4511491
e = 17
phi_n = (p - 1) * (q - 1)
d = mod_inverse(e, phi_n)
print(d)

解题感悟

手撕这道题的话需要用到:扩展欧几里得算法,欧拉函数,模运算,逆元的求解等…感受到了python的便利!

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

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

相关文章

初识STM32单片机-TIM定时器

初识STM32单片机-TIM定时器 一、定时器概述二、定时器类型2.1 基本定时器(TIM6和TIM7)2.2 通用定时器(TIM2、TIM3、TIM4和TIM5)2.3 高级定时器(TIM1和TIM8) 三、定时中断基本结构和时基单元工作时序3.1 定时器基本结构3.2 预分频器时序3.3 计数器时序3.3.1 计数器有无预装时序(…

ACM实训冲刺第二十一天

寒冰王座(数据处理与逻辑判断) 这段C语言代码实现了一个根据特定条件计算整数输入值变换的程序,它并不直接对应于经典的算法题类型,但可以视为一个“数据处理与逻辑判断”练习题。代码的主要逻辑如下: 读取测试数据数量…

electron-builder 打包配置

electron-builder介绍 一个完整的解决方案,用于打包和构建适用于macOS、Windows和Linux的可供分发的Electron应用程序,并提供开箱即用的“自动更新”支持。 命令 Commands: electron-builder build 构建 …

数据库设计分为几个阶段?

数据库设计可以分为以下几个阶段: 1.需求分析阶段:确定数据库的目标和需求,包括确定数据库的功能、数据量、访问模式、安全性等。 2.概念设计阶段:根据需求分析,设计出数据库的概念模型,包括实体、关系、…

Java学习52-迭代器 iterator

迭代器 iterator 迭代器Iterator的作用? 集合Collection是一个容器,是用来存储数据的。Iterator不是容器,是用来遍历现存的集合中的数据的。 2.如何选取迭代器Iterator对象? Iterator iterator coll.iterator(); 3.如何实现遍…

Hono 框架使用经验谈

Hono🔥是一个小型、快速并开源的 Serverless Web 框架,用 TypeScript 写就。它适用于任何JavaScript运行时:Cloudflare Workers,Fastly ComputeEdge,Deno,Bun,Vercel,Netlify&#x…

动手学操作系统(一、搭建实验环境)

动手学操作系统(一、搭建实验环境) 文章目录 动手学操作系统(一、搭建实验环境)1. 在VMware虚拟机中安装ubuntu20.042. 安装Bochs3. 启动计算机Reference 🚀 环境配置 🚀 笔者的环境使用的是 ubuntu 20.04…

python多线程的使用

Python 多线程探索 在 Python 编程中,多线程是一项强大的技术,它允许我们同时执行多个任务,从而提高程序的效率和响应性。 一、线程的基本概念 线程是进程中的一个执行单元,可以与其他线程共享进程的资源。 二、创建线程 在 P…

HTML/JavaScript实现复制文本、复制HTML、复制图片功能

文章目录 复制文本复制HTML复制图片全代码 复制文本 navigator.clipboard.writeText 接收一个字符串参数&#xff0c;写入到剪贴板中。 <button onclick"copyText()">复制文本</button> <script> function copyText() {// navigator.clipboard.wri…

Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程

0.环境 Confluence也是比较吃运存了&#xff0c;我建议运行运存给到4g或者4g以上就可以了&#xff0c;核数可以给到1核或以上 我部署在centos7.9操作系统上&#xff0c;ip地址为&#xff1a;192.168.6.1&#xff0c;yum仓库使用的是自己的镜像文件&#xff0c;本章所有使用到…

爱普生XC1011SD为电气稳定控制系统组合式传感器推出解决方案

在现代电力系统中&#xff0c;确保系统的安全和稳定运行至关重要。为了应对这一需求&#xff0c;我们推出了XC1011SD组合式传感器解决方案&#xff0c;它专为电气稳定控制系统设计&#xff0c;提供了卓越的性能和可靠性。 XC1011SD是一款集成陀螺仪传感器和双轴加速度计于一体的…

炸裂!AI五分钟模仿爆款IP故事,涨粉速度太绝了!

‍ ‍大家好&#xff0c;我是向阳。 今天我要分享一个利用AI技术模仿爆款账号的小技巧&#xff0c;帮助大家迅速增加粉丝。这个方法简单实用&#xff0c;尤其适用于副业和本地生活领域。接下来&#xff0c;我将为大家详细讲解操作步骤。让我们开始吧。 副业赚钱&#xff1a;模…

合约构成-成员变量、函数、事件event、修饰器modifier及构造函数

合约的基本结构 合约中的成员变量合约中的成员函数Event&#xff08;事件&#xff09;、modifier(修饰器)与constructor&#xff08;构造函数:实例产生的时候执行&#xff09; Event事件 modifier construcor 1、成员变量 概念&#xff1a;存储合约状态的变量 声明方法&a…

北京证券公司港股通交易佣金手续费最低是多少?万0.8?港股通纳入规则是怎么样的?

港股通交易佣金概述 港股通的交易佣金可能会因证券公司和投资者的不同而有所差异。 北京证券公司的港股通交易佣金最低可能万分之零点八&#xff08;0.008%&#xff09;&#xff0c;但这需要投资者与证券公司客户经理了解&#xff0c;进行沟通和申请。 一般来说&#xff0c;…

git-将老项目的分支推送到新项目的新分支上

1.克隆新项目&#xff1a;首先&#xff0c;将新项目的仓库克隆到本地。使用以下命令将新项目克隆到本地&#xff1a; git clone <新项目的仓库地址> 2.进入新项目目录&#xff1a;进入新项目的目录&#xff0c;使用以下命令&#xff1a; cd <新项目目录> 3.添加旧项…

CSS学习笔记:Less

什么是Less&#xff1f; Less是一个CSS预处理器&#xff0c; Less文件后缀是.less 扩充了CSS 语言&#xff0c;使CSS具备一定的逻辑性、计算能力 可以通俗地理解&#xff1a;Less是一种更好用的CSS 注释 运算 嵌套 Less嵌套的作用&#xff1a;快速生成后代选择器 变量 问…

软考中级-软件设计师-真题详解【2023年上半年】

2023上半年真题记忆点详解 本片不涉及解题法&#xff0c;只整理记忆背诵点&#xff0c;记住即可拿分。 上午题部分&#xff1a; 片内总线&#xff1a;用于芯片内部各主要部件连接&#xff1b; 系统总线&#xff1a;用于CPU、主存、外设见的数据传输&#xff1b; 通讯总线&…

嵌入式LINUX开发成长计划

LINUX基础 嵌入式LINUX安装与环境配置完全指南-CSDN博客 基于ViutualBoxUbuntu(Linux)的开发环境搭建-CSDN博客 嵌入式LINUX常见符号与常用命令-CSDN博客 Git

04 FreeRTOS 队列(queue)

1、队列的特性 队列可以理解为一个传送带&#xff0c;一个流水线。 队列可以包含若干个数据&#xff1a;队列中有若干项&#xff0c;这被称为"长度"(length) 每个数据大小固定 创建队列时就要指定长度、数据大小 数据的操作采用先进先出的方法(FIFO&#xff0c;First…

使用 Python 管理串口通信:实现一个串口管理器

程序员老茶 &#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; P   S : 点赞是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#…