Сервер и клиент не могут быть доверенными (оба работают на компьютерах пользователей). У доверенных пользователей есть секретный ключ на своем компьютере вместе с клиентом. Цель алгоритма - аутентифицировать доверенных пользователей как доверенных на сервере, не раскрывая секретный ключ серверу.
Язык, который мы используем (Game Maker), не такой быстрый и не такой точный. У нас есть готовая реализация хеширования MD5, но я и моя команда не способны / у нас есть время для реализации невероятно сложных криптоалгоритмов.