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

这篇具有很好参考价值的文章主要介绍了【密码学基础】RSA加密算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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=pq

step 2 生成L

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

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

互质数 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<E<L

g c d ( E , L ) = 1 gcd(E, L) = 1 gcd(E,L)=1

g c d ( E , L ) = 1 gcd(E, L) = 1 gcd(E,L)=1保证 E E E L L L最大公因数为1(互质),因此保证step 4生成解密密钥 D D D时,一定存在 D D D满足条件。

step 4 生成D(解密密钥)

满足如下两个条件:

1 < D < L 1 < D < L 1<D<L

( E ∗ D ) m o d L = 1 (E * D) mod L = 1 (ED)modL1

3 加密解密过程

rsa加密,隐私计算及密码学基础,密码学,安全

另外,密钥对为: ( E , D , N ) (E, D, N) (E,D,N)

4 计算示例

明文信息为 p l a i n t e x t = 85 , E = 7 , p = 11 , q = 13. plaintext=85,E=7,p=11,q=13. plaintext=85E=7p=11q=13.
生成密钥对
step 1: N = p ∗ q = 11 ∗ 13 = 143 N=p*q=11*13=143 N=pq=1113=143
step 2: L = ( p − 1 ) ( q − 1 ) = 10 ∗ 12 = 120 L=(p-1)(q-1)=10*12=120 L=(p1)(q1)=1012=120
step 3: ( E ∗ D ) m o d L = 1 ⇒ ( 7 ∗ D ) m o d 120 = 1 ⇒ D = 103 (E*D)modL=1 \Rightarrow (7*D)mod120=1 \Rightarrow D=103 (ED)modL=1(7D)mod120=1D=103

加密
c y p h e r t e x t = p l a i n t e x t E m o d N = 8 5 7 m o d 143 = 123 cyphertext = plaintext^E mod N=85^7mod143=123 cyphertext=plaintextEmodN=857mod143=123

解密
p l a i n t e x t = c y p h e r t e x t D m o d 143 = 12 3 103 m o d 143 = 85 plaintext = cyphertext^D mod 143=123^{103}mod143=85 plaintext=cyphertextDmod143=123103mod143=85文章来源地址https://www.toymoban.com/news/detail-788744.html

到了这里,关于【密码学基础】RSA加密算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 密码学概念科普(加密算法、数字签名、散列函数、HMAC)

    密码散列函数 (Cryptographic hash function),是一个单向函数,输入消息,输出摘要。主要特点是: 只能根据消息计算摘要,很难根据摘要反推消息 改变消息,摘要一定会跟着改变 对于不同的消息,计算出的摘要几乎不可能相同 根据散列函数的上述特点,可以应用在保存密码、数

    2024年02月10日
    浏览(55)
  • 现代密码学第二次实验:分组加密算法DES及其工作模式

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 1、掌握DES算法的工作原理。 2、熟悉分组加密算法的4种工作模式(OFB模式可不做)。 3、了解DES的雪

    2024年02月06日
    浏览(71)
  • 密码学基础(一)——哈希算法

    一、常用密码学算法分类 哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局) 加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA 编码/解码算法:编码解码算法可逆

    2023年04月16日
    浏览(42)
  • C语言实现简单加密算法 凯撒密码 RSA算法 简介及实现

    凯撒密码的核心思想就是移位。 将明文的每一个字符 在 密码系统所支持字符序列中向右平移N,映射得到新的字符从而实现加密,而解密则相反向左平移N。加密的Key即为N。 加密  解密 在如今的万维网环境中,如果A要向B发送数据,需要先加密这个数据,因为在一些不安全

    2024年02月08日
    浏览(52)
  • 密码学之对称加密体系(2):AES、SM4的 S 盒具体算法的实现

    🔥点击进入【硬件安全】社区,查看更多精彩内容🔥 🔥点击查看《硬件安全》系列文章🔥 📢  声明 : 🥭 作者主页:【摆渡沧桑的CSDN主页】。 ⚠️ 未经作者允许,禁止转载。 ⚠️ 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不

    2024年02月16日
    浏览(51)
  • 【密码学】块加密(分组加密)的工作模式

    上一篇文章讨论了 DES 算法,现在我们有了“给定 64-bit 的明文、64-bit 的密钥,输出 64-bit 的密文”的加密手段。这离实际应用还有一点点距离,因为要传递的信息当然不止 64 位。 要用 DES 加密一条信息,一般先把信息填充到 64 的倍数,于是就可以分成许多组,每组 8 个字节

    2024年02月16日
    浏览(51)
  • 密码学—Vigenere加密Python程序

    古典密码,属于多表加密。 怎么就是多表了? 维吉尼亚密码的加密算法实质是凯撒密码,因为他是先分好小组,然后用密钥串对应着分好组的每一个字母进行加密(因为一个凯撒表用密钥串的一个字母加密),当然是遵循下标相同的,比如秘钥为:abc,明文为qwer,然后明文

    2024年02月11日
    浏览(47)
  • 密码学——古典密码中的基本加密运算附简单例题

    本篇文章将对古典密码中使用到的基本加解密运算进行总结,并展示个别加减密运算的简单例题,从而使读者更加容易理解古典密码中的基本加减密运算的原理。 首先引入密码学中的几个基本定义: M:明文空间,明文的集合 C:密文空间,密文的集合 K:密钥空间(也称密钥

    2024年02月12日
    浏览(84)
  • 密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

    前序博客有: ZKP大爆炸 本文主要参考: StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy 2023年3月Eli Ben-Sasson在The 13th BIU Winter School on Cryptography - Blockchain Technologies的分享视频 A Cambrian Explosion of Cryptographic Proofs - E

    2024年02月11日
    浏览(45)
  • 【网络与信息安全学报】区块链密码学隐私保护技术综述——CCF T2

    区块链密码学隐私保护技术综述 Survey on blockchain privacy protection techniques in cryptography Abstract 近年来,数据隐私问题日益明显,如何在区块链中实现有效的隐私保护是研究热点。针对区块链在隐私保护上的研究现状与发展态势,阐述了区块链在交易地址、预言机以及智能合约上

    2024年02月03日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包