×
1 Escolha certificados EITC/EITCA
2 Aprenda e faça exames online
3 Obtenha suas habilidades de TI certificadas

Confirme suas habilidades e competências de TI sob a estrutura de certificação europeia de TI de qualquer lugar do mundo totalmente online.

Academia EITCA

Padrão de atestado de habilidades digitais do Instituto Europeu de Certificação de TI com o objetivo de apoiar o desenvolvimento da Sociedade Digital

FAÇA LOGIN NA SUA CONTA

CRIAR UMA CONTA ESQUECEU SUA SENHA?

ESQUECEU SUA SENHA?

AAH, espere, eu me lembro agora!

CRIAR UMA CONTA

JÁ TEM UMA CONTA?
ACADEMIA EUROPEIA DE CERTIFICAÇÃO DE TECNOLOGIAS DA INFORMAÇÃO - ATESTANDO AS SUAS HABILIDADES DIGITAIS
  • REGISTRO
  • LOGIN
  • INFORMACAO

Academia EITCA

Academia EITCA

Instituto Europeu de Certificação de Tecnologias de Informação - EITCI ASBL

Provedor de Certificação

Instituto EITCI ASBL

Bruxelas, União Europeia

Estrutura reguladora da Certificação Europeia de TI (EITC) em apoio ao profissionalismo de TI e à Sociedade Digital

  • CERTIFICADOS
    • ACADEMIAS DA EITCA
      • CATÁLOGO DAS ACADEMIAS DA EITCA<
      • GRÁFICOS DE COMPUTADOR EITCA/CG
      • EITCA/SEGURANÇA DA INFORMAÇÃO
      • Informações comerciais da EITCA/BI
      • PRINCIPAIS COMPETÊNCIAS EITCA/KC
      • EITCA/EG E-GOVERNO
      • DESENVOLVIMENTO DA WEB EITCA/WD
      • EITCA/AI ARTIFICIAL INTELLIGENCE
    • CERTIFICADOS EITC
      • CATÁLOGO DE CERTIFICADOS EITC<
      • CERTIFICADOS GRÁFICOS DE COMPUTADOR
      • CERTIFICADOS DE DESIGN WEB
      • CERTIFICADOS DE PROJETO 3D
      • CERTIFICADO DE ESCRITÓRIO
      • CERTIFICADO BITCOIN BLOCKCHAIN
      • CERTIFICADO WORDPRESS
      • CERTIFICADO DE PLATAFORMA DE NUVEMNOVAS
    • CERTIFICADOS EITC
      • CERTIFICADOS DE INTERNET
      • CERTIFICADOS DE CRIPTOGRAFIA
      • CERTIFICADOS DE NEGÓCIOS EM TI
      • CERTIFICADOS DE TELEWORK
      • CERTIFICADOS DE PROGRAMAÇÃO
      • CERTIFICADO DE RETRATO DIGITAL
      • CERTIFICADOS DE DESENVOLVIMENTO DA WEB
      • CERTIFICADOS DE APRENDIZAGEM PROFUNDANOVAS
    • CERTIFICADOS PARA
      • ADMINISTRAÇÃO PÚBLICA DA UE
      • PROFESSORES E EDUCADORES
      • PROFISSIONAIS DE SEGURANÇA DE TI
      • DESIGNERS GRÁFICOS E ARTISTAS
      • HOMENS DE NEGÓCIOS E GERENTES
      • DESENVOLVEDORES DE BLOCKCHAIN
      • DESENVOLVEDORES DA WEB
      • ESPECIALISTAS DO CLOUD AINOVAS
  • DESTAQUE
  • SUBVENÇÃO
  • COMO FUNCIONA
  •   IT ID
  • SOBRE NÓS
  • CONTACTO
  • MEU PEDIDO
    Seu pedido atual está vazio.
EITCIINSTITUTE
CERTIFIED

Podemos usar uma cifra de bloco para construir uma função hash ou MAC?

by Emmanuel Udófia / Sábado, 10 2024 agosto / Publicado em Cíber segurança, Fundamentos de criptografia clássica EITC/IS/CCF, Aplicações de cifras de bloco, Modos de operação para cifras de bloco

Certamente, o uso de cifras de bloco para construir funções hash e códigos de autenticação de mensagens (MACs) é uma prática bem estabelecida no campo da criptografia. Uma cifra de bloco é uma cifra de chave simétrica que opera em blocos de dados de tamanho fixo usando uma chave secreta compartilhada. Exemplos de cifras de bloco incluem o Advanced Encryption Standard (AES) e o Data Encryption Standard (DES). Essas cifras são projetadas principalmente para criptografia e descriptografia, mas suas propriedades podem ser aproveitadas para criar outras primitivas criptográficas, como funções hash e MACs.

Funções Hash de Cifras de Bloco

Uma função hash criptográfica é um algoritmo determinístico que mapeia uma quantidade arbitrária de dados para uma sequência de bytes de tamanho fixo. A saída, conhecida como valor hash, deve ter várias propriedades principais: deve ser computacionalmente inviável reverter (resistência à pré-imagem), encontrar duas entradas diferentes que produzam a mesma saída (resistência à colisão) ou encontrar uma entrada diferente que produza o mesmo saída como uma determinada entrada (segunda resistência de pré-imagem).

Construção Merkle-Damgård

Um dos métodos mais conhecidos para construir uma função hash a partir de uma cifra de bloco é a construção Merkle-Damgård. Este método usa uma cifra de bloco em um modo específico de operação para processar os dados de entrada em blocos.

1. Inicialização: comece com um valor inicial, conhecido como vetor de inicialização (IV).
2. Tratamento: divida a mensagem de entrada em blocos de tamanho fixo. Para cada bloco, use a cifra de bloco para transformar o estado atual.
3. Finalização: Após processar todos os blocos, o estado final é o valor hash.

Por exemplo, deixe E ser uma cifra de bloco, K uma chave, IV o vetor de inicialização, e M a mensagem dividida em blocos M_1, M_2, \pontos, M_n. A função hash H(M) pode ser definido da seguinte forma:

    \[ H(M) = E_K(E_K(\pontos E_K(IV, M_1), M_2) \pontos, M_n) \]

Essa construção garante que a função hash herde as propriedades de segurança da cifra de bloco subjacente, assumindo que a cifra de bloco seja segura.

Construção Davies-Meyer

Outro método popular é a construção de Davies-Meyer, que usa uma cifra de bloco de maneira feed-forward para construir uma função hash. A construção é definida da seguinte forma:

    \[ H_i = E_K(H_{i-1}, M_i) \oplus H_{i-1} \]

Onde Oi é o valor do hash após o processamento do i-ésimo bloco, E_K é a função de criptografia de cifra de bloco com chave K e \ oplus denota a operação XOR bit a bit. O valor inicial H_0 normalmente é definido como uma constante fixa.

Códigos de autenticação de mensagens (MACs) de cifras de bloco

Um Código de Autenticação de Mensagem (MAC) é uma pequena informação usada para autenticar uma mensagem e garantir sua integridade. Um algoritmo MAC recebe como entrada uma mensagem e uma chave secreta e gera uma tag MAC. O destinatário, que também possui a chave secreta, pode verificar a autenticidade da mensagem recalculando a etiqueta MAC e comparando-a com a etiqueta recebida.

CBC-MAC

Um dos métodos mais simples e amplamente utilizados para construir um MAC a partir de uma cifra de bloco é o Cipher Block Chaining Message Authentication Code (CBC-MAC). Este método usa o modo CBC de operação de uma cifra de bloco para processar a mensagem, e o bloco final é usado como tag MAC.

1. Inicialização: Comece com um vetor de inicialização (IV) definido como zero.
2. Tratamento: criptografe cada bloco da mensagem usando a cifra de bloco no modo CBC.
3. Finalização: A saída da criptografia de bloco final é a tag MAC.

Por exemplo, deixe E ser uma cifra de bloco, K uma chave, M a mensagem dividida em blocos M_1, M_2, \pontos, M_n e IV o vetor de inicialização. A etiqueta CBC-MAC T é calculado da seguinte forma:

    \[C_0=IV\]

    \[ C_i = E_K(C_{i-1} \oplus M_i) \text{ para } i = 1, \dots, n \]

    \[T=C_n\]

A segurança do CBC-MAC depende da exclusividade do comprimento da mensagem e da chave. Para garantir a segurança, recomenda-se a utilização de chaves diferentes para criptografia e geração de MAC.

HMAC

Outra construção MAC amplamente utilizada é o Código de Autenticação de Mensagem Baseado em Hash (HMAC), que pode ser construído usando uma função hash baseada em cifra de bloco. O HMAC oferece melhores propriedades de segurança e é mais robusto contra certos tipos de ataques.

HMAC é definido da seguinte forma:

    \[ HMAC(K, M) = H((K' \oplus opad) \| H((K' \oplus ipad) \| M)) \]

Onde:
- H é uma função hash (por exemplo, uma construída usando uma cifra de bloco).
- K' É a chave K preenchido com o tamanho do bloco da função hash.
- \ oplus denota a operação XOR bit a bit.
- opad e no ipad são constantes de preenchimento fixas.
- \| denota concatenação.

Considerações de Segurança

Ao usar cifras de bloco para construir funções hash e MACs, diversas considerações de segurança devem ser levadas em consideração:

1. Gerenciamento de chaves: A segurança das construções depende do sigilo da chave. Práticas adequadas de gerenciamento de chaves devem ser seguidas para garantir que as chaves não sejam comprometidas.
2. Resistência à colisão: Para funções hash, a resistência à colisão é importante. A cifra de bloco deve ser segura contra ataques que possam levar a colisões na função hash.
3. Comprimento da Mensagem: Para CBC-MAC, a segurança pode ser comprometida se a mesma chave for usada para mensagens de comprimentos diferentes. É importante garantir que a chave seja exclusiva para cada comprimento de mensagem ou usar técnicas adicionais para lidar com mensagens de comprimento variável.
4. Acolchoamento: Esquemas de preenchimento adequados devem ser usados ​​para garantir que os blocos de mensagens tenham o tamanho correto para a cifra de bloco. O preenchimento incorreto pode levar a vulnerabilidades de segurança.
5. Desempenho: O desempenho das construções depende da eficiência da cifra de bloco subjacente. Cifras de bloco de alto desempenho, como AES, são preferidas para implementações práticas.

Exemplos Práticos

Exemplo de CBC-MAC

Considere uma cifra de bloco E com um tamanho de bloco de 128 bits e uma chave K. Deixe a mensagem M seja "Olá, mundo!" preenchido até o tamanho de bloco mais próximo. A mensagem é dividida em blocos M_1, M_2, e a tag CBC-MAC é calculada da seguinte forma:

1. Inicialização: VI = 0
2. Tratamento:
- C_1 = E_K(IV \oplus M_1)
- C_2 = E_K(C_1 \oplus M_2)
3. Finalização: T = C_2

A etiqueta resultante T é usado como o MAC da mensagem.

Exemplo de HMAC

Considere uma função hash H construído usando uma cifra de bloco com tamanho de bloco de 512 bits. Deixe a chave K seja "secretkey" e a mensagem M seja "Olá, mundo!". A tag HMAC é calculada da seguinte forma:

1. Preenchimento de teclas: Aperte a tecla K ao tamanho do bloco da função hash para obter K'.
2. Hash Interno: Calcule o hash interno:
- interno = H((K' \oplus ipad) \| M)
3. Hash externo: Calcule o hash externo:
- externo = H((K' \oplus opad) \| interno)

A etiqueta resultante exterior é o HMAC da mensagem.

As cifras de bloco são primitivas criptográficas versáteis que podem ser usadas para construir funções hash e MACs. As construções Merkle-Damgård e Davies-Meyer são métodos populares para construir funções hash a partir de cifras de bloco, enquanto CBC-MAC e HMAC são construções MAC amplamente utilizadas. A segurança dessas construções depende das propriedades da cifra de bloco subjacente, do gerenciamento adequado de chaves e da adesão às melhores práticas na implementação criptográfica.

Outras perguntas e respostas recentes sobre Aplicações de cifras de bloco:

  • O que uma cifra de bloco deve incluir de acordo com Shannon?
  • A segurança das cifras de bloco depende muitas vezes da combinação de operações de confusão e difusão?
  • Difusão significa que pedaços individuais de texto cifrado são influenciados por muitos pedaços de texto simples?
  • O modo BCE divide grandes textos simples de entrada em blocos subsequentes?
  • O modo OFB pode ser usado como geradores de keystream?
  • Uma criptografia pode ser determinística?
  • Quais são os modos de operação?
  • O que o modo BCE faz com cifras de bloco simples
  • O PSRNG pode ser feito por cifras de bloco?
  • Um MAC pode ser construído por cifras de bloco?

Veja mais perguntas e respostas em Aplicações de cifras de bloco

Mais perguntas e respostas:

  • Campo: Cíber segurança
  • programa: Fundamentos de criptografia clássica EITC/IS/CCF (ir para o programa de certificação)
  • Lição: Aplicações de cifras de bloco (vá para a lição relacionada)
  • Tópico: Modos de operação para cifras de bloco (ir para tópico relacionado)
Tagged sob: Cifra de Bloco, CBC-MAC, Cíber segurança, Função Hash, HMAC, MAC
Início » Cíber segurança » Fundamentos de criptografia clássica EITC/IS/CCF » Aplicações de cifras de bloco » Modos de operação para cifras de bloco » » Podemos usar uma cifra de bloco para construir uma função hash ou MAC?

Centro de Certificação

MENU DO USUÁRIO

  • Minha Conta

CATEGORIA DE CERTIFICADO

  • Certificação EITC (105)
  • Certificação EITCA (9)

O que você está procurando?

  • Conheça
  • Como funciona?
  • Academias da EITCA
  • Subsídio EITCI DSJC
  • Catálogo completo do EITC
  • O seu pedido
  • Filtro
  •   IT ID
  • Revisões da EITCA (Publ. médio)
  • Sobre
  • Contato

A EITCA Academy faz parte da estrutura europeia de certificação de TI

A estrutura europeia de certificação de TI foi estabelecida em 2008 como um padrão baseado na Europa e independente de fornecedor em certificação on-line amplamente acessível de habilidades e competências digitais em muitas áreas de especializações digitais profissionais. A estrutura do EITC é regida pela Instituto Europeu de Certificação de TI (EITCI), uma autoridade de certificação sem fins lucrativos que apoia o crescimento da sociedade da informação e preenche a lacuna de habilidades digitais na UE.

Elegibilidade para EITCA Academy 90% do suporte de subsídio EITCI DSJC

90% das taxas da EITCA Academy subsidiadas na inscrição por

    Secretaria da Academia EITCA

    Instituto Europeu de Certificação de TI ASBL
    Bruxelas, Bélgica, União Europeia

    Operador da estrutura de certificação EITC/EITCA
    Norma que rege a certificação de TI europeia
    Acesso a Formulário de Contacto ou ligue + 32 25887351

    Siga o EITCI no X
    Visite a EITCA Academy no Facebook
    Interaja com a EITCA Academy no LinkedIn
    Confira os vídeos EITCI e EITCA no YouTube

    Financiado pela União Europeia

    Financiado pela Fundo Europeu de Desenvolvimento Regional (FEDER) e a Fundo Social Europeu (FSE) em série de projetos desde 2007, atualmente regidos pela Instituto Europeu de Certificação de TI (EITCI) desde 2008

    Política de Segurança da Informação | Política DSRRM e GDPR | Política de proteção de dados | Registro de Atividades de Processamento | Política HSE | Política Anti-Corrupção | Política de escravidão moderna

    Traduzir automaticamente para o seu idioma

    Termos e Condições | Política de Privacidade
    Academia EITCA
    • Academia EITCA nas redes sociais
    Academia EITCA


    © 2008-2026  Instituto Europeu de Certificação de TI
    Bruxelas, Bélgica, União Europeia

    TOPO
    CONVERSE COM O SUPORTE
    Você tem alguma pergunta?
    Responderemos aqui e por e-mail. Sua conversa será rastreada com um token de suporte.