Chính xác thì điều gì làm cho SpecK và SIMON đặc biệt phù hợp với các thiết bị IoT?


12

Đối với một số thiết bị IoT, dữ liệu cần gửi là bí mật và do đó việc gửi nó dưới dạng văn bản thuần túy không được chấp nhận. Do đó, tôi đã xem xét cách mã hóa dữ liệu được gửi giữa các thiết bị IoT. Một bài báo tôi mới đọc trên trang web Tạp chí RFID có đề cập đến các mật mã SpecKSIMON do NSA phát triển đặc biệt phù hợp với các ứng dụng IoT:

NSA đang cung cấp các mật mã [...] công khai miễn phí, như một phần trong nỗ lực đảm bảo an ninh trên Internet of Things (IOT), trong đó các thiết bị đang chia sẻ dữ liệu với những người khác trên Internet.

[...]

Các nhà nghiên cứu của NSA đã phát triển SIMON và SPECK như một sự cải tiến về thuật toán mã hóa khối đã được sử dụng, trong hầu hết các trường hợp, được thiết kế cho máy tính để bàn hoặc các hệ thống rất chuyên dụng

Tại sao tôi nên chọn một thuật toán mới hơn như SIMON hoặc SPECK cho thiết bị IoT của mình, đặc biệt là đối với các ứng dụng bị hạn chế nguồn điện (ví dụ: chỉ sử dụng pin)? Lợi ích so với các hệ thống mã hóa khác như AES là gì?

Câu trả lời:


7

Trong "Mật mã khối Simon và Speck trên bộ vi điều khiển 8 bit AVR" Beaulieu et al. điều tra việc triển khai SIMON và SPECK trên bộ vi điều khiển 8 bit cấp thấp và so sánh hiệu năng với các cyphers khác. Một Atmel ATmega128 được sử dụng với bộ nhớ flash có thể lập trình 128 Kbyte, 4 Kbyte SRAM và ba mươi hai thanh ghi mục đích chung 8 bit.

Ba triển khai mã hóa được so sánh:

  1. Giảm thiểu RAM

    Những triển khai này tránh sử dụng RAM để lưu trữ các phím tròn bằng cách đưa các phím tròn được mở rộng trước vào bộ nhớ chương trình flash. Không có lịch trình khóa nào được đưa vào để cập nhật khóa mở rộng này, làm cho các triển khai này phù hợp với các ứng dụng có khóa tĩnh.

  2. Thông lượng cao / năng lượng thấp

    Các triển khai này bao gồm lịch biểu chính và hủy đăng ký đủ các chức năng của vòng trong quy trình mã hóa để đạt được thông lượng trong khoảng 3% so với triển khai chưa được kiểm soát hoàn toàn. Khóa, được lưu trữ trong flash, được sử dụng để tạo các phím tròn được lưu trữ sau đó trong RAM.

  3. Giảm thiểu flash

    Lịch trình chính được bao gồm ở đây. Giới hạn về không gian có nghĩa là chúng tôi chỉ có thể cung cấp một mô tả không đầy đủ về các triển khai này. Tuy nhiên, cần lưu ý rằng hai loại triển khai trước đó đã có kích thước mã rất khiêm tốn.


Để so sánh các cyphers khác nhau, một phép đo hiệu suất hiệu suất - thứ hạng - được sử dụng. Thứ hạng tỷ lệ thuận với thông lượng chia cho mức sử dụng bộ nhớ.

SpecK xếp ở vị trí hàng đầu cho mọi khối và kích thước khóa mà nó hỗ trợ. Ngoại trừ kích thước khối 128 bit, SIMON đứng thứ hai cho tất cả các kích thước khối và khóa.

...

Không có gì đáng ngạc nhiên, AES-128 có hiệu suất rất tốt trên nền tảng này, mặc dù với cùng một khối và kích thước khóa, SPECK có hiệu suất gấp đôi. Với cùng kích thước khóa nhưng với kích thước khối 64 bit, SIMON và SPECK đạt được hiệu suất tổng thể tốt hơn gấp hai và bốn lần so với AES.

So sánh SpecK 128/128 với AES-128, các tác giả nhận thấy rằng dung lượng bộ nhớ của SpecK giảm đáng kể (460 byte so với 970 byte) trong khi thông lượng chỉ giảm nhẹ (171 chu kỳ / byte so với 146 chu kỳ / byte). Do đó, hiệu suất của SpecK (trong số liệu được chọn) cao hơn AES. Xem xét rằng tốc độ có tương quan với mức tiêu thụ năng lượng, các tác giả kết luận rằng "AES-128 có thể là lựa chọn tốt hơn trong các ứng dụng quan trọng về năng lượng so với ĐẶC BIỆT 128/128 trên nền tảng này." Tuy nhiên, các tác giả không chắc chắn liệu sử dụng nhiều truy cập RAM (triển khai AES tốc độ cao) có hiệu quả năng lượng hơn so với triển khai SpecK dựa trên đăng ký hay không. Trong cả hai trường hợp, việc giảm đáng kể việc sử dụng bộ nhớ flash có thể đạt được có thể liên quan đến các bộ vi điều khiển cấp thấp.

Nếu một ứng dụng yêu cầu tốc độ cao và việc sử dụng bộ nhớ không phải là ưu tiên, AES có triển khai nhanh nhất (sử dụng 1912 byte flash, RAM 432 byte) trong số tất cả các thuật toán mã khối với khối và khóa 128 bit mà chúng tôi biết, với chi phí chỉ 125 chu kỳ / byte. Đối thủ cạnh tranh AES gần nhất là ĐẶC BIỆT 128/128, với chi phí 138 chu kỳ / byte cho việc triển khai hoàn toàn không được kiểm soát. Vì tốc độ tương quan với mức tiêu thụ năng lượng, AES-128 có thể là lựa chọn tốt hơn trong các ứng dụng quan trọng về năng lượng so với ĐẶC BIỆT 128/128 trên nền tảng này. Tuy nhiên, nếu không yêu cầu khối 128 bit, như chúng ta có thể mong đợi cho nhiều ứng dụng trên vi điều khiển 8 bit, thì giải pháp tiết kiệm năng lượng hơn (sử dụng flash flash byte byte, RAM 108 byte) là 64/128 cùng kích thước khóa với AES-128 và chi phí mã hóa chỉ 122 chu kỳ / byte,


Ngoài ra, bài nói chuyện này có một nhân vật Enigma trong đó, ai có thể chống lại một cypher tham chiếu Enigma ?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.