Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2024

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
fg101864
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Técnico Judiciário - Área Administrativa - Especialidade: Tecnologia da Informação
Iago trabalha em um banco e pretende encaminhar uma mensagem a Joyce, que trabalha na mesma rede, mas está fisicamente distante. Iago e Joyce compartilham um valor secreto comum que deve ser utilizado no trâmite da mensagem para assegurar sua autenticidade e confidencialidade.Para garantir os critérios da comunicação, Iago deverá aplicar uma:
  1. Afunção de hash à mensagem. Após esse processo, deve efetuar a criptografia no resumo da mensagem e concatenar com a mensagem inicial a ser enviada a Joyce;
  2. Bfunção de hash à mensagem, concatenar com a mensagem a ser enviada e efetuar a criptografia de todo o bloco concatenado para que este seja enviado a Joyce;
  3. Cconcatenação do valor secreto comum com a mensagem para efetuar o cálculo do valor de hash. Após isso, concatena-se o hash com a mensagem para que sejam enviados para Joyce;
  4. Dconcatenação do valor secreto comum com a mensagem para efetuar o cálculo do valor de hash. Em seguida, deve efetuar o cálculo do hash. Após esse processo, concatena-se a mensagem com o resumo e depois efetua-se a criptografia do pacote completo, que será enviado a Joyce;
  5. Ecifração da mensagem e logo depois o cálculo do hash da mensagem cifrada. Após esse processo, faz-se a concatenação do hash com a mensagem cifrada, que será enviada a Joyce.
Revelar gabarito e comentário

GabaritoD — concatenação do valor secreto comum com a mensagem para efetuar o cálculo do valor de hash. Em seguida, deve efetuar o cálculo do hash. Após esse processo, concatena-se a mensagem com o resumo e depois efetua-se a criptografia do pacote completo, que será enviado a Joyce;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Autenticação e confidencialidade com criptografia simétrica

Gabarito: letra D. A alternativa D descreve o processo correto para garantir autenticidade (integridade e origem) e confidencialidade quando duas partes compartilham um segredo comum (chave simétrica). Ela utiliza o segredo para calcular um MAC (Message Authentication Code) sobre a mensagem, depois concatena a mensagem com o MAC e, por fim, criptografa todo o pacote. Isso assegura que a mensagem não foi alterada (autenticidade via MAC) e que apenas o destinatário, que possui a chave, pode ler (confidencialidade via criptografia).

A questão exige conhecimento de conceitos fundamentais de segurança da informação: a função hash usada com a chave secreta produz um MAC; sem a chave, é apenas um hash comum, que não autentica a origem. Além disso, a confidencialidade exige que o conteúdo seja criptografado.


Alternativa

Descrição do Processo

Garante Autenticidade?

Garante Confidencialidade?

Motivo da Correção/Incorreção

A

Hash da mensagem → criptografa só o hash → concatena hash criptografado + mensagem em claro

Sim (parcial)

Não

Mensagem não é criptografada; sigilo violado.

B

Hash da mensagem (sem chave) → concatena hash + mensagem → criptografa tudo

Não

Sim

Hash sem chave não autentica a origem (não é MAC).

C

Concatena segredo + mensagem → hash (MAC) → concatena mensagem + hash → envia em claro

Sim

Não

Nenhuma criptografia; sigilo violado.

D

Concatena segredo + mensagem → hash (MAC) → concatena mensagem + MAC → criptografa tudo

Sim

Sim

Gabarito. MAC autentica; criptografia garante sigilo.

E

Criptografa mensagem → hash da mensagem cifrada → concatena hash + mensagem cifrada

Não

Sim

Hash sobre texto cifrado não autentica a origem (não é MAC).

  1. 1Concatenar segredo + mensagem
  2. 2Calcular hash (MAC)
  3. 3Concatenar mensagem + MAC
  4. 4Criptografar pacote completo
  5. 5Enviar para Joyce
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Aplica hash à mensagem, criptografa apenas o resumo e concatena com a mensagem original em claro. A mensagem não é criptografada, portanto não há confidencialidade. O hash criptografado até poderia servir como MAC, mas a ausência de criptografia sobre o texto claro viola o sigilo.

Alternativa B — ❌ Incorreta

Calcula o hash apenas da mensagem (sem usar o segredo), concatena hash e mensagem, e criptografa tudo. Falta a chave no cálculo do hash, logo o hash resultante é um mero resumo, não um MAC – qualquer um pode recalculá-lo e detetar alterações, mas não autentica a origem (não prova que foi Iago quem gerou). Sem o vínculo com o segredo, a autenticidade fica comprometida.

Alternativa C — ❌ Incorreta

Concatena o segredo com a mensagem e calcula o hash (correto para MAC), mas não criptografa o pacote. A mensagem e o hash são enviados em claro – não há confidencialidade. A autenticidade estaria garantida, mas o sigilo não.

Alternativa D — ✅ Correta ⟵ GABARITO

Realiza exatamente os passos necessários:

  1. Concatena o valor secreto comum com a mensagem → entrada para o hash (MAC).

  2. Calcula o hash (MAC).

  3. Concatena a mensagem original com o MAC.

  4. Criptografa todo o pacote (mensagem + MAC) com a chave secreta.

Isso produz confidencialidade (criptografia) e autenticidade (MAC baseado no segredo compartilhado). O destinatário descriptografa, recalcula o MAC e verifica a integridade e a origem.

Alternativa E — ❌ Incorreta

Criptografa a mensagem primeiro, depois calcula o hash da mensagem cifrada (sem usar a chave). Novamente, falta a chave no hash – o hash sobre o texto cifrado não é um MAC, pois qualquer pessoa que conheça o algoritmo pode recomputá-lo. Não autentica a origem. Para que o hash fosse um MAC, ele deveria incorporar o segredo (ex.: HMAC). Além disso, a ordem “encrypt-then-MAC” é válida, mas o MAC precisa ser calculado com a chave; sem ela, não há autenticidade.

PEGA ESSA DICA!

Lembre-se: um hash simples sem chave nunca autentica a origem – é apenas um resumo. Para autenticidade com chave simétrica, utilize um MAC (como HMAC). Para confidencialidade, criptografe. A ordem mais comum e segura é MAC-then-encrypt (calcular o MAC sobre o texto claro, depois criptografar) ou encrypt-then-MAC (criptografar, depois calcular o MAC sobre o texto cifrado). Ambas são aceitáveis, desde que o MAC use a chave.


Gabarito: letra D.

Link permanente: /questoes/fg101864