密码学的数学基础1-素数和RSA加密

news/2025/2/5 21:31:47 标签: 密码学, 数学, 素数, 质数, RSA, 公钥密码

数学公式推导是密码学的基础, 故开一个新的课题 – 密码学数学基础系列

素数 / 质数

质数又称素数。 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)

素数在公钥密码学中的作用?

用于密钥生成,选取一定长度(512 bit)的素数p和q,计算 N = p ∗ q N=p*q N=pq

公钥密码

RSA__13">RSA (基于大整数质数分解的困难问题)

RSA本身就是建立在分解两个大素数乘积的困难性上。两个大素数,相乘非常容易,也非常快,要分解这个乘积却是极为困难。

RSA算法的安全性是由因式分解的困难程度而定的。如果能够找出因式分解那么破解RSA将很容易。
RSA的建议。两个大质数p和q, p ∗ q = N p*q=N pq=N
p和q的相差比较大。防止对N开平方试探。
p-1和q-1有较大的因子。

椭圆曲线(Elliptic Curve Cryptography, ECC) (基于椭圆曲线上的离散对数问题)

利用的是在椭圆曲线上 乘法运算的逆运算 非常困难 的特性

  • 比特币使用的secp256k1椭圆曲线方程是 x 2 = y 3 + 7 x^2 = y^3+7 x2=y3+7

  • ed25519的椭圆曲线方程: y 2 = x 3 + 486662 x 2 + x , m o d u l o p = 2 255 − 19 y^2 = x^3+486662x^2+x,modulop=2^{255}-19 y2=x3+486662x2+x,modulop=225519

Pailier(基于复合剩余类的困难问题)

是一种用于公钥加密的概率非对称算法,基于复合剩余类的困难问题(Composite Degree Residuosity Classes),构造在模数取为 n 2 n^2 n2 的剩余类{0,1,2,…, n 2 − 1 n^2-1 n21}上(二次剩余)。满足加法同态,即密文相乘等于明文相加: D ( E ( m 1 ) ⋅ E ( m 2 ) ) = m 1 + m 2 D(E(m_1)·E(m_2))=m_1+m_2 D(E(m1)E(m2))=m1+m2

支持加法同态, 乘法其实也是变相的加法:
D ( E ( m 1 ) E ( m 2 ) ) = m 1 ∗ m 2 D(E(m_1)^{E(m_2)})=m_1*m_2 D(E(m1)E(m2))=m1m2

FISCO BCOS采用的是paillier加密算法,支持加法同态。paillier的公私钥兼容主流的RSA加密算法,接入门槛低。同时paillier作为一种轻量级的同态加密算法,计算开销小易被业务系统接受。因此经过功能性和可用性的权衡,最终选定了paillier算法。

术语

  • 最大公约数gcd:辗转相除法,又称欧几里得算法
  • 最小公倍数lcm
  • 二次剩余:X^2在数论中,特别在同余理论里,一个整数X对另一个整数p的二次剩余,是指x的平方除以p得到的余数

数学工具 SageMath

安装计算工具

#下载网页
http://mirror.hust.edu.cn/sagemath/linux/64bit/index.html
#下载连接
wget http://mirror.hust.edu.cn/sagemath/linux/64bit/sage-9.3-Ubuntu_20.04-x86_64.tar.bz2
#解压
tar -xjf sage-9.3-Ubuntu_20.04-x86_64.tar.bz2

#运行
cd SageMath
./sage

往期精彩回顾:
区块链知识系列
密码学系列
零知识证明系列
共识系列
公链调研系列
BTC系列
以太坊系列
EOS系列
Filecoin系列
联盟链系列
Fabric系列
智能合约系列
Token系列

http://www.niftyadmin.cn/n/5842425.html

相关文章

multisim入门学习设计电路

文章目录 1.软件的安装2.电路基本设计2.1二极管的简介2.2最终的设计效果2.3设计流程介绍 3.如何测试电路 1.软件的安装 我是参考的下面的这个文章,文章的链接放在下面,亲测是有效的,如果是小白的话,可以参考一下: 【…

渗透测试之文件包含漏洞 超详细的文件包含漏洞文章

目录 说明 通常分为两种类型: 本地文件包含 典型的攻击方式1: 影响: 典型的攻击方式2: 包含路径解释: 日志包含漏洞: 操作原理 包含漏洞读取文件 文件包含漏洞远程代码执行漏洞: 远程文件包含…

在Mac mini M4上部署DeepSeek R1本地大模型

在Mac mini M4上部署DeepSeek R1本地大模型 安装ollama 本地部署,我们可以通过Ollama来进行安装 Ollama 官方版:【点击前往】 Web UI 控制端【点击安装】 如何在MacOS上更换Ollama的模型位置 默认安装时,OLLAMA_MODELS 位置在"~/.o…

windows电脑-ubuntu,传输文件

FileZilla是一款免费的工具,是基于 FTP 协议进行文件互传的,在传输过程中我们的ubuntu是作为服务器, FileZilla 工具则是作为客户端。 1.ubuntu安装 FTP服务:sudo apt-get install vsftpd 2.检查 /etc/vsftpd.conf 配置文件&…

DeepSeek-R1:通过强化学习提升大型语言模型推理能力的探索

DeepSeek-R1:通过强化学习提升大型语言模型推理能力的探索 在人工智能领域,大型语言模型(LLMs)的发展日新月异,其在自然语言处理和生成任务中的表现逐渐接近人类水平。然而,如何进一步提升这些模型的推理能…

与本地Deepseek R1:14b的第一次交流

本地部署DS的方法,见:本地快速部署DeepSeek-R1模型——2025新年贺岁-CSDN博客 只有16GB内存且没有强大GPU的个人电脑,部署和运行14b参数的DS大模型已是天花板了。 运行模型 ollama run deepseek-r1:14b C:\Users\Administrator>ollama r…

BUU14 [极客大挑战 2019]PHP1

用dirsearch扫描文件&#xff0c;扫了一万年什么也没扫出来 从网上看的wp&#xff0c;他们扫出来www.zip 这里直接用上了&#xff0c;以后有空再扫一遍 下载www.zip 在index.php中 说明要输入select 打开class.php <?php include flag.php;error_reporting(0);class…

wsl+phpstorm+xdebug|windows子系统配置phpstorm开发调试|断点调试

安装wsl 安装apache php 安装xdebug扩展&#xff0c;并配置 这里是通过宝塔9.4面板安装的xdebug3.0 [xdebug] xdebug.modedebug xdebug.start_with_requesttrue xdebug.discover_client_hosttrue xdebug.client_host127.0.0.1配置PHPSTORM 注意&#xff1a;新建服务器一定要…