【密码学基础】RSA加密算法 您所在的位置:网站首页 aes算法实验报告 【密码学基础】RSA加密算法

【密码学基础】RSA加密算法

2023-06-03 18:41| 来源: 网络整理| 查看: 265

1 RSA介绍 RSA是一种非对称加密算法,即加密和解密时用到的密钥不同。加密密钥是公钥,可以公开;解密密钥是私钥,必须保密保存。基于一个简单的数论事实:两个大质数相乘很容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥;而两个大质数组合成私钥。 2 密钥对的生成 step 1 生成N(公钥和私钥的一部分)

首先选取两个互为质数的数 p p p和 q q q( p ≠ q , g c d ( p , q ) = 1 p\neq q, gcd(p, q)=1 p​=q,gcd(p,q)=1),于是: N = p ∗ q N = p * q N=p∗q

step 2 生成L

根据欧拉函数,不大于 N N N且与 N N N互质的数是 p − 1 p-1 p−1和 q − 1 q-1 q−1两个数的最小公倍数:

L = [ p − 1 , q − 1 ] = ( p − 1 ) ( q − 1 ) L = [p-1, q-1] = (p-1)(q-1) L=[p−1,q−1]=(p−1)(q−1)

互质数 p p p和 q q q不能太小,如果他们足够大,那么根据目前的计算机技术和其他工具,至今也没能从 N N N分解出 p p p和 q q q。也就是说,只要密钥长度 N N N足够大(1024足够),基本上不可能从公钥信息推出私钥信息。

step 3 生成E(加密密钥)

满足如下两个条件:

1 < E < L 1 < E < L 1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有