攻防世界-OldDriver

wyuu101發表於2024-12-03

一、題目

二、解題

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}

相關文章