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}
    
  • 相关阅读:
    纯css制作带三角(兼容所有浏览器)
    xmapp 404设置
    css 选择器
    IE6/IE7/IE8下float:right的异常及其解决方法
    artdialog5 bug
    jQuery插件开发--(转)
    Global对象
    JS 关于(function( window, undefined ) {})(window)写法的理解
    wx-charts 微信小程序图表插件
    小程序二次贝塞尔曲线,购物车商品曲线飞入效果
  • 原文地址:https://www.cnblogs.com/coming1890/p/14183358.html
Copyright © 2011-2022 走看看