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)

Obrigado pela resposta **AugustoSavi**, realmente acho que não ficou claro minha pergunta, peço perdão. Mas vou te dar uma sugestão que resolve o problema que eu citei e o problema que você citou: > Alguns caracteres especias podem ser perdidos sim nesse processo do aes ou ate não ser suportado pelo lcd 16x2 Sugiro o seguinte, ao criptografar a mensagem, você pega os bytes do resultado e codifica eles usando base64, dessa forma tu sempre vai obter um texto ASCII válido. Logo, ao invés de mostrar no display a mensagem criptografada você mostra a mensagem criptografada e codificada em base64. Dessa forma, não corre risco de ter caracteres inválidos e ter o problema que eu citei. Por fim, no receptor da mensagem, vai ter que decodificar usando base64 antes de descriptografar. O que acha?