ES2269415T3 - Metodo y dispositivo para cifrar un mensaje. - Google Patents

Metodo y dispositivo para cifrar un mensaje. Download PDF

Info

Publication number
ES2269415T3
ES2269415T3 ES01938930T ES01938930T ES2269415T3 ES 2269415 T3 ES2269415 T3 ES 2269415T3 ES 01938930 T ES01938930 T ES 01938930T ES 01938930 T ES01938930 T ES 01938930T ES 2269415 T3 ES2269415 T3 ES 2269415T3
Authority
ES
Spain
Prior art keywords
data
optical
encryption
message
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01938930T
Other languages
English (en)
Inventor
Mikael Thuvesholmen
Tomas Edso
Mads Dore Hansen
Kristofer Skantze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anoto AB
Original Assignee
Anoto AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anoto AB filed Critical Anoto AB
Application granted granted Critical
Publication of ES2269415T3 publication Critical patent/ES2269415T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

Un método en un bolígrafo digital (en adelante DP) para cifrar un mensaje para la transmisión segura de dicho mensaje desde el bolígrafo digital (DP) a un receptor (en adelante ALS, SH, SP) caracterizado por las etapas de obtener el mensaje mediante el registro de imágenes de una superficie (2) provista de un patrón (3) de código de posición usando un detector óptico (8) del bolígrafo digital (DP) y la determinación de al menos una posición a partir de las imágenes; obtener (410-420) datos ópticos para la generación de una clave de cifrado usando el detector óptico (8) del bolígrafo digital (DP), cuyos datos ópticos representan electrónicamente valores de un parámetro óptico legible por dicho detector óptico (8); generar (430-450) exclusivamente por tratamiento electrónico en una unidad de tratamiento (10) del bolígrafo digital, la clave de cifrado, usar dichos datos ópticos como semilla aleatoria; y cifrar (480) dicho mensaje usando dicha clave de cifrado en un algoritmo de cifrado.

Description

Método y dispositivo para cifrar un mensaje.
Campo de aplicación del invento
El presente invento se refiere en general al campo de transmitir información desde un emisor hasta un receptor. Más específicamente, el presente invento se refiere a un método y a un dispositivo para cifrar un mensaje para la transmisión segura de dicho mensaje desde un dispositivo emisor a un receptor. El invento se refiere además a un medio legible por ordenador que comprende instrucciones para llevar a un ordenador a realizar dicho método, y a un dispositivo emisor y a un sistema, respectivamente, que comprende dicho dispositivo.
Antecedentes del invento
Durante la transmisión de información desde un emisor a un receptor, por ejemplo en un sistema que incluye dispositivos manuales, existen básicamente cuatro aspectos que es necesario satisfacer para obtener una transmisión segura con respecto a autenticidad, integridad, confidencialidad y no repudio. Sin embargo, la confidencialidad, es decir, que la información se mantenga secreta durante la transmisión, es crucial en el campo de la comunicación digital, por ejemplo en transacciones financieras o en comercio exterior. Este aspecto, así como los otros aspectos, se puede cumplir mediante el uso de la criptografía.
Cuando se usa la criptografía o un algoritmo de seguridad de red basado en la criptografía, se usan datos de números aleatorios por diferentes razones y representan un papel esencial. Por ejemplo, los números aleatorios se usan frecuentemente como claves de cifrado o para la generación de claves de cifrado. Además, por definición los datos aleatorios son difíciles de determinar o de adivinar.
Los métodos normales de criptografía incluyen el cifrado simétrico y el cifrado asimétrico. Cuando se usa el cifrado simétrico, se emplea la misma clave para el cifrado y el descifrado. La clave de cifrado se usa conjuntamente con un algoritmo de cifrado, y claves diferentes resultarán en salidas diferentes del algoritmo. El grado de seguridad del mensaje cifrado depende del secreto de la clave y por tanto del número aleatorio usado como la clave o para generar la clave, no del secreto del algoritmo. Esto hace posible usar algoritmos normalizados, tales como la Norma de cifrado avanzada (en adelante AES), la Norma de cifrado de datos (en adelante DES) o la Norma internacional de cifrado de datos (en adelante IDEA). El grado de seguridad depende también de la longitud o tamaño de bits de la clave. Cuanto más larga sea la clave de cifrado, más difícil será romper el lenguaje cifrado.
Cuando se usa el cifrado asimétrico, el emisor y el receptor tienen cada uno una clave de cifrado privada y una clave de cifrado pública. Por tanto, desde el punto de vista de la confidencialidad, se consigue la autenticación y el no repudio. Los algoritmos asimétricos de cifrado comúnmente utilizados incluye, por ejemplo, el RSA (Rhivest-Shamir-Adleman) y el DH (Diffie-Hellman).
Es un problema bien sabido que las fuentes de verdaderos números aleatorios son difíciles de encontrar. Los generadores de ruidos físicos, tales como los detectores de impulsos de los eventos de radiaciones ionizantes, los tubos de descarga de gases, y los condensadores con fugas, son una fuente potencial. Sin embargo, dichos dispositivos son de una utilidad limitada en las aplicaciones de seguridad de redes. Por ejemplo, la incorporación de uno de estos dispositivos en un dispositivo de mano requerirá un diseño complejo y posiblemente voluminoso del dispositivo de mano. Además, se plantean problemas tanto con el grado de aleatoriedad como con la precisión de los números generados por tales dispositivos.
Otra solución para obtener números aleatorios para aplicaciones criptográficas es el uso de técnicas algorítmicas. Sin embargo, estos algoritmos son deterministas y por tanto producen secuencias de números que no son estadísticamente aleatorias. A estos números se hace referencia a menudo como números seudoaleatorios.
Una técnica ampliamente usada para la generación de números seudoaleatorios es el método congruencial lineal. Se obtiene una secuencia de números mediante la ecuación siguiente
X_{n+1} = (aX_{n} + b) mod \ c,
donde X_{0} es un número inicial, es decir, la semilla aleatoria (random seed). Usualmente, en un dispositivo de mano o en un ordenador, se usan los microsegundos del reloj interno como semilla aleatoria para iniciar el algoritmo.
Un problema que se plantea con el método anteriormente mencionado es que, una vez que se ha elegido un valor, la semilla aleatoria, los números subsiguientes en la secuencia siguen de forma determinista. Ello significa que alguien que tenga conocimiento de una parte de la secuencia podría determinar teóricamente los elementos subsiguientes de la secuencia.
Es posible implementar generadores más avanzados de números aleatorios que usen el reloj interno como semilla aleatoria, por ejemplo, como el algoritmo usado en Blue-tooth. Éste y otros algoritmos similares son capaces de generar números seudoaleatorios con características estadísticas perfeccionadas en comparación con los números generados por el método congruencial lineal. No obstante, los números seudoaleatorios todavía son de una calidad insuficiente en un sentido estadístico, es decir, cuando se considera el grado de aleatoriedad.
El artículo titulado "Stream cipher based on pseudo random number generation with optical affine transformation" por Sasaki y colaboradores, publicado en Applied Optics, Volumen 39, Nº 14, páginas 2340-2346, el 10 de mayo de 2000, describe una técnica para generar una imagen con distribución de intensidad seudoaleatoria mediante tratamiento óptico. Específicamente, se usa un tratamiento de realimentación óptico para presentar visualmente una imagen inicial en un tubo de rayos catódicos (en adelante TRC). De la imagen del TRC se forma luego una imagen en una cámara con dispositivo acoplado por carga (en adelante CCD), por medio de componentes ópticos que escinden, rotan, reflejan, convierten y recombinan la imagen, después de lo cual la imagen tratada se presenta visualmente en el TRC. Luego se repite el mismo procedimiento para un gran número de iteraciones. La imagen final de salida se usa para cifrar un mensaje de imagen mediante la adición óptica de módulo-n de la imagen final de salida al mensaje de imagen. Aparte de su evidente incapacidad de implementarse fácilmente en un dispositivo de mano, la técnica óptica conocida parece que adolece de una precisión limitada y de una velocidad lenta de tratamiento.
Por tanto, continúa planteándose el problema de encontrar un método, que se pueda implementar en un sistema que comprenda dispositivos de mano, que proporcione números aleatorios de buena calidad, de acuerdo con los criterios antes mencionados, para la generación de claves de cifrado con el fin de proveer una transmisión segura de información entre un emisor y un receptor.
En el documento US-A- 5 852 434 se describe un ejemplo de un dispositivo de mano que se refiere a un dispositivo de determinación de la posición absoluta para indicar la posición y el movimiento instantáneos de un estilete sobre una superficie formateada con un código relacionado con la posición para indicar las coordenadas X-Y.
Sumario del invento
Por tanto, un objeto del presente invento es proveer un método y un dispositivo perfeccionados para generar una clave de cifrado y para cifrar un mensaje.
Este y otros objetos se consiguen de acuerdo con el presente invento mediante la provisión de un método para cifrado de acuerdo con la reivindicación 1, un bolígrafo digital de acuerdo con la reivindicación 20, y un método para autenticación de acuerdo con la reivindicación 36. En las reivindicaciones subordinadas se definen realizaciones preferidas.
Así, el presente invento se basa en la consideración ventajosa de usar datos ópticos como semilla aleatoria para la generación de una clave de cifrado, que a su vez se usa como un algoritmo de cifrado para cifrar un mensaje. Los datos ópticos obtenidos de acuerdo con el método del presente invento presentan el grado requerido de aleatoriedad e imprevisibilidad. De hecho, se puede considerar que los datos ópticos son "verdaderamente" aleatorios. Por consiguiente, el grado de aleatoriedad es mayor, y los datos ópticos utilizados son más imprevisibles en comparación con los datos usados para semilla aleatoria en el método conocido anteriormente descrito. Por tanto, se consigue un grado perfeccionado de secreto de la clave de cifrado generada.
Tradicionalmente, se usan dos criterios distintos y no necesariamente compatibles para determinar la calidad de una secuencia de números aleatorios, la imprevisibilidad y la aleatoriedad. En una "verdadera" secuencia aleatoria, cada número es estadísticamente independiente de cualquier otro número de la secuencia, y por tanto es imprevisible. Para validar la aleatoriedad de una secuencia de números se usan dos criterios. En primer lugar, la distribución uniforme de los números aleatorios, lo que significa que la frecuencia de aparición de cada uno de los números debería ser aproximadamente la misma. En segundo lugar, la independencia entre números aleatorios, lo que significa que ningún valor de la secuencia se puede inferir de cualquiera de los demás.
De acuerdo con la realización preferida del presente invento, una superficie, o una parte de la misma, se exploran o se leen con un detector óptico, preferiblemente una cámara o un detector sensible a la luz, obteniendo de ese modo unos datos ópticos representativos de las características de la superficie leída. El detector sensible a la luz es, por ejemplo, un detector acoplado por carga (en adelante CCD), o un detector complementario de óxido-metal (en adelante CMOS). Los datos ópticos obtenidos se determinan por - y representan - los valores de al menos un parámetro óptico, que es representativo de las condiciones físicas sobre la parte de la superficie.
Preferiblemente, los datos ópticos se obtienen de una parte de una superficie provista de un patrón de código de posición, en la que el patrón de código de posición incluye marcas ópticas legibles. Cada una de dichas marcas se podría diseñar de una forma más o menos arbitraria. Sin embargo, preferiblemente el diseño de cada marca es elemental, por ejemplo en la forma de puntos redondos, como se muestra en la descripción detallada más adelante. El patrón de código de posición se implementa usando cualquier parámetro, que se podría usar para obtener símbolos del tipo anteriormente mencionado que se puedan detectar mediante un detector óptico. El hecho de que el patrón de código de posición sea óptimamente legible facilita la aplicación del patrón sobre la superficie. De acuerdo con ello, el patrón debería tener la posibilidad de reflejar luz, que no necesariamente tiene que tener una longitud de onda en el espectro visible.
Preferiblemente, el parámetro detectado y usado para la generación de la clave de cifrado es el brillo, que es una medida relativa de la intensidad de la energía de salida de una fuente luminosa que es visible para un detector óptico. En la realización preferida del presente invento, se registra el brillo de la luz que se refleja de una parte de una superficie iluminada. Por supuesto, la luz detectada no tiene que estar constituida necesariamente por luz reflejada. Se contempla también dentro del alcance del presente invento la detección de la luz emitida desde superficies luminosas, o cualquier combinación de luz emitida y luz reflejada. El brillo en la luz detectada podría depender, por ejemplo, de las variaciones en la iluminación circundante, de la calidad de la impresión del patrón, del ennegrecimiento de las marcas, y/o de la calidad de la superficie, por ejemplo, una superficie de papel. Los factores biométricos podrían tener también un impacto sobre el brillo, por ejemplo la inclinación del bolígrafo. Estos y otros factores introducen un grado considerable de aleatoriedad en los datos ópticos. Además, el hecho de que el propio detector óptico sea un generador de ruido aumentará todavía más el grado de aleatoriedad en los datos ópticos.
De acuerdo con realizaciones preferidas del invento, los datos ópticos se tratan de acuerdo con un orden o esquema preprogramado y se organizan en campos de datos de una longitud predeterminada. A su vez, los campos de datos, se organizan preferiblemente en registros de datos de acuerdo con un esquema predeterminado, por ejemplo, en un orden predeterminado.
De acuerdo con una realización específica preferida del presente invento, y con el fin de perfeccionar todavía más la estocasticidad de los datos ópticos organizados en dichos registros de datos, el orden de los campos de datos dentro de los registros de datos se redispone de acuerdo con un algoritmo de redisposición cíclica. De acuerdo con el algoritmo de redisposición cíclica, el orden de los campos de datos redispuestos en los diferentes registros de datos podría diferir de uno a otro registro de datos. De ese modo, se podría usar un número de esquemas diferentes de reordenación, incluyendo el caso en el que para algunos registros de datos, el orden de los campos de datos no se haya alterado en absoluto. Preferiblemente, la reordenación cíclica se realiza mediante el desplazamiento de todos los campos de datos en cada registro de datos. Los campos de datos se podrían desplazar mediante un número de etapas que abarca desde cero, es decir, no tiene lugar desplazamiento alguno, hasta un número correspondiente al número de campos de datos en el registro de datos menos 1. Por tanto, el algoritmo de reordenación contiene información en cuanto al número de etapas en que cada campo de datos se desplaza para un registro de datos específico.
De acuerdo con una realización específica del presente invento, el orden de los campos de datos de cada registro incluido en un primer conjunto de registros de datos se redispone de acuerdo con un primer algoritmo de reordenación. De ese modo, se obtiene un prime conjunto de registro de datos redispuestos. Luego, el orden de los campos de datos de cada registro de datos de un segundo conjunto de registros de datos se redispone de acuerdo con un segundo algoritmo de reordenación, por lo que se obtiene un segundo conjunto de registros de datos redispuestos en la generación de la clave de cifrado, el primer conjunto de registros de datos redispuestos forma datos de clave y el segundo conjunto de registros de datos redispuestos forma datos de entrada, o viceversa, de la clave de cifrado usada en el algoritmo de cifrado. Alternativamente, los datos de clave y los datos de entrada forman datos de cifrado que se pueden usar como material en un proceso de cifrado. Por ejemplo, el material se puede cifrar con la clave pública del receptor, para usar como clave de cifrado o material de clave, para comprimirse a una clave de cifrado, para un algoritmo de cifrado simétrico. La ventaja del proceso de redisposición descrito es que se mejoran significativamente las características estadísticas, es decir, la aleatoriedad y la imprevisibilidad.
De acuerdo con una realización adicionalmente preferida del invento, sorprendentemente se ha averiguado que se ha obtenido un elevado grado de estocasticidad usando el algoritmo específico de reordenación explicado más adelante con mayor detalle. De hecho, los datos de salida del algoritmo de cifrado, cuando se usan los datos ópticos como semilla aleatoria y el algoritmo de reordenación descrito, constituyen un ruido uniformemente distribuido de acuerdo con los métodos estadísticos de ensayo prevalentes.
De acuerdo con una realización preferida alternativa del invento, la estocasticidad de los datos ópticos obtenidos organizados en registros de datos se mejora usando funciones resumen (hash functions). De acuerdo con esta realización, se efectúa un primer resumen sobre un conjunto de un número predeterminado de registros de datos mediante un primer algoritmo, es decir, una primera función resumen. Como entienden los expertos en la técnica, el resumen es un procedimiento iterativo que no se describirá con detalle. Por tanto, el término salida de resumen, tal como se usará en adelante en la presente memoria, se refiere al resultado de todas las iteraciones incluidas en el resumen. Así, una primera salida, es decir, una primera salida de resumen, se obtiene del primer resumen. La primera salida se usa luego como una entrada a un segundo algoritmo, que podría ser una segunda función resumen. La salida del segundo algoritmo, es decir, números aleatorios, se usa entonces, por ejemplo, como la clave de cifrado o para generar una clave de cifrado en un algoritmo de cifrado para cifrar un mensaje. No obstante, el segundo algoritmo alternativamente podría ser un algoritmo iterativo diferente de una función resumen. Por ejemplo, se podrían usar algoritmos A3 o A5, que son cifras de corriente y se usan para cifrado simétrico.
La primera función resumen introduce distorsión o ruido en los datos ópticos obtenidos usados como datos de entrada. En otras palabras, perturba las regularidades de los datos ópticos y la correlación entre campos de datos incluidos en los registros de datos. El uso de una segunda función resumen, o de un algoritmo alternativo, preferiblemente iterativo, en la primera salida mejora adicionalmente las características estadísticas de los datos y provee una distorsión adicional sobre la primera salida. De este modo, se mejoran significativamente las características estadísticas, es decir, la aleatoriedad y la imprevisibilidad, de los datos ópticos tratados usando el método de acuerdo con esta realización. El perfeccionamiento es tal que los números aleatorios generados como resultado del método de esta realización se pueden considerar como ruido blanco uniformemente distribuido de acuerdo con los métodos prevalentes de ensayos estadísticos. Según una alternativa preferida de esta realización, se usan algoritmo de cifrado simétrico en los algoritmos primero y segundo. Mediante el uso del mismo algoritmo de cifrado para los algoritmos, se obtienen las ventajas de una implementación simplificada del código de programa de los algoritmos y un ahorro de capacidad de memoria.
Además, cuando se usa un algoritmo de cifrado simétrico, tal como el AES, para el cifrado real del mensaje, este algoritmo de cifrado se usa preferiblemente también en al menos uno de dichos algoritmos, y preferiblemente en ambos. Sin embargo, dentro del alcance del presente invento se puede concebir que se podrían usar otros y diferentes algoritmos de cifrado en cada uno de dichos algoritmos, así como para el cifrado real del mensaje. Preferiblemente, con el fin de mejorar todavía más la estocasticidad de la clave de cifrado, o de los números aleatorios usados para generar la clave de cifrado, son las propiedades estadísticas del parámetro. Esto resulta en un grado mayor de aleatoriedad e imprevisibilidad. Ejemplos de las propiedades estadísticas que se usan preferiblemente incluyen los valores mínimo, máximo y suma del parámetro detectado. Sin embargo, se pueden concebir otras propiedades estadísticas, tales como valores medios, valores de desviación típica, etc. Como observarán los expertos en la técnica, el uso de dicho cálculo de propiedades estadísticas no se limita en manera alguna a una realización específica del presente invento. Por el contrario, se podrían calcular las propiedades estadísticas de los datos ópticos y los resultados de las mismas se podrían usar para perfeccionar la estocasticidad de los datos ópticos y la clave de cifrado generada con las mismas, independientemente del método elegido para generar la clave de cifrado.
Además, los datos ópticos usados para generar una clave de cifrado podrían constituir parte del mensaje a cifrar y trasmitir. Alternativamente, los datos ópticos no constituyen parte del mensaje. Adicionalmente, la etapa de obtener datos ópticos para cifrar el mensaje se puede obtener antes de, durante, o a continuación del procedimiento de obtención del mensaje a cifrar. A título de ejemplo, el cifrado del mensaje podría tener lugar justo antes de la transmisión real del mismo. Entonces, la clave de cifrado, incluyendo la obtención de datos ópticos, tanto si los datos ópticos se extraen del mensaje como si no, se podría generar en relación con el procedimiento de cifrado. Alternativamente, la generación de la clave de cifrado se podría haber realizado antes, por ejemplo en relación con la obtención y almacenamiento del mensaje, y se usa para el cifrado una clave de cifrado guardada.
Adecuadamente, los datos ópticos usados para generar una clave de cifrado se guardan en un medio de almacenamiento antes del tratamiento de los mismos. En una realización alternativa, los datos ópticos se guardan después del tratamiento de los mismos.
Preferiblemente, se usa un algoritmo de cifrado simétrico para el cifrado real del mensaje. Hay un número de algoritmos de cifrado simétrico concebibles que son adecuados, por ejemplo AES, DES, o IDEA. El uso de un algoritmo de cifrado asimétrico, tal como el RSA, para el cifrado real del mensaje es también concebible y entra dentro del alcance del presente invento. Sin embargo, el presente invento no se limita a un algoritmo de cifrado específico.
El método del presente invento se implementa en un bolígrafo digital. Dicho bolígrafo digital comprende un detector óptico para obtener un mensaje a transmitir. por ejemplo desde una superficie provista de un patrón de código de posición como se ha descrito anteriormente. Preferiblemente, el bolígrafo digital comprende también unos medios de iluminación para iluminar una superficie a leer por el detector óptico. Los medios de iluminación y el detector óptico podrían restringirse a un intervalo limitado de longitudes de onda, de tal manera que el detector óptico principalmente detecte luz reflejada que se provee mediante los medios de iluminación. El detector óptico se usa también para obtener los datos ópticos usado para generar una clave de cifrado. Por tanto, no se requiere un detector adicional o un generador adicional de números aleatorios dentro del limitado interior del bolígrafo digital.
Adicionalmente, el bolígrafo digital comprende una unidad de tratamiento o unos medios de tratamiento para realizar las etapas del presente invento, así como todas las etapas requeridas para obtener, cifrar y transmitir un mensaje. Además, el bolígrafo digital comprende también, entre otras cosas, medios de almacenamiento adecuados para guardar datos, medios de alimentación de energía eléctrica, por ejemplo una batería, así como medios de transmisión para transmitir el mensaje a un receptor.
De acuerdo con una realización adicional del invento, se provee un detector de presión para obtener datos de presión. Como los datos de presión están relacionados con factores biométricos, tales como los movimientos de la mano, el grado de aleatoriedad de los datos de presión es elevado. Los datos de presión se pueden usar entonces en combinación con los datos ópticos como datos de números aleatorios o semilla aleatoria, en la generación de una clave de cifrado, con el fin de amplificar el grado de aleatoriedad en la semilla aleatoria.
Asimismo, de acuerdo con todavía otra realización del invento, se obtienen datos de tiempo y usan combinados con los datos ópticos como semilla aleatoria con el fin amplificar la estocasticidad de la semilla aleatoria. Aunque los datos de tiempo son deterministas por naturaleza, no disminuirá el grado de aleatoriedad de los datos combinados. Los datos de tiempo se proveen preferiblemente mediante el reloj interno de los medios de tratamiento. La semilla aleatoria así obtenida se podría usar subsiguientemente en la generación de la clave de cifrado de la manera descrita anteriormente.
Como comprenderán los expertos en la técnica, hay otras áreas relacionadas en las que se podrían utilizar los números aleatorios generados a partir de datos ópticos de acuerdo con el presente invento. Una de dichas áreas es la autenticación de un mensaje enviado o recibido.
Otra área es el transporte de claves desde un emisor a un receptor. En ese caso, los números aleatorios se cifran con una clave pública del receptor y se usan como una clave de cifrado o datos de clave, para ser comprimidos subsiguientemente a una clave de cifrado, para un algoritmo de cifrado simétrico.
Los números aleatorios se pueden usar también para generar números primos para claves RSA ó DH.
Como apreciarán los expertos en la técnica, el método y el dispositivo del presente invento, así como las realizaciones preferidas de los mismos, son adecuados para realizar como un programa de ordenador o un medio legible por ordenador, preferiblemente dentro del contenido de un bolígrafo digital.
Otros objetos y ventajas adicionales del presente invento se describen más adelante por medio de realizaciones ejemplares.
Breve descripción de los dibujos
A continuación se describen realizaciones preferidas del invento con mayor detalle y con referencia a los dibujos adjuntos, en los que:
La Figura 1 muestra una realización de un sistema de gestión de información;
La Figura 2 muestra una realización de un dispositivo de emisión de acuerdo con el presente invento;
La Figura 3 muestra una realización de un dispositivo de emisión de acuerdo con el presente invento;
La Figura 4 presenta un diagrama de flujo que ilustra una realización de un método de acuerdo con el presente invento para cifrar un mensaje usando datos ópticos;
La Figura 5 muestra un diagrama de flujo que ilustra un algoritmo de una primera realización para aumentar la aleatoriedad en los datos ópticos usados para generar una clave de cifrado;
La Figura 6 muestra esquemáticamente el orden de los campos de datos dentro de un bloque de datos de clave y un bloque de datos de entrada antes de un procedimiento de reordenación cíclica de acuerdo con una realización del presente invento;
Las Figuras 7A y 7B muestran esquemáticamente el orden de los campos de datos dentro del bloque de datos de clave y del bloque de datos de entrada, respectivamente, después de dicho procedimiento de reordenación cíclica; y
La Figura 8 muestra un diagrama de flujo que ilustra un algoritmo de una segunda realización para aumentar la aleatoriedad en los datos de entrada usados para generar una clave de cifrado.
Descripción de realizaciones preferidas
A continuación se describe un sistema de gestión de información en el que se puede implementar este invento con referencia a la Figura 1. Después de esta presentación general de la estructura del sistema, se describirá un producto provisto de un patrón de código de posición con referencia a la Figura 2. Luego, con referencia a la Figura 3, se muestra un dispositivo de emisión, en el que se pueden implementar el método y el dispositivo del presente invento, diseñado para leer y obtener datos ópticos a partir del código de posición de la Figura 2.
Refiriéndose en primer lugar a la Figura 1, se muestra un sistema de gestión de información en el que se pueden integrar un producto de código de posición y un dispositivo de transmisión, tal como un bolígrafo digital. Hay muchas empresas interrelacionadas implicadas en el sistema de la Figura 1: compañías que fabrican los bolígrafos digitales ("fabricantes de bolígrafos"), compañías que fabrican los productos con código de posición ("fabricantes de papel"), compañías que suministran diferentes servicios por medio de unidades comercializadoras de servicios ("comercializadoras de servicios"), una compañía que administra el código de posición basándose en la base de datos de espacio virtual ("administrador de patrón"), operadores que proveen los enlaces de comunicación entre los bolígrafos digitales y las diferentes unidades ("operadores de red"), y una multitud de usuarios de bolígrafos digitales ("propietarios de bolígrafos").
El sistema de la Figura 1 incluye una multitud de dispositivos de transmisión o bolígrafos digitales (en adelante DP) y productos de código de posición (en adelante P), de los que en la Figura 1 solamente se ha mostrado uno), una unidad de consulta (en adelante ALS), y una pluralidad de unidades comercializadoras de servicios (en adelante SH, de las que solamente se ha mostrado una en la Figura 1). Debe hacerse notar que la información se puede transmitir en cualquier modalidad adecuada desde el bolígrafo digital DP a la unidad de consulta ALS y a la unidad comercializadora de servicios SH. En una realización, se efectúa la transmisión inalámbrica de información desde el bolígrafo digital DP a una unidad de conexión de red, la cual a su vez transmite la información a la unidad de consulta ALS y a la unidad comercializadora de servicios SH, respectivamente. La unidad de conexión de red puede ser una parte integrante del bolígrafo digital DP. Alternativamente, la unidad de conexión de red puede ser un teléfono móvil o un ordenador o cualquier otra unidad adecuada con una interfaz a una red de ordenadores tal como la Internet o una red de área local (en adelante LAN). La unidad de consulta ALS está conectada a una base de datos de espacio virtual (en adelante GSDB) que incluye datos sobre la funcionalidad de cada posición codificada por el código de posición (en adelante PC) y la compañía relacionada con cada una de dichas posiciones. La unidad de consulta ALS está conectada también a una base de datos de bolígrafo (en adelante PDB), que incluye datos sobre todos los bolígrafos digitales del sistema, tales como el identificador exclusivo de bolígrafo de cada bolígrafo y todas las configuraciones o propiedades que están relacionadas con cada bolígrafo. La base de datos de bolígrafo PDB incluye también datos relacionados con el fabricante de cada bolígrafo. Además de lo anterior, la unidad de consulta está conectada a una base de datos de eventos (en adelante GEDB), que incluye datos sobre las transacciones que tienen lugar en la unidad de consulta ALS, es decir, las solicitudes de dirección realizadas por los bolígrafos en el sistema y las respuestas de dirección contestadas a los bolígrafos, así como cualesquiera errores que se produzcan en el proceso. Como una alternativa a las bases de datos individuales que se han mostrado en la Figura 1, la unidad de consulta ALS se podría conectar a una base de datos que lo abarque todo.
El sistema incluye también una o más redes en las que los operadores de red gestionan la comunicación entre los bolígrafos digitales DP y la unidad de consulta ALS, y entre los bolígrafos digitales DP y la unidad comercializadora de servicios SH. En este sentido, el propietario de un bolígrafo ha abierto una suscripción en uno de los operadores de red. Este operador de red podría también actuar como un gestor de servicios en el sistema, por ejemplo por medio de una unidad de servidor (en adelante SP) que proporcione servicios de comunicación que permitan al propietario de un bolígrafo enviar mensajes electrónicos, por ejemplo correo electrónico, mensajes cortos (en adelante SMS) o fax, basándose en la información escrita en los productos codificados de posición P por medio del bolígrafo digital DP. La unidad de servidor SP del operador de red podría también proveer el almacenamiento en red de la información generada en este sistema, por ejemplo entradas en un calendario o agenda con posiciones codificadas. Cuando actúe como un gestor de servicios, el operador de red mantiene una base de datos de aplicaciones (en adelante ASDB) que contiene datos sobre configuraciones específicas de usuario para diferentes aplicaciones, por ejemplo una firma o una tarjeta electrónica de negocio para adjuntarlas a los mensajes por correo electrónico, dónde y cómo guardar los mensajes enviados, etc.
En la realización de la Figura 1, el sistema incluye portales de Internet que son propiedad de uno o más servidores de web que forman una interfaz con las bases de datos del sistema, uno de cuyos portales P1 se ha mostrado en la Figura 1. El portal P1 es un portal denominado portal de socio, es decir, un portal que permite a los fabricantes de bolígrafos, fabricantes de papel, comercializadores de servicios y operadores de red acceder a partes seleccionadas de las bases de datos del sistema, a través de una unidad de interfaz (en adelante IF). Un ejemplo de otro portal es uno denominado portal de propietario de bolígrafo, es decir, un portal que permite que los propietarios de bolígrafos accedan a partes seleccionadas de las bases de datos del sistema. En una realización alternativa, las funcionalidades de los dos portales se funden en un portal común.
En la comunicación entre los diferentes participantes ilustrada en la Figura 1, es deseable que la información se envíe de una forma segura, es decir, mediante el uso de cifrado y de firmas digitales. Si el bolígrafo digital DP envía información confidencial a la unidad comercializadora de servicios SH, el bolígrafo digital DP cifra la información y la unidad comercializadora de servicios SH, con el fin de descifrar la información, la descodificará. El bolígrafo digital DP puede usar cifrado simétrico o cifrado asimétrico.
En la Figura 2, se ha mostrado una parte de un producto, tal como el producto con código de posición usado en el sistema de la Figura 1, en la forma de un papel 1, provisto, en su superficie 2, de una parte 3 de código de posiciones ópticas legibles que permite una determinación de la posición. El patrón de código de posición incluye unas marcas 4, que están dispuestas metódicamente sobre la superficie 2. El solicitante propone en la solicitud de patente internacional WO 01/16691, que se ha incorporado en la presente memoria como referencia, el uso de un producto que tiene una superficie de escritura que está provisto de dicho código de posición. El código de posición, que codifica una pluralidad de posiciones sobre la superficie, permite la grabación electrónica de la información que se escribe en la superficie de escritura, por medio de un bolígrafo digital que detecta el código de posición. El código de posición puede codificar las coordenadas de un gran número de posiciones, mucho mayor que el número de posiciones requeridas en el producto. Así, el código de posición se puede ver como formando un espacio virtual que se define mediante todas las posiciones que es capaz de codificar el código de posición, por lo que las diferentes posiciones en el espacio virtual se pueden asignar para diferentes funciones y/o participantes. Debe hacerse notar que, para mayor claridad, el patrón de código de posición mostrado en la Figura 2 se ha ampliado en gran escala.
La Figura 3 muestra una representación esquemática de una realización de un dispositivo de emisión diseñado para leer, por ejemplo, un patrón de código de posición de la Figura 2. El dispositivo es un bolígrafo digital. El bolígrafo DP comprende un alojamiento 5, conformado en una forma parecida a un bolígrafo. En una parte de extremo del alojamiento 5 se ha provisto una abertura 6. La abertura está destinada a apoyarse contra - o a sujetarse a una pequeña distancia de - la superficie S de la que tiene que obtenerse información.
Dentro del alojamiento 5 se han incorporado una unidad óptica, una unidad electrónica, y una unidad de alimentación de energía eléctrica. De acuerdo con realizaciones adicionales del bolígrafo digital, dentro del alojamiento 5 podría estar incluida también una unidad de detector de presión, que se describe más adelante.
La unidad óptica comprende un diodo 7, destinado a iluminar la superficie provista del código de posición, y un detector 8 sensible a la luz, por ejemplo un detector acoplado por carga (en adelante CCD) o un detector de semiconductor complementario de metal-óxido (en adelante CMOS), destinado a registrar imágenes bidimensionales. La unidad de alimentación de energía eléctrica es en esta realización una batería 9, instalada en un recipiente separado.
La unidad electrónica 10 comprende un dispositivo de tratamiento que incluye medios de tratamiento de imagen, medios de cifrado y un equipo de tratamiento programado para leer imágenes del detector 8 y realizar la determinación de la posición y la descodificación de la información basándose en las imágenes. Adicionalmente, el equipo de tratamiento está programado para realizar cálculos con el fin de, por ejemplo, a partir de una imagen recibida del detector, calcular las propiedades de los datos ópticos a partir de la imagen. Los datos resultantes de estos cálculos se pueden usar como datos de entrada para otros cálculos o algoritmos, tales como algoritmos de cifrado. En esta realización, se han implementado en el dispositivo de tratamiento los algoritmos AES y RSA.
Asimismo, la unidad electrónica 10 comprende una memoria o elemento de almacenamiento de datos que está destinada, por ejemplo, a guardar los datos recibidos del equipo de tratamiento o del detector, así como instrucciones de programa para el dispositivo de tratamiento.
Adicionalmente, el bolígrafo podría comprender un teclado 11, que permite el accionamiento y el control del bolígrafo. Se incluyen también un transceptor 12 para comunicación inalámbrica, por medio de ondas radioeléctricas o de luz de infrarrojos, con otros participantes del sistema de la Figura 1. Adicionalmente, se puede incluir una pantalla de presentación visual 13 para mostrar, por ejemplo, la información registrada. El teclado, el transceptor, y la pantalla de presentación visual están en comunicación con - y se controlan mediante - la unidad electrónica 10.
Hay que hacer notar que la ilustración de la Figura 3 es esquemática, y que la configuración real de las partes comprendidas dentro del bolígrafo podrían diferir de la configuración mostrada sin apartarse del alcance del presente invento.
En la realización anteriormente mencionada, el patrón de código de posición es un patrón óptico legible y, por tanto, el detector es un detector óptico. El patrón de código de posición se puede basar en un parámetro distinto de un parámetro óptico según se ha mencionado anteriormente. En ese caso, por supuesto el detector debe ser de un tipo tal que pueda leer el parámetro en cuestión.
La combinación de un bolígrafo digital y de un producto con código de posición se puede usar como un dispositivo de entrada a un ordenador, un PDA, un teléfono móvil, o un elemento similar.
Por ejemplo, un texto y unos croquis escritos en una libreta para notas con código de posición se pueden transferir por medio del bolígrafo a un ordenador. Adicionalmente, la combinación de un bolígrafo y de un producto con código de posición permite la comunicación global, directamente desde el producto por medio del bolígrafo, mediante el código de posición sobre el producto que está asignado para dicha comunicación. Por ejemplo, la información registrada por el bolígrafo se puede transformar en un mensaje por fax, un mensaje por correo electrónico o un SMS, y luego se puede enviar desde el bolígrafo a un destinatario. Además, la combinación de un bolígrafo y un producto con código de posición se puede usar en comercio exterior. Por ejemplo, el bolígrafo digital se puede usar para pedir un artículo de un anuncio con código de posición en una revista, mediante el código de posición del anuncio que esté asignado para dicho servicio.
El concepto anterior se ha implementado en un sistema o infraestructura, que se ha mostrado en la Figura 1, y que se describe adicionalmente en las solicitudes de patente internacional del solicitante números WO 0 148 678, WO 0 148 591 y WO 0 148 685.
A continuación se presenta, en la forma de un diagrama de flujo, con referencia a la Figura 4, el método del invento para el cifrado de un mensaje basándose en la información escrita en los productos con código de posición de la Figura 2 por medio del dispositivo emisor de la Figura 3, y para proporcionar de ese modo una transmisión segura de dicho mensaje desde un dispositivo emisor a un receptor, por ejemplo en la forma de un mensaje por correo electrónico, un SMS, o un fax. Adicionalmente, el producto con código de posición y el dispositivo emisor se han incorporado preferiblemente en un sistema como el presentado en la Figura 1.
Comenzando en la etapa 410, una superficie con patrón se lee o explora mediante el detector 8, por lo que se obtiene una imagen óptica (en adelante OI). La imagen OI se guarda luego como una representación del patrón en un medio de almacenamiento de imágenes. La imagen óptica OI de los datos ópticos que representan la imagen incluye un número predeterminado de píxels. El tamaño y el número de estas representaciones de píxels, es decir, la resolución, son ajustables.
De acuerdo con una realización ejemplar, cada imagen óptica incluye 96x96 píxels. Adicionalmente, los 96x96 píxels están divididos en una matriz constituida por 16x16 elementos de imagen en la que cada elemento de imagen por consiguiente consiste en 6x6 píxels. Por supuesto, existe cualquier número de configuraciones concebibles de píxels de una imagen óptica que se pueden usar sin apartarse del alcance del presente invento.
En la etapa 420, se realiza la descodificación de la información comprendida en los datos de la imagen óptica. En la realización preferida, los datos ópticos resultantes OD comprenden información del brillo sobre la parte de la superficie que se ha leído. Los factores que tienen influencia sobre el brillo detectado ya se han descrito anteriormente. El brillo se representa mediante valores discretos. En la realización preferida del presente invento, una superficie blanca corresponde a un valor de 255 y un superficie negra, por ejemplo una marca negra, corresponde a un valor de 0. Para aumentar la dinámica de los datos ópticos, se prefiere que cada elemento de imagen, que representa una parte de la superficie, incluya datos de al menos una marca y de al menos una parte de una superficie que rodee a las marcas.
Sin embargo, cualquiera de los valores de entrada procedentes de los detectores del bolígrafo digital, tales como presión del bolígrafo, coordenadas, tiempo, o datos análogos, se pueden usar para la generación de una clave. Estos parámetros se usan entonces en combinación con los datos ópticos OD o en combinación con diversificaciones aleatorias de ordenador.
En la etapa 430, se tratan los datos ópticos OD producidos por el detector para calcular las propiedades estadísticas específicas de los datos ópticos. De acuerdo con las realizaciones más preferidas, se calculan un valor máximo, un valor mínimo y un valor suma de la intensidad o brillo de un número de píxels, y se usan en el tratamiento continuado como datos ópticos. A los valores estadísticos calculados de ese modo se hará referencia de aquí en adelante en la presente memoria como datos ópticos tratados (en adelante POD). Este cálculo se realiza sobre cada elemento de imagen, es decir, sobre los datos ópticos OD representados en cada elemento de imagen, respectivamente. Por supuesto, existen otras propiedades preferiblemente estadísticas que se podrían calcular, tales como un valor promedio, o un valor de desviación típica.
A continuación, en la etapa 440, la secuencia resultante de datos ópticos tratados POD se organiza en grupos de bits o campos de datos. De acuerdo con la realización más preferida del presente invento, cada elemento de imagen se representa por un registro de datos (en adelante DR), y cada registro de datos consiste en cuatro campos de datos. Los dos primeros campos de datos contienen el valor suma calculado, el tercero contiene el valor mínimo calculado, y el cuarto contiene el valor máximo calculado. De ese modo, se produce una secuencia de registros de datos DR a partir de una imagen óptica, correspondiendo cada registro de datos a un elemento de imagen de la imagen. Cuando se producen los registros de datos DR, se guardan opcionalmente en un registrador cíclico, antes de usarlos como datos de número aleatorio, y se disponen en el dispositivo de tratamiento para que el equipo de tratamiento acceda a ellos cundo sea necesario, por ejemplo en la transmisión de un mensaje.
Luego, en la etapa 450, la secuencia de registros de datos DR se trata en un algoritmo con el fin de aumentar la estocasticidad de los datos ópticos tratados en los registros de datos. Esto se debe al hecho de que los datos ópticos tratados POD no son aleatorios en un cien por cien en un sentido estadístico. Por tanto, es conveniente realizar un tratamiento adicional con el fin de perfeccionar las características estadísticas de los datos ópticos, es decir, de aumentar la aleatoriedad o estocasticidad de los datos ópticos tratados, antes de que los datos ópticos tratados se usen como una semilla aleatoria. Las Figuras 5 y 8 presentan dos algoritmos diferentes de dos realizaciones alternativas del presente invento para aumentar la aleatoriedad de los datos ópticos tratados. Estos algoritmos se describen más adelante con mayor detalle.
Finalmente, en la etapa 460, se usan los datos ópticos tratados como una clave de cifrado (en adelante EK) en un algoritmo de cifrado, y se realiza el cifrado de un mensaje obtenido de la superficie con código de posición usando el bolígrafo digital.
De acuerdo con una realización alternativa, en la etapa 460 se usan los datos ópticos tratados para la autenticación de un mensaje enviado. Luego, los datos ópticos tratados se usan como datos de números aleatorios, que se cifran por medio de una clave de cifrado, por ejemplo una clave privada del bolígrafo digital, y los datos de números aleatorios cifrados se usan para la autenticación de dicho mensaje enviado.
Los algoritmos de cifrado, tal como el algoritmo de cifrado AES, usan cifrado de bloque. Una cifra de bloque, es decir, un algoritmo de cifrado que use cifrado de bloque, es un método de texto de cifrado (para producir texto en cifra) en el que una clave de cifrado y un algoritmo se aplican a un bloque de datos de una vez como un grupo en lugar de a un bit cada vez. El principal método alternativo, usado con mucha menos frecuencia, se llama el cifrado de corriente.
Hay una dificultad criptológica cuando el texto que se va a cifrar contiene datos estáticos, que no cambian de uno a otro texto. Si se usan diferentes claves de cifrado para cifrar el texto que contiene datos estáticos, un intruso podría deducir conclusiones en relación con la clave si la posición de los datos estáticos es conocida por el intruso. Para impedirlo, es común aplicar el texto cifrado del bloque cifrado anterior al bloque siguiente en la secuencia. A esta modalidad de cifrar en bloques cifrados se hace referencia a menudo como cifrado de encadenamiento de bloques cifrados (en adelante CBC). Entonces, el cifrado del bloque que incluye los datos estáticos depende de todos los bloques de texto anteriores, lo cual hace más o menos imposible sacar conclusiones relacionadas con la clave del cifrado de los datos estáticos. Para asegurar esto, un vector de iniciación obtenido de un generador aleatorio se combina con el texto del primer bloque. Por consiguiente, y de acuerdo con realizaciones preferidas del presente invento, los datos ópticos tratados se usan para formar tanto la clave de cifrado, es decir, el bloque de datos de clave, como el vector de iniciación, es decir, el bloque de datos de entrada.
Refiriéndose ahora a la Figura 5, se muestra un diagrama de flujo del método de acuerdo con un primer algoritmo preferido según el presente invento para aumentar la aleatoriedad o estocasticidad de los datos ópticos tratados y para producir números aleatorios. Debe hacerse notar que la descripción siguiente con referencia a las Figuras 5, 6, 7A, y 7B corresponde a la etapa 450 de la Figura 4.
En primer lugar, en la etapa 510, la secuencia de registros de datos, obtenida en la etapa 440 de la Figura 4, se organiza en bloques de datos, en los que cada bloque se determina o etiqueta bien como un bloque de datos de clave (en adelante KB) o bien como un bloque de datos de entrada (en adelante IB), de acuerdo con la descripción anterior. Según la realización más preferida del presente invento, cuatro registros de datos subsiguientes se organizan en un único bloque de datos. Además, un bloque de datos sí y uno no es un bloque de datos de clave KB, y los bloques de datos intermedios son bloques de datos de entrada IB.
Luego, en la etapa 520, los bloques de datos de clave KB se tratan de acuerdo con un primer algoritmo matemático, y en la etapa 530 los bloques de datos de entrada IB se tratan de acuerdo con un segundo algoritmo matemático. Los algoritmos matemáticos definen un procedimiento de reordenación cíclica o un procedimiento de desplazamiento de los campos de datos incluidos en el bloque de datos de clave KB y en el bloque de datos de entrada IB,
respectivamente.
Con referencia en particular a la Figura 6, se muestra en ella el orden de los campos de datos dentro de un bloque de datos de clave KB o de un bloque de datos de entrada IB antes del procedimiento de desplazamiento. Los registros se muestran esquemáticamente como cajas divididas en cuatro elementos, representando cada elemento un campo de datos. En la realización más preferida, los campos indicados con los números 1 y 2 incluyen el valor suma de brillo, los campos indicados con el número 3 el valor mínimo, y el campo indicado con el número 4 el valor máximo. En la Tabla 1 a continuación se muestra el esquema de desplazamiento cíclico de los campos de datos incluidos en el bloque de datos de clave KB.
TABLA 1
Registro de datos Etapas
A 0
B 3
C 2
D 1
En la figura 7A, se ha realizado el orden de los campos de datos dentro del bloque de datos de clave después del desplazamiento cíclico según se ha mostrado. Los campos de datos del primer registro de datos, registro A, conservan sus posiciones, los campos de datos dentro del segundo registro, registro B, se desplazan tres posiciones a la derecha, los campos dentro del tercer registro, registro C, se desplazan dos posiciones a la derecha, y los campos dentro del cuarto registro, registro D, se desplazan una posición a la derecha. A la salida de bloque de datos como resultado del algoritmo de reordenación para un bloque de datos de clave se hace referencia como bloque de datos de clave reordenados (en adelante RKB).
En la Tabla 2 se muestra el esquema de desplazamiento cíclico de los campos de datos incluidos en el bloque de datos de entrada IB.
TABLA 2
Registro de datos Etapas
A 1
B 2
C 3
D 1
En la Figura 7B, se muestra el orden de los campos de datos dentro del bloque de datos de entrada después de que se ha realizado el desplazamiento cíclico, a la derecha. Los campos de datos dentro del primer registro de datos, registro A, se han desplazado una posición, los campos de datos dentro del segundo registro de datos, registro B, se han desplazado dos posiciones, los campos de datos dentro del tercer registro de datos, registro C, se han desplazado tres posiciones, y los campos de datos dentro del cuarto registro de datos, registro D, conservan sus posiciones. A la salida de bloque de datos como resultado del algoritmo de reordenación para un bloque de datos de entrada se hace referencia como un bloque de datos de entrada reordenados (en adelante RIB).
Debe hacerse notar que se podrían usar una amplia variedad de algoritmos de desplazamiento dentro del alcance del presente invento para obtener bloques de datos de entrada y de clave reordenados o redispuestos. Sin embargo, sorprendentemente se ha averiguado que la reordenación antes descrita de los campos de datos dentro de los registros de datos incluidos en el bloque de datos de clave y en el bloque de datos de entrada aporta un perfeccionamiento particular y considerable de las propiedades estadísticas deseadas para los datos de salida de un cifrado resultante, cuando se use el resultado del procedimiento de reordenación como datos de clave y datos de entrada para el cifrado. En otras palabras, aumentan la aleatoriedad y estocasticidad de los datos de salida y la previsibilidad disminuye. De hecho, de acuerdo con los procedimientos de pruebas estadísticas reconocidos en la técnica, los datos de salida del algoritmo de cifrado, es decir, el mensaje cifrado, se pueden considerar como ruido blanco uniformemente distribuido. Este efecto inesperado se debe al hecho de que la correlación entre los datos ópticos tratados incluidos en los campos de datos dentro de un registro de datos, que a su vez se transmite a los datos de salida del algoritmo de cifrado, se perturba mediante el procedimiento de reordenación anteriormente mencionado.
Luego, en la etapa 540, los datos contenidos en los bloques de datos de clave y de entrada así reordenados se usan como la clave de cifrado, datos de clave KD, y el vector de iniciación, datos de entrada ID, respectivamente, para el algoritmo de cifrado.
Finalmente, en la etapa 550, el método se vuelve al procedimiento mostrado en la Figura 4 en la etapa 460, donde se realiza el cifrado real del mensaje usando, en esta realización preferida, el algoritmo de cifrado AES. No obstante, por supuesto se contemplan otros algoritmos de cifrado dentro del alcance del presente invento.
A continuación se describe una segunda realización preferida alternativa de un algoritmo para mejorar las características estadísticas de los datos ópticos tratados, con particular referencia a la Figura 8.
Se puede considerar que el algoritmo tiene dos partes. En la primera parte, a la que se hace referencia como actualización de semilla, se calcula una semilla aleatoria basándose en los datos ópticos tratados. En la segunda parte, a la que se hace referencia como el cálculo de números aleatorios, la semilla aleatoria así calculada se usa como datos de entrada para el cálculo de los números aleatorios que se van a usar en el algoritmo de cifrado.
Los bloques de datos que incluyen un subconjunto de la secuencia de registros de datos que contienen los datos ópticos tratados forman los datos de entrada en la parte de actualización de semilla. Los registros de datos comprenden campos de datos, preferiblemente organizados como se ha descrito anteriormente en relación con la primera realización preferida. Así, cada registro de datos incluye cuatro campos de datos, de los que los dos primeros incluyen el valor suma, el tercero el valor mínimo, y el cuarto el valor máximo, véase Figura 6.
En la etapa 810, cada bloque de datos se trata en una primera función resumen, que en esta realización es un algoritmo de cifrado, con el fin de aumentar la aleatoriedad de los registros de datos que contienen los datos ópticos tratados. La primera función resumen es, en esta realización, un algoritmo de cifrado simétrico. Los registros de datos que contienen los datos ópticos tratados se usan como la clave de cifrado, y un vector elegido arbitrariamente se usa como el vector de iniciación. Sin embargo, se prefiere que el número de unos y ceros sea sustancialmente igual y distribuido aproximadamente a lo largo de todo el vector de iniciación. Esto se puede conseguir usando la semilla anterior como el vector de iniciación para el algoritmo resumen, que eliminará el riesgo de patrones que podrían producirse debido a frecuentes actualizaciones de semilla con datos de entrada sustancialmente similares, y mejorará la calidad de la semilla aleatoria.
Luego, en la etapa 820, un proceso iterativo concatena cada salida resumen o valor resumen, (en adelante HV) y por tanto forma bloques de datos de salida resumen. Esto se debe al hecho de que un procedimiento resumen normalmente resulta en una salida que tiene un tamaño de datos que es menor, o mucho menor, que el tamaño de datos de los datos de entrada. El número de iteraciones depende del tamaño deseado de los datos de salida.
Luego se dividen los bloques de datos de salida en bloques de datos de clave y bloques de datos de semilla en la etapa 830. Los bloques de datos de clave y los bloques de datos de semilla se usan como datos de entrada en la parte del cálculo de números aleatorios. Esto se puede expresar matemáticamente como
Datos de entrada: datos ópticos = SU_{2*m-1}..SU_{1} SU_{D}
Cálculo: SI_{x} = Resumen_{n} (SI_{x}, SU_{x})
Datos de salida: entrada de = SI_{2*m-1}..SI_{1}, SI_{0}
semilla = SK_{m-1},...SK_{1}SK_{0}SD_{m-1}...SD_{1}SD_{0}
datos de clave = SK_{m-1}...SK_{1}SK_{0}
datos de semilla = SD_{m-1}...SD_{1}SD_{0}
donde en Y/n, Y es la longitud de bits del número aleatorio a generar en la segunda etapa, y n es la longitud de bits de los datos de salida del algoritmo resumen, Resumen. Además, SU_{x} es el bloque x de datos de entrada, SI_{x} es el bloque x de datos de salida, SK_{x} es el bloque x de datos de clave y SD_{x} es el bloque x de datos de semilla. En esta realización, el algoritmo resumen se realiza usando un algoritmo de cifrado simétrico, AES. Como entenderán los expertos en la técnica, hay un número significativo de algoritmos concebibles que se pueden usar para obtener una aleatoriedad aumentada y que se pueden implementar en lugar del algoritmo AES. La actualización de semilla se puede realizar con una actualización total de la semilla, es decir, con todos los bloques de datos incluidos en SI, o con un bloque de datos, SI_{x}. Esto depende de los requisitos del algoritmo de cálculo de números aleatorios en la parte dos y de la potencia de ordenador disponible.
Después, en la etapa 840, en la parte del cálculo de números aleatorios, se usan los bloques de datos de clave y los bloques de datos de semilla como datos de entrada en un segundo algoritmo, que en esta realización utiliza un algoritmo de cifrado simétrico, por ejemplo el AES. El algoritmo realizado en la etapa 840 es un algoritmo iterativo. Como se ha mencionado anteriormente, existe un número de algoritmos de cifrado alternativos que se pueden usar en dicho segundo algoritmo en lugar del AES, por ejemplo el IDEA o el DES. Alternativamente, se podrían usar los algoritmos A3 ó A5, que son cifras de corriente y se usan para cifrado simétrico. Se incluye también un contador, para la cuenta de semilla. El contador cuenta el número de veces que se ha usado el cálculo de números aleatorios desde que se actualizaron los datos de entrada en la actualización de semilla. Matemáticamente, el cálculo de números aleatorios se puede expresar como
Datos de entrada: datos de clave = SK_{m-1}...SK_{1}SK_{0}
datos de semilla = SD_{m-1}...SD_{1}SD_{0}
cuenta de semilla
Cálculo: Para x desde 0 hasta (m-1)
1.1 PR_{x} = Cifrado (clave = SK_{x}, entrada = SD_{x})
1.2 SK_{(x+2)modm} = SK_{(x+2)modm} xorPR_{x}
1.3 SD_{(x+1)modm} = SD_{(x+1)modm} xorPR_{x}
cuenta de semilla = cuenta de semilla +1
Datos de salida: número aleatorio = PR_{m-1}...PR_{1}PR_{0}
datos de clave = SK_{m-1}...SK_{1}SK_{0}
datos de semilla = SD_{m-1}....SD_{1}SD_{0}
cuenta de semilla
donde PRx es un bloque x de datos de números aleatorios, xor es una operación XOR, mod es una operación de módulo, y "cifrado" es un algoritmo de cifrado simétrico. Asimismo, en la etapa de cálculo se realiza una transformación de bloque. Esta transformación aumenta más la aleatoriedad de los números aleatorios.
La transformación de las etapas 1.2 y 1.3 se podría hacer en una serie de otras formas, pero el método descrito asegura que todos los cambios en un bloque se transforman a lo largo de la mayor parte de la semilla aleatoria, y por tanto asegura una semilla aleatoria de alta calidad para el cálculo siguiente.
De acuerdo con una realización alternativa, el segundo algoritmo es una función resumen, preferiblemente usando el mismo algoritmo de cifrado simétrico que en el segundo algoritmo anteriormente descrito.
Finalmente, en la etapa 850, el método vuelve al procedimiento mostrado en la Figura 4 en la etapa 460, en la que se realiza el cifrado real del mensaje usando, en esta realización preferida, el algoritmo de cifrado AES, donde los datos de número aleatorio PRx obtenidos por medio del método anterior se usan como la clave de cifrado en la etapa 460 de la Figura 4.
Alternativamente, se efectúa un cifrado de los datos de número aleatorio PRx, por ejemplo mediante el uso de un algoritmo de cifrado asimétrico. Luego, los datos de número aleatorio cifrados se envían al receptor del mensaje cifrado. El receptor efectúa un resumen de los datos de número aleatorio cifrados y usa el valor resumen resultante como una clave de cifrado privada, que luego se usa como un algoritmo de cifrado asimétrico para el descifrado del mensaje recibido.
Aunque en la presente memoria se han mostrado y descrito realizaciones específicas a título ilustrativo y de ejemplo, los expertos en la técnica entenderán que las realizaciones específicas mostradas y descritas se podrían sustituir por una amplia variedad de realizaciones alternativas y/o equivalentes sin apartarse del alcance del presente invento. Los expertos en la técnica observarán fácilmente que el presente invento se puede implementar en una amplia variedad de realizaciones, incluyendo diversas implementaciones de hardware y software, o combinaciones de las mismas. Esta solicitud está destinada a cubrir cualesquiera adaptaciones o variaciones de las realizaciones preferidas descritas en la presente memoria. Por consiguiente, el presente invento se define mediante el texto de las reivindicaciones que se adjuntan como apéndice.

Claims (36)

1. Un método en un bolígrafo digital (en adelante DP) para cifrar un mensaje para la transmisión segura de dicho mensaje desde el bolígrafo digital (DP) a un receptor (en adelante ALS, SH, SP) caracterizado por las etapas de obtener el mensaje mediante el registro de imágenes de una superficie (2) provista de un patrón (3) de código de posición usando un detector óptico (8) del bolígrafo digital (DP) y la determinación de al menos una posición a partir de las imágenes;
obtener (410-420) datos ópticos para la generación de una clave de cifrado usando el detector óptico (8) del bolígrafo digital (DP), cuyos datos ópticos representan electrónicamente valores de un parámetro óptico legible por dicho detector óptico (8);
generar (430-450) exclusivamente por tratamiento electrónico en una unidad de tratamiento (10) del bolígrafo digital, la clave de cifrado,
usar dichos datos ópticos como semilla aleatoria; y
cifrar (480) dicho mensaje usando dicha clave de cifrado en un algoritmo de cifrado.
2. El método de acuerdo con la reivindicación 1, en el que se detecta el brillo en dicho parámetro óptico mediante dicho detector óptico (8).
3. El método de acuerdo con las reivindicaciones 1 ó 2, en el que la etapa (410-420) de obtener datos ópticos comprende la. etapa de obtener dichos datos ópticos a partir de una parte de una superficie (2) provista de un patrón (3) de código de posición, en el que dicho patrón (3) de código de posición incluye unas marcas ópticas legibles (4), y en el que dicho parámetro óptico es representativo de dicha parte.
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en el que la etapa (430-450) de generar una clave de cifrado comprende las etapas de
tratar (430) dichos datos ópticos de acuerdo con un esquema predeterminado,
organizar (440) dichos datos ópticos tratados en campos de datos, en los que cada campo de datos tiene un tamaño predeterminado, y
organizar (440) dichos campos de datos en un orden predeterminado en registros de datos.
5. El método de acuerdo con la reivindicación 4, en el que la etapa (430) de tratar dichos datosópticos comprende la etapa de calcular propiedades estadísticas de conjuntos de dichos valores de parámetros ópticos representados por dichos datos ópticos, por lo que dichas propiedades estadísticas constituyen dichos datos ópticos tratados.
6. El método de acuerdo con la reivindicación 5, en el que dichas propiedades estadísticas comprenden un valor máximo, un valor mínimo y un valor suma de dicho conjunto de valores de parámetros ópticos, y en el que las etapas (440) de organizar comprenden las etapas de
organizar dicho valor máximo en al menos un campo de datos máximos, dicho valor mínimo en al menos un campo de datos mínimos, y dicho valor suma en al menos un campo de datos suma, y
organizar dichos campos de datos máximos, mínimos y suma en un registro de datos de acuerdo con dicho orden predeterminado.
7. El método de acuerdo con una cualquiera de las reivindicaciones 4 a 6, en el que la etapa (430-450) de generar una clave de cifrado comprende además las etapas de
redisponer (520) el orden de dichos campos de datos dentro de al menos un registro de datos de una primera serie de registros de datos de acuerdo con un primer algoritmo de reordenación, obteniendo de ese modo una primera serie de registros de datos redispuestos, y
redisponer (530) el orden de dichos campos de datos dentro de al menos un registro de datos de una segunda serie de registros de datos de acuerdo con un segundo algoritmo de reordenación, obteniendo de ese modo una segunda serie de registros de datos redispuestos.
8. El método de acuerdo con la reivindicación 7, en el que una clave de cifrado comprende datos de clave y datos de entrada, y en el que la etapa (430-450) de generar una clave de cifrado comprende las etapas de
usar (540) dicha primera serie de registros de datos redispuestos como dichos datos de clave, y
usar (540) dicha segunda serie de registros de datos redispuestos como dichos datos de entrada.
9. El método de acuerdo con una cualquiera de las reivindicaciones 4 a 6, en el que la etapa (430-450) de generar una clave de cifrado comprende las etapas de
tratar un conjunto de un número predeterminado de dichos registros de datos en una primera etapa (810-820), usando una primera función resumen, obteniendo de ese modo una primera salida,
tratar dicha primera salida en una segunda etapa (830-840) usando un algoritmo iterativo, obteniendo de ese modo una segunda salida, y
usar (850) dicha segunda salida como dicha clave de cifrado o para generar dicha clave de cifrado.
10. El método de acuerdo con la reivindicación 9, en el que, en dicha segunda etapa (830-840), dicha primera salida se trata usando una segunda función resumen.
11. El método de acuerdo con las reivindicaciones 9 ó 10, en el que en dichas etapas primera y segunda (810-820, 830-840), se usan, respectivamente, un primero y un segundo algoritmos de cifrado simétrico.
12. El método de acuerdo con la reivindicación 11, en el que se usa un algoritmo de cifrado simétrico como dicho primero y como dicho segundo algoritmos de cifrado simétrico.
13. El método de acuerdo con la reivindicación 12, en el que se usa un algoritmo de cifrado simétrico como dicho algoritmo de cifrado simétrico para realizar dicha etapa (460) de cifrar dicho mensaje, y como dichos algoritmos simétricos primero y segundo.
14. El método de acuerdo con una cualquiera de las reivindicaciones precedentes, en el que la clave de cifrado comprende datos de clave y datos de entrada, cuyo método comprende además las etapas de
usar un primer subconjunto de dichos datos ópticos para generar dichos datos de clave, y
usar un segundo subconjunto de dichos datos ópticos para generar dichos datos de entrada.
15. El método de acuerdo con una cualquiera de las reivindicaciones precedentes, en el que dicho algoritmo de cifrado para cifrar dicho mensaje es un algoritmo de cifrado simétrico.
16. El método de acuerdo con la reivindicación 1, que comprende además las etapas de
obtener datos de presión usando medios de detección de presión, en el que la etapa (430-450) de generar una clave de cifrado comprende la etapa de
generar la clave de cifrado usando dichos datos de presión en combinación con dichos datos ópticos como semilla aleatoria.
17. El método de acuerdo con la reivindicación 1, que comprende además las etapas de
obtener datos de tiempo, en el que la etapa (430-450) de generar una clave de cifrado comprende la etapa de
generar la clave de cifrado usando dichos datos de tiempo combinados con dichos datos ópticos como semilla aleatoria.
18. El método de acuerdo con una cualquiera de las reivindicaciones precedentes, en el que dichas etapas se realizan en un bolígrafo digital (en adelante DP), que comprende dicho detector óptico (8) y medios de transmisión (12).
19. Un medio legible por ordenador que comprende instrucciones para llevar a un ordenador a realizar un método de acuerdo con una cualquiera de las reivindicaciones precedentes.
20. Un bolígrafo digital (DP) para cifrar un mensaje para la transmisión segura de dicho mensaje desde el bolígrafo digital (DP) a un receptor (ALS, SH, SP), caracterizado por un detector óptico (8) para registrar imágenes de una superficie (2) provista de un patrón (3) de código de posición;
medios de recepción (10) para recibir datos ópticos del detector óptico (8) para la generación de una clave de cifrado, cuyos datos ópticos representan electrónicamente valores de un parámetro óptico legible por dicho detector óptico (8),
medios de tratamiento (10) para generar, exclusivamente mediante tratamiento electrónico, la clave de cifrado usando dichos datos ópticos como semilla aleatoria, y para obtener dicho mensaje mediante la determinación de al menos una posición de dichas imágenes registradas;
medios de cifrado (10) para cifrar el mensaje a transmitir usando dicha clave de cifrado.
21. El bolígrafo digital de acuerdo con la reivindicación 20, en el que dichos datos ópticos se han obtenido de una parte de una superficie (2) provista de un patrón (3) de código de posición que tiene unas marcas ópticas legibles (4).
22. El bolígrafo digital de acuerdo con la reivindicación 21, en el que dichos medios de tratamiento (10) están dispuestos además para
tratar dichos datos ópticos de acuerdo con un esquema predeterminado,
organizar dichos datos ópticos tratados en campos de datos, en los que cada campo de datos tiene un tamaño predeterminado, y
organizar dichos campos de datos en un orden predeterminado en registros de datos.
23. El bolígrafo digital de acuerdo con la reivindicación 22, en el que dichos medios de tratamiento (10) están dispuestos además para calcular propiedades estadísticas de conjuntos de dichos valores de parámetros ópticos representados por dichos datos ópticos, por lo que dichas propiedades estadísticas constituyen dichos datos ópticos tratados.
24. El bolígrafo digital de acuerdo con la reivindicación 23, en el que dichas propiedades comprenden un valor máximo, un valor mínimo y un valor suma de dicho conjunto de valores de parámetros ópticos, y en el que dichos medios de tratamiento (10) están dispuestos además para organizar dicho valor máximo en al menos un campo de datos máximos, dicho valor mínimo en al menos un campo de datos mínimos, y dicho valor suma en al menos un campo de datos suma, y
organizar dichos campos de datos máximos, mínimos y suma en un registro de datos de acuerdo con dicho orden predeterminado.
25. El bolígrafo digital de acuerdo con una cualquiera de las reivindicaciones 22 a 24, en el que dichos medios de tratamiento (10) están dispuestos además para redisponer el orden de dichos campos de datos dentro de al menos un registro de datos de una primera serie de registros de datos de acuerdo con un primer algoritmo de reordenación, obteniendo de ese modo una primera serie de registros de datos redispuestos, y
redisponer el orden de dichos campos de datos dentro de al menos un registro de datos de una segunda serie de registros de datos de acuerdo con un segundo algoritmo de reordenación, obteniendo de ese modo una segunda serie de registros de datos redispuestos.
26. El bolígrafo digital de acuerdo con la reivindicación 25, en el que una clave de cifrado comprende datos de clave y datos de entrada, y en el que los medios de tratamiento (10) están dispuestos además para
usar dicha primera serie de registros de datos redispuestos como dichos datos de clave, y
usar dicha segunda serie de registros de datos redispuestos como dichos datos de entrada.
27. El bolígrafo digital de acuerdo con una cualquiera de las reivindicaciones 22 a 24, en el que los medios de tratamiento (10) están dispuestos además para
tratar un conjunto de un número predeterminado de dichos registros de datos en una primera etapa usando una primera función resumen, obteniendo de ese modo una primera salida,
tratar dicha primera salida en una segunda etapa usando un algoritmo iterativo, obteniendo de ese modo una segunda salida, y
usar dicha segunda salida como dicha clave de cifrado o para generar dicha clave de cifrado.
28. El bolígrafo digital de acuerdo con la reivindicación 27, en el que dichos medios de tratamiento (10) están dispuestos además para usar una segunda función resumen para tratar dicha primera salida en dicha segunda etapa.
29. El bolígrafo digital de acuerdo con las reivindicaciones 27 ó 28, en el que, en dichas etapas primera y segunda, se usan respectivamente un primero y un segundo algoritmo de cifrado simétrico.
30. El bolígrafo digital de acuerdo con la reivindicación 29, en el que los medios de tratamiento están dispuestos además para usar un algoritmo de cifrado simétrico como dicho primero y como dicho segundo algoritmos de cifrado simétrico.
31. El bolígrafo digital de acuerdo con la reivindicación 29, en el que se usa uno y el mismo algoritmo de cifrado simétrico por dichos medios (10) de cifrado para cifrar dicho mensaje, y por dichos medios de tratamiento (10) como dicho primero y dicho segundo algoritmos de cifrado simétrico.
32. El bolígrafo digital de acuerdo con una cualquiera de las reivindicaciones 20 a 31, en el que dichos medios de cifrado (10) están dispuestos además para cifrar dicho mensaje usando un algoritmo de cifrado simétrico.
33. El bolígrafo digital de acuerdo con una cualquiera de las reivindicaciones 20 a 32, en el que dichos medios de cifrado (10) están dispuestos además para
usar un subconjunto de dichos datos ópticos como datos de clave para dicho algoritmo de cifrado, y
usar un segundo subconjunto de dichos datos ópticos como datos de entrada para dicho algoritmo de cifrado.
34. El bolígrafo digital de acuerdo con la reivindicación 20, en el que dichos medios de recepción (10) están dispuestos además para recibir datos de presión, y en el que dichos medios de tratamiento (10) están dispuestos para generar dicha clave de cifrado usando dichos datos de presión en combinación con dichos datos ópticos.
35. El bolígrafo digital de acuerdo con la reivindicación 20, en el que dichos medios de tratamiento (10) están dispuestos además para obtener datos de tiempo, y para generar dicha clave de cifrado usando dichos datos de tiempo combinados con dichos datos ópticos.
36. Un método para la autenticación de un mensaje enviado, en el que dicho mensaje se envía desde un bolígrafo digital (DP) a un receptor (ALS, SH, SP), caracterizado por las etapas de
obtener el mensaje mediante el registro de imágenes de una superficie (2) provista de un patrón (3) de código de posición usando un detector óptico (8) del bolígrafo digital (DP) y la determinación de al menos una posición de las imágenes,
obtener datos ópticos para la generación de datos de números aleatorios usando el detector óptico (8) del bolígrafo digital (DP), cuyos datos ópticos representan electrónicamente valores de un parámetro óptico legibles por dicho detector óptico (8),
usar dichos datos ópticos para generar los datos de números aleatorios, exclusivamente mediante el tratamiento electrónico en una unidad de tratamiento (10) del bolígrafo digital (DP),
cifrar dichos datos de números aleatorios, y
usar dichos datos de números aleatorios para la autenticación de dicho mensaje.
ES01938930T 2000-06-07 2001-06-07 Metodo y dispositivo para cifrar un mensaje. Expired - Lifetime ES2269415T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0002158A SE516567C2 (sv) 2000-06-07 2000-06-07 Förfarande och anordning för säker trådlös överföring av information
SE0002158 2000-06-07

Publications (1)

Publication Number Publication Date
ES2269415T3 true ES2269415T3 (es) 2007-04-01

Family

ID=20280029

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01938930T Expired - Lifetime ES2269415T3 (es) 2000-06-07 2001-06-07 Metodo y dispositivo para cifrar un mensaje.

Country Status (8)

Country Link
EP (2) EP1292882B1 (es)
JP (1) JP4815094B2 (es)
AT (1) ATE334443T1 (es)
AU (2) AU2001264480A1 (es)
DE (1) DE60121764T2 (es)
ES (1) ES2269415T3 (es)
SE (1) SE516567C2 (es)
WO (2) WO2001095091A1 (es)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054971B2 (en) 2001-04-27 2011-11-08 Comverse Ltd Free-hand mobile messaging-method and device
US7916124B1 (en) 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US7385595B2 (en) 2001-11-30 2008-06-10 Anoto Ab Electronic pen and method for recording of handwritten information
SE520504C2 (sv) * 2001-11-30 2003-07-15 Anoto Ab Elektronisk penna och metod för registrering av handskriven information
SE0104395L (sv) * 2001-12-27 2003-06-28 Anoto Ab Sätt att överföra information mellan en digital användarenhet och en datorresurs med hjälp av positionskodning
US7245902B2 (en) 2002-01-16 2007-07-17 2 Ergo Limited Secure messaging via a mobile communications network
GB2384392A (en) * 2002-01-16 2003-07-23 Sure On Sight Ltd Secure messaging via a mobile telecommunications network
DE60334293D1 (de) 2002-05-14 2010-11-04 Screenlife Llc Dvd spiel
US7417773B2 (en) * 2002-09-30 2008-08-26 Pitney Bowes Inc. Method and system for creating and sending a facsimile using a digital pen
US20050060644A1 (en) * 2003-09-15 2005-03-17 Patterson John Douglas Real time variable digital paper
US7831933B2 (en) 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7853193B2 (en) 2004-03-17 2010-12-14 Leapfrog Enterprises, Inc. Method and device for audibly instructing a user to interact with a function
US20060067576A1 (en) 2004-03-17 2006-03-30 James Marggraff Providing a user interface having interactive elements on a writable surface
US7453447B2 (en) 2004-03-17 2008-11-18 Leapfrog Enterprises, Inc. Interactive apparatus with recording and playback capability usable with encoded writing medium
US7698640B2 (en) 2004-08-04 2010-04-13 Leapfrog Enterprises, Inc. User interactive journal
US7428990B1 (en) 2004-12-22 2008-09-30 Leapfrog Enterprises, Inc. Capacitive sensing of media information in an interactive media device
US7621441B1 (en) 2004-12-22 2009-11-24 Leapfrog Enterprises Interactive device using capacitive sensor array for joint page identification and page location determination
KR20070112148A (ko) 2005-02-23 2007-11-22 아노토 아베 전자펜에 대한 방법, 컴퓨터 프로그램 제품, 및 전자펜
US7643633B2 (en) 2005-05-06 2010-01-05 Research In Motion Limited Adding randomness internally to a wireless mobile communication device
ATE365346T1 (de) * 2005-05-06 2007-07-15 Research In Motion Ltd Erzeugung von zufallszahlen in einem drahtlosen kommunikationsgerät
US7661592B1 (en) 2005-06-08 2010-02-16 Leapfrog Enterprises, Inc. Interactive system including interactive apparatus and game
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US7374087B1 (en) 2005-07-29 2008-05-20 Leapfrog Enterprises, Inc. Method, apparatus and system for conveying cartridge notification
US7549596B1 (en) 2005-07-29 2009-06-23 Nvidia Corporation Image bearing surface
GB2428952B (en) * 2005-07-30 2010-10-06 Hewlett Packard Development Co Digital pen and paper system
US8183980B2 (en) 2005-08-31 2012-05-22 Assa Abloy Ab Device authentication using a unidirectional protocol
US7281664B1 (en) 2005-10-05 2007-10-16 Leapfrog Enterprises, Inc. Method and system for hierarchical management of a plurality of regions of an encoded surface used by a pen computer
US7936339B2 (en) 2005-11-01 2011-05-03 Leapfrog Enterprises, Inc. Method and system for invoking computer functionality by interaction with dynamically generated interface regions of a writing surface
US7562822B1 (en) 2005-12-30 2009-07-21 Leapfrog Enterprises, Inc. Methods and devices for creating and processing content
EP1821196B1 (en) * 2006-02-15 2008-08-13 Jaycrypto Limited Method and apparatus for seeding a cryptographic random number generator
US7847942B1 (en) 2006-12-28 2010-12-07 Leapfrog Enterprises, Inc. Peripheral interface device for color recognition
US7892095B2 (en) 2007-02-13 2011-02-22 Screenlife, Llc Displaying information to a selected player in a multi-player game on a commonly viewed display device
WO2008132382A1 (fr) * 2007-03-20 2008-11-06 France Telecom Procede de generation d'un alea a partir d'une donnee biometrique
US8275123B2 (en) 2007-08-17 2012-09-25 Infineon Technologies, Ag Integrated data transceiver and sensor for the generation of a symmetrical cryptographic key
US8358783B2 (en) 2008-08-11 2013-01-22 Assa Abloy Ab Secure wiegand communications
US10620754B2 (en) 2010-11-22 2020-04-14 3M Innovative Properties Company Touch-sensitive device with electrodes having location pattern included therein
EP2940923B1 (en) 2014-04-28 2018-09-05 Université de Genève Method and device for optics based quantum random number generator
US9898100B2 (en) 2015-06-04 2018-02-20 Microsoft Technology Licensing, Llc Authenticating stylus device
EP3306464B1 (en) 2016-10-09 2021-09-29 Université de Genève Method and device for quantum random number generation
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485
US10713385B2 (en) 2018-07-03 2020-07-14 International Business Machines Corporation Position data pseudonymization
JP6616868B1 (ja) * 2018-07-30 2019-12-04 株式会社Artrigger 情報処理システム及び情報処理方法
JP6673994B2 (ja) 2018-08-24 2020-04-01 本田技研工業株式会社 エンジン
DE102018126763B4 (de) * 2018-10-26 2020-12-10 Michael Artmann Kryptographieverfahren
CN113596042A (zh) * 2021-08-03 2021-11-02 拉卡拉汇积天下技术服务(北京)有限公司 信息投递方法、装置、系统、电子设备及存储介质
EP4170480A1 (en) 2021-10-20 2023-04-26 Université de Genève Method and device for quantum random number generation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL78541A (en) * 1986-04-18 1989-09-28 Rotlex Optics Ltd Method and apparatus for encryption of optical images
JP2824943B2 (ja) * 1991-08-21 1998-11-18 松下電器産業株式会社 ライトペン
US5852434A (en) 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute optical position determination
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
JPH07262372A (ja) * 1994-03-23 1995-10-13 Toshiba Corp 情報処理装置
JPH07287632A (ja) * 1994-04-19 1995-10-31 Alps Electric Co Ltd 座標検出装置
US5661506A (en) 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
JPH0983512A (ja) * 1995-09-19 1997-03-28 Olympus Optical Co Ltd 暗号化システム及びそれに利用可能な光学的排他的論理和演算装置
JP3382451B2 (ja) * 1996-03-11 2003-03-04 キヤノン株式会社 情報入力装置及びディスプレイ装置
US6026165A (en) * 1996-06-20 2000-02-15 Pittway Corporation Secure communications in a wireless system
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
SE509327C2 (sv) * 1996-11-01 1999-01-11 C Technologies Ab Sätt och anordning för registrering av tecken med hjälp av en penna
US6327395B1 (en) * 1996-12-20 2001-12-04 Xerox Parc Glyph address carpet methods and apparatus for providing location information in a multidimensional address space
WO1998040982A1 (en) * 1997-03-12 1998-09-17 Visa International Secure electronic commerce employing integrated circuit cards
DE19907600A1 (de) * 1999-02-22 2000-08-24 Rene Baltus Biometrischer Zufallsgenerator

Also Published As

Publication number Publication date
EP1292882B1 (en) 2006-07-26
SE0002158L (sv) 2001-12-08
EP1292882A1 (en) 2003-03-19
EP1293061A1 (en) 2003-03-19
SE0002158D0 (sv) 2000-06-07
AU2001264480A1 (en) 2001-12-17
JP2003536299A (ja) 2003-12-02
WO2001095091A1 (en) 2001-12-13
AU2001264501A1 (en) 2001-12-17
DE60121764T2 (de) 2006-12-28
WO2001095559A1 (en) 2001-12-13
DE60121764D1 (de) 2006-09-07
SE516567C2 (sv) 2002-01-29
ATE334443T1 (de) 2006-08-15
JP4815094B2 (ja) 2011-11-16

Similar Documents

Publication Publication Date Title
ES2269415T3 (es) Metodo y dispositivo para cifrar un mensaje.
US7457413B2 (en) Method and device for encrypting a message
KR102432299B1 (ko) 양자 키 분배에 기초하는 암호화 및 복호화를 위한 시스템 및 방법
US7657033B2 (en) Cryptography related to keys
CA2652084C (en) A method and apparatus to provide authentication and privacy with low complexity devices
US20100046755A1 (en) Cryptography related to keys with signature
Faragallah et al. Efficiently encrypting color images with few details based on RC6 and different operation modes for cybersecurity applications
US20210091932A1 (en) Method for role-based data transmission using physically unclonable function (puf)-based keys
NO20034408D0 (no) Krypteringsapparat
US10812277B2 (en) Method and system for secure key exchange using physically unclonable function (PUF)-based keys
Kumar et al. An efficient image encryption scheme using elementary cellular automata with novel permutation box
JP2012151805A (ja) データ暗号化装置、及び、メモリカード
Sathishkumar et al. Image encryption using random pixel permutation by chaotic mapping
US20160013933A1 (en) Order-preserving encryption system, device, method, and program
CN106651734A (zh) 二值二维码图像加密、解密的方法和装置
Laiphrakpam et al. Encrypting multiple images with an enhanced chaotic map
US20150172045A1 (en) Method of cryption
CN113259089A (zh) 一种基于混沌原理和遗传算法结合的图像加密方法
Naskar et al. A secure symmetric image encryption based on linear geometry
Akkasaligar et al. Multilevel security for medical image using heterogeneous chaotic map and deoxyribonucleic acid sequence operations
Bhardwaj et al. An approach for securing QR code using cryptography and visual cryptography
Gao et al. DNA computing in cryptography
Aissa et al. An approach using stream cipher algorithm for image encryption and decryption
Sivakumar et al. A novel Image encryption method with Z-Order curve and random number
Saafan Security of IoT: Tan-Bessel Function, S-box, and Sine-Logistic Map