CÁC GIAO THỨC THỎA THUẬN, PHÂN PHỐI KHÓA

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Vấn đề kiểm tra các số nguyên tố lớn (Trang 69 - 74)

Chương 2 MỘT SỐ PHƯƠNG PHÁP KIỂM TRA SỐ NGUYÊN TỐ

3.3. CÁC GIAO THỨC THỎA THUẬN, PHÂN PHỐI KHÓA

3.3.1. Giao thức phân phối khoá Blom.

1). Ý tưởng chính

Giả thiết có một mạng gồm n người dùng.

Giả sử rằng các khoá được chọn trên trường hữu hạn Zp (số nguyên tố p ≥ n). Chọn số nguyên k, (1 < k < n-2), giá trị k để hạn chế kích thước lớn nhất, mà sơ đồ vẫn duy trì được độ mật.

Trung tâm được uỷ quyền (TT) phải thiết kế một sơ đồ phân phối khóa để thực hiện được các yêu cầu sau:

- Truyền đi (k+1) phần tử của Zp , cho mỗi người dùng trên kênh an toàn (Theo phương pháp phân phối thông thường, TT phải truyền đi n-1 phần tử).

- Mỗi cặp người dùng U và V phải có khả năng tính được khoá chung Ku, v = Kv, u

- Bảo đảm điều kiện an toàn sau: Tập bất kỳ gồm nhiều nhất k người dùng không liên kết với U hay V, thì “khó” thể xác định được bất kì thông tin nào về Ku,v

2). Ứng dụng số nguyên tố.

3.3.2. Giao thức phân phối khoá Diffie-Hellman.

1). Sơ đồ.

a/. Chọn số nguyên tố p sao cho bài toán logarit rời rạc trong Zp là “khó” giải.

Chọn  là phần tử nguyên thuỷ của Zp * .

Giá trị p và  là công khai (Người dùng hoặc TT chọn).

Mỗi người dùng U chọn số mũ bí mật au (0 ≤ au ≤ p - 2) và tính giá trị công khai tương ứng: b u = au mod p.

Mỗi người dùng U có dấu xác nhận của TT về ID(U) và bu: C(U) = (ID(U), bu, sigTT (ID(U), bu)) .

b/. Để có khoá chung với V, người dùng U (có au) tính:

Ku, v = bau p

v mod = auav mod p

c/. Để có khoá chung với U, người dùng V (có av) tính:

Kv, u = b av p

u mod = auav mod p

R ràng 2 khoá là như nhau và bằng auav mod p

2). Ứng dụng số nguyên tố.

Sơ đồ này “an toàn” về mặt tính toán, vì nó liên quan đến chọn số nguyên tố p để bài toán logarit rời rạc “khó ” giải. Cụ thể là “khó” tính được au từ phần tử công khai b u = aumod p.

3.3.3. Giao thức thoả thuận khoá Diffie-Hellman.

1). Sơ đồ

Người dùng chọn số nguyên tố p rất lớn sao cho bài toán logarit rời rạc trong Zp* là “khó” giải; chọn  là phần tử nguyên thuỷ  Zp * . Phần tử p,  là công khai.

a/. Người dùng U chọn au ngẫu nhiên, bí mật (0 ≤ au ≤ p – 2).

Tính b u = au mod p và gửi nó đến V.

b/. Người dùng V chọn av ngẫu nhiên, bí mật (0 ≤ av ≤ p – 2).

Tính b v = av mod p và gửi nó đến U.

c/. U tính khoá chung Ku, v = (av)au mod p.

d/. V tính khoá chung Kv, u = (au)av mod p.

Hai giá trị khoá đó là bằng nhau!

2). Ứng dụng số nguyên tố.

Sơ đồ này “an toàn” về mặt tính toán, vì nó liên quan đến chọn số nguyên tố p để bài toán logarit rời rạc “khó ” giải.

3.3.4. Giao thức thoả thuận khoá “Trạm tới Trạm”.

Giao thức thoả thuận khoá “Trạm tới Trạm” (STS) là cải tiến của giao thức phân phối khoá Diffie-Hellman, trong đó bổ sung phần xác thực danh tính của người dùng. STS được gọi là giao thức thoả thuận khoá có xác thực, nhờ trung tâm tin cậy TT.

1). Sơ đồ

Trung tâm tin cậy TT chọn số nguyên tố p rất lớn sao cho bài toán logarit rời rạc trong Zp * là “khó” giải. Chọn  là phần tử nguyên thuỷ trong Zp * .

Giá trị p,  công khai, có dấu xác nhận của TT.

Mỗi người dùng U có chữ ký với thuật toán xác minh veru. TT có chữ ký với thuật toán xác minh verTT .

Mỗi người dùng U có dấu xác nhận định danh ID(U) là: C(U) = (ID(U), veru , sigTT (ID(U), veru)).

a/. U chọn au ngẫu nhiên, bí mật (0 ≤ au ≤ p – 2), tính aumod p, gửi tới V.

b/. V chọn av ngẫu nhiên, bí mật (0 ≤ av ≤ p – 2).

Tính av mod p, yv = sig v (av, au) . Gửi (C(V), avmod p, yv) tới U.

V tính khóa chung Kv, u = (au)av mod p

c/. U tính khóa chung Ku, v = (av)au mod p

Dùng verv để xác minh yv và xác minh C(V) nhờ verTT. Tính yu = sig u(au, av). Gửi (C(U), yu) tới V.

d/. Dùng veru để xác minh yu và xác minh C(U) nhờ verTT.

2). Ứng dụng số nguyên tố.

Sơ đồ này “an toàn” về mặt tính toán, vì nó liên quan đến chọn số nguyên tố p để bài toán logarit rời rạc “khó ” giải.

3.3.5. Giao thức thoả thuận khoá MTI.

Matsumoto, Takashima và Imai (MTI) đã xây dựng giao thức thoả thuận khoá bằng cách cải biên giao thức trao đổi khoá STS. Giao thức không đòi hỏi U và V phải tính bất kỳ chữ ký nào. Đó là giao thức “2 lần”, vì chỉ có 2 lần truyền tin riêng biệt (một từ U đến V và một từ V đến U).

1). Sơ đồ

Chọn số nguyên tố p rất lớn sao cho bài toán logarit rời rạc trong Zp * là “khó” giải. Chọn  là phần tử nguyên thuỷ  Zp *.

Mỗi người dùng U có số mũ bí mật au (0 ≤ au ≤ p -2) và giá trị công khai tương ứng: bu = au mod p.

TT có sơ đồ chữ ký với thuật toán ký bí mật sigTT và thuật toán xác minh verTT. Mỗi người dùng U có định danh ID(U) và dấu xác nhận của TT:

C(U) = (ID(U), bu , sig TT (ID(U), bu)).

a/. U chọn ngẫu nhiên bí mật ru , 0 ≤ ru ≤ p – 2, tính su = ru mod p và gửi

(C(U), su) đến V.

b/. V chọn ngẫu nhiên bí mật rv , 0 ≤ rv ≤ p – 2, tính sv = rv mod p và gửi

(C(V), sv) đến U. c/. U tính khoá K = u vru a v b s * mod p, trong đó bv nhận từ C(V). d/. V tính khoá K = v urv a u b

s * mod p, trong đó bu nhận từ C(U).

Cuối giao thức, U và V đều tính được cùng một khoá K = ru*avrv*au mod p.

2). Ứng dụng số nguyên tố.

Sơ đồ này “an toàn” về mặt tính toán, vì nó liên quan đến chọn số nguyên tố p để bài toán logarit rời rạc “khó ” giải.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Vấn đề kiểm tra các số nguyên tố lớn (Trang 69 - 74)

Tải bản đầy đủ (PDF)

(79 trang)