Hệ mã logarithm rời rạc

Một phần của tài liệu chữ ký số và các vấn đề bảo mật thông tin (Trang 28 - 30)

4. Tổng quan luận văn

1.3.4 Hệ mã logarithm rời rạc

Mô hình này do Diffie-Hellman [5] xây dựng dựa trên bài toán logarithm rời rạc. Phƣơng pháp có thể đƣợc tóm tắt nhƣ sau:

Input: a, b, c  N.

Output: x  N : ax  b (mod n) nếu x tồn tại.

F

E ke

Khoá công khai

P C = ( ) e k E P P = D Ckd( ) Bí mật của bên nhận ks G D kd

Nghi thức truyền hóa Diffie-Hellman

Mô hình này không dùng để gửi thông điệp mật mà chỉ dùng cho các đối tác xây dựng khóa bí mật dùng chung trên mạng công cộng. Nhƣ thế, có thể sử dụng Diffie-Hellman kết hợp với DES để trao đổi thông tin mật. Nghi thức trao đổi khóa giữa A và B nhƣ sau:

Các thành viên trong hệ thống cùng chọn chung một số nguyên tố q và một phần tử sinh g,

- A chọn ngẫu nhiên một số a  {1, 2, ..., q - 1} và gửi cho B kết quả của ga

mod q,

- B chọn ngẫu nhiên một số b  {1, 2, ..., q - 1} và gửi cho A kết quả của gb

mod q,

- A tính khóa bí mật bằng cách nâng kết quả nhận đƣợc lên luỹ thừa a: K = (gb)a mod q = gab mod q.

Tƣơng tự, B tính K = (ga

)b mod q = gab mod b. Cả hai sẽ sử dụng K nhƣ khóa bí mật cho các phiên giao dịch sau.

Rõ ràng, nếu có g, q, ga mod q và gb mod q thì có thể tính đƣợc gab mod q và nhƣ thế có thể hiểu đƣợc các phiên giao dịch của A và B. Thực vậy, có thể dùng g, q, ga mod q và gb mod q để tính lại a, sau đó có thể dễ dàng phá đƣợc hệ thống Diffie-Hellman. Vì thế, tính an toàn của hệ thống Diffie-Hellman dựa trên giả thiết rằng không thể tính gab

nếu chỉ biết ga và gb. Trên lý thuyết, có thể có cách sử dụng tri thức về ga

và gb để tính gab. Nhƣng hiện tại, chƣa có cách nào để tính gab

mà không phải giải bài toán khó lagarithm rời rạc.

Ví dụ 1.1

- Chọn q = (7149

- 1)/6 và p = 2 x 739 x q + 1. Thì p và q là số nguyên tố.

- A chọn ngẫu nhiên một số đồng dƣ x mod p, tính 7x

(mod p) và gửi kết quả cho B, giữ bí mật x. - B nhận:

7x =

12740218011997394682426924434322849749382042586931621

654557735290322914679095998681860978813046595166455458144 280588076766033781

- B chọn ngẫu nhiên một số đồng dƣ y mod p, tính 7y

(mod p) và gửi kết quả cho A, giữ bí mật y.

7y = 18016228528745310244478283483679989501596704669534669 731302512173405995377205847595817691062538069210165184866 2362137934026803049

- Bây giờ, A và B cùng tính và dùng chung khóa bí mật 7xy

(mod p)

Một phần của tài liệu chữ ký số và các vấn đề bảo mật thông tin (Trang 28 - 30)

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

(88 trang)