Điểm:0

Tách khóa AES-256 thành hai?

lá cờ cn

Tôi hiểu rằng đã có một số câu hỏi tương tự ở đây nhưng câu hỏi của tôi hơi khác một chút ở chỗ tôi muốn chia AES 256 bit thành hai khóa 128 bit và sau đó sử dụng một khóa AES 128 bit khác để mã hóa hai khóa 128 bit để vận chuyển phím giữa hai bộ xử lý.điều này có an toàn để làm không? Tôi hiện đang bị hạn chế do thiết kế hệ thống của tôi. Sau đây là những gì tôi yêu cầu:

  • Tôi cần chuyển AES 256 sang một bộ xử lý khác.
  • Một trong những bộ xử lý không đủ mạnh để thiết lập khóa chung mạnh hơn. Vì vậy, tôi cần có khả năng vận chuyển thứ này bằng một chiếc chìa khóa yếu hơn
kelalaka avatar
lá cờ in
Không! Bạn sẽ có bảo mật 128-bit. Tôi sẽ không viết câu trả lời vì nếu bạn xác định chính xác vấn đề của mình, chúng tôi có thể tìm ra giải pháp.
Sad.coder avatar
lá cờ cn
Không giúp đỡ à?
Sad.coder avatar
lá cờ cn
Xin lỗi, hơi khó để cung cấp thiết kế của hệ thống nhưng ý chính của nó là
Sad.coder avatar
lá cờ cn
nếu tôi mã hóa nó bằng hai khóa 128 bit khác nhau thì sao?
kelalaka avatar
lá cờ in
Nó sẽ ổn thôi, theo quan điểm của tôi. Tại sao bạn không thực hiện DHKE?
Điểm:1
lá cờ vn

Tôi hiểu rằng đã có một số câu hỏi tương tự ở đây nhưng câu hỏi của tôi hơi khác một chút ở chỗ tôi muốn chia AES 256 bit thành hai khóa 128 bit và sau đó sử dụng một khóa AES 128 bit khác để mã hóa hai khóa 128 bit để vận chuyển phím giữa hai bộ xử lý. điều này có an toàn để làm không?

Nó chỉ cung cấp khả năng bảo mật 128-bit, bởi vì kẻ tấn công chỉ cần phá khóa vận chuyển 128-bit. Điều này an toàn, nhưng bạn không nhận được bất kỳ sự bảo mật nào khi sử dụng khóa 256 bit.


Nếu bạn sử dụng hai khóa 128 bit riêng biệt, thì thực sự sẽ hơi phức tạp một chút. Nếu kẻ tấn công có một số cách xác minh độc lập rằng chúng đã giải mã chính xác từng nửa của khóa 256 bit—ví dụ: nếu thuật toán mã hóa khóa được xác thực—thì chúng có thể giải mã bằng

  1. Tìm khóa 128 bit đầu tiên bằng vũ lực ($2^{128}$ bước);
  2. Tìm khóa 128 bit thứ hai bằng vũ lực ($2^{128}$ bước);

đó là $2^{128} + 2^{128} = 2 \times 2^{128} = 2^{129}$ các bước và do đó bạn chỉ nhận được bảo mật 129-bit.

Tuy nhiên, nếu thuật toán mã hóa khóa không cung cấp cách xác minh việc giải mã chính xác và khóa 256 bit là ngẫu nhiên, cuộc tấn công đó không hoạt động vì không có cách nào xác minh ở bước #1 rằng bạn đã có khóa chính xác cho nửa đầu. Thuật toán brute force sau đó trở thành:

  • Đối với mỗi giá trị có thể (trong số $2^{128})$ của khóa đầu tiên:
    • Đối với mỗi giá trị có thể (trong số $2^{128}$) của khóa thứ hai:
      • Hãy thử giải mã từng nửa khóa được vận chuyển bằng tổ hợp đó, sau đó giải mã thư bằng khóa 256 bit mà bạn nhận được.

Và đây là $2^{128} \times 2^{128} = 2^{128 + 128} = 2^{256}$ các bước và không tốt hơn là chỉ tấn công khóa 256 bit bằng vũ lực.

Các thuật toán mã hóa thường được đề xuất ngày nay được gọi là "AEAD" (mã hóa được xác thực với dữ liệu được liên kết), thuộc loại đầu tiên và do đó bạn chỉ nhận được độ mạnh 129 bit. Bạn phải sử dụng các thuật toán cũ hơn, không phải AEAD để vận chuyển các nửa khóa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.