Điểm:1

Cách tốt nhất để lưu ChaCha20 Nonce trong tệp BMP hình ảnh mật mã là gì?

lá cờ in

Tôi có một câu hỏi về ChaCha20. Theo như tôi biết ChaCha20 là một thuật toán mật mã sử dụng 4 đầu vào:

  1. Chìa khóa (bí mật)
  2. Hằng số (không bí mật)
  3. Số khối/Bộ đếm (số khối dòng khóa)
  4. Nonce (số ngẫu nhiên trên mỗi mã hóa/khóa & được coi là không bí mật)

Câu hỏi của tôi là làm cách nào để lưu trữ ChaCha20 Nonce 12 byte (96 bit) trên Ảnh mật mã/CipherText, cụ thể là tệp BMP?

hình minh họa

Tôi muốn làm điều này để Hình ảnh-Mật mã có thể được giải mã bởi những người dùng khác bằng cách sử dụng cùng một khóa & nonce khi Hình ảnh Nguyên đơn được mã hóa trước đó.

Tôi biết rằng BMP có không gian tiêu đề chuyên dụng khoảng 54 byte và được cho là đặt Nonce trong đó. Nhưng tôi nghi ngờ liệu điều này có ảnh hưởng đến thông tin tệp tiêu đề đã có trong Hình ảnh Nguyên đơn hay không.

Tôi cũng đang nghĩ đến việc đặt một Nonce 12 byte ở cuối tệp, nhưng tôi nghi ngờ liệu ứng dụng xem ảnh (cmiiw) có còn đọc được tệp này hay không.

Giải pháp thích hợp nhất cho vấn đề này là gì?

Paul Uszak avatar
lá cờ cn
Đặt nonce ở cuối hoạt động với trình xem Ubuntu tiêu chuẩn :-) Hoặc có lẽ bạn có thể nối thêm tên tệp ở dạng hex?
Paul Uszak avatar
lá cờ cn
Bạn vẫn có thể phải đối mặt với vấn đề xác thực nếu bạn (đại loại là) cuộn tiền điện tử của riêng mình...
Paul Uszak avatar
lá cờ cn
Có lý do cụ thể nào khiến văn bản mật mã phải là `.bmp` hợp lệ không? Bạn luôn có thể sử dụng trình xem thông minh hơn như `ImageMagick` hoặc `GIMP` để tải bản mã dưới dạng giá trị pixel thô. Dù sao thì tất cả văn bản mật mã trông giống nhau. Phần thưởng quan trọng khi thực hiện theo cách của tôi: bạn có thể sử dụng các thư viện mã hóa tiêu chuẩn mà bạn có thể chắc chắn rằng nó hoạt động an toàn và vấn đề xác thực đã được giải quyết.
akez avatar
lá cờ in
@Paul Uszak. Cảm ơn vì lời khuyên của bạn. Trên thực tế, tôi chỉ muốn liệu tệp BMP có thể được mở bằng trình xem ảnh tích hợp được sử dụng rộng rãi, như trong Windows 7 & 10. (Có tính đến số lượng người dùng).

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