Mật mã học là gì? Vì sao Cryptography lại đóng vai trò quan trọng trong cuộc sống hiện đại?

phanhao

Member
gemgem
Tham gia
18/03/2025
Bài viết
160
Được Like
0
Coin
0
Points
800
  • Khi chúng ta nhắn tin với bạn bè trên các thiết bị điện tử, điều gì giúp tin nhắn của chúng ta đến được đúng người mà không bị một người thứ ba đọc được.
  • Khi chúng ta thanh toán online, điều gì có thể đảm bảo rằng thông tin thẻ của chúng ta không bị đánh cắp bởi người khác.
  • Khi chúng ta đăng nhập vào một hệ thống (google, facebook), liệu thông tin mật khẩu của chúng ta có bị người khác nhìn thấy ?
  • Hay, bất cứ khi nào chúng ta sử dụng Internet, điều gì đảm bảo cho thông tin của chúng ta không bị thất lạc, sai lệch hay giả mạo ?


1. Cryptography (Mật mã học) là gì?

Cryptography
(Mật mã học) là việc thực hành và nghiên cứu cách thức trao đổi thông tin an toàn trong môi trường có sự hiện diện của hành vi đối nghịch.

Nói cách khác, cryptography là việc thực hành và nghiên cứu các giao thức trao đổi thông tin an toàn mà không bị bên thứ ba can thiệp và tổn hại.

Cryptography là một ngành có lịch sử rất lâu đời. Tuy nhiên, phần lớn trong lịch sử loài người, chúng ta chỉ che giấu thông tin một cách rất thô sơ và dễ đoán. Cryptography mới chỉ được phát triển mạnh trong vài chục năm trở lại đây.

Chữ "cryptography" bắt nguồn từ tiếng Hi Lạp, trong đó "kryptos" (ẩn giấu) và "graphein" (viết).

2. Mật mã học - Một số thuật ngữ cơ bản trong Cryptography

Một số thuật ngữ cơ bản của Cryptography bao gồm:


  • Plaintext (Bản rõ): là thông tin ban đầu chưa được che giấu. Nó có thể ở dạng văn bản, hình ảnh, video hoặc bất kỳ định dạng khác. Plaintext có thể dễ dàng đọc và hiểu bởi bất kỳ ai có quyền truy cập vào nó nên nó cần được che dấu và bảo vệ.
  • Ciphertext (Bản mã): Là kết quả của quá trình mã hoá plaintext, là dạng dữ liệu đã được che giấu. Ciphertext là vô nghĩa với các bên khác, ngoại trừ các bên trao đổi thông tin với nhau.
  • Key (Khoá): Còn gọi là cryptographic key (khoá mật mã), là một mẩu thông tin dưới dạng chuỗi số hoặc chữ cái, được sử dụng trong quá trình mã hoá và giải mã. Key là thành phần tối quan trọng, cần được giữ kín. Nếu key bị lộ, bất kỳ ai có được key cũng có thể biết được nội dung của plaintext.
  • Cipher: Là thuật toán dùng để má hoá và giải mã dữ liệu.
  • Decipher (Phá mã): Là thuật toán dùng để tấn công vào ciphertext với mục tiêu tiếp cận đến plaintext mà không cần tới key.
  • Encryption: Là quá trình mã hoá thông tin từ plaintext thành ciphertext sử dụng cipher và key phù hợp.
  • Decryption: Là quá trình đưa ciphertext về plaintext sử dụng cipher và key phù hợp.
  • Encrypt (Mã hoá): Là hành động biến plaintext thành dạng ciphertext.
  • Decrypt (Giải mã): Là hành động đưa ciphertext về plaintext sử dụng cipher và key phù hợp.
3. Mục tiêu của Mật mã học là gì?

Về cơ bản, mục tiêu chính của cryptography bao gồm:


  • Confidentiality (Tính bảo mật): Chỉ có các bên liên quan trong quá trình trao đổi, chủ sở hữu hoặc người có thẩm quyền mới có quyền truy cập vào các thông tin liên quan.
  • Integrity (Tính toàn vẹn): Dữ liệu trong quá trình lưu trữ và trao đổi không được thay đổi hoặc bị mất.
  • Authentication (Tính xác thực): Người nhận phải biết được thông điệp mà họ nhận được đến từ ai, và xác thực được danh tính người gửi.
  • Non-repudiation (Tính chống chối bỏ): Người gửi không thể chối bỏ được thông điệp mà họ đã gửi. Người gửi sẽ phải chịu toàn bộ trách nhiệm với thông tin mà họ đã gửi.
Chúng ta có nhiều loại mã hoá, mỗi loại có mục tiêu khác nhau nên không phải bất cứ loại mã hoá nào cũng có thể đảm bảo được toàn bộ cả bốn tính chất trên. Cho nên, chúng ta thường sử dụng kết hợp các loại mã hoá khác nhau nhằm đưa hệ thống đạt ngưỡng an toàn tốt nhất. Ví dụ, mã hoá bất đối xứng được sử dụng trong quá trình trao đổi secret key của mã hoá đối xứng.

3. Các loại encryption (mã hoá)

3.1. Symmetric Encryption (mã hoá đối xứng)


Screen-Shot-2023-08-28-at-22.00.12.png


Symmetric Encryption (mã hoá đối xứng), hay còn có tên khác là secret key encryption, là một loại kỹ thuật mã hoá sử dụng cùng một khoá cho cả quá trình mã hoá và giả mã. Do đó, người gửi và người nhận cần có một cách để chia sẻ và thống nhất khoá an toàn.

Một số ứng dụng của mã hoá đối xứng bao gồm:

  • Che giấu dữ liệu: mã hoá đối xứng được dùng để che giấu các thông tin nhạy cảm, ví dụ như email, file.
  • Chia sẻ tập tin: mã hoá đối xứng sử dụng như một cách che giấu thông tin an toàn khi chỉa sẻ trên mạng máy tính.
Ưu điểm lớn nhất của mã hoá đối xứng là tốc độ. Mã hoá đối xứng có tốc độ mã hoá và giải mã tốt hơn rất nhiều so với mã hoá bất đối xứng, nên nó thường được sử dụng để mã hoá file.

Nhược điểm lớn nhất của mã hoá đối xứng là cách chia sẻ key. Hai bên cần thống nhất sử dụng chung một key duy nhất một cách an toàn, điều này có thể gây ra một số rủi ro và có một số khó khăn nhất định.

Một số loại mã hoá đối xứng phổ biến hiện nay bao gồm:

  • Data Encryption Standard (DES): DES là một mật mã khối sử dụng khóa 56 bit. Nó được phát hành lần đầu tiên vào năm 1977 và hiện không còn được coi là an toàn vì bị phá vỡ bởi thuật toán vét cạn (exhautive search), mà lý do khoá tương đối ngắn (56 bit). Hiện nay đã bị thay thế bằng AES.
  • Triple DES (3DES): 3DES là một biến thể của DES sử dụng ba khóa. 3DES có độ dài khóa 112 bit hoặc 168 bit, do đó, nó an toàn hơn DES. Nó an toàn hơn DES nhưng cũng chậm hơn. Nhìn chung, 3DES là một thuật toán mã hóa an toàn và hiệu quả, nhưng nó không còn được coi là lựa chọn tốt nhất cho các ứng dụng bảo mật hiện đại.
  • Advanced Encryption Standard (AES): AES là một mật mã khối sử dụng khóa 128 bit, 192 bit hoặc 256 bit, được coi là thuật toán mã hoá đối xứng an toàn nhất hiện có. Nó được phát triển bởi National Institute of Standards and Technology (NIST), và được sử dụng phổ biến trên toàn thế giới hiện nay.
3.2. Asymmetric Encryption (mã hoá bất đối xứng)

Asymmetric Encryption
, hay có tên khác là public-key encryption (mã hoá công khai) là một loại kỹ thuật mã hoá sử dụng 2 key cho cả quá trình mã hoá và giải mã.

Hai key này đi thành cặp, bao gồm private keypublic key. Private key sẽ được giữ bí mật, dùng để giải mã dữ liệu. Public key sẽ được chia sẻ với tất cả mọi người, dùng để dùng để mã hoá dữ liệu

Tuỳ thuộc vào cách sử dụng key, ta có hai chức năng chính như sau:

  • Khi muốn trao đổi thông tin an toàn, sender sẽ sử dụng public key của receiver để encrypt thông tin và gửi đi. Sau đó, receiver sẽ lấy private key của mình để decrypt thông tin, khi đó, thông tin đã được trao đổi thành công và an toàn.
Screen-Shot-2023-08-28-at-22.12.45.png


  • Trường hợp ngược lại sử dụng secret key để encryptpublic key để decrypt, ta gọi nó là ký số (sign), và thông điệp sau khi bị sign gọi là chữ ký số (digital signature) được đính kèm vào văn bản công khai mà bên gửi đã gửi cho các bên liên quan.
Ý nghĩa chính của digital signature là chỉ có người sở hữu secret key mới có thể sign được signature trên văn bản công khai, do đó, danh tính của sender được đảm bảo.

Screen-Shot-2023-08-28-at-22.17.22.png


Ưu điểm lớn nhất của mã hoá bất đối xứng là cách thức trao đổi khoá rất an toàn. Hai bên chỉ cần gửi public key cho nhau để trao đổi mà không cần lo ngại về cách thức trao đổi khoá. Public key dù có bị các bên khác lấy được cũng không thể sử dụng.

Nhược điểm chính của mã hoá bất đối xứng là tốc độ. Mã hoá bất đối xứng chạy chậm nên chỉ phù hợp mã hoá các thông tin có kích thước nhỏ và không phù hợp để sử dụng trên các văn bản lớn.
 
Top Bottom