• 鲲鹏计算专场密码学部分详解


    一、平平无奇的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}
    
  • 相关阅读:
    怎么用js实现jq的removeClass方法
    减少事件绑定次数
    JS setAttribute兼容
    css3常用动画+动画库
    小tip: transition与visibility
    image的srcset属性
    jqeury点击空白关闭弹窗
    卡片翻转效果
    div+css 圆角加阴影
    函数
  • 原文地址:https://www.cnblogs.com/coming1890/p/14183358.html
Copyright © 2020-2023  润新知