FR3038759A1 - ENCRYPTION WITH EMBARKED GEOLOCATION - Google Patents
ENCRYPTION WITH EMBARKED GEOLOCATION Download PDFInfo
- Publication number
- FR3038759A1 FR3038759A1 FR1501468A FR1501468A FR3038759A1 FR 3038759 A1 FR3038759 A1 FR 3038759A1 FR 1501468 A FR1501468 A FR 1501468A FR 1501468 A FR1501468 A FR 1501468A FR 3038759 A1 FR3038759 A1 FR 3038759A1
- Authority
- FR
- France
- Prior art keywords
- encryption
- tables
- character
- substitution
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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/02—Apparatus 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
La présente invention concerne un procédé de cryptage et décryptage dynamique et aléatoire de données offrant un nombres de combinaison infinie qui est unique à chaque utilisateur et à chaque requête ne faisant appel ni à une fonction booléenne, ni à un échange de clé, le message à crypter faisant partie du mécanisme de cryptage et transportant un ID, des données de position GPS avec une fonction de corrélation ayant valeur de répudiation et fonctionnant sous une architecture Client/Serveur. En l'état actuel des techniques, un revers engineering relève de l'impossible car il n'utilise pas de formule mathématique, équation, ni de nombre à factoriser et il supprime tous ces points de faiblesses potentielles. Notre cryptage trouve sa place pour toute application fonctionnant sous un environnement client-serveur transportant des données alphanumérique dont l'intégrité et la confidentialité doivent être préservés. Exemple d'utilisation: gestion de paiement, gestion des accès à distance, messagerie instantanée...The present invention relates to a method for dynamic and random encryption and decryption of data providing an infinite combination number which is unique to each user and to each request not involving a Boolean function or a key exchange, the message to encrypting as part of the encryption mechanism and carrying an ID, GPS position data with a correlation function having the value of repudiation and operating under a Client / Server architecture. In the current state of the art, a reverse engineering is impossible because it does not use a mathematical formula, equation, or number to factorize and it removes all these potential weaknesses. Our encryption is suitable for any application running in a client-server environment that carries alphanumeric data whose integrity and confidentiality must be preserved. Example of use: payment management, remote access management, instant messaging ...
Description
Description de l'invention :Description of the invention
Procédé de cryptage et décryptage dynamique et aléatoire de données offrant un nombre de combinaisons infinies qui est unique à chaque utilisateur ne faisant appel ni à une fonction booléenne, ni à un échange de clé et transportant un ID, des données de position GPS avec une fonction de corrélation ayant valeur de répudiation et fonctionnant sous une architecture Client/Serveur.A method for dynamic and random encryption and decryption of data offering an infinite number of combinations that is unique to each user who does not use a Boolean function or a key exchange and carries an ID, GPS position data with a function correlation with repudiation value and operating under a Client / Server architecture.
Domaine technique: Toute application fonctionnant sous un environnement client-serveur transportant des données alphanumérique dont l'intégrité et la confidentialité doivent être préservés.Technical field: Any application operating in a client-server environment carrying alphanumeric data whose integrity and confidentiality must be preserved.
Technique antérieure: Il existe plusieurs types de cryptages tel que le chiffre de César, le ROT13 (Cryptage utilisé par les systèmes Unix) et le chiffre de Vigenère qui ont la même particularité d'être basés sur des mouvements de caractères, chacun étant substitué par un autre.PRIOR ART: There are several types of encryption such as the Caesar figure, the ROT13 (Encryption used by Unix systems) and the Vigenère figure which have the same characteristic of being based on character movements, each being substituted by another.
Le chiffrement de Vigenère est un cryptosystème symétrique qui utilise la même clé pour le chiffrement et le déchiffrement. Il ressemble beaucoup au chiffrement de César à la différence près qu'il utilise une clé plus longue pour palier au principal problème du chiffre de César : Une même lettre n'est codée que d’une seule façon. Ce cryptage fait appel à un tableau de substitution.Vigenère encryption is a symmetric cryptosystem that uses the same key for encryption and decryption. It is very similar to Caesar's encryption, with the difference that it uses a longer key to overcome the main problem of Caesar's number: The same letter is coded in one way only. This encryption uses a substitution table.
Le chiffrement de ROT13 est utilisé dans le monde Unix et à l'instar du chiffre de César il remplace; une lettre par une autre lettre avec un décalage de 13 lettres ce qui ne présente aucune sécurité.The encryption of ROT13 is used in the Unix world and like the César figure it replaces; a letter by another letter with a shift of 13 letters which presents no security.
La seule chose que nous ayons en commun avec ces 3 cryptages est la substitution de caractère.The only thing we have in common with these 3 encryptions is the character substitution.
Le DES (Data Encryptions Standard) est un algorithme à clé secrète qui travaille avec une clé sur 64 bits et fait appel à une fonction booléenne. Il s'agit d'un système de chiffrement symétrique par blocs de 64 bits dont 8 bits (un octet) servant de test de parité (pour vérifier l'intégrité de la clé). Chaque bit de parité de la clé (1 tous les 8 bits) sert à tester un des octets de la clé, c'est-à-dire que chacun des bits de parité est ajusté de façon à avoir un nombre impair de '1' dans l'octet à qui il appartient. La clé possède donc une longueur « utile » de 56 bits, ce qui signifie que seuls 56 bits servent réellement dans l'algorithme. L'algorithme consiste à effectuer des combinaisons, des substitutions et des permutations entre le texte à chiffrer et la clé, en faisant en sorte que ces opérations puissent se faire dans les deux sens (pour le déchiffrement). La clé est codée sur 64 bits et formée de 16 blocs de 4 bits, mais « seuls » 56 bits servent effectivement à chiffrer.The DES (Data Encryptions Standard) is a secret key algorithm that works with a 64-bit key and uses a Boolean function. It is a 64-bit symmetric block cipher system with 8 bits (one byte) serving as a parity test (to check the integrity of the key). Each parity bit of the key (1 every 8 bits) is used to test one of the bytes of the key, i.e. each of the parity bits is adjusted to have an odd number of '1' in the byte he belongs to. The key therefore has a "useful" length of 56 bits, which means that only 56 bits actually serve in the algorithm. The algorithm consists of making combinations, substitutions and permutations between the text to be encrypted and the key, by ensuring that these operations can be done in both directions (for decryption). The key is 64-bit coded and consists of 16 4-bit blocks, but "only" 56 bits are actually used to encrypt.
Les grandes lignes de l'algorithme sont les suivantes : • Fractionnement du texte en blocs de 64 bits (8 octets) • Permutation initiale des blocs • Découpage des blocs en deux parties: gauche et droite • Etapes de permutation et de substitution répétées 16 fois • Replacement des parties gauche et droite à leur position d'origine • Permutation initiale inverse.The main lines of the algorithm are as follows: • Splitting text into 64-bit blocks (8 bytes) • Initial block switching • Split blocks into two parts: left and right • 16-fold permutation and substitution steps • Replacement of the left and right parts to their original position. • Initial inverse permutation.
Le 3DES, est plus complexe que le DES en cela qu'il résulte de l'enchaînement de trois DES successifs mais il utilise pour cela deux clés secrètes différentes pour renforcer la sécurité initiale du DES. Tous ces cryptages DES, 3DES, font appel à des permutations de blocs puis bit à bit ainsi qu'à une fonction booléenne combinée à une ou deux clés secrètes avec une ronde.The 3DES, is more complex than the DES in that it results from the sequence of three successive DES but it uses for that two different secret keys to reinforce the initial security of DES. All these encryptions DES, 3DES, call block permutations then bit by bit and a Boolean function combined with one or two secret keys with a round.
Nous avons en commun avec le DES et le 3DES, la génération aléatoire de tableaux permettant la permutation de bit à bit.We have in common with the DES and the 3DES, the random generation of tables allowing the swapping from bit to bit.
En ce qui concerne les autres cryptages connus tel que le RSA, le PGP, l'AES nous ne faisons appel à aucunes de leurs techniques.As for other known encryptions such as RSA, PGP, AES we do not use any of their techniques.
Nous avons effectué des recherches sur un critère avec les mots clés " cryptage? and (base de données" et nous avons trouvé 89 résultats. Sur ces 89 résultats, aucun n'a d'autre point en commun que ceux déjà évoqué plus haut.We searched for a criterion with the keywords "encryption? And (database") and we found 89. Of these 89 results, none have anything in common other than those already mentioned above.
Exposé de l'invention:Presentation of the invention
Problème Technique : Les chiffrements à décalage n'offrent aucune sécurité, une fois deviné le décalage compris entre 1 et 26 le message peut être décrypté car il est facile de trouver ce décalage. Il existe un chiffrement appartenant à un cryptosystème symétrique qui utilise la même clé pour le chiffrement et le déchiffrement, il ressemble beaucoup au chiffrement à décalage à la différence près qu'il utilise une clé plus longue et fait appel à un tableau de substitution. Il existe des algorithmes à clé secrète qui travaille avec une clé sur 64 bits et font appel à une fonction booléenne. L'algorithme consiste à effectuer des combinaisons, des substitutions et des permutations entre le texte à chiffrer et la clé, en faisant en sorte que ces opérations puissent se faire dans les deux sens (pour le déchiffrement). Certain utilise des enchaînements successifs avec deux clés secrètes différentes pour renforcer la sécurité initiale. La cryptanalyse par différentiel reste possible pour retrouver la clé secrète dans le cas de ces cryptages avec des délais plus ou moins long. Il existe des cryptages ayant recours pour certain à un algorithme asymétrique utilisant soit une clé privé et une publique crée par l'utilisateur avec communication dé la clé publique pour le décryptage, soit une clé secrète. D'autres sont des cryptages à chiffrement GPG (Gnu Privacy Guard). Quelques soit ces cryptages évoqués plus haut la sécurité réside dans la puissance de calcul nécessaire au décryptage ou dans la préservation du secret de la clé privé.Technical Issue: The shift ciphers offer no security, once guessed the offset between 1 and 26 the message can be decrypted because it is easy to find this shift. There is an encryption belonging to a symmetric cryptosystem that uses the same key for encryption and decryption, it looks a lot like offset encryption except that it uses a longer key and uses a substitution array. There are secret key algorithms that work with a 64-bit key and use a Boolean function. The algorithm consists of making combinations, substitutions and permutations between the text to be encrypted and the key, by ensuring that these operations can be done in both directions (for decryption). Some uses successive sequences with two different secret keys to reinforce the initial security. Cryptanalysis by differential remains possible to find the secret key in the case of these encryptions with delays more or less long. There are some encryptions using some asymmetric algorithm using either a private key and a public created by the user with public key communication for decryption, or a secret key. Others are GPG encryption (Gnu Privacy Guard) encryption. Any of these encryptions mentioned above security lies in the computing power necessary for decryption or in the preservation of the secret of the private key.
Solution Technique: Si notre cryptage fait appel à la substitution de caractère et à la génération aléatoire de tableaux permettant la permutation de bit à bit, il ne fait pas appel à une clé secrète et les tableaux et les méthodes utilisées pour le cryptage et le décryptage sont définis de manière totalement aléatoire sans clé et sans intervention humaine et unique à chaque utilisateur. Le nombre de combinaisons est infini est en l'état actuel de la technique il reste impossible de le décrypter. Enfin il permet d'utiliser la corrélation d'une|position GPS comme facteur de répudiation.Technical Solution: If our encryption uses character substitution and random generation of tables allowing bit-to-bit swapping, it does not use a secret key and the tables and methods used for encryption and decryption are defined in a completely random way without key and without human intervention and unique to each user. The number of combinations is infinite is in the current state of the art it remains impossible to decrypt. Finally, it makes it possible to use the correlation of a GPS position as a repudiation factor.
Description des dessins :Description of the drawings:
Figure 1 : Exemple d'utilisation du cryptage dans une Gestion d'AccèsFigure 1: Example of Using Encryption in an Access Management
Figure 2 : Exemple de tableau Ascii étenduFigure 2: Example Extended Ascii Table
Figure 3 : Exemple de tableau comportant les caractères Ascii étenduFigure 3: Example array with extended Ascii characters
Figure 4 : Tableau utilisé pour exemple du cryptage Exposé détaillé de l'invention :Figure 4: Table used for example of encryption Detailed description of the invention:
Notre cryptage fonctionne sous une architecture Client/Serveur, il est basé sur un algorithme de chiffrement ne faisant appel ni à une fonction booléenne, ni à un échange de clé. Son chiffrement combine la substitution de caractères et la permutation bit à bit sur des blocs de 8,16 et 32 bits de manière autonome totalement aléatoire et unique à chaque utilisateur. Il permet de transporter un ID et des données de position GPS avec une fonction de corrélation ayant valeur de répudiation.Our encryption works under a Client / Server architecture, it is based on an encryption algorithm that does not use a Boolean function or a key exchange. Its encryption combines character substitution and bit-to-bit permutation on 8, 16 and 32-bit blocks in a totally random and unique random way for each user. It allows you to carry an ID and GPS position data with a correlation function that has the value of repudiation.
Dans un premier temps, nous utilisons un tableau de référence composé de tous les caractères de l'alphabet en majuscule et minuscule ainsi que de tous les symboles et les chiffres dans un ordre défini au préalable.First, we use a reference table consisting of all upper and lower case alphabets and all symbols and numbers in a pre-defined order.
Nous générons alors d'autres tableaux de substitution de manière aléatoire. Ceux-ci nous serviront à Substituer les caractères par d'autres caractères alphanumériques, caractères spéciaux ou symboles. Ce cryptage requiert au minimum 4 tableaux de substitutions, 3 tableaux de permutations et 1 tableau de correspondance.We then generate other substitution arrays randomly. These will be used to substitute characters with other alphanumeric characters, special characters or symbols. This encryption requires at least 4 substitution tables, 3 permutation tables and 1 correspondence table.
Des compteurs tournant en permanence et stoppés à différent moments permettent de déterminer de manière aléatoire les méthodes définissant la séquence dans laquelle ces tableaux seront utilisés ainsi que le pourcentage de fractionnement de la chaîne de caractères. Ce fractionnement permettant d'une part, d'accroître le niveau de cryptage et d'autre part, d'intégrer à la jonction des deux blocs l'ID unique avec les coordonnées GPS et la méthode utilisée à l'instant t. Chaque caractère converti en binaire, définit les changements de tableau. C'est ainsi que le choix des tableaux de substitution est fait de manière totalement aléatoire. Il s'en suit alors une série de permutation bit à bit au travers de trois tableaux: o un de 8 bits o un de 16 bits o un de 32 bitsCounters constantly running and stopped at different times make it possible to randomly determine the methods defining the sequence in which these tables will be used as well as the percentage of splitting of the string of characters. This splitting on the one hand, to increase the level of encryption and on the other hand, to integrate at the junction of the two blocks the unique ID with the GPS coordinates and the method used at time t. Each character converted to binary defines the table changes. This is how the choice of substitution tables is made in a totally random way. It follows then a series of permutation bit by bit through three tables: o an 8-bit o a 16-bit o a 32-bit
Nous utilisons en même temps les deux concepts, où les tableaux utilisés sont choisis de manière totalement aléatoire et où chaque message qui doit être crypté fait partie du mécanisme de cryptage, ce qui le rend unique à chaque utilisateur et à chaque requête.At the same time, we use both concepts, where the tables used are chosen in a completely random way and where each message that must be encrypted is part of the encryption mechanism, which makes it unique to each user and each request.
Cela nous donne un nombre infini de combinaisons possibles pour un seul caractère, à la fois par la substitution de caractères combinée et par la permutation bit à bit, qui se fait au travers de plusieurs tableaux de substitution et de permutation et sachant que ces tableaux et l'ordre dans lesquels ils sont utilisés est totalement aléatoire.This gives us an infinite number of possible combinations for a single character, both by combined character substitution and by bit-to-bit permutation, which is done through several substitution and permutation arrays and knowing that these arrays and the order in which they are used is totally random.
Notre cryptage possède plusieurs facteurs d'authentificationündépendants qui sont un ID unique, un cryptage unique à chaque ID, des coordonnées de géolocalisation assurant une fonction de répudiation et garantissant que l'unique personne autorisée à déchiffrer est la personne à l'origine de la demande.Our encryption has several independent authentication factors that are a unique ID, unique encryption for each ID, geolocation coordinates that provide a repudiation function, and ensure that the only person authorized to decrypt is the person who initiated the request. .
Technique du Cryptage:Encryption technique:
Cryptage:encryption:
Chargement des tableauxLoading tables
Nous avons choisi d'utiliser, pour des raisons d'interopérabilité, un tableau comportant les caractères d'un tableau ASCII étendu contenantes sous-ensembles du jeu de caractère ASCII dont les caractères sont codés sur 8 bits. Il devra comprendre Obligatoirement la totalité de l’alphabet, des lettres majuscule et minuscule avec les symboles les plus utilisés tenant compte des langues usuelles (latin, chinois, etc).We chose to use, for interoperability reasons, a table with the characters of an extended ASCII array containing subsets of the ASCII character set whose characters are encoded on 8 bits. It must include the entire alphabet, capital letters and lowercase letters with the most used symbols taking into account the usual languages (Latin, Chinese, etc.).
Toutefois nous aurions pu utiliser des tableaux Unicode ou ASCII ou autre. L'important étant d'avoir un encodage identique côté Client et côté Serveur ainsi que des tableaux comportant le même nombre de colonnes et de lignes (Dans notre exemple 14X14). L'application Client embarque par défaut un tableau comportant les caractères ASCII étendu (Figure 2) ce tableau sera le tableau de référence. Au premier lancement de l'application une série de 8 tableaux est chargée (4 tableaux de substitution (Figure 4), 3 tableaux de permutation, 1 tableau de correspondance).However, we could have used Unicode or ASCII or other tables. The important thing is to have an identical encoding on the client side and server side as well as tables with the same number of columns and rows (in our example 14X14). By default, the Client application embeds an array with extended ASCII characters (Figure 2). This table will be the reference table. At the first launch of the application a series of 8 tables is loaded (4 substitution tables (Figure 4), 3 permutation tables, 1 table of correspondence).
Ces tableaux posséderont un bail au terme duquel une mise à jour sera faite afin de charger de nouveaux tableaux. Ce bail sera paramétrable en fonction du niveau de sécurité attendu. Quel que soit l'origine de la demande (Initialisation de l'application ou Mise à jour) la méthode de chargement des tableaux reste la même. La sélection des tableaux est faite côté serveur par un compteur. Ce compteur tournera entre les valeurs de 1 à 99.These tables will have a lease at the end of which an update will be made to load new tables. This lease will be configurable according to the expected level of security. Whatever the origin of the request (Initialization of the application or Update) the method of loading the tables remains the same. The selection of the tables is done on the server side by a counter. This counter will rotate between values from 1 to 99.
Exemple :Example:
For (i = 1; i <= 99; i++)For (i = 1; i <= 99; i ++)
La limite peut être augmentée en fonction du nombre de tableaux générés en base. Une adaptation du compteur est à envisager en fonction du nombre de tableaux.The limit can be increased according to the number of tables generated in base. An adaptation of the meter is to be considered according to the number of tables.
Dans notre exemple nous utilisons 99 tableaux pour la substitution, 0 étant le tableau d'origine jusqu'au tableau 99, 99 tableaux de permutation et 99 tableaux de correspondance. L'initialisation du compteur sera faite à la valeur 1 afin d'éviter que le j tableau de référence ne soit sélectionné pour effectuer la substitution. Il se stoppera à 8 reprises sélectionnant ainsi le numéro des 4 tableaux de substitution, des 3 tableaux de permutation et du tableau de correspondance.In our example we use 99 arrays for substitution, 0 being the original array up to array 99, 99 permutation arrays and 99 correlation tables. The initialization of the counter will be done at the value 1 in order to avoid that the reference table is selected to perform the substitution. It will stop 8 times thus selecting the number of the 4 substitution tables, 3 permutation tables and the table of correspondence.
Exemple :Example:
Tableaux de substitution : 12 37 04 93 Tableaux de permutation : 4168 11 Tableau de correspondance : 28Substitution Tables: 12 37 04 93 Switching Tables: 4168 11 Correlation Table: 28
Une fois le numéro de chaque tableau récupéré, ces numéros sont ajoutés en base et associés à l'ID unique de l'application. Ces tableaux se verront alors attribuer un index allant de tsl à ts4 pour les tableaux de substitution et de tpi à tp3 pour les tableaux de permutation. Ce sont ces index et non le numéro des tableaux qui seront alors utilisés par l'application côté client et de ce fait aucun numéro de tableau ne transitera sur le Net. Ainsi nous retrouverons les index suivants attribués à chaque tableau.Once the number of each table is recovered, these numbers are added in base and associated with the unique ID of the application. These tables will then be assigned an index ranging from tsl to ts4 for the substitution tables and from tpi to tp3 for the permutation tables. It is these indexes and not the number of the tables that will then be used by the client-side application and therefore no array number will pass on the Net. Thus we will find the following indexes attributed to each table.
Tableaux de substitution : tsl -12 ts2 - 37 ts3 - 04 ts4 - 93Substitution tables: tsl -12 ts2 - 37 ts3 - 04 ts4 - 93
Tableaux de permutation : tpi-41 tp2 - 68 tp3 -11Switch Tables: tpi-41 tp2 - 68 tp3 -11
Les tableaux de substitution ( Figure 4) contiendront les mêbies caractères que le tableau de référence (Figure 2) mais dans le désordre ou d'autres caractères non utilisés dans le tableau de référence exemple (Figure 3)The substitution tables (Figure 4) will contain the same characters as the reference table (Figure 2) but in the disorder or other characters not used in the example reference table (Figure 3)
Les tableaux de permutation (Détail 1) Détail 1:The permutation tables (Detail 1) Detail 1:
Tableau de permutation 8bits = 54678213Table of permutation 8bits = 54678213
Tableau de permutation 16bits = 12 9 4 6 16 10 2 8 15 11413 3 5 7 1116bits permutation table = 12 9 4 6 16 10 2 8 15 11413 3 5 7 11
Tableau de permutation 32bits = 19 7 4 15 31 119 30 2116 14 29 126 8 18 25 5 3 12 17 22 27 23 24 32 2 6 10 13 20 28Switching table 32bits = 19 7 4 15 31 119 30 2116 14 29 126 8 18 25 5 3 12 17 22 27 23 24 32 2 6 10 13 20 28
Le tableau de correspondance ( Détail 2) servira à ajouter, encore une fois, un facteur de complexité supplémentaire aléatoire en forçant le processus de substitution et de permutation à ne pas utiliser les différents tableaux dans l'ordrè établi par les compteurs. Le tableau de correspondance sera chargé dans l'application à l'initialisation et sera lié à cette application par son ID unique en base de données côté serveur. Ce tableau sera également mis à jour au terme du bail. Détail 2: Tableau de correspondanceThe correspondence table (Detail 2) will be used to add, once again, a random additional complexity factor by forcing the substitution and permutation process not to use the different tables in the order established by the counters. The correspondence table will be loaded into the application at initialization and will be linked to this application by its unique ID in server-side database. This table will also be updated at the end of the lease. Detail 2: Correlation table
Tp : Méthode appliquée aux tableaux de permutation Ts : Méthode appliquée aux tableaux de substitutionTp: Method applied to permutation tables Ts: Method applied to substitution tables
Transformation de la chaîne de caractère en binaire 4 stockage de la chaîne binaire La chaîne de caractère est simplement transformé en binaire. Exemple pour la chaîne « Socryptic » (Détail 3): Détail 3:Transforming the string into binary 4 storing the binary string The string is simply transformed into binary. Example for the string "Socryptic" (Detail 3): Detail 3:
01010011011011110110001101110010 0111100101110000 01110100 01101001 0110001101010011011011110110001101110010 0111100101110000 01110100 01101001 01100011
Arrêt du second compteur déterminant les méthodes ^ stockage des méthodes Ce compteur tourne en permanence et sera stoppé à deux reprises nous donnant la méthode de substitution et la méthode de permutation utilisées. Le choix d'un compteur comparé à une fonction random a été fait pour augmenter le facteur « hasard ». Une fonction random pouvant être potentiellement prévisible. Ce compteur tournera entre les valeurs de 0 à 5 dans cet exemple, en sachant que le nombre de méthode est directement lié au nombre de tableau utilisé.Stopping the Second Counter Determining the Method Storage Methods This counter runs continuously and will be stopped twice giving us the substitution method and permutation method used. The choice of a counter compared to a random function was done to increase the factor "chance". A random function that can be potentially predictable. This counter will rotate between the values of 0 to 5 in this example, knowing that the number of methods is directly related to the number of tables used.
Une fois ces valeurs stockées elles seront corrélées avec le tableau de correspondance (Détail 2). Les deux chiffres ainsi sélectionnés correspondront à la méthode de substitution pour le premier et à la méthode permutation pour le second.Once these values are stored they will be correlated with the correspondence table (Detail 2). The two digits thus selected will correspond to the substitution method for the first and the permutation method for the second.
Exemple: Méthode de substitution : 3Example: Substitution method: 3
Méthode de permutation : ΟSwitching method: Ο
Arrêt du troisième compteur déterminant le pourcentage dé position de la « clé » + stockage du pourcentageStopping the third counter determining the percentage of position of the "key" + storing the percentage
Ce compteur tourne en permanence et ne sera stoppé qu'à cette étape. Ce compteur tournera entre les valeurs de 1 à 99. À chaque utilisation ce pourcentage sera différent avec une position de clé toujours différente. La chaîne finale n'àura donc jamais la même forme et il sera facile de confondre un caractère substitué à unfbit de rotation ou même à la méthode de correspondance. Ce qui complexifie les manœuvres de reverse engineering.This meter runs continuously and will not be stopped until this step. This counter will rotate between values from 1 to 99. For each use this percentage will be different with an always different key position. The final string will therefore never have the same form and it will be easy to confuse a character substituted for unfound rotation or even the matching method. Which complicates the reverse engineering maneuvers.
Cryptage de la chaîne de caractère par les tableaux de substitution Une fois ces informations rassemblées la séquence de cryptage;peut commencer. Pour se faire l'ensemble des tableaux de substitution correspondant à l'ID unique de l'application seront chargés. A ce moment le premier résultat du premier compteur est récupéré et va permettre de déterminer dans quel ordre vont être utilisé les tableaux à l'aide de la méthode et du tableau de correspondance (Détail 2). La première valeur remontée est 3 ce qui correspond à la méthode 4. La méthode 4 utilisera les tableaux de substitution dans l'ordre suivant : tsl.ts3.ts4.ts2Character String Encryption by Substitution Arrays Once this information has been gathered, the encryption sequence can begin. To make the set of substitution tables corresponding to the unique ID of the application will be loaded. At this moment the first result of the first counter is retrieved and will make it possible to determine in which order the tables will be used using the method and the correspondence table (Detail 2). The first value reported is 3 which corresponds to method 4. Method 4 will use the substitution tables in the following order: tsl.ts3.ts4.ts2
Le processus d'utilisation de ces tableaux fonctionne de la manière suivante :The process of using these tables works as follows:
Le tableau de référence nous servira à déterminer la position des lettres substituées sur chacun des tableaux de substitution par superposition de ces tableaux sur le tableau de référence.The reference table will be used to determine the position of the substituted letters on each of the substitution tables by superimposing these tables on the reference table.
Les quatre tableaux de substitution ( Figure 4)seront placés én cercle, chaque position représentera % de tour autour de ce cercle. Représenté par des1 points cardinaux cela nous donnerait : NORD : 1er tableau de la méthode EST : 2eme tableau de la méthode SUD : 3eme tableau de la méthode OUEST : 4eme tableau de la méthodeThe four substitution tables (Figure 4) will be placed in a circle, each position will represent% of turn around this circle. Represented by 1 cardinal points this would give us: NORD: 1st table of the EST method: 2nd table of the SOUTH method: 3rd table of the WEST method: 4th table of the method
En utilisant la méthode 4, associée à la liste de tableaux définit plus tôt, cela nous donnerait l'exemple Figure 4.Using method 4, associated with the list of tables defined earlier, would give us the example Figure 4.
Une fois la position des tableaux établis nous récupérons la séquence de rotation préalablement extraite (Détail 3). Il a été défini qu'un bit de rotation égal à 0 utilisera le tableau positionné % de tour vers la droite par rapport à la position actuelle et un bit de rotation égal à 1 utilisera le tableau positionné % de tour vers la gauche par rapport à la position actuelle, jOnce the position of the tables established we recover the rotation sequence previously extracted (Detail 3). It has been defined that a rotation bit equal to 0 will use the table set% of revolution to the right relative to the current position and a rotation bit equal to 1 will use the array positioned% of revolution to the left relative to the current position, j
En position initiale nous pouvons voir que c'est le tableau 12 (tsl) qui sera superposé le premier sur le tableau de référence (Figure 4). Le « S » de la chaîne « Socryptic » se verra alors attribué le caractère « : » (en Noir sur la Figure 4).In initial position we can see that it is table 12 (tsl) which will be superimposed first on the reference table (Figure 4). The "S" of the string "Socryptic" will then be given the character ":" (in Black in Figure 4).
En reprenant le détail 3 cela nous donnera la séquence de rotation suivante : 1 le tableau ne subit aucune rotation (jamais de rotation sur le premier caractère). 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 37) 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 93) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 37) 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 93) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 37) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 12) 1 le tableau sulpit une rotation d'un quart de tour vers la gauche (Tableau 37) _ 1 le tableau sulpit une rotation d'un quart de tour vers la gauche (Tableau 93)By repeating the detail 3 it will give us the following sequence of rotation: 1 the table does not undergo any rotation (never of rotation on the first character). 1 the board is rotated a quarter of a turn to the left (Table 37) 1 the board is rotated a quarter of a turn to the left (Table 93) _ 0 the board rotates a quarter of a turn turn to the right (Table 37) 1 the table is rotated a quarter of a turn to the left (Table 93) _ 0 the table is rotated a quarter of a turn to the right (Table 37) _ 0 on table is rotated a quarter of a turn to the right (Table 12) 1 the table sulpit rotated a quarter of a turn to the left (Table 37) _ 1 the table sulpit rotated a quarter of a turn to the left (Table 93)
Le premier bit «lie rotation est considéré comme étant la position initiale et ne fera pas l'objet d'une rotation.The first bit "linked rotation is considered to be the initial position and will not be rotated.
Une fois le « S substitué le premier bit est consommé, le second est alors utilisé (Bit 1 : C'est le tableau 37 qui se retrouve maintenant superposé au tableau de référence) C'est au tour du caractère « o » d'être substitué par le caractère « -f- ». Le bit de rotation suivant est encore 1, nouvelle rotation d'1/4 de tour à gauche, le tableau 93 est donc superposé au tableau de référence. Le caractère « c » est alors substitué par le caractère « = ». Ensuite le bit 0 repositionne le tableau 37 sur le tableau de référence. Le caractère « f » est positionné au-dessus du « r » et ainsi de suite. La chaîne « Socryptic » se retrouve substituée par les|caractères suivants :Once the "S substituted the first bit is consumed, the second is then used (Bit 1: It is the table 37 which is found now superimposed on the reference table) It is the turn of the character" o "to be substituted by the character "-f-". The next rotation bit is again 1, new rotation of 1/4 turn to the left, the table 93 is superimposed on the reference table. The character "c" is then substituted by the character "=". Then bit 0 repositions table 37 on the reference table. The character "f" is positioned above the "r" and so on. The string "Socryptic" is substituted by the following characters:
Socryptic : -f = f n -L | a j=Socryptic: -f = f n -L | a j =
Intégration de la séquence de « rotation »Integration of the "rotation" sequence
Une fois la séquence de substitution effectuée la séquence de rotation y est ajoutée.Once the substitution sequence has been carried out, the rotation sequence is added to it.
La séquence de rotation est déterminée par rapport à la chaîne de caractère, ce qui la rend imprévisible (en effet ce n'est qu'une fois la chaîne décryptée que l'on peut connaître la séquence de rotation).The rotation sequence is determined with respect to the string of characters, which makes it unpredictable (indeed it is only after the decrypted string that we can know the rotation sequence).
Une fois la chaîne transformée en binaire chacun des demiefs bits de chaque caractère est extrait.Once the string is transformed into binary each of the bit queries of each character is extracted.
Dans notre exemple les caractères sont codés sur 8 Bits. Les bits 8,16, 24, 32,40, 48, 56, 64, 72 de Socryptic seront donc notre séquence de rotation.In our example the characters are encoded on 8 bits. Socryptic bits 8,16, 24, 32,40, 48, 56, 64, 72 will therefore be our rotation sequence.
Cette séquence sera intercalée entre les caractères substitués (tous les caractères pairs en commençant par le début de la chaîne).This sequence will be inserted between the substituted characters (all even characters starting at the beginning of the string).
Exemple: : 1 -f 1 = 1 f 0 h 1 -10 10 a 1 = 1Example:: 1 -f 1 = 1 f 0 h 1 -10 10 a 1 = 1
Le nombre de caractères utilisés (9) pour cette séquence est alors enregistré pour être plus tard intégré à la chaîne.The number of characters used (9) for this sequence is then recorded to be later integrated into the chain.
Intégration de la « clé » comprenant la méthode et l'ID d'application Une fois la séquence de rotation intégrée le nombre de caractères est comptabilisé (dans notre exemple 18 : 9 lettres pour « Socryptic » + 9 caractères désignant les bits de rotation).Integration of the "key" including method and application ID Once the rotation sequence is integrated the number of characters is counted (in our example 18: 9 letters for "Socryptic" + 9 characters designating the bits of rotation) .
Le pourcentage de positionnement de la « clé » précédemment généré par le second compteur est alors récupéré (Par exemple 54). Un calcul est alors fait, déterminant les 54% de 18 :(18x54)/100 = 9,72The percentage of positioning of the "key" previously generated by the second counter is then recovered (for example 54). A calculation is then made, determining the 54% of 18: (18x54) / 100 = 9.72
Arrondi à la valeur supérieur 10. La « clé » sera donc positionnée à partir du dixième caractère.Rounded up to 10. The "key" will therefore be positioned from the tenth character.
La « clé » est composée du numéro de la méthode et de l'ID d'application.The "key" is composed of the number of the method and the application ID.
Dans notre exemple le premier compteur nous renvoi 3 ce qui correspondant à la méthode 4 sur le tableau de correspondance. Le chiffre 3 est alors ajouté en onzième position. Ce onzième caractère sera suivi de dix autres chiffres correspondant à l'ID unique de l'application. Exemple : : 1-)-1 = lf On 13245824755 l^OiOâ 1= 1 Intégration du pourcentageIn our example, the first counter returns 3 which corresponds to method 4 on the correspondence table. The number 3 is then added in eleventh position. This eleventh character will be followed by ten other digits corresponding to the unique ID of the application. Example:: 1 -) - 1 = lf On 13245824755 l ^ OiOâ 1 = 1 Percentage integration
Le pourcentage est alors positionné en début de chaîne. Exemple : 54 :1-|-I = lf0nl3245824755 1-J-Oj|0a 1=1 Intégration des données de géolocalisationThe percentage is then positioned at the beginning of the chain. Example: 54: 1- | -I = lf0nl3245824755 1-J-Oj | 0a 1 = 1 Integration of geolocation data
Les données de géolocalisation envoyées par le client lors de sa demande sont alors extraites de la base et ajoutées à la chaîne en étant séparées du reste de la chaîne par un caractère spécial n'ayant aucune correspondance dans les tableaux en fonction de l'encodage utilisé.ÎDans notre exemple nous utiliserons le caractère « ô».The geolocation data sent by the customer during his request are then extracted from the database and added to the chain by being separated from the rest of the chain by a special character having no correspondence in the tables according to the encoding used. In our example we will use the character "O".
Exemple :Example:
Adresse de la géolpcalisation du client « 123 avenue de la somme 33000 bordeaux » : • Latitude: 44.9091576 • Longitude:-0.5152832 54 :1-|-I = lf0nl32458247551-L0 | 0 a 1 = 1 ô 44.9091576 ô -0.5152832 Intégration du nombre de bit de la séquence de « rotation »Address of the customer geolpcalisation "123 avenue de la somme 33000 bordeaux": • Latitude: 44.9091576 • Longitude: -0.5152832 54: 1- | -I = lf0nl32458247551-L0 | 0 to 1 = 1 ô 44.9091576 ô -0.5152832 Integration of the bit number of the "rotation" sequence
Le nombre de bit utilisé (9) est alors ajouté à la fin de cette chaîne et séparé du reste par un nouveau caractère « ô».The number of bits used (9) is then added at the end of this string and separated from the rest by a new character "ô".
Exemple : 54 :l + l = lf0nl32458247551J-0 |j 0 a 1 = 1 ô 44.9091576 ô -0.5152832 ô 9 Cryptage par les tableaux de permutationExample: 54: l + l = lf0nl32458247551J-0 | j 0 a 1 = 1 ô 44.9091576 ô -0.5152832 ô 9 Encryption by permutation tables
Une fois toutes les informations intégrées à la chaîne, elle est transformé en binaire. Exemple : 00110101 00110100 00111010 0011000110111100 001100010011110100110001 01100110 00110000 11110001 00110001 0011001100110010 00110100 00110101 00111000 00110010 00110100 00110111 0011010100110101 0011000110110100 00110000 10010001 00110000 11100100 00110001 00111101 0011000111110000 00110100 00110100 00101110 00111001 00110000 00111001 0011000100110101 0011011100110110 11110000 00101101 00110000 00101110 0011010100110001 00110101 00110010 00111000 00110011 00110010 11110000 00111001Once all the information integrated in the chain, it is transformed into binary. Example: 00110101 00110100 00111010 0011000110111100 001100010011110100110001 01100110 00110000 11110001 00110001 0011001100110010 00110100 00110101 00111000 00110010 00110100 00110111 0011010100110101 0011000110110100 00110000 10010001 00110000 11100100 00110001 00111101 0011000111110000 00110100 00110100 00101110 00111001 00110000 00111001 0011000100110101 0011011100110110 11110000 00101101 00110000 00101110 0011010100110001 00110101 00110010 00111000 00110011 00110010 11110000 00111001
Nous calculons alors si le nombre de bit total est un multiple de 32. Si ce nombre n’est pas multiple de 32, nous ajoutons un caractère spécial qui sera réservé uniquement pour cette opération. Ce caractère sera réservé à cette utilisation. Dans notre exemple les différentes données (comprenant le pourcentage, la chaîne substitué, sa séquence de rotation intercalée, la méthode et HD unique positionnés à la jonction déterminé par le pourcentage, le caractère spécial de séparation « ô», la latitude, le caractère spécial de séparation des blocs « ô», la longitude, le caractère spécial de séparation des blocs « ô», le nombre de bits de rotation) nous donne 440 bits qui n’est pas multiple de 32. Cela nous oblige donc à rajouter pour cet exemple le caractère spécial « ® », qui va nous servir d'indice pour déterminer tous les bits qui auront été ajoutés afin d'obtenir le prochain nombre multiple de 32 bits. Dans notre exemple le prochain multiple est 448, ce qui nous donne 440 bits + 8 bits (caractère spécial « ® »). Si nous avions eu un total de 432 bits nous aurions été forcé de rajouter le caractère « ® »suivi de 8 zéros. Dans le processus de décryptage le caractère « ®» sera cherché et tout ce qui suit après ce caractère sera supprimé y compris ledit caractère. Une fois la chaîne complétée les tableaux de permutation (Détail 1) vont intervenir. Ils vont permettre de réattribuer une position différente à chaque bit. Cette opération sera effectuée successivement par bloc de 8,16 ou 32 bits. L'ordre dans lequel les séquences 8,16, 32 bits sera déterminé par la méthode de permutation extraite du tableau de correspondance (Détail 2).We then calculate if the total number of bits is a multiple of 32. If this number is not multiple of 32, we add a special character that will be reserved only for this operation. This character will be reserved for this use. In our example the different data (including the percentage, the substituted string, its interleaved rotation sequence, the method and unique HD positioned at the junction determined by the percentage, the special character of separation "ô", the latitude, the special character separation of the blocks "ô", the longitude, the special character of separation of the blocks "ô", the number of bits of rotation) gives us 440 bits which is not multiple of 32. This obliges us therefore to add for this example the special character "®", which will serve us as an index to determine all the bits that have been added in order to obtain the next multiple number of 32 bits. In our example the next multiple is 448, which gives us 440 bits + 8 bits (special character "®"). If we had a total of 432 bits we would have been forced to add the '®' character followed by 8 zeros. In the process of decrypting the character "®" will be searched and everything after this character will be deleted including the character. Once the chain is complete, the permutation tables (Detail 1) will intervene. They will allow to reassign a different position to each bit. This operation will be performed successively by block of 8, 16 or 32 bits. The order in which the 8,16, 32-bit sequences will be determined by the permutation method extracted from the correspondence table (Detail 2).
Dans notre exemple le chiffre remonté par le compteur est Ô ce qui indique que la méthode 1 de permutation sera utilisé. C'est-à-dire tpi, tp2 puis tp3.In our example, the number returned by the counter is 0 which indicates that the method 1 of permutation will be used. That is, tpi, tp2 then tp3.
Exemple : les 8 premiers bits sont 00110101Example: The first 8 bits are 00110101
Tpi nous donne le cinquième bit en position 1 le quatrième bit en position 2 le sixième bit en position 3 est ainsi de suite ce qui nous donne : 00110101 i—_—C>01101001Tpi gives us the fifth bit in position 1 the fourth bit in position 2 the sixth bit in position 3 is so on which gives us: 00110101 i -_- C> 01101001
Après la permutation de notre premier bloc de 8 bit on obtient 01101001After swapping our first 8-bit block we get 01101001
Cette opération se poursuit jusqu'à la fin de la chaîne binaire par bloc de 8 bit.This operation continues until the end of the bit string in 8-bit blocks.
En respectant la méthode 1 le prochain tableau utilisé est tp2 qui est un tableau de permutation de 16 bit avec un même principe de permutation mais cette fois sur des blocs de 16 bit. Idem pour le tableau tp3 qui est un tableau de 32 bit et donc on appliquera des permutations sur des blocs de 32 bit.By following method 1, the next array used is tp2, which is a 16-bit permutation table with the same permutation principle, but this time on 16-bit blocks. Ditto for the table tp3 which is a table of 32 bit and thus one will apply permutations on blocks of 32 bit.
Ajout de l'ID de transaction L'ID de transaction est alors ajouté à la fin de la chaîne permutée. Cet ID ne présente aucun risque de sécurité dans la mesure où il est strictement associé à l'ID unique de l'application ainsi qu'aux données de géolocalisation déjà permutées et qu'il a une seule utilisation sur un temps donné. Il est composé de 10 caractères. De ce fait il est impossible de réutiliser cette ID depuis une autre application étant pourtant à la même position GPS, où depuis un clone de l'application se trouvant à une position GPS différente.Adding the transaction ID The transaction ID is then added to the end of the swapped chain. This ID presents no security risk insofar as it is strictly associated with the unique ID of the application as well as geo-location data already permuted and that it has a single use over a given time. It is composed of 10 characters. Therefore it is impossible to reuse this ID from another application being at the same GPS position, where from a clone of the application at a different GPS position.
Exemple :Example:
Ajout de la méthodeAdding the method
Une fois l'ID de transaction ajouté le numéro de la méthode se positionnera en fin de chaîne. Lui aussi étant à usage unique et lié à l'ID de transaction et par dépendance aux deux autres facteurs d'authentification, il ne présente aucun risque à être intercepté. Exemple :Once the transaction ID is added the number of the method will be positioned at the end of the string. It is also single-use and linked to the transaction ID and by dependence on the other two authentication factors, it presents no risk to be intercepted. Example:
Envoi de la requêteSending the request
La requête suivante est alors envoyée au client : Décryptage: Récupération des données de géolocalisation A la réception de lia requête le système de géolocalisation est sollicité. Les données alors remontées sont stockées.The following request is then sent to the client: Decryption: Recovery of geolocation data Upon receipt of the request the geolocation system is requested. The data then reassembled are stored.
Extraction de la méthode de permutation ^ stockage de la méthode de permutation La chaîne récupérée est alors de cette forme :Extraction of the permutation / storage method of the permutation method The retrieved string is then of this form:
La méthode de permutation est à cet instant le dernier chiffre de la chaîne. Il est alors extrait et va être corrélé avec le tableau de correspondance (Détail 2) chargé dans l'application à l'initialisation. Le chiffre 0 correspondant à la méthode 1, l'ordre d'utilisation est alors enregistré, tpi, tp2, tp3The permutation method is at this moment the last digit of the string. It is then extracted and will be correlated with the correspondence table (Detail 2) loaded into the application at initialization. The number 0 corresponding to the method 1, the order of use is then recorded, tpi, tp2, tp3
Extraction de l'ID de transaction 4 stockage de l'ID de transaction L'ID de transaction est alors extrait et comparé à l'ID de transaction émis à la demande initiale. Deux solutions possibles :Extraction of transaction ID 4 storage of transaction ID The transaction ID is then retrieved and compared to the transaction ID issued at the initial request. Two possible solutions:
Les deux ID ne correspondent pas. La requête a alors peut-être été interceptée et l'ID de transaction initial a dû être généré. Le décryptage ne peut pas aller plus loin Les deux ID correspondent. Le décryptage par les tableaux de permutation peut commencer. Décryptage par les tableaux de permutation grâce à la méthodeThe two IDs do not match. The request may have been intercepted and the original transaction ID must have been generated. Decryption can not go further The two IDs match. Decryption by permutation tables can begin. Decryption by permutation tables thanks to the method
Pour que le décryptage se fasse il est impératif d'inverser l'ordre des tableaux de permutation. En allant du dernier tableau de permutation utilisé vers le premier.For decryption to occur, it is imperative to reverse the order of permutation tables. By going from the last swap table used to the first one.
Dans notre exemple nous avons utilisé tpi, tp2, tp3 ce qui nous donne donc au ; décryptage tp3, tp2, tpiIn our example we used tpi, tp2, tp3 which gives us therefore to; decryption tp3, tp2, tpi
Cette permutation nous permet de récupérer la chaîne suivante : :H:i-ff = §f|h|f§24582475 5 1-L0 10 â 1 = 1 ô 44.9091576 ô -0.5152832 ô 9® On supprime le caractère ® qui nous servait à la fois pour compléter la chaîne totale en binaire au plus proche multiple de 32 et de caractère de séparation comme expliqué : précédemment dans la séquence cryptage.This permutation allows us to recover the following string:: H: i-ff = §f | h | f§24582475 5 1-L0 10 to 1 = 1 ô 44.9091576 ô -0.5152832 ô 9® We delete the character ® that served us both to complete the total string in binary to the nearest multiple of 32 and separator character as explained: previously in the encryption sequence.
Ce qui nous donne maintenant: 54 :ï-(-|=lf|ni|2458247551-*-0 | Oal = lô 44.9091576 ô -0.5152832 ô 9 Extraction du nombre de bit utilisés pour la séquence de « rotation »What now gives us: 54: ï - (- | = lf | ni | 2458247551 - * - 0 | Oal = l0 44.9091576 ô -0.5152832 ô 9 Extract the number of bits used for the "rotation" sequence
Le dernier bloc de cette chaîne à partir du caractère non reconnu (ô) est extrait. | Dans notre exemple ce bloc n'est composé que du chiffre 9. Ce chiffre correspond au nombre de caractère utilisés pour la séquence de rotation. Nous obtenons alors la chaîne suivante : 54 :l-fl = lfOnll2458247551-L0 10 â 1 = 1 ô 44.9091576 ô -0.5152832 Vérification des données de géolocalisationThe last block of this string from the unrecognized character (ô) is extracted. | In our example, this block only consists of the number 9. This number corresponds to the number of characters used for the rotation sequence. We then obtain the following string: 54: l-fl = lfOnll2458247551-L0 10 to 1 = 1 ô 44.9091576 ô -0.5152832 Verification of the geolocation data
Les données de géolocalisation sont extraites. Ces données sont repérées par le caractère non reconnu (ô). 2 solutions possibles :The geolocation data is extracted. These data are identified by the unrecognized character (ô). 2 possible solutions:
Les données récupérées dans la requête ne correspondent pas aux données venant d'être récupérées à la première étape de cette séquence : Tentative potentielle de Man in The middle. Le récepteur des identifiants n'étant pas à la même position que le demandeur ayant initialisé la connexion, le décryptage par les tableaux de substitution est alors rejeté.The data retrieved in the query does not match the data just retrieved in the first step of this sequence: Potential Attempt of Man in The Middle. Since the receiver of the identifiers is not in the same position as the initiator having initiated the connection, the decryption by the substitution tables is then rejected.
Les données récupérées dans la requête correspondent aux données venant d'être récupérées à la première étape de cette séquence. La validation est faite. Le récepteur : des identifiants étant à la même position que le demandeur. Le décryptage par les tableaux de substitution peut commencer.The data retrieved in the request corresponds to the data just recovered in the first step of this sequence. The validation is done. The receiver: identifiers being in the same position as the applicant. Decryption by substitution arrays can begin.
Une fois la validation effectuée les données de géolocalisation sont supprimées. Nous 'obtenons la chaîne suivante : 54 :l-j-3, = |f|hf|2458247551-^-0 | Θ a 1 = 1 Extraction du pourcentage de positionnement de la « clé »Once the validation is complete, the geolocation data is deleted. We get the following string: 54: l-j-3, = | f | hf | 2458247551 - ^ - 0 | Θ a 1 = 1 Extraction of the percentage of positioning of the "key"
Le pourcentage est alors extrait. Il nous indiquera ou se trouve la méthode de substitution ainsi que l'ID unique de l'application.The percentage is then extracted. It will tell us where the substitution method and the unique ID of the application are.
Une fois ce chiffre extrait de la chaîne nous obtenons la chaîne suivante : : 1 + |= IfOn 112458 247 5 5 lJ-QlOa 1=1Once this figure is extracted from the string we get the following string:: 1 + | = IfOn 112458 247 5 5 lJ-QlOa 1 = 1
Extraction de la méthode de substitution et de l'ID de transaction Nous comptabilisons le nombre de caractère restant (29).Extract substitution method and transaction ID We count the remaining number of characters (29).
La méthode ne représentant qu'l seul caractère et l'ID de l'application étant de 10 caractères, une soustraction est faite de 11. 29-11 = 18Since the method represents only one character and the application ID is 10 characters, a subtraction is made of 11. 29-11 = 18
Un calcul des 54% de 18 est alors effectué : (18X54)/100 = 9,72A calculation of 54% of 18 is then made: (18X54) / 100 = 9.72
Arrondi à la valeur supérieure cela donne 10. La « clé » se retrouvera donc du caractère 11 à 21. Cette série de chiffre est extraite et séparée. Le premier caractère correspondant à la méthode de substitution et les dix suivant à l'ID de l'application.Rounded to the higher value, this gives 10. The "key" will therefore be found from character 11 to 21. This number series is extracted and separated. The first character corresponding to the substitution method and the next ten to the application ID.
Nous obtenons la chaîne suivante : :| + l=lf0n l-L0S.0al = -iWe get the following string:: | + l = lf0n l-L0S.0al = -i
Extraction de Ig séquence de rotation C'est au tour de laséquence de rotation d'être extrait. Le nombre de bit de rotation ayant été récupéré avant (9)Extraction of Ig rotation sequence It is the turn of the rotation sequence to be extracted. The number of rotation bits that were retrieved before (9)
Une extraction est alors faite des 9 premiers bits pairs.An extraction is then made of the first 9 even bits.
La chaîne suivante! apparaît : : + = f fi i|i a = Décryptage par les tableaux de substitution L'application va maintenant faire appel à ses tableaux de substitution qui ont été téléchargés à l'initialisation sur le serveur. Côté client ces tableaux sont numéroté tsl, ts2, ts3, ts4. La méthode de substitution est alors récupérée. Cette valeur est alors corrélée avec le tableau de correspondance (Détail 2) : 1 Méthode 4 ^ tsl.ts3.ts4.ts2The next chain! appears:: + = f fi i | i a = Decryption by substitution arrays The application will now use its substitution arrays that have been downloaded on initialization on the server. Client side these tables are numbered tsl, ts2, ts3, ts4. The substitution method is then retrieved. This value is then correlated with the correspondence table (Detail 2): 1 Method 4 ^ tsl.ts3.ts4.ts2
Les tableaux prennent à lors leur position initiale : NORD : 1er tableau de la méthode EST : 2eme tableau de la méthode SUD : 3eme tableau de la méthode OUEST : 4eme tableau de la méthodeThe tables then take their initial position: NORD: 1st table of the EST method: 2nd table of the SOUTH method: 3rd table of the WEST method: 4th table of the method
La séquence de décryptage par les tableaux de substitution commence.The decryption sequence by the substitution arrays begins.
Le premier caractère « : » sur le tableau 1 (12 en Figure 4) correspond au caractère « S » sur le tableau de référence.The first character ":" in Table 1 (12 in Figure 4) corresponds to the character "S" on the reference table.
La séquence de rotation est alors appelée. _ 1 le tableau ne subit aucune rotation (jamais de rotation sur le premier caractère). 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 2) 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 4) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 2) _ 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 4) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 2) _ 0 le tableau subit une rotation d'un quart de tour vers la droite (Tableau 1) _ 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 2) _ 1 le tableau subit une rotation d'un quart de tour vers la gauche (Tableau 4)The rotation sequence is then called. _ 1 the table is not rotated (never rotated on the first character). 1 the board is rotated a quarter of a turn to the left (Table 2) 1 the board rotates a quarter of a turn to the left (Table 4) _ 0 the board rotates a quarter of a turn turn to the right (Table 2) _ 1 the board is rotated a quarter of a turn to the left (Table 4) _ 0 the board is rotated a quarter of a turn to the right (Table 2) _ 0 the board is rotated a quarter of a turn to the right (Table 1) _ 1 the board rotates a quarter of a turn to the left (Table 2) _ 1 the board rotates a quarter of a turn turn to the left (Table 4)
Le premier bit est extrait sans subir de rotation. Le second bit est à 1 le tableau ts2 est alors superposé sur le tableau de référence. Le caractère « -|- » correspond à « o » sur le tableau de référence. Le troisième bit est à 1, une rotation est de nouveau faite vers la gauche. C'est alors le tableau ts4 qui est utilisé pour décrypterle caractère « = ». Il est situé à la même position que le caractère « c » qui est alors récupéré. Quatrième bit à 0, rotation vers la droite, c'est de nouveau le tableau ts2 qui est utilisé pour substituer le caractère « f » par le caractère « r ». Et ainsi de suite. Nous obtenons alors la chaîne caractère suivante : : : -f = f η -1- §| a =The first bit is extracted without being rotated. The second bit is at 1 the table ts2 is then superimposed on the reference table. The character "- | -" corresponds to "o" on the reference table. The third bit is 1, a rotation is again made to the left. It is then the array ts4 which is used to decrypt the character "=". It is located at the same position as the character "c" which is then recovered. Fourth bit at 0, rotation to the right, it is again the table ts2 which is used to substitute the character "f" by the character "r". And so on. We then get the following character string::: -f = f η -1- § | a =
SocrypticSocryptic
Authentification sur la ressource B A la réception des identifiants l'utilisateur à 5 minutes pour se logger sans quoi ces identifiants sont supprimés de la base LDAP. Ils seront également supprimés de la base de données côté Serveur lors d'une prochaine demande d'identifiant et remplacé par les nouveaux générés.Authentication on the resource B Upon receipt of the identifiers the user to 5 minutes to log otherwise these identifiers are removed from the LDAP database. They will also be deleted from the server-side database during a next identifier request and replaced by the new generated ones.
Exemple d'utilisation du cryptage, nous allons prendre la gestion d'un accès à distance:Example of use of encryption, we will take the management of a remote access:
Le client A ( Figure 1) veut accéder au serveur DATA via la rèssource B(Figure 1). Pour cela il va obtenir des identifiants de connexion qu'il sera le seul à pouvoir lire.Client A (Figure 1) wants to access the DATA server via Resource B (Figure 1). For this he will get login credentials that he will be the only one to read.
Il utiliseson smartphone ( Figure 1) sur lequel une application de gestion d'accès à distance a été au préalablement installée depuis une plateforme ( google play, Apps store, Blackberry, etc) Cette application sera développée de manière à récupérer : ΓΙΜΕΙ du téléphone, le numéro de téléphone du mobile utilisé (smartphone, tablette...), les coordonnées de géolocalisation latitude/longitude.It uses smartphone (Figure 1) on which a remote access management application has been previously installed from a platform (google play, Apps store, Blackberry, etc.) This application will be developed to recover: ΓΙΜΕΙ the phone, the mobile phone number used (smartphone, tablet ...), latitude / longitude geolocation coordinates.
Mais également développée de manière à intégrer une fonction d'authentification personnelle (code pin, biométrie, etc...). Ces données, à l'exception de la géolocalisation, vont servir à établir l'ID unique de l'application qui sera généré lors de l’installation. Cet ID sera envoyé à la base de données lors de l'initialisation de l'application avec le serveur (première connexion).But also developed to integrate a personal authentication function (pin code, biometrics, etc ...). This data, with the exception of geolocation, will be used to establish the unique ID of the application that will be generated during the installation. This ID will be sent to the database when initializing the application with the server (first login).
Cet ID sera concaténé avec la méthode de substitution utilisée pour donner une clé propre à chaque transaction qui sera présente dans chaque message crypté et qui sera aussi associée à la géolocalisation.This ID will be concatenated with the substitution method used to give a specific key to each transaction that will be present in each encrypted message and which will also be associated with the geolocation.
Le client s'authentifie afin de lancer l'application (code pin, biométrie...)The client authenticates to launch the application (pin code, biometrics ...)
Une fois authentifié l'application envoi une requête au serveur ( S Figure ). Cette requête contiendra le numéro de téléphone, ΓΙΜΕΙ (ou N° de série du processeur) et l'ID unique de l'application. A cet instant deux solutions sont possibles : L'ID existe dans la base et il est bien lié à ΓΙΜΕΙ contenu dans la requête, la séquence de génération des identifiants peut alors commencer. L'ID n'existe pas dans la base. Dans ce cas où le serveur ne trouve pas de correspondance entre ces différentes données, il créera une nouvelle entrée composée des : Numéro de téléphone, IMEI, ID de l'applicationOnce authenticated the application sends a request to the server (S Figure). This request will contain the phone number, ΓΙΜΕΙ (or serial number of the processor) and the unique ID of the application. At this time two solutions are possible: The ID exists in the database and it is well linked to the content in the request, the sequence of generation of identifiers can then begin. The ID does not exist in the database. In this case where the server does not find a correspondence between these different data, it will create a new entry composed of: Phone number, IMEI, ID of the application
Une fois l'entrée faite le serveur demande l'identité de la personne (Nom et Prénom), ces données n'ont aucune valeur ajoutée en termes de sécurité mais permettront d'associer les différentes données à une personne (lors d'un appel de l'utilisateur vers le support par exemple).Once the entry made the server requests the identity of the person (Name and Surname), these data have no added value in terms of security but will allow to associate the various data to a person (during a call from the user to the support for example).
Une fois l'identité enregistrée en base de données une série de 8 tableaux (4 tableaux de substitutions (Figure 4) + 3 tableaux de permutations + 1 tableau de correspondance) vont être sélectionnés aléatoirement en base de données et envoyés au client afin d'être chargés dans l'application. L'ID de chacun de ces tableaux sera alors associé à l'ID unique de l'application dans la base de données. Il leur sera également attribué un index tsl, ts2, ts3, ts4 pour les tableaux de substitution et de tpi à tp3 pour les trois tableaux de permutation et 1 pour le tableau de correspondance. Ainsi si l'application se fait attaquer et que l'attaquant est en possession de l'ensemble des tableaux (substitution, permutation, correspondance), il lui sera impossible de les corréler entre eux.Once the identity is registered in the database a series of 8 tables (4 substitution tables (Figure 4) + 3 permutation tables + 1 correspondence table) will be randomly selected in the database and sent to the client in order to to be loaded into the application. The ID of each of these tables will then be associated with the unique ID of the application in the database. They will also be assigned a tsl, ts2, ts3, ts4 index for the substitution tables and tpi to tp3 for the three permutation tables and 1 for the correspondence table. So if the application is attacked and the attacker is in possession of all the tables (substitution, permutation, correspondence), it will be impossible for them to correlate them.
Cet échange d’initialisation des requêtes se fera via SSL et sera sécurisé à la fois par la connexion SSL et un bail donnant une durée de vie aléatoire aux différents tableaux allant de 1 jour, 1 semaine, 1 mois... A l'issue de ce bail une mise à jour de l'application sera demandée par le Serveur. Cette mise à jour utilisera les mêmes étapes qu’à l'initialisation en ce qui concerne la génération des tableaux. L'envoi vers le client se fera à l’initiative du Serveur. L'application est maintenant prête à fonctionner avec le cryptage. L'utilisateur déjà loggé sur son application fait une demande de génération d'identifiant pour accéder au seveur DATA via la ressource B ( Figure 1)This request initialization exchange will be done via SSL and will be secured by both the SSL connection and a lease giving a random lifetime to the various tables ranging from 1 day, 1 week, 1 month ... At the end from this lease an update of the application will be requested by the Server. This update will use the same steps as initialization for generating tables. The sending to the client will be at the initiative of the server. The application is now ready to work with encryption. The user already logged on his application makes an identifier generation request to access the data server via the resource B (Figure 1)
Cette requête contiendra : • L'ID unique de l'application • L'ID de transaction • Les données de géolocalisation À la réception le serveur extrait l'ID de transaction qui est associé en base les données à l’ID unique et extrait les données de géolocalisation pour exploitation.This request will contain: • The unique ID of the application • The transaction ID • The geolocation data Upon receipt, the server retrieves the transaction ID that is associated with the data base to the unique ID and retrieves the data. geolocation data for exploitation.
La génération des identifiants nécessaire pour accéder au serveur data via la ressource B Figure l(login, password) est alors faite et associée à l'ID unique de l'application ainsi qu'à l'ID de transaction. Ces identifiants sont ensuite enregistrés dans la base LDAP gérant les identités et ils ne seront valables que pour une seule et unique connexion.The generation of identifiers required to access the data server via resource B Figure 1 (login, password) is then made and associated with the unique ID of the application and the transaction ID. These identifiers are then registered in the LDAP database managing the identities and they will only be valid for a single connection.
Si aucune connexion n'a eu lieu avec ces identifiants dans un délai de 5 minutes (durée : déterminée selon le niveau de sécurité) après l'envoi de la requête ils seront supprimés. ; Les identifiants sont alors cryptés de la manière décrite plus haut dans la technique du : cryptage.If no connection has taken place with these identifiers within 5 minutes (duration: determined according to the security level) after sending the request they will be deleted. ; The identifiers are then encrypted as described above in the technique of: encryption.
Voici l’exemple d’une séquence synthétique : • Transformation de la chaîne de caractère en binaire stockage de la chaîne binaire • Arrêt du premier compteur déterminant les méthodes -^ stockage des méthodes • Arrêt du second compteur déterminant le pourcentage de position de la « clé » stockage du pourcentage • Cryptage de la chaîne de caractère par les tableaux de substitution • Intégration de la séquence de « rotation » • Intégration de la « clé » comprenant la méthode de substitution et l'ID d'application • Intégration du pourcentage de positionnement de la « clé » • Intégration des données de géolocalisation • Intégration du nombre de bit de la séquence de « rotation » • Cryptage par les tableaux de permutation • Ajout de l'ID de transaction • Ajout de la méthode de permutation • Envoi de la requête À la réception de la requête le client va procéder au décryptage de la manière décrite plus haut dans la technique du cryptage selon la séquence synthétique suivante : • Récupération des données de géolocalisation par le système intégré au client • Extraction de la méthode de permutation stockage de la méthode de permutation • Extraction de l'ID de transaction stockage de l'ID de transaction • Décryptage par les tableaux de permutation grâce à la méthode • Extraction du nombre de bit utilisés pour la séquence de « rotation » • Vérification des données de géolocalisation d'où 2 solutions possibles :Here is the example of a synthetic sequence: • Transformation of the string into binary storage of the binary string • Stopping of the first counter determining the methods - storage of the methods • Stopping of the second counter determining the percentage of position of the " Key »Percentage Storage • Character String Encryption by Substitution Arrays • Integration of" Rotation "Sequence • Integration of" Key "including Substitution Method and Application ID • Percentage Integration positioning of the "key" • Integration of the geolocation data • Integration of the number of bits of the "rotation" sequence • Encryption by the permutation tables • Addition of the transaction ID • Addition of the permutation method • Sending of the request Upon receipt of the request the client will proceed to decryption as described above in the technical Encryption according to the following synthetic sequence: • Retrieval of geolocation data by the customer's integrated system • Retrieval of the permutation storage method of the permutation method • Extraction of transaction ID storage transaction ID • Decryption by permutation tables thanks to the method • Extraction of the number of bits used for the "rotation" sequence • Verification of the geolocation data from which 2 possible solutions:
Les données récupérées dans la requête ne correspondent pas aux données venant d'être récupérées à la première étape de cette séquence (tentative potentielle de Man in The middle) Ce qui implique que le récepteur des identifiants n'est pas à la même position que le demandeur et le décryptage par les tableaux de substitution est alors rejeté.The data retrieved in the request does not correspond to the data that was just retrieved in the first step of this sequence (potential attempt of Man in The middle). This implies that the receiver of the identifiers is not in the same position as the applicant and decryption by the substitution tables is then rejected.
Les données récupérées dans la requête correspondent aux données venant d'être récupérées à la première étape de cette séquence. La validation est faite. Le récepteur des identifiants étant à la même position que le demandeur. Le décryptage par les tableaux de substitution peut commencer. • Extraction du pourcentage de positionnement de la « clé » • Extraction de la méthode de substitution et de l'ID d'application • Extraction de la séquence de rotation • Décryptage par les tableaux de substitution. L'utilisateur est maintenant en possession des identifiants qu'il a demandé pour accéder au serveur data via la ressource B ( Figure 1) L'utilisateur dispose alors d'un délai, temps imparti pour accéder au serveur data via la ressource B (Figure 1) à l'aide des identifiants (login et password) temporaires fournis par le serveur (S). À l'authentification du client A sur la ressource B (Figure 1) avec les identifiant fournis (connexion SSL, VPN) le serveur (S) comparera la géolocalisation de la ressource B et de l'utilisateur client A. En fonction de la tolérance sur l'écart de distance entre A et B (déterminée dans les critères de l'installation initiale) la connexion de la ressource B avec le serveur data distant est établie ou refusée.The data retrieved in the request corresponds to the data just recovered in the first step of this sequence. The validation is done. The receiver of the identifiers being in the same position as the applicant. Decryption by substitution arrays can begin. • Extraction of the percentage of positioning of the "key" • Extraction of the substitution method and the application ID • Extraction of the rotation sequence • Decryption by the substitution tables. The user is now in possession of the identifiers he has requested to access the data server via the resource B (Figure 1). The user then has a delay, time allowed to access the data server via the resource B (Figure 1) using the temporary login and password provided by the server (S). In the authentication of the client A on the resource B (Figure 1) with the provided identifiers (connection SSL, VPN) the server (S) will compare the geolocation of the resource B and the customer user A. According to the tolerance on the distance difference between A and B (determined in the criteria of the initial installation) the connection of the resource B with the remote data server is established or refused.
Chaque rejet effectué lors des vérifications des différents facteurs d'authentification, lèvera une alerte et un enregistrement sera fait des coordonnées de géolocalisation du demandeur et du récepteur, l'(es) ID de transaction ainsi que l'(es) ID d'application. Nous pourrons alors déterminer, la position de la victime et la position du « pirate ». Les ID d'application nous permettront de récupérer les identités, par le billet de l'identité enregistrée à l'initialisation de l'application lié à la vérification du numéro de téléphone par SMS et pièces justificatives vérifiées.Each rejection made during the checks of the various authentication factors, will raise an alert and a record will be made of the geolocation coordinates of the requester and the receiver, the transaction ID (es) as well as the application ID (es). . We can then determine the position of the victim and the position of the "pirate". The application IDs will allow us to recover the identities, by the ticket of the registered identity at the initialization of the application related to the verification of the telephone number by SMS and verified vouchers.
Domaine d'Application : Toute application fonctionnant soûls un environnement client-serveur transportant des données alphanumérique dont l'intégrité et la confidentialité doivent être préservés.Area of Application: Any application running a client-server environment carrying alphanumeric data whose integrity and confidentiality must be preserved.
Exemple d'utilisation: • gestion de paiement • gestion des accès à distance • messagerie instantanée...Example of use: • payment management • remote access management • instant messaging ...
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1501468A FR3038759A1 (en) | 2015-07-10 | 2015-07-10 | ENCRYPTION WITH EMBARKED GEOLOCATION |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1501468A FR3038759A1 (en) | 2015-07-10 | 2015-07-10 | ENCRYPTION WITH EMBARKED GEOLOCATION |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3038759A1 true FR3038759A1 (en) | 2017-01-13 |
Family
ID=57614599
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR1501468A Pending FR3038759A1 (en) | 2015-07-10 | 2015-07-10 | ENCRYPTION WITH EMBARKED GEOLOCATION |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR3038759A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113095042A (en) * | 2021-03-23 | 2021-07-09 | 广州零端科技有限公司 | Character string encryption method, system, device and storage medium |
-
2015
- 2015-07-10 FR FR1501468A patent/FR3038759A1/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113095042A (en) * | 2021-03-23 | 2021-07-09 | 广州零端科技有限公司 | Character string encryption method, system, device and storage medium |
| CN113095042B (en) * | 2021-03-23 | 2023-12-19 | 广州零端科技有限公司 | Character string encryption method, system, device and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sudhan et al. | An innovative proposal for secure cloud authentication using encrypted biometric authentication scheme | |
| CN109151053B (en) | Anti-quantum computing cloud storage method and system based on public asymmetric key pool | |
| Huang et al. | Achieving big data privacy via hybrid cloud | |
| WO2014118257A1 (en) | Method of xor homomorphic encryption and secure calculation of a hamming distance | |
| EP2811708B1 (en) | System and method for authenticating a user | |
| CN106899406B (en) | A method for proving the integrity of cloud data storage | |
| EP2720199A1 (en) | Secured method for controlling the opening of locking devices by means of messages using symmetric encryption | |
| CN109617677A (en) | Code key based on symmetric cryptography loses method for retrieving and relevant device | |
| FR3100678A1 (en) | GENERATION OF A CONTEXTUAL MULTI-USER PRIVATE KEY WALLET AND USE OF SUCH WALLET | |
| CN111242611A (en) | Method and system for recovering digital wallet key | |
| WO2013170822A2 (en) | Method and device for processing password for logging into server | |
| CN109302283B (en) | Anti-quantum computing agent cloud storage method and system based on public asymmetric key pool | |
| US20200344076A1 (en) | Authentication method and device | |
| FR3038759A1 (en) | ENCRYPTION WITH EMBARKED GEOLOCATION | |
| EP2940922A1 (en) | Symmetric cryptosystems with public key based on the symmetric group | |
| CN110909387B (en) | Method and device for saving and recovering private data based on secure multi-party computing | |
| FR2690258A1 (en) | An access control method of the type allowing access to an operating function of an operating module by means of a control word. | |
| CN109687960A (en) | Cloud storage method and system is acted on behalf of in anti-quantum calculation based on multiple public asymmetric key ponds | |
| EP2807793B1 (en) | Method for authenticating a device including a processor and a smart card by pattern generation | |
| EP1897267B1 (en) | Method for providing a secured communication between a user and an entity | |
| FR2925730A1 (en) | METHOD AND SYSTEM FOR AUTHENTICATING INDIVIDUALS FROM BIOMETRIC DATA | |
| WO2021156078A1 (en) | Method and device for evaluating the correspondence of structured data sets protected by encryption | |
| EP3266148B1 (en) | Device and method for administering a digital escrow server | |
| CN117118655B (en) | A network disk information protection method and system based on information camouflage | |
| Yugandhara et al. | Secure data storage and forwarding in cloud using AES and HMAC |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |
Effective date: 20170331 |
|
| RN | Application for restoration |
Effective date: 20170425 |
|
| PLFP | Fee payment |
Year of fee payment: 3 |
|
| FC | Favourable decision of inpi director general on an application for restauration. |
Effective date: 20170601 |
|
| PLFP | Fee payment |
Year of fee payment: 4 |
|
| PLFP | Fee payment |
Year of fee payment: 6 |