---
title: "Mật mã học là gì? Lý thuyết Cryptography bạn cần biết"
description: "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? Cùng tìm hiểu về Cryptography trong bài viết này nhé! "
canonical: "https://200lab.io/blog/cryptography-la-gi"
published: "2023-08-30T02:50:21Z"
updated: "2026-08-21T07:17:55Z"
authors: ["Lương Việt Hải"]
tags: ["Code life", "Basic"]
reading_minutes: 17
access: "public"
---

**_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? Cùng tìm hiểu về Cryptography trong bài viết này nhé! _**

- 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 ?

[Cryptography](<https://en.wikipedia.org/wiki/Cryptography>) (mật mã học) đóng vai trò cực kỳ quan trọng trong việc chuyển giao thông tin giữa các thiết bị điện tử. Bất cứ lúc nào chúng ta truy cập vào mạng máy tính, _cryptography _đều có mặt.

Hay nói cách khác _`cryptography is everywhere`._

    [Xem Thêm Khóa Học Lập Trình](<https://200lab.io/khoa-hoc?utm_campaign=blog-content&utm_medium=cta&utm_source=blog>)

## **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](<https://en.wikipedia.org/wiki/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](<https://en.wikipedia.org/wiki/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](<https://en.wikipedia.org/wiki/Key_(cryptography)>) (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](<https://en.wikipedia.org/wiki/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](<https://en.wikipedia.org/wiki/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)**

![Cryptography](https://assets.200lab.io/images/2024/12/05/screen-shot-2023-08-28-at-22-00-12-792b07289e0ea67cbeab.webp)

[Symmetric Encryption](<https://en.wikipedia.org/wiki/Symmetric-key_algorithm>) (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](<https://en.wikipedia.org/wiki/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](<https://en.wikipedia.org/wiki/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](<https://en.wikipedia.org/wiki/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](<https://www.nist.gov/>)(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 key** và **public 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.

![Trao đổi thông tin an toàn với Asymmetric cryptographyCryptography](https://assets.200lab.io/images/2024/12/05/screen-shot-2023-08-28-at-22-12-45-dc61bedf4312e5b620e4.webp)

- Trường hợp ngược lại sử dụng _secret key_ để _encrypt_ và _public 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.

![Cryptography](https://assets.200lab.io/images/2024/12/05/screen-shot-2023-08-28-at-22-17-22-1f1dc94da9fd3c27a251.webp)

Ư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.

**_Một số mã hoá bất đối xứng phổ biến hiện nay: _**

- **[RSA](<https://en.wikipedia.org/wiki/RSA_(cryptosystem)>)**: RSA là từ viết tắt của Rivest–Shamir–Adleman, tên của ba nhà khoa học máy tính đã phát triển nó vào năm 1978. RSA dựa trên độ khó của việc phân tích các số nguyên tố lớn. Mặc dù có tuổi đời rất lâu, RSA vẫn được coi là một trong những thuật toán mã hoá tốt nhất hiện nay.
- [ElGamal](<https://en.wikipedia.org/wiki/ElGamal_encryption>): ElGamal là một thuật toán mã hóa bất đối xứng được phát triển bởi Taher Elgamal vào năm 1985. Nó dựa trên bài toán logarit rời rạc, một bài toán toán học phức tạp vẫn chưa có giải pháp hiệu quả. ElGamal được coi là an toàn như RSA, nhưng có hiệu suất tốt hơn.
- [Diffie-Hellman](<https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange>): Diffie-Hellman là một thuật toán chia sẻ bí mật được phát triển bởi Whitfield Diffie và Martin Hellman vào năm 1976. Nó được sử dụng để tạo ra một khóa chung giữa hai bên mà không cần chia sẻ khóa đó trước đây. Giống với ElGamal, Diffie-Hellman là một thuật toán an toàn dựa trên bài toán logarit rời rạc.

### **3.3. Cryptographic hash function (Hàm băm mật mã học)**

**Hash function** (hàm băm) là một hàm toán học cho phép chuyển một chuỗi ký tự có độ dài bất kỳ thành một chuỗi có độ dài cố định.

**Cryptographic hash function** (hàm băm băm mật mã học) là một **hàm băm **nhưng có thể một số tính chất phù hợp hơn với mật mã học.

Trong nhiều tài liệu, các tác giả cũng rút gọn **crytographic hash function** thành** hash function.** Bài viết này cũng sẽ rút gọn khái niệm trên thành **hash function** để tránh xung đột.

Chuỗi sau khi biến đổi gọi là **hashed value**_ _(giá trị băm). Vì tính chất đặc thù này, chúng ta sẽ chỉ có một số lượng hữu hạn các hashed value và có thể xảy ra hiện tượng hai input trùng một hashed value.

**_Các đặc tính của hash function bao gồm : _**

- **Uniformity** (Tính đồng nhất): Một hashing function tốt cho phép mọi giá trị băm được tạo ra có xác suất giống nhau. Ngoài ra, uniformity còn có thể tính toán và đo lường được thông qua [Chi-squared test](<https://en.wikipedia.org/wiki/Chi-squared_test>).
- **Efficiency** (Tính hiệu quả): _Hashing function_ nên dễ tính toán, tốc độ xử lý một chuỗi đầu vào cần có thời gian phù hợp.
- **Determinism** (Tính xác định): Luôn trả về một kết quả nếu _input_ không đổi.
- **Non-reversibility **(Tính một chiều): Sẽ rất khó có thể đảo ngược từ _hashed value_ sang _input_.
- **Weak collision resistance**_ _(Tính kháng va chạm yếu): Giả sử có giá trị input x, khó có thể tìm ra một y != x với H(y) = H(x)
- **Strong collision resistance **(Tính kháng va chạm mạnh): Khó có thể tìm được một cặp x, y bất kỳ sao cho H(x) = H(y)

**_Một số ứng dụng của hash function bao gồm: _**

- **Verifying the integrity **(Đảm bảo tính toàn vẹn dữ liệu): Người ta thường sử dụng một mã _hashed_ khi gửi kèm với dữ liệu gốc để đảm bảo rằng thông tin của _sender_ toàn vẹn trong quá trình trao đổi.
- **Signature generation and verification **(Tạo, xác minh chữ ký): Khi sử dụng _signature_, người ta không sử dụng toàn bộ thông tin để ký mà chỉ sử dụng _hashed value_ của thông tin đó.
- **Password verification **(Chứng thực mật khẩu): Mật khẩu trong cơ sở dữ liệu sẽ không bao giờ được lưu trữ ở _plaintext_, mà buộc phải thông qua các _hashing function_ để lưu trữ.

**_Một số hash function phổ biến bao gồm:_**

- [MD5](<https://en.wikipedia.org/wiki/MD5>)_: MD5_ được Ronald Rivest thiết kế vào năm 1991 để thay thế hàm băm [MD4](<https://en.wikipedia.org/wiki/MD4>) trước đó. Nó tạo ra hashed value có 128 bit. Hiện đã bị phá nên không còn được ưu tiên sử dụng.
- [SHA0](<https://en.wikipedia.org/wiki/SHA-1>): Là phiên bản đầu tiên của nhóm thuật toán [SHA](<https://vi.wikipedia.org/wiki/SHA>), được công khai năm 1991. Tuy nhiên sau đó bị rút lại do một lỗi bảo mật nghiêm trọng không được công bố, và được thay thế bằng SHA1.
- **[SHA1](<https://en.wikipedia.org/wiki/SHA-1>)**: Được thiết kế bởi United States [National Security Agency](<https://en.wikipedia.org/wiki/National_Security_Agency>), SHA1 có thể tạo ra hashed value có 160 bit. Điểm yếu của SHA1 đã được công bố, vì thế, sau năm 2010 đã ít được sử dụng, các tiêu chuẩn cũng loại bỏ SHA1.
- **[SHA2](<https://en.wikipedia.org/wiki/SHA-2>)**: Là phiên bản nâng cấp của SHA1. SHA2 có thể tạo ra nhiều giá trị đầu ra, bao gồm: _SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA2-512/224, SHA2-512/256. _SHA2 vẫn còn sử dụng tốt cho đến ngày hôm nay.
- [SHA3](<https://en.wikipedia.org/wiki/SHA-3>): Là phiên bản tốt nhất của nhóm thuật toán SHA. Mặc dù cùng nhóm với SHA, tuy nhiên cấu trúc bên trông SHA3 rất khác so với các thuật toán mã hoá trước đó, nó có phần giống với MD5.
Giống SHA2, SHA3 cũng cung cấp nhiều giá trị đầu vào, bao gồm: _SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHA3-512/224, _và_ SHA3-512/256_
- [SHAKE](<https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf>): Một biến thể của SHA-3, SHAKE cho phép tạo ra các hàm băm có độ dài đầu ra tùy ý. SHAKE có hai biến thể: SHAKE-128 và SHAKE-256, cho phép tạo ra các hàm băm có độ dài đầu ra là 128 bit và 256 bit tương ứng.
- [cSHAKE](<https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf>): Một biến thể của SHAKE cho phép thêm một số tùy chọn tùy chỉnh, chẳng hạn như độ dài của đầu ra, giá trị [nonce](<https://en.wikipedia.org/wiki/Cryptographic_nonce>) và số vòng lặp. cSHAKE cũng là một biến thể của SHA3
- [TupleHash](<https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf>): Một hàm băm mật mã được thiết kế để băm các mảng của các chuỗi. TupleHash là một phiên bản khác của SHA3.

Các hash function SHAKE, cSHAKE và TupleHash đều được phát triển bởi NIST (National Institute of Standards and Technology) và đều được mô tả trong [FIPS](<https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf>) 202: SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions.

## **4. Một số lưu ý khi ứng dụng Cryptography**

### **4.1. Cryptography**

Cryptography gần như không có điểm yếu nào nếu sử dụng đúng cách. Nhưng trong quá trình sử dụng, chúng ta có thể mắc một số lỗi cơ bản sau:

- **Sử dụng key quá yếu**: Việc sử dụng một key quá yếu sẽ tạo điều kiện cho _attacker_ có thể đoán, thậm trí dịch ngược được thông tin đã được _encrypt_.
- **Sử dụng cryptography đã lỗi thời**: Tránh việc sử dụng các _cryptography_ đã cũ vì chúng không còn đủ khả năng bảo vệ.
- **Bảo quản secret key kém**: Việc để lộ, làm mất _secret key_ là việc tối kỵ. Cần có các chính sách bảo quản các _secret key_ thật tốt.
- **Không cập nhật key**: Một _secret key_ chỉ đủ để bảo vệ thông tin trong một khoảng thời gian nhất định, do đó chúng ta cần thay thế các _key_ cũ trong quá trình trao đổi thông tin.

### **4.2. Hash function**

Cũng giống như cryptography, hash function_ _gần như không có điểm yếu nếu sử dụng đúng cách. Tuy nhiên, ta cần lưu ý một số trường hợp cụ thể sau:

- **Sử dụng hashed value để lưu trữ mật khẩu**: Dù không thể bị dịch ngược, nhưng attacker vẫn có thể tấn công bằng kỹ thuật [dictionary attack](<https://en.wikipedia.org/wiki/Dictionary_attack>), thậm trí [brute-force attack](<https://en.wikipedia.org/wiki/Brute-force_attack>) nhằm tiếp cận_ _password_._
- **Sử dụng hashed value làm ID**: Việc định danh dữ liệu bằng hashed value tiềm ẩn rủi ro xung đột (collision) vì hai dữ liệu trùng một hashed value là hoàn toàn có thể xảy ra. Chúng ta có thể cải thiện hiệu suất tìm kiếm bằng hashed value, nhưng không nên sử dụng nó như một định danh.

## **5. Kết luận về Mật mã học**

Các **hàm mã hoá**_ _rất mạnh mẽ, dễ sử dụng và đáng tin cậy. Nếu sử dụng đúng cách, hệ thống của chúng ta sẽ có một lớp phòng thủ vững chắc, hoàn toàn có thể chống lại sự xâm phạm của_ _kẻ tấn công_._

Tuy nhiên, nếu sử dụng không đúng chuẩn, sai cách sử dụng sẽ để lại lỗ hổng bảo mật cực lớn đến hệ thống, dữ liệu, thậm trí máy chủ của chúng ta đều có thể bị đánh cắp, chiếm đoạt hoặc phá hoại.

Ngoài ra, chúng ta cần thường xuyên cập nhật các phần mềm, tránh trường hợp các giao thức, thậm trí các hàm mã hoá mà chúng ta sử dụng không còn hiệu quả.

Trong chiến tranh thế giới thứ hai, cỗ máy [Enigma](<https://en.wikipedia.org/wiki/Enigma_machine>) được coi là bất khả chiến bại thời bấy giờ, đã bị cỗ máy [Bombe](<https://en.wikipedia.org/wiki/Bombe>) do [Alan Turing](<https://en.wikipedia.org/wiki/Alan_Turing>) phát minh giải mã thành công, giúp một phần không nhỏ cho quân Đồng Minh chiến thắng Phát xít Đức.

![Cryptography](https://assets.200lab.io/images/2024/12/05/screen-shot-2023-08-26-at-20-17-30-29eb067a864455362530.webp)

Theo khuyến nghị của [200lab](<https://200lab.io/>), chúng ta nên sử dụng các hàm mã hoá theo các tiêu chuẩn khuyến nghị có sẵn, ví dụ như [RFCs](<https://en.wikipedia.org/wiki/Request_for_Comments>), để giảm thiểu tối đa nguy cơ và rủi ro bảo mật. Rất nhiều các tiêu chuẩn của RFCs, trong đó có [JWT](</blog/jwt-la-gi>)_, _[HTTPs](</blog/http2-la-gi>), [bcrypt](<https://en.wikipedia.org/wiki/Bcrypt>) đã phổ biến và được tin dùng.

_**Bài viết này có sử dụng các tài liệu tham khảo từ:**_

1. [Cryptography - Wikipedia](<https://en.wikipedia.org/wiki/Cryptography>)
2. [Symmetric key algorithm - Wikipedia](<https://en.wikipedia.org/wiki/Symmetric-key_algorithm>)
3. [Public key cryptography - Wikipedia](<https://en.wikipedia.org/wiki/Public-key_cryptography>)
4. [Cryptography standards - Wikipedia](<https://en.wikipedia.org/wiki/Cryptography_standards>)
5. [RFCs Standard - Ietf.org](<https://www.ietf.org/standards/rfcs>)

Mật mã học là cách chúng ta giữ cho thông tin an toàn khi truyền nó qua các kênh có thể bị bên thứ 3 can thiệp. Nó xoay quanh các khái niệm như bảo vệ thông tin, đảm bảo thông tin không bị thay đổi, xác định ai đang gửi hoặc nhận thông tin, và đảm bảo người gửi không thể phủ nhận việc họ đã gửi thông tin đó. Các ứng dụng cụ thể của mật mã học bao gồm việc bảo mật thông tin trong mua sắm trực tuyến, tiền điện tử, mật khẩu máy tính và truyền thông quân sự...

    [Xem Thêm Khóa Học Lập Trình](<https://200lab.io/khoa-hoc?utm_campaign=blog-content&utm_medium=cta&utm_source=blog>)

Giờ thì bạn đã hiểu rõ khái niệm "mật mã học là gì" cũng như các lý thuyết cơ bản về Cryptography. Hãy thường xuyên theo dõi trang [Blog của 200Lab](</>) để thu thập thêm các kiến thức hữu ích về công nghệ, dữ liệu và lập trình nhé.

**_Một vài bài viết có thể bạn sẽ thích:_**

> [ChatGPT là gì? Cách sử dụng ChatGPT an toàn & hiệu quả](</blog/chatgpt-la-gi>)

> [Tìm hiểu về Git Rebase vs Git Merge](</blog/git-rebase-vs-git-merge>)

> [Jira Software: Phần mềm quản lý công việc đa năng từ Atlassian](</blog/jira-la-gi>)

> [NextJS là gì? Mọi thứ bạn cần biết về NextJS](</blog/nextjs-la-gi>)

> [ACID là gì? Các tính chất của ACID](</blog/acid-la-gi>)

## Đọc thêm

- [Tại sao các Experienced Programmer lại trượt Coding Interview?](https://200lab.io/blog/tai-sao-cac-experienced-programmer-lai-truot-coding-interview.md): Tại sao các lập trình viên giàu kinh nghiệm lại trượt Coding Interview. Họ đều là senior engineer thực thụ, giỏi giải quyết các bài toán kỹ thuật
- [Top các công cụ AI giúp bạn x10 hiệu suất làm việc](https://200lab.io/blog/top-cac-cong-cu-ai-giup-ban-x10-hieu-suat-lam-viec.md): Trong bài viết này, mình sẽ giới thiệu top những công cụ AI mạnh mẽ nhất mà bạn có thể ứng dụng ngay vào công việc để làm việc thông minh hơn
- [Hướng dẫn sử dụng công cụ đánh giá CV miễn phí](https://200lab.io/blog/huong-dan-su-dung-cong-cu-danh-gia-cv-mien-phi.md): Vậy để tăng cơ hội nhận được phản hồi từ nhà tuyển dụng mình sẽ hướng dẫn các bạn sử dụng công cụ Nodeflair hoàn toàn miễn phí để đánh giá CV
- [Apple lên tiếng về AI: Chúng ta có đang đánh giá quá cao Trí tuệ của nó?](https://200lab.io/blog/apple-len-tieng-ve-ai.md): Các nhà nghiên cứu tại Apple tuyên bố LLM thực chất chỉ là dựa trên việc ghi nhớ dữ liệu, chứ không phải là trí tuệ thực sự
- [Whisper AI là gì? Công cụ chuyển giọng nói thành văn bản của Open AI](https://200lab.io/blog/whisper-ai-la-gi.md): Whisper là công nghệ chuyển giọng nói thành văn bản do OpenAI phát triển, giúp nhận diện chính xác nhiều ngôn ngữ và giọng nói khác nhau
- [Mọi bài viết chủ đề Code life](https://200lab.io/blog/tags/code-life.md)

Toàn bộ nội dung: https://200lab.io/llms.txt
