Será que a segurança de Skein como um hash implica a segurança de ThreeFish como uma cifra de bloco?

StackOverflow https://stackoverflow.com/questions/827989

Pergunta

O hash Skein proposto para SHA-3 possui alguns resultados de velocidade impressionantes, que eu suspeito seria aplicável para o bloco cifra ThreeFish em seu coração - mas, se Skein é aprovado para SHA-3, que isto implicaria que ThreeFish é considerado seguro também? Isto é, que qualquer vulnerabilidade no ThreeFish implica uma vulnerabilidade no SHA-3? (E, portanto, a falta de problemas conhecidos e uma confiança geral na SHA-3 implica o mesmo para ThreeFish)

Foi útil?

Solução

Não. A segurança do Skein não implica a segurança de ThreeFish. Colocá-lo de forma positiva, se alguém encontrar uma fraqueza na ThreeFish então isso não implica que Skein também é inseguro.

A questão, porém, é bastante intersting um se aplica a outras funções hash também. Meada utiliza uma construção Davis-Meyer com algumas modificações. MD5, SHA1 e muitas outras funções hash são também usar esta construção Davis-Meyer e, portanto, eles são, em princípio, com base em um bloco de cifra. Apenas no caso de MD5 ou SHA1 que cifra bloco não tem um nome e eu não estou ciente de muitas pesquisas sobre como adequado essas construções são.

Os requisitos para uma cifra bom bloco e para uma boa função hash são diferentes. Um tanto simplificada, se E é uma cifra de bloco e não é viável para encontrar duas chaves K, K 'e duas mensagens M, M' tal que E K (M) xor M = E K ' (H') XOR M' então E é adequado para a construção de uma função hash usando Davis-Meyer. Mas para ser seguro como um bloco cifra E precisaria de outras propriedades. E teria que resistir a ataques de texto cifrado escolhido, ataques de texto plano escolhido etc.

Além disso, se E é uma cifra de bloco bom, em seguida, que também não quer dizer que dá uma boa função hash. Microsoft teve que aprender isso da maneira mais difícil com o hash eles usaram no XBOX. Esse hash foi baseada na TEA bloco cifra que tinha uma fraqueza que foi insignificante para uma cifra de bloco, mas foi fatal quando usado para uma função hash.

Para ser justo, há algumas relações entre sendo uma cifra bom bloco e sendo adequado para uma função hash. Por exemplo, em ambos os casos os ataques diferenciais devem ser evitados. Por isso, alguns métodos de concepção usados ??para cifras de construção boa bloco podem ser utilizadas para construir boas funções.

Deixe-me acrescentar também que algumas das propostas para SHA-3 são baseados em AES. Até agora, eu não vi muito apoio para favorecer funções hash com base AES, só porque AES já é um padrão. Estas funções hash são analisados ??como qualquer outra proposta SHA-3.

Outras dicas

Desconsidere minha resposta anterior. Eu mal a relação entre a meada e ThreeFish. Eu ainda não acho que Skein ser aprovado absolutamente prova ThreeFish é geralmente seguro (é possível ThreeFish só é seguro quando usado de uma maneira particular), mas seria uma indicação.

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