- 4000 năm trước ở Ai cập, con người đã biết sử dụng chữ tượng hình.
- Thượng cổ ở Hy Lạp, mã hiệu đã được sử dụng để đánh dấu nô lệ.
- 2000 năm trước, Julius Caesar là người đầu tiên sử dụng hệ thống mật mã trong trao đổi thông tin.
Tồn tại nhiều hệ mật mã khác nhau, tuy nhiên có thể biểu diễn bằng mô hình tổng quát như sau:
Mô hình hệ mật mã tổng quát
Có hai kỹ thuật cơ bản sử dụng trong các hệ mã cổ điển, đó là thay thế và dịch chuyển.
Định nghĩa 1
Một hệ mật mã là một bộ 5 (P, C, K,, D), thỏa mãn các điều kiện sau đây:
- P là tập hữu hạn các bản tin rõ
- C là một tập hữu hạn các bản tin đã mã hóa
- K là không gian khóa, là tập hữu hạn các khóa
- Với mỗi K K, tồn tại một giải thuật mã hóa và một giải thuật giải mã D. Trong đó: PC và CP là các hàm sao cho với mọi x P.
Một số quy ước: plain text (chữ thường), cipher text (chữ hoa)
Ghi chú:
được định nghĩa là tập {0, …, m-1} và hai phép toán + và *. Hai phép toán này tương tự như trên trường số nguyên cộng với phép toán rút gọn kết quả module theo m.
Định nghĩa 2
Cho a, b là các số nguyên, m là số nguyên dương. Ta viết nếu (b-a) chia hết cho m. Cụm từ được đọc là “a, b đồng dư module m”.