don't roll your own crypto
expressãocriptografia
O primeiro mandamento da criptografia aplicada: use os algoritmos e as bibliotecas auditados, nunca os seus caseiros.
Projetar criptografia que os outros não quebrem é um dos problemas mais difíceis da área, e toda cifra caseira parece inquebrável para o próprio autor - a lei de Schneier em ação. Fazer a sua significa que os seus erros vão para produção sem nunca enfrentar os anos de ataque público que endureceram o AES e o TLS.
Não invente sua própria criptografia é o conselho mais repetido da área, e significa não implemente primitivas você mesmo, e não deixe de aprender como elas funcionam. A distinção se perde, e a confusão produz engenheiros que usam criptografia sem entendê-la, o que é um risco próprio.
A razão de o conselho valer é que código criptográfico falha em silêncio. Código comum errado costuma se comportar mal de forma visível; uma cifra implementada errado ainda produz saída que parece aleatória, ainda decifra corretamente com a sua própria implementação, e passa em todo teste que você pensaria em escrever. Os defeitos são variação de tempo, aleatoriedade fraca e reúso de nonce, nenhum detectável a partir da saída.
O escopo honesto é mais estreito que o slogan. Não implemente o AES. Use uma biblioteca bem revisada, e entenda-a o suficiente para escolher o modo, gerenciar as chaves e evitar repetir um nonce, porque essas são decisões suas e a biblioteca deixará você errar. Alguém precisa escrever as bibliotecas, e quem escreve são os que ignoraram o conselho deliberadamente e então submeteram o trabalho a anos de ataque. Esse é o caminho legítimo, e começa por estudar, não por publicar.