Mật mã học là việc thực hành và nghiên cứu các kỹ thuật liên lạc an toàn trước sự có mặt của bên thứ ba được gọi là đối thủ. Mục tiêu chính của nó là đảm bảo quyền riêng tư, xác thực, tính toàn vẹn và không thể chối bỏ tin nhắn hoặc dữ liệu.
Nghệ thuật mật mã cũng lâu đời như chính việc viết lách. Ban đầu, nó được sử dụng để đảm bảo rằng chỉ những người nhận dự định mới có thể hiểu được nội dung của tin nhắn. Người Ai Cập, Hy Lạp và La Mã cổ đại đã phát triển và sử dụng các kỹ thuật mã hóa. Một ví dụ nổi tiếng là mật mã Caesar , một mật mã thay thế trong đó mỗi chữ cái trong bản rõ được dịch chuyển một số vị trí nhất định trong bảng chữ cái.
Có hai loại thuật toán mã hóa chính:
Mã hóa là quá trình chuyển đổi văn bản gốc thành văn bản mã hóa, không ai có thể đọc được ngoại trừ người nắm giữ khóa. Giải mã là quá trình ngược lại, biến bản mã trở lại thành bản rõ có thể đọc được. Mối quan hệ toán học có thể được biểu diễn dưới dạng:
Cơ sở hạ tầng khóa công khai là một khuôn khổ để quản lý chứng chỉ kỹ thuật số và mã hóa khóa công khai. Nó cho phép người dùng mạng công cộng không bảo mật như internet trao đổi dữ liệu một cách an toàn và riêng tư.
Hàm băm là một loại thuật toán mã hóa tạo ra một chuỗi byte có kích thước cố định (được gọi là hàm băm) từ dữ liệu đầu vào có kích thước bất kỳ. Chúng được sử dụng để đảm bảo tính toàn vẹn dữ liệu. Một ví dụ nổi tiếng là thuật toán SHA-256 được sử dụng trong khai thác Bitcoin.
Chữ ký số là một kỹ thuật mã hóa nhằm đảm bảo nguồn gốc và tính toàn vẹn của tài liệu hoặc thông tin liên lạc kỹ thuật số. Chữ ký số được tạo bằng khóa riêng và có thể được xác minh bởi bất kỳ ai có khóa chung tương ứng.
Phân tích mật mã là nghiên cứu phân tích hệ thống thông tin để hiểu các khía cạnh ẩn giấu của hệ thống. Nó được sử dụng để vi phạm các hệ thống bảo mật mật mã và giành quyền truy cập vào nội dung của tin nhắn được mã hóa.
Mật mã học có nhiều ứng dụng, bao gồm bảo mật thông tin liên lạc bí mật, bảo vệ thông tin trên thiết bị lưu trữ, tăng cường bảo mật mạng và web, bảo mật các giao dịch tài chính điện tử và đảm bảo tính toàn vẹn và xác thực của chữ ký và chứng chỉ số.
Với sự tiến bộ của sức mạnh tính toán, chẳng hạn như điện toán lượng tử, các kỹ thuật mã hóa hiện tại phải đối mặt với những thách thức mới. Các nhà mật mã học đang tích cực làm việc để phát triển các thuật toán mới có thể chịu được sức mạnh tính toán của máy tính lượng tử.