? SHA é uma sigla para Secure Hash Algorithm , um padrão de criptografia inventado pela Agência de Segurança Nacional e publicado pelo Instituto Nacional de Padrões e Tecnologia. O algoritmo SHA original foi encontrado para ter fraquezas em seus métodos de criptografia , e foi substituído com SHA-1 para aumentar a segurança . Secure Hash Algorithm
SHA é uma função hash criptográfico . Uma função hash tem um texto não encriptado inicial , chamado o texto simples , e produz um número único, que , teoricamente, constitui a mensagem cifrada . SHA cria um número de 160 bits , o qual é um número entre 0 e 1,46 x 10 ^ 48 . Não é possível que este número seja garantido único para todas as possíveis mensagens de texto simples , como o número de tais mensagens é teoricamente infinita , mas as chances são de aproximadamente 2 ^ 80 , ou 1,21 x 10 ^ 24 , contra duas mensagens produzindo o mesmo criptografada resultado . Se isso não ocorrer, isso é chamado de uma colisão . Uma colisão fornece um ataque de matemática em um algoritmo de criptografia , o que torna possível para um criptógrafo para descriptografar o texto plano .
SHA- 0 e SHA-1
após a sua publicação , falhas no algoritmo SHA originais foram descobertos que permitiu um ataque criptográfico para produzir colisões de hash , enfraquecendo seriamente a sua eficácia . Uma versão revista SHA , SHA - 1 , foi desenvolvido que criou os mesmos resultados de 160 - bit , sem os defeitos originais no algoritmo . O SHA original retroativamente renomeado SHA- 0 para distinguir entre o seu uso e SHA-1 de uso.
Mudanças no SHA-1
As falhas originais SHA- 0 nunca foram publicados, como essas falhas fornecer um conjunto de ferramentas para qualquer atacante tentando decifrar uma mensagem usando SHA- 0 criptografia. A única informação pública sobre os pontos fracos do algoritmo original indica que colisões de hash são mais propensos do que do acaso ao usar SHA- 0, e que as colisões usando o método inédito são eliminados quando se usa SHA-1. Tal como o SHA - 1 e SHA - 0 produzir resultados matemáticos do mesmo comprimento , SHA - 1 pode ser utilizado como um substituto drop-in no software de computador para o SHA - 0 algoritmo original sem requerer grandes reescritas no resto do software .
SHA -2 e SHA -3
SHA-1 foi encontrado para ser mais robusto do que o SHA- 0, mas deixa espaço para melhorias. Uma análise matemática de SHA - 1 resultados demonstraram um método pelo qual o SHA - 1 encriptação poderiam quebrado por 2.000 vezes mais rápida do que seria teoricamente possível pela verificação de todos os 10 ^ 48 combinações possíveis da sua saída . Como um algoritmo criptográfico ideal evita aumento de velocidade descriptografia deste tipo , o algoritmo SHA - 2 tanto evita esse ataque, e aumenta o tamanho de hash possível de 512 bits , ou 1,34 x 10 ^ 154 . SHA -3 , um algoritmo de criptografia ainda mais poderoso, está atualmente em desenvolvimento .