Java使用模数、公钥指数、私钥指数进行RSA加解密

本文介绍了RSA加密算法的核心概念,包括模数n(由两个质数p和q相乘得到)、公钥指数e(通常为65537)和私钥指数d。通过欧拉函数确定e和d的关系,用于加密和解密过程。文章强调了因数分解大整数n的难度对RSA安全性的重要性,并提供了生成模数、公钥和私钥的示例,同时提醒Cipher实例在加密解密中不是线程安全的。
摘要由CSDN通过智能技术生成

关于模数n、公钥指数e、私钥指数d的相关概念推荐阮老师的这两篇文章。

RSA算法原理(一)
RSA算法原理(二)

简单说一下,模数n就是随机选取的两个质数p,q的乘积,并且n的长度就是秘钥的长度。根据欧拉函数,得到

φ(n) = (p-1)(q-1)

公钥钥指数e随机选取,与φ(n)互质,通常为65537。然后根据 

ed ≡ 1 (mod φ(n)) //等价于ed - 1 = kφ(n)

计算e对于φ(n)的反模元素d,即得到私钥指数d。

(n,e)就作为公钥,对数据进行加密,(n,d)就作为私钥,对数据进行解密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值