• 记一次RSA解密过程


    有问题可以评论

    openssl rsa -pubin -text -modulus -in warmup -in pub.key
    

    点击并拖拽以移动

    RSA Public-Key: (256 bit) Modulus: 00:c0:33:2c:5c:64:ae:47:18:2f:6c:1c:87:6d:42: 33:69:10:54:5a:58:f7:ee:fe:fc:0b:ca:af:5a:f3: 41:cc:dd Exponent: 65537 (0x10001) Modulus=C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD writing RSA key -----BEGIN PUBLIC KEY----- MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMAzLFxkrkcYL2wch21CM2kQVFpY9+7+ /AvKr1rzQczdAgMBAAE= -----END PUBLIC KEY-----

    Exponent: 65537 (0x10001) Modulus=C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD

    十进制:86934482296048119190666062003494800588905656017203025617216654058378322103517

    1. 网站:http://factordb.com/

    2. yafu破解,factor(86934482296048119190666062003494800588905656017203025617216654058378322103517)

      求出p,q

    ​ P = 285960468890451637935629440372639283459

    ​ Q = 304008741604601924494328155975272418463

    python2脚本

    #coding=utf-8
    import math
    import sys
    from Crypto.PublicKey import RSA
    arsa=RSA.generate(1024)
    arsa.p=
    arsa.q=
    arsa.e=
    arsa.n=arsa.p*arsa.q #可以用于检验
    Fn=long((arsa.p-1)*(arsa.q-1))
    i=1
    while(True):
        x=(Fn*i)+1
        if(x%arsa.e==0):
               arsa.d=x/arsa.e
               break
        i=i+1
    private=open('private.pem','w')
    private.write(arsa.exportKey())
    private.close()
    

    点击并拖拽以移动

    openssl rsautl -decrypt -in flag.enc -inkey private.pem
    

    点击并拖拽以移动

  • 相关阅读:
    华为2016校园招聘上机笔试题
    android SQLite 使用
    handler
    fragment 给 activity 传数据
    activity 给 fragment 传递数据
    fragment (动态加载)
    fragment (静态)
    Java学习随笔之磨刀篇——环境搭建+问候世界
    Go语言设计哲学
    Ubuntu设置护眼程序
  • 原文地址:https://www.cnblogs.com/h3zh1/p/12549030.html
Copyright © 2020-2023  润新知