【逆向】RSA编码解码基础

序言

本文主要讲述RSA加密算法的基础知识,其内容主要用于逆向分析算法部分的基础铺垫,如需文章以外的知识请自行查阅相关资料。

RSA简介

RSA是一种公钥密码算法非对称加密算法,它的名字是由它的三位开发者的姓氏首字母组成的(Rivest-Shamir-Adleman)。
公钥密码算法的密钥分为2种:"加密密钥"、"解密密钥"。只要拥有加密密钥,任何人都可以进行加密,但没有解密密钥是无法进行解密的。
公钥和私钥是一一对应的,一个公钥和一个私钥的组合被称为"密钥对",由于密钥之间有着非常密切的关系,因此公钥和私钥必须同时生成

RSA算法

在RSA中"明文"、"密文"、"密钥"都是数字。
RSA的加密、解密过程可以使用如下公式来表述:
密文 = 明文E mod N   //将明文和自己做E次方乘法,然后将其结果除以N求余数。
明文 = 密文D mod N   //将密文和自己做D次方乘法,然后将其结果除以N求余数。
根据以上内容,我们得出如下结论:

密钥对的生成

因为'E'和'N'是公钥'D'和'N'是私钥,所以密钥对的生成就是求"E"、"D"、"N"三个数的过程。

参考:《图解密码技术》

posted @ 2019-09-06 21:23  SunsetR  阅读(1119)  评论(0编辑  收藏  举报