Simétrico, Assimétrico, Hash e Mais…

A criptografia é uma técnica para proteger informações e comunicação usando um conjunto de cálculos baseados em regras chamados algoritmos e alguns conceitos matemáticos para que apenas a pessoa certa possa entendê-la.

É útil para impedir o acesso não autorizado às informações.

A palavra “criptografia” é derivada da palavra grega kryptos, que significa oculto. A palavra “cripto” significa “escondido” e “grafia” significa “escrita”.

Neste artigo, abordarei os princípios básicos da criptografia, explorarei vários tipos com exemplos, discutirei desafios e anteciparei tendências futuras. Meu objetivo é fornecer uma visão geral abrangente, abrangendo conceitos principais e secundários.

A criptografia protege a comunicação e as informações digitais em diversos sistemas e aplicações, garantindo a confidencialidade e a segurança dos dados. Ele protege os dados contra acesso não autorizado.

Vamos ver o que acontece na criptografia:

  • O processo começa com o remetente que tem uma mensagem ou dados para enviar.
  • O texto simples (mensagem original) é então convertido em um formato ilegível usando um método chamado criptografia.
  • O receptor usa uma chave para converter o texto cifrado (formato ilegível) de volta em um formato legível, um processo conhecido como descriptografia.
  • A mensagem descriptografada está novamente em texto simples e é igual à mensagem original enviada pelo remetente.
  • O receptor agora possui a mensagem original.
  • Agora, vamos explorar os princípios fundamentais da criptografia.

    Princípios Básicos de Criptografia

    Existem quatro princípios principais de criptografia:

    #1. Confidencialidade: Somente o destinatário pretendido pode acessar as informações; permanece privado para outros.

    #2. Integridade: As informações não podem ser alteradas durante o armazenamento ou transmissão sem detecção de quaisquer alterações.

    #3. Não repúdio: O remetente não pode negar o envio da informação posteriormente.

    #4. Autenticação: confirma as identidades do remetente e do destinatário e verifica a origem e o destino das informações.

    Antes de continuarmos, vamos examinar um pouco do vocabulário básico.

    Glossário:

    PalavraSignificadoCriptografiaÉ uma técnica para proteger informações e comunicação usando um conjunto de cálculos baseados em regras chamados algoritmos e alguns conceitos matemáticos para que apenas a pessoa certa possa entendê-la.CifraUma cifra é um método ou algoritmo usado para criptografar e descriptografar dadosCriptografiaO processo de conversão de texto simples em texto cifrado Texto simples Forma original e não criptografada de dados ou texto Texto cifrado Dados criptografados (uma forma codificada dos dados) ou texto Descriptografia O processo reverso de conversão de texto cifrado de volta em texto simples usando chave de descriptografia Chave Uma chave é uma informação, normalmente uma sequência de bits, que é usada para controlar o processo de criptografia e descriptografia.Troca de chavesA transferência segura de chaves de criptografia entre remetente e destinatário.Glossário de criptografia

    Existem três tipos fundamentais de criptografia:

  • Criptografia de chave simétrica
  • Criptografia de chave assimétrica
  • Função hash
  • Criptografia de chave simétrica

    A criptografia de chave simétrica, também conhecida como criptografia de chave única, é uma técnica de criptografia que depende de uma única chave secreta para criptografar e descriptografar dados.

    Neste método, tanto o remetente quanto o destinatário precisam usar exatamente a mesma chave secreta para compreender os dados. Funciona transformando dados normais em código secreto (texto cifrado) usando a chave secreta e um processo matemático específico.

    Quando o receptor, que também conhece a chave secreta, recebe a mensagem com código secreto, ele pode usar o mesmo processo matemático para transformá-la novamente em dados normais. Dessa forma, o receptor obtém as informações originais do código secreto.

    Criptografia Simétrica

    Vamos entender o processo através das seguintes etapas:

    • O algoritmo converte o texto original (texto simples) em texto cifrado usando uma chave secreta.
    • Em seguida, o remetente envia esse texto cifrado ao destinatário por meio do canal de comunicação. Este canal de comunicação pode ser privado ou público.
    • Os destinatários usam a mesma chave secreta para descriptografar o texto cifrado e convertê-lo em texto original.

    Este processo de criptografia simétrica garante que a comunicação entre o remetente e o destinatário permaneça segura. Porém, a chave secreta precisa ser confidencial.

    Para manter a confidencialidade e a integridade, ambas as partes devem gerenciar e proteger com segurança esta chave secreta.

    Existem dois tipos de cifras de criptografia simétrica:

  • Cifra de fluxo
  • Cifra de bloco
  • Stream CipherBlock CipherCriptografa dados em blocos de comprimento fixoEnquanto os dados estão sendo criptografados, o sistema os retém na memória, aguardando até que blocos completos estejam prontos para processamentoCriptografa dados um bit ou byte por vezCriptografa dados em blocos de comprimento fixoUsa 8 bits da chaveUsa 64 bits ou mais de 64 bits da chaveMais complexo que a cifra de blocoMais simples que a cifra de fluxoCriptografar dados em blocos de comprimento fixoLento e adequado para aplicações off-lineUsa os modos CFB e OFBUsa os modos ECB e CBC.Cifra de fluxo vs Cifra de bloco

      Como consertar a câmera do Google Meet que não funciona

    Alguns exemplos de algoritmos de criptografia simétrica incluem:

    • AES (Advanced Encryption Standard): É conhecido por sua segurança e eficiência. É comumente usado para proteger dados confidenciais, como segurança sem fio, computação em nuvem, bancos e comércio eletrônico.
    • DES (Data Encryption Standard): É um método de criptografia mais antigo que foi substituído por AES e 3DES. Ele usa uma chave de 56 bits.
    • IDEA (Algoritmo Internacional de Criptografia de Dados): Utiliza uma chave de 128 bits e é utilizado em diversas aplicações.
    • Blowfish: Algoritmo projetado como um substituto imediato para DES ou IDEA.
    • RC4 (Rivest Cipher 4): Desenvolvido por Ron Rivest. É conhecido por sua simplicidade e velocidade, mas apresenta algumas preocupações de segurança em certas implementações.
    • RC5 (Rivest Cipher 5): Foi projetado para ser eficiente e seguro, com tamanho de bloco e tamanho de chave variáveis.
    • RC6 (Rivest Cipher 6): Foi projetado para fornecer segurança e desempenho aprimorados em comparação com versões anteriores.

    AES, DES, IDEA, Blowfish, RC5 e RC6 são cifras de bloco.

    RC4 é uma cifra de fluxo.

    Vantagens da criptografia de chave simétrica

    • É mais rápido e eficiente que a criptografia assimétrica
    • O tamanho da chave é pequeno, o que permite a geração de cifras mais fortes.
    • É relativamente econômico produzir chaves fortes para cifras.
    • AES é um dos algoritmos seguros.

    Desvantagens da criptografia de chave simétrica

    • O compartilhamento seguro de chaves de criptografia com todas as partes que precisam se comunicar com segurança é um grande desafio da criptografia simétrica.
    • A segurança de todo o sistema pode ser violada se a chave for interceptada ou comprometida por um invasor durante a transmissão.
    • Os sistemas de criptografia simétrica exigem práticas cuidadosas de gerenciamento de chaves. Isso inclui gerar, armazenar, atualizar e revogar chaves. O mau gerenciamento de chaves pode levar a violações de segurança.
    • Os invasores podem interceptar chaves trocadas em um canal inseguro, comprometendo a comunicação.

    Ainda assim, a criptografia simétrica é uma parte essencial da criptografia moderna e é amplamente utilizada em muitas aplicações, apesar das suas desvantagens.

    Práticas sólidas de gerenciamento de chaves e métodos seguros de troca de chaves podem ajudar a superar alguns dos desafios da criptografia simétrica.

    Criptografia de chave assimétrica

    A criptografia assimétrica usa pares de chaves – uma privada mantida em segredo e uma pública compartilhada abertamente. Você pode usar a chave pública de alguém para criptografar uma mensagem, e somente essa pessoa pode descriptografá-la com sua chave privada.

    Este método aumenta a segurança digital ao permitir uma comunicação segura sem partilhar chaves secretas, o que é crucial no nosso mundo online.

    Isto é útil para uma comunicação segura, pois os destinatários só precisam da sua chave pública. Elimina o risco de compartilhar uma chave simétrica secreta.

    Esses “algoritmos de chave pública” usam um par de chaves para proteger os dados.

    Aqui está uma análise mais simples:

    Criptografia Simétrica vs Assimétrica

    • Existem duas chaves. Uma chave pública, à qual todos podem aceder, e uma chave privada, que é mantida em segredo.
    • A chave pública é usada para criptografar ou bloquear os dados.
    • A chave privada é usada para descriptografar ou desbloquear os dados.

    É importante compreender que não é possível descobrir a chave privada a partir da chave pública. Além disso, as chaves públicas são geralmente vinculadas a identidades por organizações conhecidas como Autoridades Certificadoras.

    Comunicação segura O remetente e o destinatário trocaram uma mensagem segura sem comprometer suas chaves privadas.

    Esses algoritmos dependem de problemas matemáticos como fatoração de inteiros e logaritmos discretos para criar assinaturas digitais e estabelecer/distribuir chaves de sessão, como no protocolo TLS.

    Alguns exemplos de algoritmos de criptografia assimétrica incluem:

    • RSA (Rivest-Shamir-Adleman): RSA é um dos algoritmos de criptografia assimétrica mais amplamente utilizados. Baseia-se nas propriedades matemáticas de grandes números primos e é comumente usado para troca segura de chaves e assinaturas digitais.
    • Criptografia de Curva Elíptica (ECC): Baseia-se na estrutura algébrica de curvas elípticas sobre campos finitos. O ECC oferece a vantagem de tamanhos de chave menores em comparação com a criptografia não-EC que depende de campos Galois simples. ECC é usado principalmente para gerar números pseudoaleatórios e assinaturas digitais.
    • Diffie-Hellman Key Exchange: Este algoritmo é usado para troca segura de chaves. Uma chave criada usando este método pode ser usada para criptografia com um algoritmo simétrico. O principal objetivo da Diffie-Hellman é permitir que duas partes criem uma chave secreta compartilhada através de um canal de comunicação inseguro.

    Vantagens da criptografia assimétrica

    • A criptografia assimétrica oferece segurança mais forte em comparação com a criptografia simétrica.
    • O destinatário pode verificar a identidade do remetente.
    • A criptografia assimétrica resolveu o problema relacionado à distribuição de chaves, que mencionei nas desvantagens da criptografia de chave simétrica.
    • Os destinatários da mensagem podem detectar se a mensagem foi alterada em trânsito.
      Melhores soluções de gerenciamento de acesso privilegiado (PAM) em 2022

    Desvantagens da criptografia de chave assimétrica

    • A criptografia assimétrica é um processo mais lento que a criptografia simétrica.
    • A criptografia e descriptografia assimétrica requerem mais recursos computacionais do que a criptografia simétrica.
    • A criptografia assimétrica depende de chaves públicas e privadas. Gerenciar essas chaves com segurança pode ser complexo e desafiador, especialmente em sistemas de grande escala.
    • A desvantagem potencial mais significativa da criptografia assimétrica é a sua vulnerabilidade aos computadores quânticos. Os computadores quânticos têm potencial para resolver certos problemas matemáticos, como fatoração de inteiros e logaritmos discretos, com muito mais eficiência do que os computadores clássicos.

    Mas não há necessidade de se preocupar, as organizações e os pesquisadores estão trabalhando na transição para essas técnicas criptográficas resistentes ao quantum.

    Vamos avançar para o nosso próximo tipo de criptografia:

    Função hash

    As funções hash criptográficas são diferentes de outros tipos de criptografia. Eles não criptografam dados. Em vez disso, eles usam matemática complexa para transformar qualquer dado em um código único composto de letras e números.

    Esses códigos são chamados de códigos hash, valores hash ou resumos de mensagens. Eles são importantes para verificar se os dados estão seguros; quando os dados são enviados ou armazenados, seu código hash é calculado e enviado ou mantido com os dados.

    O destinatário pode recalcular o código dos dados recebidos e compará-lo com o enviado. Se os códigos corresponderem, significa que os dados permaneceram seguros durante a transmissão e armazenamento.

    Aqui está uma explicação passo a passo simples:

    Função hash

    Lado do remetente:

  • O remetente usa uma função hash para criar um valor hash exclusivo para os dados fornecidos.
  • Depois de criar valores hash, o remetente envia a mensagem original e o código hash ao destinatário por meio de um canal inseguro.
  • Lado do receptor:

  • O receptor recebe a mensagem e o código hash.
  • O receptor também usa a mesma ferramenta especial (função hash) para criar um novo código hash para a mensagem recebida.
  • O receptor compara o novo código hash com aquele enviado pelo remetente.
  • Resultado:

    • Se os códigos hash corresponderem, significa que a mensagem não foi alterada durante a transmissão e é considerada segura.
    • Se os códigos hash não corresponderem, isso sugere que a mensagem pode ter sido alterada e não é considerada segura.

    Aqui estão algumas das propriedades que tornam as funções hash úteis:

    Propriedades da função Hash:

  • Determinístico: se você fornecer a mesma entrada, sempre produzirá a mesma saída.
  • Uniformidade e livre de colisões: uma boa função hash deve produzir resultados distribuídos uniformemente. Ajuda a evitar colisões.
  • Eficiente: As funções hash são projetadas para serem computacionalmente eficientes, permitindo processar rapidamente grandes quantidades de dados.
  • Saída de tamanho fixo: Produz uma saída de tamanho fixo independentemente do tamanho da entrada. Esta propriedade é essencial porque permite armazenamento e recuperação eficiente de dados.
  • As funções hash têm muitas aplicações em ciência da computação e segurança da informação, incluindo criptografia, verificação de integridade de dados, indexação de dados, impressão digital de dados, armazenamento de senhas, análise forense digital e blockchain.

    As funções de hash criptográfico comumente usadas incluem:

    Existem duas famílias amplamente utilizadas de funções hash criptográficas – a família MD (MD = resumo da mensagem) e a família SHA (SHA = algoritmo de hash seguro).

    • SHA-1 (Secure Hash Algorithm 1): Era uma das funções hash populares. No entanto, o SHA-1 é agora considerado fraco devido a vulnerabilidades que permitem ataques de colisão práticos. Não é mais usado para a maioria dos aplicativos de segurança.
    • MD5 (Message Digest Algorithm 5): MD5 era popular no passado, mas agora é considerado fraco devido a vulnerabilidades de colisão. Geralmente não é usado para aplicativos sensíveis à segurança.
    • SHA-3: SHA-3 é uma família mais recente de funções hash selecionadas através de uma competição pelo Instituto Nacional de Padrões e Tecnologia (NIST). Ele oferece forte segurança e foi projetado para ser resistente a certos tipos de ataques.

    Embora as funções hash não criptografem mensagens, elas são parte integrante da criptografia porque desempenham um papel crucial na segurança e autenticação de dados, que são objetivos importantes da criptografia.

    Vantagens da função Hash

    • Uma função hash segura garante alta resistência a colisões.
    • Dois arquivos podem ser comparados quanto à igualdade facilmente por meio de hash.
    • As funções hash são incrivelmente rápidas e eficientes.
    • No SGBD, o hashing é usado para pesquisar a localização dos dados sem usar uma estrutura de índice.

    Desvantagens da função Hash

    • As funções hash podem funcionar de forma menos eficaz quando há inúmeras colisões.
    • Nenhum valor nulo é permitido.
    • Implementar tabelas hash pode ser uma tarefa desafiadora devido à sua complexidade.
    • Na prática, é quase impossível evitar totalmente colisões de hash ao lidar com um grande conjunto de chaves potenciais.
      As melhores ofertas de capas para Samsung Galaxy Z Fold 5

    Leia também: Como se proteger de um ataque à mesa arco-íris

    Aplicações de criptografia na vida real

    • Autenticação/Assinaturas Digitais: A autenticação é o processo vital de confirmação da autenticidade dos dados, verificação da origem de um documento, validação da identidade do remetente, precisão do carimbo de data/hora e garantia da legitimidade das identidades do computador ou do usuário. As assinaturas digitais empregam métodos criptográficos que envolvem uma função hash e uma chave privada para validar e assinar documentos com segurança.
    • Criptografia de armazenamento em nuvem: a criptografia é empregada para proteger arquivos armazenados na nuvem e durante a transmissão de e para serviços em nuvem.
    • Dinheiro Eletrônico: O dinheiro eletrônico envolve transferências eletrônicas de fundos entre partes, que podem ser de débito ou crédito, e anônimas ou identificadas. Ele usa criptografia, assinaturas digitais e criptografia de chave pública para segurança, permitindo vários tipos de transações.
    • Criptografia/descriptografia em e-mail: a criptografia de e-mail protege o conteúdo do e-mail contra acesso não autorizado usando criptografia de chave pública. Cada usuário possui um par de chaves pública e privada, sendo a chave pública usada para criptografia, e somente a chave privada pode descriptografar a mensagem.
    • Criptografia no WhatsApp: O WhatsApp usa o protocolo de sinal para criptografia, combinando criptografia de chave simétrica e assimétrica para confidencialidade, integridade, autenticação e não repúdio. Algoritmos baseados em Curve25519 são usados ​​para troca de chaves.
    • Criptografia no Instagram: A comunicação do Instagram é criptografada usando SSL/TLS na porta 443, evitando a escuta de dados trocados entre o usuário e os servidores do Instagram.
    • Autenticação do cartão SIM: A autenticação do cartão SIM envolve a verificação do acesso do cartão SIM à rede, gerando um número aleatório e aplicando algoritmos como A3 com a chave secreta Ki. A criptografia depende do algoritmo A8 e da chave de sessão KC, usados ​​com o algoritmo A5 para criptografia/descriptografia de dados.

    Desafios em criptografia

    • A gestão de chaves continua a ser um desafio, uma vez que a distribuição e gestão segura de chaves de encriptação é complexa, especialmente em sistemas de grande escala. Os principais mecanismos de armazenamento e recuperação precisam ser robustos.
    • A criptografia simétrica pode se tornar ineficiente quando muitos usuários precisam se comunicar com segurança. Cada par de usuários requer uma chave exclusiva, que pode se tornar complicada à medida que o número de usuários aumenta.
    • A criptografia assimétrica normalmente requer chaves mais longas que a criptografia simétrica para atingir o mesmo nível de segurança. Isso pode levar a um processamento mais lento e a maiores requisitos de recursos.
    • A descoberta de vulnerabilidades ou fraquezas nas funções hash pode levar a violações de segurança. A comunidade criptográfica deve analisar e adaptar continuamente as funções hash para mitigar tais riscos.
    • Em aplicações onde funções hash são usadas para armazenamento de senhas, é necessário salgar adequadamente as senhas para evitar ataques à tabela arco-íris. O desafio reside em garantir que os sais sejam únicos e secretos.
    • O surgimento da computação quântica representa um desafio significativo para o mundo da criptografia. Os computadores quânticos são excepcionalmente rápidos na resolução de problemas matemáticos específicos, aproveitando os princípios peculiares da física quântica para a sua extraordinária capacidade computacional.

    Esta velocidade ameaça a base dos nossos atuais sistemas criptográficos, que dependem da complexidade de certos desafios matemáticos para garantir a segurança dos dados. Os computadores quânticos têm a capacidade de resolver estes problemas muito mais rapidamente do que os computadores convencionais, comprometendo potencialmente a segurança dos nossos métodos de encriptação.

    Os princípios subjacentes da mecânica quântica que os computadores quânticos utilizam são de fato incomuns, mas concedem-lhes o poder de realizar tarefas que estão além do alcance dos computadores clássicos.

    Consequentemente, a necessidade de desenvolver novas técnicas criptográficas que possam resistir a ataques quânticos está a tornar-se cada vez mais premente, criando um desafio contínuo no campo da criptografia.

    • O desenvolvimento e a adoção de algoritmos de criptografia pós-quântica que sejam resistentes a ataques quânticos será uma tendência significativa. Algoritmos como criptografia baseada em rede estão sendo explorados.
    • Há uma aceitação crescente da criptografia baseada em nuvem e do gerenciamento de chaves, especialmente no setor financeiro. A criptografia homomórfica permite cálculos em dados criptografados sem descriptografá-los. Isso pode aumentar a privacidade na computação em nuvem e no processamento de dados.
    • A criptografia desempenha um papel crucial na segurança da tecnologia blockchain, e as duas continuarão interligadas no futuro.
    • Com o aumento das regulamentações de proteção de dados, como o GDPR, a tokenização está sendo usada com mais frequência na saúde, nos serviços financeiros e nas empresas. A tokenização substitui os dados reais por um token que não tem valor para os hackers.

    Palavras Finais

    A criptografia é um campo vasto com muito a explorar, e apenas arranhamos a superfície ao cobrir os fundamentos da criptografia.

    Abordamos a criptografia, seus princípios, tipos de criptografia, funções hash, desafios, tendências futuras e aplicações práticas.

    No entanto, há muito mais para descobrir.

    A seguir, Criptografia em nuvem: um guia introdutório e estudo de caso do Google Cloud.