sangoでは2種類の暗号方式が使用されています。


【AES】
秘密鍵暗号方式です。
暗号化と復号化が同一の鍵で行えます
使用箇所は以下の通りです。

・ローカルのTVナビ通信
・WifiのTVナビ通信
・本体すれ違いのTVナビ通信
・秘密基地のQRコード化
・PGLに送信する秘密基地データ(PGL側でQRコード化する)

鍵：AES_KEY（src/netapp/util/SangoNetworkUtility.cpp）
※鍵は壊れた状態でstatic領域に存在しており、使用する直前に修復してから使用します。

※この暗号化はROMに秘密鍵が入っているのでリバースエンジニアリングによって鍵を盗み出すことが可能です。
　よって、発売からあるていど時間がたった段階で突破されることが想定されています。

【RSA】
公開鍵暗号方式です。
暗号化と復号化はそれぞれ対応した鍵が必要です。
使用箇所は以下の通りです。

・秘密基地のQRコード化（配信秘密基地のみ）

秘密鍵：pvKey(src/netapp/SecretBaseQR/SecretBaseQRProc.cpp)
公開鍵：puKey(src/netapp/SecretBaseQR/SecretBaseQRProc.cpp)

※配信秘密基地を作成する為の秘密鍵はデバッグROMにのみ存在し、
　製品ROMには存在しないため、リバースエンジニアリングによって鍵を盗み出すことはできません。
　しかし、暗号化自体に新たな脆弱性が発見されたり、未来の計算機の処理速度の向上によって突破される可能性があります。


