2013-03-15 13 views
5

Potrzebuję dobrego algorytmu szyfrowania dla mikrokontrolera PIC. Po pewnym uruchomieniu go, wydaje się, że XXTEA jest jedyną opcją, jednak "XXTEA is vulnerable to a chosen-plaintext attack requiring 2^59 queries and negligible work".Czy XXTEA jest dobrym algorytmem szyfrowania mikrokontrolera PIC?

Nie jestem dobry w kryptografii, więc chciałbym zapytać: jak dokładne jest powyższe stwierdzenie? Czy mogę użyć XXTEA w komercyjnej aplikacji zabezpieczającej? Jeśli nie, czy istnieje jakiś dostępny algorytm, którego mógłbym użyć dla mojego systemu wbudowanego?

+0

Dlaczego nie stosować AES? – GameScripting

+2

http://crypto.stackexchange.com/questions/570/types-of-cryptography-for-a-4-8-bit-microcontroller prowadzi dyskusję na wysokim szczeblu. Ile masz pamięci? – Gilles

+0

@GameScripting: Używam 18F13K50, więc ma ograniczoną pamięć. @ Gilles: dzięki, mam 512KB RAM, pamięć programu zależy od innych funkcji, ale myślę, że mam 2-3 KB – user2174870

Odpowiedz

11

Nie możesz wiedzieć, co sprawia, że ​​algorytm szyfrowania jest bezpieczny. Nikt nie wie, co sprawia, że ​​algorytm szyfrowania jest bezpieczny. Najlepsze, jakie mamy, to "algorytmy, które przez wiele lat były poddawane wnikliwej analizie od setek kryptografów i nadal są względnie nietknięte". Jest tak w przypadku AES, a nie XXTEA. Możemy zauważyć, że atak na XXTEA jest nadal bardzo kosztowny, na granicy wykonalności i prawdopodobnie nie ma zastosowania do większości "komercyjnych" sytuacji, ale mimo to ten algorytm został wykazany jako niestabilny. W związku z tym, jeśli cenisz swoje bezpieczeństwo, nie twórz kreatywności z kryptografią; użyj dobrze sprawdzonych standardów.

Dlaczego chcesz używać XXTEA? Co on robi, że AES tego nie robi? Możesz zajrzeć do this question po kilka wskazówek do implementacji AES dla niektórych mikrokontrolerów PIC.

(Głównym kryterium projektowym TEA i jego pochodne, takie jak XXTEA było mieć zwartą kod źródłowy, tak, że może się nauczyć na pamięć i wpisane ponownie na komputerze. To nie od razu przekłada się na zwartość skompilowany kod. (X *) Algorytmy TEA są powolne i polegają na 32-bitowych operacjach, które źle pasują do małych mikrokontrolerów.)

+0

Świetna odpowiedź! Jednym z nich jest to, że twoje pierwsze dwa zdania powinny naprawdę powiedzieć: "Nie możesz znać _if_ bezpiecznego algorytmu szyfrowania, nikt nie wie, czy dany algorytm jest bezpieczny". Bezpieczny algorytm to taki, w którym niemożliwe jest obliczeniowo złamanie. Szyfr z kluczem o takiej samej długości zwykłego tekstu jest nie do złamania (po prostu nie jest praktyczny). Jeśli w kluczu jest powtórzenie, szyfr jest łamliwy, ale niekoniecznie obliczalny. –

+0

dzięki Thomas, będę patrzeć na te AES. Może potrzebuję zmienić IC dla AES – user2174870