CodeCipher: Learning to Obfuscate Source Code Against LLMs