Điểm:0

Băm bộ đếm 64-bit với các khóa khác nhau và XOR nhiều lần tới các khối văn bản gốc: Một số câu hỏi

lá cờ pf

Giả sử tôi muốn mã hóa khối 2048 bit.

Tôi sử dụng chức năng băm 512 bit (dưới dạng Blake2b), cung cấp bộ đếm và khóa và băm bộ đếm và do đó XOR giá trị được băm trong khối bản mã và lặp lại quy trình này nhiều lần hơn với các bộ đếm và khóa khác nhau cho đến khóa thứ tư (2048/4=512=số bit được lấy bởi hàm băm).

Phương pháp này sẽ dễ bị tổn thương tấn công MITM?

Phương pháp này có dễ bị tấn công lượng tử không, và Thuật toán Groover

Tôi có nhận được độ mạnh mã hóa 2048 bit không?

kelalaka avatar
lá cờ in
Tại sao bạn cần bảo mật đối xứng 2048-bit? Ngay cả AES 256-bit hoặc ChaCha20 cũng sẽ đủ an toàn và an toàn lượng tử!
phantomcraft avatar
lá cờ pf
Tôi cần vì tôi bị hoang tưởng, tôi có những tài liệu tuyệt mật và tôi muốn tạo một chương trình mã hóa ổ đĩa sẽ sử dụng các khóa lớn hơn 256/512.
kelalaka avatar
lá cờ in
[Hoang tưởng về cái gì và ai?](https://xkcd.com/538/) Không có thực thể nào có thể phá vỡ mã hóa 256-bit, dù là cổ điển hay lượng tử hay kết hợp cả hai. Nếu bạn thực sự hoang tưởng, bạn có thể cân nhắc đánh giá rủi ro của mình. Bạn mã hóa các tệp ở đâu, ai có thể truy cập và ở đâu, chế độ mã hóa hoạt động như thế nào, khóa được lưu trữ như thế nào...
phantomcraft avatar
lá cờ pf
Tôi mã hóa HD bên ngoài và hệ điều hành của mình, các khóa được lưu trữ an toàn và người khác mà tôi yêu cầu sẽ hủy khóa nếu tôi chết, tôi sử dụng CTR trong 3 lớp của Threefish với các khóa 1024 bit. Tôi tin rằng tôi an toàn.
kelalaka avatar
lá cờ in
Chúng tôi không mã hóa ổ cứng bằng chế độ CTR nữa, XEX/XT được ưu tiên hơn. Tại sao bạn không sử dụng Veracrypt để xử lý hầu hết các phần quan trọng cho bạn?
phantomcraft avatar
lá cờ pf
Tôi đã viết một mô-đun hạt nhân Threefish với mã hóa 1024-bit nhưng nó chỉ hoạt động với IV đơn giản, Threefish không có các cuộc tấn công bằng bản mã đã biết nên CTR với IV đơn giản là lựa chọn của tôi; XTS là tốt, nhưng khi mã hóa bằng AES/Serpent/Twofish với khóa 256 bit, sự cố bắt đầu ở kích thước khối 128 bit của chúng: https://crypto.stackexchange.com/questions/30212/is-xts-basical- the-cheapest-form-of-secure-double-encryption -- Ngoài ra, hãy xem: https://eprint.iacr.org/2016/197
kelalaka avatar
lá cờ in
_Một cuộc tấn công giữa chừng áp dụng trên double XTS như bình thường, trong khoảng $2^{385}$ thời gian và $2^{384}$ không gian._ Ai có thể làm điều này?
phantomcraft avatar
lá cờ pf
@kelalaka Mọi người không có nghĩa là được hiểu, cũng như tôi không hiểu bạn tuân thủ bảo mật 256 bit, bạn không hiểu tôi muốn khóa lớn hơn 512 bit.
Điểm:0
lá cờ cn

Mặc dù có thể xây dựng mật mã luồng từ hàm băm. Việc xây dựng này có một lỗ hổng rất nghiêm trọng.

Vấn đề lớn nhất là bạn không có nonce, vì vậy nếu khóa của bạn được sử dụng lại thì việc giải mã cả hai thư trở nên tầm thường vì bạn chỉ cần xor-ing văn bản gốc.

Những gì bạn có một cách hiệu quả là như sau trên mỗi khối: Xây dựng

Hơn nữa, bạn sẽ không nhận được 2048 bit mã hóa ở đây. Chẳng hạn, tôi có thể tấn công 512 bit đầu tiên của mật mã văn bản. Điều đó có nghĩa là tôi chỉ phải tìm chìa khóa đầu tiên. Tương tự đối với khóa thứ hai, v.v... Vì vậy, đối với toàn bộ khối, bạn chỉ cần tìm 4 khóa. Vì vậy, bạn thực sự chỉ tăng độ dài khóa thêm 2 bit. Điều này là do mỗi khóa độc lập với nhau nên trong một cuộc tấn công vũ phu, việc thay đổi một khóa không ảnh hưởng đến các khóa khác.Vì vậy, nếu mục tiêu của bạn là 2048 bit sức mạnh chính thì điều đó thậm chí còn tồi tệ hơn một cuộc gặp gỡ trong cuộc tấn công ở giữa. Về cơ bản, nó chỉ mạnh bằng độ dài bit của các phím bắt đầu của bạn.

Ngoài ra, một khóa lớn như vậy là vô nghĩa đối với mật mã đối xứng.

Bảo mật lượng tử hậu của các hàm băm như BLAKE2b đã khá an toàn, đặc biệt là với thông báo 512 bit.

phantomcraft avatar
lá cờ pf
Tôi hiểu, cảm ơn bạn đã trả lời.
phantomcraft avatar
lá cờ pf
Tôi nghĩ rằng bạn là sai. Nếu ai đó phải brute-force hai khóa 512 bit trong phương thức này, thì với mỗi lần thử trong khóa đầu tiên, anh ta phải kiểm tra 2^512 giá trị khác của khóa thứ hai, vì vậy phải thực hiện 2^(512*2) thử trong toàn bộ sơ đồ (1024-bit). Làm cách nào để ai đó có thể xác định xem một khóa trong số 2^512 khóa có phải là khóa phù hợp sẽ tạo ra tài liệu được băm chính xác không? Làm cách nào để ai đó có thể xác định xem một giá trị được băm trong 2^512 kết quả có phải là hàm băm đúng không?
phantomcraft avatar
lá cờ pf
Giả sử tôi băm bộ đếm "123" với khóa K tạo ra hàm băm H. Làm cách nào bạn có thể xác định rằng H là sản phẩm phụ của "123" với khóa K?
lá cờ cn
Cấu trúc mà bạn mô tả, mỗi khóa chỉ chịu trách nhiệm cho một đoạn 512 bit trong khối. Vì vậy, tôi chỉ cần xem xét từng đoạn 512 bit. Bộ đếm cũng không bí mật và có thể được suy ra từ độ dài văn bản mật mã. Vì vậy, không có ảnh hưởng đến sức mạnh quan trọng. Vì một khóa chỉ là một số từ 0 đến 2^n - 1. Với cấu trúc 4 khóa của bạn, tôi có thể thử một khóa trên mỗi đoạn 512 bit có 4 khóa. Vì vậy, khi tôi đếm qua các phím, tôi chỉ làm công việc gấp 4 lần. Không đánh đổi không gian, đó là lý do tại sao tôi nói rằng nó còn tệ hơn một cuộc tấn công MITM nếu mục tiêu của bạn là khóa 2048 bit.
lá cờ cn
Xem xét các nhận xét khác của bạn và thực tế là bạn quan tâm đến bảo mật lượng tử sau. Mật mã khối và luồng đối xứng với 256 bit vẫn cực kỳ an toàn. Có lẽ sức mạnh của khóa bit khó hiểu của bạn với các mật mã bất đối xứng như ECC và RSA mà nếu có một máy tính lượng tử đủ lớn thì máy tính có thể phá vỡ. Tuy nhiên, đối với mật mã đối xứng: i.g. các mật mã như AES, ChaCha20, v.v... Khóa 256 bit là đủ. Các phím lớn cũng khó xử lý một cách an toàn hơn. Thật hợp lý khi ghi nhớ khóa 256 bit, khóa 2048 bit sẽ cần được lưu trữ trên thứ gì đó có thể bị đánh cắp, v.v ...
Điểm:0
lá cờ kr

Phương pháp này có dễ bị tấn công MITM không?

Những gì bạn mô tả là chế độ ECB. Nếu bạn sử dụng cùng một khóa nhiều lần, thì có, nó dễ bị tấn công MITM. MITM có thể thay thế một số khối trong một tin nhắn bằng các khối có cùng số từ một tin nhắn khác. Tin nhắn đã sửa đổi sẽ có thể giải mã được một cách hoàn hảo và không có cách nào để xác định xem nó có bị sửa đổi hay không.

Lược đồ của bạn sẽ tạo ra cùng một kết quả cho cùng một bản rõ nếu cùng một mật khẩu được sử dụng. Do đó, khi biết một số tin nhắn sẽ có thể giải mã một số tin nhắn khác: Nếu một số khối có cùng số giống nhau, thì văn bản thuần túy cũng giống nhau.

phantomcraft avatar
lá cờ pf
Ý tôi là: Băm một quầy. Mỗi khối băm sẽ khác nhau.
lá cờ kr
@phantomcraft: Chắc chắn rồi, bộ đếm băm cho khối thứ nhất sẽ khác với bộ đếm băm cho khối thứ 2. Nhưng **tất cả** thông báo sẽ có **bộ đếm băm** giống nhau cho khối đầu tiên. Và **tất cả** thư sẽ có **bộ đếm băm** giống nhau cho khối thứ 2 (khác với khối thứ nhất, nhưng giống nhau cho tất cả thư). Vân vân.
lá cờ kr
@phantomcraft: Hậu quả: Vì tất cả các tin nhắn đều sử dụng cùng một bộ đếm băm cho khối đầu tiên, kẻ tấn công có thể thay thế khối tin nhắn A đầu tiên bằng khối tin nhắn B đầu tiên. Trong sơ đồ của bạn, không có cách nào để phát hiện xem khối thứ nhất có đã được thay thế. Giả sử nội dung gốc của khối thứ nhất trong tin nhắn A là "Chuyển 1000 USD vào tài khoản 111111111.", khối thứ nhất trong tin nhắn B là "Chuyển 1000000 USD vào tài khoản 222222222." Kẻ tấn công có thể thay thế khối tin nhắn A đầu tiên bằng khối tin nhắn B đầu tiên mà không cần biết mật khẩu và bạn sẽ không phát hiện ra nó.

Đă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.