rsa加密和解密的公式,rsa算法的加密和解密步骤

首页 > 经验 > 作者:YD1662022-10-30 01:53:07

一、前言

在经历了人生的很多至暗时刻后,你读到了这篇文章,你会后悔甚至愤怒:为什么你没有早点写出这篇文章?!

你的至暗时刻包括:

1.你所在的项目需要对接银行,对方需要你提供一个加密证书。你手上只有一个六级英语证书,不确定这个是否满足对方需求。由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。

2. 你老骥伏枥 2 个月,终于搞懂了.crt 格式证书。加入到新项目,项目在进行证书托管改造。哈哈,这题我会,就是把证书文件上传到托管系统。你对项目组成员大喝一声,放开那些证书,让我来!挤进去一看,是陈年老项目了,根本没有证书,当时使用是公钥和私钥,如何公钥和私钥变成证书⋯⋯由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。

3. 你卧薪尝胆 3 个月,摸清楚了 SSL 证书的来龙去脉。踌躇满志加入到新项目,你向项目经理痛陈血泪史,经此一役,你已经成长为安全证书方面的专家。项目经理喜出望外,正好项目在进行数据安全改造,数据库需要启用 SSL,来得正是时候,不着急,明天下班前提供几个密钥文件就行。越明日,下班前半小时,你缓缓走向项目经理,“你要的货到了”,便排出三个证书,这个是 key 文件,这个是公钥文件,这个是证书文件。项目经理点点头又摇摇头,我要的是JKS 文件呀。你说,明天提供。越明日,下班前的半个小时,你把 JKS 格式文件交给项目经理,项目经理点点头又摇摇头,密码呢?没有密码怎么行?由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。

本文将从以下几部分来揭示 RSA 密钥文件的鲜为人知的秘密:

  • RSA 算法数学基础
  • RSA秘钥体系六层模型
  • RSA 工具使用
  • RSA密钥使用场景
  • 注:虽然密钥与证书严格意义上并不等同,但为了表述方便,没有特殊指定的话,本文中的密钥一词涵盖了公钥,私钥,证书等概念。

    二、RSA 算法数学基础

    RSA 算法是基于数论的,RSA算法的复杂性的基础在于一个大数的素数分解是NP难题,非常难破解。RSA 算法相关的数学概念:

    rsa加密和解密的公式,rsa算法的加密和解密步骤(1)

    对于任意一个数 x,可以计算出 y:

    rsa加密和解密的公式,rsa算法的加密和解密步骤(2)

    通过 y,可以计算出 x:

    rsa加密和解密的公式,rsa算法的加密和解密步骤(3)

    也就是说,x 通过数对 (m,e) 生成了 y 后,可以通过数对 (m, d) 将 y 还原成 x。

    这里,我们实际上演示了RSA加密解密的数学过程。通过公式 (1),根据 x 计算得出 y 的过程就是加密,通过公式 (2),根据 y 计算得出 x 的过程就是解密。

    在实际应用中,RSA 算法通过公钥进行加密,私钥进行解密,因此数对 (m,e) 就是公钥,(m, d) 就是私钥。

    实际上为了提高私钥解密速度,私钥会保存一些中间结果,例如 p, q, e, 等等。

    所以在实际应用中,可以通过私钥导出公钥。

    三、 RSA秘钥六层模型

    为了方便理解RSA密钥的原理,本人创造性地发明了RSA密钥六层模型概念。每一层定义了自己的职责和边界,层级越低,其表示的内容越倾向于抽象和理论;层级越高,其表示的内容越倾向于实际应用。

    rsa加密和解密的公式,rsa算法的加密和解密步骤(4)

    首页 12下一页

    栏目热文

    文档排行

    本站推荐

    Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.