Method for encrypting data by means of matrix operations
OwnerJaime Ricardo Gutiérrez Salazar, Jaime Andrés López Lisboainventors
Life of this patent
Estimating the term…
Abstract
A method for encrypting data, comprising: the transformation of a base message into an intermediate message by means of successive matrix rearrangement operations; the definition of a numerical set, which is transformed into a new numerical order, also by means of matrix rearrangement operations; the definition of a substitution alphabet; the establishment of a replacement operation, comprising the replacement of one character of the intermediate message by one character of the substitution alphabet, pursuant to a command defined by the new numerical order, starting from an initial magnitude of displacement, and progressively increasing the magnitude of displacement.
Claims13
A method to encrypt data in a system implemented in computational form or in digital integrated circuits, wherein a numeric set is used to cipher a base message making its content unintelligible, the method comprising the following stages:
- (a) defining a base message [A1] with characters of any language, numeric, alphanumeric symbols, ideograms, phonemes, or images, wherein from a total number of characters in the base message [A1], one or more [A1] matrices are built so that the total number of characters in the base message [A1] is contained in the one or more [A1] matrices, the one or more matrices [A1] are of a same size;
- (b) defining a numeric set [B1], contained in one or more [B1] matrices, the numeric set [B1] formed by consecutive numbers from 1 to a size of an individual [A1] matrix of the one or more [A1] matrices, where the size is equal to a product of a number of rows and a number of columns, the numeric set [B1] combinatorially distributed in one or more [B1] matrices of the same size of the individual matrix of the one or more [A1] matrices;
- (c) establishing a first series of four successive rearranging operations that are to be applied to the one or more [A1] matrices to transform the base message [A1] into an intermediate message [A2], contained in one or more [A2] matrices, wherein the first series of the four successive rearranging operations comprise:
- transposing rows;
- transposing columns;
- rotating concentric parallelograms;
- and reflecting of the one or more [A1] matrices;
- and the first series is codified with the four successive rearranging operations to be applied to the one or more [A1] matrices forming keyword CK1;
- (d) establishing a second series of the four successive rearranging operations that are to be applied to the one or more [B1] matrices to transform the numeric set [B1] into a new numeric arrangement [B2], contained in one or more [B2] matrices, wherein the four successive rearranging operations for the one or more [B1] matrices are of the same type as those used to rearrange the one or more [A1] matrices;
- and the second series is codified with the four successive rearranging operations to be applied to the one or more [B1] matrices forming keyword CK2;
- (e) applying the keyword CK1 to the base message [A1] _in order to rearrange the base message [A1], thus generating the intermediate message [A2];
- and applying the keyword CK2 to the numeric set [B1] in order to rearrange the numeric set [B1], thus generating the new numeric arrangement [B2];
- (f) defining a substitution alphabet [A0] by specifying a total number of characters and the characters obtained from the base message [A1], along with a position each of the characters will have in the substitution alphabet [A0], wherein the substitution alphabet [A0] has a circular structure, wherein a character following a last character in the substitution alphabet [A0] corresponds again to a first character in the substitution alphabet [A0] in the circular structure;
- (g) establishing, by using the new numeric arrangement [B2], a position in the intermediate message [A2] from which a substitution shall begin and also a touring direction in the intermediate message [A2], wherein the position and touring direction is coded within keyword CK3, wherein the position and touring direction within the keyword CK3 specifies an operation to be followed in order to build a ciphered message [C1], contained in one or more [C1] matrices;
- (h) establishing a substitution operation to substitute each character in the intermediate message [A2] with another character which is obtained by displacing in a certain number of positions, a location of an original character within the substitution alphabet [A0], wherein displacement for substitution of characters in the intermediate message [A2] is done progressively or regressively, and in the touring direction of the intermediate message [A2] as defined in the keyword CK3 in order to go forward in the substitution operation;
- blank spaces, asterisks, numbers and other special characters not defined in the substitution alphabet [A0] remain unmodified in the ciphered message [C1] except for accented vowels, which are handled as non-accented vowels;
- and in case of having to substitute a character defined in the substitution alphabet [A0] which appears in the intermediate message [A2] in uppercase, a corresponding substitution character also being displayed in uppercase;
- (i) initiating a ciphering by identifying in the new numeric arrangement [B2] a position number which corresponds to an initial cipher from which the substitution operation will start and identifying a character located in the position number within the intermediate message [A2];
- (j) identifying a position in the substitution alphabet [A0] corresponding to the initial cipher to substitute and establishing a location of a substitution character by moving in the substitution alphabet [A0] from an original position of the initial cipher to substitute as many positions as indicated by the keyword CK3;
- (k) substituting the character located in the position number in the intermediate message [A2] by the substitution character identified in the stage (j), thus establishing a first character in the ciphered message [C1], wherein the substitution operation of the stages (i) to (k) is repeated for each successive character within the intermediate message [A2], following the touring direction as defined in the keyword CK3, thus producing the ciphered message [C1];
- (l) transmitting to a recipient correspondent an identification code of the numeric set [B1] and the ciphered message [C1], using a communication channel which does not need to be protected;
- (m) transmitting to the recipient correspondent the substitution alphabet [A0] or its identification code, and the keywords CK1 to CK3, through a protected channel;
- and
- (n) deciphering the ciphered message [C1] by the recipient correspondent by applying the method inversely in the stages (i) to (k), based upon the substitution alphabet [A0], the keywords CK1 to CK3, the ciphered message [C1], and the numeric set [B1] of the stage (b).
Dependencies are inferred from the claim text.