SHA1 VS RSA: qual é a diferença entre eles?
-
06-09-2019 - |
Pergunta
Quais são as diferenças entre o SHA1 e RSA? São apenas diferentes algoritmos ou são fundamentalmente (ou seja, usado para coisas diferentes) diferente em algum nível.
Solução
Fundamentalmente diferente.
Na verdade para SHA1 este não é o caso - o algoritmo é (em termos de criptografia, pelo menos) quebrado agora, com um ataque de colisão descrito por Wang et al Xiaoyun que bate um ataque de aniversário clássico. A família SHA2 não está quebrado, e um processo está em andamento pelo NIST chegar a acordo sobre um algoritmo SHA-3 ou família de algoritmos.
Editar -. Google já gerou e publicou uma colisão SHA1 real
Se você inverter as chaves para RSA, ele pode ser usado para gerar uma assinatura digital - por criptografar algo com sua chave privada, qualquer um pode decifrá-lo com a chave pública e, se eles estão certo a chave pública pertence a você, então eles têm confiança de que você era o único que criptografada o original. Isso normalmente é feito em conjunto com uma função hash -. Você botar sua entrada, em seguida, criptografar que, com a sua chave privada, dando uma assinatura digital de um comprimento fixo para a sua mensagem de entrada
Outras dicas
As respostas antes já são explicações suficientes. Mas eu acho que você fizer essa pergunta só porque SHA e RSA muitas vezes saem together.So deixe-me explicar o porquê.
Primeiro, tenha em mente que
RSA não é eficiente, mas SHA é.
Suponha que você baixar o Windows 7, e quer ter a certeza se é original do Windows 7 da Microsoft. Se Microsoft apenas criptografa Windows 7 pela RSA, ele leva muito tempo para fazer que não posso suportá-lo em tudo. Portanto, a Microsoft usa SHA1 no Windows 7 e gera um de dados de 128 bits de comprimento. E, em seguida, Microsoft criptografa esse tempo os dados de 128 bits com o RSA (usar sua chave privada).
Então, tudo que você precisa fazer é que se certificar de sua chave pública é da Microsoft. E então usar SHA1 para gerar um 128 bits de dados longos também. E, em seguida, usar a chave pública de RSA para descriptografar a assinatura da Microsoft. Então você só comparar os dois 128 bits de dados longos para ver se eles combinam.
SHA1 é um algoritmo de hash (Documento e assinatura de certificação), enquanto RSA é um algoritmo de encriptação / desencriptação (Comunicações seguras).
Como outros têm comentou, eles são fundamentalmente diferentes coisas que servem funções diferentes. Você usa RSA à informação corrida em uma forma aparentemente aleatória, enquanto você usa SHA1 para garantir a integridade da mensagem (ou seja, nenhum dos bits mudaram). Em um aplicativo de segurança, você vai usar um ou ambos, dependendo do que a funcionalidade que você precisa.
SHA1 é uma função hash criptográfico, enquanto RSA é um algoritmo para criptografia.
A função hash leva um pedaço de dados e retornar uma seqüência de comprimento fixo. Em uma função hash criptográfico todas as cadeias de retorno têm a mesma probabilidade. Dada apenas o número de hash você não pode determinar a entrada, nem você pode encontrar uma outra entrada que dá o mesmo hash (excpetion com uma muito, muito pequena probabilidade). SHA1 tem algumas falhas de segurança.
Um algoritmo para criptografia dá pega um pedaço de dados, mas a saída não é de comprimento fixo - a sua criptografia. Dada a saída (a criptografia) pode (se você tem as chaves certas) determinar a entrada.
O Algoritmo de Hash Seguro (SHA) algoritmo leva uma mensagem de menos de 264 bits de comprimento e produz uma mensagem de 160 bits digerir. O algoritmo é ligeiramente mais lento do que MD5, mas a mensagem maior digerir torna mais seguros contra colisão de força bruta e ataques de inversão. O algoritmo especificado no Secure Hash padrão (SHS, FIPS 180), foi desenvolvido pelo NIST. SHA-1 é uma revisão de SHA que foi publicado em 1994; a revisão corrigida uma falha inédito no SHA. Seu design é muito semelhante à família MD4 de funções hash desenvolvidas por Rivest. SHA-1 é também descrita na norma ANSI X9.30.
RSA é um algoritmo para criptografia de chave pública-. É o primeiro algoritmo conhecido por ser adequado para a assinatura, bem como criptografia, e um dos primeiros grandes avanços em criptografia de chave pública. RSA é amplamente utilizada em protocolos de comércio eletrônico, e acredita-se ser seguro dada suficientemente chaves longas e ao uso de implementações up-to-date.
A diferença mais notável é que SHA é um algoritmo de criptografia RSA enquanto é tanto uma criptografia, bem como a assinatura algoritmo.
Em 2005/08/16 foi anunciado que é possível encontrar uma colisão em SHA-1 em 2 ^ 63 operações. Este resultado de pesquisa é devido ao Professor Xiaoyun Wang, da Universidade de Tsinghua, em Pequim, em conjunto com os professores Andrew Yao e Frances Yao. Estende-se a obra de Wang, Yin, e Yu, que demonstrou que uma colisão pode ser encontrada em 2 ^ 69 operações. O que isto significa é que é mais fácil para uma colisão ocorrer em SHA do que em RSA -. Mas notavelmente, há duas teclas semelhantes já foi encontrado que colidiu