Điểm:1

Có thể giải mã một phần bản mã aes-gcm không?

lá cờ za

Giả sử rằng tôi mã hóa một tệp lớn bằng aes-gcm và tải tệp đó lên một nơi nào đó. Sau đó, tôi có thể chỉ tải xuống một vài khối đầu tiên (cũng như IV và thẻ) và giải mã chúng không?

Nếu không, có mã hóa xác thực nào khác cho phép điều này không?

kelalaka avatar
lá cờ in
Bạn có thể giải mã nhưng không kiểm soát thẻ! Bạn có muốn bỏ qua kiểm soát thẻ? nhu cầu này là gì? có thể giống cái này; [Làm cách nào để mã hóa/giải mã dữ liệu một cách an toàn với kích thước khối tối đa?](https://crypto.stackexchange.com/q/86080/18298)?
savx2 avatar
lá cờ za
Tôi muốn giữ đảm bảo tính toàn vẹn nếu có thể.Tôi biết điều này có thể thực hiện được với AES-CTR nhưng tôi thích mã hóa được xác thực hơn.
kelalaka avatar
lá cờ in
Không bao giờ sử dụng bản rõ trước điều khiển thẻ!
savx2 avatar
lá cờ za
vì vậy tôi đoán câu trả lời là điều này là không thể trừ khi bạn chia nhỏ tệp và mã hóa từng đoạn riêng biệt?
kelalaka avatar
lá cờ in
Có, lý do xác thực là để đảm bảo rằng bản rõ không bị sửa đổi và xác thực. Tất nhiên, GCM xác thực trên bản mã để chúng tôi có thể xác minh ngay cả trước khi giải mã.
Điểm:1
lá cờ in

Có, bạn có thể giải mã một phần AES-GCM.AES-GCM sử dụng mã hóa chế độ bộ đếm và bạn có thể giải mã chế độ bộ đếm từ bất kỳ trang ngoại vi cụ thể nào, giả sử bạn biết nonce và phương pháp tính giá trị bộ đếm. Đây là một triển khai Java sử dụng mã hóa GCM và giải mã bản mã mà không cần xác minh thẻ và đây là một cách để chạy mã hóa chế độ CTR từ bất kỳ phần bù nào - thủ thuật còn lại là kết hợp cả hai.

Tuy nhiên, để duy trì tính xác thực, bạn vẫn cần chuyển tất cả dữ liệu thông qua cấu trúc GMAC. Vì hầu hết các triển khai sẽ thực hiện cả GMAC và quá trình giải mã cùng một lúc, do đó, bạn có thể cần sử dụng một GMAC và triển khai chế độ bộ đếm riêng biệt. Đối với Java, nếu tôi nhớ không lầm, GCM được triển khai bằng cách sử dụng các nguyên hàm tương đối dễ phân tách trong API nhẹ của Lâu đài Bouncy (được chỉ định bởi các lớp trong org.bouncycastle cây đóng gói).

Nếu bạn có thể thiết kế giao thức của riêng mình, bạn thực sự có thể chia thông điệp của mình thành nhiều phần và xác thực chúng một cách riêng biệt. Tuy nhiên, bạn nên đảm bảo rằng kẻ tấn công không thể sao chép, xóa hoặc xáo trộn các khối này. Kelalaka đã chỉ ra một kế hoạch về cách điều này có thể được thực hiệ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.