Estou tentando entender como o gerador de senha GRC pode obter 512 bits de dados secretos enquanto criptografa 128 bits de dados.

O endereço do gerador está localizado aqui: https://www.grc.com/passwords.htm Consulte a seção “Os detalhes técnicos” no final da página.

Eles escreveram:

O resultado da combinação da chave secreta Rijndael / AES de 256 bits, o desconhecido (portanto secreto ) valor presente do contador de incremento monotônico de 128 bits e o vetor de inicialização (IV) secreto de 128 bits é de 512 bits de dados secretos, fornecendo segurança extremamente alta para a geração das “senhas perfeitas” desta página. Ninguém vai descobrir quais senhas você acabou de receber.

Diagrama que eles fornecem: Diagrama do processo de criptografia

O que tentei é

fiz um novo IV (128 bits):

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]) 

Um contador monolítico – o que é realmente criptografado (128 bits):

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01]) 

Uma chave de criptografia (256 bits):, 32 bytes)

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]) 

Eles XOR o IV com o contador monolítico (ou o último resultado de criptografia com o monolítico contador, se houver um último resultado).

Eles dizem que fornece 512 bits de dados secretos. Mas quando criptografo tudo, obtenho 16 bytes (128 bits) de dados:

<Buffer ad 86 de 83 23 1c 32 03 a8 6a e3 3b 72 1e aa 9f> 

Como eles obtêm 512 bits de dados “secretos”? E como eles XOR 512 bits de dados com 128 bits do contador monolítico?

Resposta

E como eles XOR 512 bits de dados com 128 bits do contador monolítico?

Ele não faz. Observe cuidadosamente o algoritmo você postou. Todas as operações XOR ocorrem em valores de 128 bits. A entrada de 256 bits é a chave para uma implementação AES de 256 bits. A chave SPDT começa usando o IV secreto e, em seguida, passa a funcionar com um contador de 128 bits. Os 512 bits vêm de 512 = | IV | + | contador | + | chave |. Isso tudo é um pouco sem sentido, pois ele está inserindo 512 bits de (suposta) entropia e gerando apenas uma senha de 128 bits. Isso é exatamente o que você provou a si mesmo. Normalmente, o algoritmo AES-CTR-PRNG é o seguinte (sem nenhuma opção) e o método de Steve é caracteristicamente incomum.

aes ctr prng

Como eles obtêm 512 bits de dados “secretos”?

Quem sabe? Provavelmente é chamada para CryptGenRandom (Steve “sa Windows man), mas talvez seja apenas codificado em algum lugar. E em assembly, sem dúvida. Ou pode vir de seu Gerador de número pseudoaleatório de ultra-alta entropia com base em quadrados latinos. Outro doozy.

Ninguém vai descobrir quais senhas você acabaram de receber.

Alcance o sal. Isso é claramente falso. Qualquer roteador de interceptação SSL ao longo da linha pode descriptografar e ler o tráfego da web (no voar). E Steve também sabe. Talvez a moral da pergunta seja – não use um serviço da web para obter sua senha ou chave. Se você realmente não quer uma chave / senha, use os dados ou simplesmente pressione as teclas do teclado aleatoriamente. Isso foi bom o suficiente para top secret one time pads durante a 2ª Guerra Mundial, então deve ser o suficiente para você.

Você realmente fez a pergunta errada. Você deveria ter perguntado quem é Steve Gibson? Pesquise no Google e descubra. Existem muitos artigos. Não consigo escrever mais sem sacrificar minha compostura e profissionalismo.

Comentários

  • Uau, hahaha, muito obrigado. Resposta muito interessante. Então, eu não deveria ' confiar neste site porque ele ' é um site, mas também, e isso foi o que me ocorreu, porque o site tente ser transparente explicando como eles geram as chaves, mas falharam e provaram que estão totalmente errados ao fazê-lo. Obrigado novamente por seu tempo
  • @JeremyDicaire Você pode querer dar uma olhada em isso e lembre-se da próxima vez que vir algo relacionado ao GRC …

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *