WO2021174373A1 - Método para encriptar datos mediante operaciones en matrices - Google Patents

Método para encriptar datos mediante operaciones en matrices Download PDF

Info

Publication number
WO2021174373A1
WO2021174373A1 PCT/CL2020/050126 CL2020050126W WO2021174373A1 WO 2021174373 A1 WO2021174373 A1 WO 2021174373A1 CL 2020050126 W CL2020050126 W CL 2020050126W WO 2021174373 A1 WO2021174373 A1 WO 2021174373A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
message
characters
key
matrices
Prior art date
Application number
PCT/CL2020/050126
Other languages
English (en)
French (fr)
Inventor
Jaime Ricardo GUTIÉRREZ SALAZAR
Jaime Andrés LÓPEZ LISBOA
Original Assignee
Gutierrez Salazar Jaime Ricardo
Lopez Lisboa Jaime Andres
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 Gutierrez Salazar Jaime Ricardo, Lopez Lisboa Jaime Andres filed Critical Gutierrez Salazar Jaime Ricardo
Priority to EP20923484.8A priority Critical patent/EP4227927A1/en
Priority to US18/248,223 priority patent/US20230379137A1/en
Priority to KR1020237015696A priority patent/KR20230084553A/ko
Priority to JP2023546369A priority patent/JP2023550200A/ja
Priority to PCT/CL2020/050126 priority patent/WO2021174373A1/es
Publication of WO2021174373A1 publication Critical patent/WO2021174373A1/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/02Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system by using a ciphering code in chart form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Definitions

  • the present invention relates to electronic communication using cryptographic methods and apparatus that use them in which a given sequence of data, for example intelligible text, is transformed into an unintelligible sequence of data by transposing the data or groups of data or by replacing them with others, according to a predetermined system, based on the rearrangement of series, sequences or numerical sequences.
  • a given sequence of data for example intelligible text
  • it is a block encryption algorithm, with symmetric keys and whose robustness to withstand attempts to decrypt said key is not based on the length of the keys.
  • This is applicable to the protection of digital messaging and electronic transactions of various nature exchanged between human correspondents or between digital communication devices, computers, or other equipment or devices connected through the Internet.
  • the alternative is to encrypt each piece of data or character in the base message, in which case we speak of “stream cryptography”. If the key required to decrypt the message is the same with which the encryption was carried out, we speak of a "symmetric" cryptographic system. If different keys are required for encryption and decryption, we speak of an "asymmetric" cryptographic system.
  • keys that are 128 bits long (which equates to 16 characters) generate (2 ⁇ 128) key options; whereas for AES-192, keys of 192 bits in length (which is equivalent to 24 characters) generate (2 ⁇ 192) key options; and, for AES-256, keys that are 256 bits long (which equates to 32 characters) generate (2 ⁇ 256) key options.
  • this characteristic has become a weakness of cryptographic systems because, with integration densities that already reached (5 x 10 ⁇ 10) in 2018, the power of said computers makes the 128-bit and even 192-bit keys become "insecure", even for "non-sensitive" applications.
  • the present invention does not use the Solutions to the "Horse Problem" for any of the steps of the encryption method.
  • the use that is given in the present invention to the sequences, series and numerical sequences that is used is not related to that used in the two mentioned patents.
  • the present invention considers the use of numerical orderings of which the sequences are only a particular case of the many that it would be possible to use.
  • the issue of the randomness necessary for the generation of the keys is resolved, since the keys of the presented method are not random, but are obtained by coding the actions performed in each of the stages in which they must be applied.
  • the weakness of current systems is also solved, with respect to achieving the robustness of the method through the size of the key (1,024 bits or higher), since this is achieved through the diversity of operations carried out in the encryption process, combined with the breadth of options available for each of them.
  • the keys to use are not greater than 320 bits (40 alphanumeric or other characters), despite which the robustness of the method is not affected.
  • the above also solves the weakness posed by the need to manage large keys, since the keys are "designed” and “encoded” according to the desired effect through the operations involved; or they are selected from a repertoire of keys already generated. Thus, although the keys are selected (randomly or sequentially) from a digital repository, they are not generated randomly.
  • the presented method allows encrypting and decrypting a sequence of data ("base message”) encoded in digital or analog form, through the development of a previous stage and the application of three (3) processes in which the transposition and substitution of the data, thus making it unintelligible (“encrypted message”) to a third party who does not know the method used for encryption.
  • base message a sequence of data
  • the data sequence is composed of "alphanumeric characters", although as stated in the attached claims, its composition can be much broader and more varied.
  • Operation 1 transpose the rows of the matrices [Al], based on what is indicated in the key CK1;
  • Operation 2 transpose the columns of the matrices [Al], based on what is indicated in the key CK1;
  • Operation 3 turn the characters of each paral the ogram, based on what is indicated in the key CK1;
  • Operation 1 transpose the rows of the matrices [B 1], based on what is indicated in the key CK2;
  • Operation 2 transpose the columns of the matrices [B 1], based on what is indicated in the key CK2;
  • Operation 3 turn the characters of each paral ogram, based on what is indicated in the code CK2;
  • the matrix [Al] (101 in the Figure), shows a generic example of a “base message”.
  • Matrices [Ala], [Alb], [Ale] and [A2] (102 to 106 in the Figure) show an example of how the elementary operations described in the key CK1 are applied to reorder the initial "Base message” and transform it into matrix [A2], with an "intermediate message” (106 in the Figure);
  • the matrix [Bl] (201 in the Figure) shows a generic example of a "numerical set.”
  • the matrices [Bla], [Blb], [Ble] and [B2] (202 to 206 in the Figure) show an example of how the elementary operations described in the key CK2 are applied to reorder the initial "numerical set” and transform it into the matrix [B2], with a "new numerical ordering" (206 in the Figure);
  • the matrix [Cl] (303 in the Figure) shows an example of how the "intermediate message” of the matrix [A2] (302 in the Figure) is transformed into an "encrypted message” using the "new numerical ordering" [B2 ] (301 in the Figure), applying the "substitution function" described in key CK3;
  • Figure 2 Components of each matrix, in positional relationship with the "numerical set", with the "new numerical ordering” and with the "substitution alphabet”.
  • the 6 matrices in the Figure show in detail for the example described in the previous Figure, the component characters of each matrix (402, 403, 405, 407, 409 and 411 in the Figure), the alphabet sequence numbers (401 ) and the coordinates of the component characters of said matrices (404, 406, 408, 410 and 412 in the Figure), for each position of the "new numerical ordering" (409 and 410 in the Figure): the matrices [A1] and [A2], show the original "base message” (403 and 404 in the Figure) and the "intermediate message” (405 and 406 in the Figure); the matrices [Bl] and [B2] show the initial “numerical set” (407 and 408 in the Figure) and the "new numerical ordering” (409 and 410 in the Figure); finally, the matrix [C1] shows the “encrypted message”
  • This Figure shows a fully developed example applying all the steps for encryption.
  • This example has been developed using a matrix of size (5x4) to encrypt a message of 20 characters in length, to be sent to a recipient correspondent, for which it is necessary to develop the steps (processes) described below : (1) ⁇ (2) ⁇ (3)
  • the "A” column of the matrix [Ala] is maintained in a column I (left end) of the matrix [Alb]; the "B” column moves from 2 to of [Ala] the 3rd column of [Alb]; the "C” column moves from 3 to of [Ala] 2 to the column [Alb]; the "D” column is moved from the 4 to the [Ala] to 5 column matrix (rightmost [Alb]); and, the column ⁇ "moves from the 5 to the [Ala] to column 4 [Alb] (See Figural);
  • the matrix generated in the process (105) is reflected in a “Vertical” way, to generate the matrix [A2], which is the matrix of the “Intermediate Message” (106 of Figure 1); thus, as it is making a "vertical reflection", a new transposition of the rows of the matrix occurs, causing: the 4th row (upper end of [Ale]), is at the I-position (end lower of [A2]); 3 to row [Ale] is at the 2 position [A2]; and so on, until all the rows of the matrix [Ale] have been shifted to form [A2] (see Fig. 1);
  • CK1 key As can be seen, the structure and size of the CK1 key are defined by:
  • the "A” column moves from I to column (left end) of [bla] the 3rd column of the matrix [Blb]; the "B” column is moved from the 2nd to [bla] I to the column of the matrix [Blb]; the "C” column moves from 3 to of [bla] to 5 column matrix [Blb]; the . column “D” is moved from the 4 to the [bla] wing 2 column matrix [Blb]; and, the column ⁇ "moves from the 5 to the [bla] 4 to the column of the matrix [Blb], (See Figure 1);
  • the matrix [Ble] generated in the previous step is reflected in a “Horizontal” way, to generate the matrix [B2] which is the matrix of the “new numerical ordering”; thus, as is being performed "horizontal reflection", a new rearrangement of the columns of the matrix, making occurs: the I to column (far left), is at the 5 position; the second column is in the fourth position; and so on, until all the columns of the matrix have been moved (see Figure. 1);
  • the structure and size of the CK2 key and the CK1 key are defined by the same elements:
  • the position "01" of the "new numerical ordering" (which is in the coordinates (c, 2) of the matrix [B2]) indicates that the character “m” that is in the coordinates (c, 2) of the matrix [A2], must be replaced in the coordinates (c, 2) of the matrix [Cl], by the character that is 1 position ahead (“OIA”).
  • the character following the letter "m” of the replacement alphabet is the letter "n”. Consequently, in the coordinates (c, 2) of the matrix [Cl], the character "m” of the "intermediate message” is replaced by the character "n" in the encrypted message;
  • the count must be continued again from the first character of said alphabet, if the path is ascending; or from the last character of the alphabet, if the path is descending.
  • Figure 2 Components of each matrix, in positional relationship with the initial “numerical set”, with the “new numerical ordering” and with the “substitution alphabet”.
  • Figure 2 shows the detail of the content of each of the 6 matrices of the example developed in Figure 1, for each position of the "substitution alphabet" [A0]; of the "base message” [Al]; of the “intermediate message” [A2]; from the "numerical set” [Bl]; the “new numerical ordering” [B2]; and the "encrypted message” [Cl]
  • the matrix [Ale] is obtained by moving the 4th row (row above) of the matrix [A2], the position I to the row (lower end row); and so on, until the 4 rows are moved.
  • the characters “omt” (from the upper row of the inner concentric rectangle) located at the coordinates (b, 3) - (c, 3) - (d, 3) of the matrix [Ale] , after reversing the rotation, they are located at the coordinates (c, 2) - (b, 2) - (b, 3) of the matrix [Alb].
  • the chosen matrix is of size [5x4] so that the number of rows (M) is "5" and the number of columns (N) is “4".
  • N a3 ⁇ P 2 c [(M + N) -2 c (2h + 1)] ⁇ c [M-2 (k + l)] x (2 ⁇ (N ⁇ 2) + l), and the same indices.
  • N a 23 ⁇ 2 x [(5 + 4) - 2 x (2x0 + 1)] ⁇ x (2 x [(5 + 4) - 2 x (2x1 + 1)] ⁇ x (2 ⁇ 2)
  • N a Nal X Na2 XN a 3 XN a 4 XN a 5
  • Nb Nbo x Nbi x Nb2 x Nb3 x Nb4 x Nb5
  • N b 20! x (5! x 4! x ( ⁇ 14x6 ⁇ x 4) x 4 x 4!)
  • the "new numerical ordering" is also used for what there is (MxN)! (Factorial of MxN) different ways of creating a new ordering, so if you decide to use more than one "numerical set” (in case the "base message” had been fragmented into more than one block), each new ordering will bring others (MxN)! (Factorial of MxN) options, which are multiplied with the other options of the encryption. It should be noted that if the same "numerical set” created in process (b) is used, the number of options provided by it has already been considered in said process.
  • CK2 size 4 digits (reordering the rows: numbers 1 to 4)
  • CK2 size 8 digits (reordering the rows: numbers 1 to 8)

Abstract

Método para encriptar datos, que comprende transformar un mensaje base en un mensaje intermedio, mediante operaciones matriciales sucesivas de reordenamiento; definir un conjunto numérico, que se transforma en un nuevo ordenamiento numérico, también mediante operaciones matriciales de reordenamiento; definir un alfabeto de sustitución; establecer una operación de reemplazo, que comprende reemplazar un carácter del mensaje intermedio por un carácter del alfabeto de sustitución, de acuerdo a un orden definido por el nuevo ordenamiento numérico, a partir de una magnitud inicial de desplazamiento, e incrementando progresivamente la magnitud del desplazamiento.

Description

MÉTODO PARA ENCRIPTAR DATOS MEDIANTE OPERACIONES EN MATRICES
Sector Técnico:
La presente invención se relaciona con comunicación electrónica utilizando métodos criptográficos y aparatos que los utilicen en los que una secuencia de datos dada, por ejemplo un texto inteligible, es transformada en una secuencia ininteligible de datos mediante la trasposición de los datos o grupos de datos o mediante su reemplazo por otros, de acuerdo a un sistema predeterminado, en base al reordenamiento de series, secuencias o sucesiones numéricas. En particular, se trata de un algoritmo de cifrado por bloques, con claves simétricas y cuya robustez para soportar intentos de descifrar dicha clave no está basada en la longitud de las claves.
Aplicación Industrial:
Esto es aplicable a la protección de mensajería digital y de transacciones electrónicas de diversa naturaleza intercambiados entre corresponsales humanos o entre dispositivos de comunicación digital, computadores, u otros equipos o dispositivos conectados a través de Internet.
Técnica anterior:
Todos los sistemas criptográficos basan su mecanismo de conciliación en dos operaciones aplicadas en forma independiente o en forma combinada: la “trasposición” (o “reordenamiento”) de los caracteres de un “mensaje base” (información que se desea transmitir a un corresponsal destinatario y que en la actualidad puede tomar la forma de cualquier mensaje digital o analógico); y la “sustitución” (reemplazo) de los “caracteres” del “mensaje base”. El efecto logrado, es el “cifrado” (ocultamiento) del “mensaje base” a todos aquellos que desconozcan las operaciones de trasposición y sustitución aplicadas; y que desconozcan el orden en el que fueron aplicadas dichas operaciones, para transformar el “mensaje base” en el “mensaje cifrado”. Si el “mensaje base” se fragmenta en bloques de caracteres que serán cifrados mediante un método, se habla de “cifrado por bloques”. Gracias a la capacidad de cálculo y a la velocidad de los computadores, la alternativa es cifrar cada dato o carácter del mensaje base, en cuyo caso se habla de “criptografía por flujo”. Si la clave requerida para descifrar el mensaje es la misma con la que se efectuó el cifrado, se habla de un sistema criptográfico “simétrico”. Si se requiere de claves diferentes para el cifrado y descifrado, se habla de un sistema criptográfico “asimétrico”.
Actualmente, hay varios sistemas de estos dos tipos que están siendo utilizados habitualmente, para la transmisión de: transacciones comerciales; mensajes de correo electrónico; archivos de diverso contenido digital o analógico; y transmisión vía internet de un sin número de paquetes de información de carácter “sensible” o de naturaleza “ordinaria”. Entre estos sistemas, se cuenta por ejemplo:
RSA: ha utilizado el algoritmo simétrico RC5 (diseñado en 1994), que usa bloques de tamaño 32, 64 o 128 bits (siendo 64 bits lo sugerido), con longitudes de clave de hasta 1024 bits (siendo 128 bits lo sugerido, con lo que el espacio de dominio de claves llega a 2^128 = 3,40 x 10^38); y entre 18 y 20 rondas de cifrado (siendo 12 rondas lo sugerido).
Entre 1991 y 2007, RSA Security ofreció -como poseedor de la patente-, recompensas a quienes pudieran “romper” las claves de hasta 2048 bits, por lo que desde 2003 se recomienda el uso de claves de 1024 bits (lo que equivale a 128 caracteres), con lo que el espacio de dominio de claves en cada ronda sube a ( 2^1024 ) = 1,79 x 10a308. Entre los resultados recientes, en diciembre de 2019, se dio a conocer un ataque exitoso a una clave de 795 bits.
AES: Utiliza sólo bloques de 128 bits; con claves de 128 bits (y 10 rondas de cifrado); 192 bits (y 12 rondas de cifrado); y, 256 bits (y 14 rondas de cifrado), para espacios de dominio de claves por ronda de 2^128 ( = 3,40 x 10^38 ); 2^192 ( = 6,27 x 10^57); y 2^256 ( = 1,15 x 10^77 ), respectivamente.
TWOFISH: El algoritmo trabaja con bloques de 128 bits, 12 rondas de cifrado y tamaños de clave de 128, 192 y 256 bits (con lo que el espacio de dominio de claves máximo por ronda es de ( 2^256 ) = 1,15 x 10^77 ). IDEA: Utiliza bloques de 64 bits y una clave de 128 bits con la que se genera, mediante rotaciones y fragmentaciones sucesivas, 52 claves de 16 bits (lo que equivale a un espacio de dominio de claves de ( 2^16 )^52 = 2,86 x 10^250 ).
DES: creado en 1975, opera con bloques de 64 bits, 16 rondas de cifrado y claves de 56 bits de longitud, se lograba un espacio de dominio de claves por ronda de ( 2^56 = 7.2 x 10^16 ) combinaciones. Fue reemplazado en 1999 por 3DES, el que utiliza 3 claves de 56 bits (con lo cual el espacio de dominio de claves por ronda sube a ( 2^56 )^3 = 3,74 x 10^50).
En la actualidad, se sigue aumentando el tamaño de las claves pues ya en 2012 había disponible un servicio gratuito online capaz de descifrar claves DES de 56 bits en un máximo de 26 horas
[ https://crrck sh ].
Áreas de Mejora:
La mayoría de los actuales sistemas basan su “robustez” en la longitud de las claves de cifrado. Se entiende por “robustez”, la capacidad para resistir “ataques de fuerza bruta”; es decir, la capacidad para resistir intentos de “adivinar” la clave probando todas las opciones posibles según la extensión y los tipos de caracteres que la componen. De este modo, mientras más caracteres contengan las claves, mayor es la “robustez” del sistema.
Por ejemplo, en AES-128, las claves de 128 bits de longitud (lo que equivale a 16 caracteres) generan ( 2^128 ) opciones de claves; mientras que para AES-192, las claves de 192 bits de longitud (lo que equivale a 24 caracteres) generan ( 2^192 ) opciones de claves; y, para AES- 256, las claves de 256 bits de longitud (lo que equivale a 32 caracteres) generan ( 2^256 ) opciones de claves. Dado el desarrollo alcanzado por los fabricantes de computadores, esta característica se ha transformado en una debilidad de los sistemas criptográficos pues, con densidades de integración que ya alcanzaban los ( 5 x 10^10 ) en 2018, la potencia de dichos computadores hace que las claves de 128 bits e incluso las de 192 bits se vuelvan “inseguras”, hasta para aplicaciones “no sensibles”.
Por otra parte, puesto que la generación de claves de “gran tamaño” plantea una dificultad práctica para garantizar la diversidad (aleatoriedad) de las claves a generar, y para el manejo y difusión a las partes interesadas, el uso de claves de mayor tamaño crea otra debilidad en los actuales sistemas. Ello ya que obliga a establecer algún mecanismo de administración de claves que incluya generadores “realmente” aleatorios, lo que (además) dificultará al usuario el “recordar” las claves generadas (1024 bits equivalen a 128 caracteres alfanuméricos o de otro tipo).
Asimismo, algunos de los actuales sistemas, basan su mecanismo de “cifrado” en la baja complejidad de las operaciones de trasposición y de sustitución, lo que obliga a contrarrestar dicho efecto, mediante la aplicación de varias “rondas de cifrado”; es decir, repitiendo (entre 10 y 16 veces) los pasos requeridos para el cifrado, lo que puede considerarse un inconveniente adicional, ya que ello afecta también al proceso de descifrado.
Novedad de la Invención:
En cuanto a aspectos de otras patentes similares a la presente invención, el uso de secuencias numéricas para efectuar un proceso de cifrado/descifrado es mencionado en la patente US 7.995.748-B2 “Method and Apparatus for providing encryption/decryption using two sequences of numbers”, publicada con fecha 2011/08/09. Sin embargo, dicho sistema restringe el tipo de las secuencias numéricas a un subconjunto de las que es posible utilizar en la presente invención.
En efecto, dicha patente basa el método propuesto en matrices de tamaño (8x8), ya que utiliza Soluciones al “Problema del Caballo” (que consiste en recorrer, mediante el movimiento del Caballo de Ajedrez, todo el tablero de (8x8) casillas, sin pasar dos veces por la misma casilla), y cuyas soluciones se estiman en ( 1,06 x 10^14 ) [Ref : “Some enumerations of Clases of Knight’s Tours” por G. P. Jelliss en su website “Knight’s Tours Notes” [ www.mavhematics.com./t/8a.html ], mientras que la cantidad de secuencias que es posible generar mediante el método aquí presentado para una matriz de (8x8) es de 64! ( Factorial de 64 = 1,26 x 10^89 ), lo que es una cifra muy superior a la anterior.
El uso de Soluciones al “Problema del Caballo” como secuencia numérica también aparece mencionado en el método de cifrado descrito en la Solicitud de Patente US 2016/379.527, publicada sin aprobación con fecha 2016/12/29 (por haber sido abandonada), en la que se proponía una forma diferente a la anterior, de utilizar las soluciones para el proceso de cifrado. En ambos casos, aunque aún no se cuenta con todo el repertorio de las poco más de ( 10^14 ) soluciones, en 1862 el abad Francés Philippe Jolivald publicó más de 413.000 soluciones al “Problema del Caballo”, con lo que un “ataque de fuerza bruta” (mediante un algoritmo automático), podría verse bastante facilitado.
La presente invención, no utiliza las Soluciones al “Problema del Caballo” para ninguna de las etapas del método de encriptación. Asimismo, el uso que se le da en la presente invención a las secuencias, series y sucesiones numéricas que se utiliza, no guarda relación con el empleado en las dos patentes mencionadas. Por lo demás, la presente invención considera el uso de ordenamientos numéricos de los cuales, las secuencias son sólo un caso particular de las muchas que sería posible utilizar.
Resumen de la Invención:
De acuerdo a la invención, se resuelve el tema de la aleatoriedad necesaria para la generación de las claves, ya que las claves del método presentado no son aleatorias, sino que se obtienen al codificar las acciones realizadas en cada una de las etapas en las que ellas se deben aplicar.
De acuerdo a la invención, también se resuelve la debilidad de los sistemas actuales, respecto de lograr la robustez del método mediante el tamaño de la clave (de 1.024 bits o superiores), puesto que ésta se logra mediante la diversidad de operaciones realizadas en el proceso de cifrado, combinada con la amplitud de opciones disponibles para cada una de ellas. De hecho, las claves a utilizar (para la realización preferente) no son mayores a 320 bits (40 caracteres alfanuméricos o de otro tipo), a pesar de lo cual la robustez del método no se ve afectada.
De acuerdo a la invención, lo anterior también resuelve la debilidad planteada por la necesidad de administrar claves de gran tamaño, ya que las claves son “diseñadas” y “codificadas” de acuerdo al efecto deseado a través de las operaciones involucradas; o bien, son seleccionadas a partir de un repertorio de claves ya generadas. De este modo, aunque las claves se seleccionen (en forma aleatoria o secuencial) desde un repositorio digital, éstas no son generadas en forma aleatoria.
De acuerdo a la invención se agrega la posibilidad de aumentar la robustez del método efectuando diversos cambios en algunos de los parámetros de los cuales depende la cantidad de opciones a explorar en un “ataque de fuerza bruta” (mediante un algoritmo automático), la cual es comparable a RSA-1024 ( 2^1024 = 1,79 x 10^308). Entre ellos, cabe destacar:
* Aumentar el tamaño del ordenamiento numérico a utilizar. Por ejemplo, en el caso de un conjunto de 64 números, la cantidad de ordenamientos diferentes es de 64! ( Factorial de 64 = 1,26 x 10^89 ). Por otra parte, si se aumenta a un conjunto de 128 números, la cantidad de ordenamientos diferentes sube a 128! ( Factorial de 128 = 3,85 x 10^215 );
* Aumentar la cantidad de ordenamientos numéricos a utilizar: Por ejemplo, al utilizar dos conjuntos de de 64 números cada uno, la cantidad de opciones para las formas diferentes de ordenar dichos números sube a 64! x 64! (Factorial de 64 x Factorial de 64; es decir, 1,61 x 10^178), pero si se utiliza dos conjuntos de 128 números, sube a 128! x 128! ( Factorial de 128 x Factorial de 128; es decir, 1,48 x 10^431 );
* Aumentar la cantidad de “alfabetos de sustitución” a utilizar: Por ejemplo, en el caso de un alfabeto de 26 caracteres, la cantidad de alfabetos diferentes que se puede generar es de 26! ( Factorial de 26 = 4,03 x 10^26 ). Pero si utilizamos dos alfabetos, sube a (26!)^2 (Factorial de 26 elevado a la 2a. potencia; es decir, 1,62 x 10^53 );
* Aumentar el tamaño del alfabeto de sustitución a utilizar: Por ejemplo, si aumentamos la cantidad de caracteres al doble (sin repetir caracteres, por ejemplo diferenciando mayúsculas y minúsculas; o agregando caracteres especiales o vocales tildadas), la cantidad de alfabetos diferentes será de 52! ( Factorial de 52 = 8,06 x 10^67 );
* De este modo, si sólo combináramos el efecto de usar un ordenamiento numérico de 128 números y cuatro “alfabetos de sustitución” de 26 caracteres, ya tendríamos una robustez superior a la de RSA-1024, pues la cantidad de opciones sería de ( 128! x (26!)^4) es decir, ( 1,02 x 10^322 ).
Finalmente, de acuerdo a la invención y a lo señalado en el párrafo anterior, se atenúa el inconveniente de tener que aplicar varias “rondas” de cifrado para mejorar la robustez del método (aunque el hacerlo siga siendo una de las formas de mejorar dicha robustez), pues ello redunda en la facilidad de aplicación del cifrado y descifrado, sin que eso signifique una disminución en la cantidad de opciones que sería necesario explorar, en un “ataque de fuerza bruta” (mediante un algoritmo automático). Descripción de una forma de realizar la invención:
El método presentado permite cifrar y descifrar una secuencia de datos (“mensaje base”) codificados en forma digital o analógica, mediante el desarrollo de una etapa previa y la aplicación de tres (3) procesos en los que se realiza la trasposición y sustitución de los datos, con lo que se logra hacerla ininteligible (“mensaje cifrado”) a un tercero que desconozca el método utilizado para el cifrado. Para efectos de descripción, asumiremos que la secuencia de datos está compuesta por “caracteres alfanuméricos”, aunque como se plantea en las reivindicaciones adjuntas, su composición puede ser bastante más amplia y variada.
Etapa Previa: Definiciones y pasos previos
• Definir un “mensaje base” a cifrar;
• Definir cuatro operaciones para el reordenamiento del “mensaje base”;
• Escoger un “tamaño de bloque” (de 64, 128 o 256 caracteres) a utilizar en el cifrado;
• Escoger un “tamaño de matriz” para contener el “mensaje base”, según el “tamaño de bloque” definido: (16x4) para bloques de 64 caracteres; (16x8) para bloques de 128 caracteres; y (16x16) para bloques de 256 caracteres;
• Definir un conjunto de números a utilizar en el proceso de cifrado, del mismo tamaño del “tamaño de bloque”. El “conjunto numérico” a utilizar para este ejemplo, está compuesto de números consecutivos desde “1” hasta el tamaño de bloque escogido (64, 128 o 256);
• Definir cuatro operaciones para el reordenamiento del “conjunto numérico”;
• Definir un “alfabeto de sustitución” (alfabético, de 26 caracteres);
• Definir las claves CK 1 , CK2 y CK3 con las que un corresponsal despachador podrá generar un “mensaje cifrado” y un corresponsal destinatario podrá descifrar dicho “mensaje cifrado”;
• Trascribir el “alfabeto de sustitución” a una matriz [A0] de tamaño (26x1) en que “26” es la cantidad de caracteres del alfabeto;
• Fragmentar el “mensaje base”, de acuerdo al “tamaño de bloque” escogido;
• Trascribir el “mensaje base” a múltiples matrices [Al] La cantidad de matrices a utilizar dependerá del cuociente entre la cantidad de caracteres del “mensaje base” y el “tamaño del bloque”; • Trascribir el “conjunto numérico” a una matriz [Bl] de las mismas dimensiones que la matriz [Al]
Proceso 1: Reordenamiento del “mensaje base” [Al] generando el “mensaje intermedio” [A2]
• Operación 1 : trasponer las filas de las matrices [Al], en base a lo indicado en la clave CK1;
• Operación 2: trasponer las columnas de las matrices [Al], en base a lo indicado en la clave CK1;
• Definir los paralelógramos concéntricos en las matrices [Al];
• Operación 3 : giro de los caracteres de cada paral el ógramo, en base a lo indicado en la clave CK1;
• Operación 4: reflexión de las matrices [Al], en base a lo indicado en la clave CK1;
• Al aplicar las cuatro operaciones antes descritas, se obtiene las matrices [A2] del “mensaje intermedio”.
Proceso 2: Reordenamiento del “conjunto numérico” [Bl] generando el “nuevo ordenamiento numérico” [B2]
• Operación 1 : trasponer las filas de las matrices [B 1], en base a lo indicado en la clave CK2;
• Operación 2: trasponer las columnas de las matrices [B 1], en base a lo indicado en la clave CK2;
• Definir los paralelógramos concéntricos de las matrices [Bl];
• Operación 3 : giro de los caracteres de cada paral el ógramo, en base a lo indicado en la clave CK2;
• Operación 4: reflexión de las matrices [Bl], en base a lo indicado en la clave CK2;
• Al aplicar las cuatro operaciones antes descritas, se obtiene las matrices [B2] del “nuevo ordenamiento numérico”.
Proceso 3: Cifrado del “mensaje intermedio” [A2] generando el “mensaje cifrado” [Cl]
• Efectuar la sustitución de los caracteres del “mensaje intermedio”, en base a lo indicado en la clave CK3 de cómo utilizar el “alfabeto de sustitución” con el “nuevo ordenamiento numérico” para generar el “mensaje cifrado” [Cl];
• Trasmitir al corresponsal destinatario y mediante un canal no protegido, el “mensaje cifrado” y el “conjunto numérico” original; Trasmitir al corresponsal destinatario y mediante un canal protegido y previamente acordado entre las partes, las claves CK1, CK2 y CK3; y el “alfabeto de sustitución”.
Breve Descripción de las Figuras:
El invento se explica en mayor detalle haciendo referencia a las ilustraciones en las que se describe un ejemplo de implementación en matrices de (5x4) y algunas de sus respectivas variantes, las que son provistas sólo con fines explicativos y no con propósitos de limitación alguna en cuanto a su implementación y uso, o respecto de lo definido en las reivindicaciones adjuntas:
Figura 1: Ejemplo de Aplicación
La matriz [Al] (101 en la Figura), muestra un ejemplo genérico de “mensaje base”. Las Matrices [Ala], [Alb], [Ale] y [A2] (102 a 106 en la Figura) muestran un ejemplo de cómo las operaciones elementales descritas en la clave CK1, son aplicadas para reordenar el “mensaje Base” inicial y transformarlo en la matriz [A2], con un “mensaje intermedio” (106 en la Figura);
La matriz [Bl] (201 en la Figura) muestra un ejemplo genérico de "conjunto numérico”. Las matrices [Bla], [Blb], [Ble] y [B2] (202 a 206 en la Figura) muestran un ejemplo de cómo las operaciones elementales descritas en la clave CK2, son aplicadas para reordenar el “conjunto numérico” inicial y transformarlo en la matriz [B2], con un “nuevo ordenamiento numérico” (206 en la Figura);
La matriz [Cl] (303 en la Figura) muestra un ejemplo de cómo el “mensaje intermedio” de la matriz [A2] (302 en la Figura) es transformado en un “mensaje cifrado” utilizando el “nuevo ordenamiento numérico” [B2] (301 en la Figura), aplicando la “función de sustitución” descrita en la clave CK3;
Las mismas matrices de la Figura 1 ya mencionadas, ilustran - al ser revisadas en orden inverso, la operación de descifrado del mensaje de la matriz [Cl] (303 en la Figura) y obtención del “mensaje base” mostrado en la matriz [Al] (101 en la Figura).
Figura 2: Componentes de cada matriz, en relación posicional con el “conjunto numérico”, con el “nuevo ordenamiento numérico” y con el “alfabeto de sustitución”. Las 6 matrices de la Figura, muestran en detalle para el ejemplo descrito en la Figura anterior, los caracteres componentes de cada matriz (402, 403, 405, 407, 409 y 411 en la Figura), los números de secuencia del alfabeto (401) y las coordenadas de los caracteres componentes de dichas matrices (404, 406, 408, 410 y 412 en la Figura), para cada posición del “nuevo ordenamiento numérico” (409 y 410 en la Figura): las matrices [A1] y [A2], muestran el “mensaje base” original (403 y 404 en la Figura) y el “mensaje intermedio” (405 y 406 en la Figura); las matrices [Bl] y [B2], muestran el “conjunto numérico” inicial (407 y 408 en la Figura) y el “nuevo ordenamiento numérico” (409 y 410 en la Figura); finalmente, la matriz [C1], muestra el “mensaje cifrado” (411 en la Figura).
Descripción Detallada de las Figuras:
Ejemplo: Figura 1 - Aplicación del Método descrito en la Invención.
Proceso de Cifrado:
En esta Figura se muestra un ejemplo completamente desarrollado aplicando todos los pasos para el cifrado. Dicho ejemplo, ha sido desarrollado utilizando una matriz de tamaño (5x4) para cifrar un mensaje de 20 caracteres de extensión, que se habrá de enviar a un corresponsal destinatario, para lo cual se requiere desarrollar los pasos (procesos) que se describe a continuación: (1) → (2) → (3)
1) Generar un “Mensaje Intermedio”:
(101) “Mensaje Base” original (Secreto):
Sabiendo que para cifrar el Mensaje “Base” de tamaño (5x4) se requiere crear un “Mensaje Intermedio” con la clave “CK1 = 4231ACBED-04V”, en la Figura 1 se puede ver en detalle cada paso del proceso de generación del “Mensaje Intermedio”:
(102) Trasposición de las filas de la matriz [Al]:
Con los 4 primeros caracteres (“4231”) de la clave CK1, se traspone verticalmente las filas de la matriz [A1], siguiendo lo indicado en la clave, alternando (en este caso) su posición relativa desde “4321” a “4231” con lo que se genera la matriz [Ala] que se muestra en la Figura 1. De este modo, la fila “4” de [Al] se mantiene en la 4a posición (extremo superior de [Ala]); la fila “3” de [A1] se traslada desde la 2a de [A1] a la 3a fila de [Ala] (contando desde el extremo inferior); la fila “2” de [Al] se traslada desde la 3a de [Al] a la 2a fila de [Ala]; y la fila “1” de [Al], se mantiene en la primera posición (extremo inferior de [Ala]);
(103) Trasposición de las columnas de la matriz [Ala]:
Con los siguientes 5 caracteres (“ACBED”) de la clave CK1, se traspone horizontalmente las columnas de la matriz [Ala], siguiendo lo indicado en la clave, alternando su posición relativa desde “ABCDE” a “ACBED” con lo que se genera la matriz [Alb] que se muestra en la Figura 1
De este modo, la columna “A” de la matriz [Ala] se mantiene en la Ia columna (extremo izquierdo) de la matriz [Alb]; la columna “B” se traslada desde la 2a de [Ala] a la 3a columna de [Alb]; la columna “C” se traslada desde la 3a de [Ala] a la 2a columna de [Alb]; la columna “D” se traslada desde la 4a de [Ala] a la 5a columna de la matriz (extremo derecho de [Alb]); y, la columna Έ” se traslada desde la 5a de [Ala] a la 4a columna de [Alb], (Ver Figural);
(104) Definición de Paralelógramos Concéntricos en [Alb] (previo al Giro):
Para facilitar la ejecución de la trasposición de los paral el ogramos concéntricos de la matriz [Ale] del paso siguiente, se muestra la distribución de las posiciones del “mensaje base” con las filas y columnas ya traspuestas en la matriz [Alb], antes de efectuar el giro definido en la clave CK1;
(105) Trasposición de los Paralelógramos Concéntricos de la matriz [Ale]:
Con los siguientes 3 caracteres (“-04”) de la clave CK1, se traspone el contenido de las casillas de los rectángulos concéntricos mostrados en la matriz [Ale] “sin giro” (104 en la Figura 1), moviendo dicho contenido en 4 posiciones en sentido anti-horario (el sentido del giro “antihorario” es indicado por el signo negativo “-”).
De este modo, (por ejemplo) los caracteres “t-s-s” de la fila superior del rectángulo concéntrico interior de la matriz 104, pasan a ocupar las coordenadas (d, 3) - (d, 2) - (c, 2) de la matriz [Ale] “con giro” (105 en la Figura 1) en dicho rectángulo; mientras que (por ejemplo) los caracteres “h-l-o” de la matriz 104 (en la Figura 1) en las coordenadas (a, 4) - (b, 4) - (c, 4), pasan a ocupar las coordenadas (b, 1) - (a, 1) - (a, 2) en el rectángulo concéntrico exterior de la matriz [Ale] “con giro” (105 en la Figura 1); (106) Trasposición de la matriz [Ale] mediante un proceso de reflexión, con lo que se obtiene la matriz [A2]:
Con el último carácter (“V”) de la clave CK1, se refleja en forma “Vertical” la matriz generada en el proceso (105), para generar la matriz [A2], que es la matriz del “Mensaje Intermedio” (106 de la Figura 1); de este modo, ya que se está efectuando una “reflexión vertical”, se produce una nueva trasposición de las filas de la matriz, haciendo que: la 4a fila (extremo superior de [Ale]), quede en la Ia posición (extremo inferior de [A2]); la 3a fila de [Ale] quede en la 2a posición de [A2]; y así sucesivamente, hasta haber desplazado todas las filas de la matriz [Ale] para formar [A2] (ver Fig. 1);
Estructura y Tamaño de la Clave CK1 :
Como se pudo apreciar, la estructura y el tamaño de la clave CK1 están definidos por:
CK1 = “Reordenamiento de (N) Filas” + “Reordenamiento de (M) Columnas”
+ “Sentido de Giro (“+/-”) + “Desplazamiento del Giro (G)”
+ “Tipo de reflexión” (“H”= Horizontal; “V” = Vertical; “D” = Diagonal
Derecha; “T’= Diagonal Izquierda”) = “N” caracteres + “M” caracteres + 1 carácter + 2 dígitos + 1 carácter.
En el caso del ejemplo, el tamaño de la clave es de = 4 + 5 + 1 + 2 + 1 = 13 caracteres = 104 bits.
2) Generar un “nuevo ordenamiento numérico” (matriz [B2]):
(201) Definición del “conjunto numérico” [B 1 ] :
Suponiendo que se ha generado (o seleccionado desde un repositorio) un “conjunto numérico” (matriz [B 1]) y utilizando la clave “CK2 = 3142BDAEC+03H”, en la Fig. 1 se puede ver en detalle cada paso del proceso de generación del “nuevo ordenamiento numérico”, el que incluye las etapas siguientes:
(202) Trasposición de las filas de la matriz [Bla]:
Con los 4 primeros caracteres (“3142”) de la clave CK2, se traspone verticalmente las filas de la matriz [Bl], siguiendo lo indicado en la clave, alterando su posición relativa desde “4321” a “3142” con lo que se genera la matriz [Bla] que se muestra en la Figura 1. De este modo, la fila “4” se traslada desde la Ia (extremo inferior de la matriz [Bl]) a la 3a fila de la matriz [Bla]; la fila “3” se traslada desde la 2a fila de [Bl], a la Ia fila de la matriz [Bla]; la fila “2” se traslada desde la 3a fila de [Bl], a la cuarta fila de la matriz [Bla]; y, la fila “1” se traslada desde la 4a fila de [Bl], a la 3a fila de la matriz [Bla] (Ver Figura 1);
(203) Trasposición de las columnas de la matriz [Blb]:
Con los siguientes 5 caracteres (“BDAEC”) de la clave CK2, se traspone horizontalmente las columnas de la matriz [Bla], siguiendo lo indicado en la clave alterando su posición relativa desde “ABCDE” a “BDAEC” con lo que se genera la matriz [Blb],
De este modo, la columna “A” se traslada desde la Ia columna (extremo izquierdo) de [Bla] a la 3a columna de la matriz [Blb]; la columna “B” se traslada desde la 2a de [Bla] a la Ia columna de la matriz [Blb]; la columna “C” se traslada desde la 3a de [Bla] a la 5a columna de la matriz[Blb]; la.columna “D” se traslada desde la 4a de [Bla] ala 2a columna de la matriz [Blb]; y, la columna Έ” se traslada desde la 5a de [Bla] a la 4a columna de la matriz [Blb], (Ver Figura 1);
(204) Definición de Paralelógramos Concéntricos en [Ble] (previo al Giro):
Para facilitar la ejecución de la trasposición de los paral el ogramos concéntricos de la matriz [Ble] del paso siguiente, se muestra la distribución de las posiciones del “conjunto numérico” con las filas y columnas ya transpuestas en la matriz [Blb] “sin giro”, antes de efectuar el giro definido en la clave CK2;
(205) Trasposición de los paralelógramos concéntricos de la matriz [Ble] (con Giro):
Con los 3 caracteres (“+03”) siguientes de la clave CK2, se traspone el contenido de las casillas de los rectángulos concéntricos, mostrados en la matriz [Blb], moviendo dicho contenido en 3 posiciones en sentido horario (giro positivo es indicado por el signo “+”).
De este modo, (por ej.) los números “14-1-19” de la fila superior del rectángulo interior de la matriz [Ble] “antes del giro”, pasan a ocupar la fila inferior de dicho rectángulo, como “19—1— 14”; mientras que (por ej.) el número “6” de la fila superior del rectángulo externo de la matriz [Ble] “antes del giro” (junto con todos los demás números en ese rectángulo concéntrico), se desplaza tres posiciones a la derecha (ver matriz [Ble] en Figura 1); (206) Trasposición de la matriz [Ble] mediante un proceso de reflexión, con lo que se obtiene la matriz [B2]:
Con el último carácter (“H”) de la clave CK2, se refleja en forma “Horizontal” la matriz [Ble] generada en el paso anterior, para generar la matriz [B2] que es la matriz del “nuevo ordenamiento numérico”; de este modo, ya que se está efectuando una “reflexión horizontal”, se produce una nueva trasposición de las columnas de la matriz, haciendo que: la Ia columna (extremo izquierdo), quede en la 5a posición; la segunda columna quede en la cuarta posición; y así sucesivamente, hasta haber desplazado todas las columnas de la matriz (ver Figura. 1);
Estructura y Tamaño de la Clave CK2:
Como se pudo apreciar, la estructura y el tamaño de la clave CK2 y de la clave CK1 están definidos por los mismos elementos:
CK2 = “Reordenamiento de (N) Filas” + “Reordenamiento de (M) Columnas”
+ “Sentido de Giro (“+/-”) + “Desplazamiento del Giro (G)” + “Tipo de reflexión” (“H”= Horizontal; “V” = Vertical; “D” = Diagonal Derecha; “T’= Diagonal Izquierda”) = “N” caracteres + “M” caracteres + 1 carácter + 2 dígitos + 1 carácter. En el caso del ejemplo, el tamaño de la clave es de = 4 + 5 + 1 + 2 + 1 = 13 caracteres = 104 bits.
3) Generar un Mensaje Cifrado:
Tomando el “nuevo ordenamiento numérico” (301: matriz [B2]) y el “Mensaje Intermedio” (302: matriz [A2]), para generar el “Mensaje Cifrado” (303: matriz [Cl]) con la clave CK3 = “OIA":
(301) “Nuevo ordenamiento numérico”:
Incluido sólo a título de referencia visual (la misma del proceso 206).
(302) Mensaje Intermedio:
Incluido sólo a título de referencia visual (la misma del proceso 106).
(303) Mensaje Cifrado:
Con los 3 caracteres (“OIA”) de la clave CK3, se efectúa el Cifrado del mensaje, substituyendo el texto del “Mensaje intermedio”, adelantando los caracteres, en la cantidad de posiciones indicadas en el “nuevo ordenamiento numérico”, generando de esta forma la matriz [Cl] leyendo el ordenamiento desde la posición (“01”) y recorrí éndoloen forma ascendente (sentido del recorrido indicado por “A” de “Ascendente”), según se define en la clave. En la Figura 1, se puede ver en detalle cada paso del proceso de cifrado del mensaje.
De este modo, (por ej.) la posición “01” del “nuevo ordenamiento numérico” (que está en las coordenadas (c, 2) de la matriz [B2]) indica que el carácter “m” que está en las coordenadas (c, 2) de la matriz [A2], se debe substituir en las coordenadas (c, 2) de la matriz [Cl], por el carácter que está 1 posición adelante (“OIA”). El carácter siguiente a la letra “m” del alfabeto de sustitución es la letra “n”. Por consiguiente, en las coordenadas (c, 2) de la matriz [Cl], se substituye el carácter “m” del “mensaje intermedio”, por el carácter “n” en el mensaje cifrado;
Para la posición “02” del “nuevo ordenamiento numperico” (de coordenadas (a, 4) en la matriz [B2]) se substituye el carácter “1” (de las coordenadas (a, 4) de la matriz [A2]) por el carácter “n” (que está a dos posiciones siguientes en el alfabeto) de sustitución y se incorpora en las coordenadas (a, 4) de la matriz [Cl];
Para la posición “03” del nuevo ordenamiento numérico” (coordenadas (e, 4) de la matriz [B2]), el carácter del “mensaje intermedio” es el separador de palabras “*”, el que - como ya dijimos, no se sustituirá por lo que en las coordenadas (e, 4) de la matriz [Cl] aparece también el
Con la posición “04”(coordenadas (d, 4) de [B2]), el carácter “c” de la matriz [A2], se sustituye en las coordenadas (d, 4) de la matriz [Cl] por el carácter “g” pues en el alfabeto de sustitución la letra “g” está 4 posiciones más adelante que la letra “c” ; y así sucesivamente, hasta sustituir todos los caracteres del “mensaje intermedio”, con lo que se termina el cifrado y la obtención de la matriz [Cl]
Como es de suponer, cuando el número de posición del nuevo ordenamiento numérico” supere la cantidad de caracteres del alfabeto utilizado para las sustituciones, se debe continuar la cuenta nuevamente a partir del primer carácter de dicho alfabeto, si el recorrido es ascendente; o a partir del último carácter del alfabeto, si el recorrido es descendente.
Estructura y Tamaño de la Clave CK3:
Como se pudo apreciar, la estructura y el tamaño de la clave CK3 están definidos por:
CK3 = “Posición de Inicio de la Sustitución”
+ “Sentido de recorrido (A = Ascendente / D = Descendente)” En el caso del ejemplo, el tamaño de la clave es de = 2 dígitos + 1 carácter = 3 caracteres = 24 bits.
Figura 2: Componentes de cada matriz, en relación posicional con el “conjunto numérico” inicial, con el “nuevo ordenamiento numérico” y con el “alfabeto de sustitución”.
En la Figura 2 se muestra el detalle del contenido de cada una de las 6 matrices del ejemplo desarrollado en la Figura 1, para cada posición del “alfabeto de sustitución” [A0]; del “mensaje base” [Al]; del “mensaje intermedio” [A2]; del “conjunto numérico” [Bl]; del “nuevo ordenamiento numérico” [B2]; y del “mensaje cifrado” [Cl]
Matriz [A0]: Alfabeto de Substitución.
(401): Posiciones “1” a “26” de los caracteres del “alfabeto de sustitución”;
(402): Texto del alfabeto con la distribución de caracteres más simple que se puede utilizar para la sustitución, al cifrar el “mensaje intermedio”;
Matriz [Al]: Mensaje Base
(403): Texto original del “mensaje base” para el ejemplo desarrollado;
(404): Coordenadas de cada carácter del “mensaje base” en la matriz [Al];
Matriz [A2]: Mensaje Intermedio
(405): Texto traspuesto del “mensaje intermedio” para el ejemplo;
(406): Coordenadas de cada carácter del “mensaje intermedio”, en la matriz [A2];
Matriz [Bl]: “Conjunto numérico” inicial
(407): Posiciones “1” a “20” del Conjunto numérico” inicial utilizado en el ejemplo;
(408): Coordenadas de cada posición del “Conjunto numérico” inicial, en la matriz [Bl];
Matriz [B2]: “Nuevo ordenamiento numérico”
(409): Posiciones “1” a “20” del “nuevo ordenamiento numérico” generado en el ejemplo;
(410): Coordenadas de cada posición del “nuevo ordenamiento numérico”, en la matriz [B2];
Matriz [Cl]:
(411): Texto del “mensaje cifrado” generado en el ejemplo;
(412): Coordenadas de cada carácter del “mensaje cifrado”, en la matriz [Cl]; Proceso de Descifrado:
En la Figura 1, el detalle descrito para explicar el ejemplo del cifrado, también se puede utilizar para explicar todos los pasos necesarios para el proceso del descifrado. Suponiendo que el corresponsal ha enviado el mensaje cifrado al destinatario; que éste lo ha recibido (a través de un canal no protegido) junto con el conjunto numérico público; y que también ha recibido las respectivas claves (a través de un canal protegido previamente acordado), a continuación se describe los pasos del proceso del descifrado (cuya numeración mantiene la indicada en el proceso de cifrado, a fin de mostrar la secuencia seguida y para hacer evidente que al “descifrar”, se revierte el efecto del “cifrado”):
(la → Id) → (3) → (2d → 2a)
2 Generar el “Nuevo Ordenamiento Numérico” (matriz [B2]):
Con el “conjunto numérico” original (matriz [Bl]) y utilizando la clave “CK2 = 3142BDAEC+03H” recibidas por el corresponsal destinatario desde el corresponsal despachador, se puede comenzar el proceso de generación del “nuevo ordenamiento numérico” a efectuar por parte del destinatario, proceso que incluye las operaciones siguientes: la) Trasposición de las filas de la matriz [Bl], con lo que se genera la matriz [Bla] que se muestra en la Figura 1;
Lb) Trasposición de las columnas de la matriz [Bla], con lo que se genera la matriz [Blb] que se muestra en la Figura 1; le) Trasposición de los paralelogramos concéntricos de la matriz [Blb] “antes del giro”, con lo que se genera la matriz [Ble] que se muestra en la Figura 1;
Id) Reflexión “Horizontal” de la matriz [Ble], con lo que se genera la matriz [B2] que se muestra en la Figura 1;
3) Recuperar el “Mensaje Intermedio” a partir del “Mensaje Cifrado”:
Tomando el Mensaje Cifrado [C1] y la clave CK3 = “OIA" recibidos desde el corresponsal, en la Figura 1 se puede ver en detalle el proceso de recuperación del “mensaje intermedio” mediante la reversión de las operaciones de sustitución efectuadas utilizando la clave CK3 para generar la matriz [A2]: Ya que en el proceso de cifrado del mensaje, lo que se hizo fue sustituir cada carácter del “mensaje intermedio” utilizando las posiciones del “nuevo ordenamiento numérico” para “adelantar” los caracteres, la cantidad de caracteres indicada por la posición del ordenamiento en la que se está efectuando la sustitución, para recuperar el “Mensaje Intermedio”, bastará con “atrasar” los caracteres del mensaje cifrado, la cantidad de caracteres indicada por la posición del ordenamiento para la que se está efectuando la sustitución;
De este modo, para la posición “01” del mensaje cifrado (letra “n” en las coordenadas (c, 2) de la matriz [Cl]), habrá que “atrasar” la letra “n” en 1 posición; es decir en las coordenadas (c, 2) de la matriz [A2], corresponde que haya una “m” (que es la letra anterior a la “n”, en el alfabeto de sustitución);
Para la posición “02” del mensaje cifrado (letra “n” en las coordenadas (a, 4) de la matriz [Cl]), habrá que “atrasar” la letra “n” en 2 posiciones; es decir en las coordenadas (a, 4) de la matriz [A2], corresponde que haya una letra “1” (que es la letra dos posiciones anteriores a la “n”, en el alfabeto de sustitución);
En la posición “03” del mensaje cifrado (coordenadas (e, 4) de la matriz [Cl]), no hay cambio pues se trata del carácter “*” utilizado como separador de caracteres, por lo que en las coordenadas (e, 4) de la matriz [A2] corresponde que vaya el mismo carácter;
Y así sucesivamente, hasta haber recorrido todas las posiciones de la matriz [Cl]
Finalmente, cabe señalar que - a menos que las vocales tildadas se incluyan en el alfabeto de sustitución, al “recuperar” el “Mensaje Intermedio” a partir del “mensaje cifrado”, dichas vocales no quedarán reflejadas en forma tildada el “mensaje intermedio”.
2) Recuperar el “Mensaje Base” a partir del “Mensaje Intermedio”:
Tomando el “Mensaje Intermedio” (matriz [A2] obtenida en el proceso anterior) y la clave “CK1 = 4231ACBED-04V" recibida desde el corresponsal despachador, en la Figura 1 se puede ver en detalle el proceso de recuperación del “mensaje base” original mediante la reversión de las operaciones de trasposición efectuadas utilizando la clave CK1 para generar la matriz [Al] Esto requiere revertir los efectos de las operaciones realizadas, lo que significa - en este caso, aplicar en el sentido inverso al que se utilizaron, las 4 formas diferentes de trasponer el mensaje base original (y “secreto”), las cuales están descritas en la clave CK1. 2d) Revertir la Reflexión aplicada, para obtener la matriz [Ale]:
Ya que la clave indica “reflexión vertical” (“V” = posición #13 de la clave CK1) corresponde a una trasposición de las filas de la matriz [A2], la matriz [Ale] se obtiene trasladando la 4a fila (fila superior) de la matriz [A2], a la posición de la Ia fila (fila extrema inferior); y así sucesivamente, hasta mover las 4 filas.
2c) Revertir el Giro de los rectángulos concéntricos, para obtener la matriz [Alb]:
Ya que el giro que se aplicó fue “-04” (trasponer los caracteres 4 posiciones en sentido levógiro), para revertir el efecto, será necesario aplicar el giro contrario “+04”; es decir, trasponer los caracteres de los rectángulos concéntricos de la matriz [A2], 4 posiciones en sentido dextrógiro, con lo que se obtendrá la matriz [Alb]
De este modo (por ejemplo), los caracteres “o-m-t” (de la fila superior del rectángulo concéntrico interior) ubicadas en las coordenadas (b, 3) - (c, 3) - (d, 3) de la matriz [Ale], después de revertir el giro quedan ubicadas en las coordenadas (c, 2) - (b, 2) - (b, 3) de la matriz [Alb] Del mismo modo (por ejemplo), los caracteres “a-a-o-y-?” de la primera línea del rectángulo concéntrico exterior, después de revertir el giro cambian sus coordenadas desde (a, 4) - (b, 4) - (c, 4) - (d, 4) - (e, 4) en la matriz [Ale], hasta (e, 4) - (e, 3) - (e, 2) - (e, 1) - (d, 1) en la matriz [Alb]
2b) Revertir la Trasposición de Columnas, para obtener la matriz [Ala]:
Ya que la trasposición de columnas fue transformar las columnas “ABCDE” de [Ala] en las columnas “ACBED” de [Alb], para recuperar la matriz [Ala], basta con efectuar el proceso inverso a la matriz [Alb] De este modo, la Ia columna (extremo izquierdo) de la matriz [Alb] no se mueve pues no fue traspuesta, con lo que en la matriz [Ala] queda en la misma posición. La 2a columna de la matriz [Alb] debe quedar en la 3a columna (de izquierda a derecha) de la matriz [Ala]; y así sucesivamente, de acuerdo a lo indicado en la conversión de las columnas desde “ACBED” a “ABCDE”, para obtener la matriz [Ala] (Ver Figura 1).
2a) Revertir la Trasposición de Filas, para obtener la matriz [Al]:
Ya que la trasposición de filas (leídas desde el extremo superior al inferior) fue transformar las filas “4321” de la matriz [Al] en las filas “4231” de la matriz [Ala], para recuperar la matriz [Al] (que contendrá el “Mensaje Base” original), basta con efectuar el proceso de trasposición inverso a la matriz [Ala] De este modo, la 4a fila (extremo superior) de la matriz [Ala] no se mueve pues no fue traspuesta, con lo que en la matriz [Al] queda en la misma posición. La 3a fila de la matriz [Ala] debe quedar en la 2a fila (desde el extremo superior) en la matriz [Al]; y así sucesivamente, de acuerdo a lo indicado en la conversión de las filas desde “4231” a “4321”, para obtener la matriz [Al] (Ver Figura 1).
Cálculo de la Robustez del Método, según el ejemplo explicado: a) Generación del “mensaje intermedio”:
La matriz escogida es de tamaño [5x4] con lo que la cantidad de filas (M) es “5” y la cantidad de columnas (N) es “4”. Se definió un “mensaje base” con 20 caracteres de longitud (MxN). Las operaciones definidas para reordenar el “mensaje base” son: a.l) Trasposición de las columnas: (Nai = 120 opciones).
Para trasponer las columnas, hay M! (Factorial de M) formas de hacerlo. En el ejemplo,
5! = 120. a.2) Trasposición de las filas: (Na2 = 24 opciones).
Para trasponer las filas hay N! (Factorial de M) formas diferentes de hacerlo. En el ejemplo, 4! = 24. a.3) Giro de los paralelógramos concéntricos: (Na3 = 336 opciones).
Para girar el contenido de los paralelógramos concéntricos, hay Na3 formas diferentes de hacerlo, incluyendo ( 2^(N/2) ) opciones considerando los giros “positivos” (en el sentido de los punteros del reloj) o “negativos” (en contra de los punteros del reloj) para cada uno de los (N/2) paralelógramos concéntricos (considerando sólo la componente entera para dicho cuociente, pues si “N” es impar habrá un paralelógramo central de tamaño ( M x 1 ) que no se gira). La expresión para la cantidad de opciones será:
Na3 ={ P 2 x [ (M + N ) - 2 x ( 2n + 1 ) ]} x ( 2^( N \ 2 ) ), para índices de la productoria desde n = 0 a k.
Con ( n = k ) tal que ( N - 2k = 2 ), para valores pares de N; y,
Na3 ={ P 2 c [ (M + N ) -2 c ( 2h + 1 ) ]} c [ M-2(k+l) ] x ( 2^(N \ 2 )+l ), y los mismos índices. Con ( n = k ) tal que ( N - (2k+l) = 2), para valores impares de N; y (N\2) = parte entera del cuociente.
Nótese que el factor [ M - 2(k+l) ] da cuenta de la cantidad de opciones para los “giros” cíclicos de un paral el ógramo central, de tamaño (Mxl) que se presentará en las matrices con N impar.
En el ejemplo, para M = 5 y N = 4, se tiene que k = 1 :
Na23 = {2 x [(5+4) - 2 x (2x0+1)]} x (2 x [(5+4) - 2 x (2x1 + 1)]} x ( 2^2 )
= ({ 14 } x { 6 } x 4 ) = 336. a.4) Reflexión de la matriz: (Na4 = 4 opciones).
Para reflejar la matriz, hay 4 formas diferentes de hacerlo: horizontal, vertical, diagonal izquierda y diagonal derecha. Nótese que en el caso de las reflexiones diagonales, en realidad se trata de una reflexión y un giro combinados, por lo que la matriz [MxN] quedaría como [NxM], lo que haría necesario seguir usando matrices [NxM] en la aplicación del método. a.5) Orden de aplicación de los 4 pasos: (Na5 = 24 opciones).
Adicionalmente, el orden en el que se aplique los 4 pasos anteriores genera otras 4! opciones, con lo que la cantidad de opciones (Na) para la etapa de reordenamiento del mensaje base sería de:
Opciones del proceso (a):
Na = Nal X Na2 X Na3 X Na4 X Na5
= ( M! x N! x [ { P 2 x [ (M + N ) - 2 x ( 2n + 1 ) ]} x 2^( N/2 ) ] x 4 x 4! )
Na = ( 5! x 4! x [({14} x {6}) x 2^2] x 4 x 4! ) = ( 120 x 24 x [ ( 84 ) x 4 ] x 4 x 24 )
= 92.897.280 = ( 9,28 x 10^7 )
Para índices de la productoria entre n=0 y k.
Si la extensión (cantidad de caracteres) del “mensaje base” requiriera de la definición de más de una matriz de tamaño (MxN), y para cada nueva matriz se cambiad “conjunto numérico”, el “alfabeto de sustitución” y las claves utilizadas para el reordenamiento y el cifrado, la cantidad de opciones Na calculada se incrementa en la misma cantidad, pero con un efecto multiplicador. b) Generacióndel “nuevo ordenamiento numérico”:
La matriz escogida es de tamaño [5x4] con lo que la cantidad de números del “conjunto numérico” es 20, por lo que hay 20! ( Factorial de 20 = 2,43 x 10^18 ) formas diferentes de crear la serie. Si se decidiera utilizar más deun “conjunto numérico”, cada nuevo ordenamiento aportará otras (MxN)! (Factorial de MxN) opciones, que se multiplican con las anteriores.
Las operaciones definidas para reordenar el “conjunto numérico” son: b.0) Definición del “conjunto numérico” (Nbo = 20! opciones) b.l) Trasposición de las columnas: (Nbi = 120 opciones). b.2) Trasposición de las filas: (Nb2 = 24 opciones). b.3) Giro de los paralelógramos concéntricos: (Nb3 = 336 opciones). b.4) Reflexión de la matriz: (Nb4 = 4 opciones). b.5) Orden de aplicación de los 4 pasos: (Nb5 = 24 opciones).
Opciones del proceso (b): Nb = Nbo x Nbi x Nb2 x Nb3 x Nb4 x Nb5
Nb = (MxN)! x ( M! x N! x { P 2 x [ (M + N ) - 2 x ( 2n + 1 ) ] } x 2^( N/2 ) x 4 x 4! ), para índices de la productoria entre n = 0 y k.
Para el ejemplo:
Nb = 20! x ( 5! x 4! x ({14x6} x 4 ) x 4 x 4! )
= ( 2,43 x 10^18 ) x ( 120 x 24 x 336 x 4 x 24 ) = ( 2,26 x 10^26 )
Nb = ( 2,26 x 10^26 ) c) Cifrado del “mensaje intermedio”:
Para el cifrado, es necesario definir (o seleccionar) un “alfabeto de sustitución”. Si el alfabeto contiene P caracteres, hay P! (Factorial de P) formas diferentes de reordenar dicho alfabeto. En el ejemplo, se utiliza un alfabeto de 26 caracteres, por lo que habrá 26! (Factorial de 26 = 4,03 x 10^26) formas diferentes de reordenar el alfabeto. Si se decidiera utilizar más de un alfabeto de sustitución, cada nuevo alfabeto aportará otras P! (Factorial de P) opciones, que se multiplican con las anteriores.
En el cifrado, se utiliza también el “nuevo ordenamiento numérico” para lo que hay (MxN)! (Factorial de MxN) formas diferentes de crear un nuevo ordenamiento, por lo que si se decidiera utilizar más de un “conjunto numérico” (en caso de que el “mensaje base” se hubiera fragmentado en más de un bloque), cada nuevo ordenamiento aportará otras (MxN)! (Factorial de MxN) opciones, que se multiplican con las demás opciones del cifrado. Cabe señalar que si se utiliza el mismo “conjunto numérico” creado en el proceso (b), la cantidad de opciones aportada por éste, ya fue considerada en dicho proceso.
Las operaciones definidas para cifrar el “mensaje intermedio” son: c.0) Definir el “alfabeto de sustitución”: (Nco = 26! opciones) c.l) Escoger la casilla inicial: (Nc1 = 26 opciones).
Para el cifrado del mensaje intermedio, es necesario decidir a partir de qué posición del mensaje se comenzará a efectuar la sustitución de caracteres. En un mensaje de (MxN) caracteres, hay (MxN) formas diferentes de escoger la casilla inicial. En el ejemplo, esto significa 26 opciones diferentes. c.2) Escoger un sentido de recorrido: (NC2 = 2 opciones).
Para el cifrado del mensaje intermedio, también es necesario decidir en qué sentido (horario / anti-horario) se recorrerá el “mensaje intermedio” para efectuar la sustitución de caracteres. Esto aporta con 2 opciones más. c.3) En caso de utilizar un nuevo “conjunto numérico”: (NC3 = 20! opciones)
No aplica para el ejemplo descrito.
Opciones del proceso (c) sin cambio de conjunto numérico:
Nc = Nco X Nc1 X Nc2 = P! X (MxN) x 2
Nc = 26! x ( 5 x 4 ) x 2 = ( 4,03 x 10^26 ) x 20 x 2 = ( 1,61 x 10^28 )
Con todo, las opciones del método serán: P (Ni) = Na x Nb x Nc
P (Ni) = [(MxN)!] x [ M! x N! x ( { P 2 x [ (M + N ) - 2 x ( 2n + 1 ) ] } x 2^( N/2 ) ) x 4 x 4!
]^2 x [P! x (MxN) x 2], para índices de la productoria entre n = 0 y k. En el ejemplo:
P (Ni) = Na X Nb X Nc = ( 9,28 x 10^7 ) x ( 2,26 x 10^26 ) x ( 1,61 x 10^28 )
= ( 3,38 x 10^62 )
En base al ejemplo descrito y a lo señalado respecto de la “Técnica Anterior”, parece razonable escoger un tamaño de matriz [MxN] de [16x4], de [16x8] o de [16x16]; esto es equivalente a decir que los bloques debieran ser de 64, 128 o 256 caracteres (512, 1024 o 2048 bits). Puesto que la robustez del método así lo permite, bastaría con un solo “ conjunto numérico”, un solo “alfabeto de sustitución” de “P” caracteres (26 o más) y una sola “ronda de encriptado” para bloques de 2048 bits; 2 rondas, para bloques de 1024; y tres rondas, para bloques de 512 bits.
Con alfabetos de 26 caracteres, la cantidad de opciones a explorar (en un ataque de fuerza bruta) sería: a) Para bloques de 512 bits con un “conjunto numérico”, un “alfabeto de sustitución” y tres “rondas de encriptado” (es decir, utilizando tres tríos de claves CK1, CK2 y CK3):
P (Ni) = {[(16x4)!] x [(16! x 4! x ( 36 x 28 ) x (2^2) x 4) x 4!]^2 x [26! x (16x4) x 2]}^3 P (Ni) = {[ 1,26 x 10^89 ] x [1,94 x 10^20 ]^2 x [ 5,16 x 10^28 ]}^3 = ( 1,51 x 10^475 ) b) Para bloques de 1024 bits con un “conjunto numérico”, un “alfabeto de sustitución” y dos “rondas de encriptado” (es decir, utilizando dos tríos de claves CK1, CK2 y CK3):
P (Ni) = {[(16x8)!] x [(16! x 8! x ( 44 x 36 x 28 x 20 ) x (2^4) x 4) x 4!]^2 x [26! x (16x8) x 2]}^2
= {[ 3,85 x 10^215 ] x [ 1,14 x 10^27 ]^2 x [ 1,03 x 10^29 ]}^2 = ( 2,76 x 10^597 ) c) Para bloques de 2048 bits, un “conjunto numérico”, un “alfabeto de sustitución” y una “ronda de cifrado” (es decir, usando un solo trío de claves Ckl, Ck2 y Ck3):
P (Ni) = [(16x16)!] x [(16! x 16! x ( 60 x 52 x 44 x 36 x 28 x 20 x 12 x 4 ) x (2^8) x 4) x 4!]^2 x [26! x (16x16) x 2]
= [ 8,57 x 10^506 ] x [ 1,42 x 10^42 ]^2 x [ 2,06 x 10^29 ]
= ( 3,61 x 10^620 )
Otras formas de aumentar la Robustez del método: Se logrará aportar un efecto multiplicador sobre la cantidad de opciones generadas por el método (y que sería necesario explorar, en caso de un “ataque de fuerza bruta” -mediante un algoritmo automático), si:
• Se aumenta la cantidad de bloques en los que se fragmente el “mensaje base” (si la cantidad de caracteres del “mensaje base” así lo requiere, al aplicar el método);
• Se aumenta la cantidad de “operaciones” utilizadas en el reordenamiento del mensaje base”;
• Se aumenta la cantidad de “operaciones” utilizadas en el reordenamiento del “ conjunto numérico”;
• Se aumenta la cantidad de veces que se aplica el reordenamiento del “mensaje base”;
• Se aumenta la cantidad de veces que se aplica el reordenamiento del “conjunto numérico”;
• Se aumenta la cantidad de “operaciones de sustitución” aplicadas en un mismo proceso de cifrado;
• Se aumenta la cantidad de “conjuntos numéricos” utilizados en un mismo proceso de cifrado;
• Se aumenta la cantidad de “alfabetos de sustitución” utilizados en un mismo proceso de cifrado;
• Se combina algunas (o todas) las formas relacionadas con el paso de cifrado, en un mismo proceso de cifrado;
• Se aumenta la cantidad de procesos de cifrado (sustitución de caracteres en el “mensaje intermedio”).
Cabe hacer notar que todas las formas antes mencionadas, deben quedar codificadas en las claves CK1, CK2 y CK3, incluyendo el orden en el que se decida aplicar los elementos del método que se agregue.
Estructura y Tamaño de las Claves para la “realización preferente”: a) Para Bloques de 512 bits:
Tamaño CK1 = Tamaño de CK2 (pues ambas claves tienen la misma estructura)
Tamaño CK2 = 4 dígitos (reordenamiento de las filas: números del 1 a 4)
+ 16 Caracteres (reordenamiento de las columnas: letras de la “A” a la “P”) + “Sentido del Giro” ( + / - )
+ “Desplazamiento del Giro” ( “G” posiciones tal que: 0 < G < 64 )
+ “Tipo de Reflexión” (V = Vertical; H = Horizontal; I = Diag. Izquierda;
D = Diagonal Derecha )
+ “Código del Conjunto Numérico”
( por ej., con 3 caracteres = 26^3 códigos para conjuntos numéricos diferentes = 17.576 códigos).
= 4 dígitos + 16 caracteres + 1 carácter (signo) + 2 dígitos + 1 carácter + 3 caracteres = 27 caracteres = 216 bits.
Tamaño CK3 = “Posición de Inicio de la Sustitución” ( “n” tal que tal que: 1 < n < 64 )
+ “Sentido de recorrido (A = Ascendente / D = Descendente)”
= 2 dígitos + 1 carácter = 3 caracteres = 24 bits. b) Para Bloques de 1024 bits:
Tamaño CK1 = Tamaño de CK2 (pues ambas claves tienen la misma estructura)
Tamaño CK2 = 8 dígitos (reordenamiento de las filas: números del 1 a 8)
+ 16 Caracteres (reordenamiento de las columnas: letras de la “A” a la “P”)
+ “Sentido del Giro” ( + / - )
+ “Desplazamiento del Giro” ( “G” posiciones tal que: 0 < G < 128 )
+ “Tipo de Reflexión” (V = Vertical; H = Horizontal; I = Diag. Izquierda;
D = Diagonal Derecha )
+ “Código de la Serie Numérica”
( por ej., con 3 caracteres = 26^3 códigos para conjuntos numéricos diferentes = 17.576 códigos).
= 8 dígitos + 16 caracteres + 1 carácter (signo) + 3 dígitos + 1 carácter + 3 caracteres = 32 caracteres = 256 bits.
Tamaño CK3 = “Posición de Inicio de la Sustitución” ( “n” tal que tal que: 1 < n < 128 ) + “Sentido de recorrido (A = Ascendente / D = Descendente)” = 3 dígitos + 1 carácter = 4 caracteres = 32 bits. c) Para Bloques de 2048 bits:
Tamaño CK1 = Tamaño CK2 = 16 dígitos (nuevas filas)
+ 16 Caracteres (nuevas columnas) + “Sentido del Giro” ( + / - )
+ “Desplazamiento del Giro” ( “G” posiciones tal que: 0 < G < 256 )
+ “Tipo de Reflexión” (V = Vertical; H = Horizontal; I = Diag. Izquierda;
D = Diagonal Derecha ) + “Código del conjunto numérico”
= 16 dígitos + 16 caracteres + 1 carácter (signo) + 3 dígitos + 1 carácter + 3 caracteres = 40 caracteres = 320 bits.
Tamaño CK3 = “Posición de Inicio de la Sustitución” ( “n” tal que tal que: 1 < n < 256 ) + “Sentido de recorrido (A = Ascendente / D = Descendente)”
= 3 dígitos + 1 carácter = 4 caracteres = 32 bits.
Cabe hacer notar que cuando se menciona un “código de conjunto numérico” en las definiciones anteriores, estamos suponiendo que éstos permiten identificar los elementos de un repositorio de “conjuntos numéricos” definido previamente al efecto y conocido por las partes corresponsales.
Del mismo modo, se puede contar con repositorios para los alfabetos de sustitución; para las operaciones de reordenamiento; para las funciones de sustitución; o, incluso, para las claves a utilizar.

Claims

PLIEGO DE REIVINDICACIONES:
1. Un método para encriptar datos, donde en un sistema implementado en forma computacional o en circuitos digitales integrados, se utiliza un “conjunto numérico” para cifrar un “mensaje base” haciendo su contenido ininteligible. Dicho método, está CARACTERIZADO por las acciones siguientes: a) Definir un “mensaje base” con cierto tipo de “caracteres”, escogido de entre los tipos de “caracteres” posibles de utilizar según lo previamente acordado entre las partes corresponsales. A partir del número total de caracteres en este “mensaje base”, se construye una o varias matrices [Al] de tal forma que el total de caracteres del “mensaje base”, quede contenido en dichas matrices. b) Definir un “conjunto numérico” compuesto por números consecutivos desde “1” hasta el “tamaño” de la matriz (igual al producto del número de filas por el número de columnas), distribuidos en forma aleatoria en una matriz [Bl] del mismo tamaño que la matriz [Al], c) Establecer una serie de cuatro (4) operaciones sucesivas de reordenamiento que serán aplicadas en la matriz [Al], que contiene el “mensaje base”, para transformarlo en un “mensaje intermedio” [A2],
Las operaciones de reordenamiento, son del tipo: trasposición de las filas; trasposición de las columnas; giro (horario/anti horario) de paralelógramos concéntricos; y reflexión de la matriz (vertical, horizontal, diagonal izquierda o diagonal derecha, estas dos últimas en el caso de una matriz cuadrada).
Se codifica la serie con las cuatro (4) operaciones por aplicar, conformando la clave CK1. d) Establecer otra serie de cuatro (4) operaciones sucesivas de reordenamiento que serán aplicadas en la matriz [Bl], que contiene el “conjunto numérico”, para transformarlo en un “nuevo ordenamiento numérico” [B2],
Las operaciones de reordenamiento de la matriz [Bl], son del mismo tipo que las del reordenamiento de la matriz [Al],
Se codifica la serie con las cuatro (4) operaciones por aplicar, conformando la clave CK2. e) Aplicar la clave CK1 para reordenar el “mensaje base” [Al], generando así el “mensaje intermedio” [A2] Aplicar la clave CK2 para reordenar el “ conjunto numérico” [Bl], generando así el “nuevo ordenamiento numérico” [B2] f) Definir un “alfabeto de sustitución” [A0], especificando la cantidad y los tipos de caracteres que lo conforman, además de la ubicación que tendrá cada uno de ellos en dicho alfabeto.
El “alfabeto de sustitución” tiene estructura circular, es decir, el carácter a continuación del último, es el primero de la serie. g) Establecer, utilizando el “nuevo ordenamiento numérico” [B2], la posición en el “mensaje intermedio” [A2] desde la que se iniciará la sustitución y el sentido de recorrido (hacia el final o hacia el inicio) en dicho mensaje.
Esto se codifica en la clave CK3 especificando la operatoria a seguir para construir el “mensaje cifrado” [Cl] h) Establecer una “operación de reemplazo” de cada carácter del “mensaje intermedio” [A2] por otro carácter que se obtiene al desplazar en un número determinado de posiciones, la ubicación del carácter original dentro del “alfabeto de sustitución” [A0]
El desplazamiento para el reemplazo de los caracteres del mensaje, se realiza en forma progresiva (hacia adelante) o regresiva (hacia atrás), y en el sentido de recorrido del mensaje que se defina en CK3 para avanzar en la sustitución.
Los espacios en blanco, los asteriscos, los números y cualquier otro carácter especial que no se encuentre definido en el “alfabeto de sustitución”, se mantendrá sin modificación en el “mensaje cifrado” (salvo las vocales tildadas, que se deben manejar como vocales no tildadas). En el caso de tener que efectuar la sustitución de un carácter definido en el “alfabeto de sustitución” que aparezca en el “mensaje intermedio” en mayúscula, el carácter de sustitución que corresponda, se incluirá también en mayúscula. i) Iniciar el cifrado, identificando en el “nuevo ordenamiento numérico” [B2] el número de posición desde el que se iniciará la sustitución (cifra inicial) e identificar el carácter ubicado en dicha posición dentro del “mensaje intermedio” [A2] j) Identificar la posición en el alfabeto [A0] del primer carácter a sustituir y establecer la ubicación del carácter de sustitución moviéndose en el alfabeto de sustitución desde la posición del carácter original tantas posiciones como lo indique la cifra inicial. k) Reemplazar el carácter original en el “mensaje intermedio” [A2] por el de sustitución identificado, estableciéndose así el primer carácter del “mensaje cifrado” [Cl]
Se repite la operación de las acciones (li) a (lk) para los caracteres sucesivos dentro del “mensaje intermedio” [A2], siguiendo el sentido de recorrido que define la clave CK3, con lo que se va conformando el “mensaje cifrado” [Cl] l) Transmitir al corresponsal destinatario, el “conjunto numérico” [Bl] (o su código de identificación) y el “mensaje cifrado” [Cl], utilizando un canal de comunicación que no necesita estar protegido. m) Transmitir al corresponsal destinatario, el “alfabeto de sustitución” [A0] (o su código de identificación) y las claves CK1 a CK3, mediante un canal protegido y previamente acordado. n) Descifrar el mensaje por parte del corresponsal destinatario, aplicando el método de manera inversa al descrito por las acciones (li) a (lk) en base al “alfabeto de sustitución”, a las claves CK1 a CK3, al “mensaje cifrado” y al “conjunto numérico” original.
2. El método de la reivindicación 1, CARACTERIZADO porque en los detalles y variantes de las acciones (la) a la (lk) se considere como “modo de implementación preferente”: a) Que en la acción (la) se codifique el “tamaño del bloque”, al inicio de la clave CK1. b) Que en la acción (la), los “caracteres” del “mensaje base” pueden ser alfabéticos (en cualquier idioma), numéricos, alfanuméricos, símbolos, ideogramas, fonemas, imágenes u otros; y pueden estar codificados en ASCII, UTF-8, Unicode o en alguna otra forma de codificación digital o analógica. c) Que en la acción (la), la matriz [Al] se define en tamaños de (16x4), de (16x8) o de (16x16) caracteres y se escoge en base a la cantidad de caracteres del “mensaje base”. d) Que en la acción (la), si el número de caracteres del “mensaje base” supera el tamaño de la matriz, se fragmente el mensaje en bloques de 64 caracteres (para un tamaño de matriz de 16x4); de 128 caracteres (para un tamaño de matriz de 16x8); o de 256 caracteres (para un tamaño de matriz de 16x16). e) Que en la acción (la), si el número de caracteres del “mensaje base” (o el número de caracteres del último fragmento del mensaje) es menor al tamaño de la matriz [Al] que se haya utilizado, se debe agregar la cantidad necesaria de “espacios en blanco” como caracteres “de relleno”, para completar dicha matriz. f) Que en la acción (la), para la separación de palabras en el “mensaje base” se utilice el carácter “espacio en blanco”, con lo que se complete la definición de la matriz [Al], g) Que en la acción (Ib), el “conjunto numérico” también puede estar compuesto por un conjunto ascendente o descendente, de (MxN) números no necesariamente consecutivos y constituyendo una serie, una secuencia o una sucesión numérica. h) Que en la acción (Ib), también se puede obtener el “conjunto numérico” [Bl] mediante un generador de conjuntos numéricos diseñado al efecto, para matrices de tamaño (16x4), (16x8) y (16x16) que considere los parámetros involucrados; o seleccionándolo a partir de un repositorio que contenga un repertorio de conjuntos numéricos previamente definidos e identificados en forma inequívoca. i) Que en la acciones (Ib) y (2h) se codifique el identificador del “conjunto numérico”, al inicio de la clave CK2. j) Que en las acciones (le), (Id) y (le), para el reordenamiento de las matrices [Al] se utilice la clave CK1 con la codificación de las cuatro (4) operaciones que se hubiera definido para cada una de ellas. k) Que en las acciones (le), (Id) y (le), para el reordenamiento de las matrices [Bl] se utilice la clave CK2 con la codificación de las cuatro (4) operaciones que se hubiera definido para cada una de ellas. l) Que en la acción (lf), se puede obtener el “alfabeto de sustitución” [A0] mediante un generador de alfabetos diseñado al efecto, para matrices de tamaño (16x4), (16x8) y (16x16) que considere los parámetros involucrados; o seleccionándolo a partir de un repositorio que contenga un repertorio de alfabetos previamente definidos e identificados en forma inequívoca. m) Que en la acción (lf), el “alfabeto de sustitución” puede incluir los caracteres alfabéticos, caracteres alfanuméricos, caracteres especiales, vocales o consonantes con acentos ortográficos, números, signos, símbolos, iconos y otros que correspondan al idioma y/o a la codificación empleados. n) Que en las acciones (lf) a (lk), se utilice la clave CK3 con la codificación de la posición de inicio de la sustitución y del sentido de recorrido del “nuevo ordenamiento numérico” [Bl] con los que se efectuará el cifrado de las matrices [A2] o) Que en la acción (lg), se utilice solo un “nuevo ordenamiento numérico” y solo un “alfabeto de sustitución”, para el cifrado de todas las matrices [A2] p) Que en la acciones (lf) y (lg), para evitar tener que transmitirlos en las acciones (11) y (lm) al corresponsal destinatario, se identifique también en la clave CK2 el “conjunto numérico”; y en la clave CK3, el “alfabeto de sustitución” a utilizar. q) Que en las acciones (le) a la (lg), se puede obtener las claves CK1 a CK3, mediante un generador de claves diseñado al efecto, para matrices de tamaño (16x4), (16x8) y (16x16) que considere los parámetros involucrados; o seleccionándolas a partir de un repositorio que contenga un repertorio de claves previamente definidas e identificadas en forma inequívoca. r) Que las acciones (la) a la (lk) y que constituyen una “ronda de encriptado” del método, se apliquen una sola vez para las matrices de tamaño (16x16); dos veces para las matrices de tamaño (16x8); y tres veces para las matrices de (16x4) elementos. En cada caso, se puede definir la cantidad de tríos de claves CK1, CK2 y CK3 que corresponda; o bien, se puede utilizar un solo trío de claves en todas las rondas. s) Que las acciones (la) a la (lk) y que constituyen una “ronda de encriptado” del método, se apliquen una cantidad de veces a ser establecida de común acuerdo con el corresponsal destinatario, para las matrices de tamaño (16x16), de (16x8) y de (16x4) elementos. En cada caso, se puede definir la cantidad de tríos de claves CK1, CK2 y CK3 que corresponda; o bien, se puede utilizar un solo trío de claves en todas las rondas. t) Que las acciones (la) a la (lk) y que constituyen una “ronda de encriptado” del método, se apliquen una cantidad de veces a ser establecida de común acuerdo con el corresponsal destinatario, para matrices de (MxN) elementos cuyo tamaño sea establecido entre las partes. En cada caso, se puede definir la cantidad de tríos de claves CK1, CK2 y CK3 que corresponda; o bien, se puede utilizar un solo trío de claves en todas las rondas.
3. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de las acciones (la) y (Ib): a) La matriz [Al] se puede definir también en un tamaño de [MxN] caracteres. b) Para los “separadores de palabras” y para los “caracteres de relleno” en el “mensaje base”, en vez del “espacio en blanco” se puede utilizar otro carácter del “alfabeto de sustitución”, o varios otros, con los que se complete la definición de la matriz [Al] c) En caso de ser necesario definir más de una matriz [Al] para contener el “mensaje base”, también se puede definir (generar o seleccionar) varias matrices [Bl], todas del mismo tamaño y cantidad que las matrices [Al], cada una con un “conjunto numérico” diferente.
4. El método de la reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de las acciones (le) y (Id): a) El reordenamiento del “mensaje base” [Al] también se puede omitir y efectuar con posterioridad al cifrado, para lo que sólo se necesitará haber reordenado el “conjunto numérico” [Bl] De este modo, lo que se reordenará será la matriz [Cl], generando una matriz [C2] con el “mensaje cifrado y reordenado”.
5. El método de la reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de las acciones (le), (Id) y (le): a) A cada una de las matrices [Al] y [Bl], se puede aplicar respectivamente cuartetos iguales de operaciones de reordenamiento diferentes entre sí; o bien, diferentes cuartetos, de operaciones diferentes entre sí. En cada una de estas variantes, es necesario escoger una de entre todas las formas diferentes de definir las operaciones de reordenamiento para generar las matrices [A2] y [B2]; y también escoger el orden en el que éstas serán aplicadas. Esto tendrá el efecto correspondiente sobre las claves CK1 y CK2, las que reflejarán las nuevas operaciones de reordenamiento y el orden de aplicación. b) Las operaciones de reordenamiento de las matrices [Al] y [Bl] pueden ser más de cuatro (4), repitiendo (o creando nuevas) operaciones de reordenamiento;
6. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de la acción (lf): a) Al igual que en el “mensaje base” los “caracteres” del “alfabeto de sustitución”, pueden ser alfabéticos (en cualquier idioma), alfanuméricos, símbolos, ideogramas, fonemas, imágenes u otros; y pueden estar codificados en ASCII, UTF-8, Unicode o en alguna otra forma de codificación digital o analógica. b) Para decidir la posición de cada uno de los “caracteres” del “alfabeto de sustitución” es necesario escoger una de entre todas las formas diferentes de reordenar la “cantidad de caracteres” que éste contenga. c) En caso de definir más de una matriz [Al] para contener el “mensaje base”, se puede definir un “alfabeto de sustitución” diferente para cada matriz. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar ésta la nueva definición del “alfabeto de sustitución” a través de su identificador. d) Al utilizar diferentes “alfabetos de sustitución” para cada matriz [A2], será necesario decidir en qué orden aplicar los diferentes alfabetos, para cifrar las matrices [A2] del “mensaje intermedio” y generar las matrices [Cl] del “mensaje cifrado”. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar qué alfabeto debe aplicarse a qué fragmento.
7. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de las acciones (lg) y (lh): a) En caso de definir más de una matriz [Al] para contener el “mensaje base”, se puede definir una “posición de inicio de sustitución” diferente para cada matriz [A2] Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar las posiciones de inicio de la sustitución para cada fragmento. b) En caso de definir más de una matriz [Al] para contener el “mensaje base”, se puede definir una “operación de reemplazo” diferente para cada matriz [A2] Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar qué función de sustitución se debe aplicar a qué fragmento. c) En la “operación de reemplazo”, el desplazamiento requerido para obtener la posición del carácter de sustitución, se puede decidir en base a: la naturaleza (par o impar; primo o no primo; múltiplo de un número o grupos de números dados; divisor de un número o grupos de números dados; entre otros), rango numérico (mitades, tercios, cuartiles, quintiles o deciles del tamaño del conjunto numérico o del alfabeto; entre otros), u otra característica del número de posición del “conjunto numérico”; y/o del “nuevo ordenamiento numérico” que se esté procesando. También se podrá definir el desplazamiento en base a una función definida al efecto. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar a qué tipo o grupo de caracteres se aplicará los diferentes desplazamientos. d) De este modo, una función de sustitución puede ser : si “s” es el número correspondiente del nuevo ordenamiento numérico, la posición del carácter de sustitución se obtendrá “adelantando” (o “atrasando”) en el alfabeto de sustitución los caracteres en “s+1” posiciones si “s” es “par”; o “adelantando” (o “atrasando”) los caracteres en “s” posiciones si “s” es “impar”, creando de esta manera diferentes operaciones de reemplazo que permitan establecer para cada posición, el carácter de sustitución a ser utilizado. e) En la “operación de reemplazo” efectuada para más de una “ronda de encriptado”, se puede alternar las operaciones de adelanto y de atraso a utilizar en cada ronda, manteniendo el resto de los parámetros. f) Al utilizar diferentes “operaciones de reemplazo” para cada matriz [A2], será necesario decidir en qué orden aplicar las diferentes operaciones, al cifrar las matrices [A2] del “mensaje intermedio” y generar las matrices [Cl] del “mensaje cifrado”. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar en qué orden se aplicará las operaciones de reordenamiento y los nuevos ordenamientos numéricos para la sustitución. g) En caso de definir más de una matriz [Al] para contener el “mensaje base”, se puede cifrar todas las matrices [Al] utilizando un “nuevo ordenamiento numérico” [B2] diferente para cada matriz [Al], si se decidió no reordenar [Al] en la acción (le). En caso contrario, se puede cifrar todas las matrices [A2], utilizando el mismo “nuevo ordenamiento numérico” [B2]; o bien, utilizando un “nuevo ordenamiento numérico” [B2] diferente para cada matriz [A2], h) Al utilizar diferentes “nuevos ordenamientos numéricos” para el cifrado de cada matriz [Al] (si en la acción (le) se decidió no reordenarla), o diferentes “nuevos ordenamientos numéricos” para el cifrado de cada matriz [A2], será necesario decidir en qué orden aplicar los diferentes ordenamientos, al cifrar las matrices [Al] o [A2] y generar las matrices [Cl] del “mensaje cifrado”. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar el orden en el que se aplicará cada “nuevo ordenamiento numérico” a los fragmentos del mensaje.
8. El método de las reivindicaciones 1, 2 y 5, CARACTERIZADO porque en los detalles y variantes de las acciones (lg) a (lk): a) Si en la acción (le) se decidió omitir el reordenamiento de la o las matrices [Al] antes de la operación de cifrado, será necesario aplicar el reordenamiento a la o las matrices [Cl], Esto tendrá el efecto correspondiente sobre las claves CK2 y CK3, al reflejar el orden en el que se harán el reordenamiento y el cifrado.
9. El método de las reivindicaciones 1, 7 y 8, CARACTERIZADO porque en los detalles y variantes de las acciones (lf) y (lg): a) El proceso de cifrado se puede ejecutar más de una vez, extendiendo la clave CK3 para incluir las operaciones adicionales de sustitución, todos los puntos de inicio de las sustituciones y los sentidos de recorrido. Se podrá repetir la operación de sustitución o aplicar nuevas operaciones de sustitución, como las sugeridas en la reivindicación 7.
10. El método de las reivindicaciones 1 a 8, CARACTERIZADO porque luego de ejecutadas las acciones (lf) a (lk), se puede: a) efectuar una trasposición final del “mensaje cifrado”, definiendo una operación de trascripción para la que se escoge una posición de inicio en el “nuevo ordenamiento numérico”; y se define un sentido de recorrido de dicho ordenamiento (hacia el inicio o hacia el final del nuevo ordenamiento). En este caso, se supone que el ordenamiento tiene una estructura cíclica (desde su final, vuelve a su inicio). b) De esta forma se crea una matriz [C3] del mismo tamaño y con la misma cantidad de fragmentos que la matriz [Cl], en la que se trascribe cada fragmento del mensaje cifrado siguiendo para cada uno de ellos, el orden del “nuevo ordenamiento numérico” desde la posición escogida para el inicio de la trascripción. Esto tendrá el efecto correspondiente sobre la clave CK3, al reflejar la operación de trascripción de cada fragmento del mensaje cifrado para crear [C3]
11. El método de las reivindicaciones 1 a 8, CARACTERIZADO porque en los detalles y variantes de las acciones (la) a (lk): a) Las decisiones en cuanto a utilizar una opción en particular de entre las múltiples variantes posibles; y/o en cuanto al orden en el cual utilizar las opciones múltiples que es posible generar al aplicar el método, deben todas quedar codificadas en cada una de las tres claves CK1, CK2 y CK3, según corresponda.
12. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de la acción (11): a) En caso de optar en la acción (la) por definir más de una matriz [Al] para contener el “mensaje base”, se deberá transmitir al corresponsal destinatario, los identificadores de todos los “conjuntos numéricos” [Bl]; y los identificadores de todos los “alfabetos de sustitución” [A0], utilizando un canal de comunicación que no necesita estar protegido, en el entendido que todos los repositorios estén bajo resguardo.
13. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de la acción (lm): a) En caso de optar en la acción (la) por definir más de una matriz [Al] para contener el “mensaje base”, se deberá transmitir al corresponsal destinatario, todos los “mensajes cifrados” contenidos en las matrices [Cl] (o [C2]; o [C3]) que se haya definido; y todas las “claves” CK1 a CK3 (o sus identificadores) que se haya definido, utilizando un canal de comunicación protegido y previamente acordado.
14. El método de las reivindicaciones 1 y 2, CARACTERIZADO porque en los detalles y variantes de la acción (ln): a) En caso de que el corresponsal despachador haya optado en la acción (la) por definir más de una matriz [Al] para contener el “mensaje base”, para descifrar el mensaje por parte del corresponsal destinatario, éste último deberá aplicar el método de manera inversa al descrito, en base a los “alfabetos de sustitución” (o a sus identificadores); a las claves CK1 a CK3 (o a sus identificadores); a las matrices [Cl], [C2] o [C3] del “mensaje cifrado”; y a las matrices [Bl] de los “conjuntos numéricos” originales (o a sus identificadores).
PCT/CL2020/050126 2020-10-10 2020-10-10 Método para encriptar datos mediante operaciones en matrices WO2021174373A1 (es)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP20923484.8A EP4227927A1 (en) 2020-10-10 2020-10-10 Method for encrypting data by means of matrix operations
US18/248,223 US20230379137A1 (en) 2020-10-10 2020-10-10 Method for encrypting data by means of matrix operations
KR1020237015696A KR20230084553A (ko) 2020-10-10 2020-10-10 행렬 연산들을 통한 데이터 암호화 방법
JP2023546369A JP2023550200A (ja) 2020-10-10 2020-10-10 行列演算を用いてデータを暗号化するための方法
PCT/CL2020/050126 WO2021174373A1 (es) 2020-10-10 2020-10-10 Método para encriptar datos mediante operaciones en matrices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CL2020/050126 WO2021174373A1 (es) 2020-10-10 2020-10-10 Método para encriptar datos mediante operaciones en matrices

Publications (1)

Publication Number Publication Date
WO2021174373A1 true WO2021174373A1 (es) 2021-09-10

Family

ID=77614444

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CL2020/050126 WO2021174373A1 (es) 2020-10-10 2020-10-10 Método para encriptar datos mediante operaciones en matrices

Country Status (5)

Country Link
US (1) US20230379137A1 (es)
EP (1) EP4227927A1 (es)
JP (1) JP2023550200A (es)
KR (1) KR20230084553A (es)
WO (1) WO2021174373A1 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102617446B1 (ko) * 2023-01-30 2023-12-27 박성곤 인코더, 인코딩 방법 및 컴퓨터 판독가능 기록매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2374770C1 (ru) * 2008-04-16 2009-11-27 Государственное образовательное учреждение высшего профессионального образования "Поволжская государственная академия телекоммуникаций и информатики" Способ стеганографического сокрытия информации
US7995748B2 (en) 2007-05-09 2011-08-09 France Telecom Method and apparatus for providing ecryption/decryption using two sequences of numbers
US20130259224A1 (en) * 2012-04-02 2013-10-03 Samsung Electronics Co., Ltd. Method of generating a random permutation, random permutation generating device, and encryption/decryption device having the same
US20160379527A1 (en) 2012-02-02 2016-12-29 Josiah Johnson Umezurike Skc-jju256 encryption using knights tour solutions as the main key to create a cryptosystem
US10594480B2 (en) * 2016-05-13 2020-03-17 Gideon Samid Efficient proof of knowledge of arbitrarily large data which remains unexposed

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995748B2 (en) 2007-05-09 2011-08-09 France Telecom Method and apparatus for providing ecryption/decryption using two sequences of numbers
RU2374770C1 (ru) * 2008-04-16 2009-11-27 Государственное образовательное учреждение высшего профессионального образования "Поволжская государственная академия телекоммуникаций и информатики" Способ стеганографического сокрытия информации
US20160379527A1 (en) 2012-02-02 2016-12-29 Josiah Johnson Umezurike Skc-jju256 encryption using knights tour solutions as the main key to create a cryptosystem
US20130259224A1 (en) * 2012-04-02 2013-10-03 Samsung Electronics Co., Ltd. Method of generating a random permutation, random permutation generating device, and encryption/decryption device having the same
US10594480B2 (en) * 2016-05-13 2020-03-17 Gideon Samid Efficient proof of knowledge of arbitrarily large data which remains unexposed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102617446B1 (ko) * 2023-01-30 2023-12-27 박성곤 인코더, 인코딩 방법 및 컴퓨터 판독가능 기록매체

Also Published As

Publication number Publication date
US20230379137A1 (en) 2023-11-23
EP4227927A1 (en) 2023-08-16
JP2023550200A (ja) 2023-11-30
KR20230084553A (ko) 2023-06-13

Similar Documents

Publication Publication Date Title
CN101461173B (zh) 同音替代对称加密
US20060171534A1 (en) Variable key encryption using multi-dimensional arrays
CN116032474A (zh) 一种基于大数据计算机网络安全防护系统
Hamad Novel Implementation of an Extended 8x8 Playfair Cipher Using Interweaving on DNA-encoded Data.
WO2021174373A1 (es) Método para encriptar datos mediante operaciones en matrices
Paragas et al. Hill cipher modification: A simplified approach
Bhargava et al. A new algorithm combining substitution & transposition cipher techniques for secure communication
Pal et al. A variation in the working of playfair cipher
Mokhtari et al. Analysis and design of affine and hill cipher
US20230049768A1 (en) A method for symmetric asynchronous generative encryption
Brosas et al. Modified OTP based Vernam Cipher algorithm using multilevel encryption method
CN110061832B (zh) 以汉字作为密码的对称密码算法的实现方法
Selleri The roots of modern cryptography: Leon Battista Alberti's" De Cifris"
Goyal et al. A new modified Playfair algorithm using CBC
Rajan et al. Advancement in Caesar cipher by randomization and delta formation
Naing et al. Innovation Security of Beaufort Cipher by Stream Cipher Using Myanmar-Vigenere Table and Unicode Table
Al-Jarrah et al. Dictionary based arabic text compression and encryption utilizing two-dimensional random binary shuffling operations.
Goyal et al. Network security: a survey paper on playfair cipher and its variants
Allard Manual Encryption Revisited
Jirjees et al. Text Encryption by Indexing ASCII of Characters Based on the Locations of Pixels of the Image
Antal et al. Key space and period of Fialka M-125 cipher machine
Alkhazraji Binary columnar transposition cipher
van Waart et al. Traditional cryptography
Burke et al. Cryptography
Завадская VIGENERE ENCIPHERING METHOD

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20923484

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023546369

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20237015696

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020923484

Country of ref document: EP

Effective date: 20230510