ES2343491T3 - Procedimiento y aparato para encriptar señales para su transmision. - Google Patents

Procedimiento y aparato para encriptar señales para su transmision. Download PDF

Info

Publication number
ES2343491T3
ES2343491T3 ES98915133T ES98915133T ES2343491T3 ES 2343491 T3 ES2343491 T3 ES 2343491T3 ES 98915133 T ES98915133 T ES 98915133T ES 98915133 T ES98915133 T ES 98915133T ES 2343491 T3 ES2343491 T3 ES 2343491T3
Authority
ES
Spain
Prior art keywords
key
transformation
coding
additional
performed according
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES98915133T
Other languages
English (en)
Inventor
Gregory G. Rose
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2343491T3 publication Critical patent/ES2343491T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Un procedimiento de transformación de un conjunto de señales de mensaje que representan un mensaje para su transmisión en un sistema de comunicaciones, comprendiendo el procedimiento: codificar en primer lugar una de dicho conjunto de señales de mensaje según una primera transformación por clave caracterizado por las etapas de: codificar en segundo lugar dicha primera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave adicional; codificar en tercer lugar dicha segunda señal codificada de dicho conjunto de señales de mensaje según una transformación de autoinversión en la que se altera al menos una de dicho conjunto de señales de mensaje; codificar en cuarto lugar dicha tercera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave inversa adicional en el que cada una de dicha al menos una transformación por clave inversa adicional es una inversa correspondiente de dicha al menos una transformación por clave adicional; codificar en quinto lugar dicha cuarta señal codificada de dicho conjunto de señales de mensaje según una primera transformación por clave inversa en el que dicha primera transformación por clave inversa es la inversa de dicha primera transformación por clave; y caracterizado porque dicha etapa de codificar en primer lugar se realiza según una primera tabla, y en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente, o dicha etapa de codificar en primer lugar se realiza según una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según al menos una dirección adicional.

Description

Procedimiento y aparato para encriptar señales para su transmisión.
Antecedentes de la invención I. Campo de la invención
La presente invención se refiere a un procedimiento y un aparato para encriptar señales para su transmisión.
II. Descripción de la técnica relacionada
En un sistema de comunicación inalámbrico, es deseable que el proveedor de servicios pueda verificar que una petición de servicio desde una estación remota es de un usuario válido. En algunos sistemas de teléfono celular actuales, tales como los que hacen uso de la tecnología analógica AMPS, no se hace ninguna previsión para impedir el acceso no autorizado al sistema. Por consiguiente, el fraude está extendido en estos sistemas. Un medio fraudulento para obtener servicio se conoce como clonación, en el que un usuario no autorizado intercepta la información necesaria para iniciar una llamada. Posteriormente, el usuario no autorizado puede programar un teléfono móvil usando la información interceptada y usar ese teléfono para recibir de forma fraudulenta servicio telefónico.
Para superar estas y otras dificultades, muchos sistemas de teléfono celular han implementado esquemas de autenticación tales como los estandarizados por la Asociación de la Industria de las Telecomunicaciones (TIA) en la norma EIA/TIA/IS-54-B. Un aspecto de este esquema de autenticación es la encriptación de información, transmitida por el aire, que se requiere para recibir servicio. Esta información se encripta usando el algoritmo de encriptación de mensajes celulares (CMEA). El algoritmo de CMEA se da a conocer en la patente estadounidense n.º 5,159,634, titulada "CRYPTOSYSTEM FOR CELLULAR TELEPHONY", incorporada al presente documento por referencia.
Se han descubierto varios puntos débiles principales en el CMEA que permiten descifrar la información encriptada usando equipos de cálculo convencionales actuales en un periodo de tiempo relativamente corto. Estos puntos débiles se explicarán meticulosamente a continuación en el presente documento seguido por una descripción de la presente invención que supera estos puntos débiles. El CMEA se ha publicado en Internet, por tanto estos puntos débiles puede descubrirlos cualquiera que tenga interés. Por tanto, es deseable un nuevo algoritmo para encriptación para reemplazar el CMEA para evitar la intercepción y el uso fraudulento de la información de autenticación necesaria para iniciar un servicio celular.
La patente estadounidense n.º US 5,594,797 publicada el 14 de enero de 1997 y cedida a Nokia Mobile Phones da a conocer un procedimiento y un aparato para la encriptación de teléfono celular digital que incluye un conmutador cuando se requiere una elección entre seguridad de compatibilidad y una mayor seguridad.
Sumario de la invención
Según un aspecto de la invención, tal como se expone en las reivindicaciones adjuntas, se proporciona un procedimiento de transformación de un conjunto de señales de mensaje que representan un mensaje para su transmisión en un sistema de comunicaciones, comprendiendo el procedimiento: codificar en primer lugar una de dicho conjunto de señales de mensaje según una primera transformación por clave; codificar en segundo lugar dicha señal de dicho conjunto de señales de mensaje según al menos una transformación por clave adicional; codificar en tercer lugar dicha señal de dicho conjunto de señales de mensaje según una transformación de autoinversión en la que se altera al menos una de dicho conjunto de señales de mensaje; codificar en cuarto lugar dicha señal de dicho conjunto de señales de mensaje según al menos una transformación por clave inversa adicional en el que cada una de dicha al menos una transformación por clave inversa adicional es una inversa correspondiente de dicha al menos una transformación por clave adicional; y codificar en quinto lugar dicha señal de dicho conjunto de señales de mensaje según una primera transformación por clave inversa en el que dicha primera transformación por clave inversa es la inversa de dicha primera transformación por clave.
Según otro aspecto de la invención se proporciona un procedimiento de encriptación de señales para su transmisión, comprendiendo el procedimiento codificar dichas señales aplicando a las mismas una pluralidad de transformaciones que son una combinación predeterminada de transformaciones por clave, de autoinversión y/o por clave inversa.
Según un aspecto adicional de la invención se proporciona un aparato para encriptar señales para su transmisión, comprendiendo el aparato una pluralidad de fases de codificación dispuestas respecto a las señales para su transmisión aplicando una pluralidad correspondiente de transformaciones que son una combinación predeterminada de transformaciones por clave, de autoinversión y/o por clave inversa.
La codificación de longitud variable de encriptación por bloques (BEVL), que implementa la invención y que va a describirse en el presente documento, supera los puntos débiles identificados del algoritmo de CMEA. La realización preferida de la presente invención tiene las siguientes propiedades:
\bullet
encripta bloques de longitud variable, preferiblemente de al menos dos bytes de longitud;
\bullet
es de autoinversión;
\bullet
usa muy poca memoria dinámica, y sólo 512 bytes de tablas estáticas;
\bullet
es eficaz para evaluar en microprocesadores de 8 bits; y
\bullet
usa una clave de 64 bits, que puede modificarse de manera sencilla para usar una clave más larga o más corta.
\vskip1.000000\baselineskip
El primer punto débil identificado en el CMEA es que la tabla de CAVE (autenticación celular, privacidad y encriptación de voz) usada para las consultas en tabla es incompleta. Produce sólo 164 valores diferentes en lugar de 256. La existencia de un gran número de valores imposibles hace posible estimar valores de retorno de tbox() o bytes de clave, y verificar las estimaciones. Este primer punto débil se mitiga en la presente invención reemplazando la tabla de CAVE por dos tablas diferentes elegidas para eliminar las características estadísticas que pueden aprovecharse de la tabla de CAVE. Estas tablas, denominadas t1box y t2box, son permutaciones rigurosas de los 256 números enteros de 8 bits, en las que ninguna entrada aparece en su propia posición de índice. Además, t1box[i] no es igual a t2box[i], para todos los valores de i. Estas dos tablas se generaron aleatoriamente descartándose los candidatos que no cumplían los criterios anteriores.
El segundo punto débil del CMEA es el uso repetido del valor de una función denominada tbox(), evaluada a cero. El valor tbox(0) se usa dos veces en la encriptación del primer byte. Esto hace posible estimar tbox(0) y usar la estimación en la determinación de otra información sobre el proceso de cifrado, particularmente el resultado de la primera etapa del CMEA para el último byte, y los argumentos de los dos valores de tbox() usados en la encriptación del segundo byte. También hace posible, mediante un ataque con texto sin cifrar elegido, determinar tbox() probando diversos valores de texto sin cifrar hasta que aparece un patrón reconocido en el texto cifrado. Este segundo punto débil se mitiga cambiando los procedimientos de autoinversión usados en el CMEA por un conjunto preferido de procedimientos que proporcionan un mejor mezclado. Esto se realiza introduciendo una segunda pasada usando una tabla diferente (t2box). En esta situación hay dos valores de tbox() derivados de diferentes tablas con igual significación que sirven para enmascararse entre sí.
Un punto débil relacionado en el CMEA es que la información recogida del análisis de textos de diferentes longitudes puede combinarse generalmente. El uso de la segunda entrada de tbox() crítica en BEVL depende de la longitud del mensaje y hace menos factible combinar el análisis de textos de diferente longitud.
Un tercer punto débil descubierto en el CMEA es un mezclado incompleto de las entradas de memoria intermedia superiores. Los últimos n/2 bytes del texto sin cifrar se encriptan sumando simplemente un valor de tbox() y restando entonces otro valor, afectando la etapa intermedia sólo a la primera mitad de los bytes. La diferencia entre el texto cifrado y el texto sin cifrar es la diferencia entre los dos valores de tbox(). La BEVL trata este tercer punto débil realizando cinco pasadas por los datos en lugar de tres. El mezclado, realizado por CMEA sólo en la pasada intermedia, se realiza en las pasadas segunda y cuarta que mezclan datos del final de la memoria intermedia de vuelta hacia el inicio. La pasada intermedia del CMEA también garantiza la alteración de al menos algunos de los bytes para garantizar que la tercera pasada no desencripte. En una manera mejorada, la BEVL consigue este objetivo en la pasada intermedia haciendo una transformación dependiente de clave, de la memoria intermedia de tal manera que como máximo un único byte permanece inalterado.
El cuarto punto débil del CMEA es una falta de encriptación del bit menos significativo (LSB) del primer byte. El uso repetido de tbox(0) y la inversión fijada del LSB en la segunda etapa del CMEA da como resultado que el LSB del primer byte de texto cifrado sea simplemente la inversa del LSB del primer byte de texto sin cifrar. La BEVL evita este cuarto punto débil a través de una alteración dependiente de clave de la memoria intermedia durante la pasada intermedia que hace que el LSB del primer byte sea impredecible en memorias intermedias de dos bytes o más de longitud.
Un quinto punto débil del CMEA es que el tamaño de clave eficaz es de 60 en vez de 64 bits. Como tal, cada clave es equivalente a otras 15. La BEVL aumenta el número de consultas en tabla mientras reduce el número de operaciones aritméticas, garantizando que los 64 bits de la clave sean significativos.
Finalmente, la función tbox() del CMEA puede comprometerse eficazmente mediante un ataque por encuentro a medio camino. Una vez que se han derivado cuatro valores de tbox(), el ataque por encuentro a medio camino puede llevarse a cabo con requisitos de espacio y tiempo del orden de 2^30, independientes de la composición de la tabla de CAVE. La BEVL trata esto de varias maneras. La construcción de la función tbox() recupera dos bits no usados de la clave. La repetición de la combinación con los últimos 8 bits de la clave de encriptación tanto al principio como al final de tbox() significa que el espacio y el cálculo mínimo deben aumentarse en ocho bits. Dado que hay dos lados en cada tabla, y dos tablas diferentes, la complejidad mínima debe aumentarse en otros dos bits, conduciendo a un requisito de tiempo y espacio mínimos del orden de 2^42. Además, el ataque por encuentro a medio camino en el CMEA requiere la recuperación de al menos algunas de las entradas de tbox(). Esto se hace más difícil usando la BEVL, que requiere ataques simultáneos en dos conjuntos separados de valores de tbox(), que tienden a ocultarse uno a otro.
\global\parskip0.920000\baselineskip
Breve descripción de los dibujos
Las características, objetos y ventajas de la presente invención resultarán más evidentes a partir de la descripción detallada de realizaciones preferidas de la invención expuestas a continuación tomadas junto con los dibujos en los que caracteres de referencia idénticos identifican lo mismo en todos los casos y en los que:
la figura 1 es un diagrama de bloques que ilustra un sistema de encriptación que implementa la presente invención;
la figura 2 es un diagrama de flujo de una realización ejemplar del procedimiento de encriptación de un bloque de caracteres en la presente invención;
la figura 3 es un programa "C" que implementa la realización ejemplar del procedimiento de encriptación de un bloque de caracteres;
la figura 4 es una realización ejemplar de t1box; y
la figura 5 es una realización ejemplar de t2box.
Descripción detallada de las realizaciones preferidas
La realización ejemplar de la presente invención está constituida por una primera estación (1000) que encripta datos para su transmisión inalámbrica a una segunda estación (2000) de recepción, tal como se representa en la figura 1. La primera estación (1000) puede ser una estación remota que transmite a una segunda estación (2000), que puede ser una estación base. Como alternativa, la primera estación (1000) puede ser una estación base que transmite a una segunda estación (2000), que puede ser una estación remota. Con toda probabilidad, las estaciones tanto remota como base tendrán medios de encriptación y desencriptación, así como medios de transmisión y recepción, pero el sistema simplificado mostrado en la figura 1 muestra claramente los elementos requeridos para posibilitar la presente invención. Además, los beneficios de esta invención no están limitados a las comunicaciones inalámbricas sino que pueden aplicarse fácilmente en cualquier situación en la que deban transmitirse datos seguros a través de un medio que sea susceptible de intercepción, tal como entenderán bien los expertos en la técnica relevante.
En la figura 1, la memoria (10) que contiene los datos necesarios para la encriptación según el algoritmo BEVL que implementa la presente invención está conectada a un procesador (20). En la realización a modo de ejemplo, el procesador (20) es un microprocesador de 8 bits relativamente sencillo, que puede ejecutar instrucciones almacenadas en el código (19) de BEVL. El procesador (20) contiene una unidad lógica aritmética (ALU, no mostrada) que puede realizar instrucciones de 8 bits sencillas tales como \medcirc exclusivo bit a bit (denominado simplemente XOR o denominado \oplus; a continuación en el presente documento), suma y resta de números enteros, y similares. El procesador (20) también puede soportar instrucciones de flujo de programa generales y la capacidad de cargar y almacenar valores a partir de una memoria, tal como la memoria (10). Los expertos en la técnica reconocerán que estos requisitos son bastante mínimos, haciendo la presente invención bastante adecuada para aplicaciones en las que los requisitos de tamaño y/o coste hacen deseables microprocesadores sencillos, tal como en dispositivos portátiles. Claramente, la presente invención puede implementarse de manera sencilla usando también microprocesadores más potentes.
La memoria (10) contiene las tablas t1box (12) y t2box (14), una clave (16) de encriptación y el código (19) que va a ejecutarse (código de BEVL). Los datos que van a encriptarse se introducen en el procesador (20), que almacena esos datos en la memoria (10) en una ubicación denominada datos (18). Aunque la figura 1 representa todos estos elementos en una única memoria, se entiende que pueden usarse una pluralidad de dispositivos de memoria. En la realización preferida, las tablas (12) y (14) así como el código (19) de BEVL se almacenan en una memoria no volátil tal como una memoria EEPROM o FLASH. No es necesario que estas partes de la memoria sean escribibles.
La clave (16) de encriptación puede generarse mediante varios medios que son muy conocidos en la técnica. Una realización sencilla puede tener la clave (16) en una memoria no volátil que se programa una vez en el momento en el que se activa la estación para su servicio. En la realización ejemplar, la clave (16) se genera y se cambia según el protocolo expuesto en la norma EIA/TIA/IS-54-B mencionada anteriormente.
Los datos que van a encriptarse, datos (18), se almacenan en una memoria de acceso aleatorio (RAM). La encriptación se realizará "in situ", lo que significa que las ubicaciones de memoria que albergan los datos no encriptados al inicio del procedimiento también albergarán los valores intermedios así como los datos encriptados finales.
Los datos (18) se encriptan en el procesador (20) según el código (19) de BEVL, utilizando t1box (12), t2box (14) y la clave (16) de encriptación. A continuación en el presente documento se detalla una descripción del proceso de encriptación.
Los datos (18) encriptados se suministran mediante el procesador (20) al transmisor (30) en el que se modulan, se amplifican y se convierten de manera ascendente para su transmisión en la antena (40). La antena (50) recibe los datos y los pasa al receptor (60) en el que los datos se convierten de manera descendente, se amplifican, se demodulan y se suministran al procesador (70). En la realización a modo de ejemplo, el formato para la comunicación inalámbrica entre las dos estaciones representadas en la figura 1 se describe en "Mobile Station-Base Station Compatibility Standard for Dual-Mode Wide Band Spread Spectrum Cellular System", norma TIA/EIA/IS-95-A. El uso de técnicas de CDMA en un sistema de comunicación de acceso múltiple tal como una sistema de teléfono inalámbrico se da a conocer en la patente estadounidense n.º 4,901,307, titulada "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS", cedida al cesionario de la presente invención, e incorporada por referencia al presente documento. El uso de técnicas de CDMA en un sistema de comunicación de acceso múltiple se da a conocer adicionalmente en la patente estadounidense n.º 5,103,459, titulada "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM", también cedida al cesionario de la presente invención, e incorporada por referencia al presente documento.
El procesador (70), que tiene los mismos requisitos que el procesador (20), está acoplado a la memoria (80). La memoria (80) está compuesta por las memorias (82), (84), (86), (88) y (89) que son análogas a las memorias (12), (14), (16), (18) y (19), respectivamente. El procesador (70) almacena los datos encriptados en la memoria (88) de datos. La clave (86) se determina de un modo similar a la clave (16), descrita anteriormente. Las tablas (82) y (84) son idénticas a las tablas (12) y (14). Dado que el procesamiento de datos en esta invención es de autoinversión, el código (89) de BEVL, idéntico al código (19) de BEVL, se ejecuta en el procesador (70) junto con t1box (82), t2box (84) y la clave (86) en datos (88) encriptados, igual que se realizó en el proceso de encriptación de los datos (18). Tal como anteriormente, el procesamiento de datos se realiza "in situ", y el resultado en los datos (88) serán los datos desencriptados. El procesador (70) recupera los datos desencriptados de la memoria (80) y los suministra para su uso posterior a través de la salida de datos. En la realización a modo de ejemplo, los datos resultantes se usarán en procedimientos de autenticación tal como se da a conocer en la norma EIA/TIA/IS-54-B.
La figura 2 ilustra un diagrama de flujo del procedimiento usado por los procesadores (20) y (70) junto con los elementos (10) y (80) de memoria descritos anteriormente, de manera respectiva. Tal como se mencionó anteriormente, el proceso de encriptación es de autoinversión, lo que significa que el proceso de desencriptación es el mismo que el proceso de encriptación. Por tanto, sólo se describirá en detalle el proceso de encriptación. El proceso de desencriptación será obvio sustituyendo los bloques de encriptación de la figura 1 por los bloques de desencriptación análogos de la figura 1 tal como se expuso anteriormente.
El bloque (99) marca el inicio del proceso de encriptación. Una serie de caracteres denominados buf[] se usa para describir los caracteres que van a encriptarse como almacenados en la memoria (18) de datos. La variable n indica la longitud del mensaje que va a encriptarse en cuanto al número de caracteres. Tal como se indicó anteriormente, una de las mejoras presentes en el proceso de BEVL es la encriptación en cinco pasadas que tiene lugar. Cada una de las cinco pasadas se ha separado en bloques con líneas discontinuas y se ha marcado como (1) - (5) para permitir distinguirlas más fácilmente. Cada pasada tiene similitudes y diferencias notables. Las pasadas (1), (3) y (5) usan la tabla t1box (12) y funcionan desde el inicio de la memoria intermedia hasta el final. Las pasadas (2) y (4) usan la tabla t2box (14) y funcionan desde el final de la memoria intermedia hasta que se alcanza el inicio. La propiedad de autoinversión de la BEVL procede del hecho de que la pasada (3) es de autoinversión, mientras que la pasada (1) es la inversa de la pasada (5) y la pasada (2) es la inversa de la pasada (4).
En la realización preferida de la presente invención, las pasadas se realizan en direcciones opuestas. En realizaciones alternativas, las pasadas pueden progresar en la misma dirección, usando pasadas alternantes las mismas o diferentes tablas (la reutilización de la misma tabla en múltiples pasadas hace la encriptación más robusta, pero no tan robusta como cuando se usan diferentes tablas). La inserción de pasadas adicionales es otra alternativa que puede usarse en combinación con cualquier enfoque. En la situación en la que se realizan pasadas en la misma dirección, las modificaciones de la primera entrada de la memoria intermedia son más predecibles, disminuyendo la predictibilidad en modificaciones más por debajo de la memoria intermedia. Cuando se usan direcciones de pasada opuestas alternantes, la modificación del primer byte en la memoria intermedia es bastante predecible. Sin embargo, la modificación de ese byte en la segunda pasada depende de todos los bytes en la memoria intermedia, haciéndola mucho menos predecible. De un modo similar, la modificación del último byte en la memoria intermedia depende de todos los bytes en la memoria intermedia durante la primera pasada, mientras que se realiza un cambio más predecible en la segunda. Dado que la predictibilidad de cambio se distribuye más uniformemente usando pasadas en direcciones opuestas, esto es mucho más preferible que usar múltiples pasadas en la misma dirección. Obsérvese que la pasada (3) no tiene realmente una dirección, dado que el cambio realizado sería idéntico de cualquier manera.
En cada pasada se usa una función tbox(). La clave (16) se incorpora en esta función. Los parámetros pasados a la función tbox() están constituidos por una tabla de 256 bytes que se pasará o bien por t1box (12) o bien por t2box (14), y un índice marcado con tv. En la realización ejemplar, tbox() se define como:
(1)tbox(B, tv) = B[B[B[B[B[B[B[B[B[tv\oplus k0]+k1]\oplus k2]+k3]\oplus k4]+k5]\oplus k6]+k7]\oplus k0],
en la que
k0 a k7 indican ocho segmentos de 8 bits que cuando se concatenan forman la clave (16) de 64 bits;
B[x] es el elemento de 8 bits de orden x de una serie B;
\oplus; indica la operación de \medcirc exclusivo bit a bit; y
+ representa la suma en módulo 256.
\global\parskip1.000000\baselineskip
En una realización alternativa, en la que una clave de una cierta longitud proporciona una encriptación que se considera demasiado fuerte, la resistencia de la clave puede limitarse artificialmente sin cambiar la longitud de la clave alterando la función tbox(). Por ejemplo, una clave de 64 bits puede limitarse artificialmente a 40 bits usando la clave de 64 bits de una manera tal que esté en una clase de equivalencia de 2^24 diferentes mientras garantiza todavía que cualquier cambio de un solo bit en la clave producirá un resultado diferente. La siguiente definición de tbox() muestra la variación recomendada para convertir una clave de 64 bits eficazmente en una clave de 40 bits:
(2)tbox(B, tv) = B[B[B[B[B[B[B[B[B[tv\oplus k0]+k1]\oplus(k2\oplus k3)]+ (k2\oplus k3)] \oplus(k4\oplus k5)]+(k4\oplus k5)]\oplus(k6\oplus k7)]+(k6\oplus k7)\oplus k0],
en la que
k0 a k7 indican ocho segmentos de 8 bits que cuando se concatenan forman la clave (16) de 64 bits;
B[x] es el elemento de 8 bits de orden x de una serie B;
\oplus; indica la operación de \medcirc exclusivo bit a bit; y
+ representa la suma en módulo 256.
\vskip1.000000\baselineskip
La función tbox() está diseñada de tal manera que cada una de las operaciones intermedias son permutaciones, lo que significa que cada entrada tiene una correlación uno a uno con una salida. En la realización ejemplar, las operaciones usadas son la suma en módulo 256 y el \medcirc exclusivo lógico. Si el valor de entrada que se hace pasar por tbox() es una permutación, y la consulta en tabla también lo es, el uso de estas funciones garantiza que la salida de tbox() será también una función uno a uno. En otras palabras, se garantiza que la función tbox() como un todo será una permutación si la tabla por la que se pasa también lo es. Éste no es el caso para el CMEA, en el que las etapas en la función tbox() no son uno a uno. Por tanto, en el CMEA, incluso si la tabla de CAVE, que no es una permutación, se reemplazara por una tabla que es una permutación, la salida de tbox() todavía no sería una permutación. A la inversa para BEVL, cualquier elección de funciones uno a uno para combinar material de clave para generar la permutación final sería aceptable. La realización ejemplar es un procedimiento de este tipo. Los expertos en la técnica pueden sustituir fácilmente procedimientos alternativos que todavía se adaptan a este principio de permutación. Como alternativa pueden emplearse en la función tbox() de BEVL funciones intermedias que no conservan la naturaleza uno a uno de la salida, pero los resultados sería subóptimos.
Una mejora adicional incluida en la definición de tbox() es que algunos de los bits de clave se usan tanto al inicio como al final. En la realización ejemplar se usa el byte k0 de clave, aunque realizaciones alternativas pueden emplear cualquiera de los bits de clave y llevar a cabo dicha mejora. El uso del mismo valor logra el ataque por encuentro a medio camino. La no reutilización de al menos alguna de la información clave tanto al inicio como al final permite una derivación sencilla, aunque computacionalmente compleja, de la clave a partir de un número pequeño de valores de la función tbox(). Con esta reutilización, las tablas usadas en un esfuerzo por atacar la encriptación requieren mucho más espacio y los cálculos requeridos para encontrar una solución son mucho más caros.
La realización ejemplar de BEVL detalla el uso de la función tbox() junto con las dos tablas t1box y t2box. Las salidas resultantes son permutaciones dependientes de la clave de las posibles entradas. Sin embargo, dado que los valores de la función dependen sólo de la clave, no de los datos, la función puede calcularse previamente como alternativa para las 256 entradas posibles y dos tablas posibles con los resultados almacenados en la memoria. Por tanto, una consulta en tabla puede reemplazar la reevaluación de la función. Los expertos en la técnica reconocerán que estos dos procedimientos son funcionalmente equivalentes, y podrán llegar al compromiso tiempo frente a espacio cuando se emplee una realización de la presente invención. Una alternativa equivalente es empezar con tablas inicializadas con una permutación de las 256 posibles entradas, y realizar un cambio dependiente de la clave de esas tablas cuando se inicializa la clave. Entonces, durante la posterior encriptación, se usaría una operación de índice de tabla en lugar de las llamadas actuales a tbox(), con el mismo efecto.
Las tablas t1box y t2box son permutaciones rigurosas, en las que ninguna entrada en la tabla es igual a su índice. Esta rigurosidad garantiza que no exista ninguna clave que sea más débil que cualquier otra clave, permitiendo que un valor intermedio en un cálculo de tbox() permanezca inalterado. El hecho de que las tablas sean permutaciones es importante, tal como se describió anteriormente en referencia a la función tbox(). Si las tablas no fueran permutaciones, entonces tras la consulta en tabla en la función tbox(), habría algunos valores que no podrían ser el resultado. Estos valores imposibles permitirían eliminar estimaciones para valores de retorno de tbox() y partes de la clave, reduciendo significativamente el trabajo para estimar la clave de 64 bits. Realizaciones alternativas podrían emplear tablas que no sean permutaciones, pero la encriptación sería subóptima.
Cualquier forma de criptoanálisis de CMEA debe comenzar derivando valores de la función tbox(). Un análisis completo, en el que se conocen todas las salidas para las 256 posibles entradas, permite aplicar el CMEA incluso sin conocer la clave inicial. Sin embargo, la recuperación de la clave es posible conociendo tan sólo cuatro valores distintos de la función. Por tanto, la BEVL pone énfasis en ocultar las salidas de tbox() con otras salidas, particularmente el valor de tbox(0). Se prevén varias alternativas para llevar a cabo esta ocultación. La realización preferida usa una segunda tabla diferente, t2box, y un par añadido de pasadas cada una de las cuales se realiza en direcciones opuestas. Cualquiera de estas tres modificaciones, o subcombinaciones de las mismas, trataría el problema en cierta medida. Sin embargo, la combinación de las tres proporciona la máxima seguridad.
En la realización preferida, las pasadas hacia delante y hacia atrás usan tablas diferentes, t1box y t2box, junto con la función tbox(). Esto se realiza de modo que el criptoanálisis requeriría el descubrimiento de dos conjuntos complementarios de valores de función, en vez de sólo un conjunto. Dado que las pasadas tienden a ocultarse unas a otras, dos tablas proporcionan la mayor seguridad. Se prevén realizaciones alternativas que emplean sólo una única tabla. Aunque estos procedimientos son todavía seguros, son menos seguros que aquéllos en los que se emplean dos tablas.
Comenzar la pasada (1) avanzando del bloque (99) al bloque (102), en el que la variable v y el índice i de memoria intermedia se inicializan a cero. Entonces, en el bloque (104), cada carácter buf[i] se modifica sumándole al mismo el resultado de la llamada a función tbox(t1box, v \oplus; i). La variable v se actualiza posteriormente aplicándole una operación XOR con el nuevo valor de buf[i]. Entonces se incrementa el índice i de memoria intermedia. En el bloque (106), si i < n, la pasada no es completa y el flujo vuelve al bloque (104). Cuando todos los caracteres se han modificado según el bloque (104), i será igual a n y la pasada (1) será completa. Obsérvese que los caracteres se modificaron comenzando con buf[0] funcionando hasta el final, buf[n-1].
Comenzar la pasada (2) avanzando desde el bloque (106) al bloque (202), en el que la variable v se inicializa al valor n y el índice i de memoria intermedia se inicializa al valor n-1. Entonces, en el bloque (204), cada carácter buf[i] se modifica sumándole al mismo el resultado de la llamada a función tbox(t2box, v \oplus; i). La variable v se actualiza posteriormente aplicándole una operación XOR con el nuevo valor de buf[i]. Entonces disminuye el índice i de memoria intermedia. En el bloque (206), si i \geq 0, la pasada no es completa y el flujo vuelve al bloque (204). Cuando todos los caracteres se han modificado según el bloque (204), i será igual a -1 y la pasada (2) será completa. Obsérvese que, a diferencia de la pasada (1), los caracteres se modificaron comenzando con buf[n-1] funcionando hasta el comienzo, buf[0], y se usó la tabla t2box (14) en lugar de la tabla t1box (12).
La pasada (3) comienza en el bloque (302). El índice i de memoria intermedia se inicializa a cero. La variable v no se usa en esta pasada. Entonces, en el bloque (304), cada carácter buf[i] se modifica aplicando con el mismo una operación XOR al resultado de la llamada a función tbox(t1box, i+1). Entonces aumenta el índice i de memoria intermedia. En el bloque (306), si i < n, la pasada no es completa y el flujo vuelve al bloque (304). Cuando todos los caracteres se han modificado según el bloque (304), i será igual a n y la pasada (3) será completa. Obsérvese que, como en la pasada (1), los caracteres se modificaron comenzando con buf[0] funcionando hasta el final, buf[n-1], y se usó la tabla t1box (12). Sin embargo, tal como se indicó anteriormente, la dirección de la pasada (3) no es importante, dado que se consigue un resultado idéntico con cualquier dirección.
En la pasada (3), se combina una salida diferente de tbox() con cada entrada buf[]. Puesto que las salidas de tbox() forman una permutación, como máximo sólo un valor de este tipo puede ser posiblemente cero. Si habrá o no un cero depende de la clave. En BEVL, el cambio en la memoria intermedia depende de la clave y es muy difícil de predecir. En promedio, la posibilidad de que uno de los valores sea cero es de n/256, donde n es la longitud de la memoria intermedia. Cualquier cambio dependiente de los datos o dependiente de la clave de autoinversión que garantice que los valores en la memoria intermedia se alterarán es suficiente para garantizar la encriptación. Esto es una mejora importante para la BEVL, dado que, en el CMEA, los valores que permanecen inalterados conducen a casos en los que el algoritmo no consigue encriptar en absoluto.
Comenzar la pasada (4) avanzando desde el bloque (306) al bloque (402), en el que la variable v se inicializa a n y el índice i de memoria intermedia se inicializa al valor n-1. Entonces, en el bloque (404), a una variable t temporal se le asigna el valor devuelto por la llamada a función tbox(t2box, v \oplus; i). La variable v se actualiza posteriormente aplicándole una operación XOR con el valor actual de buf[i]. Cada carácter buf[i] se modifica entonces restándole al mismo el valor de la variable t temporal. Disminuye entonces el índice i de memoria intermedia. En el bloque (406), si i \geq 0, la pasada no es completa y el flujo vuelve al bloque (404). Cuando todos los caracteres se han modificado según el bloque (404), i será igual a -1 y la pasada (4) será completa. Obsérvese que, como en la pasada (2), los caracteres se modificaron comenzando con buf[n-1] funcionando hasta el comienzo, buf[0], y se usó la tabla t2box (14).
Comenzar la pasada (5) avanzando desde el bloque (406) al bloque (502), en el que la variable v y el índice i de memoria intermedia se inicializan al valor cero. Entonces, en el bloque (504), a una variable t temporal se le asigna el valor devuelto por la llamada a función tbox(t1box, v \oplus; i). La variable v se actualiza posteriormente aplicándole una operación XOR con el valor actual de buf[i]. Cada carácter buf[i] se modifica entonces restándole al mismo el valor de la variable t temporal. Entonces aumenta el índice i de memoria intermedia. En el bloque (506), si i < n, la pasada no es completa y el flujo vuelve al bloque (504). Cuando todos los caracteres se han modificado según el bloque (504), i será igual a n y la pasada (5) será completa. Obsérvese que, como en las pasadas (1) y (3), los caracteres se modificaron comenzando con buf[n-1] funcionando hasta el comienzo, buf[0], y se usó la tabla t1box (12).
Avanzar ahora hasta el bloque (600). La encriptación es ahora completa. Buf[] contiene ahora los caracteres encriptados para una transmisión segura.
Un programa "C" que implementa la operación descrita anteriormente se proporciona en la figura 3. La tabla t1box (12) se proporciona en "C" en la figura 4. La tabla t2box (14) se proporciona en "C" en la figura 5.
La descripción anterior de las realizaciones preferidas se proporciona para permitir que cualquier experto en la técnica realice o use la presente invención. Las diversas modificaciones de estas realizaciones resultarán fácilmente evidentes para los expertos en la técnica, y los principios genéricos definidos en el presente documento pueden aplicarse a otras realizaciones sin el uso de la actividad inventiva. Por tanto, la presente invención no pretende limitarse a las realizaciones mostradas en el presente documento sino que debe concedérsele el alcance más amplio de acuerdo con los principios y las características novedosas dados a conocer en el presente documento.

Claims (22)

1. Un procedimiento de transformación de un conjunto de señales de mensaje que representan un mensaje para su transmisión en un sistema de comunicaciones, comprendiendo el procedimiento:
codificar en primer lugar una de dicho conjunto de señales de mensaje según una primera transformación por clave caracterizado por las etapas de:
codificar en segundo lugar dicha primera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave adicional;
codificar en tercer lugar dicha segunda señal codificada de dicho conjunto de señales de mensaje según una transformación de autoinversión en la que se altera al menos una de dicho conjunto de señales de mensaje;
codificar en cuarto lugar dicha tercera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave inversa adicional en el que cada una de dicha al menos una transformación por clave inversa adicional es una inversa correspondiente de dicha al menos una transformación por clave adicional;
codificar en quinto lugar dicha cuarta señal codificada de dicho conjunto de señales de mensaje según una primera transformación por clave inversa en el que dicha primera transformación por clave inversa es la inversa de dicha primera transformación por clave; y
caracterizado porque dicha etapa de codificar en primer lugar se realiza según una primera tabla, y en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente, o dicha etapa de codificar en primer lugar se realiza según una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según al menos una dirección adicional.
\vskip1.000000\baselineskip
2. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla y en una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según dicha primera tabla y en el que cada una de dichas transformaciones por clave adicionales se realiza en direcciones alternantes.
3. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla y en una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente y en dicha primera dirección.
4. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla y en una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente y en el que cada una de dichas transformaciones por clave adicionales se realiza en direcciones alternantes.
5. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla, y en el que dicha etapa de codificar en segundo lugar se realiza según dicha primera tabla.
6. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera dirección, y en el que dicha etapa de codificar en segundo lugar se realiza según dicha primera dirección.
7. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla, y en el que dicha primera tabla es una permutación.
8. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en primer lugar se realiza según una primera tabla, y en el que dicha primera tabla no es una permutación.
9. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente, y en el que dicha tabla diferente es una permutación.
10. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en segundo lugar se realiza según una tabla diferente, y en el que dicha tabla diferente no es una permutación.
11. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en tercer lugar se realiza según una transformación por clave.
12. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar en tercer lugar se realiza según una transformación sin clave.
13. El procedimiento según la reivindicación 1, en el que dicha primera transformación por clave comprende las etapas de
recibir un valor de índice;
recibir una tabla; y
realizar una consulta en tabla según dicho valor de índice y dicha tabla.
14. El procedimiento según la reivindicación 13, que comprende además procesar dicho valor de índice y en el que dicha etapa de realizar una consulta en tabla se realiza según el resultado de dicho procesamiento de dicho valor de índice.
15. El procedimiento según la reivindicación 14, que comprende además procesar adicionalmente el resultado de dicha consulta en tabla.
16. El procedimiento según la reivindicación 15, en el que dicho procesamiento adicional del resultado de dicha consulta en tabla comprende realizar consultas en tabla adicionales según dicho resultado.
17. El procedimiento según la reivindicación 15, en el que dicho procesamiento adicional del resultado de dicha consulta en tabla comprende realizar operaciones booleanas en dicho resultado.
18. Un programa informático que comprende instrucciones de programa para hacer que un aparato de cálculo realice el procedimiento según una cualquiera de las reivindicaciones 1 a 17, cuando dicho programa se ejecuta en el aparato de cálculo.
19. Un programa informático según la reivindicación 18, implementado en un medio de registro.
20. Un programa informático según la reivindicación 18, implementado en una señal de portadora.
21. Un programa informático según la reivindicación 18, implementado en una memoria de sólo lectura.
22. Aparato (20, 70) adecuado para transformar un conjunto de señales de mensaje que representan un mensaje para su transmisión en un sistema de comunicación que comprende;
primeros medios (1) de codificación para codificar una de dicho conjunto de señales de mensaje según una primera transformación por clave caracterizado porque se prevén:
segundos medios (2) de codificación para codificar dicha primera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave adicional;
terceros medios (3) de codificación para codificar dicha segunda señal codificada de dicho conjunto de señales de mensaje según una transformación de autoinversión en la que se altera al menos una de dicho conjunto de señales de mensaje;
cuartos medios (4) de codificación para codificar dicha tercera señal codificada de dicho conjunto de señales de mensaje según al menos una transformación por clave inversa adicional en el que cada una de dicha al menos una transformación por clave inversa adicional es una inversa correspondiente de dicha al menos una transformación por clave adicional;
quintos medios (5) de codificación para codificar dicha cuarta señal codificada de dicho conjunto de señales de mensaje según una primera transformación por clave inversa en el que dicha primera transformación por clave inversa es la inversa de dicha primera transformación por clave: y
caracterizado porque la codificación en dichos primeros medios (1) de codificación se realiza según una primera tabla, y porque la codificación en dichos segundos medios (2) de codificación se realiza según una tabla diferente, o porque la codificación en dichos primeros medios (1) de codificación se realiza según una primera dirección, y porque la codificación en dichos segundos medios (2) de codificación se realiza según al menos una dirección adicional.
ES98915133T 1997-03-11 1998-03-04 Procedimiento y aparato para encriptar señales para su transmision. Expired - Lifetime ES2343491T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US815347 1985-12-31
US08/815,347 US6075859A (en) 1997-03-11 1997-03-11 Method and apparatus for encrypting data in a wireless communication system

Publications (1)

Publication Number Publication Date
ES2343491T3 true ES2343491T3 (es) 2010-08-02

Family

ID=25217529

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98915133T Expired - Lifetime ES2343491T3 (es) 1997-03-11 1998-03-04 Procedimiento y aparato para encriptar señales para su transmision.

Country Status (19)

Country Link
US (6) US6075859A (es)
EP (4) EP2120387A3 (es)
JP (1) JP4260896B2 (es)
KR (3) KR100618373B1 (es)
CN (1) CN1154293C (es)
AR (1) AR011969A1 (es)
AT (1) ATE466428T1 (es)
AU (1) AU6938898A (es)
BR (1) BR9808232B8 (es)
CA (1) CA2283304C (es)
DE (1) DE69841641D1 (es)
ES (1) ES2343491T3 (es)
FI (1) FI19991876A (es)
ID (1) ID24932A (es)
IL (1) IL131696A0 (es)
MY (1) MY138521A (es)
RU (1) RU2267227C2 (es)
WO (1) WO1998040984A1 (es)
ZA (1) ZA982022B (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075859A (en) * 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6266411B1 (en) * 1997-04-14 2001-07-24 Lucent Technologies Inc. Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages
US6418224B1 (en) * 1997-05-06 2002-07-09 Lucent Technologies Inc. Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages
JP4110690B2 (ja) * 1999-10-18 2008-07-02 ヤマハ株式会社 データ生成方法、記録装置、記録媒体、および再生装置
KR100636111B1 (ko) * 1999-10-30 2006-10-18 삼성전자주식회사 분실된 이동 단말기에 내장된 데이터 보호 방법 및 이에 관한 기록매체
JP2001359165A (ja) * 2000-06-15 2001-12-26 Mitsubishi Electric Corp モバイル通信システム
US6596541B2 (en) 2000-10-31 2003-07-22 Regeneron Pharmaceuticals, Inc. Methods of modifying eukaryotic cells
US20020116450A1 (en) * 2000-12-01 2002-08-22 Multiscience System Pte Ltd. Network for information transfer for mobile stations
US7023997B1 (en) 2000-12-21 2006-04-04 Cisco Technology, Inc. Secure messaging communication system
US6907123B1 (en) 2000-12-21 2005-06-14 Cisco Technology, Inc. Secure voice communication system
JP2002198956A (ja) * 2000-12-27 2002-07-12 Toshiba Corp 通信装置、及びその認証方法
US7224801B2 (en) * 2000-12-27 2007-05-29 Logitech Europe S.A. Wireless secure device
WO2003094483A2 (en) * 2002-04-30 2003-11-13 Carl Alko Meijer Method for protecting secret key cryptographic schemes
US7796752B2 (en) * 2002-11-04 2010-09-14 Marvell International Ltd. Cipher implementation
US7234097B1 (en) * 2003-01-27 2007-06-19 Marvell International Ltd. Methods of supporting host CRC in data storage systems without RLL coding
US7475331B1 (en) 2003-10-07 2009-01-06 Marvell International Ltd. Data dependent scrambler with improved global constraint
JP4696449B2 (ja) * 2004-01-09 2011-06-08 ソニー株式会社 暗号化装置およびその方法
EP1757006A2 (en) * 2004-06-01 2007-02-28 Ben-Gurion University of the Negev Research and Development Authority Structure preserving database encryption method and system
RU2384000C2 (ru) 2005-01-11 2010-03-10 Самсунг Электроникс Ко., Лтд. Устройство и способ для шифрования/дешифрования сигнала в системе связи
JP4763447B2 (ja) * 2005-12-19 2011-08-31 株式会社ソニー・コンピュータエンタテインメント 認証システム及び認証対象装置
DE102006046211A1 (de) * 2006-09-29 2008-04-03 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines Kodierschlüssels, sowie Verwendung des Verfahrens und Verarbeitungsmittel zur Verwendung des Kodierschlüssels
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
US8290162B2 (en) * 2006-12-15 2012-10-16 Qualcomm Incorporated Combinational combiner cryptographic method and apparatus
US8571188B2 (en) * 2006-12-15 2013-10-29 Qualcomm Incorporated Method and device for secure phone banking
WO2009043139A1 (en) * 2007-10-01 2009-04-09 Research In Motion Limited Substitution table masking for cryptographic processes
WO2016133958A1 (en) * 2015-02-17 2016-08-25 Visa International Service Association Cloud encryption key broker apparatuses, methods and systems
ES2927668T3 (es) 2018-12-20 2022-11-10 Merck Patent Gmbh Métodos y sistemas para preparar y realizar una autenticación de objeto
RU2718953C1 (ru) * 2019-03-11 2020-04-15 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Передатчик информационной и энергетической скрытности
KR20240028660A (ko) 2022-08-25 2024-03-05 (주)아모레퍼시픽 히팅 기능을 갖는 스틱형 제품

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US5214704A (en) 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
JPH07111336B2 (ja) * 1990-02-07 1995-11-29 株式会社東芝 パターン寸法測定方法及び装置
EP0482154B1 (de) * 1990-05-18 1993-06-30 Ascom Tech Ag Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5159634A (en) 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
US5220606A (en) 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
GB9211648D0 (en) * 1992-06-02 1992-07-15 Racal Datacom Ltd Data communication system
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system
US5513245A (en) * 1994-08-29 1996-04-30 Sony Corporation Automatic generation of private authentication key for wireless communication systems
JPH08179690A (ja) * 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
US5594797A (en) * 1995-02-22 1997-01-14 Nokia Mobile Phones Variable security level encryption
US5991407A (en) * 1995-10-17 1999-11-23 Nokia Telecommunications Oy Subscriber authentication in a mobile communications system
US6393270B1 (en) * 1996-10-11 2002-05-21 Bellsouth Intellectual Property Corp. Network authentication method for over the air activation
US6075859A (en) * 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6266411B1 (en) * 1997-04-14 2001-07-24 Lucent Technologies Inc. Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages
DE69830646T2 (de) * 1997-07-29 2006-05-11 Lucent Technologies Inc. Verfahren und vorrichtung zur verbesserung des cmea algorithmus unter verwendung von verbesserten transformationen

Also Published As

Publication number Publication date
US6385316B1 (en) 2002-05-07
ID24932A (id) 2000-08-31
EP2120387A3 (en) 2013-03-06
RU2267227C2 (ru) 2005-12-27
IL131696A0 (en) 2001-03-19
US6075859A (en) 2000-06-13
EP2120387A2 (en) 2009-11-18
BR9808232B1 (pt) 2013-01-08
EP0966809A1 (en) 1999-12-29
BR9808232A (pt) 2000-05-16
EP2262163A2 (en) 2010-12-15
ZA982022B (en) 1998-09-08
US20120207304A1 (en) 2012-08-16
CA2283304A1 (en) 1998-09-17
JP4260896B2 (ja) 2009-04-30
FI19991876A (fi) 1999-11-11
KR100618373B1 (ko) 2006-08-30
US20040190712A1 (en) 2004-09-30
KR20060069524A (ko) 2006-06-21
US20020114450A1 (en) 2002-08-22
AR011969A1 (es) 2000-09-13
WO1998040984A1 (en) 1998-09-17
DE69841641D1 (de) 2010-06-10
BR9808232B8 (pt) 2013-02-19
JP2001514769A (ja) 2001-09-11
CN1154293C (zh) 2004-06-16
AU6938898A (en) 1998-09-29
EP0966809B1 (en) 2010-04-28
MY138521A (en) 2009-06-30
US7995751B2 (en) 2011-08-09
EP2124378A2 (en) 2009-11-25
KR100929515B1 (ko) 2009-12-03
US20030185390A1 (en) 2003-10-02
KR20000076148A (ko) 2000-12-26
CN1251232A (zh) 2000-04-19
KR20090012373A (ko) 2009-02-03
ATE466428T1 (de) 2010-05-15
EP2262163A3 (en) 2012-03-07
EP2124378A3 (en) 2012-10-03
CA2283304C (en) 2007-12-18
US6768797B2 (en) 2004-07-27
KR100899964B1 (ko) 2009-05-28

Similar Documents

Publication Publication Date Title
ES2343491T3 (es) Procedimiento y aparato para encriptar señales para su transmision.
US6014446A (en) Apparatus for providing improved encryption protection in a communication system
KR100657062B1 (ko) 정보 암호화 방법 및 이 방법을 실현하는 장치
US5444781A (en) Method and apparatus for decryption using cache storage
US20120250863A1 (en) Chaotic cipher system and method for secure communication
US20110182419A1 (en) Encryption algorithm with randomized buffer
ES2263479T3 (es) Metodo y mecanismo para transmitir de manera segura valores de desafio distribuidos (rand) para el uso en la autenticacion de estaciones moviles.
KR100551992B1 (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
JP2000514934A (ja) 無線電話メッセージのセキュリティを改善するためのルックアップテーブルへの秘密鍵の強化されたセキュリティ拡張の方法および装置
KR101757768B1 (ko) 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템
Lo et al. Stream ciphers for GSM networks
KR100226867B1 (ko) 무선 통신의 스트림 암호 시스템
CA2603164C (en) Method of and apparatus for encrypting signals for transmission
JPH06224897A (ja) 閉域放送システム
KR20070063713A (ko) 아리아 알고리즘을 이용한 블록 암호화 장치
UA147385U (uk) Спосіб кодування-декодування даних з шифруванням підвищеної криптостійкості
KR20040000828A (ko) 디지털 방송을 위한 가입자 제한 수신용 데이터 암호화 방법