RSA密码算法

article/2025/9/25 2:26:35

介绍:本篇文章主要介绍RSA密码算法的流程、基本定理及其实现难点说明。

一.RSA密码算法

1.安全基础

RSA公钥密码体制的理论基础是数论中的大整数因子分解的困难性,即求两个大素数的乘积,在计算机上很容易实现,但是,要将一个大整数分解成两个大素数的乘积,在计算机上很难实现。

2.算法流程


注:由于现代计算机计算性能的提高,要求n的比特长度不低于512,现在使用的RSA算法中一般使用的长度一般为512/1024/2048.每次加密过程中要求明文m小于n。

3.算法证明

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

4.欧拉定理

在这里插入图片描述

5.RSA实例

在这里插入图片描述

二.重难点说明

1.大素数选择

在RSA算法中,p、q是两个大素数,这样就涉及到选取大素数的问题。特别的,例如在1024位的RSA算法中,我们可以设计这两个大素数分别为512位(因为两个512bit长度数的乘积为2013或1024bit,而我们需要的是1024bit,故在设计p和q时可将最高的几位固定为1,这样乘积就为1024bit了)。可以通过下面的定理证明一个整数是否为素数,
在这里插入图片描述

2.公私钥产生

1)公钥产生
我们生成公钥e时,要求e与n的欧拉函数φ(n)互素,我们可以通过欧几里得算法验证互素与否。也可以通过构造一个一个素数e,因为e与非倍点的任何数都是互素的,故是符合要求的。
在这里插入图片描述

while(b!=0)
{r = a % b;a = b;b = r;
}
//最终的a即为原a,b最大公约数

2)私钥产生
私钥d符合要求d = e^(-1)modφ(n),求逆可以通过拓展欧几里得算法求得。
在这里插入图片描述

int exGcd(int a,int b,int &x,int &y)
{if(b==0){x = 1;y = 0;return a;}int r = exGcd(b,a%b,x,y);t = x; x = y;y = t-a/b*y;return r;
}

3.加解密

1)加密
在加密过程中,加密者是不知道n的分解因子p、q,故无法使用中国剩余定理,只能通过常规的模幂运算。
2)解密
方法1:和加密流程一样,使用常规的模幂运算求解。
方法2:基于中国剩余定理(CRT)求解

m = c^d mod n,n = pq,这样就可以通过中国剩余定理将其变换为求解m,使得m = c^d mod p,且m = c^d mod q,这样就可以通过中国剩余 定理来求解。

中国剩余定理
在这里插入图片描述
通俗写法
在这里插入图片描述
拓展:拓展中国剩余定理
在这里插入图片描述
在这里插入图片描述

注:本文档部分参考自别的博客,侵删。


http://chatgpt.dhexx.cn/article/V6x498iQ.shtml

相关文章

GMSSL :SM2椭圆曲线公钥密码算法——数字签名算法4

2021SCSDUSC 目录 一、ECDSA介绍 二、代码分析 一、ECDSA介绍 ECDSA的全名是Elliptic Curve DSA,即椭圆曲线DSA。它是Digital Signature Algorithm (DSA)应用了椭圆曲线加密算法的变种。椭圆曲线算法的原理很复杂,但是具有很好的公开密钥算法特性&am…

GMSSL :SM2椭圆曲线公钥密码算法

2021SCSDUSC 一、 SM2使用素数域256位椭圆曲线 椭圆曲线参数方程: 曲线参数: p一FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF a一FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC b一28…

9、EIGamal公钥密码算法

目录 EIGamal公钥密码算法 一、相关数学基础 二、算法原理 三、算法详细流程 四、特点和安全性 EIGamal公钥密码算法 ElGamal公钥密码算法是1985年由塔希尔盖莫尔提出,是一个基于迪菲-赫尔曼密钥交换的非对称加密算法,是在密码协议中有着重要应用的…

【密码科普】第6期 - 密码算法和商用密码体系架构

作者| 姜钰来源| 翼安研习社发布时间|2022-01-06 1. 密码算法的分类 1.1 对称密码算法 加密和解密使用相同密钥的加密算法。 该算法又分为分组密码算法(块加密算法)和流密码算法(序列密码算法&#xff09…

密码学学习笔记(二)——对称密码算法(轻量级密码算法Twine)

文章目录 1. 分组密码(Twine)1.1 加解密方式1.1.1 加密1.1.2 密钥生成算法1.1.3 解密1.1.4 全部代码 1.2. 分组密码的模式1.2.1 ECB模式1.2.2 CBC模式1.2.3 CFB模式1.2.4 OFB模式1.2.5 CTR模式 2.序列密码 如图,对称加密算法是应用较早的加密…

中国商用密码算法SM4

中国商用密码算法SM4 2006年我国国家密码管理局公布了无线局域网产品使用的SM4密码算法。这是我国第一次公布自己的商用密码算法,意义重大,影响深远。这一举措标志着我国商用密码管理更加科学化和国际接轨。 SM4密码算法设计简洁,算法结构有…

区块链的密码算法

区块链系统包含了计算机科学过去几十年的成果:计算机网络P2P、算法、数据库、分布式系统、计算机密码学等 密码学是区块链系统安全性保障的基础技术,形象地称为区块链的骨骼 哈希算法 ■哈希算法(Hash、 散列、杂凑, 消息摘要,…

8、RSA 公钥密码算法

目录 RSA公钥密码算法 一、RSA的数学基础 二、RSA原理 三、算法详细流程 四、RSA特点 五、RSA应用 参考推荐: https://blog.csdn.net/lemon_tree12138/article/details/50696926 RSA加密算法原理_张维鹏的博客-CSDN博客_rsa加密算法原理 图解RSA算法取余和…

常用的密码算法有哪些?

我们将密码算法分为两大类。 对称密码(密钥密码)——算法只有一个密钥。如果多个参与者都知道该密钥,该密钥 也称为共享密钥。非对称密码(公钥密码)——参与者对密钥的可见性是非对称的。例如,一些参与者仅…

分组密码算法与DES算法

目录 1 分组密码的含义 1.1 分组密码介绍 1.2 分组密码的含义 1.3 分组密码的要求 2 分组密码的设计思想 2.1 分组密码的设计思想 3 分组密码的基本特点 3.1 分组密码的基本特点 3.2 分组密码的迭代结构 3.3 子密钥的生成方法 3.4 轮函数的设计准则 3.5 迭代的轮数 4…

11、国产密码算法

参考推荐: 国密SM1\ SM2\ SM3\ SM4\ SSF33算法和国际RSA算法的对应关系_小明做IT的博客-CSDN博客_ssf33算法 国密算法SM1/SM2/SM3/SM4_fengwang0301的博客-CSDN博客_sm2/sm3/sm4 国产密码算法 国产密码算法是指由国家密码研究相关机构自主研发,具有相…

密码算法应用规范

术语解释 对称算法(Symmetric key algorithm):采用相同的密钥执行加密或解密。 非对称算法(Asymmertric key algorithm,公开密钥算法):用作加密的密钥不同于用作解密的密钥,而且解密…

古典密码算法(移位密码算法、维吉尼亚算法)

古典密码算法(凯撒、维吉尼亚) A. 1-1.移位密码算法 【实验目的】 1) 学习移位密码的原理 2) 学习移密码的实现 【实验原理】 算法原理 a) 移位密码就是对26个字母进行移位操作,可以移动任意位数,这样就实现了对明文的加密…

换位密码算法

换位密码算法基本原理:先把明文按固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密。为加强安全性,可进行多次换位密码算法运算。 import random def encrypt(plainText,t):result[]lengthlen(t)temp[plainText[i:…

常见密码学算法

学习笔记 分类 密码学用于解决信息安全中的保密性,完整性,认证和不可否认性等问题。最初主要用于解决保密性。随着密码学技术的发展,逐渐应用到其它领域。 常见密码学算法:DES,AES; RSA, ECC; Hash; Signature等。 分类 对称密…

密码学基础(一)常见密码算法分类

一、密码算法分类: 密码算法主要分为三类:对称密码算法、 非对称密码算法、摘要算法。 二、对称密码算法(Symmetric-key Algorithm) 1、概念 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算…

常用的密码算法汇总分析(动态更新ing)

常用密码算法整理汇总 常用对称加密算法常用非对称加密算法常用Hash算法国产密码关于密码算法会持续更新.... 常用对称加密算法 对称加密算法(分组加密)描述DES将明文分为64位一组、密钥64位,实际56位(64位中8位奇偶校验位)3DES执行了3次DES&…

【密码学】常见密码算法分类和运用

一、摘要算法(Digest Algorithm) 摘要算法 是指把任意长度的输入消息数据转化为固定长度的输出数据的一种密码算法,又称为 散列函数 、 哈希函数 、 杂凑函数 、单向函数 等,通常用来做数据完整性的判定,即对数据进行…

常用密码算法介绍

算法种类 根据技术特征,现代密码学可分为三类: 对称算法 说明:加密密钥和解密密钥相同,对明文、密文长度没有限制 子算法: 流密码算法:每次加密或解密一位或一字节的明文或密文 分组密码算法&#xff…

2020 shodan 配置详解

需要先注册一个号>然后才能在kali里安装并认证 官网:https://www.shodan.io 安装命令: git clone https://github.com/achillean/shodan-python.git cd shodan-python python setup.py installshodan -h 查看使用: 这个。。土味英语&am…