| Bước 1 | Chọn p, q là 2 số nguyên tố |
| Bước 2 | Tính φ(n) = (p-1)*(q-1) |
| Bước 3 | Tính n = p * q |
| Bước 4 (tìm khóa mã hóa) | Chọn e sao cho GCD(e, φ(n)) = 1 |
| Bước 5 (tìm khóa giải mã) | Tìm d sao cho e * d = 1 mod φ(n) |
| Bước 6 (Encrypt) | y = xe mod n |
| Bước 7 (Decrypt) | x = yd mod m |
Tạo class để thực hiện mã hóa đối xứng theo các yêu cầu sau
Yêu cầu: Thực hiện mã hóa trên các ký tự A-Z(0-25), chọn p = 7, q = 11, e = 3
Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Assci, chọn p = 11, q = 29, e = 5
Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn p = 283, q = 547, e = 5
Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn p = 51109, q = 99733, e = 5