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 cho dãy khối bản rõ

    Cho khóa công khai RSA (n,e)(n, e)(n,e) được sinh từ hai số nguyên tố p,qp, qp,q (tức n=pqn = pqn=pq) và một dãy gồm kkk khối bản rõ m1,m2,…,mkm_1, m_2, \ldots, m_km1​,m2​,…,mk​ (mỗi 0≤mi<n0 \le m_i < n0≤mi​<n). Hãy mã hóa từng khối theo công thức:

    ci=mie mod nc_i = m_i^e \bmod nci​=mie​modn

    Ví dụ: p=61p = 61p=61, q=53q = 53q=53, e=17e = 17e=17 ⇒n=3233\Rightarrow n = 3233⇒n=3233. Với m1=65m_1 = 65m1​=65, c1=6517 mod 3233=2790c_1 = 65^{17} \bmod 3233 = 2790c1​=6517mod3233=2790.

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

      Dòng 1: ba số nguyên p q ep\ q\ ep q e (2≤p,q≤1062 \le p, q \le 10^62≤p,q≤106, p,qp, qp,q nguyên tố, p≠qp \ne qp=q, gcd⁡(e,φ(n))=1\gcd(e,\varphi(n))=1gcd(e,φ(n))=1). Dòng 2: một số nguyên kkk (0≤k≤10000 \le k \le 10000≤k≤1000) — số lượng khối. Dòng 3: kkk số nguyên m1 m2 … mkm_1\ m_2\ \ldots\ m_km1​ m2​ … mk​ cách nhau bởi khoảng trắng (bỏ trống nếu k=0k = 0k=0).

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

      In ra một dòng gồm kkk số nguyên c1 c2 … ckc_1\ c_2\ \ldots\ c_kc1​ c2​ … ck​ cách nhau bởi khoảng trắng, theo đúng thứ tự đầu vào (in dòng trống nếu k=0k = 0k=0).

    Ví dụ:

    Đầu vào:

    61 53 17
    2
    65 123

    Đầu ra:

    2790 855
    

    Đầu vào:

    61 53 17
    1
    65

    Đầu ra:

    2790
    

    Đang tải editor...