Bootstrap

RSA公钥私钥的生成及其加密解密过程详解(公司级别质数,原理一样)

前言:为了大家更好的学习,我尽量采用图文和代码的形式为大家详细而又简单的讲解,与你相遇倍感荣幸,因为成长历程需要你我一起见证,欢迎大家一起讨论

首先:我们进行RSA算法的原理剖析:

总所周知RSA算法,是一种非对称加密算发 之所以为非对称,是因为加密和解密的两把钥匙不同,在这个过程的中,密钥的产生是实现过程中的关键:
公式原路为:
明文+public key=密文:
密文-private kēy=明文

过程实现:

1.生成公私钥      (关键)
2.用公钥对指定编码集的字节流进行加密产生密文;
3.用私钥对密文进行解密得出密文;
引用一个百度百科的一张图片进行步骤解析;

在这里插入图片描述

现在开始实现:

第一步 :密钥的生成:分别使用6个步骤实现:
1.随机取两个不相等的质数pq;为了更贴近企业级别;我们取两个大质数:
P:
106697219132480173106064317148705638676529121742557567770857687729397446898790451577487723991083173010242416863238099716044775658681981821407922722052778958942891831033512463262741053961681512908218003840408526915629689432111480588966800949428079015682624591636010678691927285321708935076221951173426894836169
q
106697219132480173106064317148705638676529121742557567770857687729397446898790451577487723991083173010242416863238099716044775658681981821407922722052778958942891831033512463262741053961681512908218003840408526915629689432111480588966800949428079015682624591636010678691927285321708935076221951173426894836169
2.取两个数的乘积
n=154518298668716371578353222859813682579096627020171796189384418938128518391357010074147073612426601607265164259821576178883954962971755640924943607717807893565304073441986510727945471347687
;