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.