Có nhiều phương pháp mã hóa bạn có thể sử dụng để bảo mật lưu lượng của mình và mỗi phương pháp có cách sử dụng năng lượng hơi khác nhau, vì vậy tôi sẽ chọn một vài lựa chọn phổ biến. Phương pháp tôi sử dụng để đánh giá từng phương pháp nên được áp dụng cho bất kỳ mật mã nào khác mà bạn tìm thấy và muốn so sánh.
AES
AES là một trong những thuật toán mã hóa khóa đối xứng phổ biến nhất (có nghĩa là bạn sử dụng cùng một khóa để mã hóa và giải mã). Về mặt bảo mật, AES là một đặt cược an toàn:
Giải mã công khai tốt nhất
Các cuộc tấn công đã được công bố là tính toán nhanh hơn so với một cuộc tấn công vũ phu hoàn toàn, mặc dù không có gì vào năm 2013 là khả thi về mặt tính toán.
- Wikipedia
Bản mã hóa biclique của AES đầy đủ mô tả rằng AES-128 yêu cầu 2 hoạt động 126.1 , AES-192 yêu cầu 2 189.7 hoạt động và AES-256 yêu cầu 2 hoạt động 254.4 để phá vỡ. Trên bộ xử lý 2.9 GHz, giả sử mỗi 'hoạt động' là 1 chu kỳ CPU (có thể không đúng), việc phá AES-128 sẽ mất nhiều thời gian . Với 10 000 trong số họ đang chạy, nó sẽ vẫn mất gần như mãi mãi . Vì vậy, an ninh không phải là một mối quan tâm ở đây; Hãy xem xét khía cạnh sức mạnh.
Bài viết này cho thấy (trên trang 15) rằng mã hóa một khối bằng AES được sử dụng 351 pJ. Tôi sẽ so sánh điều này một lát sau khi nói về một số thuật toán phổ biến khác.
SIMON
Tôi đã hỏi một câu hỏi về SIMON và SPECK trước đây, rất đáng để đọc. Trường hợp SIMON vượt trội là trong tình huống bạn cần mã hóa một chút dữ liệu, thường xuyên . Bài báo tôi đã liên kết trước đó nói rằng SIMON 64/96 sử dụng 213 pJ cho 64 bit, điều này rất thiết thực khi bạn chỉ cần gửi 32 bit tải trọng.
SIMON 64/96 dễ dàng phá vỡ hơn AES; bài báo tôi liên kết đề xuất 2 hoạt động 63.9 , vì vậy thiết lập CPU 10 000 của chúng tôi có thể phá vỡ mã hóa chỉ trong vài năm , trái ngược với hàng triệu thiên niên kỷ.
Thật sự nó có ảnh hưởng sao?
Với tốc độ bạn dự định truyền, câu trả lời gần như chắc chắn là không ; việc sử dụng năng lượng từ mật mã sẽ hoàn toàn không đáng kể. Đối với AES, bạn sẽ sử dụng 50 544 pJ mỗi ngày , do đó, pin AA carbon-kẽm giá rẻ với năng lượng 2340 J sẽ vượt xa tuổi thọ của thiết bị . Nếu bạn đánh giá lại các tính toán với SIMON, bạn sẽ thấy rằng nó cũng có tuổi thọ rất dài
Nói tóm lại, trừ khi bạn truyền phát rất thường xuyên, đài phát thanh quan tâm nhiều hơn đến quyền lực . Wikipedia trích dẫn mức sử dụng năng lượng trong khoảng từ 0,01 đến 0,5 W. Nếu bạn truyền trong 1 giây ở 0,01 W , bạn đã sử dụng nhiều năng lượng hơn AES trong cả ngày .
Tuy nhiên, đối với BLE, có lẽ bạn chỉ cần dựa vào bảo mật mặc định; BLE sử dụng AES-CCM theo mặc định để bảo mật lớp liên kết :
Mã hóa trong Bluetooth với năng lượng thấp sử dụng mật mã AES-CCM. Giống như BR / EDR, Bộ điều khiển LE sẽ thực hiện chức năng mã hóa. Hàm này tạo ra mã hóa 128 bit từ khóa 128 bit và plaintextData 128 bit bằng cách sử dụng bộ mã hóa khối AES-128 bit như được định nghĩa trong Trin-1971.
Có một số lo ngại rằng có những lỗi bảo mật với việc triển khai bảo mật lớp liên kết của BLE; đây không phải là một lỗ hổng trong AES; thay vì Bluetooth SIG quyết định tung ra cơ chế trao đổi khóa của riêng họ trong 4.0 và 4.1 . Vấn đề hiện được giải quyết trong 4.2 vì Hellman-Diffie đường cong Elliptical hiện được hỗ trợ.