攻防世界-OldDriver

一、题目

二、解题

1、观察特征:低指数,多密文

使用低指数广播攻击

2、中国剩余定理

剩余定理求解代码:

def crt(remainders, moduli):
    """
    中国剩余定理实现
    :param remainders: 余数列表 [r1, r2, ...]
    :param moduli: 模数列表 [m1, m2, ...]
    :return: 满足所有条件的最小非负整数解 x
    """
    # 确保余数和模数数量一致
    if len(remainders) != len(moduli):
        raise ValueError("Remainders and moduli must have the same length.")
    # 计算模数的乘积
    M = reduce(lambda x, y: x * y, moduli)
    # 计算解
    x = 0
    for r, m in zip(remainders, moduli):
        Mi = M // m
        # 求 Mi 关于模 m 的逆元
        Mi_inv = pow(Mi, -1, m)  # 使用 Python 3.8+ 的内置模逆函数
        x += r * Mi * Mi_inv

    return x % M

3、对求得的sol进行开10次方即可


三、答案
flag{wo0_th3_tr4in_i5_leav1ng_g3t_on_it}

posted @ 2024-12-03 23:50  wyuu101  阅读(13)  评论(0编辑  收藏  举报