2013-03-15 17 views
5

Tôi cần một thuật toán mã hóa tốt cho vi điều khiển PIC. Sau một số googling, có vẻ như XXTEA là lựa chọn duy nhất, tuy nhiên, "XXTEA is vulnerable to a chosen-plaintext attack requiring 2^59 queries and negligible work".XXTEA là một thuật toán mã hóa tốt cho vi điều khiển PIC?

Tôi không giỏi về mật mã, vì vậy tôi muốn hỏi: tuyên bố ở trên chính xác như thế nào? Tôi có thể sử dụng XXTEA trong một ứng dụng bảo mật thương mại không? Nếu không, có bất kỳ thuật toán nào tôi có thể sử dụng cho hệ thống nhúng của mình không?

+0

Tại sao không sử dụng AES? – GameScripting

+2

http://crypto.stackexchange.com/questions/570/types-of-cryptography-for-a-4-8-bit-microcontroller có một cuộc thảo luận cấp cao. Bạn có bao nhiêu kỷ niệm? – Gilles

+0

@GameScripting: Tôi sử dụng 18F13K50 để bộ nhớ bị hạn chế. @ Gilles: cảm ơn, tôi có RAM 512KB, bộ nhớ chương trình phụ thuộc vào tính năng khác nhưng tôi đoán tôi có 2-3 KB – user2174870

Trả lời

11

Bạn không thể biết điều gì làm cho thuật toán mã hóa an toàn. Không ai biết điều gì làm cho thuật toán mã hóa an toàn. Điều tốt nhất chúng tôi có là "các thuật toán đã duy trì sự giám sát chặt chẽ từ hàng trăm nhà mật mã trong nhiều năm, và vẫn còn tương đối không bị tổn thương". Đây là trường hợp của AES, không phải cho XXTEA. Chúng tôi có thể lưu ý rằng cuộc tấn công vào XXTEA vẫn còn rất tốn kém, trên bờ vực khả thi và có thể không áp dụng cho hầu hết các tình huống "thương mại", nhưng vẫn còn, thuật toán này đã được chứng minh là không ổn định. Như vậy, nếu bạn coi trọng bảo mật của mình, đừng sáng tạo với mật mã của bạn; sử dụng các tiêu chuẩn được đánh giá tốt.

Tại sao bạn có muốn sử dụng XXTEA không? Nó làm gì cho bạn, AES không? Bạn có thể muốn có một cái nhìn tại this question cho một số gợi ý để triển khai AES cho một số vi điều khiển PIC.

(Tiêu chuẩn thiết kế chính của TEA và các dẫn xuất của nó như XXTEA là có nhỏ gọn mã nguồn, do đó nó có thể được học thuộc lòng và gõ lại trên máy tính. Đây không ngay lập tức dịch để chặt của biên soạn Mã số. (X *) Thuật toán TEA có xu hướng chậm và dựa vào các hoạt động 32 bit không phù hợp với vi điều khiển nhỏ.)

+0

Câu trả lời tuyệt vời! Một nit-pick là hai câu đầu tiên của bạn nên thực sự nói, "Bạn không thể biết _if_ một thuật toán mã hóa an toàn. Không ai biết _if một thuật toán cụ thể là an toàn." Một thuật toán an toàn là một thuật toán mà nó không khả thi về mặt tính toán để phá vỡ. Ngoài ra, một mật mã với một khóa cùng độ dài của văn bản thuần là không thể phá vỡ (chỉ là không thực tế). Nếu có bất kỳ sự lặp lại nào trong khóa thì mật mã là có thể phá vỡ, nhưng không nhất thiết phải tính toán khả thi. –

+0

cảm ơn Thomas, tôi sẽ xem xét những AES đó. Có lẽ tôi cần thay đổi IC cho AES – user2174870