Enviar texto em bytes e receber de volta

Olá galera, venho aqui pedir ajuda a vocês no meu TCC, estou fazendo um chat em java, porém com uma utilidade a mais, com um sistema simples de criptografia de Cesar que eu criei, segue o sistema:

Digito um texto, o texto é criptografado (apenas uma troca de letras), se transforma em bytes e envio, porém na hora de receber no outro lado o texto fica bugado, aparece a mensagem mas algumas letras bugam e fica um ‘&’ no final eternamente.

Fiquei sabendo que deveria usar o Base64 para transformar texto em bytes e o inverso, podem me dar um exemplo em como codificar e enviar, e vai dar certo assim? Obrigado!

Verifica se não é problema de codificação, UTF-8…
Sobre seu projeto de TCC, não sei como é aí, mas onde fiz era bem rigoroso e algo assim não passaria, até pq este método de “criptografia” é um dos mais fracos, quebrável em poucos minutos.
Eu fiz um projeto desses anos atrás para uma disciplina usando certificado digital e criptografia AES 256 bits
Recomendo ao menos então usar objeto serializado para troca de mensagens.