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 an1 1, 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. c = arbs d = avbw k = ardbs k = avcbw Bob Alice r, s v, w
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.
c = arbs d = avcbw f = a-rdb-s f = avbw Bob Alice r, s v, w (1) (2)
Hình 3.4. Sự trao đổi khóa f giữa Bob và Alice.