Trong mật mã học, mã hóa là quá trình mã hóa một tin nhắn hoặc thông tin theo cách mà chỉ những người được ủy quyền mới có thể truy cập nó và những người không được ủy quyền không thể. Mã hóa không tự ngăn chặn sự can thiệp, nhưng từ chối nội dung dễ hiểu cho một kẻ can thiệp. Trong một chương trình mã hóa, thông tin hoặc tin nhắn dự định, được gọi là văn bản đơn giản, được mã hóa bằng cách sử dụng thuật toán mã hóa  một mã hóa  tạo ra văn bản mã hóa chỉ có thể đọc nếu được giải mã. Vì lý do kỹ thuật, một chương trình mã hóa thường sử dụng một khóa mã hóa ngẫu nhiên giả tạo được tạo ra bởi một thuật toán. Về nguyên tắc, có thể giải mã tin nhắn mà không cần sở hữu khóa, nhưng, cho một chương trình mã hóa được thiết kế tốt, cần có nguồn lực và kỹ năng tính toán đáng kể. Một người nhận