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] ElGamal lũy thừa – Đồng cấu cộng

    ElGamal "trong số mũ" – đồng cấu cộng

    Đặt bản rõ vào số mũ: E(m,k)=(gk,  gm yk)E(m,k) = (g^{k},\; g^{m}\, y^{k})E(m,k)=(gk,gmyk) với y=gxy=g^{x}y=gx. Khi nhân từng thành phần:

    (c1ac1b,  c2ac2b)=(gka+kb,  gma+mb yka+kb)(c_{1a}c_{1b},\; c_{2a}c_{2b}) = (g^{k_a+k_b},\; g^{m_a+m_b}\, y^{k_a+k_b})(c1a​c1b​,c2a​c2b​)=(gka​+kb​,gma​+mb​yka​+kb​)

    là bản mã của tổng ma+mbm_a+m_bma​+mb​. Giải mã lấy gm=c2(c1x)−1g^{m}=c_2 (c_1^{x})^{-1}gm=c2​(c1x​)−1 rồi tìm mmm bằng logarit rời rạc (bản rõ nhỏ).

    Cho khóa bí mật xxx và hai bản mã, tính bản mã gộp và phục hồi ma+mbm_a+m_bma​+mb​.

    Ví dụ

    ma=3,mb=5m_a=3, m_b=5ma​=3,mb​=5 cho tổng 888.

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

      Dòng 1: p g x. Dòng 2: c1a c2a. Dòng 3: c1b c2b.

    • Ràng buộc đầu vào:

      ppp nguyên tố nhỏ, ggg căn nguyên thủy, ma+mb<pm_a+m_b < pma​+mb​<p.

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

      Dòng 1: bản mã gộp c1 c2. Dòng 2: tổng ma+mbm_a+m_bma​+mb​.

    Ví dụ:

    Đầu vào:

    1019 2 17
    10 755
    200 886

    Đầu ra:

    981 466
    8

    Giải thích:

    Nhân từng thành phần rồi giải mã cho $g^{m}$ với $m = 3+5 = 8$.

    Đang tải editor...