现代密码学|公钥密码体制 | RSA加密算法及其数学基础

文章目录

  • 公钥密码
  • RSA数学基础
    • 欧拉函数
    • 欧拉定理
    • 模指数运算
  • RSA加密算法
  • 对rsa的攻击

公钥密码

现代密码学|公钥密码体制概述

  • 加密
    A用B的公钥加密
    B用B的私钥解密
    在这里插入图片描述
  • 认证
    A使用A的私钥加密
    B使用A的公钥解密

在这里插入图片描述

  • 加密+认证
    A用A的私钥加密,再用B的公钥加密
    B用B的私钥解密,再用A的公钥解密
    在这里插入图片描述

RSA数学基础

现代密码学|RSA加密算法及其数学基础
在这里插入图片描述

欧拉函数

在这里插入图片描述

欧拉定理

在这里插入图片描述

模指数运算

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

在这里插入图片描述

在这里插入图片描述

求最大公因子
在这里插入图片描述
求乘法逆元
在这里插入图片描述

RSA加密算法

在这里插入图片描述
证明

在这里插入图片描述

分成互素和不互素两种情况
在这里插入图片描述
例题
在这里插入图片描述

对rsa的攻击

都是已知e n即公钥

遍历时候假设了x后然后根据 (p+q)/2 > 根号a 来取可能的q,使得q为y时候满足n=(x+y)*(x-y)

如果p-q的绝对值大的话,假设一个值p后需要遍历较长的可能值q才可能遍历到正确的p和q
在这里插入图片描述
不断加密,直到出现和c(mod b)相同
在这里插入图片描述

共模攻击最后能够泄露出明文

低指数攻击是利用中国剩余定理来求m的e次方
在这里插入图片描述

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

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

相关文章

VuePress v2 快速搭建属于自己的个人博客网站

目录 为什么用VuePress? 一、前期准备 Node.js 使用主题快速开发 二、VuePress安装 三、个性化定制 修改配置信息 删除不需要的信息 博客上传 四、部署 使用github快速部署 初始化仓库 本地配置 配置github的ssh密钥 部署 为什么用VuePress&#xff…

【阅读记录-章节1】Build a Large Language Model (From Scratch)

目录 1. Understanding large language models1.1 What is an LLM?补充介绍人工智能、机器学习和深度学习的关系机器学习 vs 深度学习传统机器学习 vs 深度学习(以垃圾邮件分类为例) 1.2 Applications of LLMs1.3 Stages of building and using LLMs1.4…

平台整合是网络安全成功的关键

如今,组织面临着日益复杂、动态的网络威胁环境,随着恶意行为者采用越来越阴险的技术来破坏环境,攻击的数量和有效性也在不断上升。我们最近的 Cyber​​Ark 身份威胁形势报告(2024 年 5 月)发现,去年 99% 的…

PlantUML——时序图

PlantUML时序图 背景 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图,用于描述对象之间发送消息的时间顺序,显示多个对象之间的动态协作。时序图的使用场景非常广泛,几乎各行各…

【MYSQL】分库分表

一、什么是分库分表 分库分表就是指在一个数据库在存储数据过大,或者一个表存储数据过多的情况下,为了提高数据存储的可持续性,查询数据的性能而进行的将单一库或者表分成多个库,表使用。 二、为什么要分库分表 分库分表其实是两…

Spring纯注解开发

在我的另一篇文章中(初识Spring-CSDN博客),讲述了Bean,以及通过xml方式定义Bean。接下来将讲解通过注解的方法管理Bean。 我们在创建具体的类的时候,可以直接在类的上面标明“注解”,以此来声明类。 1. 常…

git push时报错! [rejected] master -> master (fetch first)error: ...

错误描述:在我向远程仓库push代码时,即执行 git push origin master命令时发生的错误。直接上错误截图。 错误截图 错误原因: 在网上查了许多资料,是因为Git仓库中已经有一部分代码,它不允许你直接把你的代码覆盖上去…

java常用工具包介绍

Java 作为一种广泛使用的编程语言,提供了丰富的标准库和工具包来帮助开发者高效地进行开发。这些工具包涵盖了从基础的数据类型操作到高级的网络编程、数据库连接等各个方面。下面是一些 Java 中常用的工具包(Package)及其简要介绍&#xff1…

latex中,两个相邻的表格,怎样留一定的空白

目录 问题描述 问题解决 问题描述 在使用latex写论文时,经常表格需要置顶写,则会出现两个表格连在一起的情况。下一个表名容易与上面的横线相连,如何通过明令,留出一定的空白。 问题解决 在第二个表格的 \centering命令之后…

react中如何在一张图片上加一个灰色蒙层,并添加事件?

最终效果: 实现原理: 移动到图片上的时候,给img加一个伪类 !!此时就要地方要注意了,因为img标签是闭合的标签,无法直接添加 伪类(::after),所以 我是在img外…

C++builder中的人工智能(27):如何将 GPT-3 API 集成到 C++ 中

人工智能软件和硬件技术正在迅速发展。我们每天都能看到新的进步。其中一个巨大的飞跃是我们拥有更多基于自然语言处理(NLP)和深度学习(DL)机制的逻辑性更强的AI聊天应用。有许多AI工具可以用来开发由C、C、Delphi、Python等编程语…

【项目开发】URL中井号(#)的技术细节

未经许可,不得转载。 文章目录 前言一、# 的基本含义二、# 不参与 HTTP 请求三、# 后的字符处理机制四、# 的变化不会触发网页重新加载五、# 的变化会记录在浏览器历史中六、通过 window.location.hash 操作七、onhashchange 事件八、Google 对 # 的处理机制前言 2023 年 9 月…

AUTOSAR_EXP_ARAComAPI的7章笔记(5)

☞返回总目录 相关总结:典型的 SOME/IP 多绑定用例总结 7.3.3 典型的SOME/IP多绑定用例 在前面的章节中,我们简要提到,在一个典型的SOME/IP 网络协议的部署场景中,AP SWC不太可能自己打开套接字连接来与远程服务通信。为什么不…

Jenkins下载安装、构建部署到linux远程启动运行

Jenkins详细教程 Winodws下载安装Jenkins一、Jenkins配置Plugins插件管理1、汉化插件2、Maven插件3、重启Jenkins:Restart Safely插件4、文件传输:Publish Over SSH5、gitee插件6、清理插件:workspace cleanup system系统配置1、Gitee配置2、…

Flutter:Dio下载文件到本地

import dart:io; import package:dio/dio.dart;main(){// 创建dio对象final dio Dio();// 下载地址var url https://*******.org/files/1.0.0.apk;// 手机端路径String savePath Directory.systemTemp.path/ceshi.apk;print(savePath);downLoad(dio,url,savePath); }downLo…

【C++笔记】C++三大特性之多态

【C笔记】C三大特性之多态 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】C三大特性之多态前言一.多态1.1 多态的概念1.2 虚函数1.3 虚函数的重写/覆盖1.4 多态的定义及实现 二.虚函数重写的⼀些其他问题2.1 协变(…

2.STM32之通信接口《精讲》之USART通信

有关通信详解进我主页观看其他文章!【免费】SPIIICUARTRS232/485-详细版_UART、IIC、SPI资源-CSDN文库 通过以上可以看出。根据电频标准,可以分为TTL电平,RS232电平,RS485电平,这些本质上都属于串口通信。有区别的仅是…

麒麟V10,arm64,离线安装docker和docker-compose

文章目录 一、下载1.1 docker1.2 docker-compose1.3 docker.service 二、安装三、验证安装成功3.1 docker3.2 docker-compose 需要在离线环境的系统了里面安装docker。目前国产化主推的是麒麟os和鲲鹏的cpu,这块的教程还比较少,记录一下。 # cat /etc/ky…

云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…

三十九、Python(pytest框架-中)

一、执行用例的方式 1.工具执行 2.在终端使用命令行运行 命令:pytest -s 用例代码文件 -s 的作用是输出显示代码中的 print。 3.在主函数main中执行 if __name__ "__main__": # 主函数pytest.main([-s, 用例代码文件]) import pytestclass TestDemo…