密码学学习笔记(七):Modular arithmetic - 模算数

news2024/10/5 20:24:24

简介

模算术是整数的一种算术结构,其中数字在达到特定值时“环绕”。模运算使我们能够简单地生成群、环和域,这是大多数现代公钥密码系统的基本构造部分。其中数字超过一定值后(称为模)后会“卷回”到较小的数值。

模算数常见的应用在十二小时制,将一天分为二个以十二小时计算的单位。

模算术运算

假设这有一个13点的时钟:

设有一个小于p的整数集:Z_{p} = {0,1,2,...,𝑝 − 1}

上图中p=13,所以:Z_{13} = {0,1,2,...,12}

加运算:先加然后求余数模p(即除以p)

  • 5 + 7 = 12 𝑚𝑜𝑑 13

这里12小于13所以5+7等于12不用考虑mod。

  • 7 + 12 = 6 𝑚𝑜𝑑 13
这里原本的7 + 12 = 19,因为19超出了mod 13所以19 / 13 = 1 余6,这里还可以通过上方时钟来结合看,如果一开始指针在7点,当过了12个小时之后指针会落在6点。

乘运算:先乘然后求模p的余数

  • 2 × 5 = 10 𝑚𝑜𝑑 13
小于13所以直接得10
  • 5 × 7 = 9 𝑚𝑜𝑑 13
5 x 7本来等于35,35  / 13 = 2 余9

减运算:加法的逆运算

  • 12 − 7 = 5 𝑚𝑜𝑑 13

小于13所以直接得5

  • 6 − 12 = 7 𝑚𝑜𝑑 13
可以反过来想,12+几等于6,因为模13,所以+1之后得0。1 + 6 = 7,所以等于7

除运算:乘法的逆运算

  • 10 ÷ 5 = 2 𝑚𝑜𝑑 13
小于13所以直接得2
  • 9 ÷ 7 = 5 𝑚𝑜𝑑 13

可以反过来想,设5=n,7n mod 13 余9,相当于就是7n / 13余9

逆乘法

如果x*y = 1 mod p那么在Z_{p} 中,x和y互为倒数。

  • y只有在gcd(𝑦, 𝑝) = 1的时候存在

逆可用于计算除法:

如果𝑝 是质数,每个𝑥 在里面Z_{p} 除了零点外还有一个倒数。

比如:

Z_{7} 中,(1,1),(2,4),(3,5),(6,6)都互为倒数。

指数和生成器

指数:重复乘法

比如

生成器:通过求幂生成整个组的元素

比如2就是的生成器。

代表所有在Z_{p} 中可逆的元素

Fermat’s Little Theorem - 费马小定理

如果p是质数,则

所以mod(p-1)可以用指数运算。

比如:

对于生成器𝑔, 选择一个随机指数𝑎:g^{a}将是随机的。

 

 

 

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

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

相关文章

5.2ORB-SLAM3之回环矫正

1.简介 在上一章《回环检测之检测是否存共视区域》已经介绍了检测共视区域的部分,接下来就是对共视区域进行回环矫正或者地图融合。 回环矫正和之前的ORBSLAM系列一致,就是消除因为长时间运动产生的位姿累计误差和尺度漂移。在ORBSLAM3中新增了多地图系…

idea集成maven-mvnd

maven-mvnd是什么? 参考文档: Maven加强版 — mvnd的使用测试 - 知乎 1.下载mvnd安装包 Releases apache/maven-mvnd GitHub 2.修改配置文件:安装包中的conf目录下的mvnd.properties文件 配置maven settings的地址: 注意&am…

MySQL配置主从备份

文章目录 1.什么是主从备份2. 原理3.配置主服务器4.配置从服务器4.1进入数据库,准备建立连接4.2开启 slave 连接,主备机连接成功,数据开始同步4.3查看有关从属服务器线程的关键参数的信息 1.什么是主从备份 主从复制简单来说就是主库把增删改…

环境搭载vscode

Windows 10 下 VS Code 配置 C 开发环境(MinGW) 读书读傻了哟 配置 C/C 环境   主要是配置launch.json、tasks.json这两个文件(当然,还有别的.json文件,可有可无)。这两个文件位于.vscode文件夹下&#…

mysql--第一天基础操作

1.创建数据库 2.查询创建数据的语句 3.使用数据库,查询当前默认的数据库以及使用的编码方式校验规则 4.删除数据库 5.在一张表中定义多个字段,要使用今天提到的所有的数据类型(数字,文本,日期) 查看表结构

产品方案设计高效的4大注意事项

做产品方案时,我们容易遭遇:未澄清需求、未梳理业务方案、缺少思考过程以及缺少对比方案等误区,往往会造成产品方案并不能完全解决用户问题,项目后期容易遇到需求变更等风险。 因此如何如何高效设计产品方案?就显得尤为…

SpringCloud入门实战(十二)-Sleuth+Zipkin分布式请求链路跟踪详解

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

Django的数据库配置、生成(创建)过程、写入数据、查看数据的学习过程记录

目录 01-配置数据库信息02-安装Python的MySQL数据库驱动程序 mysqlclient03-安装Mysql,并启动Mysql04-定义Django的数据库模型(定义数据表-编写models.py文件)05-按照数据的配置生成数据库(执行迁移命令)05-01-生成迁移执行文件05-02-执行数据库模型迁移 06-查看数据…

Vue.js Js引入相关

Vue.js vue.js 新增了一些语法,有一些旧的模组并没有使用"先进"的export和import语法 即 es语法进行模块化。 <script></script>但 editor.md 真的很好用. 但很抱歉,它在vue中无法使用 es6 进行导入。 所以需要使用传统的方式进行导入。 很多人会把js…

【ARM Coresight 系列文章 2.1 - ARM Coresight 组件介绍】

文章目录 1.1 Coresight 组件介绍1.1.1 Trace sources1.1.2 Trace Sinks1.1.2 Trace links 1.1 Coresight 组件介绍 图 1-1 1.1.1 Trace sources 什么是 Trace source? 在ARM Coresight技术中&#xff0c;Trace Source是指处理器中的一个组件&#xff0c;用于产生和发送跟踪数…

全球十大看黄金走势免费app软件最新名单推荐(综合版)

选择黄金走势免费app软件时&#xff0c;有几个关键因素需要考虑。首先&#xff0c;要选择可靠的软件平台&#xff0c;确保其在金融市场上拥有良好的声誉和高度的信任度。此外&#xff0c;软件应提供及时准确的市场数据&#xff0c;包括实时行情、交易量和技术指标等&#xff0c…

高速PCB布局布线规范

目录 一、容抗/感抗 1.容抗 2.感抗 二、寄生电容/分布电容/杂散电容 1.寄生电容 2.分布电容 3.杂散电容 4.寄生电容/分布电容/杂散电容对信号的影响 5.怎么减小分布电容&#xff1f; 三.寄生电感 1.什么是寄生电感&#xff1f; 2.怎么减小寄生电感&#xff1f; 四.…

ROS:节点名称重名

目录 一、前言二、rosrun设置命名空间与重映射2.1设置命名空间2.2rosrun名称重映射2.3rosrun命名空间与名称重映射叠加 三、launch文件设置命名空间与重映射四、编码设置命名空间与重映射4.1C 实现:重映射4.2C 实现:命名空间4.3Python 实现:重映射 一、前言 ROS 中创建的节点是…

Python3在Windows上设置环境变量方法

Python3在Windows上设置环境变量方法&#xff0c;在环境变量中添加Python目录&#xff1a; 在命令提示框中(cmd) : 输入 path%path%;C:\Python 按下"Enter"。 注意: C:\Python 是Python的安装目录。 也可以通过以下方式设置&#xff1a; 右键点击"计算机&q…

《深入理解计算机系统》(9)内存管理

1、物理和虚拟寻址 物理寻址 主存被组织成一个由 M 个连续的字节大小的单元组成的数组。每字节都有一个唯一的物理地址。CPU 访问内存最自然的方式就是使用物理地址&#xff0c;称为物理寻址。下图是一个物理寻址的示例&#xff0c;该示例的上下文是一个加载指令&#xff0c;它…

群载波应急广播主机的应用

一、 概述 群载波主机是专为山洪灾害预警、气象预警、地质灾害预警设计的一款智能IP群载波主机。该群载波主机可通过网络实现与控制中心通讯&#xff0c;用户可实时远程控制功放的开关机状态以及检测设备的主要信息。群载波主机主要用于接收网络信号&#xff0c;与控制中心通讯…

如何在Ubuntu系统中添加硬盘

这里写自定义目录标题 一. 安装磁盘二. 查看和新建硬盘分区2.1 查看硬盘分区2.2 创建硬盘分区 三. 分区格式化四. 分区挂载到目录五. 配置启动挂载 众所周知&#xff0c;在Linux系统中有一个著名的说法&#xff0c;即”一切皆文件“。包括磁盘在内的各种连接到系统的设备都用文…

视频怎么实现倒放?分享这3个方法给大家!

如果你曾经想过将自己喜欢的视频倒放播放&#xff0c;你可能会发现这是一项相当具有挑战性的任务。尽管许多视频播放器提供了倒放功能&#xff0c;但有时候这些功能可能不够灵活&#xff0c;甚至根本不支持倒放。在本文中&#xff0c;我们将介绍几种可帮助你倒放视频的方法。 …

减噪 低振纹|拓尔微TMI8421打印机马达驱动解决方案

打印机作为现代办公不可或缺的设备为我们的工作带来了便利&#xff0c;但也会遇到一些”鸡肋“问题&#xff0c;如产生噪音或机器发热等问题&#xff0c;不仅无法高效的打印文件资料还会给安静的办公室环境带来噪音干扰&#xff0c;打乱工作思绪...... 一台高效稳定且减噪的打…

langchain源码阅读系列(三)之Chain模块

原文首发于博客文章langchain源码阅读 本节是langchian源码阅读系列第三篇&#xff0c;下面进入Chain模块&#x1f447;&#xff1a; LLM 应用构建实践笔记 Chain链定义 链定义为对组件的一系列调用&#xff0c;也可以包括其他链&#xff0c;这种在链中将组件组合在一起的想…