Aes là phí gì

Tiêu chuẩn mã hóa nâng cao (trước đây gọi là Rijndael) là một trong những cách mã hóa thông tin. Nó rất an toàn ngay cả những kẻ vũ phu cũng không thể phá vỡ nó.

Tiêu chuẩn mã hóa tiên tiến này được Cơ quan An ninh Quốc gia (NSA) sử dụng cùng với nhiều ngành, bao gồm cả ngân hàng trực tuyến. Vì thế, Mã hóa AES là gì và làm như thế nào? Hãy cùng tìm hiểu!

Mã hóa AES là gì? 

AES là tiêu chuẩn mã hóa dữ liệu ngày nay. Nó vô song về số lượng bảo mật và bảo vệ mà nó cung cấp.

Hãy phá vỡ những gì nó là. AES là một

  • Mã hóa khóa đối xứng
  • Khóa mật mã

Mã hóa đối xứng và không đối xứng

AES là một đối xứng loại mã hóa.

Aes là phí gì

"Đối xứng" có nghĩa là nó sử dụng cùng một khóa để mã hóa và giải mã thông tin Hơn nữa, cả hai các người gửi và người nhận của dữ liệu cần một bản sao của nó để giải mã mật mã.

Mặt khác, bất đối xứng hệ thống chính sử dụng một chìa khóa khác nhau cho mỗicủa hai quá trình: mã hóa và giải mã.

Các asự liên kết của các hệ thống đối xứng giống như AES là họ nhanh hơn nhiều so với bất đối xứng những cái. Điều này là do các thuật toán khóa đối xứng yêu cầu sức mạnh tính toán kém hơn. 

Đây là lý do tại sao các phím không đối xứng được sử dụng tốt nhất cho truyền tệp bên ngoài. Các phím đối xứng tốt hơn cho mã hóa nội bộ.

Mật mã khối là gì?

Tiếp theo, AES cũng là cái mà thế giới công nghệ gọi là "khóa mật mã." 

Nó được gọi là "khối" vì loại mật mã này chia thông tin được mã hóa (được gọi là bản rõ) thành các phần được gọi là khối.

Để cụ thể hơn, AES sử dụng Kích thước khối 128 bit. 

Điều này có nghĩa là dữ liệu được chia thành mảng bốn x bốn chứa 16 byte. Mỗi byte chứa tám bit.

Do đó, 16 byte nhân với 8 bit sẽ mang lại một tổng số 128 bit trong mỗi khối. 

Bất kể sự phân chia này, kích thước của dữ liệu được mã hóa vẫn giữ nguyên. Nói cách khác, 128 bit của bản rõ tạo ra 128 bit của bản mã.

Bí mật của thuật toán AES

Bây giờ, hãy giữ lấy chiếc mũ của bạn vì đây là nơi mà nó trở nên thú vị.

Joan Daemen và Vincent Rijmen đã đưa ra quyết định sáng suốt khi sử dụng Mạng hoán vị thay thế (SPN) thuật toán.

SPN hoạt động bằng cách áp dụng nhiều vòng mở rộng khóa để mã hóa dữ liệu.

Khóa ban đầu được sử dụng để tạo loạt chìa khóa mới được gọi là "phím tròn".

Chúng ta sẽ tìm hiểu thêm về cách tạo ra các phím tròn này sau. Chỉ cần nói rằng, nhiều vòng sửa đổi sẽ tạo ra một khóa vòng mới mỗi lần.

Với mỗi vòng trôi qua, dữ liệu ngày càng trở nên an toàn hơn và khó bị phá mã hơn.

Tại sao?

Bởi vì những vòng mã hóa này làm cho AES không thể xuyên thủng! Chỉ có quá nhiều vòng mà tin tặc cần phải đột nhập để giải mã nó.

Đặt nó theo cách này: Một siêu máy tính sẽ mất nhiều năm hơn tuổi giả định của vũ trụ để bẻ khóa mã AES.

Cho đến nay, AES thực tế không có mối đe dọa nào.

Các độ dài khóa khác nhau

ba độ dài của khóa mã hóa AES.

Mỗi độ dài phím có một số tổ hợp phím có thể có khác nhau:

  • Độ dài phím 128 bit: 3.4 x 1038
  • Độ dài phím 192 bit: 6.2 x 1057
  • Độ dài phím 256 bit: 1.1 x 1077

Mặc dù độ dài khóa của phương pháp mã hóa này khác nhau, nhưng kích thước khối của nó - 128-bit (hoặc 16 byte) - vẫn như cũ. 

Tại sao lại có sự khác biệt về kích thước khóa? Đó là tất cả về tính thực tế.

Hãy lấy một ứng dụng làm ví dụ. Nếu nó sử dụng 256-bit AES thay vì AES 128, nó sẽ yêu cầu nhiều khả năng tính toán hơn.

Hiệu quả thiết thực là nó sẽ yêu cầu nhiều năng lượng thô hơn từ pin của bạn, vì vậy điện thoại của bạn sẽ chết nhanh hơn.

Vì vậy, trong khi sử dụng mã hóa AES 256-bit là vàng tiêu chuẩn, nó chỉ là không khả thi cho việc sử dụng hàng ngày.

Tiêu chuẩn mã hóa nâng cao (AES) được sử dụng ở đâu?

AES là một trong những hệ thống đáng tin cậy nhất trên thế giới. Nó đã được áp dụng rộng rãi trong nhiều ngành công nghiệp cần mức độ bảo mật cực cao.

Ngày nay, các thư viện AES đã được tạo ra cho nhiều ngôn ngữ lập trình bao gồm C, C ++, Java, Javascript và Python.

Tiêu chuẩn mã hóa AES cũng được sử dụng bởi các chương trình nén tập tin bao gồm 7 Zip, WinZip và RAR, và hệ thống mã hóa đĩa như BitLocker và FileVault; và các hệ thống tệp như NTFS.

Bạn có thể đã sử dụng nó trong cuộc sống hàng ngày của mình mà bạn không nhận ra!

AES là một công cụ quan trọng trong mã hóa cơ sở dữ liệu VPN hệ thống.

Nếu bạn dựa vào trình quản lý mật khẩu để ghi nhớ thông tin xác thực đăng nhập cho nhiều tài khoản của mình, rất có thể, bạn đã gặp phải AES!

Những ứng dụng nhắn tin mà bạn sử dụng, như WhatsApp và Facebook Messenger? Vâng, họ cũng sử dụng cái này.

Ngay cả trò chơi video như Grand Theft Auto IV sử dụng AES để bảo vệ chống lại tin tặc.

Một bộ hướng dẫn AES được tích hợp vào tất cả các bộ xử lý Intel và AMD, vì vậy PC hoặc máy tính xách tay của bạn đã được tích hợp sẵn nó mà bạn không cần phải làm gì cả.

Và tất nhiên, đừng quên các ứng dụng của bạn ngân hàng được tạo ra để cho phép bạn quản lý tài chính của mình trực tuyến.

Sau khi tìm hiểu cách mã hóa AES hoạt động, bạn sẽ thở dễ dàng hơn nhiều với sự hiểu biết rằng thông tin của bạn nằm trong tay an toàn!

Lịch sử mã hóa AES

AES bắt đầu như một phản hồi Chính phủ Hoa Kỳ nhu cầu.

Trở lại năm 1977, các cơ quan liên bang sẽ dựa vào DTiêu chuẩn mã hóa ata (DES) làm thuật toán mã hóa chính của chúng.

Tuy nhiên, đến những năm 1990, DES không còn đủ an toàn vì nó có thể bị phá vỡ chỉ trong 22 giờ. 

Vì vậy, chính phủ đã công bố một cạnh tranh công khai để tìm ra một hệ thống mới tồn tại hơn 5 năm.

Mô hình lợi ích của quá trình mở này là mỗi thuật toán mã hóa được gửi có thể được bảo mật công khai. Điều này có nghĩa là chính phủ có thể Chắc chắn 100% rằng hệ thống chiến thắng của họ không có cửa sau.

Hơn nữa, vì có nhiều trí óc và con mắt tham gia, chính phủ đã tối đa hóa cơ hội xác định và sửa chữa các sai sót.

Cuối cùng Mật mã Rijndael (hay còn gọi là Tiêu chuẩn mã hóa nâng cao ngày nay) đã đăng quang ngôi vị quán quân.

Rijndael được đặt theo tên của hai nhà mật mã học người Bỉ, những người đã tạo ra nó, Vincent Rijmen và Joan Daemen.

Năm 2002, nó là đổi tên thành Tiêu chuẩn mã hóa nâng cao và được xuất bản bởi Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST).

NSA đã phê duyệt thuật toán AES về khả năng và tính bảo mật của nó để xử lý thông tin tối mật. ĐIỀU NÀY đưa AES lên bản đồ.

Kể từ đó, AES đã trở thànhtiêu chuẩn công nghiệp cho mã hóa.

Bản chất mở của nó có nghĩa là phần mềm AES có thể được sử dụng cho cả công cộng và tư nhân, thương mại và phi thương mại các ứng dụng.

AES 256 hoạt động như thế nào?

Cho đến nay, chúng ta biết rằng các thuật toán mã hóa này xáo trộn thông tin mà nó đang bảo vệ và biến nó thành một mớ hỗn độn ngẫu nhiên.

Ý tôi là, nguyên tắc cơ bản của tất cả mã hóa is mỗi đơn vị dữ liệu sẽ được thay thế bằng một đơn vị khác, tùy thuộc vào khóa bảo mật.

Nhưng cái gì chính xác làm cho mã hóa AES đủ an toàn để được coi là tiêu chuẩn của ngành?

Tổng quan về quy trình

Thuật toán mã hóa AES trải qua nhiều vòng mã hóa. Nó thậm chí có thể trải qua 9, 11 hoặc 13 vòng trong số này.

Mỗi vòng bao gồm các bước giống nhau bên dưới.

  • Chia dữ liệu thành các khối.
  • Mở rộng khóa.
  • Thêm phím tròn.
  • Thay thế / thay thế các byte.
  • Chuyển các hàng.
  • Trộn các cột.
  • Thêm một phím tròn một lần nữa.
  • Làm lại tất cả.

Sau vòng cuối cùng, thuật toán sẽ trải qua một vòng bổ sung. Trong tập hợp này, thuật toán sẽ thực hiện các bước từ 1 đến 7 ngoại trừ bước 6.

Nó thay đổi bước thứ 6 vì nó sẽ không làm được gì nhiều vào thời điểm này. Hãy nhớ rằng nó đã trải qua quá trình này nhiều lần.

Vì vậy, lặp lại bước 6 sẽ là dư thừa. Lượng sức mạnh xử lý cần có để trộn các cột lại không đáng như nó sẽ làm không còn thay đổi đáng kể dữ liệu.

Tại thời điểm này, dữ liệu sẽ trải qua các vòng sau:

  • Khóa 128 bit: 10 vòng
  • Khóa 192 bit: 12 vòng
  • Khóa 256 bit: 14 vòng

Đầu ra?

đến random tập hợp các ký tự lộn xộn điều đó sẽ không có ý nghĩa đối với bất kỳ ai không có khóa AES.

Một cái nhìn sâu sắc

Bây giờ bạn đã có ý tưởng về cách tạo ra mật mã khối đối xứng này. Hãy đi vào chi tiết hơn.

Đầu tiên, các thuật toán mã hóa này thêm khóa ban đầu vào khối bằng cách sử dụng Mật mã XOR (“độc quyền hoặc”). 

Mật mã này là một hoạt động được tích hợp vào phần cứng bộ xử lý.

Sau đó, mỗi byte dữ liệu là thay thế với người khác.

T CRUCIAL bước sẽ tuân theo một bảng định trước được gọi là Lịch trình chính của Rijndael để xác định mỗi lần thay thế được thực hiện như thế nào.

Bây giờ, bạn đã có một tập hợp các phím tròn 128 bit mới đó đã là một mớ hỗn độn của các chữ cái lộn xộn.

Thứ ba, đã đến lúc đi qua vòng đầu tiên của mã hóa AES. Thuật toán sẽ thêm khóa ban đầu vào các khóa tròn mới.

Bây giờ bạn đã có 2 mật mã ngẫu nhiên.

Thứ tư, thuật toán thay thế từng byte với mã theo hộp S-Rijndael.

Bây giờ, đã đến lúc chuyển các hàng của mảng 4 × 4.

  • Hàng đầu tiên giữ nguyên vị trí của nó.
  • Hàng thứ hai được di chuyển sang trái một khoảng trống.
  • Hàng thứ ba được chuyển thành hai không gian.
  • Cuối cùng, thứ tư được di chuyển ba không gian.

Thứ sáu, mỗi cột sẽ được nhân với một ma trận xác định trước, một lần nữa sẽ cung cấp cho bạn một khối mã mới.

Chúng tôi sẽ không đi vào chi tiết bởi vì đây là một quá trình cực kỳ phức tạp đòi hỏi hàng tấn toán học nâng cao.

Chỉ cần biết các cột của mật mã được trộn và kết hợp để tạo ra một khối khác.

Cuối cùng, nó sẽ thêm phím tròn vào khối (giống như phím ban đầu ở bước thứ ba).

Sau đó, rửa sạch và lặp lại dựa trên số hiệp bạn cần thực hiện.

Quá trình tiếp tục nhiều lần nữa, cung cấp cho bạn bản mã hoàn toàn khác nhau từ bản rõ.

Để giải mã nó, hãy làm ngược lại toàn bộ!

Mỗi giai đoạn của thuật toán mã hóa AES phục vụ một chức năng quan trọng.

Tại sao lại là tất cả các bước?

Sử dụng một khóa khác nhau cho mỗi vòng mang lại cho bạn kết quả phức tạp hơn nhiều, giữ cho dữ liệu của bạn an toàn trước bất kỳ cuộc tấn công bạo lực nào bất kể kích thước khóa bạn đang sử dụng.

Quá trình thay thế byte sửa đổi dữ liệu theo cách phi tuyến tính. Điều này ẩn mối quan hệ giữa bản gốc và được mã hóa nội dung.

Chuyển các hàng và trộn các cột sẽ khuếch tán dữ liệu. Dịch chuyển sẽ khuếch tán dữ liệu theo chiều ngang, trong khi trộn sẽ làm như vậy theo chiều dọc.

Bằng cách chuyển các byte, bạn sẽ nhận được mã hóa phức tạp hơn nhiều.

Kết quả là một hình thức mã hóa cực kỳ phức tạp không thể bị tấn công trừ khi bạn có khóa bí mật.

Mã hóa AES có an toàn không?

Nếu mô tả của chúng tôi về quy trình này không đủ để khiến bạn tin tưởng vào sức mạnh của khóa AES, hãy đi sâu vào mức độ an toàn của AES.

Như chúng tôi đã nói ở phần đầu, Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) đã chọn ba loại AES: Các khóa 128-bit AES, 192-bit và 256-bit.

Mỗi loại vẫn sử dụng các khối 128 bit giống nhau, nhưng chúng khác nhau ở 2 điều.

Chiều dài khóa

Mô hình sự khác biệt đầu tiên nằm ở độ dài của mỗi khóa bit.

Dài nhất, AES Mã hóa 256-bit cung cấp mức độ mã hóa.

Điều này là do mã hóa AES 256-bit sẽ yêu cầu tin tặc thử 2256 kết hợp khác nhau để đảm bảo một trong những quyền được bao gồm.

Chúng ta cần nhấn mạnh con số này là lớn về mặt thiên văn. Đó là một tổng số 78 chữ số! 

Nếu bạn vẫn chưa hiểu nó lớn như thế nào, hãy đặt nó theo cách này. Nó lớn đến nỗi nó theo hàm mũ lớn hơn hơn số nguyên tử trong vũ trụ quan sát được.

Rõ ràng, vì lợi ích bảo vệ an ninh quốc gia và các dữ liệu khác, chính phủ Hoa Kỳ yêu cầu quy trình mã hóa 128 hoặc 256 bit cho dữ liệu nhạy cảm.

AES-256, có độ dài khóa 256 bit, hỗ trợ kích thước bit lớn nhất và thực tế không thể bị phá vỡ bởi bạo lực dựa trên các tiêu chuẩn sức mạnh tính toán hiện tại, làm cho nó, cho đến ngày nay, là tiêu chuẩn mã hóa mạnh nhất hiện có. 

Kích thước khóa Các kết hợp có thể
1 bit 2
2 bit 4
4 bit 16
8 bit 256
16 bit 65536
32 bit 4.2 x 109
56 bit (DES) 7.2 x 1016
64 bit 1.8 x 1019
128 bit (AES) 3.4 x 1038
192 bit (AES) 6.2 x 1057
256 bit (AES) 1.1 x 1077

Vòng mã hóa

Mô hình sự khác biệt thứ hai giữa ba loại AES này nằm ở số vòng mã hóa mà nó trải qua.

Sử dụng mã hóa AES 128-bit 10 vòng, AES 192 sử dụng 12 vòngvà sử dụng AES 256 14 vòng.

Như bạn có thể đã đoán, bạn càng sử dụng nhiều vòng, mã hóa càng trở nên phức tạp hơn. Đây chính là điều làm cho AES 256 trở thành việc triển khai AES an toàn nhất.

Các Catch

Một phím dài hơn và nhiều vòng hơn sẽ yêu cầu hiệu suất cao hơn và nhiều tài nguyên / sức mạnh hơn.

AES 256 sử dụng Thêm 40% tài nguyên hệ thống hơn AES 192.

Đây là lý do tại sao tiêu chuẩn Mã hóa nâng cao 256-bit là tốt nhất cho môi trường nhạy cảm cao, như chính phủ khi xử lý dữ liệu nhạy cảm.

Đây là những trường hợp mà bảo mật quan trọng hơn tốc độ hoặc sức mạnh.

Hacker có thể bẻ khóa AES 256 không?

Mô hình xưa Khóa DES 56 bit có thể bị bẻ khóa trong vòng chưa đầy một ngày. Nhưng đối với AES? Tôi sẽ làm điều đó hàng tỷ năm để đột phá bằng cách sử dụng công nghệ máy tính mà chúng ta có ngày nay.

Tin tặc sẽ thật ngu ngốc khi thực hiện kiểu tấn công này.

Nói như vậy, chúng ta phải thừa nhận không có hệ thống mã hóa nào là hoàn toàn an toàn.

Các nhà nghiên cứu đã xem xét AES đã tìm ra một số cách tiềm năng để tham gia.

Đe doạ # 1: Các cuộc tấn công liên quan-Key

Vào năm 2009, họ đã phát hiện ra một cuộc tấn công có thể có liên quan đến khóa. Thay vì vũ phu, những cuộc tấn công này sẽ nhắm mục tiêu chính khóa mã hóa.

Loại phá mã này sẽ cố gắng bẻ khóa mật mã bằng cách quan sát cách nó hoạt động bằng cách sử dụng các khóa khác nhau.

May mắn thay, cuộc tấn công liên quan đến khóa là chỉ là một mối đe dọa sang hệ thống AES. Cách duy nhất nó có thể hoạt động là nếu hacker biết (hoặc nghi ngờ) mối quan hệ giữa hai bộ khóa.

Hãy yên tâm, các nhà mật mã đã nhanh chóng cải thiện độ phức tạp của lịch khóa AES sau các cuộc tấn công này để ngăn chặn chúng.

Đe doạ # 2: Tấn công phân biệt chìa khoá đã biết

Không giống như vũ phu, cuộc tấn công này sử dụng chìa khóa đã biết để giải mã cấu trúc của mã hóa.

Tuy nhiên, vụ hack chỉ nhắm mục tiêu vào phiên bản tám vòng của AES 128, không phải là phiên bản 10 vòng tiêu chuẩn. Tuy nhiên, đây không phải là một mối đe dọa lớn.

Đe dọa # 3: Các cuộc tấn công kênh bên

Đây là rủi ro chính mà AES phải đối mặt. Nó hoạt động bằng cách cố gắng lấy bất kỳ thông tin hệ thống bị rò rỉ.

Tin tặc có thể nghe âm thanh, tín hiệu điện từ, thông tin thời gian hoặc mức tiêu thụ điện năng để thử và tìm ra cách hoạt động của các thuật toán bảo mật.

Cách tốt nhất để ngăn chặn các cuộc tấn công kênh phụ là loại bỏ rò rỉ thông tin hoặc che giấu dữ liệu bị rò rỉ (bằng cách tạo thêm tín hiệu điện từ hoặc âm thanh).

Đe dọa số 4: Tiết lộ chìa khóa

Điều này đủ dễ dàng để chứng minh bằng cách làm như sau:

  • Mật khẩu mạnh
  • Xác thực đa yếu tố
  • Tường lửa
  • Phần mềm diệt vi-rút 

Hơn thế nữa, giáo dục nhân viên của bạn chống lại các cuộc tấn công lừa đảo và kỹ thuật xã hội.

Ưu điểm của Mã hóa AES

Quá trình mã hóa của AES tương đối dễ hiểu. Điều này cho phép dễ dàng thực hiện, cũng như thực sự thời gian mã hóa và giải mã nhanh chóng.

Hơn nữa, AES yêu cầu ít bộ nhớ hơn hơn các loại mã hóa khác (như DES).

Cuối cùng, bất cứ khi nào bạn yêu cầu thêm một lớp an toàn, bạn có thể đdễ dàng kết hợp AES với các giao thức bảo mật khác nhau như WPA2 hoặc thậm chí các loại mã hóa khác như SSL.

AES vs ChaCha20 

AES có một số hạn chế mà các loại mã hóa khác đã cố gắng lấp đầy.

Trong khi AES là tuyệt vời đối với hầu hết các máy tính hiện đại, nó không được tích hợp vào điện thoại hoặc máy tính bảng của chúng tôi.

Đây là lý do tại sao AES thường được triển khai thông qua phần mềm (thay vì phần cứng) trên thiết bị di động.

Tuy nhiên, việc triển khai phần mềm của AES chiếm quá nhiều thời lượng pin.

ChaCha20 cũng sử dụng các khóa 256-bit. Nó được phát triển bởi một số kỹ sư từ Google để lấp đầy khoảng trống này.

Ưu điểm của ChaCha20:

  • Thân thiện với CPU hơn
  • Dễ thực hiện hơn
  • Yêu cầu ít điện năng hơn
  • An toàn hơn trước các cuộc tấn công định thời gian bộ nhớ cache
  • Nó cũng là một khóa 256-bit

AES vs Twofish

Twofish là một trong những người lọt vào vòng chung kết trong cuộc thi mà chính phủ tổ chức để thay thế DE.

Thay vì các khối, Twofish sử dụng mạng Feistel. Điều này có nghĩa là nó là một phiên bản tương tự nhưng phức tạp hơn của các tiêu chuẩn cũ hơn như DES.

Cho đến ngày nay, Twofish vẫn không bị gián đoạn. Đây là lý do tại sao nhiều người nói rằng nó an toàn hơn AES, xem xét các mối đe dọa tiềm ẩn mà chúng tôi đã đề cập trước đó.

Sự khác biệt chính là AES thay đổi số lượng vòng mã hóa tùy thuộc vào độ dài khóa, trong khi Twofish giữ nó ở mức hằng số 16 vòng.

Tuy nhiên, Twofish yêu cầu nhiều bộ nhớ và năng lượng hơn so với AES, đây là điểm sụt giảm lớn nhất của nó khi nói đến việc sử dụng các thiết bị điện toán di động hoặc cấp thấp hơn.

Kết luận

Nếu mã hóa AES đủ tốt cho Cơ quan An ninh Quốc gia, chúng tôi sẵn sàng tin tưởng vào khả năng bảo mật của nó.

Mặc dù có nhiều công nghệ hiện nay, AES vẫn ở vị trí hàng đầu. Nó đủ tốt để bất kỳ công ty nào sử dụng cho thông tin tối mật của họ.

dự án

  • https://www.atpinc.com/blog/what-is-aes-256-encryption
  • https://www.samiam.org/key-schedule.html
  • https://www.youtube.com/watch?v=vFXgbEL7DhI
  • https://digitalguardian.com/blog/social-engineering-attacks-common-techniques-how-prevent-attack
  • https://www.consumer.ftc.gov/articles/how-recognize-and-avoid-phishing-scams