Brevet FR3128042A1 — publié le 20230414

L’invention concerne un procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudo-aléatoire comprenant : l'obtention d'une valeur d’amorçage (102), K, d'une certaine entropie représentée par sa longueur de bits ; l’exécution d’une fonction de hachage (100) à sens unique, H, adaptée à une certaine longueur de bits sur la valeur de départ puis sur les valeurs successives d’une suite d’au moins un élément, où le nombre pseudo-aléatoire (104), M i est représenté par H(M i -1 ), avec i > 0, et M 0 = K. Figure de l’abrégé : [Fig. 1 ] Procédé de génération d’un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message Cette invention concerne des procédés mis en œuvre par ordinateur pour générer un nombre pseudo-aléatoire et un procédé de chiffrement symétrique d'un message. Il est très courant de vouloir protéger les échanges d'informations. Cette protection est basée sur le chiffrement des messages, tels que le texte, la voix et les images, échangés entre un émetteur et un récepteur. L'ensemble du processus est appelé "chiffrement de bout en bout" si le message est chiffré de l'expéditeur au(x) destinataire(s) sans être intelligible pour les serveurs ou autres services participant à l’acheminement du message. Seuls l'expéditeur du message et les destinataires prévus doivent être en mesure de voir le contenu non chiffré. Le seul procédé de chiffrement symétrique inviolable connu et démontré mathématiquement est le procédé dit "One Time Pad" (OTP). Ce procédé est incassable par n'importe quel ordinateur. Cependant, sa mise en œuvre exige de satisfaire à des conditions très strictes, ce qui a découragé jusqu'à présent son utilisation comme base pour le chiffrement symétrique de longs messages. Le chiffrement OTP est par nature indéchiffrable, quelle que soit la puissance de calcul utilisée et donc, par principe, il bénéficie d’un niveau de sécurité infini. Un message de longueur n octets est masqué par une opération de OU exclusif avec les octets d'un masque de même longueur n. Pour déchiffrer le message masqué, il faut refaire la même opération de OU exclusif, ce qui nécessite le masque. Ce masque ne peut pas être calculé et il existe autant de masques possibles que de messages intelligibles (dans toutes les langues possibles) de même longueur n, sans possibilité de deviner lequel est le bon. La longueur du message est la seule information accessible à un attaquant qui ne dispose pas du masque, quelle que soit la puissance de calcul disponible. Le même masque ne doit pas être réutilisé, car si un attaquant avait, par quelque moyen que ce soit, la connaissance des versions chiffrées et déchiffrées d'un message, il serait en mesure de calculer le masque en effectuant l'opération OU exclusif entre les deux versions et de réutiliser le masque pour les messages suivants chiffrés avec le même masque. L'inconvénient majeur de la méthode OTP est que le destinataire doit également disposer du masque pour déchiffrer le message, que ce masque est aussi long que le message et donc aussi difficile à transmettre de manière sécurisée et qu'il doit être différent à chaque fois. En tant que telle, la méthode de chiffrement symétrique OTP n'est pas utilisable dans la pratique. La présente invention a pour but de remédier à un ou plusieurs des inconvénients associés à l'art antérieur. Conformément aux présentes inventions, il est prévu un procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudo-aléatoire. Plus particulièrement, ce procédé comprend les étapes suivantes : l'obtention d'une valeur d’amorçage, K, d'une certaine entropie représentée par sa longueur de bits ; l’exécution d’une fonction de hachage à sens unique, H, adaptée à une certaine longueur de bits sur la valeur de départ puis sur les valeurs successives d’une suite d’au moins un élément, où le nombre pseudo-aléatoire, M i est représenté par H(M i -1 ), avec i > 0, et M 0 = K. Avantageusement, le procédé comprend, avant l’exécution de la fonction de hachage, la combinaison, à l'aide d'une opération OU exclusif XOR, de la valeur d'amorçage, K, avec une valeur pseudo-aléatoire, A, de la longueur de bits choisie, telle que M 0 = H(K ^ A), où ^ est une opération OU exclusif. Également, le procédé comprend une étape de génération d’une séquence de nombres pseudo-aléatoires intermédiaires, M’ 0 à M’ n-1 , où le premier nombre pseudo-aléatoire intermédiaire, M’ 0 , est calculé selon H(K ^ A) et M’ i+1 est calculé selon H(M’ i ), où 0 ≤ i i = H(M’ i ^ A), où 0 ≤ i En outre, la présente invention concerne un procédé de cryptage d'un message, E, comprenant les étapes suivantes la division du message, E, en n parties égales, E i , où 0 ≤ i n , d'une certaine longueur de bits choisie, la combinaison de chaque partie, E i , avec un masque, M i de même longueur binaire, où 0 ≤ i n , pour former une partie chiffrée, C 0 à C n-1 , pour chaque partie, et la concaténation de la valeur pseudo-aléatoire A et des parties chiffrées, C 0 à C n -1 pour former un message chiffré, C, dans lequel chaque masque, M 0 à M n -1 , est un nombre pseudo-aléatoire comme décrit précédemment. En outre, le procédé de cryptage comprend une étape de création d'une signature, S, pour le message chiffré C, ainsi que le calcul de la signature, S, selon H(S n -1 ), où S n -1 est la nième valeur dans une séquence calculée selon S i+1 = S i ^ E i+1 , où 0 ≤ i 0 est E 0 . Également, le procédé de cryptage comprend l'attachement de la signature, S, au message crypté C, pour former un message crypté signé, T. Avantageusement, la fonction de hachage, H, a un niveau de sécurité quantique de plus de 150 bits en ce qui concerne son inversion. Selon une caractéristique, la fonction de hachage, H, est une fonction de hachage de Keccak. Selon une autre caractéristique, la longueur de bits choisie est de 512 bits. Dans le cadre de la présente demande, il est expressément prévu que les divers aspects, modes de réalisation, exemples et variantes exposés dans les paragraphes précédents, dans les revendications et/ou dans la description et les dessins qui suivent, et en particulier les caractéristiques individuelles de ceux-ci, peuvent être pris indépendamment ou en combinaison. C'est-à-dire que tous les modes de réalisation et/ou les caractéristiques de tout mode de réalisation peuvent être combinés de n'importe quelle manière et/ou combinaison, à moins que ces caractéristiques ne soient incompatibles. Le demandeur se réserve le droit de modifier toute revendication déposée à l'origine ou de déposer toute nouvelle revendication en conséquence, y compris le droit de modifier toute revendication déposée à l'origine pour dépendre de et/ou incorporer toute caractéristique de toute autre revendication bien qu'elle n'ait pas été revendiquée à l'origine de cette manière. BRÈVE DESCRIPTION DES FIGURES Des modes de réalisation de l'invention sont décrits ci-après en référence aux dessins annexés, dans lesquels : est - à gauche - organigramme d'une méthode de génération d'un nombre pseudo-aléatoire et – à droite - un organigramme d'un procédé de génération d'une séquence de nombres pseudo-aléatoires ; est – à gauche - un organigramme d'une autre méthode de génération d'un nombre pseudo-aléatoire et – à droite - un organigramme d'une autre méthode de génération d'une séquence de nombres pseudo-aléatoires ; est un organigramme d'un autre procédé de génération d'un nombre pseudo-aléatoire ; est un organigramme d'un procédé de chiffrement d'un message ; est un autre organigramme du procédé de chiffrement d'un message ; est un organigramme d'un procédé de calcul d'une signature pour un message ; (a) et (b) sont des schémas de principe de messages chiffrés ; est un schéma fonctionnel d'un dispositif informatique. Procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudo-aléatoire comprenant l'obtention d'une valeur d’amorçage (102), K, d'une certaine entropie représentée par sa longueur de bits ; l’exécution d’une fonction de hachage (100) à sens unique, H, adaptée à une certaine longueur de bits sur la valeur de départ puis sur les valeurs successives d’une suite d’au moins un élément, où le nombre pseudo-aléatoire (104), M i est représenté par H(M i -1 ), avec i > 0, et M 0 = K. Procédé selon la revendication 1, comprenant, avant l’exécution de la fonction de hachage (100), la combinaison, à l'aide d'une opération OU exclusif XOR, de la valeur d'amorçage (102), K, avec une valeur pseudo-aléatoire, A, de la longueur de bits choisie, telle que M 0 = H(K ^ A), où ^ est une opération OU exclusif. Procédé selon la revendication 2, comprenant la génération d’une séquence de nombres pseudo-aléatoires intermédiaires, M’ 0 à M’ n-1 , où le premier nombre pseudo-aléatoire intermédiaire, M’ 0 , est calculé selon H(K ^ A) et M’ i+1 est calculé selon H(M’ i ), où 0 ≤ i en utilisant la séquence de nombres pseudo-aléatoires intermédiaires et la valeur pseudo-aléatoire A pour la génération des nombres pseudo-aléatoires, selon l'expression M i = H(M’ i ^ A), où 0 ≤ i Procédé de cryptage d'un message, E, comprenant les étapes suivantes la division du message, E, en n parties égales, E i , où 0 ≤ i n , d'une certaine longueur de bits choisie, la combinaison de chaque partie, E i , avec un masque, M i de même longueur binaire, où 0 ≤ i n , pour former une partie chiffrée, C 0 à C n-1 , pour chaque partie, et la concaténation de la valeur pseudo-aléatoire A et des parties chiffrées, C 0 à C n -1 pour former un message chiffré, C, dans lequel chaque masque, M 0 à M n -1 , est un nombre pseudo-aléatoire généré selon le procédé de l'une quelconque des revendications 2 à 3. Procédé selon la revendication 4 comprenant la création d'une signature, S, pour le message chiffré C. Procédé de la revendication 5 comprenant le calcul de la signature, S, selon H(S n ), où S n est la nième valeur dans une séquence calculée selon S i+1 = S i ^ E i+1 , où 0 n , et S 0 est E 0 . Procédé selon l’un quelconque des revendications 5 ou 6 comprenant l'attachement de la signature, S, au message crypté C, pour former un message crypté signé, T. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction de hachage, H, a un niveau de sécurité quantique de plus de 150 bits en ce qui concerne son inversion. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction de hachage, H, est une fonction de hachage de Keccak. Procédé selon l'une quelconque des revendications précédentes, dans lequel la longueur de bits choisie est de 512 bits.