Estou tentando aprender mais sobre o modo GCM e como ele difere entre o CBC. Já sei que o GCM fornece um MAC que é usado para autenticação de mensagens. Pelo que li e pelos trechos de código que vi, o GCM faz um exclusivo ou muito parecido com o CBC, mas não tenho certeza do que o exclusivo ou é contra. No modo CBC, o ou exclusivo é texto simples em relação ao bloco de texto cifrado anterior, exceto para o primeiro bloco que usa um IV aleatório. O GCM faz o mesmo ou faz o exclusivo – ou contra outra coisa? Se sim, alguém pode explicar brevemente como o GCM usa o IV e como o exclusivo-or é feito.

Comentários

  • Se você desconsiderar a autenticação, O GCM se comporta como o modo CTR, não como o modo CBC. Pesquise na wikipedia.
  • Só porque não está ' definido nesta página … GCM = Galois / Modo de contador e CBC = encadeamento de blocos de criptografia … outras definições incluem MAC (código de autenticação de mensagem), IV (vetor de inicialização) e CTR (modo de contagem).

Resposta

Os modos GCM e CBC funcionam internamente de maneira bastante diferente; ambos envolvem uma cifra de bloco e um ou exclusivo, mas os usam de maneiras diferentes.

No modo CBC, você criptografa um bloco de dados pegando o bloco de texto simples atual e excluindo-o com o bloco de texto cifrado anterior (ou IV) e, em seguida, enviar o resultado por meio da cifra de bloco; a saída da cifra de bloco é o bloco de texto cifrado.

O modo GCM fornece privacidade (criptografia) e integridade. Para fornecer criptografia, o GCM mantém um contador; para cada bloco de dados, ele envia o valor atual do contador por meio da cifra de bloco. Em seguida, leva a saída da cifra de bloco, e exclusiva ou “s que com o texto simples para formar o texto cifrado.

Observe duas diferenças principais:

  • O que está sendo exclusivo ou “ed; no modo CBC, o texto simples é exclusivo ou” ed com dados que o invasor conhece (o IV ou um bloco de texto cifrado anterior); portanto, isso em si não fornece nenhuma segurança inerente (em vez disso, fazemos isso para minimizar a chance de enviarmos o mesmo bloco duas vezes através da cifra de bloco). No modo GCM, o texto simples é exclusivo ou com saída da cifra de bloco; é inerente ao modelo de segurança que o invasor não pode adivinhar essa saída (a menos que já conheça o texto simples e o texto cifrado).

  • O que está sendo enviado pela cifra de bloco; no modo CBC, o texto simples é enviado através da cifra de bloco (depois de ter sido “randomizado” com um ou exclusivo); no modo GCM, o que está sendo enviado através da cifra de bloco não depende realmente dos dados sendo criptografado, mas apenas no estado interno.

Quanto a como o GCM usa um IV (eu pessoalmente considero “nonce” um termo melhor para o que o GCM usa, porque isso enfatiza o ideia de que com o GCM, você não pode usar o mesmo nonce para a mesma chave duas vezes), bem, ele é usado para inicializar o contador.

Comentários

  • Muito interessante … Se bem entendi, você está dizendo que no modo GCM o texto cifrado de um bloco é exclusivo ou ' ed em relação ao texto simples que acabou de passar pela cifra e esse bloco é enviado. Se for verdade, como esse bloco é descriptografado? Não é ' o texto cifrado da criptografia AES (por exemplo) necessária para descriptografar os dados? Como isso é obtido? Além disso, se o o texto criptografado original é obtido e pode ser usado para texto cifrado exclusivo ou enviado, que retornaria o texto simples e não precisaria de mais descriptografia … Eu ' estou faltando alguma coisa .. .
  • Não, no GCM, pegamos um contador, enviamos por meio da cifra de bloco e, a seguir, excluímos ou com o texto simples para formar o texto cifrado. No lado da descriptografia, mantemos o mesmo contador, enviamos através da cifra de bloco e, em seguida, exclusivo ou com o texto cifrado para formar o texto simples.
  • @poncho Portanto, no GCM não precisamos do Parte de “descriptografia” da cifra de bloco? Porque usamos “criptografia” em ambos os lados.
  • Se você usar o mesmo nonce duas vezes com a mesma chave, você se abre para … que ataque?
  • @RobertSiemer: dois ataques: a) o invasor obtém uma quantidade significativa de informações das duas mensagens criptografadas com o mesmo nonce (possivelmente o suficiente para deduzir ambos os conteúdos), eb) o ataque obtém informações que lhe permitiriam alterar as mensagens sem ser detectado

Deixe uma resposta

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