อ่าน 2 นาที
มิกกี้
ในด้าน การเข้ารหัสลับ Mutual Irregular Clocking KEYstream generator (MICKEY) เป็น อัลกอริทึม การเข้ารหัสแบบสตรีม ที่พัฒนาโดย Steve Babbage และ Matthew Dodd [ 1 ] การ...
มิกกี้
ในด้านการเข้ารหัสลับ Mutual Irregular Clocking KEYstream generator (MICKEY)เป็น อัลกอริทึม การเข้ารหัสแบบสตรีมที่พัฒนาโดยSteve BabbageและMatthew Dodd [ 1 ] การเข้ารหัสนี้ได้รับการออกแบบมาเพื่อใช้ในแพลตฟอร์มฮาร์ดแวร์ที่มีทรัพยากรจำกัด และเป็นหนึ่งในสามการเข้ารหัสที่ได้รับการยอมรับใน Profile 2 ของ พอร์ตโฟลิโอ eSTREAMอัลกอริทึมนี้ไม่มีสิทธิบัตรและสามารถใช้งานได้ฟรี[ 2 ]
โครงสร้าง
ระบบเข้ารหัสนี้แปลง คีย์ขนาด 80 บิตและเวกเตอร์เริ่มต้นที่ มีความยาวแปรผันได้ (0 ถึง 80 บิต) ไปเป็นสตรีมคีย์ที่มีความยาวสูงสุด2⁴⁰บิต
การสร้างคีย์สตรีม
ตัว สร้าง คีย์สตรีมใช้รีจิสเตอร์สองตัวคือ R และ S (ตัวละ 100 บิต) รีจิสเตอร์เหล่านี้จะได้รับการอัปเดตในลักษณะที่ไม่เป็นเชิงเส้นโดยใช้ตัวแปรควบคุม: INPUT BIT R, INPUT BIT S, CONTROL BIT R, CONTROL BIT S ดังที่กล่าวไว้ก่อนหน้านี้ การใช้งานการเข้ารหัสใดๆ ก็ตามจะต้องมีฟลิปฟลอปสำหรับรีจิสเตอร์ R, S และตัวแปรควบคุมทั้ง 4 ตัว นอกจากนี้ ยังต้องมีฟลิปฟลอปอีก 7 ตัวสำหรับรีจิสเตอร์ตัวนับเพื่อติดตามจำนวนรอบในขั้นตอนพรีคล็อก ขั้นตอนการสร้างคีย์สตรีมใน MICKEY 2.0 จะมีสามขั้นตอนก่อนหน้า ได้แก่ การโหลด IV, การโหลดคีย์ และพรีคล็อก ในขั้นต้น รีจิสเตอร์ R และ S จะถูกกำหนดค่าเริ่มต้นเป็นศูนย์ทั้งหมด
ความแตกต่างกับ Trivium
แตกต่างจาก Trivium, MICKEY 2.0 [ 3 ]ไม่อนุญาตให้โหลดบิต Key และ IV ลงในรีจิสเตอร์สถานะโดยตรง ดังที่กล่าวไว้ก่อนหน้านี้ ในขั้นต้น รีจิสเตอร์ R และ S จะถูกกำหนดค่าเริ่มต้นเป็นสถานะศูนย์ทั้งหมด จากนั้นจะใช้ IV ที่มีความยาวแปรผันและ Key 80 บิตเพื่ออัปเดตสถานะโดยการเรียกใช้รูทีน CLOCK KG อย่างต่อเนื่อง
การป้องกันใน Scan Chain
MICKEY 2.0 สามารถป้องกันได้ด้วยโครงสร้าง XOR-CHAIN ผู้โจมตีจะมีข้อได้เปรียบดังต่อไปนี้:
- เขารู้จักอัลกอริทึมของ MICKEY 2.0
- เขาสามารถใช้เวกเตอร์เริ่มต้นที่เขาเลือกเองได้
- กุญแจสำคัญยังคงเป็นความลับ
- เขาสามารถสแกนเข้าและสแกนออกเวกเตอร์ได้ตามต้องการ
การซ่อนความสัมพันธ์ระหว่างเซลล์สแกนและตัวแปรจริงของการเข้ารหัสเป็นสิ่งที่ผลักดันให้เกิดโครงสร้าง XOR-Chain แบบฟีดแบ็กเดี่ยวและฟีดแบ็กคู่ในอดีต แต่เนื่องจากโครงสร้างเหล่านี้ก็ตกเป็นเหยื่อของการวิเคราะห์การเข้ารหัสเช่นกัน ดังที่แสดงในส่วนก่อนหน้า เราจึงหันมาใช้สถาปัตยกรรมที่ปลอดภัยยิ่งขึ้น ซึ่งเรียกว่าโครงสร้าง XOR-Chain แบบสุ่ม (rXOR-Chain)
มาตรการรับมือสำหรับมิกกี้
ก่อนหน้านี้มีการเสนอเทคนิคการป้องกันแบบ Flipped-Scan เพื่อปกป้อง scan-chain ซึ่งเกี่ยวข้องกับการวางอินเวอร์เตอร์ไว้ที่จุดสุ่มใน scan-chain ความปลอดภัยเกิดจากข้อเท็จจริงที่ว่าฝ่ายตรงข้ามไม่สามารถเดาจำนวนและตำแหน่งของอินเวอร์เตอร์ได้ เทคนิคนี้ได้รับการวิเคราะห์การเข้ารหัสโดยใช้การโจมตีแบบ RESET พบว่าหากฟลิปฟลอปทั้งหมดใน scan-chain ถูก RESET ในตอนเริ่มต้น ตำแหน่งของอินเวอร์เตอร์สามารถกำหนดได้อย่างสมบูรณ์โดยการเปลี่ยนสถานะ 0 → 1 และ 1 → 0 ในเวกเตอร์ที่สแกนออกมา ทางเลือกอื่นคือการเสนอมาตรการป้องกันแบบ XOR-CHAIN ซึ่งเกี่ยวข้องกับการวางเกต XOR ไว้ที่จุดสุ่มของเชน[ 4 ]ความปลอดภัยเกิดจากข้อเท็จจริงที่ว่าฝ่ายตรงข้ามไม่สามารถเดาจำนวนและตำแหน่งของเกต XOR ได้
การใช้งานใน DFT
การทดสอบ DFT แบบสแกนเป็น วิธีการทดสอบ DFT ที่ใช้กันอย่างแพร่หลายที่สุด สำหรับ การทดสอบ วงจรรวมเนื่องจากมีความเรียบง่ายและให้การครอบคลุมข้อบกพร่องสูง ข้อดีของการทดสอบแบบสแกนคือ ช่วยให้สามารถสังเกตและควบคุมโหนดภายในของวงจรรวมได้อย่างสมบูรณ์
การวิเคราะห์รหัส
ณ ปี 2013 มีรายงานการโจมตีความผิดพลาดแบบดิฟเฟอเรนเชียลต่อ MICKEY 2.0 โดย Subhadeep Banik และ Subhamoy Maitra [ 5 ]
ลิงก์ภายนอก
- หน้า eStream บน MICKEY ถูกเก็บถาวรเมื่อวันที่ 1 กรกฎาคม 2012 ที่Wayback Machine
- การโจมตีด้วยความผิดพลาดแบบดิฟเฟอเรนเชียลบน MICKEY 2.0
- การโจมตีแบบใช้การสแกนเป็นห่วงโซ่
- การใช้งานฮาร์ดแวร์
- การใช้งาน FPGA
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ มิกกี้
ในด้าน การเข้ารหัสลับ Mutual Irregular Clocking KEYstream generator (MICKEY) เป็น อัลกอริทึม การเข้ารหัสแบบสตรีม ที่พัฒนาโดย Steve Babbage และ Matthew Dodd [ 1 ] การ...
โครงสร้าง
ระบบเข้ารหัสนี้แปลง คีย์ ขนาด 80 บิตและ เวกเตอร์เริ่มต้นที่ มีความยาวแปรผันได้ (0 ถึง 80 บิต) ไปเป็น สตรีมคีย์ ที่มีความยาวสูงสุด 2⁴⁰ บิต
การสร้างคีย์สตรีม
ตัว สร้าง คีย์สตรีม ใช้รีจิสเตอร์สองตัวคือ R และ S (ตัวละ 100 บิต) รีจิสเตอร์เหล่านี้จะได้รับการอัปเดตในลักษณะที่ไม่เป็นเชิงเส้นโดยใช้ตัวแปรควบคุม: INPUT BIT R, INPUT BIT S, CONTROL BIT R, CONTROL BIT S ดังที่กล่าวไว้ก่อนหน้านี้ การใช้งานการเข้ารหัสใดๆ...
ความแตกต่างกับ Trivium
แตกต่างจาก Trivium, MICKEY 2.0 [ 3 ] ไม่อนุญาตให้โหลดบิต Key และ IV ลงในรีจิสเตอร์สถานะโดยตรง ดังที่กล่าวไว้ก่อนหน้านี้ ในขั้นต้น รีจิสเตอร์ R และ S จะถูกกำหนดค่าเริ่มต้นเป็นสถานะศูนย์ทั้งหมด จากนั้นจะใช้ IV ที่มีความยาวแปรผันและ Key 80...