BR0010029B1 - Dispositivo de comunicação e método para calcular uma chave de criptografia, e, sistema para comunicar dados codificados entre dois dispositivos de comunicação - Google Patents

Dispositivo de comunicação e método para calcular uma chave de criptografia, e, sistema para comunicar dados codificados entre dois dispositivos de comunicação Download PDF

Info

Publication number
BR0010029B1
BR0010029B1 BRPI0010029-3A BR0010029A BR0010029B1 BR 0010029 B1 BR0010029 B1 BR 0010029B1 BR 0010029 A BR0010029 A BR 0010029A BR 0010029 B1 BR0010029 B1 BR 0010029B1
Authority
BR
Brazil
Prior art keywords
encryption key
delay elements
polynomial
encryption
input
Prior art date
Application number
BRPI0010029-3A
Other languages
English (en)
Other versions
BR0010029A (pt
Inventor
Joakim Persson
Ben Smeets
Mattias Hansson
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 filed Critical
Publication of BR0010029A publication Critical patent/BR0010029A/pt
Publication of BR0010029B1 publication Critical patent/BR0010029B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Computer And Data Communications (AREA)

Description

"DISPOSITIVO DE COMUNICAÇÃO E MÉTODO PARA CALCULAR
UMA CHAVE DE CRIPTOGRAFIA, E, SISTEMA PARA COMUNICAR
DADOS CODIFICADOS ENTRE DOIS DISPOSITIVOS DE COMUNICAÇÃO" FUNDAMENTOS A presente invenção relaciona-se a criptografia, e em particular a um método e dispositivo para prover um modo controlável e seguro de determinar uma chave de criptografia para uso em um algoritmo de criptografia.
Em sistemas de comunicação, dados são freqüentemente criptografados antes de transmissão para assegurar privacidade e integridade de dados. A criptografia de dados ocorre em um algoritmo de criptografia. O algoritmo de criptografia manipula ou codifica os dados de transmissão usando outros dados, operações matemáticas e/ou outros meios para executar tal criptografia. Por exemplo, o algoritmo de criptografia utiliza um parâmetro de dados conhecido como uma chave de criptografia, referido aqui pela variável K'c, em seu procedimento de inicialização. A chave de criptografia é criada em parte de uma chave de ciffagem ou chave secreta, referida aqui como IÇ, onde IÇ é conhecida a ambos o dispositivo receptor e o dispositivo transmissor para criptografar e descriptografar os dados.
Governos regulam partes de comunicação de exportação e dispositivos que são usados na criptografia e transmissão de dados, incluindo mas não limitados a software e hardware de criptografia. Tais regulamentos de exportação diferem entre países diferentes. Especificamente, governos regulam o comprimento de chave máximo permissível de chaves de ciffagem disponíveis para os dispositivos de exportação. Os usuários que transmitem e recebem dados criptografados preferiríam usar a chave de ciffagem melhor possível, quer dizer, a mais longa possível, para maximizar segurança; porém, estes usuários estão limitados por regulamentos governamentais da chave de cifragem.
Assuma que tecnologia atual provê comprimentos de chave da chave de cifragem K^, estarem entre 1 e 160 bytes (8 e 1280 bits). Governos tipicamente limitam o comprimento de chave de cifragem máximo permissível, por exemplo, a 7 bytes (56 bits).
Para ir além deste comprimento de chave de cifragem, um fabricante teria que requerer uma licença de exportação. Dispositivos de comunicação, por exemplo, telefones celulares, tipicamente utilizam o máximo comprimento de chave de cifragem para o dispositivo particular sob os regulamentos de exportação aplicáveis. O máximo comprimento chave de cifragem deveria ser armazenado de tal modo a impedir usuários de manipular facilmente o parâmetro para assegurar complacência com regulamentos governamentais. Por exemplo, este parâmetro podería ser armazenado em memória só de leitura (ROM). Porém, de um ponto de vista industrial, é desejável produzir dispositivos de comunicação que sejam capazes de funcionar em muitos países diferentes, por esse meio evitando fabricação sob encomenda e permitindo um usuário usar o mesmo dispositivo de comunicação em localizações geográficas diferentes. O fabricante preferiría fazer um produto universal com um método padronizado de criptografia que obedece os regulamentos diferentes fixados por uma variedade de governos e também provê um nível alto de segurança de dados.
Atualmente, uma chave de criptografia, K'c junto com outros parâmetros públicos, tal como um relógio mestre, é usada na inicialização de um algoritmo de criptografia. Chave de criptografia K'c, utiliza a chave de cifragem IQ, e um número aleatório público designado RAND, conforme a equação seguinte: onde RAND [L... 15] denota os bytes L até 15 de RAND.
Para propósitos exemplares, o máximo comprimento de chave de criptografia utilizável em bytes, LmaX) é assumido ser 16 bytes, embora diferentes comprimentos de chave de criptografia pudessem ser usados.
Como exposto pela equação acima, a chave de criptografia K'c, é criada anexando um número aleatório ao fim da chave de cifragem, K*, para completar a quantidade inteira de bytes disponíveis para o comprimento de chave de criptografia, isto é, 16 bytes neste caso. O parâmetro L representa o menor comprimento de chave de cifragem permitido entre dois comprimentos de chaves de cifragem, LAmax e LBmax do primeiro dispositivo de comunicação A e segundo dispositivo de comunicação B que são fabricados sob regulamentos governamentais diferentes. Em outras palavras, o comprimento de chave de cifragem usado em computar a chave de criptografia, K'c, é o menor dos dois comprimentos de chave de cifragem permitidos para serem usados pelo primeiro e segundo dispositivos de comunicação A e B. Ambos os dispositivos podem usar comunicações criptografadas com o menor comprimento de chave, mas só um dispositivo pode usar comunicação criptografada com o comprimento de chave maior.
Um problema com a equação acima para gerar chave de criptografia K'c, é que é difícil assegurar que o hardware que implementa o algoritmo de criptografia não seja alterado por software que se sobrepõe aos valores pré-ajustados de Lmax. Além disso, o parâmetro RAND, sendo público, pode ser mal utilizado para alcançar um comprimento de chave eficaz que não é restrito de qualquer forma, isto é, K'c, tem um número máximo de bits de chave eficaz.
Uma solução alternativa é reduzir o espaço provido para a chave de criptografia K'c, a L bytes na memória do dispositivo de comunicação para impedir o software de alterar este comprimento. Isto pode ser realizado "mascarando" a quantidade inteira de bytes disponíveis menos L bytes da chave de cifragem, K'c, ignorando o RAND. Por exemplo, neste caso, porque o máximo comprimento de chave de criptografia é assumido ser 16, 16 menos L bytes seriam "mascarados", ou em outras palavras, substituídos com zeros ou alguma outra seqüência fixa. A chave de criptografia resultante K'c, consistiría então de para os primeiros L bytes e zeros ou alguma outra seqüência fixa para os próximos 16 - L bytes (128-8L bits).
Porém, para valores de byte pequenos de L, pelo menos duas conseqüências indesejáveis resultam desta solução. Primeiro, durante a inicialização do algoritmo de criptografia o algoritmo de criptografia embaralha a chave de criptografia K'c> e determina um ponto de partida do algoritmo de criptografia. Para alcançar uma criptografia forte, o período de embaralhamento precisaria de ser aumentado por causa da o "característica não aleatória" da seqüência fixa grande nos 16 menos L bytes, onde L é pequeno. Quando o comprimento da parte "aleatória" da chave de criptografia diminui, o algoritmo de criptografia aumentaria idealmente o período de embaralhamento, ou número de repetições executadas, em determinar um ponto de partida da chave de criptografia para compensar o comprimento pequeno de bits "aleatórios" para alcançar uma criptografia melhor. Porém, o número das repetições capaz de ser executado está limitado pelas exigências de temporização estritas colocadas em comutação de transmissão/ recepção.
Assim, isto cria um risco de uma criptografia fraca.
Segundo, uma pessoa não autorizada tentando descriptografar os dados criptografados ou executando um "ataque de cifragem", só precisaria considerar ou analisar os primeiros L bytes da chave de cifragem Kc. Em outras palavras, a pessoa sem autorização só precisaria analisar as possíveis combinações de dados em L bytes em lugar do maior comprimento de chave de criptografia máximo utilizável, neste caso, 16 bytes, para valores pequenos de L. Isto cria um risco de decodificação não autorizada. Vários outros documentos descrevem técnicas para manipular seqüências chave associadas com técnicas de criptografia Por exemplo, Patente US 5.278.905 de McNair descreve técnicas para geração de seqüência chave que adapta a utilização de processador, por exemplo, pela multiplexação do tempo da geração e armazenagem da seqüência chave com o seu processo de criptografia. Dessa maneira, WO 97/05720 descreve uma técnica para gerar uma chave em que o espaço de distribuição da chave criptográfica é reduzida primeiro, então uma chave é gerada pelo aumento do espaço de distribuição da chave de espaço reduzido. A chave de espaço aumentado-reduzido é então usada para criptografar informação. Pessoas que recebem a informação de criptografia que estão cientes da redução dos procedimentos de distribuição e de expansão específicos serão capazes de descriptografar a informação recebida com um fator de trabalho altamente reduzido devido a maneira com que a chave é criada. Entretanto, nenhum desses documentos resolvem os problemas descritos acima associados com o número de pontos de partida no algoritmo de criptografia.
Em geral, um bom algoritmo de criptografia recebe como sua entrada, um de, por exemplo, 28L possíveis pontos de partida em um sistema binário. Onde L é 16 bytes, um bom algoritmo de criptografia recebería 2128 possíveis pontos de partida em um sistema binário. Cada uma das possíveis combinações dos 8L K'c bits definiríam um ponto de partida fora dos 28L pontos de partida. Uma pessoa sem autorização que tenta descriptografar dados criptografados teria que tentar até 2 possíveis combinações para fazer assim. Menos pontos de partida estão disponíveis onde regulamentos governamentais restringiram o comprimento de chave. Por exemplo, se um governo restringe um comprimento chave de ciffagem ao máximo de 5 bytes (40 bits), um algoritmo de criptografia teria um número reduzido de pontos de partida, que é 240 pontos de partida. Além disso, se alguém considera o espaço, ou memória, disponível para armazenar todos o possível 28L pontos de partida, tecnologia atual tipicamente restringe a memória disponível total para uma área específica da memória para armazenar o número reduzido de pontos de partida e não usa a parte restante da memória. As posições restantes são constantes. Assim, uma pessoa sem autorização que tenta descriptografar dados codificados só teria que analisar 240 pontos de partida e a pessoa sem autorização sabería onde tais pontos de partida estavam localizados em memória.
SUMÁRIO
Concordantemente, para superar os problemas acima mencionados, a presente invenção descreve um método pelo qual quando uma chave de criptografia K'c é gerada, os possíveis pontos de partida totais QT são restringidos a um subconjunto de 2 pontos de partida, onde os subconjuntos são diferentes a cada vez que uma nova K'c é gerada sobre a memória disponível total ou espaço. Assim, os pontos de partida já não são mais armazenados na mesma localização depois cada geração de uma nova chave de criptografia, K'c.
Em adição, a presente invenção provê uma interface entre o gerador da chave de cifragem IQ, em um sistema de comunicações e o dispositivo de cifragem que usa a chave de cifragem em codificar dados. A interface provê um modo controlável e seguro de limitar o comprimento de chave para conformar ao comprimento de chave eficaz fixado por regulamentos governamentais incluindo uma fimção de adição ou módulo no cálculo da chave de criptografia, K'c.
Além disso, a presente invenção provê comunicação entre dois dispositivos que são regulados por governos diferentes fixando comprimentos de chaves de cifragem máximos diferentes.
Além disso, a presente invenção provê uma chave de criptografia, K'c onde o "caráter aleatório" é espalhado sobre todas as possíveis combinações de pontos de partida para entrada no algoritmo de criptografia do dispositivo de cifragem.
As vantagens acima e outras da presente invenção são efetuadas em uma forma por um dispositivo de comunicação para determinar uma chave de criptografia para uso em um algoritmo de criptografia. O dispositivo de comunicação inclui um elemento de memória para armazenar um ou mais polinômios; uma pluralidade de elementos de comutação, cada um tendo uma primeira entrada, uma segunda entrada e uma saída, onde as primeiras entradas de elemento de comutação são conectadas ao elemento de memória; uma pluralidade de elementos de retardo, cada um tendo uma entrada e uma saída, onde a saída de um elemento de retardo é conectada às segundas entradas de elemento de comutação; e uma pluralidade de funções de adição ou módulo, cada uma tendo uma primeira entrada, uma segunda entrada e uma saída onde as primeiras entradas de módulo são conectadas a todas menos uma das saídas de elemento de retardo, onde as segundas entradas de módulo são conectadas a todas, menos uma das saídas de elemento de comutação e onde as saídas de módulo são conectadas a todas, menos uma das entradas de elemento de retardo. Os elementos de retardo podem ser na forma de um registrador de deslocamento.
As vantagens acima e outras da presente invenção também são efetuadas em outra forma por um método para calcular uma chave de criptografia, K'c(x), para uso em um algoritmo de criptografia. O método inclui as etapas de obter uma chave de ciffagem, K^x); determinar um máximo comprimento de chave de ciffagem, L; determinar um máximo comprimento de chave de criptografia disponível, Lmax; obter um polinômio gi(x), em que o grau mais alto é igual a L max; obter um polinômio g2(x), para espalhar pontos de partida de dita chave de criptografia, K'c (x); e calcular a chave de criptografia, K'c (x), onde K'c(x) = g2(L) (x) [K* (x) mod g/L) (x)].
BREVE DESCRIÇÃO DOS DESENHOS
Um entendimento mais completo da presente invenção podem ser derivado à descrição detalhada e reivindicações quando consideradas com relação às figuras onde: Figura 1 mostra dois dispositivos de comunicação móveis que transmitem e recebem dados de acordo com a presente invenção;
Figura 2 mostra um esquemático para computar uma chave de criptografia, K'c conforme a presente invenção;
Figura 3 mostra um registrador de deslocamento conforme o esquemático de Figura 2 em intervalos de tempo diferentes conforme a presente invenção; e Figura 4 mostra um diagrama de bloco de um método para computar uma chave de criptografia, K'c> conforme a presente invenção.
DESCRIÇÃO DETALHADA
Na descrição seguinte, para propósitos de explicação e não limitação, detalhes específicos são publicados, tais como circuitos particulares, componentes de circuito, técnicas, etc, para prover uma compreensão completa da presente invenção. Porém, será aparente a alguém qualificado na técnica que a presente invenção pode ser praticada em outras concretizações que se afastam destes detalhes específicos Em outros casos, descrições detalhadas de métodos bem conhecidos, dispositivos e circuitos são omitidas para não obscurecer a descrição da presente invenção.
Para assegurar conformidade a um comprimento de chave regulamentado e melhorar a criptografia de uma transmissão de dados entre dois ou mais dispositivos, uma chave de criptografia K'c é determinada ou calculada e introduzida em um algoritmo de criptografia conforme a presente invenção de acordo com a fórmula seguinte: (Equação 2) onde: L é o máximo comprimento de chave de cifragem restrito em bytes e é , e deg (gi (x)) + deg (g2(x)) ^ wL para todos os L bytes, onde w é um comprimento de palavra em bits. A chave de criptografia K'c, é escrita acima em termos de uma expressão polinomial para propósitos exemplares.
Como exposto em Equação 2, a chave de criptografia K'c, é baseada em parte na chave de cifragem K^ A chave de cifragem Kc pode ser obtida de qualquer modo satisfatório conhecido agora ou posteriormente descoberto. Por exemplo, a chave de cifragem Kc pode ser comunicada independentemente a um Dispositivo A e um Dispositivo B de um terceiro dispositivo para facilitar criptografia e decodificação. Altemativamente, Dispositivo A pode ter chave de cifragem Kc, armazenada e pode comunicar isto a Dispositivo B. Assuma que tecnologia atual permite um comprimento chave de cifragem ser entre 1 e 160 bytes (8 e 1280 bits) em comprimento.
Porém, os governos dos quais Dispositivo A e Dispositivo B são exportados colocaram certas restrições no comprimento máximo da chave de cifragem.
Por exemplo, assuma que Dispositivo A pode se comunicar com um comprimento de chave máximo de 5 bytes (40 bits) e Dispositivo B pode se comunicar com um comprimento de chave máximo de 7 bytes (56 bits) Uma vez que é determinado que Dispositivo A deseja transmitir dados para Dispositivo B, Dispositivo A e Dispositivo B "negociam" um máximo comprimento de chave aceitável, L, com o qual eles podem ambos se comunicar. Especificamente, Dispositivo A e Dispositivo B transmitirão e receberão dados para e um do outro que especificam cada comprimento de chave máxima do dispositivos. Neste exemplo, porque LAmax é 40 bits e LBmax é 56 bits, os dispositivos "concordarão" para se comunicar com um máximo comprimento de chave de cifragem, L, do menor comprimento de chave, ou 40 bits.
Assim, conforme a presente invenção, o máximo comprimento de chave possível é restrito ao mínimo dos máximos comprimentos de chave entre os Dispositivos A e B. Esta restrição de comprimento de chave é implementada na criptografia pela função de adição ou módulo e pela seleção do polinômio gi (x).
Em uma concretização exemplar, gj (x) pode ser representado como o polinômio seguinte: (Eq3) onde w iguala a um comprimento de palavra e L iguala a um número de palavras de chave de cifragem. O polinômio gi (x) é criado tal que o grau mais alto do polinômio será aquele do máximo comprimento de chave permissível em bits.
Por exemplo, se o comprimento de palavra é 8 bits e o número de palavras é 5, o grau mais alto do polinômio gj (x) será 40. Assim, o polinômio gi (x) podería ser, por exemplo, como segue: (Eq. 4) A operação de adição ou módulo assegura que o comprimento de chave é wL bits como o grau máximo do restante não pode exceder um menos que o grau mais alto do denominador. Neste exemplo, a computação da operação Kc (x) mod gi(L) (x) produzirá um resultado onde o graumais alto possível é um menos que 40, isto é, 39. O resultado tem 40 bits que satisfaz o máximo comprimento de chave permissível. O polinômio gi(x) pode ser acessado de uma tabela, por exemplo que identifica um polinômio apropriado gi (x) para um dado L. Esta tabela é localizada preferentemente no hardware de forma que os polinômios disponíveis gi (x) estão seguros. Os polinômios gi (x) são assim protegidos de adulteração para assegurar complacência com regulamentos governamentais. Será reconhecido que uma tabela é um modo para armazenar ou obter polinômios gi (x), mas também outros modos conhecidos na técnica também podem ser usados.
Como discutido acima, um bom algoritmo de criptografia Ol recebe como sua entrada, um de 2 possíveis pontos de partida em um sistema binário, L sendo o máximo comprimento de chave de ciffagem possível em bytes. Cada uma das possíveis combinações dos 8L K'c bits definiría um ponto de partida fora dos 28L pontos de partida. Uma pessoa sem autorização que tenta descriptografar dados codificados teria que tentar até 28L possíveis combinações para fazer assim.
Por exemplo, se L iguala 16 bytes, um bom algoritmo de criptografia recebe como sua entrada, um de 2128 possíveis pontos de partida em um sistema binário. Cada uma das possíveis combinações dos 128 K'cbits definiría um ponto de partida fora dos 2 pontos de partida. Uma pessoa sem autorização que tenta descriptografar dados codificados teria que tentar até 2128 possíveis combinações para fazer assim.
No exemplo acima com Dispositivo A e Dispositivo B, um algoritmo de criptografia teria um número reduzido de pontos de partida por causa do valor menor de L, que é 240 pontos de partida. Tecnologia atual tipicamente restringe a memória disponível total (neste caso, 240 possíveis pontos de partida) a uma área específica da memória para armazenar o número reduzido de pontos de partida e não usa a parte restante da memória. As posições restantes são constantes. Assim, neste exemplo sob tecnologia atual, uma pessoa sem autorização que tenta descriptografar dados codificados teria só que analisar 240 pontos de partida e a pessoa sem autorização sabería onde tais pontos de partida estavam em memória.
Em outras palavras, se a chave de criptografia K'c (x), resultou só de IQ (x), mod gi(L) (x), K'c (x) seria armazenada em uma parte específica de memória de acordo com tecnologia atual. Os outros bits seriam zero ou alguma outra seqüência fixa. Os pontos de partida seriam então localizados em um subconjunto específico de todos os possíveis pontos de partida. Para aumentar a intensidade da criptografia, porém, é benéfico ter os pontos de partida espalhados através de todos os possíveis bits.
Distância de Hamming é um valor que reflete o número de bits distintos em duas seqüências de dados. Quanto maior a distância de Hamming entre os possíveis pontos de partida, melhor a criptografia. Se os pontos de partida sempre são localizados em um subconjunto específico de posições, a distância de Hamming, e assim a criptografia, será pobre. A presente invenção provê um método e dispositivo pelos quais os pontos de partida são espalhados de um modo mais eficaz em lugar de serem confinados a um subconjunto específico de bits de forma que a distância mínima entre os pontos de partida se toma maior.
Este conceito de aumentar a distância ou "espalhar" é conhecido na técnica. Por exemplo, codificação de correção de erro usa este conceito para uma aplicação diferente. Assim, para espalhar os pontos de partida através da possível faixa de bits, o resultado da operação K* (x) mod gi(L) (x) é multiplicado por um polinômio g2 (x), onde um polinômio exemplar g2 (x) é como segue: (■Eq.5) onde w iguala um comprimento de palavra, L iguala um número de palavras da chave de cifragem e Lmax iguala um número máximo de palavras utilizável na chave de criptografia. A multiplicação de g2 (x) com o resultado de K* (x) mod gj(L) (x) "espalhará" o resultado de Kc (x) mod g/L) (x) através da área de bit inteira. O polinômio apropriado g2 (x) será selecionado baseado em um dado L como é atualmente conhecido na técnica. Quer dizer, para comprimentos de chave diferentes, L, coeficientes diferentes dos polinômios g2 (x) são selecionados para alcançar mais efetivamente distâncias de Hamming desejáveis. Para valores pequenos de L, um conjunto de coeficientes podería alcançar distâncias de Hamming desejáveis enquanto para valores grandes de L, um conjunto diferente de coeficientes seria mais apropriado para alcançar distâncias de Hamming desejáveis. No caso binário, g2(x) pode ser achado como um polinômio gerador de um código de correção de erro de BCH. Os polinômios g2(x) podem ser armazenados tanto em uma tabela que relaciona polinômios apropriados g2(x) para um dado L. Esta tabela pode ser a mesma tabela na qual gi(x) é armazenado ou em outra tabela. Os polinômios g2(x) podem ser armazenados tanto em hardware ou em software do dispositivo de cifragem. Será reconhecido que uma tabela é um modo para armazenar e recuperar polinômios g2(x), mas também outros modos conhecidos na técnica podem também ser usados. Altemativamente, os polinômios g2(x) podem ser obtidos de memória em alguma outra localização, isto é, não localizada dentro do dispositivo de cifragem. K'c (x) resulta desta multiplicação. K'c (x) é introduzido em um algoritmo de criptografia para uso em criptografar dados.
Figura 1 mostra dispositivos de comunicação móveis 100, 102 que transmitem e recebem dados um do outro conforme a presente invenção.
Dispositivos 100, 102 podem ser qualquer tipo de dispositivo hardware ou sem fios, incluindo, sem limitação, um telefone celular ou um computador.
Figura 2 mostra uma vista mais detalhada de um dispositivo de comunicação 200. Dispositivo de comunicação 200 inclui um elemento de memória 202, uma pluralidade de elementos de comutação, tais como portões E 204, uma pluralidade de elementos de retardo 206, e uma pluralidade de funções de adição ou módulo 208.
Elemento de memória 202 armazena polinômio gi(x).
Elemento de memória 202 pode ser uma tabela de consulta ou algum outro arranjo de informação armazenada. Elemento de memória 202 também pode armazenar polinômio g2(x). Altemativamente, g2(x) pode ser armazenado em alguma outra localização dentro de dispositivo de comunicação 200 ou pode ser obtido de alguma outra localização externa, mas acessível, a dispositivo de comunicação 200. Para propósitos exemplares, elemento de memória 202 é descrito aqui como armazenando ambos gi(x) e g2(x). As funções gi(x) e g2(x) são polinômios que têm coeficientes especificados, por exemplo, aqueles descritos acima.
Elementos de comutação e portões E 204 cada um tem uma primeira entrada, uma segunda entrada e uma saída. Elemento de memória 202 é conectado às primeiras entradas de portões E 204. Cada elemento de retardo 206 tem uma entrada e uma saída. Elementos de retardo 206 podem ser implementados como um registrador de deslocamento. A saída de uma dos portões E 204a é conectada à entrada de um primeiro elemento de retardo 206a. Funções de módulo 208 cada uma tem uma primeira entrada, uma segunda entrada e uma saída. As saídas dos portões E 208 restantes são conectadas a primeiras entradas de funções de módulo 208. As saídas de todos os elementos de retardo 206, com exceção de um último elemento de retardo 206b, são conectadas às segundas entradas de funções de módulo 208. A saída do último elemento de retardo 206b é conectada à segunda entrada de portões E 204. As saídas de funções de módulo 208 são conectadas às entradas de todos os elementos de retardo 206, exceto primeiro elemento de retardo 206a.
Para propósitos exemplares, assuma um esquema binário por simplicidade; porém, aqueles qualificados na técnica apreciarão que a presente invenção é igualmente aplicável a outras representações de símbolo.
Inicialmente, dispositivos de comunicação 100, 102 como mostrados em Figura 1, "negociarão" ou se comunicarão entre eles mesmos para determinar o máximo comprimento de chave de cifragem, L que ambos os dispositivos 100, 102 podem usar para se comunicar, como discutido acima. Dispositivos 100, 102 poderíam, por exemplo, trocar o comprimento de chave de cifragem máximo respectivo de cada dispositivo. Dispositivos 100, 102 então "concordam" sobre um máximo comprimento de chave de cifragem, L selecionando o menor dos dois comprimentos de chave de cifragem requeridos para cada dispositivo, se os comprimentos de chave de cifragem L, diferem.
Se referindo novamente a Figura 2, a primeira entrada de portões E 204 é o polinômio binário gi(x) de elemento de memória 202. Os primeiros w(Lmax - L) coeficientes são zero e os últimos coeficientes wL podem ser números não zero. Neste caso, w iguala ao comprimento de palavra, para todo w > 1, L iguala o número "negociado" de palavras da chave de cifragem, para todo L > 1, Lmax iguala o número máximo de palavras utilizáveis na chave de criptografia, para todo Lmax > 1. A segunda entrada de portões E 204 é inicializada a zero. Assim, a saída de portões E 204 é zero para cada portão que corresponde aos primeiros w(Lmax - L) bits. Para os últimos wL bits, a saída de portões E 204 é uma função dos coeficientes do polinômio gj(x) para cada portão que corresponde aos últimos wL coeficientes. Quando o coeficiente para gi(x) é 0, portão E 204 abrirá.
Reciprocamente, quando o coeficiente para gi(x) é 1, portão E 204 fechará.
Elementos de retardo 206 são inicializados com os coeficientes da chave de cifragem, Kc (x) (como mostrado em registrador de deslocamento 306a de Figura 3). Estes coeficientes, como também as saidas de portões E 204, são introduzidos em funções OU exclusivo 208. (Isto é para o caso binário. Em casos diferentes de binário, estes coeficientes são introduzidos em outra função de adição apropriada). As entradas iniciais de portões E 204 são uma seqüência de zeros e os coeficientes gi(x) como descrito acima. As saídas de funções OU exclusivos 208 são introduzidas em todas os portões E 206, com exceção de primeiro portão E 206a. A saída de último elemento de retardo 206b é realimentada nas segundas entradas de todas os portões E 204. Este processo é repetido então quando os dados são deslocados, de acordo com ciclos disponíveis, pulsos de referência de tempo ou outros mecanismos de temporização.
Chave de cifragem Kc(x), é localizada inicialmente em elementos de retardo 206 (ou um registrador de deslocamento como mostrado em 306a em Figura 3). Como acima descrito, computações são executadas utilizando a chave de cifragem Κ*(χ). Chave de cifragem Kc(x) é deslocada fora de elementos de retardo 206. A saída de último elemento de retardo 206b é introduzida em portões E 204 naquelas posições onde portões E 204 estão fechados. Depois da conclusão de w(Lmax-L) deslocamentos, elementos de retardo 206 contêm o resultado da função OU exclusivo, K^x) mod gi(L) (x) nos últimos wL espaços (como mostrado em registrador de deslocamento 306b em Figura 3). Como declarado acima, esta computação assegura que o máximo comprimento de chave da chave de cifragem K^x) não excede os regulamentos governamentais do máximo comprimento de chave permitido.
Depois da conclusão de w(Lmax-L) deslocamentos, g2(x) é introduzido em portões E 204. Em contraste a gi(x), g2(x) é um polinômio onde os primeiros w(Lmax-L) coeficientes podem ser números não zero e os últimos wL coeficientes são zeros. O processo acima continua para wL mais deslocamentos. Os wL bits que resultam de funções OU exclusivo foram agora "espalhados" sobre a área. O resultado em elementos de retardo 206 (como mostrado em registrador de deslocamento 210c em Figura 3) é chave de criptografia, K'c (x) que pode ser então introduzida em um algoritmo de criptografia adequado para codificar dados.
Para propósitos exemplares, assuma que w iguala 8, L iguala 5, Lmax iguala 16. Assuma novamente um esquema binário por simplicidade.
Se referindo novamente a Figura 2, a primeira entrada de portões E 204 é o polinômio binário gi(x) de elemento de memória 202. Os primeiros w(Lmax-L), ou 88, coeficientes são zero e os últimos wL, ou 40, coeficientes podem ser números não zero. A segunda entrada de portões E 204 é inicializada a zero. Assim, a saída de portões E 204 é zero para cada portão que corresponde aos primeiros 88 bits. Para os últimos 40 bits, a saída de portões E 204 é uma função dos coeficientes do polinômio gi(x) para cada portão que corresponde aos últimos 40 bits. Quando o coeficiente para gi(x) é 0, o portão E abrirá. Reciprocamente, quando o coeficiente para gi(x) é 1, o portão E fechará.
Elementos de retardo 206 são inicializados com os coeficientes da chave de ciffagem, Kc(x). Estes coeficientes, como também as saídas de portões E 204, são introduzidos em funções OU exclusivo 208. (As entradas iniciais de portões E 204 são uma seqüência de zeros e os coeficientes gi(x) como descrito acima). As saídas de funções OU exclusivo 208 são introduzidas em todas os portões E 206, exceto para primeiro portão E 206a. A saída de último elemento de retardo 206b é introduzida em portões E 204 naquelas posições onde portões E 204 estão fechados. Este processo é repetido então quando dados são deslocados.
Chave de ciffagem IQ (x), é localizada inicialmente em 128 elementos de retardo 206 (ou em um registrador de deslocamento de 128 bits como mostrado em 306a em Figura 3). Como acima descrito, as computações são executadas utilizando a chave de ciffagem, Kc(x). Chave de ciffagem, Kc(x), é deslocada fora de elemento de retardo 206. A saída de último elemento de retardo 206b é introduzida em portões E 204. Depois da conclusão de 128-40, ou 88 deslocamentos, elementos de retardo 206 contêm o resultado da função OU exclusivo, K^x) mod gi(L)(x) nos últimos 40 espaços.
Os coeficientes g2 (x) são então introduzidos em portões E 204. O processo acima continua para 40 mais deslocamentos, ou um total de 128 deslocamentos. Os 40 bits que resultam de função OU exclusivo foram agora "espalhados" sobre a área. O resultado em elementos de retardo 206 (ou em registrador de deslocamento 306c como mostrado em Figura 3) é chave de criptografia, K'c(x), que pode ser então introduzida em um algoritmo de criptografia adequado para codificar dados.
Figura 4 mostra um diagrama de bloco de um método 400 para computar a chave de criptografia K'c(x), para criptografar dados conforme a presente invenção. Método 400 inclui a etapa de obter uma chave de cifragem, Kç(x) 402. Como descrito acima, chave de cifragem Kc(x) pode ser obtida de qualquer número de modos conhecido na técnica. A seguir, a etapa de determinar um máximo comprimento de chave de cifragem, L 404, é executada. O máximo comprimento de chave é tipicamente um valor em bytes. Os dispositivos que desejam se comunicar trocarão informação ou "negociarão" a respeito do máximo comprimento de chave de cifragem com a qual cada dispositivo pode se comunicar. Tipicamente, o máximo comprimento de chave será ajustado ao comprimento de chave disponível negociado maior com o qual ambos os dispositivos podem se comunicar. Um polinômio gi(x) é então obtido de acordo com etapa 406. Polinômio gi(x) é manipulado então matematicamente com a chave de cifragem, Kç(x) de acordo com a função Kc(x) mod gi(x) para alcançar um primeiro resultado.
Um polinômio g2(x) é obtido então de acordo com etapa 408. Etapa 408 espalha os pontos de partida, ou aumenta a distância de Hamming de chave de criptografia, K'c(x). Um polinômio apropriado g2(x) é selecionado baseado nos resultados de etapa 404. Finalmente, a chave de criptografia, K'c(x) pode ser calculada de acordo com etapa 410 onde K'c(x) = g2(L) (x) [K* (x) mod g,(L)(x)]. A presente invenção foi descrita acima com referência a concretizações preferidas. Porém, aqueles qualificados na técnica reconhecerão que mudanças e modificações podem ser feitas sem partir do escopo da presente invenção. Por exemplo, embora a presente invenção descreva um método e dispositivo onde o máximo comprimento de chave de ciffagem, L, é 5 bytes, e o máximo comprimento de chave de criptografia utilizável, Lmax, é 16 bytes, será apreciado que a presente invenção não é limitada assim a estes comprimentos. Além, também será apreciado que os dados que são transmitidos e recebidos não são limitados a qualquer tipo particular de dados. Podem constituir voz, escrita ou outros dados. Podem ser binários, ASCII ou qualquer outra forma de dados. Além, os dados podem ser transmitidos através de qualquer meio agora conhecido, tal como fios ou ondas ou descoberto mais tarde.

Claims (28)

1. Dispositivo de comunicação (200) para calcular uma chave de criptografia, K'c, manipulando uma chave de cifragem, KC) para uso em uma algoritmo de criptografia, dito dispositivo incluindo: um elemento de memória (202) para armazenar um ou mais polinômios; uma pluralidade de elementos de comutação (204), cada um tendo uma primeira entrada, uma segunda entrada e uma saída, em que ditas primeiras entradas de elementos de comutação são conectadas a dito elemento de memória (202); uma pluralidade de elementos de retardo (206), cada um tendo uma entrada e uma saída, onde dita saída de um de ditos elementos de retardo é conectada a ditas segundas entradas de elementos de comutação; e caracterizado pelo fato de compreender: uma pluralidade de funções de adição (208), cada uma tendo uma primeira entrada, uma segunda entrada e uma saída, em que: ditas primeiras entradas de funções de adição são conectadas a todas menos uma de ditas saídas de elementos de retardo, ditas segundas entradas de funções de adição são conectadas a todas menos uma de ditas saídas de elementos de comutação, e ditas saídas de funções de adição são conectadas a todas menos uma de ditas entradas de elementos de retardo.
2. Dispositivo de acordo com reivindicação 1, caracterizado pelo fato de que ditos elementos de comutação são portões E.
3. Dispositivo de acordo com reivindicação 1, caracterizado pelo fato de que o elemento de memória armazena um polinômio gi(x), em que e em que w é um comprimento de palavra e L é um número de palavras de dita chave de cifragem.
4. Dispositivo de acordo com reivindicação 3, caracterizado pelo fato de que o elemento de memória armazena um polinômio g2(x), em que e em que w é um comprimento de palavra, L é um número de palavras em dita chave de cifragem, e Lmax e o número máximo de palavras utilizáveis na chave de criptografia, K'c.
5. Dispositivo de acordo com reivindicação 4, caracterizado pelo fato de que ditos elementos de retardo são inicialmente carregados com dita chave de cifragem, IQ (x).
6. Dispositivo de acordo com reivindicação 5, caracterizado pelo fato de que dito polinômio gi(x) tem um primeiro coeficiente w(Lmax-L) igual a uma seqüência fixa.
7. Dispositivo de acordo com reivindicação 6, caracterizado pelo fato de que dito polinômio g2(x) tem um últimos coeficiente wL igual a uma seqüência fixa.
8. Dispositivo de acordo com reivindicação 7, caracterizado pelo fato de que os últimos wL bits de ditos elementos de retardo armazenam um resultado de Kc(x) mod gi (x) depois de w(Lmax-L) deslocamentos.
9. Dispositivo de acordo com reivindicação 8, caracterizado pelo fato de que ditos elementos de retardo armazenam dita chave de criptografia, K'c, depois de wL deslocamentos adicionais.
10. Dispositivo de acordo com reivindicação 1. caracterizado pelo fato de que ditos elementos de retardo são um registrador de deslocamento.
11. Método para calcular uma chave de criptografia, K'c (x), para criptografar dados, incluindo as etapas de: obter (402) uma chave de cifragem, Kc (x); determinar (404) um máximo comprimento de chave de cifragem, L; determinar um máximo comprimento de chave de criptografia utilizável, Lmax; obter (406) um polinômio gi (x), caracterizado pelo fato de compreender as etapas de: obter (408) um polinômio g2(x), para espalhar pontos de partida de dita chave de criptografia, K'c(x); e calcular (410) dita chave de criptografia, K'c(x), em que K'c (x) = g2(L) (x) [K^ (x) mod g/L) (x)].
12. Método de acordo com reivindicação 11, caracterizado pelo fato de que ademais inclui a etapa de: selecionar dito polinômio g2 (x) baseado em L.
13. Método de acordo com reivindicação 12, caracterizado pelo fato de que: e em que um grau mais alto de dito polinômio gi (x) é igual a wL.
14. Método de acordo com reivindicação 13, caracterizado pelo fato de que
15. Método de acordo com reivindicação 14, caracterizado pelo fato de que um primeiro coeficiente w(Lmax - L de gi(x) é igual a uma seqüência fixa.
16. Método de acordo com reivindicação 15, caracterizado pelo fato de que um último coeficiente wL de g2(x) é igual a uma seqüência fixa.
17. Método de acordo com reivindicação 12, caracterizado pelo fato de que dita etapa de cálculo é executada usando uma pluralidade de portões E, cada uma tendo uma primeira entrada, uma segunda entrada e uma saída, uma pluralidade de elementos de retardo, e uma pluralidade de funções de adição.
18. Método de acordo com reivindicação 17, dito método caracterizado pelo fato de que ademais inclui as etapas de: inicializar ditos elementos de retardo com dita chave de cifragem, IQ (x); inicializar ditas primeiras entradas de ditos portões E a ditos coeficientes polinomiais de gi(x); e inicializar ditas segundas entradas de ditos portões E a zero.
19. Método de acordo com reivindicação 17, caracterizado pelo fato de que ditos elementos de retardo são um registrador de deslocamento.
20. Sistema para comunicar dados codificados entre dois dispositivos de comunicação incluindo: um primeiro dispositivo de comunicação (100) tendo um primeiro comprimento de chave de cifragem, LAmax; e um segundo dispositivo de comunicação (102) tendo um segundo comprimento de chave de cifragem, LBmax ; e um meio para determinar um máximo comprimento de chave de cifragem, L, onde 1 < L < min {LAmax, LBmax}, caracterizado pelo fato de que: dito primeiro dispositivo inclui: um meio (204) para obter polinômios gi(x) e g2(x); um meio (206) para obter função de cifragem Kc(x); e um meio (204, 206, 208) para calcular uma chave de criptografia, K'c(x), onde
21. Sistema de acordo com reivindicação 20, caracterizado pelo fato de que dito meio para calcular dita chave de criptografia, K'c(x), inclui: uma pluralidade de portões E, cada uma tendo uma primeira entrada, uma segunda entrada e uma saída, em que ditas primeiras entradas de portão são conectadas a dito elemento de memória; uma pluralidade de elementos de retardo, cada um tendo uma entrada e uma saída, em que dita saída de um elemento de retardo é conectada a ditas segundas entradas de portão; e uma pluralidade de funções de adição, cada uma tendo uma primeira entrada, uma segunda entrada, e uma saída, em que ditas primeiras entradas de funções de adição são conectadas a todas menos uma de ditas saídas de elemento de retardo, em que ditas segundas entradas de funções de adição são conectadas a todas menos uma de ditas saídas de portão e em que ditas saídas de funções de adição são conectadas a todas menos uma de ditas entradas de elemento de retardo.
22. Sistema de acordo com reivindicação 21, caracterizado pelo fato de que ditos elementos de retardo são inicialmente carregados com dita chave de cifragem, Kc (x).
23. Sistema de acordo com reivindicação 20, caracterizado pelo fato de que ditos meio para obter polinômios gi(x) e g2(x) inclui recuperar ditos polinômios de um elemento de memória contido dentro de dito primeiro dispositivo de comunicação.
24. Sistema de acordo com reivindicação 23, caracterizado pelo fato de que:
25. Sistema de acordo com reivindicação 24, caracterizado pelo fato de que:
26. Sistema de acordo com reivindicação 25, caracterizado pelo fato de que os últimos wL bits de ditos elementos de retardo armazenam o resultado de Kc (x) mod g'(x) depois de w(Lmax - L) deslocamentos.
27. Sistema de acordo com reivindicação 26, caracterizado pelo fato de que ditos elementos de retardo armazenam dita chave de criptografia, K'c(x), depois de wL deslocamentos adicionais.
28. Sistema de acordo com reivindicação 21, caracterizado pelo fato de que ditos elementos de retardo são um registrador de deslocamento.
BRPI0010029-3A 1999-04-26 2000-04-11 Dispositivo de comunicação e método para calcular uma chave de criptografia, e, sistema para comunicar dados codificados entre dois dispositivos de comunicação BR0010029B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13094499P 1999-04-26 1999-04-26
US60/130944 1999-04-26
US09/461,766 US6947560B1 (en) 1999-04-26 1999-12-15 Method and device for effective key length control
US09/461766 1999-12-15
PCT/EP2000/003284 WO2000065768A1 (en) 1999-04-26 2000-04-11 Method and device for effective key length control

Publications (2)

Publication Number Publication Date
BR0010029A BR0010029A (pt) 2002-01-15
BR0010029B1 true BR0010029B1 (pt) 2014-02-04

Family

ID=26828998

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0010029-3A BR0010029B1 (pt) 1999-04-26 2000-04-11 Dispositivo de comunicação e método para calcular uma chave de criptografia, e, sistema para comunicar dados codificados entre dois dispositivos de comunicação

Country Status (12)

Country Link
US (1) US6947560B1 (pt)
EP (1) EP1171971B1 (pt)
JP (1) JP4668428B2 (pt)
CN (2) CN1332524C (pt)
AR (1) AR023605A1 (pt)
AT (1) ATE298481T1 (pt)
AU (1) AU4913000A (pt)
BR (1) BR0010029B1 (pt)
CO (1) CO5300374A1 (pt)
DE (1) DE60020953T2 (pt)
MY (1) MY123139A (pt)
WO (1) WO2000065768A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931130B1 (en) * 1999-10-07 2005-08-16 International Business Machines Corporation Dynamically adjustable software encryption
US7360121B2 (en) * 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
US7287075B2 (en) * 2002-02-22 2007-10-23 Bea Systems, Inc. System for monitoring managed server health
JP4655452B2 (ja) * 2003-03-24 2011-03-23 富士ゼロックス株式会社 情報処理装置
EP1629626B1 (en) * 2003-05-23 2008-02-27 Nxp B.V. Method and apparatus for a low memory hardware implementation of the key expansion function
US7570641B2 (en) * 2005-08-23 2009-08-04 Macrovision Corporation Techniques for watermarking and distributing content
US8183980B2 (en) * 2005-08-31 2012-05-22 Assa Abloy Ab Device authentication using a unidirectional protocol
US7873166B2 (en) * 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US20080037775A1 (en) * 2006-03-31 2008-02-14 Avaya Technology Llc Verifiable generation of weak symmetric keys for strong algorithms
WO2010019593A1 (en) 2008-08-11 2010-02-18 Assa Abloy Ab Secure wiegand communications
US20170070481A1 (en) * 2015-09-03 2017-03-09 Pilixo Limited Communication channel security against packet sniffing
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485
US11621837B2 (en) 2020-09-03 2023-04-04 Theon Technology Llc Secure encryption of data using partial-key cryptography
US11310042B2 (en) 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
US11552780B2 (en) 2020-12-23 2023-01-10 Theon Technologies, Inc. Homomorphic one-time pad encryption
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11902420B2 (en) 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3371947D1 (en) * 1982-12-20 1987-07-09 Radiotechnique Sa Generator of random number sequences
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
JPH0727325B2 (ja) * 1987-02-13 1995-03-29 沖電気工業株式会社 暗号化装置
US5008938A (en) * 1990-03-09 1991-04-16 Motorola, Inc. Encryption apparatus
US5199072A (en) 1992-02-03 1993-03-30 Motorola, Inc. Method and apparatus for restricting access within a wireless local area network
US5278905A (en) 1992-05-13 1994-01-11 At&T Bell Laboratories Method and apparatus for processor base encryption
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
CN1089205C (zh) * 1994-09-24 2002-08-14 西安电子科技大学 一种高速数据置乱方法
EP1526472A3 (en) * 1995-02-13 2006-07-26 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5729559A (en) * 1995-03-27 1998-03-17 Motorola, Inc. Method and apparatus for correcting errors using multiple estimates
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
CN1155192C (zh) * 1995-07-27 2004-06-23 通用仪器公司 为加密处理信息提供密码密钥的方法和装置
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5631962A (en) 1995-10-23 1997-05-20 Motorola, Inc. Circuit and method of encrypting key validation
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5727063A (en) * 1995-11-27 1998-03-10 Bell Communications Research, Inc. Pseudo-random generator
US5883956A (en) 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
EP0891663A1 (en) * 1996-04-01 1999-01-20 Hewlett-Packard Company Transmitting messages over a network
US5815573A (en) * 1996-04-10 1998-09-29 International Business Machines Corporation Cryptographic key recovery system
US5710814A (en) * 1996-07-23 1998-01-20 Cheyenne Property Trust Cryptographic unit touch point logic
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
US5862159A (en) * 1996-09-11 1999-01-19 Texas Instruments Incorporated Parallelized cyclical redundancy check method
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers

Also Published As

Publication number Publication date
ATE298481T1 (de) 2005-07-15
CN1332524C (zh) 2007-08-15
CN1558592A (zh) 2004-12-29
CO5300374A1 (es) 2003-07-31
WO2000065768A1 (en) 2000-11-02
AU4913000A (en) 2000-11-10
DE60020953T2 (de) 2005-12-01
CN1282323C (zh) 2006-10-25
JP4668428B2 (ja) 2011-04-13
JP2002543667A (ja) 2002-12-17
AR023605A1 (es) 2002-09-04
EP1171971A1 (en) 2002-01-16
US6947560B1 (en) 2005-09-20
BR0010029A (pt) 2002-01-15
MY123139A (en) 2006-05-31
EP1171971B1 (en) 2005-06-22
CN1348646A (zh) 2002-05-08
DE60020953D1 (de) 2005-07-28

Similar Documents

Publication Publication Date Title
BR0010029B1 (pt) Dispositivo de comunicação e método para calcular uma chave de criptografia, e, sistema para comunicar dados codificados entre dois dispositivos de comunicação
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
EP0963635B1 (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
US6307936B1 (en) Cryptographic key management scheme
US6078667A (en) Generating unique and unpredictable values
US8332643B2 (en) Establishing secure mutual trust using an insecure password
KR100331863B1 (ko) 네트워크암호화장치및방법
US20070058806A1 (en) Cipher for disk encryption
US20080062803A1 (en) System and method for encrypting data
US20150270967A1 (en) Method for performing an encryption of an aes type, and corresponding system and computer program product
BRPI0718048A2 (pt) Método e equipamento para autenticação mútua
JPWO2012120671A1 (ja) 共通鍵暗号を用いた認証システム
WO2001039429A1 (en) Integrity check values (icv) based on pseudorandom binary matrices
CA2018270A1 (en) Method for utilizing an encrypted key as a key identifier in a data packet in a computer network
JP2022537733A (ja) 認証付き鍵共有
JP2009071854A (ja) セキュリティ強化のための転置データ変換
WO2012120671A1 (ja) 共通鍵暗号を用いた認証システム
US20030149876A1 (en) Method and system for performing perfectly secure key exchange and authenticated messaging
JP2020525863A (ja) アナログコンポーネントを備えたデータセキュリティ装置
US11461235B2 (en) Method and apparatus to protect code processed by an embedded micro-processor against altering
Morchón et al. Resource-efficient security for medical body sensor networks
US11343108B2 (en) Generation of composite private keys
WO2021173070A1 (en) Method of communication between functional blocks in a system-on-chip and system-on-chip thereof
US20050050436A1 (en) Device and method of applying a parity to encrypt data for protection
KR100271782B1 (ko) 직책인증 ic카드 및 이를 이용한 컴퓨터 보호장치

Legal Events

Date Code Title Description
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 04/02/2014, OBSERVADAS AS CONDICOES LEGAIS.