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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation 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.
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)
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)
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 |
-
1999
- 1999-12-15 US US09/461,766 patent/US6947560B1/en not_active Expired - Lifetime
-
2000
- 2000-04-11 JP JP2000614599A patent/JP4668428B2/ja not_active Expired - Lifetime
- 2000-04-11 WO PCT/EP2000/003284 patent/WO2000065768A1/en active IP Right Grant
- 2000-04-11 CN CNB2004100493185A patent/CN1332524C/zh not_active Expired - Lifetime
- 2000-04-11 CN CNB008067570A patent/CN1282323C/zh not_active Expired - Lifetime
- 2000-04-11 DE DE60020953T patent/DE60020953T2/de not_active Expired - Lifetime
- 2000-04-11 EP EP00931061A patent/EP1171971B1/en not_active Expired - Lifetime
- 2000-04-11 BR BRPI0010029-3A patent/BR0010029B1/pt active IP Right Grant
- 2000-04-11 AT AT00931061T patent/ATE298481T1/de not_active IP Right Cessation
- 2000-04-11 AU AU49130/00A patent/AU4913000A/en not_active Abandoned
- 2000-04-21 MY MYPI20001740A patent/MY123139A/en unknown
- 2000-04-25 CO CO00029649A patent/CO5300374A1/es not_active Application Discontinuation
- 2000-04-26 AR ARP000101976A patent/AR023605A1/es unknown
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. |