No algoritmo de criptografia minúscula :
Diferentes múltiplos de uma constante mágica são usados para evitar ataques simples com base na simetria das rodadas. A constante mágica, 2654435769 ou 9E3779B9 16 é escolhida como , onde ϕ é a razão áurea.
Que propriedades possui que o tornam útil nesse contexto?
cr.crypto-security
MS Dousti
fonte
fonte
Respostas:
AFAIK, esses valores "mágicos" têm as duas propriedades a seguir:
Você pode encontrar um caso semelhante no MD5 . Considere a seguinte linha:
k[i] := floor(abs(sin(i + 1)) × (2 pow 32))
Aqui,
sin(i + 1)
pretende-se gerar valores mágicos; que são únicos, de aparência aleatória e podem funcionar para muitosi
. (Na verdade,i
varia de 0 a 63).Edit: Ao ler o artigo original no TEA , entende-se que a resposta dada por "Steven Stadnicki" está correta. Observe que a constante mágica é nome delta:
Como apenas 32 múltiplos de delta são usados (um por cada rodada), não é estranho que o algoritmo não seja muito sensível a nenhum delta específico. (Veja a resposta de Steven Stadnicki para mais informações.)
Editar 2: Aliás, o MD4 usa raízes quadradas de 2 (0x5a827999) e 3 (0x6ed9eba1) como constantes "mágicas" em suas operações. A seção 5.4.4 do livro Segurança de rede: comunicação privada em um mundo público explica isso bem:
Essa explicação é a mesma do argumento abaixo, em um comentário de Gilles.
fonte
fonte
k[i]
, conforme definido no MD5? (Veja minha resposta acima.)