Существует множество методов шифрования, которые вы можете использовать для защиты своего трафика, и у каждого из них немного другое потребление энергии, поэтому я выберу несколько популярных вариантов. Методология, которую я использую для оценки каждого метода, должна быть применима к любым другим шифрам, которые вы найдете и хотите сравнить.
AES
AES - один из самых популярных алгоритмов шифрования с симметричным ключом (что означает, что вы используете один и тот же ключ для шифрования и дешифрования). С точки зрения безопасности, AES является надежной ставкой:
Лучший публичный криптоанализ
Были опубликованы атаки, которые в вычислительном отношении быстрее, чем атака полным перебором, хотя по состоянию на 2013 г. ни одна из них не была осуществима в вычислительном отношении.
- Википедия
В документе Biclique Cryptanalysis Full AES описано, что AES-128 требует 2 126,1 операций, AES-192 требует 2 189,7 операций, а AES-256 требует 2 254,4 операций для прерывания. На процессоре с тактовой частотой 2,9 ГГц при условии, что каждая «операция» составляет 1 цикл ЦП (вероятно, не соответствует действительности), остановка AES-128 займет очень много времени . С 10 000 из них это будет продолжаться вечно . Итак, безопасность здесь не проблема; давайте рассмотрим аспект силы.
Эта статья показывает (на странице 15), что для шифрования блока с помощью AES используется 351 пДж. Я сравню это чуть позже после разговора о некоторых других распространенных алгоритмах.
SIMON
Я задавал вопрос о SIMON и SPECK ранее, который стоит прочитать. Превосходство SIMON происходит в ситуациях, когда вам часто приходится шифровать немного данных . В статье, которую я связал ранее, говорится, что SIMON 64/96 использует 213 пДж для 64 бит, что целесообразно, когда вам нужно только отправить 32 бита полезной нагрузки.
SIMON 64/96 значительно легче взломать, чем AES; статья, которую я связал, предлагает 2 63,9 операции, поэтому наша установка 10 000 ЦП может взломать шифрование всего за несколько лет , а не миллионы тысячелетий.
Это действительно имеет значение?
При скорости, которую вы планируете передавать, ответ почти наверняка нет ; использование энергии от криптографии будет совершенно незначительным. Для AES вы бы использовали 50 544 пДж в день , поэтому дешевая батарея типа АА с углеродом и цинком с энергией 2340 Дж продлилась бы намного дольше срока службы устройства . Если вы переоцените расчеты с SIMON, вы обнаружите, что он также имеет очень большой срок службы
Короче говоря, если вы не передаете очень часто, радио гораздо больше заботится о мощности . Википедия цитирует энергопотребление в диапазоне от 0,01 до 0,5 Вт. Если вы передаете в течение 1 секунды при 0,01 Вт , вы уже использовали больше энергии, чем AES за весь день .
Для BLE, тем не менее, вы, вероятно, хорошо, просто полагаясь на безопасность по умолчанию; BLE использует AES-CCM по умолчанию для безопасности канального уровня :
Шифрование в Bluetooth с низким энергопотреблением использует криптографию AES-CCM. Как и BR / EDR, контроллер LE будет выполнять функцию шифрования. Эта функция генерирует 128-битные encryptedData из 128-битного ключа и 128-битного открытого текста с использованием 128-битного блочного шифра AES, как определено в FIPS-1971.
Существует некоторая обеспокоенность тем, что в реализации BLE защиты канального уровня есть недостатки безопасности; это не недостаток в AES; Скорее Bluetooth SIG решил накатить собственный механизм обмена ключами в 4.0 и 4.1 . Эта проблема теперь решена в 4.2, поскольку теперь поддерживается эллиптическая кривая Хеллмана-Диффи.