Qual é a diferença entre a criptografia SHA e SHA-1?

SHA é um acrônimo para Secure Hash Algorithm, um padrão de criptografia inventado pela National Security Agency e publicado pelos National Institutes of Standards and Technology. O algoritmo SHA original apresentou pontos fracos em seus métodos de criptografia e foi substituído pelo SHA-1 para maior segurança.

Algoritmo Hash Seguro

SHA é uma função hash criptográfica. Uma função hash pega um texto não criptografado inicial, chamado de texto simples, e produz um número teoricamente único que constitui a mensagem criptografada. SHA cria um número de 160 bits, que é um número entre 0 e 1,46 x 10 ^ 48. Não é possível que este número seja exclusivo garantido para todas as mensagens de texto simples possíveis, pois o número de tais mensagens é teoricamente infinito, mas as chances são de aproximadamente 2 ^ 80, ou 1,21 x 10 ^ 24, contra duas mensagens que produzem o mesmo criptografado resultado. Se isso ocorrer, é chamado de colisão. Uma colisão fornece um ataque matemático a um algoritmo de criptografia, tornando possível para um criptógrafo descriptografar o texto simples.

Vídeo do dia

SHA-0 e SHA-1

Após sua publicação, foram descobertas falhas no algoritmo SHA original que permitiram que um ataque criptográfico produzisse colisões de hash, enfraquecendo gravemente sua eficácia. Uma versão revisada do SHA, SHA-1, foi desenvolvida para criar os mesmos resultados de 160 bits sem as falhas originais no algoritmo. O SHA original foi renomeado retroativamente para SHA-0 para distinguir entre seu uso e o uso de SHA-1.

Mudanças no SHA-1

As falhas originais no SHA-0 nunca foram publicadas, pois essas falhas fornecem um kit de ferramentas para qualquer invasor que tente descriptografar uma mensagem usando a criptografia SHA-0. A única informação pública sobre os pontos fracos do algoritmo original indica que as colisões de hash são mais prováveis do que do acaso ao usar SHA-0, e que as colisões usando o método não publicado são eliminadas ao usar SHA-1. Como SHA-1 e SHA-0 produzem resultados matemáticos do mesmo comprimento, SHA-1 pode ser usado como um substituto imediato em software de computador para o algoritmo SHA-0 original sem exigir grandes reescritas no resto do Programas.

SHA-2 e SHA-3

O SHA-1 foi considerado mais robusto do que o SHA-0, mas deixa espaço para melhorias. Uma análise matemática dos resultados de SHA-1 demonstrou um método pelo qual a criptografia SHA-1 poderia ser quebrada 2.000 vezes mais rápido do que seria teoricamente possível, verificando todas as 10 ^ 48 combinações possíveis de seus saída. Como um algoritmo criptográfico ideal evita melhorias na velocidade de descriptografia desse tipo, o algoritmo SHA-2 evita esse ataque e aumenta o possível tamanho do hash para 512 bits, ou 1,34 x 10 ^ 154. SHA-3, um algoritmo de criptografia ainda mais poderoso, está atualmente em desenvolvimento.