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?