Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Tấn công quảng bá Håstad (RSA, e = 3)

    Cùng một bản rõ mmm được mã hóa gửi cho ba người nhận khác nhau, dùng chung số mũ công khai nhỏ e=3e = 3e=3 nhưng ba môđun khác nhau và đôi một nguyên tố cùng nhau n1,n2,n3n_1, n_2, n_3n1​,n2​,n3​:

    ci=m3 mod ni,i=1,2,3.c_i = m^3 \bmod n_i, \quad i = 1,2,3.ci​=m3modni​,i=1,2,3.

    Nếu m3<n1n2n3m^3 < n_1 n_2 n_3m3<n1​n2​n3​ (đúng khi mmm đủ nhỏ so với các nin_ini​), kẻ tấn công không cần biết bất kỳ khóa bí mật nào vẫn khôi phục được mmm theo tấn công quảng bá Håstad:

    1. Dùng Định lý số dư Trung Hoa (CRT) với hệ phương trình x≡ci(modni)x \equiv c_i \pmod{n_i}x≡ci​(modni​) để tìm nghiệm duy nhất CCC với 0≤C<n1n2n30 \le C < n_1 n_2 n_30≤C<n1​n2​n3​. Vì gcd⁡(m3,n1n2n3)\gcd(m^3, n_1n_2n_3)gcd(m3,n1​n2​n3​) không ảnh hưởng tính duy nhất nghiệm CRT và m3<n1n2n3m^3 < n_1n_2n_3m3<n1​n2​n3​, ta có chính xác C=m3C = m^3C=m3 (không chỉ đồng dư).
    2. Lấy căn bậc ba nguyên của CCC để thu được mmm.

    Cho n1,c1,n2,c2,n3,c3n_1, c_1, n_2, c_2, n_3, c_3n1​,c1​,n2​,c2​,n3​,c3​ (đảm bảo n1,n2,n3n_1, n_2, n_3n1​,n2​,n3​ đôi một nguyên tố cùng nhau và tồn tại mmm nguyên không âm thỏa ci=m3 mod nic_i = m^3 \bmod n_ici​=m3modni​ với mọi iii, đồng thời m3<n1n2n3m^3 < n_1 n_2 n_3m3<n1​n2​n3​), hãy khôi phục mmm.

    Ví dụ: n1=1760553551,c1=74088,n2=3267902051,c2=74088,n3=3659333159,c3=74088n_1=1760553551, c_1=74088, n_2=3267902051, c_2=74088, n_3=3659333159, c_3=74088n1​=1760553551,c1​=74088,n2​=3267902051,c2​=74088,n3​=3659333159,c3​=74088 thì m=42m = 42m=42 (vì 423=7408842^3 = 74088423=74088 nhỏ hơn cả ba môđun nên không bị rút gọn).

    • Định dạng đầu vào:

      Một dòng gồm 6 số nguyên n1 c1 n2 c2 n3 c3n_1\ c_1\ n_2\ c_2\ n_3\ c_3n1​ c1​ n2​ c2​ n3​ c3​ cách nhau bởi khoảng trắng (2≤ni<10302 \le n_i < 10^{30}2≤ni​<1030, 0≤ci<ni0 \le c_i < n_i0≤ci​<ni​, các nin_ini​ đôi một nguyên tố cùng nhau).

    • Định dạng đầu ra:

      In ra duy nhất số nguyên mmm.

    Ví dụ:

    Đầu vào:

    1760553551 74088 3267902051 74088 3659333159 74088

    Đầu ra:

    42
    

    Đầu vào:

    2817332561 0 3108481157 0 2339364487 0

    Đầu ra:

    0
    

    Đang tải editor...