BR0003884B1 - Método de criptografia, aparelho de criptografia, método de decriptografia e aparelho de decriptografia - Google Patents

Método de criptografia, aparelho de criptografia, método de decriptografia e aparelho de decriptografia Download PDF

Info

Publication number
BR0003884B1
BR0003884B1 BRPI0003884-9A BR0003884A BR0003884B1 BR 0003884 B1 BR0003884 B1 BR 0003884B1 BR 0003884 A BR0003884 A BR 0003884A BR 0003884 B1 BR0003884 B1 BR 0003884B1
Authority
BR
Brazil
Prior art keywords
data
unit
block
mode
subkey
Prior art date
Application number
BRPI0003884-9A
Other languages
English (en)
Other versions
BR0003884A (pt
Inventor
Makoto Tatebayashi
Kaoru Yokota
Motoji Ohmori
Fumihiko Sano
Naoki Endo
Original Assignee
Toshiba Kk
Panasonic Corp
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 Toshiba Kk, Panasonic Corp filed Critical Toshiba Kk
Publication of BR0003884A publication Critical patent/BR0003884A/pt
Publication of BR0003884B1 publication Critical patent/BR0003884B1/pt

Links

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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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

Description

para gerar as primeira até a oitava subchaves. Cada uma destas primeira até oitava subchaves são diferentes. A primeira unidade de criptografia gera um primeiro bloco intermediário a partir de um bloco de texto simples utili- zando a primeira subchave. A segunda unidade de criptografia gera um se- gundo bloco intermediário a partir do primeiro bloco intermediário utilizando a segunda subchave. As terceira até oitava unidades de criptografia de for- ma similar geram o terceiro até o sétimo bloco intermediário a partir do se- gundo até o sexto bloco intermediário utilizando a terceira até a sétima sub- chave. A oitava unidade de criptografia gera um bloco de texto cifrado a par- tir do sétimo bloco intermediário utilizando a oitava subchave.
Cada bloco de texto simples é criptografado utilizando os dados chave que diferem para cada bloco de texto simples. Isto torna difícil acu- mular pares de textos simples que tenham sido criptografados utilizando a mesma chave e os textos cifrados resultantes. Como resultado, a segurança da criptografia contra ataques a texto simples conhecidos, tal como a cripto- análise diferencial e a criptoanálise linear, é aperfeiçoada.
Entretanto, a unidade de geração de subchave neste aparelho de criptografia de dados tem que gerar várias subchaves diferentes cada vez que um bloco de texto simples é criptografado. Isto possui a desvanta- gem de diminuir a velocidade do processamento criptográfico.
SUMÁRIO DA INVENÇÃO A presente invenção foi concebida em vista do problema decla- rado e possui um objetivo de proporcionar um aparelho de criptografia que execute o processamento criptográfico que seja rápido e possua um alto grau de segurança contra conhecidos ataques a texto simples. A invenção também tem em vista proporcionar um método de criptografia, um aparelho de decriptografia, um método de decriptografia e um meio de gravação que armazene um programa de criptografia e/ou programa de decriptografia, cada um dos quais possui o mesmo efeito. O objetivo declarado pode ser alcançado por um método de criptografia para uso por um aparelho de criptografia que criptografa dados de texto simples compostos de uma pluralidade de blocos, o método de criptografia compreendendo: uma etapa de obtenção do bloco para obter um bloco de dados de texto simples por vez em ordem a partir do exterior do aparelho de criptografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para um bloco corrente obtido na etapa de ob- tenção de bloco de acordo com quantos blocos foram obtidos; uma etapa de geração de chave para gerar (1) um primeiro grupo composto de um número predeterminado n de diferentes subchaves quando o primeiro modo é sele- cionado e (2) um segundo grupo composto de menos do que n diferentes subchaves quando o segundo modo é selecionado; e uma etapa de cripto- grafia para criptografar o bloco corrente ao sujeitar o bloco corrente a n pro- cessos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associados com subchaves no segundo grupo e são, cada um, executados utilizando a subchave associa- da.
No método declarado, menos subchaves são geradas no se- gundo modo do que no primeiro modo. Isto suprime diminuições na veloci- dade do processamento causadas pela geração das subchaves durante a criptografia dos blocos.
Aqui, a etapa de seleção pode selecionar (i) o primeiro modo para blocos toda vez que uma série de blocos que foram obtidos seja igual a um múltiplo de um valor predeterminado e (ii) o segundo modo para todos os outros casos.
No método declarado, o primeiro modo somente é selecionado para certos blocos nos dados do texto simples. O segundo modo é selecio- nado para todos os outros blocos. Isto significa que o segundo modo é sele- cionado mais freqüentemente que o primeiro modo e que as diminuições na velocidade do processamento criptográfico para todos os dados do texto simples compostos de blocos podem ser suprimidas.
Aqui, o aparelho de criptografia pode incluir um dispositivo de armazenamento de valor inicial para armazenar um valor inicial, a etapa de criptografia pode criptografar o bloco corrente para gerar um bloco de texto cifrado possuindo um comprimento predeterminado e a etapa de geração de chave pode gerar o primeiro grupo utilizando o valor inicial no primeiro modo e gerar o segundo grupo utilizando o valor inicial e o bloco de texto cifrado mais recentemente gerado pela etapa de criptografia no segundo modo.
No método declarado, cada bloco de texto simples é criptogra- fado utilizando dados de chave diferentes. Isto torna difícil para terceiros acumularem pares de textos simples criptografados utilizando a mesma chave e os textos cifrados resultantes. Isto aumenta a segurança contra ataques conhecidos ao texto simples, tal como a criptoanálise diferencial e a criptoanálise linear. O objetivo declarado pode ser alcançado por um método de criptografia para uso por um aparelho de criptografia que decripta os dados do texto cifrado nas unidade de bloco de texto cifrado, o método de decrip- tografia incluindo: uma etapa de obtenção de bloco para obter um bloco de texto cifrado dos dados do texto cifrado por vez em ordem a partir do exteri- or do aparelho de decriptografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para uso com um bloco de texto cifra- do corrente obtido na etapa de obtenção de bloco de acordo com quantos blocos de texto cifrado foram obtidos; uma etapa de geração de chave para gerar (1) um primeiro grupo composto de um número n predeterminado de subchaves diferentes quando o primeiro modo é selecionado e (2) um se- gundo grupo composto de menos do que n diferentes subchaves quando o segundo modo é selecionado; e uma etapa de decriptografia para decripto- grafar o bloco de texto cifrado corrente por sujeitar o bloco de texto cifrado corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associados com as subchaves no segundo grupo e cada um é executado utilizando a subchave associada.
No método declarado, menos subchaves são geradas no se- gundo modo do que no primeiro modo. Isto suprime as diminuições na velo- cidade do processamento causadas pela geração das subchaves durante a decriptação dos blocos de texto cifrado. O objetivo declarado também pode ser alcançado por um méto- do de decriptografia para uso por um aparelho de decriptografia que decrip- tografa os dados de texto cifrado nas unidades de bloco de texto cifrado, o método de decriptografia compreendendo: uma etapa de obtenção de bloco para obter um bloco de texto cifrado de dados do texto cifrado por vez em ordem a partir do exterior do aparelho de decriptografia; uma etapa de sele- ção para selecionar um primeiro modo ou um segundo modo para uso com um bloco de texto cifrado corrente obtido na etapa de obtenção de bloco de acordo com quantos blocos de texto cifrado foram obtidos; uma etapa de geração de chave para gerar (1) um primeiro grupo composto de um número n predeterminado de subchaves diferentes quando o primeiro modo é sele- cionado e (2) um segundo grupo composto de menos do que as n diferentes subchaves quando o segundo modo é selecionado; e uma etapa de decrip- tação para decriptografar o bloco de texto cifrado corrente por sujeitar o blo- co de texto cifrado corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a sub- chave associada e no segundo modo, os n processos de conversão estão associados com subchaves no segundo grupo e cada um é executado utili- zando a subchave associada.
No método declarado, o primeiro modo somente é selecionado para certos blocos nos dados de texto simples. O segundo modo é selecio- nado para todos os outros blocos. Isto significa que o segundo modo é sele- cionado mais freqüentemente que o primeiro modo e que as diminuições na velocidade do processamento de decriptografia para todos os dados de texto cifrado compostos dos blocos de texto cifrado podem ser suprimidas.
Aqui, o aparelho de decriptografia pode incluir um dispositivo de armazenamento de valor inicial para armazenar um valor inicial, a etapa de geração de chave gerando o primeiro grupo utilizando o valor inicial no pri- meiro modo e gerando o segundo grupo utilizando o valor inicial e o bloco de texto cifrado obtido imediatamente antes do bloco de texto cifrado cor- rente no segundo modo.
No método declarado, cada bloco de texto cifrado é decripto- grafado utilizando dados de chave diferentes. Isto torna difícil para terceiros acumular pares de textos simples criptografados utilizando a mesma chave e os textos cifrados resultantes. Isto aumenta a segurança contra ataques conhecidos ao texto simples, tal como a criptoanálise diferencial e a criptoa- nálise linear.
Como descrito acima, a presente invenção alcança um nível de segurança similar ao da tecnologia convencional descrita ao mesmo tempo que aperfeiçoando a velocidade do processamento criptográfico. A invenção é adequada para processos tal como a comunicação secreta de imagem e de outras informações em tempo real. Com a demanda corrente por aperfei- çoamentos na tecnologia de multimídia, isto torna o efeito da invenção es- pecialmente significante.
BREVE DESCRIÇÃO DOS DESENHOS
Estes e outros objetivos, vantagens e aspectos da invenção irão se tornar aparentes a partir da descrição seguinte em conjunto com os de- senhos acompanhantes que ilustram uma modalidade específica da inven- ção.
Nos desenhos: A FIG. 1 é um diagrama de blocos apresentando a construção de um sistema de comunicação criptografado 5 que é uma modalidade pre- ferida da presente invenção; A FIG. 2 é um diagrama de blocos apresentando a construção da unidade de criptografia de dados 10 no aparelho de transmissão 1; A FIG. 3 é um diagrama de blocos apresentando as construções da unidade de criptografia 100 e da unidade de geração de dados da sub- chave 101; A FIG. 4 é um diagrama de blocos apresentando a construção da unidade de randomização de dados 301; A Fig. 5A e a FIG. 5B são desenhos conceituais apresentando qual da pluralidade de grupos de dados de subchave gerados pela unidade de geração de dados de subchave 101 é utilizado por cada uma das primei- ra até décima sexta unidade de criptografia da unidade de criptografia 100, com a FIG. 5A apresentando o caso onde o tipo de geração de dados da subchave é A e a FIG. 5B apresentando o caso onde o tipo de geração de dados de subchave é B; A FIG. 6 apresenta a correspondência entre o valor de conta- gem, os dados da chave de entrada e o tipo de geração de dados de sub- chave; A FIG. 7 é um diagrama de blocos apresentando a construção da unidade de decriptação de dados 20 no aparelho de recepção 2; A FIG. 8 é um fluxograma apresentando a operação geral do aparelho de transmissão 1; A FIG. 9 é um fluxograma apresentando a operação da unidade de criptografia de dados 10 do aparelho de transmissão 1; A FIG. 10 é um fluxograma apresentando a operação da unida- de de contagem 105 na unidade de criptografia de dados 10; A FIG. 11 é um fluxograma apresentando a operação da unida- de registradora 104 na unidade de criptografia de dados 10; A FIG. 12 é um fluxograma apresentando uma primeira parte da operação da unidade de geração de dados de subchave 101 na unidade de criptografia de dados 10; A FIG. 13 também é um fluxograma apresentando uma última parte da operação da unidade de geração de dados de subchave 101 na unidade de criptografia de dados 10; e A FIG. 14 é um fluxograma apresentando a operação da unida- de de randomização de dados 301 na unidade de geração de dados de subchave 101.
DESCRIÇÃO DA MODALIDADE PREFERIDA O dito a seguir descreve um sistema de comunicação criptogra- fado 5 de acordo com uma modalidade preferida da presente invenção. 1. Construção do Sistema de Comunicação Criptografado 5 Como apresentando na FIG. 1, o sistema de comunicação crip- tografado 5 é construído de um aparelho de transmissão 1, de um aparelho de recepção 2 e de um caminho de transferência 3. O caminho de transfe- rência 3 conecta o aparelho de transmissão 1 com o aparelho de recepção 2.
Cada um entre o aparelho de transmissão 1 e o aparelho de re- cepção 2 é proporcionado antecipadamente com os mesmos dados de cha- ve de criptografia ΕΚ. O aparelho de transmissão 1 criptografa os dados do texto simples P utilizando os dados da chave de criptografia EK para gerar os dados de texto cifrado C e então transmite os dados de texto cifrado ge- rados C para o aparelho de recepção 2 via o caminho de transferência 3. O aparelho de recepção 2 recebe estes dados de texto cifrado C, decriptografa os dados de texto cifrado C utilizando os dados da chave de decriptação EK e desse modo gera os dados do texto decriptado D. Aqui, a decriptação executada pelo aparelho de recepção 2 é o inverso da criptografia executa- da pelo aparelho de transmissão 1, de modo que os dados de texto decrip- tografados D gerados pela decriptografia são os mesmos que os dados do texto simples P. 1.1 Construções do Aparelho de Transmissão 1 e do Aparelho de Recepção 2 (1) Construção do Aparelho de Transmissão 1 Como apresentado na FIG. 1, o aparelho de transmissão 1 é construído de uma unidade de armazenamento de dados de texto simples 12, de uma unidade de armazenamento de dados de chave de criptografia 13, de uma unidade de criptografia de dados 10 e de uma unidade de transmissão 11. A unidade de armazenamento de dados de texto simples 12 ar- mazena os dados do texto simples P antecipadamente. Estes dados do texto simples P são dados digitais que incluem pelo menos 64 bits e podem ser informação de áudio ou de imagem digitalmente codificada, por exem- plo. A unidade de armazenamento de dados da chave de criptografia 13 armazena dados da chave de criptografia de 64 bits antecipadamente.
Os dados da chave de criptografia EK são decididos antecipadamente tanto para o aparelho de transmissão 1 como para o aparelho de recepção 2. A unidade de criptografia de dados 10 lê os dados do texto sim- ples P a partir da unidade de armazenamento de dados do texto simples 12 e os dados da chave de criptografia EK a partir da unidade de armazena- mento de dados da chave de criptografia 13. A unidade de criptografia de dados 10 então criptografa os dados do texto simples P utilizando os dados da chave de criptografia EK para gerar os dados do texto cifrado C. A uni- dade de criptografia de dados 10 emite os dados de texto cifrado resultantes C para a unidade de transmissão 11. Esta unidade de criptografia de dados 10 é descrita em detalhes posteriormente nesta especificação. A unidade de transmissão 11 recebe os dados do texto cifrado C, executa um paralelo para serial sobre os dados do texto cifrado C e então modula e amplifica os dados convertidos para gerar sinais. A unidade de transmissão 11 transmite estes sinais via o caminho de transferência 3 para o aparelho de recepção 2. (2) Construção do Aparelho de Recepção 2 Como apresentado na FIG. 1, o aparelho de recepção 2 é cons- truído de uma unidade de armazenamento de dados de texto decriptografa- do 22, de uma unidade de armazenamento de dados da chave de criptogra- fia 23, de uma unidade de decriptografia de dados 20 e de uma unidade de recepção 21. A unidade de recepção 21 recebe os sinais transmitidos pela unidade de transmissão 11 do aparelho de transmissão 1 via o caminho de transferência 3, demodula os sinais e executa uma conversão serial para paralelo para obter os dados do texto cifrado C. A unidade de recepção 21 emite estes dados do texto cifrado C para a unidade de decriptografia de dados 20. A unidade de armazenamento de dados da chave de criptografia 23 armazena os dados da chave de criptografia de 64 bits antecipadamente.
Estes dados da chave de criptografia EK são os mesmos que os armazena- dos pela unidade de armazenamento de dados da chave de criptografia 13 no aparelho de transmissão 1. A unidade de decriptografia de dados 20 recebe os dados do texto cifrado C e lê os dados da chave de criptografia EK a partir da unidade de armazenamento de dados da chave de criptografia 23. A unidade de de- criptografia de dados 20 decriptografa os dados do texto cifrado C utilizando os dados da chave de criptografia EK para gerar os dados de texto decripto- grafados D. A unidade de decriptografia de dados 20 grava estes dados de texto decriptografado D na unidade de armazenamento de dados de texto decriptografado 22. A decriptografia executada pela unidade de decriptogra- fia de dados 20 é o inverso da criptografia executada pela unidade de crip- tografia de dados 10. Isto significa que os dados do texto decriptografado D são os mesmos que os dados do texto simples original P. Esta unidade de decriptografia de dados 20 também é descrita em detalhes posteriormente nesta especificação. A unidade de armazenamento de dados do texto decriptografa- do 22 armazena os dados do texto decriptografado D. 1.2 Construção da Unidade de Criptografia de Dados 10 Como apresentado na FIG. 2, a unidade de criptografia de da- dos 10 é construída de uma unidade de criptografia 100, de uma unidade de geração de dados da subchave 101, de uma unidade XOR lógica 102, de uma unidade de conversão de dados 103, de uma unidade registradora 104, de uma unidade de contadora 105, de uma unidade de controle de geração de dados da subchave 106, de uma unidade de controle de registro 107, de uma unidade de divisão de bloco 108, de uma unidade de combinação de bloco 109, de uma unidade de obtenção de chave 110 e de uma unidade de armazenamento de chave 111. (1) Unidade de Divisão de Bloco 108 A unidade de divisão de bloco 108 lê os dados do texto simples P a partir da unidade de armazenamento de dados do texto simples 12 e divide os dados do texto simples P em unidades de bloco medidas a partir do inicio dos dados de texto simples P para gerar uma pluralidade de blocos de texto simples Pt (onde t=0, 1, 2, ...). Cada bloco de texto simples Pt tem o comprimento de 64 bits. A unidade de divisão de bloco 108 emite estes blo- cos de texto simples P, seqüencialmente para a unidade de criptografia 100.
Após emitir todos os blocos de texto simples P„ a unidade de divisão de blo- co 108 emite a informação apresentando que a emissão está completa para a unidade de combinação de bloco 109. (2) Unidade de Obtenção de Chave 110 A unidade de obtenção de chave 110 lê os dados da chave de criptografia EK a partir da unidade de armazenamento de dados da chave de criptografia 13 e grava os dados da chave de criptografia lidos EK na unidade de armazenamento de chave 111. (3) Unidade de Armazenamento de Chave 111 A unidade de armazenamento de chave 111 armazena os dados da chave de criptografia EK. (4) Unidade de Criptografia 100 Como apresentado na FIG. 3, a unidade de criptografia 100 in- clui uma primeira unidade de criptografia 100a, uma segunda unidade de criptografia 100b, ..., uma décima quinta unidade de criptografia 100c e uma décima sexta unidade de criptografia 100d. A primeira unidade de criptografia 100a obtém um bloco de texto simples Pt a partir da unidade de divisão de bloco 108 e um primeiro dado de subchave SKq a partir da unidade de geração de dados de subchave 101. O primeiro dado de subchave SK0 tem o comprimento de 32 bits. A primeira unidade de criptografia 100a criptografa o bloco de texto simples Pt obtido utilizando o primeiro dado de subchave SKq para gerar um primeiro bloco intermediário. A primeira unidade de criptografia 100a emite este primeiro bloco intermediário para a segunda unidade de criptografia 100b. A criptografia executada pela primeira unidade de criptografia 100a é a parte de criptografia de dados de um método de criptografia FEAL (Algoritmo Rápido de Cifragem de Dados), que é uma técnica de criptografia de bloco bem conhecida.
As segunda até décima quinta unidades de criptografia respecti- vamente recebem um bloco intermediário a partir de uma unidade de cripto- grafia precedente nas primeira até décima quarta unidades de criptografia e o segundo até o décimo quinto dado de subchave SK, até SK14 a partir da unidade de geração de dados de subchave 101. Cada um dos segundo até décimo quinto grupos de dado de subchave SK, até SK14 tem o comprimento de 32 bits. A segunda até a décima quinta unidade de criptografia respeti- vamente criptografam o bloco intermediário recebido utilizando o segundo até o décimo quinto dado de subchave até SK14, para gerar o segundo até o décimo quinto blocos intermediários que são respectivamente emitidos para a terceira até a décima sexta unidade de criptografia. A décima sexta unidade de criptografia 100d obtém o décimo quinto bloco intermediário a partir da décima quinta unidade de criptografia 100c e obtém o décimo sexto dado de subchave SK15 a partir da unidade de geração de dados de subchave 101. O décimo sexto dado de subchave SK15 também tem o comprimento de 32 bits. A décima sexta unidade de criptografia 100d criptografa o bloco intermediário obtido utilizando o décimo sexto dado de subchave SK15 para gerar o bloco de texto cifrado Ct.
Equação 7 Ct = Enc(Pt, SK0t) Aqui, a expressão Enc(P„ SK0t) apresenta que o bloco de texto simples Pt está criptografado utilizando um grupo SKO, (SKo até SK15) de da- dos de subchave que foram gerados como parte do t- processo de cripto- grafia. A décima sexta unidade de criptografia 100d emite o bloco de texto cifrado Ct que ela gerou para a unidade de combinação de bloco 109.
Quando o bloco de texto cifrado gerado C, foi emitido para a unidade de combinação de bloco 109, a unidade de criptografia 100 emite a informação mostrado que a criptografia de um bloco de texto simples foi concluída para a unidade contadora 105. (5) Unidade de Registro 104 A unidade de registro 104 inclui regiões para armazenar um va- lor inicial de 64 bits IV e o dado armazenado de 64 bits R0t. O valor do dado armazenado R0t é estabelecido no valor inicial IV antecipadamente. A unidade de registro 104 recebe o bloco de texto cifrado C, a partir da décima sexta unidade de criptografia 100d. A unidade de registro 104 recebe um sinal de controle a partir da unidade de controle de registro 107. Quando o sinal de controle recebido é "0" e um bloco de texto cifrado C, é recebido a partir da décima sexta unida- de de criptografia 100d, a unidade de registro 104 armazena o bloco de texto cifrado C, como o dado armazenado R0t. Quando o sinal de controle recebido é "1", a unidade de registro 104 lê o valor inicial IV e armazena o valor inicial IV como o dado armazenado R0,.
Colocando isto de outra forma, suponha que T representa um ciclo predeterminado e que n é 0, 1, ... Quando o (t*n)°- bloco de texto sim- ples P, (onde t=T*n) está sendo criptografado, a unidade de registro 104 rei- nicializa o valor armazenado R0„ utilizando o valor inicial IV que é estabele- cido antecipadamente. O valor "T" é estabelecido antecipadamente e é des- crito posteriormente nesta especificação. Quando um bloco de texto simples que não é um (T*n)° bloco de texto simples (ou seja, um bloco de texto sim- ples P, onde teT*n), é codificado, o bloco de texto cifrado C, recebido é ar- mazenado como o dado armazenado R0,. (6) Unidade de Conversão de Dados 103 A unidade de conversão de dados 103 lê o dado armazenado de 64 bits R0, a partir da unidade de registro 104. Quando a unidade de cripto- grafia 100 criptografa o t2 bloco de texto simples Pt, a unidade de conversão de dados 103 lê o dado de 64 bits R0, apresentado abaixo.
Equação 1 Quando t*T*k (onde k=0,1,...) R0, = C,., Equação 2 Quando t=T*k (onde k=0,1,...) R0, = IV A unidade de conversão de dados 103 sujeita o dado armaze- nado R0t lido a uma conversão de dados predeterminada f para gerar S0t.
Equação 3 SO, = f(ROt) Nesta especificação, a expressão f(X) representa o resultado de se sujeitar o dado de entrada X à conversão de dados predeterminada f.
Esta conversão de dados predeterminada f é um deslocamento girado de 13 bits em direção ao MSB (bit mais significante) do dado de 64 bits.
Após isto, a unidade de conversão de dados 103 emite o dado de 64 bits SO, que é gerado pela conversão para a unidade XOR lógica 102. (7) Unidade XOR lógica 102 A unidade XOR lógica 102 recebe o dado de 64 bits SO, a partir da unidade de conversão de dados 103 e lê o dado de chave de criptografia EK a partir da unidade de armazenamento de chave 111. A unidade XOR lógica 102 pega um XOR para cada bit no dado de 64 bits S0, e um bit correspondente no dado da chave de criptografia EK e desse modo gera os dados da chave de entrada de 64 bits IK0,.
Equação 4 IK0, = S0,(+)EK
Observe que na equação acima, o símbolo "(+)" é utilizado para denotar uma operação XOR. A unidade XOR lógica 102 emite os dados da chave de entrada IK0, que ela gerou para a unidade de geração de dados da subchave 101. (8) Unidade de Geração de Dados da Subchave 101 A unidade de geração de dados da subchave 101 recebe um sinal de controle a partir da unidade de controle de geração de dados da subchave 106 e os dados da chave de entrada IK0, a partir da unidade XOR lógica 102. Este sinal de controle apresenta se um (T*n)°- (onde n=0, 1, ...) bloco de texto simples está ou não sendo criptografado. Tal criptografia acontece uma vez em cada ciclo predeterminado T. No presente exemplo, o ciclo predeterminado T é estabelecido em 210 operações de criptografia. A unidade de geração de dados de subchave 101 é capaz de dois processos de geração de subchave (tipo A e tipo B). O processo de geração de subchave tipo A possui uma carga de processamento pesada enquanto o tipo B possui uma carga de processamento leve. De acordo com o sinal de controle recebido, a unidade de geração de dados de subchave 101 seleciona um dos dois tipos de processos de geração de subchave e executa o processo selecionado utilizando o dado da chave de entrada IKO, para gerar dezesseis grupos de dado de subchave de 31 bits (isto é, o pri- meiro até o décimo sexto primeiro dado de subchave SKq até SK15).
Equação 5 Quando teT*k (k=0,1,...) SK0t = KGB(IK0t) Aqui, a expressão KGB(X) refere-se aos dezesseis grupos de dado de subchave gerados a partir do dado de chave de entrada IKO, pelo processo de geração de dados de subchave do tipo B. Estes dezesseis gru- pos de dado de subchave são compostos de dois tipos de dado de subcha- ve.
Equação 6 Quando t=T*k (k=0,1,...) SK0t = KGA(IK0t) A expressão KGA(X) representa os dezesseis grupos de dado de subchave que são gerados pelo processo de geração de subchave tipo A. Cada um destes dezesseis grupos de dado de subchave é diferente dos outros. A unidade de geração de dados de subchave 101 emite dezes- seis grupos de dado de subchave SKq até SK15 que ela gerou para a primei- ra até a décima sexta unidade de criptografia da unidade de criptografia 100. A FIG. 6 apresenta a relação entre o valor de contagem da uni- dade contadora 105, os dados de chave de entrada recebidos pela unidade de geração de dados de subchave 101 e o tipo de processo de geração de subchave (A ou B) utilizado pela unidade de geração de dados de subchave 101. Quando o valor de contagem é "0", o dado de chave de entrada é ge- rado utilizando os dados de chave de criptografia EK e o valor inicial IV e o processo de geração de subchave do tipo A é utilizado. Inversamente, quando o valor de contagem é "1" até "210-1", os dados de chave são gera- dos utilizando os dados de chave de criptografia EK e o bloco de texto cifra- do gerado pelo processo de criptografia precedente, e o processo de gera- ção de subchave do tipo B é utilizado.
Como apresentado na FIG. 3, a unidade de geração de dados de subchave 101 é construída da unidade de randomização de dados 301, da unidade de armazenamento de dados randomizados 302 e da unidade de controle de número de estágios 303. (a) Unidade de Randomização de Dados 301 A unidade de randomização de dados 301 recebe dados de 64 bits a partir da unidade de controle de número de estágios 303, executa um processo de randomização de dados predeterminado sobre estes dados e desse modo gera os dados de subchave de 32 bits SK e os dados randomi- zados de 64 bits. A unidade de randomização de dados 301 emite os dados de subchave de 32 bits SK para a unidade de armazenamento de dados randomizados 302 e os dados randomizados de 64 bits gerados para a uni- dade de controle de número de estágios 303.
Como apresentado na FIG. 4, a unidade de randomização de dados 301 é construída de uma unidade de separação 301a, de uma unida- de XOR lógica 301b, de uma unidade de mistura de dados 301c e de uma unidade de combinação 301 d.
Unidade de Separação 301a A unidade de separação 301a recebe dados de 64 bits a partir da unidade de controle de número de estágios 303 e separa estes dados em 32 bits superiores (daqui para frente chamados "dados A1") e nos 32 bits inferiores (daqui para frente chamados de "dados A0"). A unidade de sepa- ração 301a emite os dados A1 para a unidade XOR lógica 301b e para a unidade de mistura de dados 301c e os dados A0 para a unidade de combi- nação 301 d e para a unidade de mistura 301c.
Unidade de Mistura de Dados 301c A unidade de mistura de dados 301c recebe os dados A0 e os dados A1 a partir da unidade de separação 301a, faz um OR exclusivo para cada bit nos dados AO e nos dados A1 e desse modo obtém dados de 32 bits. A unidade de mistura de dados 301c separa estes dados em quatro grupos de dados de 8 bits, executa uma substituição predeterminada para cada grupo de dados de oito bits e desse modo gera quatro grupos de da- dos de 8 bits. A substituição predeterminada referida aqui dentro é executa- da utilizando uma tabela que armazena 256 valores de 8 bits que foram de- signados valores de endereço de "0" até "255".
Após isto, a unidade de mistura de dados 301c gera dados de 32 bits ao combinar os quatro grupos de dados de 8 bits que ela gerou. A unidade de mistura de dados 301 transpõe um bit específico neste valor de 32 bits para gerar o novo dado de 32 bits C1 que ela emite para a unidade XOR lógica 301b.
Unidade XOR lógica 301b A unidade XOR lógica 301b recebe os dados A1 a partir da uni- dade de separação 301a e o dado de 32 bits C1 a partir da unidade de mistura de dados 301c. A unidade XOR lógica 301b faz um XOR lógico para cada bit nos dados A1 e nos dados C1 para gerar o dado de subchave de 32 bits B0. A unidade XOR lógica 301b então emite este dado de subchave B0 para a unidade de armazenamento de dados randomizados 302 e para a unidade de combinação 301d.
Unidade de Combinação 301d A unidade de combinação 301 d recebe os dados A0 a partir da unidade de separação 301a e o dado de subchave B0 a partir da unidade XOR lógica 301b. A unidade de combinação 301 d combina os dados A0 com o dado de subchave B0 para gerar dados randomizados de 64 bits que possuem os dados A0 como os 32 bits superiores e o dado da subchave B0 como os bits inferiores. A unidade de combinação 301 d emite estes dados de 64 bits randomizados para a unidade de controle de número de estágios 303. (b) Unidade de Controle de Número de Estágios 303 A unidade de controle de número de estágios 303 opera como descrito abaixo para ter a unidade de randomização de dados 301 repetindo o processo de randomização de dados. A unidade de controle de número de estágios 303 é equipada com uma região para armazenar (1) um número de iteração do processa- mento apresentando o número total de vezes que a unidade de randomiza- ção de dados 301 executou o processo de randomização e (2) um número máximo de iterações. A unidade de controle de número de estágios 303 recebe o dado da subchave de entrada a partir da unidade XOR lógica 102 ou os da- dos de 64 bits randomizados a partir da unidade de randomização de dados 301. A unidade de controle de número de estágios 303 também recebe um sinal de controle a partir da unidade de controle de geração de dados de subchave 106. Quando o sinal de controle recebido é "1", o número máximo de iterações é estabelecido em ”16". Quando o sinal de controle recebido é "0", o número máximo de iterações é estabelecido em "2". Ao receber um sinal de controle, a unidade de controle de número de estágios 303 reinicia- liza o número de iteração de processamento para "0". A unidade de controle de número de estágios 303 recebe o dado de chave de entrada ou os dados de chave randomizados, adiciona um para o número de iteração de processamento e compara o número de iteração de processamento com o número máximo de iterações. Se o núme- ro de iteração do processamento for igual ao número máximo de iterações, a unidade de controle de número de estágios 303 emite os dados de chave de entrada ou os dados de chave randomizados que ela recebeu para a unidade de randomização de dados 301 para completar o processamento repetido. Se o número de iteração do processamento estiver abaixo do nú- mero máximo de iterações, a unidade de controle de número de estágios 303 emite os dados da chave de entrada ou os dados de chave randomiza- dos que ela recebeu para a unidade de randomização de dados 301 e tem outra iteração do processamento repetido executada.
Observe que durante a primeira iteração do processamento re- petido, a unidade de controle de número de estágios 303 emite os dados da chave de entrada que ela recebeu para a unidade de randomização de da- dos 301. Na segunda e nas iterações seguintes, a unidade de controle de número de estágios 303 emite os dados randomizados que ela recebeu para a unidade de randomização de dados 301.
Como descrito acima, a unidade de controle de número de está- gios 303 controla a unidade de randomização de dados 301 para ter a mesma executando o processo de randomização duas ou dezesseis vezes.
Quando um (T*n)2 (onde n=0,1,...) bloco de texto simples está sendo cripto- grafado, o processamento repetido tem a unidade de randomização de da- dos 301 emitindo dezesseis grupos de dados de subchave para a unidade de armazenamento de dados randomizados 302. Entretanto, em todos os outros casos, a unidade de randomização de dados 301 emite dois grupos de dados de subchave para a unidade de armazenamento de dados rando- mizados 302. (c) Unidade de Armazenamento de Dados Randomizados 302 A unidade de armazenamento de dados randomizados 302 re- cebe um sinal de controle a partir da unidade de controle de geração de da- dos de subchave 106. A unidade de armazenamento de dados randomiza- dos 302 também seqüencialmente recebe dezesseis grupos de dados de subchave ou dois grupos de dados de subchave a partir da unidade de ran- domização de dados 301. Os dezesseis grupos de dados de subchave são respectivamente numerados SKq até SK15, enquanto os dois grupos de da- dos de subchave são respectivamente numerados SK*, e SK^ Após receber tais dados, a unidade de armazenamento de dados randomizados 302 ar- mazena os dezesseis grupos de dados de subchave SKq até SK15 ou os dois grupos de dados de subchave SKq e SKV
Como apresentado na FIG. 5A, quando o sinal de controle rece- bido é "1", a unidade de armazenamento de dados randomizados 302 lê os grupos armazenados de dados de subchave SKq até SK15 e emite estes gru- pos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidade de criptografia.
Como apresentado na FIG. 5B, quando o sinal de controle rece- bido é "0", a unidade de armazenamento de dados randomizados 302 lê os grupos armazenados de dados de subchave SKq e SK, e então estabelece SK14=SK12=SK10=SK8=SK6=SK4=SK2=SKo e SK^SK^SK^SK^SK^SK^ SK3=SK1. Tendo feito isso, a unidade de armazenamento de dados rando- mizados 302 emite os grupos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidade de criptografia.
Os grupos de dados de subchave SKq até SK15 são respectiva- mente utilizados como o primeiro até o décimo sexto grupo de dados de subchave. (9) Unidade Contadora 105 A unidade contadora 105 está equipada com uma região interna para armazenar um valor de contagem. Este valor de contagem é inicializa- do utilizando o valor inicial "0". A unidade contadora 105 recebe informação de condução da unidade de criptografia 100. Esta informação mostra que a criptografia de um bloco de textosimples está completa. No recebimento da informação de conclusão, a unidade contadora 105 adiciona "1" ao valor de contagem.
Quando adiciona "Γ ao valor de contagem que já é "210 - 1", a unidade contadora 105 reinicia o valor de contagem para "0". (10) Unidade de Controle de Geração de Dados de Subchave 106 A unidade de controle de geração de dados de subchave 106 lê o valor de contagem a partir da unidade contadora 105. Quando o valor de contagem é "0", a unidade de controle de geração de dados de subchave 106 emite um sinal de controle com o valor "1" para a unidade de geração de dados de subchave 101. Quando o valor de contagem não é "0", a uni- dade de controle de geração de dados de subchave 106 emite um sinal de controle com o valor "0". (11) Unidade de Controle de Registro 107 A unidade de controle de registro 107 também lê o valor de contagem a partir da unidade contadora 105. Quando o valor de contagem é "0", a unidade de controle de registro 107 emite um sinal de controle com o valor "1" para a unidade de registro 104. Quando o valor de contagem não é "0", a unidade de controle de registro 107 emite um sinal de controle com o valor "0" para a unidade de registro 104. (12) Unidade de Combinação de Bloco 109 A unidade de combinação de bloco 109 seqüencialmente recebe os blocos de texto cifrado Ct a partir da unidade de criptografia 100 e recebe a informação apresentando a conclusão da saída a partir da unidade de di- visão de bloco 108.
Ao receber a informação apresentando a conclusão da saída, a unidade de combinação de bloco 109 combina todos os blocos de texto ci- frado recebidos Ct (t=0, 1, 2, ...) na ordem que ela recebeu os mesmos para gerar os dados de texto cifrado C. A unidade de combinação de bloco 109 emite estes dados de texto cifrado C para a unidade de transmissão 11. 1.3 Construção da Unidade de Decriptação de Dados 20 Como apresentando na FIG. 7, a unidade de decriptação de da- dos 20 inclui uma unidade de decriptografia 200, uma unidade de geração de dados de subchave 201, uma unidade XOR lógica 202, uma unidade de conversão de dados 203, uma unidade de registro 204, uma unidade conta- dora 205, uma unidade de controle de geração de dados de subchave 206, uma unidade de controle de registro 207, uma unidade de divisão de bloco 208, uma unidade de combinação de bloco 209, uma unidade de obtenção de chave 210 e uma unidade de armazenamento de chave 211. A unidade de geração de dados de subchave 201, a unidade XOR lógica 202, a unidade de conversão de dados 203, a unidade de regis- tro 204, a unidade contadora 205, a unidade de controle de geração de da- dos de subchave 206, a unidade de controle de registro 207, a unidade de obtenção de chave 210 e a unidade de armazenamento de chave 211 da unidade de decriptografia de dados 20 respectivamente possuem as mes- mas construções que as da unidade de geração de dados de subchave 101, da unidade XOR lógica 102, da unidade de conversão de dados 103, da unidade de registro 104, da unidade contadora 105, da unidade de controle de geração de dados de subchave 106, da unidade e controle de registro 107, da unidade de obtenção de chave 110 e da unidade de armazena- mento de chave 111 da unidade de criptografia de dados 10. Por conse- quência, a explicação seguinte somente irá se focar nas diferenças entre a unidade de decriptografia de dados 20 e a unidade de criptografia de dados 10. 1) Unidade de Divisão de Bloco 208 A unidade de divisão de bloco 208 recebe os dados de texto cifrado C a partir da unidade de recepção 21 e divide os dados de texto ci- frado recebidos D em uma pluralidade de bloco de texto cifrado Ct (onde t=0, 1, 2, ...). Cada bloco de texto cifrado Cttem o comprimento de 64 bits. A unidade de divisão de bloco 208 emite cada bloco de texto cifrado Ct que ela gera para a unidade de decriptografia 200 em ordem. A unidade de divisão de bloco 208 também seqüencialmente emite o bloco de texto cifrado precedente C,^ para a unidade de registro 204.
Quando emitindo o primeiro bloco de texto cifrado C0 para a uni- dade de decriptografia 200, a unidade de divisão de bloco 208 não emite quaisquer dados para a unidade de registro 204.
Ao completar a emissão de todos os blocos de texto cifrado, a unidade de divisão de bloco 200 emite a informação apresentando a conclu- são da emissão para a unidade de combinação de bloco 209. (2) Unidade de Decriptografia 200 A unidade de decriptografia 200 utiliza a parte de decriptação de dados de um método de decriptografia FEAL. A unidade de decriptografia 200 inclui a primeira até a décima sexta unidade de decriptografia (não-ilustradas). A primeira unidade de decriptografia recebe um bloco de texto cifrado Ct a partir da unidade de divisão de bloco 208 e os primeiros dados de subchave SK0 a partir da unidade de geração de dados de subchave 201. Os primeiros dados de subchave SK0 tem o comprimento de 32 bits. A primeira unidade de decriptografia decriptografa o bloco de texto cifrado re- cebido Ct utilizando os primeiros dados de subchave SK0 e desse modo gera um primeiro bloco intermediário. A primeira unidade de decriptografia emite o primeiro bloco intermediário para a segunda unidade de decripto- grafia.
As segunda até décima quinta unidades de decriptografia res- pectivamente recebem um primeiro até um décimo quarto bloco intermediá- rio a partir de uma unidade de decriptografia precedente fora da primeira até a décima quarta unidade de decriptografia em adição aos dados de subcha- ve correspondentes fora do segundo até o décimo quinto dado de subchave SKt até SK14 a partir da unidade de geração de dados de subchave 201.
Cada um dos segundo até o décimo quinto dado de subchave até SK14 tem o comprimento de 32 bits. A segunda até a décima quinta unidade de decriptografia respectivamente decriptografam o primeiro até o décimo quarto bloco intermediário utilizando o segundo até o décimo quinto dado de subchave SKΛ até SK14 para gerar o segundo até o décimo quarto bloco in- termediário que são emitidos para a terceira até a décima sexta unidade de decriptografia. A décima sexta unidade de decriptografia recebe o décimo quinto bloco intermediário a partir da décima quinta unidade de decriptogra- fia e o décimo sexto dado de subchave SK15 a partir da unidade de geração de dados de subchave 201. Este décimo sexto dado de subchave SK15tem o comprimento de 32 bits. A décima sexta unidade de decriptografia decrip- tografa o décimo quinto bloco intermediário utilizando o décimo sexto dado de subchave SK15 para gerar o bloco de texto simples Dt.
Equação 14 D, = Dec(Ct, SK1t) Aqui, Dec(C„ SK1t) representa a decriptografia do texto cifrado Ct utilizando o grupo SK1t (SK0 até SK15) de dado de subchave que é gerado durante o t9 processo de decriptografia. A décima sexta unidade de decriptografia emite o bloco de texto simples Dt que ela gera para a unidade de combinação de bloco 209.
Após emitir o bloco de texto simples gerado Dt para a unidade de combinação de bloco 209, a unidade de criptografia 100 emite a informa- ção de conclusão, que mostra que a decriptografia de um bloco de texto ci- frado foi concluída, para a unidade contadora 205. (3) Unidade Contadora 205 A unidade contadora 205 recebe a informação de conclusão mostrando que a decriptografia de um bloco de texto cifrado está concluída pela unidade de decriptografia 200. Ao receber esta informação, a unidade contadora 205 adiciona "1" para o valor de contagem. (4) Unidade de Registro 204 A unidade de registro 204 é equipada com regiões para arma- zenar um valor inicial de 64 bits IV e dados armazenados de 64 bits. Em um estado inicial, os dados armazenados de 64 bits são estabelecidos no valor inicial IV. A unidade de registro 204 recebe o bloco de texto cifrado ante- rior CM a partir da unidade de divisão de bloco 208. A unidade de registro 204 recebe um sinal de controle a partir da unidade de controle de registro 207. Quando o sinal de controle recebido é "0" e a unidade de registro 204 recebeu um bloco de texto cifrado C,.., a par- tir da unidade de divisão de bloco 208, a unidade de registro 204 armazena o bloco de texto cifrado CM recebido como os dados armazenados após a unidade de decriptografia 200 emitir o bloco de texto simples D,.., no fim do processo de decriptografia dos dados para o bloco de texto cifrado corrente.
Quando o sinal de controle é "1", a unidade de registro 204 lê o valor inicial IV e armazena o mesmo como os dados armazenados.
Colocando isto de outra forma, quando decriptografando o (T*n)° bloco de texto cifrado (onde n=0, 1, 2, ...), a unidade de registro 204 iniciali- za o valor armazenado utilizando o valor inicial IV que é estabelecido ante- cipadamente. Em todos os outros casos, a unidade de registro 204 armaze- na o bloco de texto cifrado CM precedente. Como mencionado antes, o valor "T" é o valor indicando um ciclo predeterminado. (5) Unidade de Combinação de Bloco 209 A unidade de combinação de bloco 209 seqüencialmente recebe os blocos de texto simples Dt a partir da unidade de decriptografia 200 e re- cebe informação apresentando a conclusão da saída a partir da unidade de divisão de bloco 208.
Ao receber a informação apresentando a conclusão da saída, a unidade de combinação de bloco 209 combina os blocos de texto simples D, recebidos (t=0, 1, 2, ...) na ordem que ela recebeu os mesmos para gerar os dados de texto simples D. A unidade de combinação de bloco 109 emite estes dados de texto simples D para a unidade de armazenamento de da- dos decriptografados 22. (6) Unidade de Conversão de Dados 203 A unidade de conversão de dados 203 lê os dados armazena- dos de 64 bits a partir da unidade de registro 204. Ao decriptografar o T2 bloco de texto cifrado Ct, a unidade de criptografia 100 lê os dados armaze- nados de 64 bits R1t apresentados abaixo.
Equação 8 Quando teT*k (k=0, 1,...) R1«=C,1 Equação 9 Quando t=T*k (k=0, 1,...) R1t=IV A unidade de conversão de dados 203 a seguir sujeita os dados armazenados R1t que ela leu a uma conversão de dados f predeterminada para gerar S1t.
Equação 10 S1t=f(R1t) Aqui, f(X) representa o valor gerado quando a unidade de con- versão de dados 203 sujeita os dados de entrada X à conversão de dados f. (7) Unidade XOR lógica 202 A unidade XOR lógica 202 recebe os dados de 64 bits S1t a par- tir da unidade XOR lógica 202 e gera os dados da chave de entrada IK1t.
Equação 11 IK1t= S1t(+)EK (8) Unidade de Geração de Dados de Subchave 201 A unidade de geração de dados de subchave 201 gera dezes- seis grupos de dados de subchave de 32 bits (o primeiro até o décimo sexto dado de subchave SKq até SK15).
Equação 12 Quando t*T*k (k=0, 1, ...) SK1t=KGB(IK1t) Aqui, KGB(X) representa os dezesseis grupos de dados de sub- chave que são gerados pelo processo de geração de subchave do tipo B utilizando os dados da chave de entrada X. Estes dezesseis grupos de da- dos de subchave são compostos de dois tipos de dados de subchave.
Equação 13 Quando t=T*k(k=0, 1,...) SK1t=KGA(IK1t) Aqui, KGA(X) representa os dezesseis grupos de dados de sub- chave que são gerados pelo processo de geração de subchave do tipo A utilizando os dados da chave de entrada X. Cada um destes dezesseis gru- pos de dados de subchave difere um do outro. 2. Operação do Sistema de Comunicação Criptografado 5 O dito a seguir descreve a operação do sistema de comunicação criptografado 5. 2.1 Operação do Aparelho de Transmissão 1 O dito a seguir descreve a operação do aparelho de transmissão 1. (1) Operação Geral do Aparelho de Transmissão 1 O dito a seguir descreve a operação geral do aparelho de transmissão 1 com referência ao fluxograma apresentado na FIG. 8. A unidade contadora 105 estabelece o valor de contagem em "0", a unidade de registro 104 estabelece os dados armazenados no valor inicial IV e a unidade de divisão de bloco 108 lê os dados do texto simples a partir da unidade de armazenamento de dados de texto simples 12 (etapa S101). A unidade de obtenção de chave 110 lê os dados da chave de crip- tografia a partir da unidade de armazenamento de dados da chave de crip- tografia 13 e grava os dados da chave de criptografia na unidade de arma- zenamento de chave 111 (etapa S102). A unidade de divisão de bloco 108 divide os dados de texto simples lidos em uma pluralidade de blocos de texto simples (etapa S103). A unidade de divisão de bloco 108 emite cada bloco de texto simples para a unidade de criptografia 100. A unidade de criptografia 100 recebe um bloco de texto simples a partir da unidade de divisão de bloco 108, criptografa o bloco de texto simples para gerar um bloco de texto cifra- do e emite o bloco de texto cifrado gerado para a unidade de combinação de bloco 109 (etapa S104). Quando todos os blocos de texto simples não foram criptografados (etapa S105:Não), o processamento retorna para S104.
Ao concluir a saída de todos os blocos de texto simples (S105:Sim), a unidade de divisão de bloco 108 emite informação apresen- tando a conclusão da saída para a unidade de combinação de bloco 109. A unidade de combinação de bloco 109 combina todos os blocos de texto ci- frado que ela recebeu em ordem para gerar os dados de texto cifrado que ela emite para a unidade de transmissão 11 (etapa S106). A unidade de transmissão 11 recebe os dados de texto cifrado e sujeita os dados de texto cifrado recebidos a uma conversão paralelo para serial, modulação e amplificação para gerar sinais. A unidade de transmis- são 11 transmite estes sinais para o aparelho de recepção 2 via o caminho de transferência 3 (etapa S107). (2) Operação da Unidade de Criptografia de Dados O dito a seguir descreve a operação da unidade de criptografia de dados 10 com referência ao fluxograma na FIG. 9. A unidade de conversão de dados 103 primeiro lê os dados de 64 bits armazenados a partir da unidade de registro 104 (etapa S121), su- jeita os dados lidos a uma conversão de dados predeterminada e emite os dados de 64 bits resultantes para a unidade XOR lógica 102 (etapa S122). A unidade XOR lógica 102 recebe os dados de 64 bits a partir da unidade de conversão de dados 103, lê os dados da chave de criptogra- fia a partir da unidade de armazenamento de chave 111, faz um XOR lógico para os bits correspondentes nos dados de 64 bits e lê os dados da chave de criptografia para gerar os dados da chave de entrada de 64 bits. A unida- de XOR lógica 102 emite os dados da chave de entrada gerados para a uni- dade de geração de dados de subchave 101 (etapa S123). A unidade de geração de dados de subchave 101 gera uma plu- ralidade de grupos de dados de subchave utilizando os dados da chave de entrada e emite cada grupo gerado de dados de subchave para uma unida- de de criptografia diferente na primeira até a décima sexta unidades de criptografia na unidade de criptografia 100 (etapa S124). A unidade de criptografia 100 recebe um bloco de texto simples a partir da unidade de divisão de bloco 108 (etapa S125), criptografa o bloco de texto simples utilizando a pluralidade de grupos de dados de subchave e desse modo gera um bloco de texto cifrado (etapa S126). A unidade conta- dora 105 adiciona Ί" para o valor de contagem (S127). A unidade de crip- tografia 100 emite o bloco de texto cifrado para a unidade de combinação de bloco 109 (etapa S128). A unidade de controle de geração de dados de subchave 106 lê o valor de contagem a partir da unidade contadora 105. Quando o valor de contagem é "0" (etapa S141:Sim), a unidade de controle de geração de da- dos de subchave 106 emite um sinal de controle com o valor "1" para a uni- dade de geração de dados de subchave 101 (etapa S143). Inversamente, quando o valor de contagem não é ”0" (etapa S141:Não), a unidade de con- trole de geração de dados de subchave 106 emite um sinal de controle com o valor "0" para a unidade de geração de dados de subchave 101 (etapa S142). A unidade de controle de registro 107 também lê o valor de contagem da unidade contadora 105. Quando o valor de contagem é "0" (etapa S151:Sim), a unidade de controle de registro 107 emite um sinal de controle com o valor "1" para a unidade de registro 104 (etapa S153). Inver- samente, quando o valor de contagem não é ”0" (etapa S151:Não), a unida- de de controle de registro 107 emite um sinal de controle com o valor "0" para a unidade de registro 104 (etapa S152). A unidade de registro 104 armazena um valor de acordo com o sinal de controle recebido a partir da unidade de controle de registro 107 (etapa S161). (3) Operação da Unidade Contadora 105 O dito a seguir descreve a operação da unidade contadora 105 com referência ao fluxograma apresentado na FIG. 10.
Ao receber um sinal de conclusão a partir da unidade de cripto- grafia 100 apresentando que a criptografia de um bloco de texto simples foi concluída, a unidade contadora 105 adiciona "1" para o valor de contagem (etapa S181). Quando o valor de contagem alcança 210 (etapa S182:Sim) a unidade contadora 105 reinicializa o valor de contagem para "0" (etapa S183). (4) Operação da Unidade de Registro 104 O dito a seguir descreve a operação da unidade de registro 104 com referência ao fluxograma na FIG. 11. A unidade de registro 104 recebe um sinal de controle a partir da unidade de controle de registro 107. Quando o sinal de controle recebido é "0" (etapa S201:"=0'') e um bloco de texto cifrado é recebido a partir da dé- cima sexta unidade de criptografia 100d, a unidade de registro 104 armaze- na este bloco de texto cifrado como os dados armazenados (etapa S202).
Quando o sinal de controle recebido é "1" (etapa S201:"=1"), a unidade de registro 104 lê o valor inicial IV e armazena o valor inicial como os dados armazenados (etapa S203). (5) Operação da Unidade de Geração de Dados de Subchave 101 O dito seguir descreve a operação da unidade de geração de dados de subchave 101 com referência aos fluxogramas nas FIGS. 12 e 13. A unidade de controle de número de estágios 303 da unidade de geração de dados de subchave 101 recebe um sinal de controle a partir da unidade de controle de geração de dados de subchave 106. Quando o sinal de controle recebido é "1" (etapa S221:"=1"), a unidade de controle de nú- mero de estágios 303 estabelece o número máximo em 16 (etapa S223), ao mesmo tempo que quando o sinal de controle recebido é ("0" etapa S221:"=0"), a unidade de controle de número de estágios 303 estabelece o número máximo em 2 (etapa S222). Ao receber o sinal de controle, a unida- de de controle de número de estágios 303 também estabelece o número de iterações "i" em "0" (etapa S224). A unidade de controle de número de estágios 303 recebe os dados da chave de entrada ou os dados randomizados. Na primeira iteração (etapa S225:Sim), a unidade de controle de número de estágios 303 emite os dados da chave de entrada para a unidade de randomização de dados 301 (etapa S227). Na segunda e nas iterações seguintes (etapa S225:Não), a unidade de controle de número de estágios 303 emite os dados randomi- zados para a unidade de randomização de dados 301 (etapa S226).b A unidade de randomização de dados 301 executa um processo de randomização de dados e desse modo gera os dados da subchave e os dados randomizados (etapa S228). A unidade de armazenamento de dados randomizados 302 armazena os dados da subchave (etapa S229). A seguir, a unidade de controle de número de estágios 303 adiciona "1" para o valor do número de iterações i (etapa S230) e compara o número de iterações resultante com o número máximo. Quando o número de iterações está abai- xo do número máximo (etapa S231:Sim), o processamento retorna para a etapa S225 e o procedimento acima é repetido.
Quando o número de iterações é pelo menos igual ao número máximo (etapa S231:Sim), o processamento repetido está completo. A uni- dade de armazenamento de dados randomizados 302 então recebe um si- nal de controle a partir da unidade de controle de geração de dados de sub- chave 106. Quando o sinal de controle recebido é "1" (etapa S232), a unida- de de armazenamento de dados randomizados 302 lê os grupos armazena- dos de dados de subchave SK0 até SK15 e emite os grupos lidos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidade de criptografia (etapa S235).
Quando o sinal de controle recebido é "0" (etapa S232), a uni- dade de armazenamento de dados randomizados 302 lê os grupos armaze- nados de dados de subchave SKq até SK,, estabelece SK14=SK12=SK10= SK^SK^SK^SK^SKo e SK15=SK13=SK11=SK9=SK7=SK5=SK3=SK1 e emite os grupos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidade de criptografia (etapas S233 e S234). (6) Operação da Unidade de Randomização de Dados 301 O dito a seguir descreve a operação da unidade de randomiza- ção de dados 301 com referência ao fluxograma na FIG. 14. A unidade de separação 301a recebe os dados de 64 bits a par- tir da unidade de controle de número de estágios 303 e separa os dados de 64 bits recebidos para gerar os dados de 32 bits superiores A1 e os dados de 32 bits inferiores AO. A unidade de separação 301a emite os dados A1 para a unidade XOR lógica 301b e para a unidade de mistura de dados 301c e emite os dados A0 para a unidade de combinação de dados 301 d e para a unidade de mistura de dados 301c (etapa S251). A unidade de mistura de dados 301c recebe os dados A0 e os dados A1 a partir da unidade de separação 301a, faz um XOR lógico para os bits correspondentes nos dados AO e nos dados A1 para gerar dados de 32 bits e separa estes dados de 32 bits em quatro grupos de dados de 8 bits. A unidade de mistura de dados 301c então executa uma substituição predeterminada em cada grupo de dados de 8 bits e combina os grupos re- sultantes de dados de 8 bits modificados para gerar um novo grupo de da- dos de 32 bits. A unidade de mistura de dados 301c também substitui bits predeterminados nos dados de 32 bits por outros bits para gerar os dados de 32 bits C1 que é emitido para a unidade XOR lógica 301b (etapa S252). A unidade XOR lógica 301b recebe os dados A0 a partir da uni- dade de separação 301a e os dados de 32 bits C1 a partir da unidade de mistura de dados 301c e faz um XOR lógico para os bits correspondentes nos dados A0 e nos dados C1 para gerar os dados de subchave B0. A uni- dade XOR lógica 301b emite estes dados de subchave B0 para a unidade de armazenamento de dados randomizados 302 e para a unidade de com- binação 301 d (etapa S253). A unidade de combinação 301 d recebe os dados AO a partir da unidade de separação 301a e os dados de subchave B0 a partir da unidade XOR lógica 301b. A unidade de combinação 301 d combina os dados AO e os dados de subchave B0 com os dados AO como os bits superiores e os dados de subchave B0 como os bits inferiores para gerar dados randomiza- dos de 64 bits. A unidade de combinação 301d emite estes dados randomi- zados de 64 bits para a unidade de controle de número de estágios 303 (etapa S254). 2.2 Operação do Aparelho de Recepção 2 O dito a seguir descreve a operação do aparelho de recepção 2. (1) Operação Geral do Aparelho de Recepção 2 A operação geral do aparelho de recepção 2 é similar à opera- ção do aparelho de transmissão 1 e desse modo também será explicada com referencia ao fluxograma apresentado na FIG. 8. A unidade de recepção 21 do aparelho de recepção 2 recebe sinais a partir da unidade de transmissão 11 do aparelho de transmissão 1 via o caminho de transferência 3. A unidade de recepção 21 sujeita os sinais recebidos à demodulação e à conversão de serial para paralelo para gerar um texto cifrado. A unidade contadora 205 estabelece o valor de contagem em "0" e a unidade de registro 204 estabelece os dados armazenados no valor inicial IV. A unidade de divisão de bloco 208 recebe os dados de texto cifrado a partir da unidade de recepção 21 (isto corresponde à etapa S101) e a unidade de obtenção de chave 210 lê os dados da chave de criptografia a partir da unidade de armazenamento de dados da chave de criptografia 23 e grava a mesma na unidade de armazenamento de chave 211 (isto corres- ponde à etapa S102). A unidade de divisão de bloco 208 divide os dados de texto cifrado em uma pluralidade de blocos de texto cifrado (isto correspon- de à etapa S103). A unidade de divisão de bloco 208 emite cada bloco de texto cifrado para a unidade de decriptografia 200. A unidade de decriptografia 200 recebe um bloco de texto cifrado a partir da unidade de divisão de bloco 208, decriptografa o bloco de texto cifrado recebido para gerar um bloco de texto simples e emite o bloco de texto simples resultante para a unidade de combinação de bloco 209 (isto corresponde à etapa S104). Quando a uni- dade de decriptografia 200 não completou a decriptografia de todos os blo- cos de texto cifrado (isto corresponde à S105:Não), o processo de decripto- grafia é repetido.
Quando a emissão de todos os blocos de texto cifrado está completa (isto corresponde à S105:Sim), a unidade de divisão de blocos 208 emite informação apresentando a conclusão da saída da unidade de combi- nação de bloco 209. A unidade de combinação de bloco 209 combina todos os blocos de texto simples que ela recebeu em ordem para gerar os dados do texto simples (isto corresponde à etapa S106) e grava os dados de texto simples gerados na unidade de armazenamento de dados decriptografados 22 (isto corresponde à etapa S107). (2) Operação da Unidade de Decriptografia de Dados 20 A operação da unidade de decriptografia de dados 20 é similar a esta da unidade de criptografia de dados 10 e desse modo é explicada com referência ao fluxograma na FIG. 9. A unidade de conversão de dados 203 lê os dados de 64 bits armazenados a partir da unidade de registro 204 (isto corresponde à etapa S121), executa uma conversão de dados predeterminada sobre os dados armazenados e emite os dados de 64 bits convertidos para a unidade XOR lógica 202 (isto corresponde à etapa S122). A unidade XOR lógica 202 recebe os dados de 64 bits a partir da unidade de conversão de dados 203, lê os dados de chave de criptogra- fia a partir da unidade de armazenamento de chave 211 e faz um XOR lógi- co para os bits correspondentes nos dados de 64 bits e nos dados da chave de criptografia para gerar os dados da chave de entrada de 64 bits. A unida- de XOR lógica 202 emite estes dados da chave de entrada para a unidade de geração de dados de subchave 201 (isto corresponde à etapa S123). A unidade de geração de dados de subchave 201 gera uma plu- ralidade de grupos de dados de subchave utilizando os dados da chave de entrada e emite cada um dos grupos gerados de dados de subchave para uma unidade de decriptografia diferente na primeira até a décima sexta uni- dade de decriptografia da unidade de decriptografia 200 (isto corresponde à etapa S124). A unidade de decriptografia 200 recebe um bloco de texto cifra- do a partir da unidade de divisão de bloco 208 (isto corresponde à etapa S125), decriptografa o bloco de texto cifrado utilizando a pluralidade de gru- pos de dados de subchave e desse modo gera um bloco de texto simples (isto corresponde à etapa S126). A unidade contadora 205 incrementa o valor de contagem (isto corresponde à etapa S127). A unidade de decripto- grafia 200 emite o bloco de texto simples resultante para a unidade de com- binação de bloco 209 (isto corresponde à etapa S128). A operação da unidade de controle de geração de dados de subchave 206 é a mesma que a operação da unidade de controle de gera- ção de dados de subchave 106 que é apresentada nas etapas S141 até S143 do fluxograma na FIG. 9 e desse modo não será explicada. A operação da unidade de controle de registro 207 é a mesma que a operação da unidade de controle de registro 107 que é apresenta nas etapas S151 até S153 do fluxograma na FIG. 9, e desse modo não será ex- plicada. A unidade de registro 204 armazena um valor de acordo com o valor de controle que ela recebe a partir da unidade de controle de registro 207 (isto é o mesmo que a etapa S161 no fluxograma na FIG. 9). (3) Operação da Unidade Contadora 205 A operação da unidade contadora 205 é similar à esta da unida- de contadora 105 e desse modo é explicada com referência ao fluxograma na FIG. 10.
Ao receber a informação de conclusão a partir da unidade de decriptografia 200 apresentando que ela concluiu a decriptografia de um bloco de texto cifrado, a unidade contadora 205 adiciona um para o valor de contagem (isto corresponde à etapa S181). Quando esta adição resulta no valor de contagem alcançando 210 (isto corresponde à S181:Sim), a unidade contadora 205 reinicializa o valor de contagem para zero (isto corresponde à etapa S183). (4) Operação da Unidade de Registro 204 A operação da unidade de registro 204 é similar a esta da uni- dade contadora 105 e desse modo é explicada com referência ao fluxogra- ma na FIG. 11. A unidade de registro 204 recebe um sinal de controle a partir da unidade de controle de registro 207. Quando o sinal de controle recebido é "0" (etapa S201:Sim) e um bloco de texto cifrado anterior é recebido a partir da unidade de divisão de bloco 208, a unidade de registro 204 armazena este bloco de texto cifrado como os dados armazenados (isto corresponde à etapa S202). Quando o sinal de controle recebido é "1" (isto corresponde à etapa S201:Não), a unidade de registro 204 lê o valor inicial IV e armazena o valor inicial IV como os dados armazenados (isto corresponde à etapa S203). (5) Operação da Unidade de Geração de Dados de Subchave 201 A operação da unidade de geração de dados de subchave 201 é similar a esta da unidade de geração de dados de subchave 101, de modo que a descrição seguinte irá focar as diferenças com o procedimento nos fluxogramas apresentados nas FIGS. 12 e 13.
Na etapa S235, a unidade de armazenamento de dados rando- mizados 302 lê os dados de subchave armazenados SKq até SK15 e emite os respectivos grupos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidades de decriptografia correspondentes na unidade de decriptografia 200.
Nas etapas S233 e S234, a unidade de armazenamento de da- dos randomizados lê os dados de subchave armazenados SKg e SK,, esta- belece SK^SK^SK^SK^SK^SK^SK^SKo e SK^SK^SK^SK^ SK7=SK5=SK3=SK1 e emite os respectivos grupos de dados de subchave SKq até SK15 para a primeira até a décima sexta unidade de decriptografia correspondente na unidade de decriptografia 200. (6) Operação da Unidade de Randomização de Dados 301 A operação da unidade de randomização de dados 301 na uni- dade de geração de dados de subchave 201 é a mesma que a operação da unidade de randomização de dados 301 na unidade de geração de dados de subchave 101 que foi descrita utilizando a FIG. 14. Nenhuma explicação adicional será dada. 3. Correspondência entre o Texto Simples e o Texto Decriptografado Os blocos de texto cifrado C0, ... são obtidos quando a uni- dade de criptografia de dados 10 criptografa a seqüência de blocos de texto simples P0, Ρυ ... utilizando os dados da chave de criptografia de 64 bits.
Estes blocos de texto cifrado são decriptografados pela unidade de decrip- tografia de dados 20 utilizando os mesmos dados da chave de criptografia de 64 bits para gerar a seqüência de blocos de texto simples D0, D,, ... que é a mesma que a seqüência de blocos de texto simples P0, P1t ... Isto é apre- sentado em mais detalhes abaixo. A equação 15 é encontrada a partir das Equações 1 e 2 e das Equações 8 e 9.
Equação 15 R0t=R1t(t=0, 1, ...) A equação 16 é encontrada a partir da Equação 15 e das Equa- ções 3 e 10.
Equação 16 S0t=S1t(t=0,1,...) A equação 17 é encontrada a partir da Equação 16 e das Equa- ções 4 e 11.
Equação 17 IK0t= IK1t(t=0, 1, ...) Portanto, a Equação 18 é dada pelas Equações 17 e pelas Equações 12 e13.
Equação 18 SK0t = SK1t (t=0, 1, ...) A equação 19 é encontrada a partir das Equações 7 e 14.
Equação 19 Dt=Dec(Enc(Pt, SK0t), SK1t(t=0, 1, ...) A relação seguinte (Equação 20) é formada para quaisquer da- dos de 64 bits α, β nas funções Enc e Dec.
Equação 20 a=Dec(Enc(a, β), β) Portanto, a partir das Equações 19, 20 e 18 Dt=Pt 4. Avaliação da Segurança e da Velocidade do Processamento de Crip- tografia (1) Segurança Na presente modalidade, a criptografia de um t- (onde t*210*k (k=0, 1, ...) bloco de texto simples é executada utilizando dezesseis grupos de dados de subchave de 32 bits SKq, ..., SK15 que são informados para a unidade de criptografia 100. Como descrito anteriormente, estes grupos de dados de subchave são gerados de modo que SKo=SK2=SK4 ....= S14 e SK1=SK3=SK5... =S15, de modo que a segurança contra ataques conhecidos à texto simples não são tão altos como no método convencional onde cada grupo de dados de subchave é diferente.
Entretanto, os dados da chave de entrada IK0t utilizados para criptografar estes blocos de texto simples são estabelecidos de modo que IK0t=EK(+)Ct.., Como existem 264 valores em potencial de C,..,, é praticamente impossível obter um grande número de blocos de texto simples que tenham sido criptografados utilizando a mesma IK0t. Isto torna o presente método seguro contra ataques à texto simples conhecidos. A criptografia de um t5 (onde t=210*k (k=0, 1, ...)) bloco de texto simples também é executada utilizando os dezesseis grupos de dados de subchave de 32 bits SKg, ..., SK15 que são informados para a unidade de criptografia 100. Como descrito anteriormente, cada um destes grupos de dados de subchave é diferente, de modo que a segurança contra ataques à texto simples conhecidos é a mesma que com o método convencional decla- rado. (2) Velocidade do Processamento de Criptografia O dito a seguir descreve a velocidade do processamento de criptografia da unidade de criptografia de dados 10.
Quando um t2 (onde t*210*k (k=0, 1,...)) bloco de texto simples Pt é criptografado, a unidade de geração de dados de subchave 101 executa um processo simples que gera dezesseis grupos de dados de subchave de 32 bits por gerar o que são efetivamente somente dois grupos de dados de subchave de 32 bits. Isto significa que a geração dos dados de subchave para cada bloco possui um efeito menor sobre a velocidade do processa- mento de criptografia do que o método convencional declarado. 5. Outras Modificações Ao mesmo tempo que a presente invenção foi explicada por meio das modalidades fornecidas acima, deve ser óbvio que a invenção não está limitada aos detalhes dados nas mesmas. Várias modificações são possíveis, com exemplos representativos sendo dados abaixo. (1) Na modalidade acima, a unidade XOR lógica 102 (202) é descrita como um dispositivo de união de dados que faz um XOR para cada bit nos dados de 64 bits gerados pela unidade de conversão de dados 103 (203) e nos dados de criptografia. Entretanto, o mesmo efeito pode ser al- cançado mesmo se um XOR não for feito para cada posição de bit. (2) Na modalidade acima, a unidade de conversão de dados 103 (203) é descrita como emitindo dados convertidos de 64 bits, no entanto tais dados não necessitam ter o comprimento de 64 bits. Como um exemplo, quando os dados da chave de criptografia tem o comprimento de 56 bits, uma unidade de conversão de dados que emita dados de 56 bits pode ser utilizada. (3) Na modalidade acima, a unidade de registro 104 (204) rece- be uma entrada de dados de texto cifrado gerada no processo de criptogra- fia imediatamente precedente, no entanto, o valor de 64 bits obtido durante o processo de criptografia imediatamente precedente pode ser utilizado.
Como um exemplo, o primeiro ou o segundo bloco intermediário gerado du- rante o processo de criptografia pode ser utilizado. Os dados utilizados não necessitam ter o comprimento de 64 bits, de modo que dados mais curtos, tal como um valor de 40 bits, pode ser utilizado. O dito a seguir descreve uma disposição possível quando dados de 40 bits são utilizados. A unidade de conversão de dados 103 (203) rece- be os dados de 40 bits e converte os dados para gerar um novo dado de 40 bits. A unidade de armazenamento de chave 111 armazena os dados da chave de criptografia de 40 bits. A unidade XOR lógica 102 faz um XOR ló- gico para os bits correspondentes no novo dado de 40 bits e nos dados da chave de criptografia de 40 bits para gerar os dados da chave de entrada de 40 bits. A unidade de geração de dados de subchave 101 gera dezesseis grupos de dados de subchave de 20 bits que são utilizados durante a cripto- grafia pela primeira até a décima sexta unidade de criptografia da unidade de criptografia 100. (4) Na modalidade acima, a unidade de criptografia 100 utiliza um método FEAL, no entanto, qualquer método de criptografia de bloco pode ser utilizado. Como um exemplo, o DES (Padrão de Criptografia de Dados) pode ser utilizado. A unidade de geração de dados de subchave 101 não está li- mitada a ter a construção descrita acima. Como um exemplo, a unidade de geração de dados de subchave 101 pode gerar dezesseis grupos de dados de subchave de 32 bits a partir dos dados da chave de entrada de 64 bits. (5) A presente invenção não está limitada a uma construção onde a unidade de geração de dados de subchave 101 utiliza dois tipos de processamento de criptografia onde os números randômicos são gerados utilizando cargas de processamento diferentes. Qualquer disposição pode ser utilizada, contanto que o processamento de criptografia utilizado quando o sinal de controle "1" é emitido possua uma carga mais pesada do que o processamento de criptografia utilizado quando o sinal de controle "0" é emitido.
Como um exemplo, ao invés de gerar dois grupos de dados de subchave, a unidade de geração de dados de subchave pode gerar dados diferentes para os primeiros 16 bits de cada um dos dezesseis grupos de dados de subchave e então gerar os últimos 16 bits de cada grupo de dados de subchave baseado nos 16 bits anteriores correspondentes. Tal proces- sarnento irá reduzir a carga de processamento da geração da chave do mesmo modo que descrito acima.
Ao invés de gerar dois grupos de dados de subchave, a unidade de geração de dados de subchave pode gerar três, quatro, cinco ou qual- quer outro número até quinze grupos de dados de subchave, com a primeira até a décima sexta unidade de criptografia, cada uma utilizando um dos grupos gerados de dados de subchave. (6) A unidade contadora 105 (205) reinicializa o valor de conta- gem para "0" quando ele alcança "210-1", apesar da invenção não estar li- mitada a utilizar "210-1" como o limite superior para o valor de contagem.
Qualquer número inteiro positivo pode ser utilizado. O valor de contagem também não necessita ser reinicializado para "0".
Nas modalidades acima, os aparelhos são descritos como inter- namente armazenando dados de chave de criptografia de 64 bits. Entretan- to, os aparelhos podem ao invés disso somente armazenar dados de chave de criptografia de 64 bits que sejam utilizados na primeira vez que a cripto- grafia é executada, com os dados da chave de entrada que são utilizados quando criptografando cada um dos outros blocos de texto simples sendo criptografados e transferidos com os blocos de texto simples. Quando atua- lizando os dados da chave de entrada, a criptografia de chave pública, tal como o método de Diffie-Hellman, pode ser utilizada para distribuir os dados da chave de entrada para os aparelhos que são para executar a comunica- ção. (7) A presente invenção também aplica-se ao método utilizado pelos aparelhos descritos acima. Este método pode ser realizado por pro- gramas de computador que são executados por computadores. Tais pro- gramas de computador podem ser distribuídos como sinais digitais. A presente invenção pode ser realizada por um meio de arma- zenamento que pode ser lido por computador, tal como um disco flexível, um disco rígido, um CD-ROM (Memória Somente para Leitura de Disco Compacto), um disco MO (magneto-ótico), um DVD (Disco Digital Versátil), um DVD-ROM, um DVD-RAM, ou uma memória semicondutora, na qual os programas de computador e/ou os sinais digitais mencionados acima são gravados. Inversamente, a presente invenção também pode ser realizada por um programa de computador e/ou sinal digital que é gravado em um meio de armazenamento.
Os programas de computador ou os sinais digitais que levam a cabo a presente invenção também podem ser transmitidos via uma rede, tal como uma rede de comunicação eletrônica, uma rede de comunicação com fios ou sem fios, ou a Internet. A presente invenção também pode ser realizada por um sistema de computador que inclua um microprocessador e uma memória. Neste caso, um programa de computador pode ser armazenado na memória, com o microprocessador operando de acordo com este programa de computa- dor.
Os programas de computador e/ou os sinais digitais podem ser proporcionados para um sistema de computador independente por distribuir um meio de armazenamento no qual os programas de computador e/ou os sinais digitais são gravados, ou por transmitir os programas de computador e/ou os sinais digitais via uma rede. O computador independente pode então executar os programas de computador e/ou os sinais digitais para funcionar como a presente invenção. (8) As limitações descritas na modalidade e as modificações po- dem ser livremente combinadas.
Apesar da presente invenção ter sido totalmente descrita por meio de exemplos com referência aos desenhos acompanhantes, deve ser observado que várias alterações e modificações serão aparentes para aqueles versados na técnica. Portanto, exceto que tais alterações e modifi- cações saiam do escopo da presente invenção, elas devem ser construídas como estando incluídas na mesma.

Claims (10)

1. Método de criptografia para uso por um aparelho de cripto- grafia que criptografa dados de texto simples compostos de uma pluralidade de blocos, o método de criptografia compreendendo: uma etapa de obtenção de bloco para obter um bloco de dados de texto simples por vez em ordem a partir do exterior do aparelho de crip- tografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para um bloco corrente obtido na etapa de obtenção de blo- co de acordo com quantos blocos foram obtidos; uma etapa de geração de chave para gerar (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e uma etapa de criptografia para criptografar o bloco corrente por sujeitar o bloco corrente a n processo de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada, e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um deles é executado utili- zando a subchave associada.
2. Método de criptografia, de acordo com a reivindicação 1, onde a etapa de selecionar (i) um primeiro modo para os blocos toda vez que uma série de blocos que foram obtidos for igual a um múltiplo de um valor predeterminado, e (ii) o segundo modo para todos os outros casos.
3. Método de criptografia, de acordo com a reivindicação 1, onde o aparelho de criptografia inclui um dispositivo de armaze- namento de valor inicial para armazenar um valor inicial, a etapa de criptografia criptografa o bloco corrente para gerar um bloco de texto cifrado possuindo um comprimento predeterminado, e a etapa de geração de chave gera o primeiro grupo utilizando o valor inicial no primeiro modo e gera o segundo grupo utilizando o valor ini- cial e o bloco de texto cifrado mais recentemente gerado pela etapa de criptografia no segundo modo.
4. Aparelho de criptografia para criptografar dados de texto sim- ples composto de uma pluralidade de blocos, o aparelho de criptografia compreendendo: dispositivo de obtenção de bloco para obter um bloco de dados de texto simples por vez em ordem a partir do exterior; dispositivo de seleção para selecionar um primeiro modo ou um segundo modo para uso com um bloco corrente obtido no dispositivo de obtenção de bloco de acordo com quantos blocos foram obtidos; dispositivo de geração de chave para gerar (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e dispositivo de criptografia para criptografar o bloco corrente por sujeitar o bloco corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um é executado utilizando a subchave associada.
5. Meio de armazenamento que pode ser lido por computador armazenando um programa de criptografia para uso por um computador que criptografa dados de texto simples compostos de uma pluralidade de blocos, programa de criptografia compreendendo: uma etapa de obtenção de bloco para obter um bloco de dados de texto simples por vez em ordem a partir do exterior do aparelho de crip- tografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para um bloco corrente obtido na etapa de obtenção de blo- co de acordo com quantos blocos foram obtidos; uma etapa de geração de chave para gerar: (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e uma etapa de criptografia para criptografar o bloco corrente por sujeitar o bloco corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um é executado utilizando a subchave associada.
6. Método de decriptografia para uso por um aparelho de de- criptografia que decriptografa dados de texto cifrados em unidade de bloco de texto cifrado, o método de decriptografia compreendendo: uma etapa de obtenção para obter um bloco de dados de texto cifrado por vez em ordem a partir do exterior do aparelho de decriptografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para uso com um bloco de texto cifrado corrente obtido na etapa de obtenção de bloco de acordo com quantos blocos de texto cifrado foram obtidos; uma etapa de geração de chave para gerar (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e uma etapa de decriptografia para decriptografar o bloco de texto cifrado corrente por sujeitar o bloco de texto cifrado corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada, e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um deles é executado utili- zando a subchave associada.
7. Método de decriptografia, de acordo com a reivindicação 6, onde a etapa de selecionar seleciona (1) o primeiro modo toda vez que uma série de blocos de texto cifrado que foram obtidos for dado como um múltiplo de um valor predeterminado, e (2) o segundo modo para todos os outros casos.
8. Método de decriptografia, de acordo com a reivindicação 6, onde o aparelho de decriptografia inclui um dispositivo de arma- zenamento de valor inicial para armazenar um valor inicial, a etapa de geração de chave gera o primeiro grupo utilizando o valor inicial no primeiro modo e gera o segundo grupo utilizando o valor ini- cial e o bloco de texto cifrado obtido imediatamente antes do bloco de texto cifrado corrente no segundo modo.
9. Aparelho de decriptografia que decriptografa dados de texto cifrado e, unidades de bloco de texto cifrado, o aparelho de decriptografia compreendendo: dispositivo de obtenção de bloco para obter um bloco de texto cifrado de dados de texto cifrado por vez em ordem a partir do exterior; dispositivo de seleção para selecionar um primeiro modo ou um segundo modo para uso com um bloco de texto cifrado corrente obtido no dispositivo de obtenção de bloco de acordo com quantos blocos de texto cifrado foram obtidos; dispositivo de geração de chave para gerar (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e dispositivo de decriptografia para decriptografar o bloco de texto cifrado corrente por sujeitar o bloco de texto cifrado corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um é executado utilizando a subchave associada.
10. Meio de armazenamento que pode ser lido por computador armazenando um programa de decriptografia para uso por um computador que decriptografa dados de texto cifrado em unidades de bloco de texto ci- frado, programa de decriptografia compreendendo: uma etapa de obtenção de bloco para obter um bloco de dados de texto cifrado por vez em ordem a partir do exterior do aparelho de de- criptografia; uma etapa de seleção para selecionar um primeiro modo ou um segundo modo para uso com um bloco de texto cifrado corrente obtido na etapa de obtenção de bloco de acordo com quantos blocos de texto cifrado foram obtidos; uma etapa de geração de chave para gerar: (1) um primeiro grupo composto de um número n predetermi- nado de subchaves diferentes quando o primeiro modo é selecionado, e (2) um segundo grupo composto de menos do que n subcha- ves diferentes quando o segundo modo é selecionado; e uma etapa de decriptografia para decriptografar o bloco de texto cifrado corrente por sujeitar o bloco de texto cifrado corrente a n processos de conversão em ordem, onde no primeiro modo, cada um dos n processos de conversão está associado com uma subchave diferente no primeiro grupo e é executado utilizando a subchave associada e no segundo modo, os n processos de conversão estão associa- dos com subchaves no segundo grupo e cada um é executado utilizando a subchave associada.
BRPI0003884-9A 1999-08-31 2000-08-30 Método de criptografia, aparelho de criptografia, método de decriptografia e aparelho de decriptografia BR0003884B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24527799 1999-08-31

Publications (2)

Publication Number Publication Date
BR0003884A BR0003884A (pt) 2001-04-03
BR0003884B1 true BR0003884B1 (pt) 2014-04-15

Family

ID=17131294

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0003884-9A BR0003884B1 (pt) 1999-08-31 2000-08-30 Método de criptografia, aparelho de criptografia, método de decriptografia e aparelho de decriptografia

Country Status (9)

Country Link
US (1) US6917684B1 (pt)
EP (1) EP1081888B1 (pt)
JP (1) JP3364200B2 (pt)
CN (2) CN100595816C (pt)
BR (1) BR0003884B1 (pt)
CA (1) CA2316636C (pt)
DE (1) DE60024941T8 (pt)
RU (1) RU2257677C2 (pt)
SG (1) SG87160A1 (pt)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565546B2 (en) * 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7039614B1 (en) * 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7747853B2 (en) * 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7127619B2 (en) * 2001-06-06 2006-10-24 Sony Corporation Decoding and decryption of partially encrypted information
US7117367B2 (en) * 2001-06-12 2006-10-03 International Business Machines Corporation Method of authenticating a plurality of files linked to a text document
EP1440439A1 (en) * 2001-10-12 2004-07-28 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7155012B2 (en) 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7292690B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
JP4150886B2 (ja) * 2002-04-19 2008-09-17 ソニー株式会社 暗号化復号化演算装置およびデータ受信装置
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US20040088539A1 (en) * 2002-11-01 2004-05-06 Infante Steven D. System and method for securing digital messages
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
EP1610490A1 (fr) * 2004-06-21 2005-12-28 France Telecom Procédé et dispositif de chiffrement ou déchiffrement de données
US20060018627A1 (en) * 2004-07-20 2006-01-26 Canon Kabushiki Kaisha Image reproducing apparatus and image reproducing method
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
JP2007013506A (ja) * 2005-06-29 2007-01-18 N-Crypt Inc 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
WO2008066671A2 (en) * 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
JP5024999B2 (ja) * 2007-09-28 2012-09-12 東芝ソリューション株式会社 暗号管理装置、暗号管理方法、暗号管理プログラム
JP4993733B2 (ja) * 2007-09-28 2012-08-08 東芝ソリューション株式会社 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
CN101887713B (zh) * 2009-05-13 2012-01-25 深圳市文鼎创数据科技有限公司 字库的加密方法及装置
US8611540B2 (en) * 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
JP5225414B2 (ja) * 2011-03-08 2013-07-03 株式会社東芝 暗号演算装置
US9774443B2 (en) * 2015-03-04 2017-09-26 Apple Inc. Computing key-schedules of the AES for use in white boxes
GB2544453A (en) * 2015-09-14 2017-05-24 Creme Software Ltd System for secure analysis of datasets
CN105790930A (zh) * 2016-04-29 2016-07-20 南京酷派软件技术有限公司 用于移动终端的信息加密方法、信息加密装置和移动终端
RU2694336C1 (ru) * 2018-05-08 2019-07-11 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ аутентифицированного шифрования
CN111212026A (zh) * 2019-11-21 2020-05-29 深圳壹账通智能科技有限公司 基于区块链的数据处理方法、装置及计算机设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229818A (en) * 1978-12-29 1980-10-21 International Business Machines Corporation Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system
US5081676A (en) * 1990-10-04 1992-01-14 Chou Wayne W Method and apparatus for protecting multiple copies of computer software from unauthorized use
US5517614A (en) * 1992-05-29 1996-05-14 Kabushiki Kaisha Toshiba Data compression/encryption processing apparatus
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
US5825889A (en) * 1996-10-15 1998-10-20 Ericsson Inc. Use of duplex cipher algorithms for satellite channels with delay
TW367465B (en) * 1997-04-23 1999-08-21 Matsushita Electric Ind Co Ltd Cryptographic processing apparatus cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
DE19724072C2 (de) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体

Also Published As

Publication number Publication date
SG87160A1 (en) 2002-03-19
JP2001142394A (ja) 2001-05-25
EP1081888A2 (en) 2001-03-07
CN1286457A (zh) 2001-03-07
CA2316636C (en) 2007-05-15
JP3364200B2 (ja) 2003-01-08
CN100592681C (zh) 2010-02-24
BR0003884A (pt) 2001-04-03
DE60024941D1 (de) 2006-01-26
US6917684B1 (en) 2005-07-12
CA2316636A1 (en) 2001-02-28
CN1822538A (zh) 2006-08-23
CN100595816C (zh) 2010-03-24
EP1081888B1 (en) 2005-12-21
DE60024941T8 (de) 2006-08-10
DE60024941T2 (de) 2006-06-29
RU2257677C2 (ru) 2005-07-27
EP1081888A3 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
BR0003884B1 (pt) Método de criptografia, aparelho de criptografia, método de decriptografia e aparelho de decriptografia
US10108558B2 (en) Key encryption and decryption
US8144869B2 (en) Content protection system, key data generation apparatus, and terminal apparatus
WO2005103908A1 (ja) 暗号又は復号を行うコンピュータシステム及びコンピュータプログラム
JP6058237B1 (ja) 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法
JP2011514091A (ja) 暗号システム
KR20050087815A (ko) 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
JP2001274786A (ja) コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
KR20130089287A (ko) 보안성을 향상시키는 순열 데이터 변환
JP4611305B2 (ja) 情報伝達システム、暗号装置及び復号装置
Alvarez et al. Analysis of security problems in a medical image encryption system
JP5060079B2 (ja) 暗号処理プログラム
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP2000066586A (ja) データ処理装置及び通信システム並びに記録媒体
JP2009128792A (ja) 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
JP4189439B2 (ja) 暗号処理装置、データ変換方法、データ変換プログラム、記録媒体及び集積回路
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP4685621B2 (ja) 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム
JP2005084568A (ja) セキュリティ方法、セキュリティ装置及びセキュリティプログラム
WO2023242955A1 (ja) 秘匿情報処理システム、秘匿情報処理方法、及び秘匿情報処理プログラム
JP2007034212A (ja) ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム
Boren et al. Software Specifications For Tinnitus Utilizing Whitenoise (Revised Feb 2004)
JP2020145656A (ja) 情報処理装置、情報処理方法及びプログラム
JP2004241980A (ja) 秘密鍵管理装置

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: KABUSHIKI KAISHA TOSHIBA (JP) , PANASONIC CORPORAT

Free format text: NOME ALTERADO DE: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD

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 15/04/2014, OBSERVADAS AS CONDICOES LEGAIS.