トラフィックを保護するために使用できるさまざまな暗号化方式があり、それぞれの電力使用量がわずかに異なるため、いくつかの一般的な選択肢を選択します。私が各方法を評価するために使用する方法論は、あなたが見つけて比較したい他の暗号にも適用できるはずです。
AES
AESは、最も一般的な対称キー暗号化アルゴリズムの1つです(つまり、同じキーを使用して暗号化と復号化を行います)。セキュリティの観点から、AESは安全な賭けです。
最高の公開暗号解読
2013年時点で計算上実行可能なものはありませんが、完全な総当たり攻撃よりも計算上高速な攻撃が公開されています。
- ウィキペディア
完全なAESのBiclique暗号解読の論文では、AES-128には2 126.1の操作が必要であり、AES-192には2 189.7の操作が必要であり、AES-256には2 254.4の操作が必要です。2.9 GHzプロセッサーでは、各「操作」が1 CPUサイクル(おそらく正しくない)であると仮定すると、AES-128の破壊には非常に長い時間がかかります。それらの10000が実行されても、それはほぼ永遠にかかります。したがって、ここではセキュリティは問題になりません。パワーの側面を考えてみましょう。
このホワイトペーパーでは、ブロックをAESで暗号化するときに351 pJが使用されることを示しています(15ページ)。他の一般的なアルゴリズムについて説明した後、これを少し比較します。
サイモン
以前にSIMONとSPECKについて質問しましたが、読む価値はあります。SIMONが優れているのは、頻繁に少量のデータを暗号化する必要がある場合です。先ほどリンクした論文では、SIMON 64/96は64ビットに213pJを使用すると述べています。これは、32ビットのペイロードのみを送信する必要がある場合に実用的です。
ただし、SIMON 64/96はAESよりも簡単に壊れます。私がリンクした論文は、2 63.9の操作を示唆しているため、数千万年とは対照的に、10000 CPUのセットアップでわずか数年で暗号化を破ることができました。
それは本当に重要ですか?
送信する予定のレートでは、答えはほぼ確実に「いいえ」です。暗号化によるエネルギー使用量は完全に無視できます。AESの場合、1日あたり50 544 pJを使用するため、エネルギーが2340 Jの安価な炭素亜鉛単3電池は、デバイスの寿命をはるかに超えて持続します。SIMONを使用して計算を再評価すると、寿命も非常に長いことがわかります。
要するに、非常に頻繁に送信するのでない限り、無線は電力をはるかに懸念します。ウィキペディアはあなたが送信した場合、0.01〜0.5 Wとして、電力使用量を引用0.01 Wで1秒、AESは終日にわたりたよりすでに多くの電力を使用しました。
ただし、BLEの場合は、おそらくデフォルトのセキュリティに頼るだけで問題ありません。BLEは、リンク層セキュリティのためにデフォルトでAES-CCMを使用します。
低エネルギーのBluetoothでの暗号化には、AES-CCM暗号化が使用されます。BR / EDRと同様に、LEコントローラーは暗号化機能を実行します。この関数は、FIPS-1971で定義されているAES-128ビットブロック暗号を使用して、128ビットキーと128ビットのplaintextDataから128ビットのencryptedDataを生成します。
ただし、BLEのリンク層セキュリティの実装にはセキュリティ上の欠陥があるという懸念があります。これはAESの欠陥ではありません。むしろ、Bluetooth SIGは4.0および4.1で独自のキー交換メカニズムを導入することを決定しました。この問題は、楕円曲線Hellman-Diffieがサポートされるようになり、4.2で解決されました。