ES2343491T3 - Procedimiento y aparato para encriptar señales para su transmision. - Google Patents
Procedimiento y aparato para encriptar señales para su transmision. Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000005540 biological transmission Effects 0.000 title claims abstract description 14
- 230000009466 transformation Effects 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000001131 transforming effect Effects 0.000 claims abstract 2
- 230000015654 memory Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 238000000844 transformation Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 4
- 230000006870 function Effects 0.000 description 31
- 239000000872 buffer Substances 0.000 description 22
- 230000008859 change Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011065 in-situ storage Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical class C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/06—Cryptographic 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
-
- 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/06—Cryptographic 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/0618—Block 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.
La presente invención se refiere a un
procedimiento y un aparato para encriptar señales para su
transmisión.
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.
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
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.
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.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US815347 | 1997-03-11 | ||
| 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) | FI19991876A7 (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 (32)
| 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 |
| DE60024941T8 (de) * | 1999-08-31 | 2006-08-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung |
| 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 |
| US7224801B2 (en) * | 2000-12-27 | 2007-05-29 | Logitech Europe S.A. | Wireless secure device |
| JP2002198956A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 通信装置、及びその認証方法 |
| AU2003223022A1 (en) * | 2002-04-30 | 2003-11-17 | 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 | ソニー株式会社 | 暗号化装置およびその方法 |
| RU2266622C1 (ru) * | 2004-03-29 | 2005-12-20 | Осмоловский Станислав Антонович | Способ блочного шифрования информации |
| WO2005119960A2 (en) * | 2004-06-01 | 2005-12-15 | Ben-Gurion University Of The Negev Research And Development Authority | Structure preserving database encryption method and system |
| WO2006075869A1 (en) * | 2005-01-11 | 2006-07-20 | Samsung Electronics Co., Ltd. | Apparatus and method for ciphering/deciphering a signal in a communication system |
| RU2302702C1 (ru) * | 2005-10-24 | 2007-07-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 |
| US8571188B2 (en) * | 2006-12-15 | 2013-10-29 | Qualcomm Incorporated | Method and device for secure phone banking |
| US8290162B2 (en) * | 2006-12-15 | 2012-10-16 | Qualcomm Incorporated | Combinational combiner cryptographic method and apparatus |
| WO2009043139A1 (en) * | 2007-10-01 | 2009-04-09 | Research In Motion Limited | Substitution table masking for cryptographic processes |
| EP3259726B1 (en) * | 2015-02-17 | 2021-03-31 | Visa International Service Association | Cloud encryption key broker apparatuses, methods and systems |
| ES2950336T3 (es) * | 2018-12-20 | 2023-10-09 | 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 (21)
| 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 | 株式会社東芝 | パターン寸法測定方法及び装置 |
| ES2042346T3 (es) * | 1990-05-18 | 1993-12-01 | Ascom Tech Ag | Dispositivo para la transformacion de un bloque digital y utilizaciondel mismo. |
| US5103459B1 (en) | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
| US5172414A (en) * | 1991-09-13 | 1992-12-15 | At&T Bell Laboratories | Speech and control message encrypton in cellular radio |
| 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 |
| RU2040117C1 (ru) * | 1992-12-07 | 1995-07-20 | Центральный Научно-Исследовательский Институт Связи | Способ передачи и приема с обеспечением подлинности и конфиденциальности сообщения |
| 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 |
| KR100573180B1 (ko) * | 1997-07-29 | 2006-04-24 | 루센트 테크놀러지스 인크 | 개선된 변환을 사용한 개선된 셀룰러 메시지 암호화 알고리즘을 위한 방법 및 장치 |
-
1997
- 1997-03-11 US US08/815,347 patent/US6075859A/en not_active Expired - Lifetime
-
1998
- 1998-03-04 KR KR1019997008238A patent/KR100618373B1/ko not_active Expired - Lifetime
- 1998-03-04 EP EP09168723A patent/EP2120387A3/en not_active Withdrawn
- 1998-03-04 ID IDW991097A patent/ID24932A/id unknown
- 1998-03-04 DE DE69841641T patent/DE69841641D1/de not_active Expired - Lifetime
- 1998-03-04 WO PCT/US1998/004799 patent/WO1998040984A1/en not_active Ceased
- 1998-03-04 EP EP20090169042 patent/EP2124378A3/en not_active Withdrawn
- 1998-03-04 BR BRPI9808232-9A patent/BR9808232B8/pt not_active IP Right Cessation
- 1998-03-04 EP EP10180359A patent/EP2262163A3/en not_active Withdrawn
- 1998-03-04 IL IL13169698A patent/IL131696A0/xx unknown
- 1998-03-04 AT AT98915133T patent/ATE466428T1/de not_active IP Right Cessation
- 1998-03-04 KR KR1020097001490A patent/KR100929515B1/ko not_active Expired - Lifetime
- 1998-03-04 RU RU99121330/09A patent/RU2267227C2/ru active
- 1998-03-04 CN CNB988032368A patent/CN1154293C/zh not_active Expired - Lifetime
- 1998-03-04 KR KR1020067008447A patent/KR100899964B1/ko not_active Expired - Lifetime
- 1998-03-04 AU AU69388/98A patent/AU6938898A/en not_active Abandoned
- 1998-03-04 EP EP98915133A patent/EP0966809B1/en not_active Expired - Lifetime
- 1998-03-04 ES ES98915133T patent/ES2343491T3/es not_active Expired - Lifetime
- 1998-03-04 JP JP53977798A patent/JP4260896B2/ja not_active Expired - Lifetime
- 1998-03-04 CA CA002283304A patent/CA2283304C/en not_active Expired - Lifetime
- 1998-03-10 MY MYPI98001038A patent/MY138521A/en unknown
- 1998-03-10 ZA ZA982022A patent/ZA982022B/xx unknown
- 1998-03-11 AR ARP980101085A patent/AR011969A1/es unknown
-
1999
- 1999-08-05 US US09/369,382 patent/US6385316B1/en not_active Expired - Lifetime
- 1999-09-02 FI FI991876A patent/FI19991876A7/fi not_active Application Discontinuation
-
2002
- 2002-02-21 US US10/081,750 patent/US20020114450A1/en not_active Abandoned
-
2003
- 2003-05-09 US US10/434,749 patent/US6768797B2/en not_active Expired - Fee Related
-
2004
- 2004-03-30 US US10/814,065 patent/US7995751B2/en not_active Expired - Fee Related
-
2011
- 2011-08-09 US US13/206,300 patent/US20120207304A1/en not_active Abandoned
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6385316B1 (en) | Method and apparatus for encrypting data in a wireless communication system | |
| 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) | 無線電話メッセージのセキュリティを改善するためのルックアップテーブルへの秘密鍵の強化されたセキュリティ拡張の方法および装置 | |
| KR100226867B1 (ko) | 무선 통신의 스트림 암호 시스템 | |
| CA2603164C (en) | Method of and apparatus for encrypting signals for transmission | |
| Lo et al. | Stream ciphers for GSM networks | |
| JPH06224897A (ja) | 閉域放送システム | |
| HK1138453A (en) | Method of and apparatus for encrypting signals for transmission | |
| UA147385U (uk) | Спосіб кодування-декодування даних з шифруванням підвищеної криптостійкості | |
| HK1136419A (en) | Method and apparatus for encrypting signals for transmission | |
| Garg | A novel approach to enhance security in WEP |