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] Trao đổi khóa nhóm ba bên (3-party Diffie–Hellman)

    Diffie–Hellman hai bên có thể mở rộng cho ba bên Alice, Bob, Carol cùng thống nhất một khóa chung, thông qua giao thức vòng tròn 3 bước với tham số công khai ppp (nguyên tố) và ggg. Alice, Bob, Carol có khóa bí mật lần lượt là a,b,ca, b, ca,b,c.

    Bước 1: mỗi bên tự tính giá trị công khai của mình: XA=ga mod p,XB=gb mod p,XC=gc mod pX_A = g^{a} \bmod p,\quad X_B = g^{b} \bmod p,\quad X_C = g^{c} \bmod pXA​=gamodp,XB​=gbmodp,XC​=gcmodp

    Bước 2: trao đổi vòng tròn Alice → Bob → Carol → Alice, mỗi bên mũ hóa giá trị vừa nhận được bằng khóa riêng của mình: YA=XC a mod p,YB=XA b mod p,YC=XB c mod pY_A = X_C^{\,a} \bmod p,\quad Y_B = X_A^{\,b} \bmod p,\quad Y_C = X_B^{\,c} \bmod pYA​=XCa​modp,YB​=XAb​modp,YC​=XBc​modp

    Bước 3: tiếp tục trao đổi vòng tròn theo đúng thứ tự đó và mũ hóa lần cuối để ra khóa chung: KA=YC a mod p,KB=YA b mod p,KC=YB c mod pK_A = Y_C^{\,a} \bmod p,\quad K_B = Y_A^{\,b} \bmod p,\quad K_C = Y_B^{\,c} \bmod pKA​=YCa​modp,KB​=YAb​modp,KC​=YBc​modp

    Có thể chứng minh KA=KB=KC=gabc mod pK_A = K_B = K_C = g^{abc} \bmod pKA​=KB​=KC​=gabcmodp. Cho TTT bộ (p,g,a,b,c)(p, g, a, b, c)(p,g,a,b,c), hãy tính khóa chung cuối cùng mà cả ba bên thu được.

    Ví dụ: p=23, g=5, a=3, b=4, c=5p=23,\ g=5,\ a=3,\ b=4,\ c=5p=23, g=5, a=3, b=4, c=5 cho khóa chung bằng 333.

    • Định dạng đầu vào:
      • Dòng đầu tiên chứa số nguyên TTT (1≤T≤10001 \le T \le 10001≤T≤1000).
      • TTT dòng tiếp theo, mỗi dòng chứa năm số nguyên p g a b cp\ g\ a\ b\ cp g a b c, trong đó ppp là số nguyên tố (2≤p≤1092 \le p \le 10^{9}2≤p≤109), 1≤g≤p−11 \le g \le p-11≤g≤p−1, 0≤a,b,c≤1090 \le a, b, c \le 10^{9}0≤a,b,c≤109.
    • Định dạng đầu ra:

      In ra TTT dòng, dòng thứ iii là khóa chung K=gabc mod pK = g^{abc} \bmod pK=gabcmodp của bộ dữ liệu thứ iii.

    Ví dụ:

    Đầu vào:

    1
    23 5 3 4 5
    

    Đầu ra:

    3
    

    Đầu vào:

    1
    7 3 1 1 1
    

    Đầu ra:

    3
    

    Đang tải editor...