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ạo chữ ký ElGamal

    Chữ ký số ElGamal

    Khóa bí mật x, tham số p, g. Để ký thông điệp băm m với khóa phiên k (gcd(k, p-1)=1):

    r=gk mod p,s=(m−x⋅r)⋅k−1 mod (p−1)r = g^k \bmod p, \quad s = (m - x \cdot r) \cdot k^{-1} \bmod (p-1)r=gkmodp,s=(m−x⋅r)⋅k−1mod(p−1)

    với k^{-1} là nghịch đảo modulo p-1. Cho p, g, x, m, k, hãy in chữ ký r s.

    Ví dụ

    p=23, g=5, x=6, m=10, k=3: r=5^3 mod 23=10; k^{-1} mod 22 = 15; s=(10-6·10)·15 mod 22 = (-50)·15 mod 22 = 8.

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

      Năm số nguyên p g x m k.

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

      p nguyên tố, 5 ≤ p ≤ 10^9, 1 ≤ g < p, 0 ≤ x,m ≤ 10^9, 1 ≤ k < p-1, gcd(k,p-1)=1.

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

      Chữ ký r s.

    Ví dụ:

    Đầu vào:

    23 5 6 10 3
    

    Đầu ra:

    10 20

    Giải thích:

    r=5^3 mod 23=10; k^{-1} mod 22=15; s=(10-60)*15 mod 22=8.

    Đang tải editor...