Mã hoá thông tin là gì? (Cập nhật 2024)

Chúng ta đang bước vào thời đại kỹ thuật số, và các ngành công nghiệp truyền thống như viễn thông và giáo dục văn hoá đang trải qua những biến đổi mạnh mẽ. Những ngành khác như công nghệ thông tin (IT) và các dịch vụ liên quan đang phát triển với tốc độ chóng mặt. Đặc biệt, Internet đã cách mạng hoá thông tin liên lạc bởi nó loại bỏ được các hạn chế về khoảng cách, thời gian và khối lượng”. Mã hóa thông tin được nhiều người liên tục nhắc đến, vậy nó là gì,cùng ACC tìm hiểu nhé!

1. Mã hóa thông tin là gì?

Mã hóa thực chất là một phương pháp biến đổi thông tin dưới dạng bình thường trở nên không thể hiểu được nếu không có phương tiện giải mã. Hay nói một cách đơn giản và dễ hiểu hơn thì mã hóa chính là cách xáo trộn dữ liệu một cách lộn xộn mà chỉ 2 bên trao đổi thông tin mới có thể hiểu.

Mã hóa thông tin là một hình thức biến đổi dữ liệu thành một dạng dữ liệu khác có ý nghĩa khác với dữ liệu trước khi bị biến đổi ban đầu, với mục đích chỉ cho phép một số người nhất định có thể đọc được dữ liệu ban đầu, thông qua việc giải mã dữ liệu sau khi biến đổi.

Hay nói cách khác, mã hóa là biến dữ liệu ban đầu A thành dữ liệu B, và việc đọc dữ liệu A sẽ thông qua việc giải mã dữ liệu B về A.

2. Các thuật ngữ cơ bản trong mã hóa thông tin.

  • Bản rõ (plaintext) : là thông tin chưa được mã hóa hay thông tin ở dạng có thể hiểu được.
  • Bản mã (ciphertext hay encrypted text) : là thông tin đã được mã hóa hay thông
  • tin ở dạng đã bị xáo trộn.
  • Mã hóa (Encryption): là hành động xáo trộn bản rõ để chuyển thành bản mã.
  • Giải mã (Decryption): là hành động giải xáo trộn bản mã để chuyển thành bản rõ.
  • Mã hóa sử dụng một thuật toán (Algorithm) để mã hóa thông tin.

ma-hoa-thong-tin 1

3. Các phương pháp mã hóa cơ bản.

Mã hóa cổ điển

Đây là phương pháp mã hóa đầu tiên, và cố xưa nhất, và hiện nay rất ít được dùng đến so với các phương pháp khác. Ý tưởng của phương pháp này rất đơn giản, bên A mã hóa thông tin bằng thuật toán mã hóa cổ điển, và bên B giải mã thông tin, dựa vào thuật toán của bên A, mà không dùng đến bất kì key nào. Do đó, độ an toàn của thuật toán sẽ chỉ dựa vào độ bí mật của thuật toán, vì chỉ cần ta biết được thuật toán mã hóa, ta sẽ có thể giải mã được thông tin.

Mã hóa đối xứng

Mã hóa đối xứng là phương pháp mã hóa mà key mã hóa và key giải mã là như nhau (Sử dụng cùng một secret key để mã hóa và giải mã). Đây là phương pháp thông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa hai bên. Vì chỉ cần có secret key là có thể giải mã được, nên bên gửi và bên nhận cần làm một cách nào đó để cùng thống nhất về secret key.

Để thực hiện mã hóa thông tin giữa hai bên thì:

Đầu tiên bên gửi và bên nhận bằng cách nào đó sẽ phải thóa thuận secret key (khóa bí mật) được dùng để mã hóa và giải mã. Vì chỉ cần biết được secret key này thì bên thứ ba có thể giải mã được thông tin, nên thông tin này cần được bí mật truyền đi (bảo vệ theo một cách nào đó).

Sau đó bên gửi sẽ dùng một thuật toán mã hóa với secret key tương ứng để mã hóa dữ liệu sắp được truyền đi. Khi bên nhận nhận được sẽ dùng chính secret key đó để giải mã dữ liệu.

Vấn đề lớn nhất của phương pháp mã hóa đối xứng là làm sao để “thỏa thuận” secret key giữa bên gửi và bên nhận, vì nếu truyền secret key từ bên gửi sang bên nhận mà không dùng một phương pháp bảo vệ nào thì bên thứ ba cũng có thể dễ dàng lấy được secret key này.

Các thuật toán mã hóa đối xứng thường gặp: DES, AES…

Mã hóa bất đối xứng

Mã hóa bất đối xứng là phương pháp mã hóa mà trong đó key mã hóa và key giải mã khác nhau. Nghĩa là key ta sử dụng để mã hóa dữ liệu sẽ khác với key ta dùng để giải mã dữ liệu. Tất cả mọi người đều có thể biết được public key, và có thể dùng public key này để mã hóa thông tin. Nhưng chỉ có người nhận mới nắm giữ private key, nên chỉ có người nhận mới có thể giải mã được thông tin.

Để thực hiện mã hóa bất đối xứng thì:

Bên nhận sẽ tạo ra một gặp khóa (public key và private key). Bên nhận sẽ dữ lại private key và truyền cho bên gửi public key. Vì public key này là công khai nên có thể truyền tự do mà không cần bảo mật.

Bên gửi trước khi gửi dữ liệu sẽ mã hóa dữ liệu bằng thuật toán mã hóa bất đối xứng với key là public key từ bên nhận.

Bên nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bên gửi, với key giải mã là private key.

Điểm yếu lớn nhất của mã hóa bất đối xứng là tốc độ mã hóa và giải mã rất chậm so với mã hóa đối xứng, nếu dùng mã hóa bất đối xứng để mã hóa dữ liệu truyền – nhận giữa hai bên thì sẽ tốn rất nhiều chi phí.

Do đó, ứng dụng chỉnh của mã hóa bất đối xứng là dùng để bảo mật secret key cho mã hóa đối xứng: Ta sẽ dùng phương pháp mã hóa bất đối xứng để truyền secret key của bên gửi cho bên nhận. Và hai bên sẽ dùng secret key này để trao đổi thông tin bằng phương pháp mã hóa đối xứng.

Thuật toán mã hóa bất đối xứng thường thấy: RSA.

Mã hóa một chiều

Đôi khi ta chỉ cần mã hóa thông tin chứ không cần giải mã thông tin, khi đó ta sẽ dùng đến phương pháp mã hóa một chiều (Chỉ có thể mã hóa chứ không thể giải mã). Thông thường phương pháp mã hóa một chiều sử dụng một hàm băm (hash function) để biến một chuỗi thông tin thành một chuỗi hash có độ dài nhất định. Ta không có bất kì cách nào để khôi phục (hay giải mã) chuỗi hash về lại chuỗi thông tin ban đầu. Đặc điểm của hash function là khi thực hiên băm hai chuỗi dữ liệu như nhau, dù trong hoàn cảnh nào thì nó cũng cùng cho ra một chuỗi hash duy nhất có độ dài nhất định và thường nhỏ hơn rất nhiều so với chuỗi gốc, và hai chuỗi thông tin bất kì dù khác nhau rất ít cũng sẽ cho ra chuỗi hash khác nhau rất nhiều. Do đó hash function thường được sử dụng để kiểm tra tính toàn vẹn của dữ liệu.

Thuật toán mã hóa một chiều (hàm băm) mà ta thường gặp nhất là MD5 và SHA.

4. Vai trò của mã hóa thông tin

Như đã nói thì mục đích chính của việc mã hóa dữ liệu là để bảo vệ dữ liệu số khi nó được lưu trữ trên các hệ thống của máy tính và lan truyền qua Internet hay bất cứ các mạng máy tính khác.

Các thuật toán mã hóa thường sẽ cung cấp những yếu tố bảo mật then chốt như là xác thực, tính toàn vẹn và không thể thu hồi. Bước xác thực sẽ cho phép xác minh được nguồn gốc của dữ liệu, tính toàn vẹn và chứng minh rằng nội dung của dữ liệu sẽ không thể bị thay đổi kể từ khi nó vừa được gửi đi. Không thu hồi được nhằm đảm bảo rằng người đó không thể hủy việc gửi dữ liệu.

Quá trình mã hóa sẽ biến các nội dung này sang một dạng mới, vì thế sẽ làm tăng thêm một lớp bảo mật nữa cho dữ liệu. Như vậy cho dù dữ liệu của bạn có bị đánh cắp thì việc giải mã dữ liệu này cũng là điều vô cùng khó khăn và gần như là không thể, không chỉ tốn nhiều nguồn lực để tính toán mà còn cần rất nhiều thời gian.

Với những công ty, tổ chức có quy mô lớn thì việc sử dụng mã hóa dữ liệu là điều vô cùng cần thiết. Điều này có thể sẽ giúp tránh được những thiệt hại lớn khi những thông tin bảo mật nếu vô tình bị lộ ra ngoài thì cũng khó lòng mà giải mã ngay lập tức được

ACC hy vọng đã hỗ trợ để có thể giúp bạn hiểu thêm về một số vấn đề về mã hóa thông tin theo quy định pháp luật hiện nay. Nếu có gì thắc mắc quý đọc giả vui lòng liên hệ với chúng tôi qua Website: accgroup.vn