Score:0

การป้องกัน (ไม่ใช่การเพิ่ม) จากการค้นพบคีย์ใน AES 256

ธง in

ฉันมีสถานการณ์ที่ต้องส่งข้อความเข้ารหัสด้วย AES-256 อย่างไรก็ตาม เนื้อหาและความยาวของข้อความอาจถูกดักไว้ก่อน (ไม่ต้องถาม;)) และคำถามที่ฉันถามคือ วิธีแรกของฉันคือการประมาณกำลังเดรัจฉานที่จำเป็นในการไขกุญแจ และฉันลงเอยด้วยตัวเลขประมาณ 2^40 ถึง 2^60 ปี

เป็นจำนวนมากและเมื่อเปรียบเทียบกับสถานการณ์ที่ผู้โจมตีไม่ทราบเนื้อหาของการสกัดกั้นข้อความก็ดูไม่ดีขึ้นอย่างไรก็ตาม มีการเพิ่ม nonce เข้ามาและตอนนี้ฉันคิดว่ามันควรจะใหญ่แค่ไหนถ้าฉันต้องการเพิ่ม

สมมติว่าเพย์โหลดมีความยาว 40 บิต เนื่องจาก AES ทำงานกับบล็อกขนาดยาว 16 ไบต์ การเพิ่ม nonce ที่ไม่ซ้ำแบบสุ่ม 11 ไบต์เหมาะสมหรือไม่ หรือการคาดเดาทั้งหมดนี้ไม่คุ้มค่ากับความพยายามหรือไม่

kelalaka avatar
in flag
การทำลาย AES-256 ปัญหาเดียวของคุณไม่ใช่เวลา คุณต้องมีพลังมหาศาล [ราคาเท่าไหร่ในสหรัฐอเมริกาดอลลาร์เพื่อใช้บังคับคีย์ 256 บิตในหนึ่งปี?](https://crypto.stackexchange.com/q/1145/18298) อะไรคือที่มาของคำถามนี้
in flag
สถานการณ์โดยทั่วไปจะอธิบายไว้ข้างต้น เราไม่สามารถแยกความเป็นไปได้ในการสกัดกั้นข้อความ 40 บิตเริ่มต้นที่ไม่ได้เข้ารหัส ข้อความนั้นซึ่งเข้ารหัสในภายหลังจะถูกใช้ และผู้ใช้กังวลว่าอาจถูกดักฟังสิ่งที่อาจเป็นเวกเตอร์โจมตีสำหรับการถอดรหัสคีย์ ฉันพยายามอธิบายความพยายามของวิธีการเดรัจฉานดังกล่าวให้ทันเวลา แต่ดูเหมือนว่ามุมมองทางการเงินอาจโน้มน้าวใจได้มากกว่า ขอบคุณสำหรับเคล็ดลับนี้ อย่างไรก็ตาม เพื่อปลอบใจผู้ใช้ของฉัน ฉันต้องการเพิ่ม payload แบบสุ่ม ดังนั้นคำถามของฉันเกี่ยวกับ nonce
Score:0
ธง ng

ข้อความอาจถูกดักฟังก่อน ไม่ใช่ช่องโหว่ที่อนุญาตให้ค้นพบกุญแจดอกหรือ?

ไม่เพื่อเลือกคีย์ที่เหมาะสม (ดู 1 ด้านล่าง) AES-256 ได้รับการออกแบบมาเพื่อต่อต้านสิ่งดังกล่าว การโจมตีข้อความธรรมดาที่รู้จัก. นั่นเป็นสมมติฐานมาตรฐานและแน่นอน $2^{256}$ มีขนาดใหญ่มากจนไม่ต้องกังวลว่าจะพบกุญแจได้โดยการค้นหา (เพื่อมองสิ่งต่าง ๆ ในมุมมอง การสิ้นเปลืองทรัพยากรที่เรียกว่า การขุด bitcoin จนถึงขณะนี้มีผลงานเทียบเท่าน้อยกว่า $2^{100}$ การเข้ารหัส AES) เราปลอดภัยแม้ว่าเราจะตั้งสมมติฐาน คอมพิวเตอร์ควอนตัมที่เกี่ยวข้องกับการเข้ารหัสลับ กลายเป็นสิ่ง

การป้องกันเพียงอย่างเดียวที่จำเป็นต่อการค้นพบคีย์ใน AES-256 คือ

  1. การเลือกคีย์เกี่ยวกับการสุ่มอย่างสม่ำเสมอ รหัสผ่านจะไม่ทำ การยืดคีย์ จะไม่ตัดมัน
  2. ไม่เปิดเผย; ดู XKCD บังคับ.
  3. ป้องกันการสกัดจากอุปกรณ์ใด ๆ ที่ใส่เข้าไปนี่เป็นส่วนที่ยาก: คุณแน่ใจได้อย่างไรว่าพีซีของคุณไม่ติดโทรจัน แล้วก็มี การโจมตีช่องทางด้านข้าง และ การโจมตีความผิด.

สมมติว่าเพย์โหลดมีความยาว 40 บิต เนื่องจาก AES ทำงานกับบล็อกขนาดยาว 16 ไบต์ การเพิ่ม nonce ที่ไม่ซ้ำแบบสุ่ม 11 ไบต์เหมาะสมหรือไม่ หรือการคาดเดาทั้งหมดนี้ไม่คุ้มค่ากับความพยายามหรือไม่

มี อื่น เหตุผลที่ดีในการแทรกการสุ่มในข้อความที่เข้ารหัส: จำเป็นต้องต่อต้าน เลือกโจมตีข้อความธรรมดาและโดยเฉพาะอย่างยิ่งป้องกันไม่ให้ฝ่ายตรงข้ามทดสอบว่าข้อความธรรมดาสองรายการเหมือนกันหรือไม่โดยการเปรียบเทียบข้อความรหัส

นอกจากนี้ โปรดสังเกตว่าแอปพลิเคชันทั่วไปที่ต้องการการรักษาความลับของข้อความธรรมดานั้นต้องการความสมบูรณ์เช่นกัน นั่นคือ เข้ารหัสรับรองความถูกต้องและการเข้ารหัส AES แบบตรงกับทั่วไป โหมดการทำงานของ block-cipher ที่เข้ารหัสเท่านั้น จะไม่ให้สิ่งนั้นแม้จะสุ่ม IV/nonce นอกจากนี้ แอปพลิเคชั่นบางตัวจำเป็นต้องมีการป้องกัน เล่นซ้ำและการเข้ารหัสที่รับรองความถูกต้องโดยตรงจะไม่ให้สิ่งนั้น

การเลือกอัลกอริทึมการเข้ารหัสไม่ใช่เรื่องเล็กน้อย ขออภัย แต่ไม่ควรพยายามถามคำถามปัจจุบัน

in flag
ขอบคุณสำหรับคำตอบ! ผู้ที่ถามคำถามนี้ทราบดีถึงความไม่รู้ของเขา และโชคดีที่ไม่ใช่คนเดียวที่รับผิดชอบต่อปัญหาที่กำหนด (ซึ่งจะทำให้รู้สึกอึดอัดและไม่เป็นมืออาชีพอย่างมาก) การคุ้มครองความซื่อสัตย์ถูกนำมาพิจารณา แต่ขอขอบคุณสำหรับการกล่าวถึงเช่นกัน

โพสต์คำตอบ

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