zoukankan      html  css  js  c++  java
  • 鲲鹏计算专场密码学部分详解

    一、平平无奇的RSA

    1. 题目信息

    附件是一个Python脚本,Gitee备份在此

    2.分析

    题目由三个小问题组合而成,下面分别对他们进行分析。

    Level 3

    从脚本可得的信息如下:

    (N_{3}=pcdot q)(phi)(N_{3})的欧拉函数;

    (scdot sinvequiv 1 extrm{mod} q),再令(e=4scdot sinv+3)(且要保证((e,phi)=1));

    给你一组已知明-密文(km,kc),即(kcequiv km^{e} extrm{mod} N_{3})

    那么分解(N_{3})的步骤如下:

    (kcequiv km^{e} extrm{mod} N_{3}Rightarrow kcequiv km^{e} extrm{mod} pRightarrow kcequiv km^{4scdot sinv+3} extrm{mod} p)

    由欧拉定理可得:(km^{scdot sinv}equiv km extrm{mod} p),从而(kcequiv km^{4+3} extrm{mod} p),即(kcequiv km^{7} extrm{mod} p)

    (p|(km^{7}-kc)Rightarrow p=(km^{7}-kc,N_{3})),因此(N_{3})的一个因子是其与(km^{7}-kc)的公约数,进而分解出(N_{3})

    分解出(N_{3})后,解密(c_{3})得到Level 2的密文,下面分析Level 2。

    Level 2

    从脚本可得的信息如下:

    (o,s)是两个随机生成的素数,(t)(o)的下一个素数,(u)(s)的下一个素数;

    已知(os=o*s,tu=t*u)(因为(N_{2}=o*s*t*uRightarrow tu=N_{2}//os)),这道题在18年强网杯的nextrsa的第四关考察过,此处是对其的writeup

    Level 1

    这一层很简单,从((N_{1}//1323)^{1/4})往下开始试除即可(第一次写的时候疏忽了,往上试除,程序跑了几分钟都没解出来)。

    3. 解题

    上述链接中的solve.py为解题脚本,程序运行结果如下:

    $ python3 solve.py
    flag{4c2fd4e6-44de-445f-8c34-1235464de2de}
    
  • 相关阅读:
    mongodb安装与启动
    js数组操作
    js字符串操作
    js原型对象和原型链
    Js 原型对象与原型链
    zepto
    闭包的理解
    JSON与XML的区别比较
    ajax 异步请求四个步骤
    angularJS之项目知识
  • 原文地址:https://www.cnblogs.com/coming1890/p/14183358.html
Copyright © 2011-2022 走看看