В действительности, любую логику на клиенте всегда можно взломать.
Если вы не хотите, чтобы вашу игру взломали, тогда вы отправляете все действия игрока на сервер, а сервер сам всё проверяет (как описано выше), запускает действие и возвращает результат. В таком подходе шифрование не обязательно; клиент игры выступает в роли "экрана" на который сервер стримит изменения интерфейса.