Score:0

การเลือกคีย์ที่กำหนดโดยใช้การเปรียบเทียบค่าซ้ำ - นี่มันโง่แค่ไหน?

ธง in

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

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

เราพบปัญหาที่น่าสนใจเมื่อหาวิธีแลกเปลี่ยนความลับที่ใช้ร่วมกันเมื่อมีการจับมือกับ RSA เนื่องจากโปรแกรมเล็กๆ นี้ใช้ไม่ได้กับแนวคิดของไคลเอนต์/เซิร์ฟเวอร์ เราจึงต้องการวิธีที่จะทำให้แน่ใจว่าทั้งสองฝั่งจะเลือกคีย์เดียวกัน เริ่มแรกฉันตรวจสอบการใช้งาน ECC+Diffie-Hellman แบบแพ็คเกจล่วงหน้า (จาก .NET) แต่มีข้อบกพร่องร้ายแรง - คลาสนี้ใช้งานได้บน Windows เท่านั้น แต่เพื่อนของฉันใช้ Mac

เท่าที่ฉันทราบไม่มีการใช้งานการแลกเปลี่ยนคีย์อื่น ๆ ที่บรรจุใน. NET ดังนั้นฉันจึงลงเอยด้วยวิธีแก้ปัญหาง่ายๆ

  1. เพียร์ทั้งสองส่งคีย์ที่สร้างขึ้นใหม่ (โดยเฉพาะ อาร์เรย์คีย์ AES ไบต์) ไปยังอีกคีย์หนึ่ง
  2. เพียร์ทั้งสองป้อนคีย์ของพวกเขาและคีย์ของพันธมิตรในอัลกอริทึมซึ่งวนซ้ำตามลำดับในค่าไบต์ (ฉันคิดว่าเป็นจำนวนเต็ม 8 บิตที่แปลงโดยปริยาย) ภายในอาร์เรย์คีย์ทั้งสอง
  3. หากคีย์หนึ่งมีค่ามากกว่าคีย์อื่นที่ดัชนีหนึ่งๆ คีย์นั้นจะถูกส่งกลับเป็นคีย์ที่เลือก
  4. หากไม่ตรงตามเงื่อนไขนี้ระหว่างการวนซ้ำ คีย์จะเหมือนกันและไม่สำคัญว่าจะคืนค่าใด (IVs มีอยู่ แต่ไม่สนใจ)

อัลกอริธึม 10 บรรทัดของแฮ็คจ็อบนี้ทำงานได้ดีกว่าที่มันมีสิทธิ์ทำได้มาก ด้วยความเข้าใจที่จำกัดของฉันเกี่ยวกับคณิตศาสตร์ที่เกี่ยวข้อง สิ่งนี้จึงสมเหตุสมผลในการคำนวณ - มี $256^{32}$ คีย์ที่เป็นไปได้และ $\frac{255}{256}$ โอกาสที่จะได้ผลลัพธ์ตามการเปรียบเทียบ (ราคาถูกมาก) ดังนั้นคุณจึงรับประกันได้ว่าจะได้ผลลัพธ์ที่ใช้งานได้ทันที

อย่างไรก็ตาม ฉันยังสงสัยอยู่ อัลกอริทึมนี้มีลักษณะอย่างไรในแง่ของความปลอดภัย ถ้าฉันได้เรียนรู้อะไรจากการค้นหา SE นี้ แม้แต่สิ่งที่ง่ายที่สุด/ไม่มีพิษภัยที่สุดสำหรับคนธรรมดาอย่างฉันก็สามารถแสดงถึงช่องโหว่ด้านความปลอดภัยที่จ้องมองได้

(นอกจากนี้ ฉันสาบานว่าสิ่งนี้จะไม่ถูกใช้ในสิ่งที่สำคัญ ตอนนี้ฉันรู้เกี่ยวกับ Bouncy Castle แล้ว ขอบคุณพระเจ้า)

Score:5
ธง ng

ตรงกันข้ามกับ Diffie-Hellman สิ่งนี้ไม่ได้ต่อต้านการดักฟังแบบพาสซีฟ ฝ่ายตรงข้ามที่จับทราฟฟิกเครือข่ายจะได้รับ "คีย์ที่สร้างขึ้นใหม่" ที่ "ทั้งคู่ส่ง" ในขั้นตอนที่ 1 และสามารถใช้อัลกอริทึมของขั้นตอนที่ 2/3/4 เพื่อค้นหาคีย์ที่ใช้ร่วมกันซึ่งจะเข้ารหัสทราฟฟิกที่ตามมาในท้ายที่สุด

โพสต์คำตอบ

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