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] Mã hóa RSA cơ bản

    Cho hai số nguyên tố p,qp, qp,q và số mũ mã hóa công khai eee (giả thiết gcd⁡(e,φ(n))=1\gcd(e, \varphi(n)) = 1gcd(e,φ(n))=1 với n=pqn = pqn=pq, φ(n)=(p−1)(q−1)\varphi(n) = (p-1)(q-1)φ(n)=(p−1)(q−1)). Khóa công khai RSA là cặp (n,e)(n, e)(n,e).

    Cho ttt bản rõ m1,m2,…,mtm_1, m_2, \dots, m_tm1​,m2​,…,mt​ (0≤mi<n0 \le m_i < n0≤mi​<n), hãy tính ttt bản mã tương ứng

    ci=mie mod n.c_i = m_i^{e} \bmod n.ci​=mie​modn.

    Ví dụ: với p=61,q=53,e=17p=61, q=53, e=17p=61,q=53,e=17 (ví dụ RSA kinh điển, n=3233n=3233n=3233), bản rõ m=65m=65m=65 mã hóa thành c=6517 mod 3233=2790c = 65^{17} \bmod 3233 = 2790c=6517mod3233=2790.

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

      Dòng đầu tiên chứa ba số nguyên p q ep\ q\ ep q e (p,qp, qp,q là số nguyên tố, 2≤p,q<1052 \le p, q < 10^{5}2≤p,q<105, p≠qp \ne qp=q, 1<e<(p−1)(q−1)1 < e < (p-1)(q-1)1<e<(p−1)(q−1)). Dòng thứ hai chứa số nguyên ttt (1≤t≤201 \le t \le 201≤t≤20). Dòng thứ ba chứa ttt số nguyên m1,…,mtm_1, \dots, m_tm1​,…,mt​ (0≤mi<pq0 \le m_i < pq0≤mi​<pq), cách nhau bởi khoảng trắng.

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

      In ra trên một dòng ttt số nguyên c1,…,ctc_1, \dots, c_tc1​,…,ct​ (theo đúng thứ tự bản rõ tương ứng), cách nhau bởi một khoảng trắng.

    Ví dụ:

    Đầu vào:

    61 53 17
    1
    3232
    

    Đầu ra:

    3232
    

    Đầu vào:

    61 53 17
    3
    0 1 65
    

    Đầu ra:

    0 1 2790
    

    Đang tải editor...