Score:2

เป็นไปได้ไหมที่จะเข้ารหัสไฟล์บิตแมป .bmp โดยใช้ Stream Cipher Chacha20?

ธง in

บางทีนี่อาจฟังดูเป็นคำถามที่งี่เง่า ฉันขอโทษสำหรับสิ่งนั้น

ฉันแค่อยากรู้ว่าเป็นไปได้ไหมที่จะเข้ารหัสไฟล์ภาพบิตแมปเช่น *.BMP และสร้างข้อความเข้ารหัสซึ่งเป็นภาพบิตแมปที่คลุมเครือโดยที่แต่ละพิกเซลสุ่ม (ภาพอาจดูเหมือนทีวีอะนาล็อกที่ไม่มีเสาอากาศ)

Paul Uszak avatar
cn flag
คุณหมายถึงการเข้ารหัสแรสเตอร์เท่านั้น เพื่อให้ทั้งไฟล์ยังคงเป็น .BMP ที่ถูกต้องใช่หรือไม่
akez avatar
in flag
@Paul Uszak ใช่เลย
Score:1
ธง in

ใช่ เป็นไปได้ที่จะเข้ารหัสอิมเมจ BMP ด้วยรหัสสตรีมใดๆ

ก่อนอื่นคุณต้องตัด 54 ไบต์แรก ของอิมเมจ BMP ไปเป็นไฟล์อื่น ณ จุดนี้ ส่วนข้อมูลจะเริ่มต้นขึ้น จากนั้นส่วนที่เหลือสามารถเข้ารหัสด้วยรหัสสตรีมใดก็ได้ หลังจากนั้นให้เพิ่มส่วนหัวของไฟล์ที่เข้ารหัส

นี่คือตัวอย่างกับ OpenSSL ฉันจะใช้ AES กับโหมด CTR โดยโหมด CTR จะเปลี่ยนรหัสบล็อกใดๆ ให้เป็นรหัสสตรีม

#/ถังขยะ/ทุบตี
#ไฟล์ต้นฉบับคือ tux.bmp
หัว -c 54 tux.bmp > tux_head.part
หาง -c +55 tux.bmp > tux_data.part
opensl enc -aes-128-ctr -e -in tux_data.part -out aes-ctr-enc-data.part -K "01234567890123450123456789012345" -iv "00000000000000010000000000000001"
cp tux_head.part encrypted_tux.bmp
cat aes-ctr-enc-data.part >> encrypted_tux.bmp

ฉันใช้ AES-CTR เนื่องจาก OpenSSL มี ChaCha20-Poly1305 เป็นชุดการเข้ารหัสที่เป็นการเข้ารหัสที่รับรองความถูกต้อง มันจะเพิ่มแท็ก ดังนั้นจึงไม่มีประโยชน์ที่นี่


ภาพอินพุต

ป้อนคำอธิบายรูปภาพที่นี่

ภาพที่ส่งออก

ป้อนคำอธิบายรูปภาพที่นี่

Paul Uszak avatar
cn flag
ต้องการ `in` ให้เป็น `-in`
Paul Uszak avatar
cn flag
และมีความแปลกประหลาด คุณได้ลองสิ่งนี้แล้วหรือยัง? ฉันปรากฏขึ้นพร้อมกับสีเขียว นั่นคือ 'คุณสมบัติ' ของรูปแบบ BMP หรือไม่
kelalaka avatar
in flag
@PaulUszak ฉันแก้ไข ทดสอบ และเพิ่มผลลัพธ์ลงในคำตอบแล้ว คุณช่วยตรวจสอบไฟล์ของคุณได้ไหม
Paul Uszak avatar
cn flag
ไม่. เพิ่งทำกับ Tux และมันก็ออกมาเป็นสีเขียวเหมือนกัน ไม่ใช่สไตล์ที่คุณมี :-( ฉันสงสัยว่ามันเป็นตัวเลือกที่เข้ากันได้กับ GIMP เมื่อฉันใช้เพื่อสร้าง BMP ของฉัน การเข้ารหัสทำงานได้อย่างสมบูรณ์แม้ว่า :-) ฉันจะทิ้งไว้ที่นี่ คำตอบที่ดี.
kelalaka avatar
in flag
น่าสนใจ. ฉันเคยใช้โปรแกรมดู ตอนนี้ทดสอบกับ GIMP เช่นกัน มันกำลังทำงานอยู่
Paul Uszak avatar
cn flag
https://pasteboard.co/K6biu3Y.bmp ทำตาม `openssl enc -aes-128-ctr -e -in pic_data.part -out aes-ctr-enc-data.part -K "aaaaaa" -iv "bbbbbb" `
kelalaka avatar
in flag
คุณได้รวมส่วนหัวและแรสเตอร์ที่เข้ารหัสไว้หรือไม่
Paul Uszak avatar
cn flag
ใช่. อย่างไรก็ตาม ผู้ดูจะไม่แสดงแรสเตอร์ข้อมูลดิบโดยไม่มีข้อมูลส่วนหัว คุณต้องนำเข้าข้อมูลดิบ กำหนดขนาด และกำหนดรูปแบบและจานสี เป็นสิ่งที่ฉันทำโดย GIMPing ฉันพิเศษตรงที่... แชทบอทกำลังตะโกนใส่ฉัน
akez avatar
in flag
@พอล อุสซัค Chacha20 ใช้ค่าคงที่ 128 บิต คีย์ 256 บิต ตัวนับ 32 บิต และ nonce 96 บิต ซึ่งหมายความว่ามันจะเพิ่มขนาดไฟล์ของไฟล์ แต่ก็ไม่เป็นไรสำหรับฉัน ปัญหาคือยังคงสามารถแสดงข้อความเข้ารหัสเป็นบิตแมปแรสเตอร์ได้หรือไม่
kelalaka avatar
in flag
มันจะเพิ่มขนาดไฟล์เป็น 96 บิตเท่านั้น ไม่มีอะไรเพิ่มเติม ตัวอย่างของฉันแสดงแรสเตอร์เป็นรูปภาพแล้ว คุณตรวจสอบไหม หนึ่งสามารถใช้การเขียนโปรแกรมเพื่อให้บรรลุนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา