Ещё раз говорю. Генерим рандомный ключ. Его отсылаем вместе с данными. Чтоб никто не догадался шифруем его ассиметричным алгоритмом :)
Легитимный клиент А генерирует рандомный ключ подписывает его публичным ключом и отсылает на сервер. Получает ответ работает с данными. Атакующий берет в публичном доступе приложение запускает его и генерирует такой же рандомный ключ подписывает его этим же публичным ключом, получает ответ работает с данными. Каким образом сервер должен понять где Легитимный где нет, зачем вообще при таком подходе шифрование?