Criptografia

Criptografia é a prática de proteger informações transformando-as em um formato ilegível, conhecido como texto cifrado, de forma que apenas pessoas com a chave de descriptografia possam lê-las. Esta técnica é utilizada para garantir a confidencialidade e segurança de dados sensíveis, como senhas, informações financeiras e comunicações eletrônicas

.

As mais utilizadas no mercado:

AES (Advanced Encryption Standard)


Muito usada para proteger dados em repouso, como arquivos armazenados em dispositivos ou bancos de dados.


RSA (Rivest–Shamir–Adleman)


Utilizada na troca segura de chaves, assinaturas digitais e comunicação segura (como em HTTPS).


Criptografia SHA (Secure Hash Algorithm)


Transformações unidirecionais que tornam praticamente impossível reverter ao valor original, úteis para validar conteúdo sem expor o dado.


Criptografia de Curvas Elípticas (ECC - Elliptic Curve Cryptography)


Proporciona o mesmo nível de segurança do RSA, mas com chaves menores e mais eficientes.


Como é aplicado na programação segura?

A criptografia é uma das bases da programação segura, sendo aplicada de diversas formas em sistemas, APIs, bancos de dados e aplicações web. Aqui estão algumas das formas mais comuns de aplicar criptografia na prática da programação segura, divididas por uso:

Proteção de Senhas de Usuários (com Hash)


  • Senhas nunca devem ser armazenadas diretamente no banco de dados.
  • São aplicadas funções hash criptográficas (como SHA-256 ou bcrypt) para transformar a senha em uma representação irreversível.

  • Transmissão Segura de Dados (com HTTPS + TLS)


  • Em APIs ou aplicações web, os dados trafegam criptografados por meio do protocolo HTTPS, que usa TLS (Transport Layer Security).
  • Esse processo envolve criptografia assimétrica (RSA/ECC) para troca de chaves, e simétrica (AES) para transmissão.

  • Criptografia de Dados Sensíveis em Banco de Dados


  • Informações como CPF, cartões de crédito, e endereços podem ser criptografadas com AES antes de serem salvas no banco.
  • A chave é armazenada separadamente (idealmente em um gerenciador de segredos, como AWS KMS ou Vault).

  • Assinaturas Digitais e Tokens de Acesso


  • Tokens como JWT (JSON Web Token) são assinados com uma chave secreta (HMAC) ou par de chaves (RSA).
  • Garante que o token não foi alterado.
  • Web hosting by Somee.com