BRPI0916687B1 - Método para gerar um código de autenticação de mensagem baseado em cifra - Google Patents

Método para gerar um código de autenticação de mensagem baseado em cifra Download PDF

Info

Publication number
BRPI0916687B1
BRPI0916687B1 BRPI0916687-4A BRPI0916687A BRPI0916687B1 BR PI0916687 B1 BRPI0916687 B1 BR PI0916687B1 BR PI0916687 A BRPI0916687 A BR PI0916687A BR PI0916687 B1 BRPI0916687 B1 BR PI0916687B1
Authority
BR
Brazil
Prior art keywords
bytes
message
state matrix
cipher
message authentication
Prior art date
Application number
BRPI0916687-4A
Other languages
English (en)
Inventor
Bruce Murray
Mathias Wagner
Original Assignee
Nxp B.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nxp B.V. filed Critical Nxp B.V.
Publication of BRPI0916687A2 publication Critical patent/BRPI0916687A2/pt
Publication of BRPI0916687B1 publication Critical patent/BRPI0916687B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

método para gerar um código de autenticação de mensagem baseado em cifra. a presente invenção se refere a um método para gerar um código de autenticação de mensagem baseado em cifra, em que uma matriz de estado (25) compreendida por linhas (31,34) de bytes (s' 0 - s' 15) e colunas (41,44) de bytes (s' 0- s'15) baseadas em uma mensagem a ser transmitida é gerada. o código de autenticação de mensagem baseado em cifra é gerado pela retenção dos bytes (29,30) de pelo menos uma linha (32, 34) da matriz de estado (25).

Description

CAMPO DA INVENÇÃO
[0001] A presente invenção se refere a um método para gerar um código de autenticação de mensagem baseado em cifra.
ANTECEDENTES DA INVENÇÃO
[0002] Códigos de autenticação de mensagem (MACs) são pedaços de informação usados para autenticar mensagens. As entradas para um algoritmo gerar um MAC são uma chave secreta e a mensagem a ser autenticada. MACs baseados em cifra (CMAC) são códigos de autenticação de mensagem baseados em cifra de bloco e são descritos, por exemplo, na publicação especial NIST (The National Institute of Standards and Technology) 800-38B, May 2005.
[0003] O CMAC em uma mensagem é construído pela divisão em blocos de tamanho igual ao tamanho do bloco da cifra subjacente, por exemplo, 128 bits no caso do Padrão de Encriptação Avançado (AES, do inglês Advanced Encryption Standard), a Criptografia de Blocos Encadeados (CBC) da mensagem (com padding no último bloco, se requerido), e retendo (todo ou parte) do resultado da encriptação do último bloco como o valor MAC calculado.
[0004] Para evitar certas classes de ataque, o último bloco é submetido, antes da cifragem a uma disjunção exclusiva (XORing) com um ou dois possíveis valores de “subchaves”, geralmente estipulados como K1 ou K2, derivados de uma encriptação do vetor zero sob a chave em uso. A escolha de qual subchave utilizar é determinada pelo fato de o último bloco de mensagem conter padding ou não. Os valores da subchave podem somente ser computados por partes que conheçam a chave de cifra em uso.
[0005] Se o MAC for menor que o tamanho do bloco da cifra, então o padrão determina que o MAC computado deve ser truncado pela retenção do número requerido de bits mais significativos.
[0006] Se um MAC for computado em uma mensagem de tamanho inferior ou igual ao tamanho do bloco da cifra, então o último bloco é também o primeiro bloco, de modo que a modificação pela chave XORíng seja realizada neste único bloco. Isso significa que a entrada direta à operação do bloco da cifra durante esta computação do MAC não é conhecida por um observador externo.
[0007] A figura 1 mostra uma matriz de estado 1 e sua numeração de bits de acordo com o AES divulgado na Federal Information Processing Standard (FIPS) publication 197, November 26, 2001.
[0008] A cifra AES opera na matriz de estado 1 de bytes, que é do tamanho de 4 bytes por 4 bytes e tem entradas de byte Sr,c, em que o índice “r” indica a linha relevante e o índice “C” indica a coluna relevante da matriz de estado 1. Ao representar as saídas da operação de cifra AES como uma série de bits, os bytes são ordenados como se segue: So,o Si ,0 S2,0 S3,o So,1 Sl,1 S2,1 Ss,1 So,2 Sl,2 S2,2 S3,2 So,3 Sl,3 S2,3 S3,3
[0009] Subsequentemente, os bytes dessa série de bits são numerados de acordo com uma convenção, na qual S15 é o byte mais a esquerda ou mais significativo e so e o byte mais a direita ou menos significativo, de modo que Sr,c = S15 - (4c + r)
[0010] O método padrão para truncamento de um MAC de acordo com o padrão NIST mencionado anteriormente é reter o número requerido de bits mais significativos. Consequentemente, o truncamento de um MAC baseado em AES em 8 bits corresponde à retenção dos bytes de estado final S15 a se inclusive.
[0011] A figura 2 mostra como um exemplo um estado AES de 16 bytes durante o round final de uma computação MAC, de acordo com o padrão. No início de uma assim-chamada cifra, uma chave do round (Round Key) inicial 21 é adicionada à matriz de estado 1 da Fig. 1 a fim de gerar uma matriz de estado 22 (operação AddRoundKey). A matriz de estado 22 é submetida a uma transformação ShiftBytes para gerar uma primeira matriz de estado transformada 23, que é submetida a uma transformação ShiftRow para gerar uma segunda matriz de estado transformada 24. Em seguida, uma nova chave do round 26 é adicionada à segunda matriz de estado transformada 24 por disjunção exclusiva (XORing) de cada coluna do Estado da segunda matriz de estado transformada 24 com uma palavra de um cronograma de chave para gerar uma matriz de estado de saída 25 composta por linhas 31-34 e colunas 41-44. A matriz de estado 25 é utilizada para a computação do CMAC, em conformidade com o padrão, retendo os 8 bytes mais significativos S15 a Ss após o truncamento e os bytes restantes são descartados. Os 8 bytes mais significativos 27 para Sisa Se são ilustrados em sombreado.
[0012] As matrizes 22-24 mostram os bytes correspondentes antes do efeito das operações ShiftRows e SubBytes do round final. Assim, com base nas observações dos bytes de saída sombreados e hipóteses sobre as posições correspondentes na matriz de chave do round final 26, um ataque de análise diferencial de consumo de energia (DPA) é capaz de recuperar alguns bytes das chaves do round 21,26.
[0013] Nesse estágio, o atacante pode reunir informação adicional sobre a penúltima chave do round, uma vez que ele/ela pode computar a expansão da chave AES em ordem reversa.
[0014] O algoritmo de expansão da chave AES pode ser escrito na forma Wn-4 = T(Wn-l) <+> Wn
[0015] em que wn é uma palavra de 32 bits correspondente a uma coluna da matriz da chave do round 21,26, “<+>” indica a operação de “OU exclusivo”, e T() é uma transformação condicional tal que T(wn) = S(wn «< 8) <+> Rconst; se n = 0 mod 4, ou T(wn) = wn de outra forma «< 8 indica rotação para esquerda de 8 posições de bits, S() indica aplicação bit a bit {bitwise) de SubBytes, e Rconst é uma constante do round que varia por round, mas é conhecida.
[0016] Com esta combinação de bytes, a execução do algoritmo de expansão de chave adiante rende novamente mais bytes da chave do round final. Neste ponto, o atacante não pode ir adiante sem dificuldade considerável. A operação anterior à inserção da penúltima chave do round é uma MixColumns, e com apenas dois bytes/coluna disponíveis na entrada para SubBytes, as equações necessárias à construção de funções de seleção DPA baseadas em bytes anteriores são indeterminadas. No entanto, ele/ela já reduziu a complexidade do ataque a apenas 240 (uma vez que apenas 5 bytes da última chave do round permanecem desconhecidos) e, a este nível os bytes remanescentes podem ser facilmente recuperados através de um ataque de força bruta.
OBJETO E RESUMO DA INVENÇÃO
[0017] É um objeto da presente invenção fornecer um método para gerar um código de autenticação de mensagens baseado em cifra, o que complica um ataque DPA.
[0018] O objeto é alcançado de acordo com a invenção por meio de um método para gerar um código de autenticação de mensagens baseado em cifra, compreendendo as etapas de:
[0019] gerar uma matriz de estado composta de linhas de bytes e colunas de bytes com base em uma mensagem a ser transmitida e
[0020] computar um código de autenticação de mensagens baseado em cifra para a mensagem por uma retenção dos bytes de pelo menos uma linha da matriz de estado.
[0021] Como discutido na introdução, códigos de autenticação de mensagens baseados em cifra (CMACs) são pedaços de informação usados para autenticar mensagens. Uma entrada para gerar o CMAC é a mensagem a ser autenticada. Durante a geração do CMAC, uma matriz de estado com base na mensagem a ser transmitida é gerada.
[0022] A geração de CMAC convencional é também baseada nesta matriz de estado, mas retém os 8 bits mais significativos desta matriz de estado para o CMAC. De acordo com o método da invenção, entretanto, o CMAC é computado utilizando bytes de pelo menos uma linha da matriz de estado. Os bytes das linhas remanescentes são descartados. Isso pode ter o resultado de que um ataque diferencial de consumo de energia seja mais difícil de ser realizado no método da invenção.
[0023] De acordo com uma modalidade do método da invenção, os bytes de duas linhas são utilizados e os bytes das linhas restantes são descartados. Particularmente, uma linha cujos bytes são descartados está entre as duas linhas cujos bytes são retidos para o cálculo do CMAC da presente invenção. Se a matriz de estado é composta por quatro linhas e quatro colunas, então as duas linhas cujos bytes são retidos para o cálculo do CMAC da presente invenção podem ser as duas linhas pares ou as duas linhas ímpares da matriz de estado.
[0024] Alternativamente à computação do CMAC pela retenção dos bytes de pelo menos uma linha da matriz de estado, o código de autenticação de mensagem baseado em cifra pode ser calculado, submetendo pelo menos dois bytes da mensagem ou dois bytes da mensagem que foram pré- processados para uma operação de "OU exclusivo". Os bytes da mensagem podem ser pré-processados em ordem, por exemplo, para gerar a matriz de estado composta de linhas de bytes e colunas de bytes com base na mensagem. Então, pelo menos dois bytes da matriz de estado podem ser submetidos à operação de "OU exclusivo". A operação de "OU exclusivo" é normalmente referida como operação "XOR".
[0025] O código de autenticação de mensagens baseado em cifra pode ser gerado submetendo bytes correspondentes a uma metade da mensagem com bytes correspondentes à outra metade da mensagem para a operação de "OU exclusivo". Se a mensagem foi pré-processada para gerar a matriz de estado, então o código de autenticação de mensagens baseado em cifra pode ser calculado submetendo os bytes correspondentes a uma metade da matriz de estado com bytes correspondentes à outra metade da matriz de estado para a operação de "OU exclusivo". Então, todos os bytes da mensagem ou todos os bytes da matriz de estado são usados, aliviando a possibilidade de um ataque DPA bem sucedido. Para atacar essa abordagem, a análise diferencial de consumo de energia (DPA) (ataque) seria necessária para construir e testar hipóteses sobre dois bytes de chave do round final de cada vez. A análise da correlação do atacante precisaria procurar pares de sinais de bytes internos que sustentou hipóteses sobre cada par de bytes da chave do round. Assim, a análise inicial DPA se torna mais difícil em relação à utilização da computação convencional CMAC acordo com o padrão.
[0026] A matriz de estado pode particularmente ser gerada de acordo com o Padrão de Encriptação Avançado (AES), conforme publicado, por exemplo, no Federal Information Processing Standard (FIPS) publication 197, November 26, 2001 e, resumidamente descrito na introdução. Dessa forma, a matriz de estado, que é usada para computar o código de autenticação de mensagens baseado em cifra (CMAC) de acordo com o método da presente invenção compreende exatamente quatro linhas de bytes e exatamente quatro colunas de bytes.
[0027] A matriz de estado não precisa ser calculada de acordo com o padrão AES e, portanto, não necessariamente compreende quatro linhas e quatro colunas. Em geral, qualquer número de linhas ou colunas pode ser usado. Um conceito mais geral é conhecido como Rijndael. Particularmente, a matriz de estado pode compreender exatamente quatro linhas de bytes e seis colunas de bytes, ou quatro linhas de bytes e oito colunas de bytes.
[0028] A mensagem para a qual o CMAC é computado pode ser uma mensagem de bloco único. Então, a mensagem pode ser representada por uma única matriz de estado quando baseada, por exemplo, no padrão AES. Em outras palavras, o tamanho da mensagem é igual ou inferior ao tamanho do bloco da cifra. Esta variante pode ter resistência melhorada contra um ataque de análise diferencial de força.
BREVE DESCRIÇÃO DOS DESENHOS
[0029] A invenção será descrita em maiores detalhes a seguir, a título de exemplos não limitativos, com referência às modalidades mostradas nos desenhos.
[0030] Fig. 1 θ uma matriz de estado que representa uma mensagem de bloco único;
[0031] Fig. 2 ilustra o round final de uma computação MAC acordo com o padrão AES;
[0032] Figs. 3 a 6 ilustram o round final de uma computação CMAC da presente invenção incluindo um ataque DPA em potencial, e
[0033] Fig. 7 ilustra o round final de outra computação CMAC da presente invenção.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[0034] Figs. 1 e 2 foram discutidas na introdução.
[0035] Figs. 3 a 5 ilustram um potencial ataque diferencial de consumo de energia em um CMAC que foi computado em conformidade com o método da presente invenção.
[0036] Para a modalidade exemplificativa, a matriz de estado 25 utilizada para computar o CMAC é obtida como discutido na introdução. A matriz de estado 25 é composta por quatro linhas 31-34 e quatro colunas 41-44. Além disso, a mensagem na qual a matriz de estado 25 é baseada é uma mensagem de bloco único, como representada pela matriz de estado 1 mostrada na Fig. 1.
[0037] Para a modalidade exemplificativa, o CMAC é computado através da retenção de bytes 29, 30 de duas das quatro linhas 31-34 da matriz de estado 25. Os bytes das linhas restantes são descartados. Para o exemplo mostrado, os bytes 29, 30 da linha 32 e linha 34, que são sombreados nas figuras 3 a 5, são retidos e os bytes das linhas restantes 31, 33 são descartados. Por isso, os bytes pares da matriz de estado 25 são retidos para a computação do CMAC para a modalidade exemplificativa.
[0038] Uma potencial análise diferencial de consumo de energia gera o seguinte:
[0039] Por mecanismos análogos à descrição anterior na introdução, as operações de ShiftRows e SubBytes podem ser vistas para expor bytes apenas nas linhas selecionadas, cujos bytes correspondentes estão sombreados, para um atacante DPA, enquanto os bytes da chave do round final que ele/ela pode recuperar se limitam a essas mesmas duas linhas. Com a mesma estratégia de ataque, ele/ela pode agora executar a expansão da chave inversamente, para obter um número de bytes da chave do penúltimo round, como mostrado na fig. 4 (ainda restrito às linhas selecionadas).
[0040] A aplicação deste como um processo puramente computacional, com o exemplo de separação mostrado, apenas permitirá que o atacante recupere os 6 bytes mostrados sombreados na chave do penúltimo round 21. Isto se dá devido ao efeito da transformação condicional, que inclui uma rotação de bytes quando n = 0 mod 4.
[0041] Para esclarecer isso, os bytes da relação de interação que afetam a coluna mais à esquerda da chave do penúltimo round 21 são marcados como A, B, C e D (para bytes conhecidos), com "? " indicando um byte desconhecido, como mostrado na Fig. 6. Na computação da coluna n-4, a transformação condicional T () entra em jogo e pode ser visto na Fig. 6, que nenhum dos bytes são computacionalmente disponíveis.
[0042] Na tabela da Fig. 6, que mostra a relação de iteração Wn-4 = T(wn-l) <+> Wn deve ser apreciado que os bytes conhecidos em T (wn-i) se alinham com bytes desconhecidos em wn Θ vice-versa, devido à rotação realizada na transformação condicional T (), então os bytes da chave do penúltimo round 21 não estão mais disponíveis por computação. Os valores hexadecimais mostrados na linha da tabela da Fig. 6 dando T(wn-i) são os bytes do valor Rconst adequado.
[0043] Como ilustrado pela Fig. 5, o atacante pode ainda recuperar dois bytes adicionais 27 e 28 da chave do penúltimo round 21 ao estender suas análises DPA, desde que ele/ela conheça os bytes nas posições de estado correspondentes a cada traço que ele/ela reuniu.
[0044] No entanto, essa processamento adicional não melhora a posição do atacante, já que não mais de 8 bytes de qualquer chave do round 21, 26 foram recuperados. A complexidade remanescente do ataque é 264, que é uma melhora significativa na resistência remanescente resultante da utilização da abordagem MAC de truncamento padronizada. Embora bytes de chaves de rounds anteriores (por exemplo, antepenúltimo) possam ser computados, isso não rende ao atacante qualquer benefício adicional.
[0045] A figura 7 ilustra uma modalidade adicional de uma computação CMAC. Para a modalidade exemplificativa, a matriz de estado 25 utilizada para computar o CMAC é obtida como discutido acima. A matriz de estado 25 é composta de quatro linhas 31-34 e quatro colunas 41-44. Além disso, a mensagem na qual a matriz de estado 25 é baseada é uma mensagem de bloco único, como representada pela matriz de estado 1 mostrada na Fig. 1. A matriz de estado 25 é composta por 16 bytes s’0-s'15.
[0046] Para a modalidade exemplificativa, o CMAC é computado submetendo pelo menos dois bytes s’0-s'15 da matriz de estado 25 a uma operação de "OU exclusivo". Particularmente, para a modalidade descrita na figura 7, o CMAC é computado por disjunção exclusiva (XORing) dos bytes s’0, S'2, s'4, se, s'e, s'10, s'12, s'14 das linhas 34, 32, com os bytes s '1, s'3, s'5, s'7, s'9, s’1 1, s’13, s'15 das linhas 33, 31.
[0047] Especialmente para a modalidade exemplificativa, o CMAC é computado da seguinte forma: CMAC= {s’0<+> s’1; s'2 <+> s'3; s'4<+> s'5; s'e <+> s'7; s'e <+> s'9; s'10 <+> s'11; s'12 <+> s'13; S'14 <+> S'15} em que “<+>” indica a operação de “OU exclusivo”.
[0048] Finalmente, deve ser notado que as modalidades acima ilustram ao invés de limitar a invenção, e que aqueles versados na técnica serão capazes de conceber muitas modalidades alternativas, sem se afastar do escopo da invenção, tal como definido pelas reivindicações anexas. Nas reivindicações, quaiquer sinais de referência colocados entre parênteses não devem ser interpretados como uma restrição à reivindicação. A palavra "compreendendo" e "compreende", e semelhantes, não exclui a presença de elementos ou etapas que não sejam as listadas em qualquer reivindicação ou no relatório como um todo. A referência no singular de um elemento não exclui a referência no plural de tais elementos, e vice-versa. O simples fato de que certas medidas são recitadas em reivindicações dependentes mutuamente diferentes não indica que uma combinação destas medidas não possa ser aproveitada.

Claims (7)

1. Método para gerar um código de autenticação de mensagem baseado em cifra para uma mensagem a ser transmitida, a mensagem sendo compreendida de uma pluralidade e bytes, o método caracterizado pelo fato de compreender as etapas de: - gerar uma matriz de estado (25) composta de linhas (31-34) de bytes (s'0-s'15) e colunas (41-44) de bytes (s'0-s'15) baseadas em uma mensagem a ser transmitida e - computar um código de autenticação de mensagem baseado em cifra para a mensagem usando o algoritmo Rijndael, e - reter o estado final dos bytes (29, 30) de pelo menos uma linha (32, 34) da matriz de estado (25) e descartando os bytes das linhas remanescentes, ou - submeter pelo menos um byte de pelo menos dois bytes (s’0-s'15) de estado final do estado de matriz (25) com pelo menos um segundo byte de pelo menos dois bytes de estado final para uma operação de “OU exclusivo”.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de a matriz de estado (25) compreender exatamente quatro linhas (31-34) de bytes e exatamente quatro colunas (41-44) de bytes, exatamente quatro linhas de bytes e exatamente seis colunas de bytes, ou exatamente quatro linhas de bytes e exatamente oito colunas de bytes.
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de compreender a geração da matriz de estado (25) de acordo com o Padrão de Encriptação Avançado (Advanced Encryption Standard).
4. Método de acordo com a reivindicação 1, caracterizado pelo fato de compreender a computação do código de autenticação de mensagem baseado em cifra pela retenção dos bytes (29, 30) de exatamente duas linhas (32, 34) da matriz de estado (25).
5. Método de acordo com a reivindicação 1, caracterizado pelo fato de a mensagem ser uma mensagem de bloco único.
6. Método de acordo com a reivindicação 1, caracterizado pelo fato de compreender a computação do código de autenticação de mensagem baseado em cifra ao submeter bytes (s’0, s'2, s'4, s'e, s'β, s'10, s'12, s'14) correspondentes a uma metade da mensagem com bytes (s’1, s'3, s'5, s'7, s'9, s'n, s'13, s'15) correspondentes à outra metade da mensagem à operação de “OU exclusivo”.
7. Método de acordo com a reivindicação 1, caracterizado pelo fato de compreender a computação do código de autenticação de mensagem baseado em cifra ao submeter bytes (s’0, s'2, s'4, s'e, s'β, s'10, s'12, s'14) correspondentes a uma metade da matriz de estado (25) com bytes (s’1, s'3, s'5, s'7, s'9, s'11, s'13, s'15) correspondentes à outra metade da matriz de estado (25) à operação de “OU exclusivo”.
BRPI0916687-4A 2008-08-19 2009-08-12 Método para gerar um código de autenticação de mensagem baseado em cifra BRPI0916687B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08105068.4 2008-08-19
EP08105068 2008-08-19
PCT/IB2009/053556 WO2010020910A2 (en) 2008-08-19 2009-08-12 Method for generating a cipher-based message authentication code

Publications (2)

Publication Number Publication Date
BRPI0916687A2 BRPI0916687A2 (pt) 2015-11-17
BRPI0916687B1 true BRPI0916687B1 (pt) 2020-09-29

Family

ID=41347103

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0916687-4A BRPI0916687B1 (pt) 2008-08-19 2009-08-12 Método para gerar um código de autenticação de mensagem baseado em cifra

Country Status (8)

Country Link
US (1) US8635452B2 (pt)
EP (1) EP2316189B1 (pt)
JP (2) JP4869452B2 (pt)
KR (1) KR101324351B1 (pt)
CN (2) CN103560880B (pt)
BR (1) BRPI0916687B1 (pt)
MX (1) MX2011001228A (pt)
WO (1) WO2010020910A2 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452984B2 (en) * 2008-08-28 2013-05-28 Alcatel Lucent Message authentication code pre-computation with applications to secure memory
EP2290872B1 (en) * 2009-08-27 2014-06-18 Nxp B.V. Device for generating a message authentication code for authenticating a message
EP2553862A1 (en) * 2010-03-31 2013-02-06 Robert Bosch GmbH Method and apparatus for authenticated encryption of audio
JP2013097161A (ja) * 2011-10-31 2013-05-20 Kddi Corp アルゴリズム可変型mac生成装置、アルゴリズム可変型ハッシュ関数生成装置、アルゴリズム可変型mac生成方法、アルゴリズム可変型ハッシュ関数生成方法、およびプログラム
JP2013134414A (ja) * 2011-12-27 2013-07-08 Kddi Corp 鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラム
CN102946315B (zh) * 2012-11-19 2015-08-26 成都卫士通信息产业股份有限公司 一种采用分组方式构造mac码的方法及***
WO2015089448A1 (en) * 2013-12-13 2015-06-18 University Of North Dakota Smart grid secure communications method and apparatus
TWI712915B (zh) * 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
US9509665B2 (en) 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
US9973514B2 (en) * 2014-10-27 2018-05-15 Hong Kong Baptist University Method and apparatus for assuring location data integrity with minimum location disclosure
KR101966088B1 (ko) 2017-04-06 2019-04-05 상명대학교산학협력단 Iot 응용에 최적화된 인증 암호 장치 및 방법
CN109150504A (zh) * 2017-06-14 2019-01-04 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及高级加密标准***
US10812479B2 (en) 2018-12-05 2020-10-20 Fiserv, Inc. Authenticating a user via multiple biometric inputs

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510517B1 (en) * 1996-09-13 2003-01-21 Temic Semiconductor Gmbh Method of cryptological authentification in a scanning identification system
DE69834431T3 (de) 1998-01-02 2009-09-10 Cryptography Research Inc., San Francisco Leckresistentes kryptographisches verfahren und vorrichtung
US6278783B1 (en) * 1998-06-03 2001-08-21 Cryptography Research, Inc. Des and other cryptographic, processes with leak minimization for smartcards and other cryptosystems
ATE418099T1 (de) 1998-06-03 2009-01-15 Cryptography Res Inc Gesicherte moduläre potenzierung mit leckminimierung für chipkarten und andere kryptosysteme
ATE370490T1 (de) * 1998-06-03 2007-09-15 Cryptography Res Inc Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen
DE69938045T2 (de) * 1998-06-03 2009-01-15 Cryptography Research Inc., San Francisco Verwendung von unvorhersagbarer Information zur Leckminimierung von Chipkarten und anderen Kryptosystemen
DE69935913T2 (de) 1998-07-02 2008-01-10 Cryptography Research Inc., San Francisco Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
US7403620B2 (en) 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
US7697681B2 (en) 2004-02-06 2010-04-13 Nortel Networks Limited Parallelizable integrity-aware encryption technique
DE602004023436D1 (de) * 2004-03-29 2009-11-12 St Microelectronics Sa Prozessor zum ausführen eines aes algorithmus
JP4810289B2 (ja) * 2006-04-17 2011-11-09 ルネサスエレクトロニクス株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム
US8233619B2 (en) * 2006-06-07 2012-07-31 Stmicroelectronics S.R.L. Implementation of AES encryption circuitry with CCM
KR100930577B1 (ko) * 2006-11-13 2009-12-09 한국전자통신연구원 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
US7991158B2 (en) * 2006-12-13 2011-08-02 Tyfone, Inc. Secure messaging

Also Published As

Publication number Publication date
KR20110055671A (ko) 2011-05-25
MX2011001228A (es) 2011-03-25
US8635452B2 (en) 2014-01-21
JP4869452B2 (ja) 2012-02-08
CN102124695A (zh) 2011-07-13
WO2010020910A2 (en) 2010-02-25
KR101324351B1 (ko) 2013-11-01
JP2012044689A (ja) 2012-03-01
CN102124695B (zh) 2014-05-28
BRPI0916687A2 (pt) 2015-11-17
EP2316189B1 (en) 2016-03-30
WO2010020910A3 (en) 2010-07-01
EP2316189A2 (en) 2011-05-04
CN103560880B (zh) 2017-04-12
US20110138182A1 (en) 2011-06-09
JP2012500509A (ja) 2012-01-05
CN103560880A (zh) 2014-02-05

Similar Documents

Publication Publication Date Title
BRPI0916687B1 (pt) Método para gerar um código de autenticação de mensagem baseado em cifra
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
Cheon et al. Improved impossible differential cryptanalysis of Rijndael and Crypton
Wang et al. Differential fault analysis on PRESENT key schedule
US9031228B2 (en) Systems and methods for implementing block cipher algorithms on attacker-controlled systems
US8879725B2 (en) Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
US8094816B2 (en) System and method for stream/block cipher with internal random states
US8504845B2 (en) Protecting states of a cryptographic process using group automorphisms
JP2009516964A (ja) 暗号化保護方法
KR102169369B1 (ko) 경량 블록 암호화에 대한 1차 부채널 공격에 대응하는 방법 및 이를 이용한 장치
Mohan et al. Performance analysis of AES and MARS encryption algorithms
Yingbing et al. The design and implementation of a symmetric encryption algorithm based on DES
JP2011512562A (ja) アクセス及び通信に関するデータのランダム暗号化及び復号化方法
US8085934B1 (en) Reverse cryptographic key expansion
Huang et al. What is the effective key length for a block cipher: an attack on every practical block cipher
Sumathy et al. Enhanced AES algorithm for strong encryption
Mohan et al. Revised aes and its modes of operation
Li et al. Differential fault analysis on the contracting UFN structure, with application to SMS4 and MacGuffin
Henricksen Tiny Dragon-An Encryption Algorithm for Wireless Sensor Networks
Lac et al. A First DFA on PRIDE: from Theory to Practice (extended version)
Xiutao et al. A realtime key recovery attack on the authenticated cipher FASER128
Sumathy et al. Enhanced AES Algorithm for Strong Encryption
Ji et al. Square attack on reduced-round Zodiac cipher
Loban A VHDL Implemetation of the Advanced Encryption Standard
Lee et al. One-bit to four-bit dual conversion for security enhancement against power analysis

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 9/32 , H04L 9/06

Ipc: H04L 9/06 (1990.01), H04L 9/32 (1990.01)

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 29/09/2020, OBSERVADAS AS CONDICOES LEGAIS.