it-swarm-vi.com

Tại sao hầu hết mọi người sử dụng mã hóa 256 bit thay vì 128 bit?

Không bảo mật 128 bit cho hầu hết các ứng dụng thực tế?

138
H M

Tại sao mọi người mua xe thể thao màu đỏ ? Chúng không đi nhanh hơn những chiếc xe thể thao có màu khác ...

AES đi kèm với ba kích thước khóa tiêu chuẩn (128, 192 và 256 bit). Nhiều người nhìn thấy điều này và nghĩ rằng nếu có ba kích thước riêng biệt thay vì chỉ một, thì phải có một số khác biệt và vì phiên bản 256 bit chậm hơn một chút so với phiên bản 128 bit (khoảng 40%), nên nó phải là "an toàn hơn". Vì vậy, họ đi "an toàn nhất" và chọn khóa 256 bit.

Trong thực tế, AES có ba kích cỡ khóa riêng biệt bởi vì nó được chọn làm thuật toán liên bang Hoa Kỳ được sử dụng trong các lĩnh vực khác nhau dưới sự kiểm soát của chính phủ liên bang Hoa Kỳ và bao gồm cả Quân đội Hoa Kỳ. Quân đội Hoa Kỳ có Truyền thống sử dụng mật mã lâu đời và Truyền thống đó kết tinh thành quy định nội bộ với tất cả sự linh hoạt và tinh tế mà quân đội trên khắp thế giới liên tục thể hiện (chỉ cần nghe một số "nhạc quân đội" và bạn sẽ hiểu ý tôi nói) . Thật không may, điều này đã xảy ra cách đây khá lâu, trước khi phát minh ra máy tính và tại thời điểm đó, hầu hết các hệ thống mã hóa could bị phá vỡ, và mạnh hơn cũng rất khó sử dụng. Vì vậy, bộ não quân sự tốt đã đưa ra ý tưởng rằng nên có ba "cấp độ bảo mật", để các bí mật quan trọng nhất được mã hóa bằng các phương thức nặng rằng họ xứng đáng, nhưng dữ liệu có giá trị chiến thuật thấp hơn có thể được mã hóa bằng các thuật toán thực tế hơn, nếu yếu hơn.

Những quy định này do đó kêu gọi ba cấp độ khác nhau. Các nhà thiết kế của họ chỉ giả định rằng cấp thấp hơn nhất thiết phải yếu theo một cách nào đó, nhưng điểm yếu không phải là bắt buộc. Vì vậy, NIST quyết định chính thức tuân theo các quy định (yêu cầu ba kích thước chính) nhưng cũng phải làm điều thông minh ( mức thấp nhất phải không thể phá vỡ với công nghệ có thể thấy trước). 128 bit là khá đủ để bảo mật (xem câu trả lời này để biết chi tiết). Do đó, AES chấp nhận các khóa 256 bit vì lý do quan liêu: việc yêu cầu một cái gì đó hơi vô nghĩa (một kích thước khóa quá mức) sẽ dễ dàng hơn so với sửa đổi các quy định của quân đội.

Hầu hết mọi người không biết hoặc không quan tâm đến Lịch sử, và họ chỉ đi vì họ cảm thấy xứng đáng với điều đó.

157
Thomas Pornin

Khi bạn đang xây dựng một hệ thống bảo mật, bạn cần lập kế hoạch cho sự thất bại. Đây là ý tưởng đằng sau một chiến lược phòng thủ theo chiều sâ .

Nguyên thủy mật mã trở nên yếu hơn theo thời gian. Mặc dù nguyên thủy 128 bit là rất nhiều, một lỗ hổng có thể được phát hiện trong mật mã làm giảm mức độ bảo mật này. Vì vậy, bạn cần thêm một giới hạn bảo mật khi nguyên thủy gạch chân không thành công.

Ví dụ: md5 tạo ra hàm băm 128 bit, tuy nhiên bằng cách sử dụng tấn công tiền tố được chọn, kẻ tấn công có thể tạo ra xung đột với độ phức tạp chỉ 2 ^ 39 .

38
rook

Tôi đã không thấy điều này được đề cập trong các câu trả lời hoặc nhận xét vì vậy tôi nghĩ thêm nó vào như một câu trả lời. Kích thước khóa không phải lúc nào cũng tương quan trực tiếp đến độ phức tạp của thuật toán. Một sai lầm phổ biến là giả định rằng một tin nhắn được mã hóa bằng AES256 khó bị bẻ khóa hơn (một đối thủ nhận bất kỳ loại thông tin ý nghĩa nào chỉ được cung cấp bản mã) so với cùng một thông tin được bảo vệ bằng AES128. Nó có ý nghĩa logic rằng kích thước khóa lớn hơn cung cấp độ phức tạp lớn hơn nhưng như với bất kỳ hệ thống nào, việc triển khai phải chịu các điểm yếu.

Giả sử bạn đang nói về AES 128 so với AES 256, có một điểm yếu đã biết trong chức năng mở rộng khóa ảnh hưởng đến AES256. Về cơ bản, điểm yế làm giảm độ phức tạp của AES256 xuống mức thấp hơn AES128. Có một tấn công tương tự cho AES192, mặc dù trong trường hợp này, độ phức tạp của AES192 vẫn lớn hơn AES128.

Đạo đức của câu chuyện, mọi người không hiểu về tiền điện tử ... j/k (Tôi không phải là nhà toán học). Thực tế là mọi người cho rằng "lớn" với "an toàn". Một khẩu súng lớn tốt hơn là có một khẩu súng nhỏ. Kích thước khóa lớn hơn an toàn hơn kích thước khóa nhỏ hơn.

Trong thực tế, việc triển khai tiền điện tử quan trọng hơn kích thước khóa một mình.

18
bangdang

FWIW, dự thảo NIST về tiền điện tử bài lượng tử đang khuyến nghị 256.

http://csrc.nist.gov/publications/dcraft/nistir-8105/nistir_8105_draft.pdf

11
Blaze

Tiền đề của bạn có vẻ sai với tôi. Tôi không biết bất kỳ bằng chứng nào cho thấy "hầu hết mọi người sử dụng mã hóa 256 bit thay vì 128 bit". Thật vậy, nếu tôi phải đoán, tôi nghi ngờ điều ngược lại là trường hợp.

7
D.W.