Illustration of the sponge construction
A construção esponja para funções de hash. pi são blocos da string de entrada, zi são blocos do hash de saída.

A Função Esponja ou Construção Esponja (do inglês, Sponge Function or Sponje Construction) é uma função de mapeamento que recebe como entrada dados de comprimento variável e gera como saída uma mensagem também de comprimento variável, essa função baseia-se em uma permutação (ou transformação) de comprimento fixo e em uma regra de preenchimento. A função esponja pode ser usada para modelar ou implementar a maioria das primitivas criptográficas, incluindo função hash, códigos de autenticação de mensagens, cifra de fluxo, cifra de bloco, gerador de números pseudoaleatórios e autenticação.[1]

A construção

editar

A construção esponja é mostrada na figura. Primeiramente, a string de entrada é completada com uma regra de preenchimento e separada em blocos de r bits. Então os b bits de estado são inicializados com zero e a construção esponja prossegue em duas fases[2]:

  • Na fase de absorção, mais a esquerda, os blocos de entrada de r-bits passam por uma operação XOR nos primeiros r do estado, alternando-se com aplicações da função f. Quando todos os blocos de entrada são processados, a construção esponja muda para a fase de compressão.
  • Na fase de compressão, os primeiros r bits do estado são retornados como blocos de saída, alternando-se com aplicações da função f. O número de blocos de saída é escolhido livremente pelo usuário.

Tipos de Funções Esponja

editar

Keccak

editar

Keccak é uma família de funções esponja, a família que ganhou maior notoriedade por ter vencido o concurso promovido pelo NIST para escolher a nova função de hash SHA-3. Keccak é uma função de hash criptográfica desenvolvida por Guido Bertoni, Joan Daemen, Michael Peters e Gilles Van Assche. Na versão apresentada na competição[8] do SHA-3 suporta quatro diferentes comprimentos de saída 224, 256, 384 e 512 bits.[9]

Vantagem

editar
  • A função não se baseia em construção anterior por isso não é vulnerável a ataques genéricos já existentes;
  • Possui diferente estrutura interna;
  • Utiliza diferentes operações matemáticas;

Desvantagem

editar
  • Por ser uma função relativamente nova há uma desconfiança no que diz respeito a ataques criptoanalíticos que ainda não foram descobertos e que podem encontrar pontos fracos na função;

Ver também

editar

Referências

Ligações externas

editar

📚 Artikel Terkait di Wikipedia

Modelos de linguagem de grande escala

então ( log ⁡ x , y ) {\displaystyle (\log x,y)} é uma função degrau (step-function), o que se assemelha à emergência. A interpretabilidade mecanicista busca

Humano

1073/pnas.1713611115  Xie, J. (2020). «Pillars of Heaven: The Symbolic Function of Column and Bracket Sets in the Han Dynasty». Architectural History (em

Parentesco

11 de fevereiro de 2025  RADCLIFFE-BROWN, A.R. - Structure and Function in Primitive Society, 1952 LÉVI-STRAUSS, Claude - As estruturas elementares do

Estoicismo

(18 de janeiro de 2018). The Art of Living: The Stoics on the Nature and Function of Philosophy (em inglês). [S.l.]: Routledge. ISBN 978-1-351-77274-7. Consultado

Dinossauros

Forster, Catherine A.; Rogers, Raymond R.; Monetta, Alfredo M. (1993). «Primitive dinosaur skeleton from Argentina and the early evolution of Dinosauria»

Mamíferos

Simmons NB, Seymour KL, Habersetzer J, Gunnell GF (fevereiro de 2008). «Primitive Early Eocene bat from Wyoming and the evolution of flight and echolocation»

Disforia de gênero

after birth: the influence of steroid hormones on cerebral structure and function is not fixed prenatally», em Brain Cog, vol. 26 pp.243-248. ISBN Zhou JN

Formiga

H.; Jefferson, E. (novembro de 1988). «ASPECTS OF THE BIOLOGY OF THE PRIMITIVE ANT GENUS MYRMECIA F. (HYMENOPTERA: FORMICIDAE)». Australian Journal of