Vì mật mã Caesar chỉ có thể đưa ra được 25 cách biến đổi bản tin nhất định, nên đây là phương pháp mã hóa không thực sự an toàn. Mật mã Affine là trường hợp suy rộng của mật mã Caesar, và nó tốt hơn về khả năng bảo mật. Mật mã Affine áp dụng phép nhân và phép cộng vào mỗi chữ cái, sử dụng hàm sau :
y = (ax + b) mod m
trong đó x là giá trị số của chữ cái trong bản tin chưa mã hóa, m là số chữ cái trong bảng chữ cái bản tin chưa mã hóa, a và b là các số bí mật, và y là kết quả thu được của phép biến đổi. y có thể được giải mã trở lại x bằng các sử dụng
biểu thức x = inverse (a)(y-b) mod m , inverse(a) là giá trị mà nếu nó được nhân
với kết quả a mod m sẽ cho ta kết quả là 1 ((a * inverse(a)) mod m = 1.)
Vì phép tính liên quan đến modulo 26, nên một vài chữ cái có thể không được giải mã ra kết quả duy nhất nếu số nhân có một ước chung với 26. Do đó,
ước chung lớn nhất của a và m phải bằng 1, (a,m)=1
Ví dụ : Giả sử bản tin được mã hóa bằng hàm y = (11x+4) mod 26. Để mã hóa bản tin MONEY. Các giá trị số tương ứng với bản tin gốc MONEY là 12,14,13,4 và 24. Áp dụng vào hàm cho mỗi giá trị, ta thu được lần lượt tương ứng y = 6, 2, 17, 22, 28 ( M: y = (11*12 + 4) MOD 26 = 6 ). Và các chữ cái tương ứng là GCRWI, đó là bản tin đã được mã hóa.
Để giải mã, ta biến đổi hàm số y thành x = inverse (a) (y-b) mod m. Ta có
x = inverse (11)( (y-4) mod 26. Mà inverse (11) mod 26 = 19, do đó x = 19 (y – 4) mod 26. Áp dụng với bản tin mã hóa GCRWI ta thu được các giá trị x = 12, 14, 13, 4, 24. Các chữ cái tương ứng là MONEY.
Nhưng do chúng ta biết mỗi chữ cái trong bản tin gốc được mã hóa theo hàm y=(ax+b) mod m, ta có thể phá được mã affine bằng cách giải hai phương trình tuyến tính. Một khi ta xác định được giá trị của a và b, ta có thể giải mã được toàn bộ bản tin đã mã hóa. Ví dụ, giả sử rằng “IF” được mã hóa thành “PQ”
I P: 8a + b = 15 MOD 26
F Q: 5a + b = 16 MOD 26
Mã hóa bảo mật trong Wimax Chương II : Các phương pháp mã hóa bảo mật
Giải ra ta được a=17, b=9. [23]