Встречный вопрос: самой проге читать зашифрованный файл обратно надо? Или она может только писать?
Если так, можно использовать шифрование асимметричным ключом: прога может зашифровать, а расшифровать обратно - не может, это может только сервер, куда передаются данные.
На этом весь интернет стоит: HTTPS, SSH и иже с ними.