อะไรทำให้ SPECK และ SIMON เหมาะสมเป็นพิเศษสำหรับอุปกรณ์ IoT


12

สำหรับอุปกรณ์ IoT บางตัวข้อมูลที่ต้องส่งเป็นความลับและด้วยเหตุนี้การส่งข้อมูลด้วยข้อความธรรมดาจึงไม่เป็นที่ยอมรับ ดังนั้นฉันได้พิจารณาวิธีการเข้ารหัสข้อมูลที่ส่งระหว่างอุปกรณ์ IoT บทความที่ฉันเพิ่งอ่านบนเว็บไซต์RFID Journalกล่าวถึงรหัสที่ได้รับการพัฒนาโดย NSA SPECKและSIMON ciphers โดยเฉพาะอย่างยิ่งเหมาะกับแอปพลิเคชัน IoT:

NSA กำลังทำให้ระบบรหัส [... ] เป็นแบบสาธารณะโดยไม่มีค่าใช้จ่ายซึ่งเป็นส่วนหนึ่งของความพยายามในการรับรองความปลอดภัยใน Internet of Things (IOT) ซึ่งอุปกรณ์ต่าง ๆ กำลังแบ่งปันข้อมูลกับผู้อื่นบนอินเทอร์เน็ต

[ ... ]

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

เหตุใดฉันจึงควรเลือกอัลกอริทึมที่ใหม่กว่าเช่น SIMON หรือ SPECK สำหรับอุปกรณ์ IoT ของฉันโดยเฉพาะอย่างยิ่งสำหรับแอปพลิเคชันที่มีข้อ จำกัด ด้านพลังงาน (เช่นพลังงานแบตเตอรี่เท่านั้น) ประโยชน์ที่ได้รับเมื่อเทียบกับระบบการเข้ารหัสอื่น ๆ เช่นAESคืออะไร

คำตอบ:


7

ใน"The Simon and Speck Block Ciphers บนตัวควบคุมไมโครคอนโทรลเลอร์ AVR 8 บิต" Beaulieu et al. ตรวจสอบการใช้ SIMON และ SPECK บนไมโครคอนโทรลเลอร์ 8 บิตต่ำสุดและเปรียบเทียบประสิทธิภาพกับไซเฟอร์อื่น ๆ Atmel ATmega128 ใช้กับหน่วยความจำแฟลชที่ตั้งโปรแกรมได้ 128 Kbytes, 4 Kbytes ของ SRAM และลงทะเบียนวัตถุประสงค์ทั่วไป 32 บิต 32 บิต

มีการเปรียบเทียบการปรับใช้การเข้ารหัสสามแบบ:

  1. แรมกลบเกลื่อน

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

  2. สูง throughput / พลังงานต่ำ

    การใช้งานเหล่านี้รวมถึงการกำหนดเวลาที่สำคัญและการคัดลอกฟังก์ชั่นรอบในการเข้ารหัสเพื่อให้ได้ปริมาณงานที่เพียงพอภายใน 3% ของการใช้งานที่ไม่ได้ควบคุมอย่างเต็มที่ กุญแจที่เก็บในแฟลชใช้เพื่อสร้างปุ่มกลมซึ่งจะถูกเก็บไว้ใน RAM ในภายหลัง

  3. แฟลชการลด

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


เพื่อเปรียบเทียบ cyphers ที่แตกต่างกันจะใช้การวัดประสิทธิภาพ - อันดับ - อันดับเป็นสัดส่วนกับปริมาณงานหารด้วยการใช้หน่วยความจำ

SPECK อยู่ในอันดับต้น ๆ สำหรับทุกบล็อคและขนาดของคีย์ที่รองรับ ยกเว้นขนาดบล็อก 128- บิต SIMON อันดับที่สองสำหรับบล็อกและขนาดคีย์ทั้งหมด

...

ไม่น่าแปลกใจที่ AES-128 นั้นมีประสิทธิภาพที่ดีมากในแพลตฟอร์มนี้แม้ว่าจะเป็นบล็อกและขนาดคีย์เดียวกัน SPECK ก็มีประสิทธิภาพเป็นสองเท่า สำหรับขนาดคีย์เดียวกัน แต่ด้วยขนาดบล็อก 64 บิต SIMON และ SPECK จะได้รับประสิทธิภาพโดยรวมที่ดีกว่า AES สองถึงสี่เท่า

การเปรียบเทียบ SPECK 128/128 ถึง AES-128 ผู้เขียนพบว่า footprint หน่วยความจำของ SPECK ลดลงอย่างมีนัยสำคัญ (460 bytes เทียบกับ 970 bytes) ในขณะที่ปริมาณงานลดลงเพียงเล็กน้อย (171 รอบ / byte เทียบกับ 146 รอบ / byte) ดังนั้นประสิทธิภาพของ SPECK (ในตัวชี้วัดที่เลือก) จึงสูงกว่า AES เมื่อพิจารณาว่าความเร็วมีความสัมพันธ์กับการใช้พลังงานผู้เขียนสรุปว่า "AES-128 อาจเป็นทางเลือกที่ดีกว่าสำหรับการใช้งานด้านพลังงานที่สำคัญกว่า SPECK 128/128 บนแพลตฟอร์มนี้" อย่างไรก็ตามผู้เขียนไม่แน่ใจว่าการใช้งาน RAM อย่างหนัก (การใช้งาน AES ความเร็วสูง) นั้นประหยัดพลังงานมากกว่าการใช้งาน SPECK หรือไม่ ไม่ว่าในกรณีใดการลดลงอย่างมากของการใช้หน่วยความจำแฟลชสามารถทำได้ซึ่งอาจมีความเกี่ยวข้องกับไมโครคอนโทรลเลอร์ระดับล่าง

หากแอปพลิเคชันต้องการความเร็วสูงและการใช้หน่วยความจำไม่ใช่ลำดับความสำคัญ AES มีการนำไปใช้ที่เร็วที่สุด (ใช้แฟลช 1912 ไบต์, RAM 432 ไบต์) ในกลุ่มบล็อกทั้งหมดที่มีบล็อกและคีย์ 128 บิตที่เราทราบ ค่าใช้จ่ายเพียง 125 รอบ / ไบต์ คู่แข่ง AES ที่ใกล้เคียงที่สุดคือ SPECK 128/128 โดยมีค่าใช้จ่าย 138 รอบ / ไบต์สำหรับการใช้งานที่ไม่ได้ควบคุมอย่างสมบูรณ์ เนื่องจากความเร็วมีความสัมพันธ์กับการใช้พลังงาน AES-128 อาจเป็นตัวเลือกที่ดีกว่าสำหรับการใช้งานด้านพลังงานที่สำคัญกว่า SPECK 128/128 บนแพลตฟอร์มนี้ อย่างไรก็ตามหากไม่จำเป็นต้องใช้บล็อก 128- บิตเนื่องจากเราอาจคาดหวังว่าแอปพลิเคชั่นจำนวนมากในไมโครคอนโทรลเลอร์ 8 บิตจะเป็นทางออกที่ประหยัดพลังงานมากขึ้น (ใช้แฟลช 628 ไบต์, 108 ไบต์ RAM) เป็น SPECK 64/128 พร้อม ขนาดคีย์เดียวกันกับ AES-128 และค่าใช้จ่ายการเข้ารหัสเพียง 122 รอบ / ไบต์


นอกจากนี้การพูดคุยนี้มีรูปปริศนาอยู่ในนั้นใครสามารถต้านทานไซเฟอร์ที่อ้างถึงปริศนา ?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.