Parabéns AugustoSavi, muito legal!
Eu não conheço os detalhes sobre a criptografia AES, porém, imagino que ao criptografar uma mensagem o resultado é um array de bytes que representa a mensagem codificada. Então, se você apenas tentar mostrar esse linguição de bytes como texto, vai ter caracteres "quebrados", já que pode haver bytes que não são associados a caracteres ASCII.
Como é tratado esse problema? A mensagem codificada é convertida para texto de alguma forma?
Boa noite, man não sei se entendi muito bem sua pergunta... Mas digamos que eu queira enviar enviar uma mensagem que precisa ser secreta pelo whatsapp, com o software no pc eu ativo o modo criptografia do Arduino e a mensagem digitada no teclado aparece antes no display do Arduino(sem ser enviada para o pc), quando eu clico enter a mensagem é criptografada com uma chave e enviada via serial para o pc, com um programa em python eu recebo essa string e digito ela(criptografada) e envio para o outra pessoa...
A pessoa que recebeu essa mensagem criptografa vai ter que ter o mesmo software e dispositivo, com isso ela ativa o modo descriptografia, copia e envia a mensagem recebida para o arduino, com isso o Arduino vai descriptografar a mensagem e mostrar no lcd descriptografada.
Alguns caracteres especias podem ser perdidos sim nesse processo do aes ou ate não ser suportado pelo lcd 16x2 (emojis e afins), atualmente não existe uma trativa para isso...(quem sabe em trabalhos futuros...)
Mas pensando por cima teria que de usar um hardware mais potente com um lcd de alta resolução(Oled, tft)