Mật mã học 001 – Các thuật ngữ

Nguồn:

  • Chapter 1, Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition, Bruce Schneier, 1996

Keyword

  • Cryptography, Plaintext, Ciphertext, bản mã, bản rõ, mã hóa, giải mã, phá mã

Mở đầu

Bài này nhằm giới thiệu những khái niệm chung nhất về mật mã học. Cũng là để thống nhất các thuật ngữ cho các bài viết sau này.

Người gửi (sender) và người nhận (receiver)

Trong mật mã học, ta xem xét đến trường hợp người gửi muốn gửi một thông điệp cho người nhận  một cách bí mật. Thông điệp cần được truyền sao cho trong ngay cả khi nó lọt vào tay kẻ xấu, kẻ xấu vẫn không thể hiểu được nội dung của thông điệp.

Thông điệp và mã hóa

Thông điệp (message), hay còn gọi là văn bản gốc, bản rõ (plaintext, cleartext), là thứ người gửi muốn truyền đạt đến cho người nhận. Ví dụ, một anh chàng đang yêu muốn gửi thư đến cho một cô nàng, anh ấy viết thư và trao trực tiếp cho cô ấy, thì bức thư chính là một thông điệp (message).

Nhưng vấn đề nảy sinh khi anh chàng không trực tiếp gửi cho cô gái (chắc do ngại), mà nhờ một người bạn X gửi hộ. X có thể là người xấu, rất có thể X sẽ tò mò giở bức thư ra xem, và bao nhiêu “thủ đoạn” của anh chàng sẽ bị X biết hết. Do đó, anh chàng cần “biến đổi” bức thư sao cho những người khác không hiểu được, mà chỉ có cô gái có thể hiểu được thôi. Việc biến đổi như vậy, được gọi là quá trình mã hóa (encrypt). Và bức thư khi đã được “biến đổi”, được gọi là văn bản mã (ciphertext) (hay còn có các tên khác như bản mã). Quá trình cô gái chuyển từ bức thư đã được “biến đổi” trở về bức thư gốc ban đầu anh chàng viết, được gọi là quá trình giải mã (decrypt).

Một cách tổng quát, quá trình mã hóa và giải mã được biểu diễn bởi sơ đồ sau:

encryptionprocess

Mật mã học (cryptography) là nghệ thuật và môn khoa học giữ các thông điệp bí mật.

Những người nghiên cứu và phát triển mật mã được gọi là nhà mật mã học (cryptographer)

Người phá mã (cryptanalyst) là những người nghiên cứu và phát triển ngành phá mã (cryptanalysis)

Bản rõ và Bản mã

Bản rõ thường được ký hiệu là M (message) hay P (plaintext). Nó có thể là một vài bit, một tập tin văn bản, một hình ảnh, một đoạn phim,… hay bất cứ thứ gì chứa thông tin. Trong mật mã cổ điển, M thường là các văn bản. Trong mật mã hiện đại, M thường là dữ liệu nhị phân. Bản rõ thường tham gia vào quá trình truyền dữ liệu và lưu trữ. Trong mọi trường hợp, bản rõ luôn được mã hóa.

Bản mã thường được ký hiệu là C (cipher). Nó cũng là dữ liệu nhị phân.

Hàm mã hóa E, là hàm biến đổi M thành C: E(M) = C

Hàm giải mã D, là hàm biến đổi C thành M: D(C) = M

Trong các bài viết sau này, sẽ thống nhất dùng thuật ngữ "bản rõ" cho từ plaintext (tương đương với các từ văn bản gốc), "bản mã" cho từ ciphertext (tương đương với từ văn bản mã). "Mã hóa" cho từ encrypt, "giải mã" cho từ decrypt, "phá mã" cho từ cryptanalysis (tương đương với các từ thám mã, phân tích mã)

ĐỘNG NÃO CHÚT NÀO?

C1. Hãy lấy một ví dụ về các khái niệm mật mã, mã hóa, bản mã, bản rõ, nhà giải mã, nhà phá mã mà bạn biết

(Trả lời bằng cách comment dưới bài viết này)

Advertisements

2 thoughts on “Mật mã học 001 – Các thuật ngữ

    • viết những cái cơ bản làm nền tảng trước, mấy cái này viết nhanh mà anh ^-^
      Anh thấy còn chỗ nào sai sót thì comment để em sửa với nhé 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s