Mật mã học
Thuật ngữ

Việc nghiên cứu tìm các phương thức để phá vỡ việc sử dụng mật mã được gọi là phân tích mật mã, hay phá mã. Mật mã hóa và phân tích mật mã đôi khi được nhóm lại cùng nhau dưới tên gọi chung mật mã học, nó bao gồm toàn bộ các chủ đề liên quan đến mật mã. Trong thực tế, thuật ngữ mật mã hóa thông thường được sử dụng để nói đến ngành này một cách tổng thể.
Trong một số ngôn ngữ như tiếng Anh nó là cryptography, có nguồn gốc từ tiếng Hy Lạp kryptós tức là "ẩn", và gráphein, "viết ra"
Việc sử dụng từ 'cryptography' lần đầu tiên có lẽ diễn ra trong bài diễn thuyết của Sir Thomas Browne năm 1658 có tên gọi The Garden of Cyrus: "the strange Cryptography of Gaffarel in his Starrie Booke of Heaven".
Mật mã hóa là quá trình chuyển đổi các thông tin thông thường (văn bản thường hay văn bản rõ hay văn bản trơn) thành dạng không đọc trực tiếp được, là văn bản mã hóa. Giải mật mã hay giải mã là quá trình ngược lại, phục hồi lại văn bản thường từ văn bản mã. Mật mã là thuật toán để mật mã hóa và giải mật mã. Hoạt động chính xác của mật mã thông thường được kiểm soát bởi các khóa — một đoạn thông tin bí mật nào đó cho phép tùy biến cách thức tạo ra văn bản mã. Hệ thống mã hóa bao gồm: mã hóa,mật hóa,văn bản hóa,.... Các giao thức mật mã chỉ rõ các chi tiết về việc mật mã (và các nền tảng mật mã hóa khác) được sử dụng như thế nào để thu được các nhiệm vụ cụ thể. Một bộ các giao thức, thuật toán, cách thức quản lý khóa và các hành động quy định trước bởi người sử dụng cùng phối hợp chặt chẽ tạo thành hệ thống mật mã.
Trong cách nói thông thường, "mã" bí mật thông thường được sử dụng đồng nghĩa với "mật mã". Trong mật mã học, thuật ngữ này có ý nghĩa kỹ thuật đặc biệt: Các mã là các phương pháp lịch sử tham gia vào việc thay thế các đơn vị văn bản lớn hơn, thông thường là các từ hay câu văn (ví dụ, "qua tao" thay thế cho "tan cong luc rang dong"). Ngược lại, mật mã hóa cổ điển thông thường thay thế hoặc sắp xếp lại các chữ cái riêng biệt (hoặc một nhóm nhỏ các chữ cái) — ví dụ, "tan cong luc rang dong" trở thành "ubo dpoh mvd sboh epoh" bằng cách thay thế.
Như vậy trong một hệ thống mật mã khái quát sẽ có các thành phần sau:
Văn bản trơn (plaintext), tức là thông điệp nguyên gốc chưa được mã hóa.
Văn bản mã hóa (ciphertext), tức là thông điệp đã được mã hóa.
Thuật toán mã hóa (enciphering algorithm) là các giao thức hoặc hướng dẫn có tác dụng chuyển đổi văn bản trơn thành văn bản mã hóa. Đối với các hệ thống mật mã truyền thống, chỉ có người gửi thông điệp biết được thuật toán mã hóa, tuy nhiên đối với các hệ thống dùng mật mã hóa khóa công khai (Public key code - PKC), tất cả mọi người đều có thể biết thuật toán mã hóa mà không ảnh hưởng tiêu cực đến an ninh của hệ thống.
Khóa mã hóa (enciphering key) là một hoặc nhiều đối tượng (thường là các con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc mã hóa văn bản trơn. Ngoại trừ trong hệ thống PKC, để đảm bảo bí mật an toàn thì khóa mã hóa thường chỉ được người gửi biết.
Thuật toán giải mã (deciphering algorithm) là các giao thức hoặc hướng dẫn có tác dụng chuyển đổi văn bản mã hóa trở về văn bản trơn. Để đảm bảo bí mật, chỉ có người nhận thông điệp biết được thuật toán giải mã.
Khóa giải mã (deciphering key) là một hoặc nhiều đối tượng (thường là các con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc giải mã văn bản bị mã hóa. Để đảm bảo bí mật, chỉ có người nhận thông điệp biết được khóa giải mã.-_-"§
Sản phẩm mật mã (Cryptography Product) bao gồm các hệ thống thiết bị, module, mạch tích hợp và các chương trình phần mềm mã hoá chuyên dụng có tích hợp các thuật toán mật mã, được thiết kế, chế tạo để bảo vệ thông tin giao dịch điện tử và lưu trữ dưới dạng số hoá, trong đó sử dụng "Thuật toán mã đối xứng" hoặc "Thuật toán mã không đối xứng".!