กลับไปหน้าบทความ

อ่าน 5 นาที

ไซมอน (รหัสลับ)

Simon เป็นตระกูลของ อัลกอริทึมการเข้ารหัสแบบบล็อก น้ำหนักเบา ที่เผยแพร่สู่สาธารณะโดย สำนักงานความมั่นคงแห่งชาติ (NSA) ในเดือนมิถุนายน พ.ศ.

ไซมอน (รหัสลับ)

ไซมอน
ไซมอนหนึ่งรอบ
ทั่วไป
นักออกแบบเรย์ บิวลิเยอ, ดักลาส ชอร์ส, เจสัน สมิธ, สเตฟาน ทรีทแมน-คลาร์ก, ไบรอัน วีคส์, หลุยส์ วิงเกอร์ส NSA
เผยแพร่ครั้งแรก2013 [ 1 ]
เกี่ยวข้องกับจุด
รายละเอียดรหัสลับ
ขนาดกุญแจ64, 72, 96, 128, 144, 192 หรือ 256 บิต
ขนาดบล็อก32, 48, 64, 96 หรือ 128 บิต
โครงสร้างเครือข่าย Feistelที่สมดุล
รอบ32, 36, 42, 44, 52, 54, 68, 69 หรือ 72 (ขึ้นอยู่กับขนาดบล็อกและขนาดคีย์)
ความเร็ว7.5 cpb (21.6 หากไม่ใช้SSE ) บน Intel Xeon 5640 (Simon128/128)
บริการวิเคราะห์รหัสลับสาธารณะที่ดีที่สุด
การวิเคราะห์การเข้ารหัสแบบดิฟเฟอเรนเชียลสามารถถอดรหัส Simon128/128 ได้ 46 รอบ โดยใช้ข้อมูล 2 125.6 ไบต์ หน่วยความจำ 2 40.6ไบต์ และความซับซ้อนของเวลา 2 125.7โดยมีอัตราความสำเร็จ 0.632 [ 2 ] [ 3 ] [ 4 ]

Simonเป็นตระกูลของอัลกอริทึมการเข้ารหัสแบบบล็อก น้ำหนักเบา ที่เผยแพร่สู่สาธารณะโดยสำนักงานความมั่นคงแห่งชาติ (NSA) ในเดือนมิถุนายน พ.ศ. 2556 [ 5 ] [ 1 ] Simon ได้รับการปรับให้เหมาะสมสำหรับประสิทธิภาพในการใช้งานฮาร์ดแวร์ ในขณะที่อัลกอริทึมพี่น้องอย่างSpeckได้รับการปรับให้เหมาะสมสำหรับการใช้งานซอฟต์แวร์[ 6 ] [ 7 ]

NSA เริ่มพัฒนาการเข้ารหัส Simon และ Speck ในปี 2011 หน่วยงานคาดการณ์ว่าหน่วยงานบางแห่งในรัฐบาลกลางสหรัฐฯ จะต้องการการเข้ารหัสที่ทำงานได้ดีกับ อุปกรณ์ Internet of Things ที่หลากหลาย ในขณะที่ยังคงรักษาความปลอดภัยในระดับที่ยอมรับได้[ 8 ]

คำอธิบายของรหัสลับ

รหัสบล็อก Simon เป็นรหัส Feistel ที่สมดุล ที่มี คำขนาด nบิต ดังนั้นความยาวบล็อกจึงเป็น 2n ความยาวของคีย์เป็นพหุคูณของnโดย 2, 3 หรือ 4 ซึ่งก็คือค่าmดังนั้นการใช้งานรหัส Simon จึงแสดงเป็น Simon2n / nm ตัวอย่างเช่น Simon64/128 หมายถึงรหัสที่ทำงานกับบล็อกข้อความธรรมดาขนาด 64 บิต ( n  = 32) ที่ใช้คีย์ขนาด 128 บิต[ 1 ]ส่วนประกอบบล็อกของรหัสจะเหมือนกันระหว่างการใช้งาน Simon แต่ตรรกะการสร้างคีย์จะขึ้นอยู่กับการใช้งานคีย์ 2, 3 หรือ 4

Simon รองรับชุดค่าผสมของขนาดบล็อก ขนาดคีย์ และจำนวนรอบดังต่อไปนี้: [ 1 ]

ขนาดบล็อก (บิต) ขนาดคีย์ (บิต) รอบ
32 64 32
48 72 36
96 36
64 96 42
128 44
96 96 52
144 54
128 128 68
192 69
256 72

คำอธิบายตารางกำหนดการหลัก

ให้ สัญลักษณ์ แทนการเลื่อนบิต แบบวงกลม ซ้าย

ตารางกำหนดการหลักนั้นสามารถอธิบายได้ทางคณิตศาสตร์ดังนี้

โครงสร้างกำหนดการหลักอาจจะสมดุลหรือไม่สมดุลก็ได้ จำนวนคำหลักจะถูกใช้เพื่อกำหนดโครงสร้างของการขยายคำหลัก ส่งผลให้ความกว้างบิตทั้งหมดเป็น การขยายคำหลักประกอบด้วยการเลื่อนไปทางขวา XOR และลำดับคงที่บิตจะดำเนินการกับบิตต่ำสุดของคำหลักหนึ่งครั้งต่อรอบ[ 7 ]

คำอธิบายของลำดับคงที่

ลำดับค่าคง ที่ ถูกสร้างขึ้นโดยรีจิสเตอร์เลื่อนป้อนกลับเชิงเส้น ( LFSR ) ลำดับตรรกะของบิตคงที่ถูกกำหนดโดยค่าของคีย์และขนาดบล็อก LFSR ถูกสร้างขึ้นโดยฟิลด์ 5 บิต บิตคงที่ทำงานกับบล็อกคีย์หนึ่งครั้งต่อรอบในบิตต่ำสุดเพื่อเพิ่มเอนโทรปีที่ไม่ขึ้นอยู่กับคีย์ให้กับตารางคีย์ LFSR มีตรรกะที่แตกต่างกันสำหรับแต่ละ ลำดับ อย่างไรก็ตาม เงื่อนไขเริ่มต้นจะเหมือนกันสำหรับการเข้ารหัส เงื่อนไขเริ่มต้นของ LFSR สำหรับการถอดรหัสจะแตกต่างกันไปในแต่ละรอบ

ลำดับคงที่

การวิเคราะห์รหัส

นักออกแบบอ้างว่า Simon แม้จะเป็นรหัสลับ "น้ำหนักเบา" แต่ได้รับการออกแบบให้มีความปลอดภัยสูงสุดเท่าที่จะเป็นไปได้สำหรับแต่ละบล็อกและขนาดคีย์ เพื่อป้องกัน การโจมตี แบบเลือกข้อความธรรมดา (CPA)และ การโจมตี แบบเลือกข้อความเข้ารหัส (CCA)มาตรฐาน ความต้านทานต่อการโจมตีแบบคีย์ที่เกี่ยวข้องก็ถูกระบุว่าเป็นเป้าหมายเช่นกัน แม้ว่าจะมีความสำคัญน้อยกว่า เนื่องจากการโจมตีในรูปแบบนั้นไม่เกี่ยวข้องกับกรณีการใช้งานทั่วไป[ 9 ] : 2 ไม่มีการพยายามต้านทานการโจมตีใน รูปแบบ การโจมตีแบบแยกแยะคีย์ที่รู้จักและนักออกแบบก็ไม่ได้ประเมิน Simon สำหรับการใช้งานเป็นฟังก์ชันแฮ[ 10 ]

ณ ปี 2018 ยังไม่มีการโจมตี Simon แบบเต็มรอบที่ประสบความสำเร็จในรูปแบบใดๆ เนื่องจากความสนใจใน Simon และ Speck จึงมีการตีพิมพ์เอกสารเกี่ยวกับการวิเคราะห์การเข้ารหัสประมาณ 70 ฉบับ[ 9 ] : 10 เช่นเดียวกับการเข้ารหัสแบบวนซ้ำทั่วไปรูปแบบที่ลดรอบลงก็ถูกโจมตีได้สำเร็จ การโจมตีที่ดีที่สุดที่ตีพิมพ์เกี่ยวกับ Simon ในแบบจำลองการโจมตีมาตรฐาน (CPA/CCA ที่มีคีย์ที่ไม่ทราบ) คือ การโจมตี การวิเคราะห์การเข้ารหัสแบบดิฟเฟอเรนเชียลการโจมตีเหล่านี้สามารถผ่านรอบได้ประมาณ 70–75% ของรูปแบบส่วนใหญ่ ถึงแม้ว่าการโจมตีที่ดีที่สุดเหล่านี้จะเร็วกว่าการโจมตีแบบ Brute-force เพียงเล็กน้อยก็ตาม[ 11 ] [ 12 ] [ 13 ] [ 9 ] : 12ทีม ออกแบบระบุว่าในระหว่างการออกแบบ Simon พวกเขาพบว่าการโจมตีแบบดิฟเฟอเรนเชียลเป็นการโจมตีที่จำกัด กล่าวคือเป็นประเภทของการโจมตีที่สามารถผ่านรอบได้มากที่สุด จากนั้นพวกเขาก็กำหนดจำนวนรอบเพื่อให้มีขอบเขตความปลอดภัยที่คล้ายกับAES-128ประมาณ 30% [ 9 ] : 12–13

วิธีโจมตี Simon ที่รู้จักกันดีที่สุด (ในแบบจำลองการโจมตีมาตรฐาน)
ตัวแปร รอบโจมตี ความซับซ้อนเชิงเวลา ความซับซ้อนของข้อมูล ประเภทการโจมตี
ไซมอน128/256 53/72 (74%) 2 2482 127.6เปลือกเชิงเส้น[ 11 ]
ไซมอน128/192 51/69 (74%) 2 1842 127.6เปลือกเชิงเส้น[ 11 ]
ไซมอน128/128 49/68 (72%) 2 1202 127.6เปลือกเชิงเส้น[ 11 ]
ไซมอน96/144 38/54 (70%) 2 1362 95.2เปลือกเชิงเส้น[ 11 ]
ไซมอน96/96 37/52 (71%) 2 882 95.2เปลือกเชิงเส้น[ 11 ]
ไซมอน64/128 31/44 (70%) 2 1202 63.5เปลือกเชิงเส้น[ 11 ]
ไซมอน64/96 30/42 (71%) 2 882 63.5เปลือกเชิงเส้น[ 11 ]
ไซมอน48/96 25/36 (69%) 2 802 47.9เปลือกเชิงเส้น[ 11 ]
ไซมอน48/72 24/36 (67%) 2 562 47.9เปลือกเชิงเส้น[ 11 ]
ไซมอน32/64 24/32 (75%) 2 632 32อินทิกรัล[ 12 ]

Simon ถูกวิพากษ์วิจารณ์ว่ามีขอบเขตความปลอดภัยน้อยเกินไป กล่าวคือ มีรอบน้อยเกินไประหว่างการโจมตีที่ดีที่สุดกับการเข้ารหัสแบบสมบูรณ์ เมื่อเทียบกับการเข้ารหัสแบบอนุรักษ์นิยมมากกว่า เช่นChaCha20 [ 14 ] การ เข้ารหัสที่มีขอบเขตความปลอดภัยน้อยมีแนวโน้มที่จะถูกถอดรหัสได้ง่ายขึ้นด้วยความก้าวหน้าในการวิเคราะห์การเข้ารหัส ในอนาคต ทีมออกแบบของ Simon โต้แย้งว่ามีต้นทุนในโลกแห่งความเป็นจริงสำหรับขอบเขตความปลอดภัยที่มากเกินไปโดยไม่จำเป็น โดยเฉพาะอย่างยิ่งในอุปกรณ์ที่มีน้ำหนักเบา การวิเคราะห์การเข้ารหัสในระหว่างขั้นตอนการออกแบบทำให้สามารถกำหนดจำนวนรอบได้อย่างเหมาะสม และพวกเขากำหนดเป้าหมายที่ขอบเขตความปลอดภัยของ AES [ 9 ] : 17

Simon มีตัวนับรอบในตารางคีย์นักออกแบบระบุว่ามีการรวมสิ่งนี้ไว้เพื่อป้องกันการโจมตีการเข้ารหัสแบบสไลด์และ การหมุน [ 9 ] : 16 อย่างไรก็ตาม การเข้ารหัสแบบหมุน XOR ได้ถูกนำมาใช้เพื่อค้นหาตัวแยกแยะกับเวอร์ชันรอบที่ลดลงของการเข้ารหัสที่เกี่ยวข้อง เช่น Speck [ 15 ]แม้ว่าผู้เขียนจะไม่ได้อธิบายการโจมตีการกู้คืนคีย์มาตรฐานโดยอิงจากตัวแยกแยะของพวกเขา แต่ตัวแยกแยะที่ดีที่สุดของพวกเขาบน Simon32 และ Simon48 ในแบบจำลองการโจมตีการแยกแยะคีย์ที่รู้จักสำหรับ คลาส คีย์ที่อ่อนแอ บางคลาส สามารถผ่านรอบได้มากกว่าตัวแยกแยะความแตกต่างที่ดีที่สุดเล็กน้อย ผู้เขียนคนหนึ่งกล่าวว่าการวิจัยของเขามีข้อจำกัดด้านทรัพยากร และตัวแยกแยะแบบหมุน XOR ในรอบที่มากขึ้นน่าจะเป็นไปได้ นักออกแบบยังระบุด้วยว่า Simon ไม่ได้ออกแบบมาเพื่อต้านทานการโจมตีการแยกแยะคีย์ที่รู้จัก (ซึ่งไม่ได้กระทบต่อความลับของการเข้ารหัสโดยตรง) [ 10 ] : 8

นักออกแบบระบุว่าการวิเคราะห์การเข้ารหัสของ NSA พบว่าอัลกอริทึมไม่มีจุดอ่อน และมีความปลอดภัยที่สอดคล้องกับความยาวของคีย์[ 8 ] : 2 ทีมออกแบบกล่าวว่าการวิเคราะห์การเข้ารหัสของพวกเขารวมถึงการวิเคราะห์การเข้ารหัสเชิงเส้นและเชิงอนุพันธ์โดยใช้เทคนิคมาตรฐาน เช่น อัลกอริทึมของ Matsui และตัวแก้ปัญหา SAT/SMT แม้ว่าจะไม่ได้ระบุรายการเทคนิคที่ใช้ทั้งหมดก็ตาม[ 9 ] : 10 นักออกแบบของ Simon ถูกวิพากษ์วิจารณ์ที่ไม่ให้รายละเอียดเพิ่มเติมเกี่ยวกับการวิเคราะห์การเข้ารหัสของ NSA [ 16 ]

NSA ได้อนุมัติ Simon128/256 และ Speck128/256 สำหรับการใช้งานในระบบรักษาความปลอดภัยแห่งชาติของสหรัฐอเมริกา แม้ว่า AES-256 จะยังคงแนะนำสำหรับการใช้งานที่ไม่จำกัดก็ตาม[ 17 ]

ความพยายามในการกำหนดมาตรฐานและข้อโต้แย้ง

ความพยายามเริ่มต้นในการกำหนดมาตรฐาน Simon และ Speck ล้มเหลวในการบรรลุเสียงข้างมากพิเศษขององค์การมาตรฐานสากล ( ISO) ตามที่กำหนดในกระบวนการ และรหัสลับเหล่านี้จึงไม่ได้รับการยอมรับ [ 18 ] [ 16 ]ผู้แทนผู้เชี่ยวชาญจากหลายประเทศ รวมถึงเยอรมนี ญี่ปุ่น และอิสราเอล คัดค้านความพยายามของ NSA ในการกำหนดมาตรฐานรหัสลับ Simon และSpeckโดยอ้างถึงความกังวลว่า NSA กำลังผลักดันให้มีการกำหนดมาตรฐานโดยรู้ถึงจุดอ่อนที่สามารถใช้ประโยชน์ได้ในรหัสลับเหล่านั้น จุดยืนนี้ขึ้นอยู่กับหลักฐานบางส่วนเกี่ยวกับจุดอ่อนในรหัสลับ การขาดความจำเป็นที่ชัดเจนในการกำหนดมาตรฐานของรหัสลับใหม่ และการมีส่วนร่วมก่อนหน้านี้ของ NSA ในการสร้างและส่งเสริมอัลกอริธึมการเข้ารหัสลับDual_EC_DRBG ที่มีช่องโหว่ [ 19 ] [ 20 ]

เพื่อตอบสนองต่อข้อกังวลดังกล่าว NSA ระบุว่าเอกสารวิเคราะห์ความปลอดภัยกว่า 70 ฉบับจากผู้เชี่ยวชาญด้านการเข้ารหัสชั้นนำของโลกหลายท่านสนับสนุนข้อสรุปของ NSA ที่ว่าอัลกอริทึมมีความปลอดภัย และ NSA ยืนยันว่าไม่ทราบถึงเทคนิคการวิเคราะห์การเข้ารหัสใด ๆ ที่จะทำให้ตนเองหรือบุคคลอื่นใดสามารถเจาะระบบ Simon หรือ Speck ได้

หลังจากความพยายามครั้งแรกในการกำหนดมาตรฐานรหัสลับล้มเหลว องค์กร ISO จึงได้กำหนดมาตรฐานรหัส Simon และ Speck ในกลุ่มงานอื่น ๆ ณ เดือนตุลาคม 2561 รหัส Simon และ Speck ได้รับการกำหนดมาตรฐานโดย ISO ให้เป็นส่วนหนึ่งของมาตรฐานอินเทอร์เฟซไร้สาย RFID คือ มาตรฐานสากล ISO/29167-21 (สำหรับ Simon) และมาตรฐานสากล ISO/29167-22 (สำหรับ Speck) ทำให้สามารถนำไปใช้งานโดยหน่วยงานเชิงพาณิชย์ได้

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Simon_(cipher)&oldid=1298504725 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไซมอน (รหัสลับ)

Simon เป็นตระกูลของ อัลกอริทึมการเข้ารหัสแบบบล็อก น้ำหนักเบา ที่เผยแพร่สู่สาธารณะโดย สำนักงานความมั่นคงแห่งชาติ (NSA) ในเดือนมิถุนายน พ.ศ.

คำอธิบายของรหัสลับ

รหัสบล็อก Simon เป็น รหัส Feistel ที่สมดุล ที่มี คำขนาด n บิต ดังนั้นความยาวบล็อกจึงเป็น 2n ความ ยาวของคีย์เป็นพหุคูณของ n โดย 2, 3 หรือ 4 ซึ่งก็คือค่า m ดังนั้นการใช้งานรหัส Simon จึงแสดงเป็น Simon2n / nm ตัวอย่าง เช่น Simon64/128...

คำอธิบายตารางกำหนดการหลัก

ให้ สัญลักษณ์ แทน การเลื่อน บิต แบบวงกลม ซ้าย เอส เจ {\displaystyle S^{j}} เจ {\displaystyle j}

การวิเคราะห์รหัส

นักออกแบบอ้างว่า Simon แม้จะเป็นรหัสลับ "น้ำหนักเบา" แต่ได้รับการออกแบบให้มีความปลอดภัยสูงสุดเท่าที่จะเป็นไปได้สำหรับแต่ละบล็อกและขนาดคีย์ เพื่อป้องกัน การโจมตี แบบเลือกข้อความธรรมดา (CPA) และ การโจมตี แบบเลือกข้อความเข้ารหัส (CCA) มาตรฐาน ความต้านทานต่อ...