Ada berbagai metode enkripsi yang dapat Anda gunakan untuk mengamankan lalu lintas Anda, dan masing-masing memiliki penggunaan daya yang sedikit berbeda, jadi saya akan memilih beberapa pilihan populer. Metodologi yang saya gunakan untuk mengevaluasi setiap metode harus dapat diterapkan pada cipher lain yang Anda temukan dan ingin dibandingkan.
AES
AES adalah salah satu algoritma enkripsi kunci simetris yang paling populer (yang berarti Anda menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi). Dalam hal keamanan, AES adalah taruhan yang aman:
Kriptanalisis publik terbaik
Serangan telah dipublikasikan yang secara komputasi lebih cepat daripada serangan brute force penuh, meskipun tidak ada pada tahun 2013 yang layak secara komputasi.
- Wikipedia
Makalah Biclique Cryptanalysis dari AES Penuh menggambarkan bahwa AES-128 membutuhkan 2 operasi 126,1 , AES-192 membutuhkan 2 operasi 189,7 , dan AES-256 membutuhkan 2 254,4 operasi untuk dipecahkan. Pada prosesor 2,9 GHz, dengan asumsi setiap 'operasi' adalah 1 siklus CPU (mungkin tidak benar), memecahkan AES-128 akan memakan waktu sangat lama . Dengan 10.000 dari mereka berjalan, masih akan memakan waktu hampir selamanya . Jadi, keamanan bukanlah masalah di sini; mari kita perhatikan aspek kekuatannya.
Makalah ini menunjukkan (pada halaman 15) bahwa mengenkripsi blok dengan AES digunakan 351 pJ. Saya akan membandingkan ini nanti setelah berbicara tentang beberapa algoritma umum lainnya.
SIMON
Saya mengajukan pertanyaan tentang SIMON dan SPECK sebelumnya, yang patut dibaca. Di mana SIMON unggul dalam situasi di mana Anda perlu mengenkripsi sedikit data, sering . Makalah yang saya tautkan sebelumnya menyatakan bahwa SIMON 64/96 menggunakan 213 pJ untuk 64 bit, yang praktis ketika Anda hanya perlu mengirim 32 bit payload.
SIMON 64/96 secara signifikan lebih mudah dipatahkan daripada AES; makalah yang saya tautkan menyarankan operasi 2 63,9 , sehingga pengaturan CPU 10.000 kami dapat memecahkan enkripsi hanya dalam beberapa tahun , yang bertentangan dengan jutaan milenium.
Apakah itu penting?
Pada tingkat yang Anda rencanakan untuk ditransmisikan, jawabannya hampir pasti tidak ; penggunaan energi dari kriptografi akan sepenuhnya diabaikan. Untuk AES, Anda akan menggunakan 50 544 pJ per hari , jadi baterai AA karbon-seng murah dengan energi 2340 J akan bertahan jauh melampaui masa pakai perangkat . Jika Anda mengevaluasi kembali perhitungan dengan SIMON, Anda akan merasakan bahwa masa pakainya juga sangat panjang
Singkatnya, kecuali jika Anda mentransmisikan sangat sering, radio jauh lebih mempedulikan daya . Wikipedia mengutip penggunaan daya antara 0,01 dan 0,5 W. Jika Anda mentransmisikan selama 1 detik pada 0,01 W , Anda telah menggunakan lebih banyak daya daripada yang dilakukan AES sepanjang hari .
Untuk BLE, Anda mungkin baik-baik saja hanya mengandalkan keamanan default; BLE menggunakan AES-CCM secara default untuk keamanan link-layer :
Enkripsi dalam Bluetooth dengan energi rendah menggunakan kriptografi AES-CCM. Seperti BR / EDR, LE Controller akan melakukan fungsi enkripsi. Fungsi ini menghasilkan data terenkripsi 128-bit dari kunci 128-bit dan 128-bit plaintextData menggunakan cipher blok AES-128-bit seperti yang didefinisikan dalam FIPS-1971.
Ada beberapa kekhawatiran bahwa ada kelemahan keamanan dengan implementasi BLE tentang keamanan link-layer; ini bukan cacat pada AES; bukan Bluetooth SIG memutuskan untuk memutar mekanisme pertukaran kunci mereka sendiri di 4.0 dan 4.1 . Masalah ini sekarang diselesaikan di 4.2 sebagai Elliptical Curve Hellman-Diffie sekarang didukung.