MXPA06013621A - Controlador de motor de datos con una pluralidad de registros para soportar operaciones de cifrado. - Google Patents
Controlador de motor de datos con una pluralidad de registros para soportar operaciones de cifrado.Info
- Publication number
- MXPA06013621A MXPA06013621A MXPA06013621A MXPA06013621A MXPA06013621A MX PA06013621 A MXPA06013621 A MX PA06013621A MX PA06013621 A MXPA06013621 A MX PA06013621A MX PA06013621 A MXPA06013621 A MX PA06013621A MX PA06013621 A MXPA06013621 A MX PA06013621A
- Authority
- MX
- Mexico
- Prior art keywords
- data
- encryption
- memory unit
- field
- memory
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Programmable Controllers (AREA)
- Logic Circuits (AREA)
Abstract
Un sistema de procesamiento de datos lleva a cabo el cifrado y la transferencia de datos entre una primera unidad de memoria y una segunda unidad de memoria, tal como, por ejemplo, entre una memoria estatica de acceso aleatorio (SRAM) de arquitectura de memoria compartida (SMA) y una memoria dinamica sincrona de acceso aleatorio (SDRAM) de velocidad doble de datos (DDR). El sistema incluye un motor de cifrado y un controlador de motor de datos. El controlador de motor de datos incluye al menos registro que tiene un campo que especifica si deben cifrarse o no los datos transferidos. Si el campo especifica que los datos transferidos deben ser cifrados, el campo tambien especifica el tipo de cifrado que debe realizarse, tal como un algoritmo de cifrado confidencialmente estandarizado "f8" o un algoritmo de cifrado de integridad "f9" del proyecto de colaboracion de tercera generacion (3GPP).
Description
CONTROLADOR DE MOTOR DE DATOS CON UNA PLURALIDAD DE REGISTROS PARA SOPORTAR OPERACIONES DE CIFRADO
CAMPO DE LA INVENCIÓN
La presente invención se refiere al campo del procesamiento de datos que puede ser utilizado para aplicaciones de comunicación inalámbrica. Más específicamente, la presente invención se refiere al cifrado y a la transferencia de datos entre dos tipos diferentes de dispositivos de memoria utilizando un controlador de motor de datos y un motor de cifrado.
ANTECEDENTES Muchos módems primitivos del Proyecto de
Colaboración de Tercera Generación (3GPP) implementan el protocolo de capa 1 en software. Al aumentar las velocidades de datos, se necesitó un soporte de hardware para algunas funciones. En sistemas de comunicación inalámbrica tales como el Sistema Global para Comunicaciones Móviles (GSM) y los Sistemas Universales de Telecomunicaciones Móviles (UMTS) del 3GPP, se han introducido recientemente módulos de hardware de manera que actúen como aceleradores para algunas de las operaciones de cálculo más intensivas.
Una de tales operaciones es el cifrado, por el cual la manipulación de claves de encriptación y la encriptación real de aumentos de datos requerían una capacidad de procesamiento en proporción con la cantidad de datos que se manipulan. Dentro de la arquitectura de seguridad de un sistema del 3GPP, existen dos algoritmos estandarizados: un algoritmo de cifrado confidencial "f8" y un algoritmo de cifrado de integridad "f9". Resulta conveniente un medio para llevar a cabo con eficiencia cálculos de cifrado mientras se desplazan datos de una memoria (es decir, capa) a otra.
LA INVENCIÓN Un sistema de procesamiento de datos lleva a cabo el cifrado y la transferencia de datos entre una primera unidad de memoria y una segunda unidad de memoria, tal como, por ejemplo, entre una memoria estática de acceso aleatorio (SRAM) de arquitectura de memoria compartida
(SMA) y una memoria dinámica síncrona de acceso aleatorio (SDRAM) de velocidad doble de datos (DDR) . El sistema incluye un motor de cifrado y un controlador de motor de datos. El controlador de motor de datos incluye al menos un registro que tiene un campo que especifica si deben cifrarse o no los datos transferidos por parte del motor de cifrado.
Si el campo especifica que los datos transferidos deben ser cifrados, el campo también especifica el tipo de cifrado que debe ser realizado por el motor de cifrado, tal como un algoritmo de cifrado confidencialmente estandarizado "f8" o un algoritmo de cifrado de integridad "f9" del 3GPP. El registro puede incluir otro campo que especifica un valor de código de autenticación de mensaje (MAC) calculado mediante el cálculo de algoritmo de cifrado de integridad estandarizado f9. El registro puede incluir aún otro campo que especifica si los datos son desplazados desde la primera unidad de memoria hasta la segunda unidad de memoria, o desde la segunda unidad de memoria hasta la primera unidad de memoria. La primera y la segunda unidades de memoria pueden diferir en velocidad de procesamiento. El registro puede incluir aún otro campo que especifica el tamaño de un bloque de datos a ser transferido por el controlador de motor de datos. El tamaño del bloque de datos puede ser de cuatro bytes, de ocho bytes, de dieciséis bytes o de treinta y dos bytes. El registro puede incluir aún otro campo que especifica la cantidad de bloques de datos a ser transferidos por el controlador de motor de datos. El registro puede incluir aún otro campo que especifica si debe generarse un impulso de interrupción cuando se completa la transferencia de datos. El registro puede incluir aún otro campo que especifica un valor integrado en una cabecera de cifrado y procesado por el motor de cifrado. El registro puede incluir aún otro campo que especifica una longitud de encriptación. El registro puede incluir aún otro campo que especifica un valor integrado en una cabecera encriptada y procesado por el motor de cifrado. El registro puede incluir aún otro campo que especifica una clave utilizada por el motor de cifrado para cifrar los datos al ser desplazados. La clave puede ser una clave de 128 bits.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Puede tenerse una comprensión más detallada de la invención a partir de la siguiente descripción, dada a modo de ejemplo y para ser comprendida junto con los dibujos que acompañan, donde: la Figura 1 es un diagrama de un sistema de procesamiento de datos para llevar a cabo el cifrado y la transferencia de datos de una memoria a otra de acuerdo con una modalidad preferida de la presente invención; la Figura 2 muestra una configuración ilustrativa de registros incorporados en un controlador de motor de datos; la Figura 3 muestra un registro que define la dirección de inicio del controlador de motor de datos para accesos fuente desde la SDRAM; la Figura 4 muestra un registro que define la dirección de inicio del controlador de motor de datos para accesos de destino a la SDRAM; la Figura 5 muestra un registro que define la dirección de inicio del controlador de motor de datos para accesos fuente a la memoria SMA; la Figura 6 muestra un registro que define la dirección de inicio del controlador de motor de datos para accesos de destino a la memoria SMA; la Figura 7 muestra un registro que define la cantidad de bloques a ser desplazados entre la memoria SDRAM y la SMA; la Figura 8 muestra un registro que especifica el modo del controlador de motor de datos; la Figura 9 muestra un registro que define un valor de cómputo integrado en una cabecera de cifrado; la Figura 10 muestra un registro que define un valor de renovación integrado en la cabecera de cifrado; la Figura 11 muestra un registro que define un portador y un valor de dirección que debe ser colocado en una cabecera encriptada y la cantidad total de bits a ser encriptada; la Figura 12 muestra un registro que define una clave de 128 bits utilizada para el cifrado durante un desplazamiento de datos; y la Figura 13 muestra un registro que provee un valor de Código de Autenticación de Mensaje (MAC) calculado .
DESCRIPCIÓN DETALLADA DE LA O LAS MODALIDADES PREFERIDAS Las modalidades preferidas serán descriptas con referencia a las figuras, donde números de referencia similares representan elementos similares en toda su extensió . Preferentemente, la presente invención aquí divulgada es incorporada en una unidad inalámbrica de transmisión/recepción (WTRU) y/o un Nodo B. No obstante, se prevé que casi cualquier esquema de comunicación inalámbrica podría beneficiarse de la presente invención. En adelante, una WTRU incluye, pero sin limitarse a un equipo de usuario, una estación móvil, una unidad de abonado fija o móvil, un buscapersonas, o cualquier otro tipo de dispositivo capaz de operar en un entorno inalámbrico. Además, un Nodo B incluye, pero sin limitarse a una estación base, un controlador de sitio, un punto de acceso u otro dispositivo de interfase en un entorno inalámbrico . Las características de la presente invención pueden ser incorporadas a un circuito integrado (IC) o ser configuradas en un circuito que comprenda una gran cantidad de componentes en interconexión. La presente invención es aplicable a sistemas de comunicación que utilicen dúplex por división de tiempo (TDD) , dúplex por división de frecuencia (FDD) , acceso múltiple por división de código (CDMA), CDMA 2000, CDMA síncrona por división de tiempo (TDSCDMA), multiplexión por división de frecuencia ortogonal (OFDM) o similar. La presente invención, al igual que otras implementaciones de módem, tiene módulos de hardware (aceleradores) para implementar funciones de procesamiento de datos. La presente invención utiliza una memoria compartida para reducir la cantidad de instancias de memoria existentes. Los módulos de hardware y un procesador tienen acceso a esta memoria. Al utilizar una sola memoria en comparación con muchas memorias dedicadas pequeñas, se reduce el tamaño de la matriz de una versión de un Circuito Integrado de Aplicación Específica (ASIC) , tal como para un módem o similar. Típicamente, esta memoria necesita ser muy rápida. Una memoria rápida (SRAM) es típicamente muy costosa y no es tan densa, desde un punto de vista del área, como otras formas de memoria, es decir, DRAM. Ver, por ejemplo, la solicitud de patente estadounidense N° 10/414,125 presentada el 15 de abril de 2003 titulada "Softwa re Pa rameteri zabl e Con trol Blocks for Use in Physical Layer Processing" que se incorpora como referencia tal como se la establece . La presente invención también tiene otra memoria disponible para el procesador para almacenar grandes cantidades de datos. Esta memoria es implementada por un chip SDRAM o DRAM externo, comercialmente disponible. Las colas de reordenamiento y otras memorias intermedias para almacenar datos que se procesan para aplicaciones son ejemplos de los usos de esta memoria más grande y más lenta. De acuerdo con la presente invención, se ha configurado un controlador de motor de datos como un acelerador de hardware en el desplazamiento de datos entre la memoria accesible por hardware rápida (SRAM) y la memoria más lenta y más densa (DRAM) . Al no contar con el acelerador de hardware se considera que el procesador tendría que utilizar un bucle de software para purgar los datos y así gastar una gran porción de los recursos de cálculo del procesador de acuerdo con lo medido por Millones de Instrucciones por Segundo (MIPS).
Los datos son frecuentemente desplazados en bloques denominados Unidades de Datos de Protocolo (PDUs) y Unidades de Datos de Servicio (SDUs). Estos bloques pueden ser encriptados por cada estándar del 3GPP. El procedimiento de encriptación y descifrado también es muy demandante respecto del procesador. Asimismo, se requiere que se tenga acceso a los datos, que se les procese y luego sean reescritos en memoria. La presente invención combina funcionalidad de Acceso de Memoria Directa (DMA) con cifrado y descifrado en un solo acelerador de hardware, por el cual un controlador de motor de datos no sólo desplaza datos sino también lleva a cabo el cifrado o descifrado de los bloques de datos durante el procedimiento de desplazamiento de datos. Esto ahorra tiempo dado que existe una asistencia de hardware y los datos ya se encuentran en proceso de ser desplazados. Así, se requieren menos accesos que si se implementaran aceleradores de hardware separados. En algunas implementaciones, cada acelerador de hardware tiene sus propias memorias internas y de interfase (memoria intermedia). La proliferación de muchas instancias de memorias aumenta el tamaño de implementaciones ASIC de estos diseños . La cantidad de instancias de memoria puede ser reducida por la combinación de muchas de las memorias de interfase (memoria intermedia) en una sola memoria compartida. Puede tenerse acceso a esta memoria a través de todos los aceleradores de hardware a través de un controlador de memoria común. Esta memoria es típicamente implementada utilizando SRAM de alta velocidad. Un software de control dirige los aceleradores de hardware para llevar a cabo sus respectivas operaciones, incluyendo dónde buscar en la memoria compartida, datos entrantes y dónde depositar en la memoria compartida, los resultados procesados. La presente invención provee aceleradores para todas las operaciones de capa 1. El control de capa superior (capa 2 y 3) también tiene acceso a esta memoria compartida para comunicarse con la capa 1 y para proveer los datos a ser transmitidos y aceptar datos que ya han sido recibidos. Con frecuencia, se utilizan memorias más grandes, más lentas y menos densas por los procedimientos de capa 2/3 para retener datos de aplicaciones que son programados para ser transmitidos o para reunir y agrupar paquetes de datos para su entrega a las aplicaciones. Los datos deben ser desplazados entre esta memoria más lenta, menos densa y la memoria más rápida (más costosa) al recibir paquetes de información o al ser programados para ser transmitidos. Estos paquetes, en algunos casos, también deben ser encriptados y/o descifrados.
Los aceleradores que desplazan datos y asisten en el cifrado han sido combinados para formar el controlador de motor de datos. Esta combinación reduce la cantidad de accesos que deben realizarse y alivia al procesador del costoso procedimiento de desplazar y cifrar los datos. Cuando los datos son desplazados entre capas 1 y 2 o 3, las capas adicionales de control, con frecuencia, deben ser "envueltas" alrededor de los paquetes de datos. Esto es frecuentemente representado en forma de una "cabecera" que está unida al paquete de datos. El esquema de direccionamiento del controlador de motor de datos responde a ello permitiendo que las direcciones fuente y/o de destino incluyan un desplazamiento. Esto permite que el procesador desplace datos desde un espacio de memoria a otro, pero realice un desplazamiento de los datos de destino por ejemplo, en 3 bytes. Una vez completado el desplazamiento, el procesador puede escribir la información de cabecera apropiada en el área que estaba reservada para este propósito a través del desplazamiento. Esto reduce la purga de datos que a veces se produce cuando se formatean datos para los protocolos de capa 2 o 3. La presente invención es un sistema de procesamiento de datos que puede transferir datos entre una SRAM de SMA y una SDRAM de DDR. También puede desplazar datos de un lugar en una SDRAM a otro lugar en la misma SDRAM.
Mientras los datos son desplazados, si se los programa para ello, los mismos pueden ser pasados a través de lógica que realiza cálculos de cifrado. La Figura 1 muestra un diagrama de bloque de un sistema de procesamiento de datos 100 ilustrativo utilizado para transferir datos entre una memoria SRAM de SMA 105 y una SDRAM 110, mientras que al mismo tiempo realiza el cifrado o descifrado de los datos de acuerdo con una modalidad preferida de la presente invención. Un controlador de memoria SMA 115 sirve como interfase entre la SRAM de SMA 105 y el sistema de procesamiento de datos 100. Un controlador de memoria SDRAM 120 sirve como interfase entre la SDRAM 110 y el sistema de procesamiento de datos 100. Un procesador 125 (es decir, una CPU de control) mantiene el control sobre el sistema de procesamiento de datos 100, la SRAM de SMA 105, el controlador de memoria SMA 115, la SDRAM 110 y el controlador de memoria SDRAM 120. El sistema de procesamiento de datos 100 incluye un controlador de motor de datos 128, un motor de cifrado 130, registros de datos de entrada 135, 140, registros de datos de salida 145, 150, multiplexor de entrada (MUX) 155, MUX de salida 160 y un registro primero en entrar primero en salir (FIFO) 165. " El controlador de motor de datos 128 es programado al escribir el registro de la dirección de la SDRAM 110 con la dirección de la palabra de datos inicial a ser accedida en el espacio de memoria SDRAM 110. El registro de dirección de SRAM 105 de SMA es escrito con la dirección de la palabra de datos inicial a ser accedida en un espacio de memoria en la SRAM 105 de SMA. Un registro "Num_blocks_to_move" es escrito con la cantidad de bloques de datos a desplazar. El registro de modo determina la dirección del desplazamiento de datos (es decir, "0" = de la SRAM 105 de SMA a la SDRAM 110, "1" = de la SDRAM 110 a la SRAM 105 de SMA) . El tamaño de cada bloque está también definido, por ejemplo, la cantidad de palabras de 32 bits por bloque. La cantidad total de palabras de 32 bits transferida es designada como "Num_blocks_to_move*block_ size". Un registro de modo dentro del controlador de motor de datos 128 del sistema de procesamiento de datos 100 indica si deben transferirse datos directamente o si los datos deben pasar a través del motor de cifrado 130 al producirse la transferencia de datos. La escritura del registro de modo causa que el controlador de motor de datos 128 inicie un procedimiento de desplazamiento de datos. Cuando se completa una transferencia de datos, se establece opcionalmente una interrupción por parte del controlador de motor de datos 128. Ahora se describirá un ejemplo paso a paso que muestra un procedimiento utilizado por el sistema de procesamiento de datos 100 para desplazar datos de una memoria (por ejemplo, la SRAM 105 de SMA) a otra memoria (por ejemplo, la SDRAM 110), mientras pasan los datos a través del motor de cifrado 130. Se toma una determinación en lo referido al desplazamiento de un bloque de datos almacenado en la SRAM 105 de SMA a la SDRAM 110. Luego, el procesador 125 escribe un bloque de control en la SRAM 105 de SMA. El bloque de control contiene todos los parámetros necesarios para configurar el controlador de motor de datos 128 para la operación pretendida. El procesador 125 da salida, a través de una operación E/S programada, a una señal de control (es decir, un impulso de inicio) para que el controlador de motor de datos 128 inicie una operación de desplazamiento de datos. El controlador de motor de datos 128, (efectivamente una máquina de estado), recibe la señal de control y da secuencia a una serie de estados para recuperar el bloque de control de la SRAM 105 de SMA. Esto es logrado manteniendo adecuadamente pedidos de la memoria SMA 105 a través del controlador de memoria SMA 115. Los datos de la memoria SMA 105 son ingresados al registro 115 y pasados al registro de configuración apropiado dentro del controlador de motor de datos 128. Una vez recibidos los parámetros de control asociados, la información contenida en los mismos es interpretada para continuar dirigiendo el controlador de motor de datos 128 en lo referente a qué tipo de función debe realizarse. En este ejemplo, los datos son desplazados de la SRAM 105 de SMA a la SDRAM 110. De ser apropiado, el controlador de motor de datos 128 causa que la información de cabecera de cifrado contenida en los registros asociados pasen a través del registro de entrada 135, del MUX de entrada 155, de la FIFO 165, del motor de cifrado 130, del MUX 160 y salgan de la SDRAM 110 a través del registro de salida 150 y del controlador de memoria SDRAM 120. El controlador de motor de datos 128 continúa dando secuencia a los estados apropiados para transferir datos desde la SRAM 105 de SMA hasta haber transferido la cantidad apropiada de ítems. De solicitárselo, se genera una interrupción por parte de un registro dentro del controlador de motor de datos 128, indicando que el desplazamiento de datos ya se ha completado. Después, el controlador de motor de datos 128 verifica si está disponible otro bloque de control para ser desplazado. De haberlo, se inicia otro procedimiento del controlador de motor de datos. El controlador de motor de datos 128 utiliza accesos en ráfaga para transferir datos a/desde la SDRAM 110 de DDR y un solo acceso de palabras a/desde la SRAM 105 de SMA. Queda a criterio del programador garantizar que el tamaño del bloque y la dirección de SDRAM 110 de DDR se establezcan de manera que ningún acceso en ráfaga de SDRAM simple cruce un límite de página SDRAM. La Figura 2 muestra una configuración ilustrativa de los registros 205-255 en el controlador de motor de datos 128 de la Figura 1. La Figura 3 muestra un registro 205 que define la dirección de inicio del controlador de motor de datos 128 para accesos fuente (es decir, lecturas) a la SDRAM 110 para iniciar transferencias de datos a la SRAM 105 de SMA o a la SDRAM 110. La dirección es una dirección de bytes y debe estar alineada con una dirección que se conforme con el tamaño de bloque especificado en el registro de "modo". El valor escrito en el registro se relaciona con el comienzo del espacio de dirección de SDRAM. El registro de dirección solamente puede ser escrito cuando el controlador de motor de datos 128 esté en espera. Los bits menos significativos son ignorados durante el acceso, pero son utilizados en el cifrado para especificar el desplazamiento de los datos dentro de la palabra. La Figura 4 muestra un registro 215 que define la dirección de inicio del controlador de motor de datos para accesos de destino (es decir, escritura) a la SDRAM 110 para iniciar transferencias de datos desde la SRAM 105 de SMA o desde la SDRAM 110. La dirección es una dirección de bytes y debe estar alineada con una dirección que se conforme con el tamaño de bloque especificado en el registro de "modo". El valor escrito en el registro se relaciona con el comienzo del espacio de dirección de SDRAM. El registro de dirección solamente puede ser escrito cuando el controlador de motor de datos 128 está en reposo. Los bits menos significativos son ignorados durante el acceso, pero son utilizados en el cifrado para especificar el desplazamiento de los datos dentro de la palabra. La Figura 5 muestra un registro 210 que define la dirección de inicio del controlador de motor de datos 128 para accesos fuente (es decir, lecturas) a la SRAM 105 de SMA. El valor escrito en el registro se relaciona con el comienzo del espacio de dirección de SMA. El registro de dirección solamente puede ser escrito cuando el controlador de motor de datos 128 está en reposo. Los bits menos significativos son ignorados durante el acceso, pero son utilizados en el cifrado para especificar el desplazamiento de los datos dentro de la palabra. La Figura 6 muestra un registro 220 que define la dirección de inicio del controlador de motor de datos 128 para accesos de destino (es decir, escritura) a la SRAM 105 de SMA. La dirección de inicio para el controlador de motor de datos 128 es especificada para que el controlador de motor de datos 128 acceda a la SRAM 105 de SMA. El valor escrito en el registro se relaciona con el comienzo del espacio de dirección de SMA. El registro de dirección solamente puede ser escrito cuando el controlador de motor de datos 128 está en reposo. Los bits menos significativos son ignorados durante el acceso, pero son utilizados en el cifrado para especificar el desplazamiento de los datos dentro de la palabra. La Figura 7 muestra un registro 225 que define la cantidad de bloques a ser desplazados entre la SDRAM 110 y la SRAM 105 de SMA. Al iniciarlo, el controlador de motor de datos transferirá la cantidad de bloques representada por el valor en este registro. Cada bloque consistirá en la cantidad de palabras de 32 bits especificada en el campo "bs" del registro de modo. La Figura 8 muestra un registro de modo 230 que especifica el modo del controlador de motor de datos 128. Varios campos 805, 810, 815, 820, 825, dentro del registro de modo 230 pueden ser escritos con el fin de controlar la actividad del controlador de motor de datos cuando está operando. Un campo "f" 805 es de solo lectura y le indica al procesador 195 si se ha completado o no la operación de desplazamiento de datos (es decir, lógica 0 para sin completar o lógica 1 para completado) . Puede escribirse un campo "C" 810 para indicar si deben pasarse o no los datos a través del motor de cifrado, y si se lo debe hacer, qué variedad de cifrado realizar. Cuando el campo "c" 810 es "00", no se realiza ningún cifrado y los datos simplemente pasan del espacio de dirección fuente al espacio de dirección de destino. Cuando el campo "c" 810 es "01", los datos son desplazados desde el espacio de dirección fuente al espacio de dirección de destino pero son pasados a través del motor de cifrado 145 y encriptados y/o descifrados utilizando el algoritmo de cifrado "f8" del 3GPP al producirse el desplazamiento de datos. Cuando el campo "c" es "10", los datos son accedidos desde el espacio de dirección fuente y pasados a través del motor de cifrado 145 utilizando el algoritmo de cifrado "f9" del 3GPP, pero los datos no son almacenados. El motor de cifrado 145 utiliza la clave y los valores de registro de control asociados para calcular un valor del Código de Autenticación de Mensaje que está disponible para el procesador 195 a través del registro 255. Puede programarse un campo "i" 815 con el fin de generar una interrupción cuando se completa el desplazamiento de datos. Cuando el campo "i" 815 es "0", no se genera ninguna interrupción. Cuando el campo "i" 815 es "1", se genera la interrupción cuando se completa la operación de desplazamiento de datos. Un campo "d" 820 identifica una o más memorias a ser utilizadas como espacios de dirección fuente y de destino y especifica la dirección del desplazamiento de los datos. Por ejemplo, cuando el campo "d" 820 es "00", los datos son desplazados desde la SRAM 105 de SMA a la SDRAM 110. Cuando el campo "d" 820 es "10", los datos son desplazados desde la SDRAM 110 a la SRAM 105 de SMA. Cuando el campo "d" 820 es "01", los datos son desplazados de un lugar a otro dentro de la SDRAM 110. El campo "d" 820 es utilizado para determinar qué punteros de dirección de memoria invocar a través de pedidos de acceso. El campo "bs" 825 determina el tamaño de cada bloque de acceso que debe ser desplazado. El campo "bs" 825 puede ser configurado en valores por acceso de bloque que indica una palabra ("00" = cuatro bytes), dos palabras ("01" = ocho bytes), cuatro palabras ("10" = dieciséis bytes), u ocho palabras ("11" = treinta y dos bytes). La cantidad de palabras a ser desplazadas y/o cifradas está predeterminada por la programación del campo "bs" 825 y la cantidad de bloques a desplazar. El desplazamiento de datos total es calculado en base al producto del valor representado por el campo "bs" 825 y la cantidad de bloques especificados en el registro 225. La Figura 9 muestra un registro 235 que define el valor de cálculo integrado en la cabecera de cifrado. La Figura 10 muestra un registro 240 que define un valor de renovación integrado en la cabecera de cifrado.
La Figura 11 muestra un registro 245 que define un portador y un valor de dirección que debe ser colocado en la cabecera encriptada y la cantidad total de bits a ser encriptados. Los registros 235, 240 y 245 contienen valores que son escritos por el procesador 195 que son definidos por los estándares del 3GPP para que sean incluidos en la cabecera de cifrado. Cuando el cifrado es incluido en el desplazamiento de datos, estos valores son insertados por el controlador de motor de datos en los lugares apropiados. El campo de longitud de encriptación especifica cuántos bits deben pasar a través del motor de cifrado. La cantidad de bloques y la cantidad de palabras por bloque es predeterminada por un programador y debe responder a esta longitud . La Figura 12 muestra un registro 250 que define una clave de 128 bits utilizada para el cifrado durante el desplazamiento de datos. El valor de la clave es utilizado de acuerdo con lo descripto en el estándar del 3GPP para encriptar/descifrar datos cuando se realizan los algoritmos de cifrado f8 y f9. La Figura 13 muestra un registro 255 que provee un valor MAC calculado. El algoritmo de cifrado f9 crea una firma utilizando el valor de clave y los valores de la corriente de datos que se le presenta. Esta firma es reportada como el MAC para ser utilizada por el sistema.
La descripción de los registros divulgada en la presente es de naturaleza ilustrativa, por lo cual podrían derivarse otras definiciones arbitrarias en base a una combinación de campos de control para realizar la misma funcionalidad. Si bien la presente invención ha sido descripta en términos de la modalidad preferida, otras variantes que se encuentren dentro del alcance de la invención de la forma establecida en las reivindicaciones siguientes resultarán evidentes para los expertos en el arte.
Claims (63)
- REIVINDICACIONES 1. Sistema de procesamiento de datos para llevar a cabo el cifrado y la transferencia de datos entre una primera unidad de memoria y una segunda unidad de memoria, sistema caracterizado porque comprende: (a) un motor de cifrado para llevar a cabo el cifrado de datos mientras son transferidos entre las unidades de memoria; (b) un controlador de motor de datos que incluye al menos un registro que tiene un primer campo que especifica si los datos transferidos deben ser cifrados o no por el motor de cifrado; (c) un procesador eléctricamente acoplado a la primera unidad de memoria y la segunda unidad de memoria para escribir un bloque de control en la primera unidad de memoria, el bloque de control incluye parámetros de control necesarios para configurar el controlador de motor de datos, y para producir una señal de control en el controlador de motor de datos para iniciar una operación de movimiento de datos; (d) un primer controlador eléctricamente acoplado a la primera unidad de memoria y el procesador para controlar la primera unidad de memoria; y (e) un segundo controlador eléctricamente acoplada a la segunda unidad de memoria y el procesador para controlar la segunda unidad de memoria, en donde el controlador de motor de datos recuperar el bloque control desde la primera unidad de memoria en respuesta para recibir la señal control desde el procesador, y el controlador de motor de datos determina que tipo de función se está realizando en base a los parámetros de control en el bloque de control recuperado .
- 2. Sistema de conformidad con la reivindicación 1, caracterizado porque si el primer campo especifica que los datos transferidos deben ser cifrados, el primer campo también especifica el tipo de cifrado que debe ser realizado por el motor de cifrado.
- 3. Sistema de conformidad con la reivindicación 2, caracterizado porque el sistema es un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado por el motor de cifrado es un algoritmo de cifrado confidencialmente estandarizado f8.
- 4. Sistema de conformidad con la reivindicación 2, caracterizado porque el sistema es un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado por el motor de cifrado es un algoritmo de cifrado de integridad estandarizado f9.
- 5. Sistema de conformidad con la reivindicación 4 caracterizado porque el registro incluye un segundo campo que especifica un valor del código de autenticación de mensaje (MAC) calculado por el algoritmo de cifrado de integridad estandarizado f9.
- 6. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica si los datos son desplazados desde la primera unidad de memoria a la segunda unidad de memoria, o desde la segunda unidad de memoria a la primera unidad de memoria .
- 7. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica el tamaño de un bloque de datos a ser transferido por el controlador de motor de datos.
- 8. Sistema de conformidad con la reivindicación 7, caracterizado porque el tamaño del bloque de datos es de cuatro bytes.
- 9. Sistema de conformidad con la reivindicación 7, caracterizado porque el tamaño del bloque de datos es de ocho bytes.
- 10. Sistema de conformidad con la reivindicación 7, caracterizado porque el tamaño del bloque de datos es de dieciséis bytes.
- 11. Sistema de conformidad con la reivindicación 7, caracterizado porque el tamaño del bloque de datos es de treinta y dos bytes.
- 12. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica la cantidad de bloques de datos a ser transferidos por el controlador de motor de datos.
- 13. Sistema de conformidad con la reivindicación 1, caracterizado porque la primera memoria es una memoria estática de acceso aleatorio (SRAM) de arquitectura de memoria compartida (SMA) .
- 14. Sistema de conformidad con la reivindicación 1, caracterizado porque la segunda memoria es una memoria dinámica síncrona de acceso aleatorio (SDRAM).
- 15. Sistema de conformidad con la reivindicación 1, caracterizado porque la primera y la segunda unidades de memoria difieren en velocidad de procesamiento.
- 16. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica si debe generarse un impulso de interrupción una vez completa la transferencia de datos.
- 17. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera de cifrado y es procesado por el motor de cifrado.
- 18. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica una longitud de encriptación.
- 19. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera encriptada y es procesado por el motor de cifrado.
- 20. Sistema de conformidad con la reivindicación 1, caracterizado porque el registro incluye un segundo campo que especifica una clave utilizada por el motor de cifrado para cifrar los datos al desplazarlos.
- 21. Sistema de conformidad con la reivindicación 20, caracterizado porque la clave es una clave de 128 bits.
- 22. Circuito integrado (IC) para llevar a cabo el cifrado y la transferencia de datos entre una primera unidad de memoria y una segunda unidad de memoria, IC está caracterizado porque comprende: (a) un motor de cifrado para llevar a cabo el cifrado de datos mientras son transferidos entre las unidades de memoria; (b) un controlador de motor de datos que incluye al menos un registro que tiene un primer campo que especifica si los datos transferidos deben ser cifrados o no por el motor de cifrado, (c) un procesador eléctricamente acoplado a la primera unidad de memoria y la segunda unidad de memoria para escribir un bloque de control en la primera unidad de memoria, el bloque de control incluye parámetros de control necesarios para configurar el controlador de motor de datos, y para producir una señal de control en el controlador de motor de datos para iniciar una operación de movimiento de datos; (d) un primer controlador eléctricamente acoplado a la primera unidad de memoria y el procesador para controlar la primera unidad de memoria; y (e) un segundo controlador eléctricamente acoplada a la segunda unidad de memoria y el procesador para controlar la segunda unidad de memoria, en donde el controlador de motor de datos recuperar el bloque control desde la primera unidad de memoria en respuesta para recibir la señal control desde el procesador, y el controlador de motor de datos determina que tipo de función se está realizando en base a los parámetros de control en el bloque de control recuperado.
- 23. IC de conformidad con la reivindicación 22, caracterizado porque si el primer campo especifica que los datos transferidos deben ser cifrados, el primer campo también especifica el tipo de cifrado que debe ser realizado por el motor de cifrado.
- 24. IC de conformidad con la reivindicación 23, caracterizado porque el IC opera junto con un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado por el motor de cifrado es un algoritmo de cifrado confidencialmente estandarizado f8.
- 25. IC de conformidad con la reivindicación 23, caracterizado porque el IC opera junto con un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado por el motor de cifrado es un algoritmo de cifrado de integridad estandarizado f9.
- 26. IC de conformidad con la reivindicación 25, caracterizado porque el registro incluye un segundo campo que especifica un valor del código de autenticación de mensaje (MAC) calculado por el algoritmo de cifrado de integridad estandarizado f9.
- 27. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica si los datos son desplazados desde la primera unidad de memoria a la segunda unidad de memoria, o desde la segunda unidad de memoria a la primera unidad de memoria .
- 28. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica el tamaño de un bloque de datos a ser transferido por el controlador de motor de datos.
- 29. IC de conformidad con la reivindicación 28, caracterizado porque el tamaño del bloque de datos es de cuatro bytes.
- 30. IC de conformidad con la reivindicación 28, caracterizado porque el tamaño del bloque de datos es de ocho bytes.
- 31. IC de conformidad con la reivindicación 28, caracterizado porque el tamaño del bloque de datos es de dieciséis bytes.
- 32. IC de conformidad con la reivindicación 28, caracterizado porque el tamaño del bloque de datos es de treinta y dos bytes.
- 33. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica la cantidad de bloques de datos a ser transferidos por el controlador de motor de datos.
- 34. IC de conformidad con la reivindicación 22, caracterizado porque la primera memoria es una memoria estática de acceso aleatorio (SRAM) de arquitectura de memoria compartida (SMA) .
- 35. IC de conformidad con la reivindicación 22, caracterizado porque la segunda memoria es una memoria dinámica síncrona de acceso aleatorio (SDRAM).
- 36. IC de conformidad con la reivindicación 22, caracterizado porque la primera y la segunda unidades de memoria difieren en velocidad de procesamiento.
- 37. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica si debe generarse un impulso de interrupción una vez completa la transferencia de datos.
- 38. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera de cifrado y es procesado por el motor de cifrado.
- 39. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica una longitud de encriptación.
- 40. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera encriptada y es procesado por el motor de cifrado.
- 41. IC de conformidad con la reivindicación 22, caracterizado porque el registro incluye un segundo campo que especifica una clave utilizada por el motor de cifrado para cifrar los datos al desplazarlos.
- 42. IC de conformidad con la reivindicación 41, caracterizado porque la clave es una clave de 128 bits.
- 43. Unidad inalámbrica de transmisión/recepción (WTRU) para llevar a cabo el cifrado y la transferencia de datos entre una primera unidad de memoria y una segunda unidad de memoria, WTRU caracterizada porque comprende: (a) un motor de cifrado para llevar a cabo el cifrado de datos mientras son transferidos entre las unidades de memoria; (b) un controlador de motor de datos que incluye al menos un registro que tiene un primer campo que especifica si los datos transferidos deben ser cifrados o no por el motor de cifrado; (c) un procesador eléctricamente acoplado a la primera unidad de memoria y la segunda unidad de memoria para escribir un bloque de control en la primera unidad de memoria, el bloque de control incluye parámetros de control necesarios para configurar el controlador de motor de datos, y para producir una señal de control en el controlador de motor de datos para iniciar una operación de movimiento de datos; (d) un primer controlador eléctricamente acoplado a la primera unidad de memoria y el procesador para controlar la primera unidad de memoria; y (e) un segundo controlador eléctricamente acoplada a la segunda unidad de memoria y el procesador para controlar la segunda unidad de memoria, en donde el controlador de motor de datos recuperar el bloque control desde la primera unidad de memoria en respuesta para recibir la señal control desde el procesador, y el controlador de motor de datos determina que tipo de función se está realizando en base a los parámetros de control en el bloque de control recuperado.
- 44. WTRU de conformidad con la reivindicación 43, caracterizada porque si el primer campo especifica que los datos transferidos deben ser cifrados, el primer campo también especifica el tipo de cifrado que debe ser realizado .
- 45. WTRU de conformidad con la reivindicación 44, caracterizada porque la WTRU opera junto con un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado es un algoritmo de cifrado confidencialmente estandarizado f8.
- 46. WTRU de conformidad con la reivindicación 44, caracterizada porque la WTRU opera junto con un sistema del proyecto de colaboración de tercera generación (3GPP) y el tipo de cifrado que debe ser realizado es un algoritmo de cifrado de integridad estandarizado f9.
- 47. WTRU de conformidad con la reivindicación 46, caracterizada porque el registro incluye un segundo campo que especifica un valor del código de autenticación de mensaje (MAC) calculado por el algoritmo de cifrado de integridad estandarizado f9.
- 48. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica si los datos son desplazados desde la primera unidad de memoria a la segunda unidad de memoria, o desde la segunda unidad de memoria a la primera unidad de memoria .
- 49. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica el tamaño de un bloque de datos a ser transferido por el controlador de motor de datos.
- 50. WTRU de conformidad con la reivindicación 49, caracterizada porque el tamaño del bloque de datos es de cuatro bytes.
- 51. WTRU de conformidad con la reivindicación 49, caracterizada porque el tamaño del bloque de datos es de ocho bytes.
- 52. WTRU de conformidad con la reivindicación 49, caracterizada porque el tamaño del bloque de datos es de dieciséis bytes.
- 53. WTRU de conformidad con la reivindicación 49, caracterizada porque el tamaño del bloque de datos es de treinta y dos bytes.
- 54. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica la cantidad de bloques de datos a ser transferidos por el controlador de motor de datos.
- 55. WTRU de conformidad con la reivindicación 43, caracterizada porque la primera memoria es una memoria estática de acceso aleatorio (SRAM) de arquitectura de memoria compartida (SMA) .
- 56. WTRU de conformidad con la reivindicación 43, caracterizada porque la segunda memoria es una memoria dinámica síncrona de acceso aleatorio (SDRAM) .
- 57. WTRU de conformidad con la reivindicación 43, caracterizada porque la primera y la segunda unidades de memoria difieren en velocidad de procesamiento.
- 58. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica si debe generarse un impulso de interrupción una vez completa la transferencia de datos.
- 59. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera de cifrado y es procesado por el motor de cifrado.
- 60. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica una longitud de encriptación.
- 61. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica un valor integrado en una cabecera encriptada y es procesado por el motor de cifrado.
- 62. WTRU de conformidad con la reivindicación 43, caracterizada porque el registro incluye un segundo campo que especifica una clave utilizada por el motor de cifrado para cifrar los datos al desplazarlos.
- 63. WTRU de conformidad con la reivindicación 62, caracterizada porque la clave es una clave de 128 bits.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57378904P | 2004-05-24 | 2004-05-24 | |
US10/878,729 US7636857B2 (en) | 2004-05-24 | 2004-06-28 | Data-mover controller with plural registers for supporting ciphering operations |
PCT/US2005/016026 WO2005117329A2 (en) | 2004-05-24 | 2005-05-06 | Data-mover controller with plural registers for supporting ciphering operations |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA06013621A true MXPA06013621A (es) | 2007-02-28 |
Family
ID=35376587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA06013621A MXPA06013621A (es) | 2004-05-24 | 2005-05-06 | Controlador de motor de datos con una pluralidad de registros para soportar operaciones de cifrado. |
Country Status (16)
Country | Link |
---|---|
US (2) | US7636857B2 (es) |
EP (1) | EP1751909A4 (es) |
JP (1) | JP2008500638A (es) |
KR (1) | KR20090085685A (es) |
AR (2) | AR049693A1 (es) |
AU (3) | AU2005332284B8 (es) |
BR (1) | BRPI0511205A (es) |
CA (1) | CA2567818A1 (es) |
GE (1) | GEP20094768B (es) |
IL (1) | IL179322A (es) |
MX (1) | MXPA06013621A (es) |
MY (2) | MY142326A (es) |
NO (1) | NO20065338L (es) |
SG (1) | SG145709A1 (es) |
TW (2) | TW200842700A (es) |
WO (1) | WO2005117329A2 (es) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636857B2 (en) * | 2004-05-24 | 2009-12-22 | Interdigital Technology Corporation | Data-mover controller with plural registers for supporting ciphering operations |
US7869590B2 (en) * | 2005-04-12 | 2011-01-11 | Broadcom Corporation | Method and system for hardware accelerator for implementing f9 integrity algorithm in WCDMA compliant handsets |
US7929410B2 (en) | 2005-06-29 | 2011-04-19 | Interdigital Technology Corporation | Protocol engine for processing data in a wireless transmit/receive unit |
KR20090031783A (ko) * | 2006-07-14 | 2009-03-27 | 인터디지탈 테크날러지 코포레이션 | 심볼 레이트 하드웨어 가속기 |
US8077644B2 (en) * | 2007-07-20 | 2011-12-13 | Infineon Technologies Ag | Data transfer in a computing device |
US8788782B2 (en) * | 2009-08-13 | 2014-07-22 | Qualcomm Incorporated | Apparatus and method for memory management and efficient data processing |
US9038073B2 (en) * | 2009-08-13 | 2015-05-19 | Qualcomm Incorporated | Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts |
US8762532B2 (en) * | 2009-08-13 | 2014-06-24 | Qualcomm Incorporated | Apparatus and method for efficient memory allocation |
US20110041128A1 (en) * | 2009-08-13 | 2011-02-17 | Mathias Kohlenz | Apparatus and Method for Distributed Data Processing |
CN101977186B (zh) * | 2010-10-19 | 2012-12-12 | 珠海市佳讯实业有限公司 | 一种实现STM-1接口汇聚多路Ethernet over E1协议转换的装置 |
KR101992866B1 (ko) | 2013-02-06 | 2019-06-25 | 동우 화인켐 주식회사 | 착색 감광성 수지 조성물 |
US10192062B2 (en) | 2014-06-20 | 2019-01-29 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US10169618B2 (en) | 2014-06-20 | 2019-01-01 | Cypress Semiconductor Corporation | Encryption method for execute-in-place memories |
US10691838B2 (en) | 2014-06-20 | 2020-06-23 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US11061685B2 (en) | 2019-02-27 | 2021-07-13 | International Business Machines Corporation | Extended asynchronous data mover functions compatibility indication |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58225422A (ja) * | 1982-06-25 | 1983-12-27 | Toshiba Corp | デ−タ制御装置 |
US5224166A (en) * | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
US6038166A (en) * | 1998-04-01 | 2000-03-14 | Invox Technology | High resolution multi-bit-per-cell memory |
FR2800952B1 (fr) * | 1999-11-09 | 2001-12-07 | Bull Sa | Architecture d'un circuit de chiffrement mettant en oeuvre differents types d'algorithmes de chiffrement simultanement sans perte de performance |
JP3866105B2 (ja) * | 1999-12-02 | 2007-01-10 | インフィネオン テクノロジーズ アクチエンゲゼルシャフト | 暗号化機能を備えるマイクロプロセッサ装置 |
DE60013099T2 (de) * | 1999-12-27 | 2005-09-01 | Mitsubishi Denki K.K. | Funkkommunikationsgerät |
FI110974B (fi) * | 2000-03-01 | 2003-04-30 | Nokia Corp | Laskurin alustaminen, erityisesti radiokehyksiä varten |
TW490611B (en) | 2000-03-31 | 2002-06-11 | Jian-Tsz Hou | Encryption and decryption memory and access control method |
DK1376922T3 (da) * | 2001-04-03 | 2014-10-27 | Mitsubishi Electric Corp | Krypteringsindretning |
JP2002329180A (ja) | 2001-04-27 | 2002-11-15 | Toshiba Corp | 無線通信機能を有するメモリカード及びそのデータ通信方法 |
US7266703B2 (en) | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
WO2003036857A1 (en) * | 2001-10-24 | 2003-05-01 | Nokia Corporation | Ciphering as a part of the multicast cencept |
WO2003077083A2 (en) * | 2002-03-13 | 2003-09-18 | Matsushita Electric Industrial Co., Ltd. | Secure device for preventing unauthorised use of distributed content |
JP3743509B2 (ja) * | 2002-03-20 | 2006-02-08 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
FI114347B (fi) * | 2002-03-20 | 2004-09-30 | Master S Innovations Ltd Oy | Menetelmä ja laitteisto datan kääntämiseksi |
US20030226029A1 (en) * | 2002-05-29 | 2003-12-04 | Porter Allen J.C. | System for protecting security registers and method thereof |
RU2300844C2 (ru) * | 2002-06-18 | 2007-06-10 | Ооо "Крейф" | Персональный криптозащитный комплекс |
US8155314B2 (en) | 2002-06-24 | 2012-04-10 | Microsoft Corporation | Systems and methods for securing video card output |
WO2004019614A1 (en) * | 2002-08-22 | 2004-03-04 | Thomson Licensing S.A. | Smart card with nrss delay line for data alignment |
KR100516548B1 (ko) * | 2003-02-05 | 2005-09-22 | 삼성전자주식회사 | 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치 |
JP2004288091A (ja) * | 2003-03-25 | 2004-10-14 | Fuji Xerox Co Ltd | 情報処理装置及び方法 |
US7415115B2 (en) * | 2003-05-14 | 2008-08-19 | Broadcom Corporation | Method and system for disaster recovery of data from a storage device |
US7409477B2 (en) * | 2003-09-03 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor |
US7636857B2 (en) * | 2004-05-24 | 2009-12-22 | Interdigital Technology Corporation | Data-mover controller with plural registers for supporting ciphering operations |
US7694152B2 (en) * | 2005-02-03 | 2010-04-06 | International Business Machines Corporation | Memory controller with performance-modulated security |
-
2004
- 2004-06-28 US US10/878,729 patent/US7636857B2/en not_active Expired - Fee Related
-
2005
- 2005-05-06 EP EP05746768A patent/EP1751909A4/en not_active Withdrawn
- 2005-05-06 KR KR1020097012678A patent/KR20090085685A/ko not_active Application Discontinuation
- 2005-05-06 JP JP2007515124A patent/JP2008500638A/ja active Pending
- 2005-05-06 MX MXPA06013621A patent/MXPA06013621A/es active IP Right Grant
- 2005-05-06 CA CA002567818A patent/CA2567818A1/en not_active Abandoned
- 2005-05-06 SG SG200805755-6A patent/SG145709A1/en unknown
- 2005-05-06 WO PCT/US2005/016026 patent/WO2005117329A2/en active Search and Examination
- 2005-05-06 AU AU2005332284A patent/AU2005332284B8/en not_active Ceased
- 2005-05-06 BR BRPI0511205-2A patent/BRPI0511205A/pt not_active IP Right Cessation
- 2005-05-06 GE GEAP20059713A patent/GEP20094768B/en unknown
- 2005-05-11 TW TW096147301A patent/TW200842700A/zh unknown
- 2005-05-11 TW TW094115311A patent/TWI347551B/zh not_active IP Right Cessation
- 2005-05-20 MY MYPI20083764A patent/MY142326A/en unknown
- 2005-05-20 MY MYPI20052317A patent/MY139114A/en unknown
- 2005-05-23 AR ARP050102105A patent/AR049693A1/es active IP Right Grant
-
2006
- 2006-11-16 IL IL179322A patent/IL179322A/en not_active IP Right Cessation
- 2006-11-21 NO NO20065338A patent/NO20065338L/no not_active Application Discontinuation
-
2008
- 2008-04-08 AR ARP080101443A patent/AR065977A2/es active IP Right Grant
- 2008-08-29 AU AU2008207639A patent/AU2008207639B2/en not_active Ceased
-
2009
- 2009-06-30 AU AU2009202654A patent/AU2009202654A1/en not_active Abandoned
- 2009-12-09 US US12/634,363 patent/US8112635B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050262344A1 (en) | 2005-11-24 |
AU2005332284A1 (en) | 2007-01-11 |
AU2005332284A8 (en) | 2008-08-14 |
BRPI0511205A (pt) | 2007-11-27 |
WO2005117329A3 (en) | 2007-01-11 |
IL179322A (en) | 2011-06-30 |
MY142326A (en) | 2010-11-15 |
AU2009202654A1 (en) | 2009-07-30 |
NO20065338L (no) | 2007-01-19 |
KR20090085685A (ko) | 2009-08-07 |
MY139114A (en) | 2009-08-28 |
TW200602973A (en) | 2006-01-16 |
AR049693A1 (es) | 2006-08-30 |
TW200842700A (en) | 2008-11-01 |
US7636857B2 (en) | 2009-12-22 |
WO2005117329A2 (en) | 2005-12-08 |
JP2008500638A (ja) | 2008-01-10 |
GEP20094768B (en) | 2009-09-10 |
AU2005332284B8 (en) | 2008-08-14 |
AU2005332284B2 (en) | 2008-05-29 |
IL179322A0 (en) | 2007-03-08 |
AU2008207639A1 (en) | 2008-09-25 |
EP1751909A2 (en) | 2007-02-14 |
TWI347551B (en) | 2011-08-21 |
US8112635B2 (en) | 2012-02-07 |
AU2008207639B2 (en) | 2009-07-23 |
SG145709A1 (en) | 2008-09-29 |
CA2567818A1 (en) | 2005-12-08 |
EP1751909A4 (en) | 2008-04-16 |
AR065977A2 (es) | 2009-07-15 |
US20100088529A1 (en) | 2010-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2005332284B2 (en) | Data-mover controller with plural registers for supporting ciphering operations | |
US11615716B2 (en) | Lightweight cryptographic engine | |
US8374343B2 (en) | DES hardware throughput for short operations | |
US7574571B2 (en) | Hardware-based encryption/decryption employing dual ported memory and fast table initialization | |
US20040146158A1 (en) | Cryptographic systems and methods supporting multiple modes | |
US7552344B2 (en) | Hardware-based encryption/decryption employing dual ported key storage | |
JP2004226966A (ja) | 多数の動作モードを支援する暗号化装置 | |
EP3803672B1 (en) | Memory-efficient hardware cryptographic engine | |
KR20070017411A (ko) | 암호화 동작을 지원하기 위한 복수의 레지스터를 갖는데이터-이동 제어기 | |
CN101040484A (zh) | 支持密码运算而具多个寄存器的数据移动器控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |