Giao thức trao đổi khoá mật trên không gian không giao hoán

Một phần của tài liệu tìm hiểu chữ ký số và ứng dụng của nó (Trang 58)

Cho G là một nhóm hữu hạn, không giao hoán. a b G, ∈ thỏa ab ≠ ba. Đặt n1 là cấp của a, là số mũ nguyên dương nhỏ nhất thỏa n1 1

a = , và n2 là cấp của b. Giả sử Bob và Alice muốn trao đổi khóa mật:

(1) Bob chọn ngẫu nhiên các số tự nhiên r và s với 0 < r < n1, 0 < s < n2, r và s được giữ bí mật. Anh ta tính c = arbs rồi gửi kết quả cho Alice.

(2) Alice chọn ngẫu nhiên các số tự nhiên v và w với 0 < v < n1, 0 < w < n2, v và

w được giữ bí mật. Cô ta tính d = avbw rồi gửi kết quả cho Bob.

(3) Alice tính k = avcbw. k là khóa bí mật được dùng trong các lần giao tiếp sau. (4) Bob tính tương tự k = ardbs.

Hình 3.3 Sự trao đổi khóa k giữa Bob và Alice.

Lưu ý, nếu cả hai bên đều biết một số bất kỳ e trong G, có thể đặt nó vào giữa các tích c và d, khi đó ta được c’ = arebs và d’ = avebw trong bước (1) và (2). Một biến thể của phương pháp trao đổi trên có thể cài đặt như sau :

(1) Bob chọn ngẫu nhiên các số tự nhiên r và s với 0 < r < n1, 0 < s < n2, r và s được giữ bí mật. Anh ta tính c = arbs và gửi kết quả cho Alice.

(2) Alice chọn ngẫu nhiên các số tự nhiên v và w với 0 < v < n1, 0 < w < n2, v và

w được giữ bí mật. Cô ta tính f = avbw và d = avcbw. f là khóa mật, d được chuyển cho Bob.

(3) Bob cũng tính f = a-rdb-s.

Hình 3.4. Sự trao đổi khóa f giữa Bob và Alice.

Một phần của tài liệu tìm hiểu chữ ký số và ứng dụng của nó (Trang 58)