【密码学】密码学数学基础:群的定义

news2024/9/22 10:00:36

一、群的定义

        在密码学中,群(Group)的概念是从抽象代数借用来的,它是一种数学结构,通常用于描述具有特定性质的运算集合。 

群的定义

群定义中的几个关键要素:

  1. 集合:首先,群是由一系列元素组成的集合,通常记作 𝐺

  2. 二元运算:群中存在一个闭合的二元运算,通常用 ⋅ 或 + 表示,这个运算是对群中任意两个元素 𝑎 和 𝑏 定义的,其结果仍然是群 𝐺 中的一个元素,即 𝑎⋅𝑏∈𝐺。在密码学中,这个运算通常是某种形式的加法或乘法,但也可以是更复杂的运算,只要满足群的其他条件即可

  3. 封闭性:群中的二元运算对所有群内元素都是封闭的,即如果 𝑎 和 𝑏 都属于 𝐺,那么 𝑎⋅𝑏 也一定属于 𝐺

  4. 结合律:群中的二元运算遵循结合律,即对于所有 𝑎,𝑏,𝑐∈𝐺,有 (𝑎⋅𝑏)⋅𝑐=𝑎⋅(𝑏⋅𝑐)

  5. 单位元:群中存在一个特殊的元素 𝑒e(也称为单位元或恒等元),对于群中任意元素 𝑎,有 𝑎⋅𝑒=𝑒⋅𝑎=𝑎

  6. 逆元:对于群中每一个元素 𝑎,存在另一个元素 𝑏(称为 𝑎 的逆元),使得 𝑎⋅𝑏=𝑏⋅𝑎=𝑒,其中 𝑒 是群的单位元

【注】如果一个集合只满足封闭性和结合律,可以称这个它为半群。 

二、举例几个群

(1)整数加法群

        全体整数Z对于通常的加法成一个群,这个群称为整数加群,在整数加群中,单位元是0a的逆元是-a,同样全体有理数集合Q,全体实数集合R,全体复数集合C对加法也构成群。

(2)非零实数乘法群

        全体非零实数R^*对通常的乘法构成一个群,全体正实数R^+对通常的乘法也构成一个群。

(3)整数模n加法群

        模正整数n的最小非负完全剩余系Z_n,对于模n的加法构成一个群,这个群称为整数模n加法群,其单位元为0a的逆元是n-a

三、有限群和无限群

        若群G中只含有有限个元素,则称群G为有限群;若群G中含有无限多个元素,则称群G为无限群。一个有限群G中的元素个数称为群的阶,记为\left | G \right |

  • 有限群:元素个数有限,是密码学中常见的群类型,因为它们提供了有限的运算空间,适合于设计加密算法和安全协议。
  • 无限群:元素个数无限,虽然在纯数学中有着丰富的理论和应用,但在密码学的实际应用中不如有限群普遍。

        上例子中的整数加法群和非零实数乘法群是无限群,而整数模n加法群是有限群。

四、交换群

        定义:如果群G上的运算还满足交换律,即对于群G中的任意元素a,b\in G都有

ab=ba

则称群G为交换群(又叫Abel群或阿贝尔群)

        举例:整数加法群是一个交换群;有理数乘法群也是一个交换群;

五、循环群

        定义:如果一个有限群 𝐺 称为循环群,那么存在 𝐺 中的一个元素 𝑔,使得 𝐺 中的每一个元素都可以表示为 𝑔 的幂次,即对于 𝐺 中的任一元素 𝑥,存在一个整数 𝑛 使得 x=g^n。这里 𝑔 被称为 𝐺 的一个生成元。

        我的理解:循环群是一种特殊的抽象代数结构,它满足群的定义,同时还具有一个关键特性:群中存在一个元素,通过其自身的幂次运算可以生成群中的所有其他元素。这个元素被称为群的生成元。

        举例:

  1. 模 𝑛 加法群:考虑整数集\mathbb{Z}_n=\{0,1,2,...,n-1\}上的加法运算(这里的加法是模 𝑛 加法),如果 𝑛 是质数,则 \mathbb{Z}_n 构成一个循环群,且存在一个生成元 𝑔,使得 \mathbb{Z}_n​ 中的每个元素都可以表示为 𝑔 的幂次(模 𝑛 运算下)。

  2. 模 𝑛 乘法群:考虑集合 \mathbb{Z}_n^*=\{ a\in \mathbb{Z}_n: gcd(a,n)=1 \},即模 𝑛 下与 𝑛 互质的所有整数构成的集合,当 𝑛 是质数时,\mathbb{Z}_n^*​ 构成一个循环群,且存在生成元。

        循环群的性质:

  • 循环群的阶:循环群的阶等于其生成元的阶,即生成元的最小正整数幂次回到单位元的次数。
  • 循环群的子群:循环群的任何子群本身也是一个循环群。
  • 循环群的生成元数量:在一个循环群中,生成元的数量通常超过一个,具体数量取决于群的阶和结构。

在了解循环群的概念后,可以进一步的探讨群中的离散对数问题:【密码学】大整数分解问题和离散对数问题icon-default.png?t=N7T8https://blog.csdn.net/qq_39780701/article/details/140327361

六、群在密码学中的使用

        在密码学中,有限群的性质,如循环子群、生成元、离散对数问题等,被广泛用于设计公钥加密算法、数字签名方案和密钥交换协议。有限群的结构和性质为构建安全的密码系统提供了坚实的数学基础。下面举两个主要的应用:

(1)公钥加密算法

        许多公钥加密算法,如RSA、Diffie-Hellman密钥交换协议和椭圆曲线密码学(ECC),都是基于特定的数学难题,而这些问题往往与有限群的性质有关。

  • RSA算法:基于大整数分解的困难性,但其数学模型涉及到了模算术下的乘法群,这可以看作是一种特殊的有限群。
  • Diffie-Hellman密钥交换:依赖于离散对数问题的难度,这个问题是在有限循环群中定义的。
  • 椭圆曲线密码学(ECC):利用了椭圆曲线上点的加法运算形成的有限群。椭圆曲线上的点组成了一个群,这个群的运算规则是由曲线的几何性质决定的。

(2)数字签名

        数字签名技术,如DSS(Digital Signature Standard)和ECDSA(Elliptic Curve Digital Signature Algorithm),也基于有限群中的离散对数问题或相关的难题。通过使用群的性质,这些技术能够确保消息的完整性和来源的真实性。

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

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

相关文章

一文了解SpringCloud

Springcloud 什么是Springcloud? 官网:Spring Cloud Data Flow Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控…

保姆级教程--容器化部署prometheusd监控系统(yaml文件、docker命令均有详细解释、大白话描述服务作用、适合小白)

文章目录 前言用到的服务简述容器化部署prometheus的优势 环境一、安装docker二、容器化构建Prometheus监控系统1 部署Prometheus2.部署grafana 三、prometheus监控其他主机1.部署docker补充、如何查找仪表盘 前言 用到的服务简述 Prometheus:这是一个开源的监控系…

使用Copilot 高效开发繁忙的一天

在现代软件开发的世界里,使用AI工具如GitHub Copilot可以显著提高开发效率。 早晨:规划与启动 7:00 AM - 起床与准备 开发者早早起床,享用健康的早餐,并浏览新闻和技术博客,了解最新的科技动态。快速整理思路&#x…

WordPress:无法创建新文章?创建新帖子时候页面空白

wordPress中我们新建文章的时候,会遇到页面空白,这个问题是怎么导致呢?我们可以打开F12开发者模式看下报错信息,这是一个警告信息 Warning: Creating default object from empty value in /pub 到数据库 wp_posts中查看生成了很…

网络配置命令

文章目录 一、查看网络接口信息 ifconfig1.1 网络接口名称1.2 使用 ifconfig 查看网络接口信息1.2.1 输出示例1.2.2 输出解释 1.3 查看特定网络接口信息1.3.1 输出示例 1.4 查看所有网络接口信息1.5 特殊网络接口 二、修改网络配置文件2.1 配置文件示例2.2 使配置生效2.3 关闭 …

【07】分布式事务解决方案

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有ACID四个特性:原子性、一致性、隔离性、持久性。任何事务机制在实现时,都应该考虑事务…

【Nuxt3】vue3+tailwindcss+vuetify引入自定义字体样式

一、目的 在项目中引入自定义的字体样式(全局页面都可使用) 二、步骤 1、下载好字体 字体的后缀可以是ttf、otf、woff、eot或者svg(推荐前三种) 以抖音字体为例下载好放在静态文件夹(font)下 案例字…

Python for循环while循环实战: 原神加载画面

原神加载画面在我们看起来是能一直运行的,实际上,它就是用了循环。今天,我们来模拟一下。 我们用123、234、345、456分别代表四个画面,结果是这样的。 这是代码: a [123, 234, 345, 456] while True:for i in a:pri…

python获取豆瓣评分9分以上的电影

我想生成的文件用excel保存,所以得安装一下这个 pip install pandas openpyxl代码 import requests import pandas as pd# 模拟浏览器请求头 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91…

轻空间强势维护知识产权,捍卫气膜声学专利

在当前创新驱动的时代,知识产权已成为企业核心竞争力的重要组成部分。轻空间,作为一家以技术创新为驱动的公司,一直致力于为客户提供高质量的气膜建筑产品和服务。近期,我们注意到有不法分子冒用苏州大学多功能气膜综合馆项目的名…

springboot 适配ARM 架构

下载对应的maven https://hub.docker.com/_/maven/tags?page&page_size&ordering&name3.5.3-alpinedocker pull maven:3.5.3-alpinesha256:4c4e266aacf8ea6976b52df8467134b9f628cfed347c2f6aaf9e6aff832f7c45 2、下载对应的jdk https://hub.docker.com/_/o…

Ceph集群部署(基于ceph-deploy)

目录 部署Ceph集群的方法 Ceph生产环境推荐 部署Ceph实验(基于ceph-deploy) 一、准备工作 二、环境准备 1.关闭selinux与防火墙 2.修改主机名并且配置hosts解析映射 3.admin管理节点配置ssh免密登录node节点 4.安装常用软件和依赖包 5.配置时间…

【全网最全最详细】Spring与SpringBoot最新面试题

目录 一、Spring框架概述 1.1 什么是Spring? 1.2 spring优点有哪些? 二、IOC与DI 2.1 你知道getBean方法的有几种重载方式吗? 2.2 Spring有几种依赖注入方式? 2.3 为什么Spring不建议使用字段注入方式? 2.4 B…

数据结构_顺序表专题

何为数据结构? 咱今天也来说道说道...... 数据结构介绍 准确概念 数据结构就是计算机存储、组织数据的方式 概念分析 从上句分析,数据结构是一种方式。一种管理数据的方式。为了做什么?为的就是计算机存储数据,组织数据。 …

docker部署seata 2.0.0

环境准备 当前使用的环境: MySQL:8.0 nacos:2.2.3 关于如何在docker中部署nacos 2.2.3,请参考之前文章: docker部署nacos 2.2.3 拉取镜像 docker pull seataio/seata-server:2.0.0查看nacos、mysql、宿主机的ip d…

探索Facebook:数字社交的魔力源泉

在当今信息爆炸和全球互联的时代,社交媒体平台成为了人们生活中不可或缺的一部分。而在这些平台中,Facebook无疑是最具影响力和创新性的代表之一。自2004年成立以来,Facebook不仅改变了人们的沟通方式,更通过不断的技术创新和用户…

Oracle查询超时问题,聊聊思路!

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

【系统架构设计师】九、软件工程(面向对象方法|逆向工程)

目录 六、面向对象方法 6.1 基本概念 6.2 面向对象的分析 6.2.1 用例关系 6.2.2 类之间的关系 6.3 面向对象的设计 6.4 面向对象设计原则与设计模式 6.5 面向对象软件的测试 七、逆向工程 历年真题练习 六、面向对象方法 面向对象的分析方法 (Object-Oriented Analys…

C++初阶:类和对象(二)

✨✨所属专栏:C✨✨ ✨✨作者主页:嶔某✨✨ 类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注…

Verilog基础:简单标识符和转义标识符

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 标识符(identifier)是一个为了引用而给一个对象起的名字。一个标识符可以是一个简单标识符,也可以是一个转义标识符。本文将对两者进行详细阐述。 简…