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 chu trình (Cycling Attack) giải mã RSA không cần khoá riêng

    Cho khoá công khai RSA (n,e)(n, e)(n,e) và bản mã c=me mod nc = m^e \bmod nc=memodn (với gcd⁡(m,n)=1\gcd(m, n) = 1gcd(m,n)=1, 0<m<n0 < m < n0<m<n). Ánh xạ mã hoá

    E(x)=xe mod nE(x) = x^{e} \bmod nE(x)=xemodn

    là một song ánh (permutation) trên tập các số nguyên từ 111 đến n−1n-1n−1 nguyên tố cùng nhau với nnn (vì eee nguyên tố cùng nhau với λ(n)\lambda(n)λ(n) — hàm Carmichael của nnn). Vì tập này hữu hạn, lặp lại EEE nhiều lần từ bất kỳ điểm nào rồi cũng quay vòng trở lại điểm xuất phát.

    Tấn công chu trình: không cần biết p,qp, qp,q hay khoá riêng ddd, kẻ tấn công chỉ cần lặp:

    x0=c,x1=E(x0),x2=E(x1), …x_0 = c, \quad x_1 = E(x_0), \quad x_2 = E(x_1), \ \ldotsx0​=c,x1​=E(x0​),x2​=E(x1​), …

    cho đến khi gặp lại xt=x0=cx_t = x_0 = cxt​=x0​=c lần đầu tiên (với t≥1t \ge 1t≥1 nhỏ nhất thoả điều kiện này). Khi đó giá trị ngay trước đó, xt−1x_{t-1}xt−1​, chính là bản rõ:

    xt−1=mx_{t-1} = mxt−1​=m

    Lý do: vì EEE song ánh và xt−1e mod n=xt=c=me mod nx_{t-1}^{e} \bmod n = x_t = c = m^e \bmod nxt−1e​modn=xt​=c=memodn, nên xt−1x_{t-1}xt−1​ phải bằng mmm (nghiệm căn bậc eee duy nhất của ccc trong tập song ánh).

    Với các bộ khoá trong đề bài, chu trình luôn đủ ngắn (tối đa vài nghìn bước) để chạy được trong thời gian giới hạn.

    Yêu cầu: Cho (n,e,c)(n, e, c)(n,e,c), hãy tìm bản rõ mmm bằng tấn công chu trình (không được phân tích thừa số nnn).

    Ví dụ: Với (n,e,c)=(915749, 5, 839994)(n, e, c) = (915749,\ 5,\ 839994)(n,e,c)=(915749, 5, 839994), kết quả là m=863390m = 863390m=863390.

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

      Một dòng gồm 3 số nguyên cách nhau bởi khoảng trắng: n e cn\ e\ cn e c.

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

      Một dòng duy nhất: số nguyên mmm là bản rõ khôi phục được.

    Ví dụ:

    Đầu vào:

    915749 5 839994
    

    Đầu ra:

    863390
    

    Đầu vào:

    10153579 5 2210790
    

    Đầu ra:

    5222650
    

    Đang tải editor...