Just to point out, that the common way to attack a game server isn't to write a complete client. Instead you develop a specialized proxy that lets you inject your messages at will. From there a custom client can (and typically will) be built out to toy with the game.

Encryption/Decryption is a great thing, but it takes processor speed and doesn't actually appear to slow down hackers. Instead it seems to give them more of a reason to jack with you.

Focus on a simple CRC and packet size along with other knowns such as a rolling packet id and packet type id. These add minimal overhead to your data, and should be able to keep your game safe if implemented properly.

Of course, and I'm guessing here, your so far away from a real game being available on the web to 1000's of people with a massive players list that you really don't have anything to worry about yet. Might be better to simply focus on completing the game and keep the transmit/receive stuff in specialized objects or methods. This way, as the game progresses you can add in security features as they are needed.