Điểm:0

Làm cách nào để dm-crypt trong Linux tạo ra các chế độ mã hóa không song song có tất cả các khối 512 byte khác nhau?

lá cờ pf

dm-crypt trong Linux sử dụng các khối 512 byte (các cung đĩa) có các khối con của văn bản gốc được mã hóa cho các chế độ mật mã khối không song song:

"Với các chế độ thông thường trong cryptsetup (CBC, ESSIV, XTS), bạn có thể nhận được một khối 512 byte bị thay đổi hoàn toàn do lỗi bit. Một khối bị hỏng gây ra nhiều sự tàn phá hơn so với một bit thỉnh thoảng bị lật và có thể dẫn đến nhiều lỗi khó hiểu khác nhau ."

/\ Nguồn: https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions

Nó hỗ trợ CBC, PCBC, OFB và CFB không song song.

Tôi đã thử nghiệm nó ở đây trong hệ thống Linux của mình:

dd if=/dev/zero of=./img count=5242880 bs=1
dd if=/dev/random of=./key count=32 bs=1
sudo cryptsetup open --type plain --cipher aes-cbc-essiv:sha3-256 --key-file ./key --key-size 256 ./img blah
mèo sudo /dev/zero > /dev/mapper/blah
Sudo cryptsetup đóng /dev/mapper/blah

/\ Tôi đã mở tệp ảnh đĩa trong trình chỉnh sửa hệ thập lục phân và tôi có thể thấy rằng tất cả các khối 512 byte đều khác nhau ngay cả khi các bản rõ trong toàn bộ ảnh đĩa là đồng nhất (các số không).

Câu hỏi của tôi là:

Làm thế nào dm-crypt làm cho tất cả các khối 512 byte khác nhau ngay cả khi các bản rõ của nó giống nhau?

Nếu tôi mã hóa thứ gì đó bằng CBC và chia thành các khối 512 byte để có thể tìm kiếm được, thì khóa và IV sẽ giống nhau cho mỗi khối 512 byte, vì vậy nếu tôi mã hóa cùng một văn bản gốc thì các khối sẽ bằng nhau.

kelalaka avatar
lá cờ in
IV mới cho mỗi khối....
phantomcraft avatar
lá cờ pf
@kelalaka Tôi biết rằng tùy chọn ESSIV trong cryptsetup băm khóa được sử dụng làm IV, nhưng nó có thêm bộ đếm để băm mỗi khối 512 byte không?
Điểm:4
lá cờ cn

Họ chỉ đơn giản là sử dụng số ngành hoặc một số chức năng của nó như một tinh chỉnh/IV. Số sector được biết tại thời điểm mã hóa và giải mã, vì vậy nó không cần được lưu trữ cùng với bản mã, điều này tốt vì không có chỗ cho nó.

Tất cả các chế độ này thực sự có khả năng song song hóa cao: I/O đĩa thường xảy ra theo bội số của ít nhất 4K và điều đó đã có thể được song song hóa theo 8 cách. Việc thiếu tính song song của tiểu ngành là một đặc điểm thiết kế. Trình điều khiển không thể xác thực các khu vực được giải mã vì không có chỗ để lưu trữ trình xác thực, do đó, trình điều khiển phải dựa vào các cấp cao hơn để nhận thấy rằng văn bản gốc bị sai và điều đó càng có nhiều khả năng xảy ra.

fgrieu avatar
lá cờ ng
Câu cuối cùng trong câu trả lời nói lên một sự thật đáng buồn và quan trọng: mã hóa đĩa cấp ngành không cung cấp xác thực.

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