อ่าน 2 นาที
กระต่าย (รหัส)
Rabbit เป็น อัลกอริทึมการเข้ารหัสแบบสตรีมความเร็วสูงที่พัฒนาขึ้นในปี 2003 โดยอัลกอริทึมและซอร์สโค้ดได้รับการเผยแพร่เป็นซอฟต์แวร์สาธารณะ ในปี 2008
กระต่าย (รหัส)
Rabbit เป็น อัลกอริทึมการเข้ารหัสแบบสตรีมความเร็วสูงที่พัฒนาขึ้นในปี 2003 โดยอัลกอริทึมและซอร์สโค้ดได้รับการเผยแพร่เป็นซอฟต์แวร์สาธารณะ ในปี 2008
ประวัติศาสตร์
Rabbitได้รับการนำเสนอครั้งแรก[ 1 ]ในเดือนกุมภาพันธ์ พ.ศ. 2546 ในการประชุมเชิงปฏิบัติการ FSE ครั้งที่ 10 ในเดือนพฤษภาคม พ.ศ. 2548 ได้มีการส่งไปยัง โครงการ eSTREAMของเครือข่าย ECRYPT
Rabbit ได้รับการออกแบบโดย Martin Boesgaard, Mette Vesterager, Thomas Pedersen, Jesper Christiansen และ Ove Scavenius
ผู้เขียนรหัสได้จัดทำเอกสารไวท์เปเปอร์ด้านการวิเคราะห์รหัสฉบับสมบูรณ์ไว้ในหน้าแรกของ Cryptico [ 2 ]นอกจากนี้ยังมีการอธิบายไว้ใน RFC 4503 ด้วย Cryptico มีสิทธิบัตรที่อยู่ระหว่างการพิจารณาสำหรับอัลกอริทึม และเป็นเวลาหลายปีที่ต้องเสียค่าลิขสิทธิ์สำหรับการใช้งานเชิงพาณิชย์ของรหัส ซึ่งได้รับการยกเว้นสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ อย่างไรก็ตาม อัลกอริทึมนี้เปิดให้ใช้งานได้ฟรีตั้งแต่วันที่ 6 ตุลาคม พ.ศ. 2551 [ 3 ]นอกจากนี้ เว็บไซต์ยังระบุว่าอัลกอริทึมและการใช้งานเป็นซอฟต์แวร์สาธารณะและเปิดให้ดาวน์โหลดซอร์สโค้ด ได้ฟรี [ 4 ]
ฟังก์ชันการทำงาน
Rabbit ใช้คีย์ 128 บิตและเวกเตอร์เริ่มต้น 64 บิต รหัสลับนี้ได้รับการออกแบบโดยคำนึงถึงประสิทธิภาพสูงในซอฟต์แวร์ ซึ่งการใช้งานที่ได้รับการปรับแต่งอย่างเต็มที่สามารถลดค่าใช้จ่ายในการเข้ารหัสได้สูงสุดถึง 3.7 cpbบน Pentium 3 และ 9.7 cpb บน ARM7 อย่างไรก็ตาม รหัสลับนี้ก็ยังทำงานได้รวดเร็วและกะทัดรัดมากในฮาร์ดแวร์ด้วย
ส่วนประกอบหลักของรหัสลับคือตัวสร้างบิตสตรีมซึ่งเข้ารหัสบิตข้อความ 128 บิตต่อรอบ ความแข็งแกร่งของรหัสลับขึ้นอยู่กับการผสมผสานสถานะภายในอย่างเข้มข้นระหว่างสองรอบที่ต่อเนื่องกัน ฟังก์ชันการผสมผสานนั้นอาศัยการดำเนินการทางคณิตศาสตร์ที่มีอยู่ในโปรเซสเซอร์สมัยใหม่ กล่าวคือ ไม่ จำเป็นต้องใช้ S-boxหรือตารางค้นหาเพื่อใช้งานรหัสลับ ฟังก์ชันการผสมผสานใช้ฟังก์ชัน g ที่อิงจากการยกกำลังสองทางคณิตศาสตร์ และการดำเนินการ ARX – การ XOR ทางตรรกะ การหมุนบิตด้วยจำนวนการหมุนคงที่ และการบวกโมดูลัส 2³²
ฟังก์ชัน g ที่ใช้ใน Rabbit – การยกกำลังสองของจำนวน 32 บิตเพื่อให้ได้จำนวน 64 บิต จากนั้นรวมครึ่งซ้ายและครึ่งขวาของจำนวนยกกำลังสองนั้นด้วยการดำเนินการ xor เพื่อให้ได้ผลลัพธ์ 32 บิต – ให้ผลลัพธ์ที่ดีกว่าการใช้บิตกลาง 32 บิตของจำนวนยกกำลังสองนั้น ( วิธียกกำลังสองตรงกลาง ) [ 5 ]
ความปลอดภัย
Rabbit อ้างว่ามีระบบรักษาความปลอดภัย 128 บิตต่อผู้โจมตีที่มีเป้าหมายเป็นคีย์เฉพาะตัวหนึ่ง อย่างไรก็ตาม หากผู้โจมตีกำหนดเป้าหมายคีย์จำนวนมากพร้อมกันและไม่สนใจว่าคีย์ใดจะถูกเจาะ ระบบรักษาความปลอดภัยที่มีขนาด IV เล็กจะส่งผลให้ระดับความปลอดภัย ลดลงเหลือ 96 บิต ซึ่งเป็นผลมาจากการโจมตีแบบแลกเปลี่ยน TMD ทั่วไป[ 6 ]
มีอคติเล็กน้อยในผลลัพธ์ของ Rabbit [ 7 ]ส่งผลให้มีตัวแยกแยะที่มีความซับซ้อน 2 247ซึ่งค้นพบโดย Jean-Philippe Aumasson ในเดือนธันวาคม 2006 แม้ว่าตัวแยกแยะนี้จะได้รับการปรับปรุงเป็น 2 158ในปี 2008 [ 8 ]แต่ก็ไม่ได้เป็นภัยคุกคามต่อความปลอดภัยของ Rabbit เนื่องจากความซับซ้อนของมันสูงกว่าการโจมตีแบบ brute-force ของพื้นที่คีย์ (2 128 ) อย่างมีนัยสำคัญ
ลิงก์ภายนอก
- กระต่าย อาร์เอฟซี
- หน้า eSTREAM บน Rabbit ถูกเก็บถาวรเมื่อวันที่ 13 มิถุนายน 2012 ที่Wayback Machine
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ กระต่าย (รหัส)
Rabbit เป็น อัลกอริทึมการเข้ารหัสแบบสตรีมความเร็วสูงที่พัฒนาขึ้นในปี 2003 โดยอัลกอริทึมและซอร์สโค้ดได้รับการเผยแพร่เป็นซอฟต์แวร์สาธารณะ ในปี 2008
ประวัติศาสตร์
Rabbit ได้รับการนำเสนอครั้งแรก [ 1 ] ในเดือนกุมภาพันธ์ พ.ศ. 2546 ในการประชุมเชิงปฏิบัติการ FSE ครั้งที่ 10 ในเดือนพฤษภาคม พ.ศ. 2548 ได้มีการส่งไปยัง โครงการ eSTREAM ของเครือข่าย ECRYPT
ฟังก์ชันการทำงาน
Rabbit ใช้คีย์ 128 บิตและเวกเตอร์เริ่มต้น 64 บิต รหัสลับนี้ได้รับการออกแบบโดยคำนึงถึงประสิทธิภาพสูงในซอฟต์แวร์ ซึ่งการใช้งานที่ได้รับการปรับแต่งอย่างเต็มที่สามารถลดค่าใช้จ่ายในการเข้ารหัสได้สูงสุดถึง 3.7 cpb บน Pentium 3 และ 9.
ความปลอดภัย
Rabbit อ้างว่ามีระบบรักษาความปลอดภัย 128 บิตต่อผู้โจมตีที่มีเป้าหมายเป็นคีย์เฉพาะตัวหนึ่ง อย่างไรก็ตาม หากผู้โจมตีกำหนดเป้าหมายคีย์จำนวนมากพร้อมกันและไม่สนใจว่าคีย์ใดจะถูกเจาะ ระบบรักษาความปลอดภัยที่มีขนาด IV เล็กจะส่งผลให้ ระดับความปลอดภัย ลดลงเหลือ 96 บิต...