zoukankan      html  css  js  c++  java
  • RSA算法

    RSA算法涉及三个参数n,e,d。私钥为n,d,公钥为n,e。(其中n为两个大素数p,q的乘积)

    d是模$ varphi(n) $的逆元, $ varphi(n) $是n的欧拉函数。

    假设c是密文,m是明文,则加密过程如下:    $ cequiv m^e mod n $

    解密过程: $ mequiv c^d$ $mod$ $n$

    n,e是公开的情况下,如果想要知道d的值,必须要将n分解计算出n的欧拉函数值,而n是两个大素数p,q的乘积,将其分解可以通过在线网站http://factordb.com

    ctf的Crypto题型中难免会出现RSA加密,在做题之前,要将数据处理成可以做题的模式。一般题目不会直接给出具体参数的值,而是通过别的方式给出,则我们要做的就是将这些参数提取出来

    1、pem文件:针对这类文件,我们可以直接使用Linux下的openssl提取。

    2、pcap文件:针对这类文件,我们可以使用wireshark追踪一下。

    下面以2017届广东省强网杯的这道crypto为例讲解一下RSA解法

    首先根据下载下来的文件给出的参数n,可以知道第一步应该是到在线网站http://factordb.com去对n进行因数分解得到p,q的值

    然后上代码,求明文信息

    运行后再进行hex转string,然后flag即出~

  • 相关阅读:
    配置文件管理
    Nacos学习
    dockerCompose学习
    Dockerfile
    vue生命周期
    github使用
    推荐系统
    js笔记17
    js笔记16
    js笔记15
  • 原文地址:https://www.cnblogs.com/Paranoid-4/p/9294964.html
Copyright © 2011-2022 走看看