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.

Foi útil?

Solução

Fundamentalmente diferente.

SHA1 é um algoritmo de mistura, que é uma função de sentido único, transformando uma entrada de qualquer tamanho em uma saída de comprimento fixo (160 bits, neste caso). A função hash criptográfico é aquele para o qual ele não deve ser possível encontrar duas entradas dando a mesma saída exceto pela força bruta (por exemplo, com uma função de 128-bit você deve precisar de tentar, em média, a mensagem 2 ^ 64 para encontrar um tal "colisão" devido a algo chamado o paradoxo do aniversário -. Google-lo para mais)

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

RSA é um algoritmo de criptografia assimétrica, encriptando uma entrada para uma saída que pode, então, ser decifrada (contraste de um algoritmo hash de que não pode ser invertida). Ele usa uma chave diferente para criptografia (o público) do que para a descodificação (o privado). Isto pode, portanto, ser usado para receber mensagens criptografadas de outros -. Você pode publicar sua chave pública, mas só você com a chave privada pode, então, decifrar as mensagens que foram criptografados com ele

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top