A implementação segura de um algoritmo criptográfico não é uma tarefa trivial nemmesmo para os programadores mais experientes, pois requer um conhecimento cui-dadoso não apenas do próprio algoritmo, mas também da arquitetura alvo. Nesteminicurso, vamos nos concentrar em descrever os aspectos que ajudam a tornar umaimplementação de criptografia em software eficiente e segura. Do lado da eficiência,detalharemos como os conjuntos avançados de instruções aceleram a execução dosalgoritmos criptográficos a seguir: o algoritmo de encriptação AES, a função de resumo SHA-3 e o protocolo de acordo de chaves baseado na curva elíptica Curve25519.Pensando no desenvolvimento seguro, mostraremos como algumas implementaçõessão vulneráveis contra ataques de canais laterais, adicionalmente apresentaremostécnicas que mitigam ditos ataques evitando assim o vazamento de informação secreta.