1) On ne sais pas si c'est un système de hash code, mais ce serait énormément se compliquer la vie pour rien. Pour avoir un hash code de référence le serveur doit s'avoir exactement ce qu'il doit recevoir, or le client lui envoie des informations qu'il ignore ou qu'il ne peut déviner ... c'est un peu ridicule.
La vérification de l'intégrité d'un message se fait plus probablement dans la phase de déserialisation : si il manque des octets ou qu'il y en a en trop, valeur impossible ( = confusion int/short etc ... ) ...
2) Le IdentificationMessage contient en effet un array de bytes, les credentials, que tu dois avoir chiffrés. En revanche tu ne dois pas chiffrer l'intégralité du message, ni les autres messages d'ailleurs. Lis le code source c'est assez explicite la manière dont l'auth se passe.
3) Comme tu sembles ne pas avoir bien compris, je vais te clarifier les choses : le client Dofus possède une clef publique, et le serveur une clef privée. Dans HelloConnectMessage tu récupères une signature chiffrée en RSA, qui est en réalité une clef publique. Tu récupères cette clef publique qui te permet de chiffrer tes credentials en faisait un déchiffrage par clef publique, avec celle que le client dofus possède. Cette signature ( on l'appelle ainsi parce que en RSA on utilise ce procédé de déchiffrage par clef publique pour faire des vérifications, ce qui dans notre cas pour ankama non seulement permet d'envoyer une clef publique mais également empêcher la connexion de clients à des serveurs non autorisés, comme des émulateurs ) change toutes les 30 minutes de mémoire.