ECB モードで暗号化する場合、IV なしで AES を使用できますが、これはお勧めできません。ECB モードでは、同じ平文が常に同じ暗号文に暗号化されるため、平文のパターンが暗号文の認識可能なパターンとして「透けて見える」ことがあります。ECB モードの使用は推奨されません。
ECB モードの問題を回避するために、暗号は平文の各ブロックを前のブロックの暗号化の結果と組み合わせることができます。これはCBC モードとして知られています。これにより、平文のパターンが暗号文で認識されなくなります。同じ平文でも、ストリーム内の場所に応じて異なる暗号文が生成されるためです。しかし、各ブロックをその前のブロックと組み合わせる場合、最初のブロックは何と組み合わせますか? それがIVの目的です。
暗号文と一緒に IV を送信することは大したことではありません。これは小さく、AES の場合はわずか 16 バイトです。送信するのに「過剰」になることはほとんどありません。暗号化されたファイルの一部と考えてください。
ただし、あなたの質問は、キー管理に関する関連する質問をもたらします。AES は対称暗号です。つまり、データを解読する人は誰でも、電話で暗号化に使用したのと同じキーを持っている必要があります。多くの電話がすべて AES 暗号化データをサーバーに送信している場合、追跡しなければならないさまざまなキーがたくさんあります。
(そうしないとセキュリティがないため、各電話は異なるキーを使用すると想定しています。すべての電話が同じキーを使用して暗号化されている場合、アプリを持っている人は誰でもそのキーを抽出し、それを使用して他の人の電話からデータを復号化できます. )
TLSを使用してサーバーにデータを送信している場合、TLS は接続ごとに一時的な暗号化キーを生成し、電話でデータを自動的に暗号化し、サーバーで復号化します。AES を直接扱う必要はまったくありません。
ただし、暗号を「手動で」実装しているため、キー管理も手動で実装する必要があります。サーバーは電話のキーをどのように認識していますか? 「正しい」答えは、Diffie-Hellman key exchangeを使用することです。「間違った」答えは、暗号化されたファイルを傍受できる人なら誰でも鍵を傍受できるため、電話でキーを生成してからサーバーに送信することです。
サーバーに送信されるファイルの暗号化には、公開鍵暗号化の使用を検討する必要があります。そうすれば、電話機はサーバーの公開鍵を知っているだけでよく、秘密にしておく必要はありません。