Simple Science

Ciência de ponta explicada de forma simples

# Informática# Criptografia e segurança# Matemática discreta# Lógica na Informática# Computação simbólica

Os Desafios do SHA-256 e Ataques de Colisão

Examinando a segurança do SHA-256 e técnicas recentes de descoberta de colisões.

― 7 min ler


Segurança do SHA-256 emSegurança do SHA-256 emQuestãocolisões.SHA-256 e na busca avançada deInvestigando vulnerabilidades no
Índice

Funções de hash criptográficas são ferramentas essenciais para proteger dados. Elas recebem dados de entrada de qualquer comprimento e produzem uma string de comprimento fixo conhecida como hash. Este hash funciona como uma impressão digital única dos dados de entrada. As funções de hash são amplamente utilizadas para garantir a integridade e a segurança dos dados, especialmente em áreas sensíveis como armazenamento de senhas e transferências de dados.

Ao usar funções de hash, o objetivo é garantir que seja quase impossível reverter o processo - ou seja, descobrir a entrada original a partir do hash. Existem três propriedades principais que uma boa função de hash deve ter:

  1. Resistência a pré-imagens: Isso significa que deve ser muito difícil encontrar uma entrada com base em seu hash.
  2. Resistência à segunda pré-imagem: Dada uma entrada e seu hash, deve ser difícil encontrar outra entrada distinta que tenha o mesmo hash.
  3. Resistência a colisões: Deve ser quase impossível encontrar duas entradas diferentes que produzem o mesmo hash.

Importância do SHA-256

O SHA-256 faz parte da família de funções de hash criptográficas SHA-2, publicada em 2001. Ele ganhou confiança devido às suas fortes características de segurança e tem sido amplamente utilizado em várias aplicações, incluindo a proteção de transações em criptomoedas como o Bitcoin.

O SHA-256 funciona processando dados de entrada em blocos e comprimindo esses dados em um hash final. Cada bloco passa por várias transformações para garantir que mesmo pequenas alterações na entrada resultem em resultados bastante diferentes no hash.

Apesar da introdução do SHA-3, o SHA-256 permanece popular devido à sua eficácia e eficiência contra ataques conhecidos. Embora tenha sido analisado extensivamente nas últimas duas décadas, um ataque de colisão completo na versão completa do SHA-256 ainda não foi realizado.

Ataques de Colisão no SHA-256

Ao longo dos anos, criptógrafos tentaram encontrar vulnerabilidades no SHA-256, focando particularmente em sua resistência a colisões - a capacidade de evitar produzir o mesmo hash para entradas diferentes. Algumas funções de hash anteriores, como MD5 e SHA-1, foram comprometidas nesse aspecto. No entanto, apesar de várias tentativas, o SHA-256 ainda não foi totalmente quebrado.

Em 2013, foi feito um progresso significativo quando pesquisadores encontraram colisões em versões reduzidas do SHA-256. Essas versões reduzidas limitam o número de transformações realizadas na entrada, tornando mais fácil encontrar colisões.

Por exemplo, os pesquisadores conseguiram encontrar colisões usando menos de 64 passos que o SHA-256 normalmente usa para processamento. Isso significava que podiam encontrar pares de entradas diferentes gerando o mesmo hash aproveitando as fraquezas nas versões reduzidas da função.

Como Colisões são Encontradas

Encontrar colisões em funções de hash muitas vezes se baseia em uma técnica chamada criptoanálise diferencial. Essa técnica estuda como as diferenças na entrada podem impactar a saída. Analisando padrões específicos de como os dados são processados através da função de hash, os pesquisadores podem identificar métodos para encontrar duas entradas distintas que produzem o mesmo hash.

O processo de encontrar colisões normalmente envolve uma quantidade considerável de tentativa e erro, seguindo potenciais caminhos através das etapas de transformação da função de hash.

Normalmente, os criptoanalistas começam definindo certas condições de diferença que limitam como as mudanças nos dados de entrada afetam o hash resultante. Gerenciando cuidadosamente essas condições, eles podem se concentrar em potenciais candidatos a colisões.

O Papel dos Solvers SAT

Os solvers SAT são ferramentas que ajudam a determinar se um conjunto de declarações lógicas pode ser satisfeito. Esses solvers podem ser muito úteis para resolver problemas difíceis, incluindo aqueles relacionados a encontrar colisões em funções de hash.

Eles funcionam codificando o problema em uma fórmula booleana, onde o objetivo é encontrar atribuições que tornam a fórmula verdadeira. Embora os solvers SAT teoricamente tenham complexidade de tempo exponencial, muitas vezes eles conseguem resolver problemas práticos em um tempo razoável graças aos seus algoritmos inteligentes.

No contexto das funções de hash, os solvers SAT podem ser usados para enumerar possíveis entradas e suas saídas de hash correspondentes, efetivamente buscando colisões de forma sistemática.

Combinando SAT com Sistemas de Álgebra Computacional

Uma abordagem mais nova para encontrar colisões de hash combina solvers SAT com sistemas de álgebra computacional (CAS). Essa estratégia permite o uso de técnicas matemáticas avançadas para melhorar a eficiência da busca. Orientando o solver SAT com informações adicionais derivadas do CAS, os pesquisadores podem detectar inconsistências e deduzir novas informações que poderiam não ser óbvias de outra forma.

Por exemplo, quando um solver SAT está preso ou enfrentando um caminho inconsistente em sua busca por uma colisão, o CAS pode ajudar a identificar e bloquear esses caminhos, permitindo que o solver pule rotas improdutivas e se concentre em rotas mais promissoras. Isso melhora o desempenho geral do processo de encontrar colisões.

Resultados e Descobertas

Em esforços recentes para encontrar colisões em uma versão reduzida do SHA-256, os pesquisadores encontraram colisões com sucesso usando combinações de técnicas. Os resultados mostraram que, com a integração do CAS, o solver SAT conseguiu encontrar uma colisão em uma versão do SHA-256 com 38 passos, que é notavelmente mais do que o que técnicas anteriores podiam alcançar.

Enquanto métodos tradicionais, incluindo solvers SAT sozinhos, eram limitados a identificar colisões em 28 passos, a abordagem híbrida utilizando CAS empurrou significativamente os limites.

Os resultados destacam a importância de usar técnicas e ferramentas modernas na criptoanálise. Ao melhorar a eficácia dos solvers SAT através dessa integração, os pesquisadores podem continuar a explorar e desafiar a segurança de funções de hash estabelecidas como o SHA-256.

Conclusão

Funções de hash criptográficas como o SHA-256 são vitais para garantir a segurança dos dados em muitas aplicações, desde transações online até proteção de senhas. Embora tenham sido encontradas vulnerabilidades em iterações anteriores, o SHA-256 permanece um forte candidato para hashing seguro.

Pesquisas contínuas sobre ataques de colisão revelam a necessidade contínua de medidas de segurança robustas em criptografia. Com o avanço de ferramentas como solvers SAT emparelhados com sistemas de álgebra computacional, a capacidade de explorar vulnerabilidades e melhorar a compreensão dessas funções de hash cresce significativamente.

À medida que a criptografia evolui, também cresce a necessidade de permanecer vigilante contra possíveis ataques até mesmo nos algoritmos mais confiáveis. Metodologias e tecnologias aprimoradas prometem aumentar nossa capacidade de fortalecer a segurança no cenário digital em constante evolução.

Trabalhos Futuros

Pesquisas futuras poderão envolver a exploração de diferentes estratégias de codificação ao usar solvers SAT e investigar outras funções de hash também. A integração de diferentes técnicas matemáticas pode fornecer mais insights para melhorar as buscas de colisões ou até mesmo aprimorar o design de novas funções de hash.

Há também a necessidade de estudar o desempenho dessas técnicas avançadas em contextos maiores além do SHA-256. Ao enfrentar uma gama mais ampla de desafios criptográficos, podemos entender melhor as vulnerabilidades inerentes aos sistemas criptográficos e melhorar sua segurança a longo prazo.

Fonte original

Título: SHA-256 Collision Attack with Programmatic SAT

Resumo: Cryptographic hash functions play a crucial role in ensuring data security, generating fixed-length hashes from variable-length inputs. The hash function SHA-256 is trusted for data security due to its resilience after over twenty years of intense scrutiny. One of its critical properties is collision resistance, meaning that it is infeasible to find two different inputs with the same hash. Currently, the best SHA-256 collision attacks use differential cryptanalysis to find collisions in simplified versions of SHA-256 that are reduced to have fewer steps, making it feasible to find collisions. In this paper, we use a satisfiability (SAT) solver as a tool to search for step-reduced SHA-256 collisions, and dynamically guide the solver with the aid of a computer algebra system (CAS) used to detect inconsistencies and deduce information that the solver would otherwise not detect on its own. Our hybrid SAT + CAS solver significantly outperformed a pure SAT approach, enabling us to find collisions in step-reduced SHA-256 with significantly more steps. Using SAT + CAS, we find a 38-step collision of SHA-256 with a modified initialization vector -- something first found by a highly sophisticated search tool of Mendel, Nad, and Schl\"affer. Conversely, a pure SAT approach could find collisions for no more than 28 steps. However, our work only uses the SAT solver CaDiCaL and its programmatic interface IPASIR-UP.

Autores: Nahiyan Alamgir, Saeed Nejati, Curtis Bright

Última atualização: 2024-06-28 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2406.20072

Fonte PDF: https://arxiv.org/pdf/2406.20072

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes