Mã Hóa AES Là Gì, Ví Dụ Về Cách Thức Hoạt động Của Tiêu Chuẩn Mã ...
Có thể bạn quan tâm
Nếu bạn đã từng thắc mắc về cách mọi thứ được giữ an toàn trên Internet, đặc biệt là khi xem xét rằng có một số tác nhân xấu liên tục cố gắng đột nhập kho dữ liệu mật mã là một trong những câu trả lời phù hợp nhất với câu hỏi.
Như bạn có thể biết, mật mã chỉ là một trong những phương pháp được sử dụng để bảo vệ thông tin và liên lạc, nhưng điều đó không có nghĩa là nó đơn giản theo bất kỳ phương tiện nào. Trên thực tế, đó là một công nghệ trải qua sự phát triển không ngừng để đảm bảo rằng các tiêu chuẩn mà nó dựa vào luôn là hàng đầu.
Một ví dụ về tiêu chuẩn như vậy là AES , một từ viết tắt mà bạn có thể gặp phải trước đây, đặc biệt nếu bạn liên tục sử dụng các ứng dụng liên lạc như WhatsApp, Signal hoặc Telegram hoặc phần mềm VPN. Trong bài viết này, chúng tôi sẽ tập trung vào AES và giúp bạn hiểu rõ hơn về nó.
AES là gì?
AES, viết tắt của Tiêu chuẩn mã hóa nâng cao là một hình thức mã hóa phổ biến đã được sử dụng trong một thời gian dài để đảm bảo rằng dữ liệu được giữ an toàn và bảo mật. khỏi những cặp mắt tò mò.
Điều làm cho mã hóa AES nổi bật trong đám đông là thực tế là đây là một phương pháp mã hóa an toàn, nhanh chóng và tính linh hoạt của nó giúp bạn có thể sử dụng nó trên nhiều loại sản phẩm, từ các ứng dụng hàng ngày như WhatsApp hoặc Báo hiệu cho các hệ thống an ninh quân sự và thậm chí cả phần cứng.
Cách mã hóa hoạt động
Bạn có thể biết cách mã hóa hoạt động. Nếu bạn không, đây là một lời nhắc nhanh: mã hóa lấy văn bản thuần túy và chuyển nó thành dạng mật mã, làm cho văn bản trông giống như được tạo thành từ các ký tự ngẫu nhiên. Có thể an toàn khi nói rằng AES là một loại mã hóa đối xứng, vì nó sử dụng cùng một khóa để mã hóa và giải mã dữ liệu.
Tiêu chuẩn mã hóa này sử dụng thuật toán mạng hoán vị thay thế (thuật toán SPN) để áp dụng một số vòng mã hóa để bảo vệ dữ liệu. Thực tế là nó sử dụng quá nhiều vòng khiến AES hầu như không thể xuyên thủng .
AES không chỉ là mật mã đầu tiên mà còn là mật mã có thể truy cập công khai duy nhất đã được NSA (Cơ quan An ninh Quốc gia) phê duyệt để bảo vệ dữ liệu tối mật. Ban đầu, tiêu chuẩn mã hóa này được gọi là Rijndael dựa trên tên của hai nhà phát triển của nó, Vincent Rijmen và Joan Daemen (đều đến từ Bỉ).
AES nhiều độ dài khóa
AES bao gồm ba mật mã khối và mỗi mật mã khối này có một số tổ hợp phím có thể có khác nhau, như sau:
- AES-128: Độ dài khóa 128 bit=3,4 * 10 38
- AES-192: Độ dài khóa 192 bit=6.2 * 10 57
- AES-256: Độ dài khóa 256 bit=1,1 * 10 7 7
Mặc dù có ba mật mã khối, mỗi một trong số chúng mã hóa và giải mã dữ liệu ở các bit 128 khối bằng cách sử dụng các độ dài khóa khác nhau (tức là 128, 192 và 256, như được chỉ định ở trên). Vì vậy, có thể an toàn khi nói rằng mặc dù độ dài của các khóa có thể khác nhau, nhưng kích thước khối luôn giống nhau (128 bit hoặc 16 byte, chúng giống nhau).
Việc AES sử dụng các độ dài khóa khác nhau chắc chắn đã đặt ra một số câu hỏi giữa người dùng, chẳng hạn như tại sao chúng ta cần một số độ dài khóa ngay từ đầu? Những người khác thậm chí có thể đặt câu hỏi về sự cần thiết của việc có nhiều độ dài khóa, hơn thế nữa khi xem xét rằng khóa 256 bit có lẽ là khóa an toàn nhất.
Mặc dù thực tế là khóa AES 256 bit chỉ đơn giản là khóa mạnh nhất trong nhóm, đôi khi được gọi là”cấp quân sự”, nó không phải lúc nào cũng được triển khai theo mặc định và lý do tại sao điều này xảy ra là do tài nguyên có sẵn hoặc tốt hơn là không có.
AES-128 so với AES-256
Kích thước khóa càng lớn thì càng tiêu tốn nhiều tài nguyên hơn, vì vậy có thể nói rằng hệ thống kém khả năng hơn có nhiều khả năng sử dụng khóa 128-bit AES thay vì Đối tác 256-bit. Ví dụ: nếu bạn sử dụng mã hóa 256 bit AES trên điện thoại của mình, điện thoại có thể tiêu hao pin nhanh hơn so với phiên bản 128 bit của cùng một tiêu chuẩn mã hóa.
Các khóa AES 256 bit khó bị tấn công hơn so với các khóa 128 bit. Tuy nhiên, ngay cả khi có sức mạnh tính toán khủng khiếp, các khóa AES 128 bit vẫn hầu như không thể bị bẻ khóa, vì vậy sử dụng phiên bản này thay vì các khóa 256 bit có thể là lựa chọn tốt hơn nếu bạn lo lắng về nguồn điện hoặc độ trễ, đặc biệt là trên thiết bị di động (ví dụ: điện thoại thông minh).
Về mặt sáng sủa, những tiến bộ công nghệ đã giúp cho sự khác biệt về cả sức mạnh tính toán và tuổi thọ pin giữa việc sử dụng AES-256 và AES-128 là không đáng kể, khiến AES 256-bit trở thành phổ biến nhất > lựa chọn, vì hầu hết người dùng thích được yên tâm.
Lợi ích của việc sử dụng AES
Thực tế là các phương pháp mã hóa được AES thực thi nhanh chóng và dễ hiểu khiến AES trở thành một lựa chọn phổ biến trong nhiều lĩnh vực khác nhau. AES không chỉ nhanh và an toàn mà còn dễ triển khai , điều này càng làm tăng thêm tính phổ biến bẩm sinh của nó.
Hơn nữa, nó có khả năng giải mã dữ liệu được bảo vệ nhanh nhất có thể mã hóa nó, đồng thời sử dụng ít bộ nhớ và sức mạnh tính toán hơn so với các tiêu chuẩn mã hóa phổ biến khác (chẳng hạn như DES ), mang lại lợi thế cho nó.
Cuối cùng, nhưng không kém phần quan trọng, nếu tình huống yêu cầu, AES đủ linh hoạt để cho phép bạn kết hợp nó với một số giao thức bảo mật khác như TKIP, WPA2, WEP, nhưng cũng có các loại mã hóa khác, chẳng hạn như SSL.
Dưới đây là một số ưu điểm chính của việc chọn AES so với các tiêu chuẩn mã hóa khác:
- Hỗ trợ đang được triển khai trong cả phần cứng và phần mềm
- Thực tế là nó hỗ trợ ba độ dài khóa giúp bạn linh hoạt hơn về bảo mật và tốc độ (hiệu suất)
- Cả ba loại khóa đều đủ dài, điều này khiến AES trở thành một mục tiêu không thể cưỡng ép được
- Cho đến nay, không có cuộc tấn công mật mã nào được chứng minh là hoạt động chống lại AES
- Bạn có thể tìm thấy nó hầu như ở mọi nơi, với thực tế là chính phủ Hoa Kỳ đã xác định nó như một tiêu chuẩn
- Dễ dàng triển khai bất kể điểm đến (được cho là dễ dàng triển khai phần cứng hơn phần mềm)
- Không chiếm nhiều bộ nhớ như các loại mã hóa khác (ví dụ: DES)
- Dễ dàng kết hợp với các giao thức bảo mật và các loại mã hóa khác
Cách sử dụng phổ biến của AES
Mặc dù thực tế là chúng tôi đã đề cập rằng AES thường được sử dụng ở mọi nơi mà nó được hỗ trợ, nhưng có một số ví dụ mà khả năng gặp phải nó cao hơn. Cụ thể:
- VPN
- Cách thức hoạt động của VPN xoay quanh việc định tuyến lại lưu lượng truy cập của bạn, nhưng không phải trước khi mã hóa nó để người khác không thể thấy nó trong trường hợp họ đang theo dõi kết nối của bạn. Hơn thế nữa, lưu lượng truy cập cần được giải mã tại điểm thoát của nó, điều này liên quan đến nhu cầu về tiêu chuẩn mã hóa. AES-256 được sử dụng theo mặc định bởi một số nhà cung cấp VPN, bao gồm NordVPN , Surfshark và ExpressVPN .
- Trình quản lý mật khẩu
- Trình quản lý mật khẩu hoạt động bằng cách cho phép bạn đặt tất cả mật khẩu của mình vào chúng và bảo vệ chúng bằng một mật khẩu duy nhất thông qua phương tiện mã hóa. Nhiều giải pháp phần mềm quản lý mật khẩu khác nhau trên thị trường đã chọn AES làm tiêu chuẩn mã hóa hoạt động của họ, vì nó dễ thực hiện, nhanh chóng và an toàn.
- Mạng Wi-Fi
- Nếu không có mã hóa lưu lượng, những kẻ tấn công có thể chỉ ngồi bên ngoài mạng không dây của bạn, nắm bắt các gói tin không được mã hóa bằng bộ điều hợp WiFi thích hợp và theo dõi toàn bộ nơi ở trực tuyến của bạn mà không cần quan tâm. Rất may, mã hóa AES, thường cùng với các tiêu chuẩn bảo mật bổ sung (WPA2 là phổ biến nhất vào thời điểm hiện tại) có thể ngăn điều đó xảy ra.
- Trình duyệt web
- Bạn có thể đã biết rằng lâu nay các trình duyệt web đã mã hóa kết nối của người dùng để bảo vệ họ khỏi các mối đe dọa mạng khác nhau như các cuộc tấn công MITM (Man-In-The-Middle), giả mạo hoặc giám sát lưu lượng.
- Mã hóa đĩa
- Mặc dù tính năng này chủ yếu được sử dụng trên các thiết bị di động như điện thoại thông minh và máy tính bảng, nhưng mã hóa đĩa của bạn không phải là chưa từng có nếu bạn muốn tăng cường quyền riêng tư và bảo mật của mình. AES hiện là một trong những phương pháp phổ biến nhất được sử dụng để mã hóa và giải mã nội dung đĩa.
- Phần mềm nén tệp
- Cho dù đó là WinRar, WinZip hay 7z mà chúng ta đang nói đến, tất cả các tiện ích lưu trữ và nén/giải nén tệp trên thị trường đều sử dụng AES làm tiêu chuẩn mã hóa để ngăn chặn rò rỉ dữ liệu ngẫu nhiên trong khi xử lý tệp của bạn.
- Ứng dụng liên lạc
- WhatsApp, Signal, Telegram, Snapchat, Messenger, và những người khác mà chúng tôi chưa đề cập, sử dụng mã hóa AES để đảm bảo rằng bạn sẽ được hưởng lợi từ sự riêng tư hoàn toàn, cho dù bạn đang gửi ảnh, video, tài liệu hay đơn giản tin nhắn văn bản thông qua các ứng dụng này.
- Thư viện ngôn ngữ lập trình
- Nếu bạn là một lập trình viên, bạn có thể nên biết rằng các thư viện của một số ngôn ngữ lập trình nhất định, bao gồm nhưng không giới hạn ở C ++, Java và Python, sử dụng mã hóa AES để giúp bạn bảo vệ dữ liệu và dự án của mình khỏi bị truy cập trái phép.
- Thành phần hệ điều hành
- Để thêm một lớp bảo mật bổ sung, một số hệ điều hành đã thêm mã hóa AES vào một số thành phần của chúng.
AES hoạt động như thế nào?
Nói chung, bạn cần biết hoặc tìm hiểu cách thức hoạt động của một công nghệ cụ thể để tận dụng tối đa khả năng của nó. Trong trường hợp này, bạn nên biết một hoặc hai điều về cách hoạt động của AES trước khi triển khai hoặc sử dụng nó một cách ngẫu nhiên trong các dự án hoặc trong môi trường của bạn.
1. Dữ liệu được chia thành các khối
Như bạn có thể nhớ từ các đề cập của chúng tôi ở trên, AES là mật mã khối , có nghĩa là nó mã hóa dữ liệu mà nó nhận được dưới dạng khối bit, trái ngược với mã hóa từng bit.
Do đó, bước đầu tiên của mã hóa AES là tách dữ liệu thành các khối. Mỗi khối này chứa một cột 4 x 4 128 bit hoặc 16 byte. Xét rằng một byte bao gồm 8 bit , chúng ta có 16 x 8=128 bit , là kích thước của khối.
Ví dụ: giả sử bạn muốn mã hóa ‘hesiatips.com ’ bằng AES, điều đầu tiên mà quy trình mã hóa thực hiện là tách dữ liệu thành các khối. Tuy nhiên, một khối chỉ có thể chứa 16 ký tự , vì vậy khối đầu tiên sẽ không bao gồm chữ ‘m’ ở cuối văn bản. Chữ ‘m’ sẽ được gửi đến khối tiếp theo.
Do đó, sau khi áp dụng AES cho ‘hesiatips.com ‘, phần đầu tiên của văn bản này sẽ giống như khối bên dưới:
a | c | e | s |
---|---|---|---|
d | t | t | . |
d | tôi | tôi | c |
tôi | v | p | o |
2. Mở rộng khóa
Quy trình mở rộng khóa phức tạp hơn một chút so với bước chúng tôi đã mô tả ở trên. Nó bao gồm việc lấy một khóa ban đầu và sử dụng lịch khóa của Rijndael để tạo một loạt các khóa bổ sung sẽ được sử dụng cho mỗi và mọi vòng của quá trình mã hóa.
Vì vậy, ví dụ: nếu bạn sử dụng khóa “ AESencryption12 ” trên văn bản thuần túy của chúng tôi ở trên ( Drugstips.com ), bạn sẽ nhận được một chuỗi dường như ngẫu nhiên những con số.
Đ | e | y | o |
---|---|---|---|
E | n | p | n |
S | c | t | 1 |
r | tôi | 2 |
Tuy nhiên, lịch khóa Rijndael sử dụng các quy trình rất cụ thể để mã hóa mọi ký hiệu trong cụm từ đầu tiên.
Kết quả sẽ giống như khối bên dưới:
7e | 04 | 0b | 20 |
52 | 6c | 1c | 56 |
a7 | bf | 8e | 84 |
30 | 03 | 3d | 20 |
Một lần nữa, mặc dù nó trông giống như những con số vô nghĩa và ngẫu nhiên, đó là điểm chính xác của toàn bộ quy trình mã hóa này: để ẩn dữ liệu đằng sau một mật mã, khiến nó không thể truy cập được đối với những người dùng không biết mật mã là gì và tạo ra nó không thể bẻ khóa nó.
Hơn nữa, điều này còn lâu mới kết thúc, vì quá trình mã hóa sẽ cần sử dụng các khóa mà chúng tôi đã tạo gần đây cho mỗi vòng mã hóa. Nhưng hãy nói thêm về điều đó sau.
3. Thêm một phím tròn
Đây thực sự là vòng mã hóa đầu tiên, vì chúng tôi sẽ thêm khóa ban đầu (‘ mã hóa AES12 ‘) vào khối tin nhắn của chúng tôi (‘hesiatips.com ‘>’), như trong ví dụ dưới đây, thoạt đầu có thể không hợp lý.
a | c | e | s |
---|---|---|---|
d | t | t | . |
d | tôi | tôi | c |
tôi | v | p | o |
Từ khóa » Giải Mã Thuật Toán Aes
-
Tìm Hiểu Thuật Toán Mã Hóa Khóa đối Xứng AES - Viblo
-
Cấu Trúc Và Thuật Toán Advanced Encryption Standard (Chuẩn Mã ...
-
Tiêu Chuẩn Mã Hóa Dữ Liệu AES Là Gì Và Các Chế độ Hoạt động Của ...
-
AES Là Gì? Có Gì đặc Biệt? Tiêu Chuẩn Mã Hóa Này được ứng Dụng ...
-
Thuật Toán Mã Hóa Khối(block Cipher)- AES - W3seo
-
[AES] Bài 2 - Lý Thuyết Về Giải Mã AES-128 - VLSI TECHNOLOGY
-
[AES] Bài 1 - Lý Thuyết Về Mã Hóa AES-128 - VLSI TECHNOLOGY
-
Thực Hành Mã Hóa Và Giải Mã Thuật Toán Simplified AES - 2KVN
-
Lập Trình Giải Mã AES - YouTube
-
Cách Mã Hóa Và Giải Mã Văn Bản Với AES Miễn Phí Và Không Cần Cài ...
-
Hướng Dẫn Mã Hóa Và Giải Mã Sử Dụng Thuật Toán ...
-
Hướng Dẫn Mã Hóa Và Giải Mã Sử Dụng Thuật ... - Lập Trình VB.NET
-
Advanced Encryption Standard – Wikipedia Tiếng Việt
-
Tìm Hiểu Về AES (Advanced Encryption Standard)