Brevet FR2838892A1 — publié le 20031024

l'amplificateur (1) presente un gain reglable. 1 2838892 La presente invention concerne un procede et un dispositif de chiffrement de donnees numeriques. Wile trouvera particulierement son application dans le domaine du chiffrement entre une memoire a acces aleatoire (Random Access Memory, RAM) et un processeur. Dans le domaine du cryptage en general, on conna/t du document US-B1 6.320.964 un accelerateurcryptographlque. Cet accelerateur cryptographique comprend un selecteur et une pluralite de bus couplee au selecteur. o Certains des bus comprennent des moyens de realisation d'une permutation de bits de donnees parmi d'autres operations. Ces autres operations peuvent etre des operations ou exclusif ou des substitutions selon le principe general du standard DES (Data Encryption Standard). Ce document reflete l'etat de la technique general dans le domaine du chiffrement de donnees dans la mesure ou il presente une combinaison de differents moyens de chiffrement et particulierement des permutations, des substitutions et des operations > par le biais de moyens logiciels. En effet, dans les systemes cryptographiques actuels, I'implementation est soit completement logicielle soit une association de moyens logiciels et Hardware. o Ce type de systeme de chiffrement a ['inconvenient d'etre lent ce qui pese fortement sur certains echanges de donnees et particulierement entre un processeur et une memoire a acces aleatoire habituellement utilisee pour des echanges rapides. Par ailleurs, les systemes de chiffrement mis en couvre selon l'art anterieur impliquent de nombreux echanges de donnees (notamment des cles) entre le processeur et la memoire. Cela pese egalement sur la rapidite d'execution de ['ensemble du processus de chiffrement. La presente invention a pour objectif de proposer un procede et un dispositif de chiffrement de donnees numeriques qui permettent de ne pas handicaper la o rapidite des echanges de donnees. Pour ce faire, I'invention a l'avantage d'operer un chiffrement de fac,on plus rapide. En effet, son implantation strictement hardware assure une grande rapidite du chiffrement. 2 2838892 On notera que ['implementation purement hardware du dispositif de chiffrement va a l'encontre d'un prejuge constant dans l'etat de la technique selon lequel il est necessaire de disposer d'une couche logicielle pour assurer un chiffrement avec une souplesse d'utilisation notamment quant a la saisie et les modifications de cles de chiffrement. La presente invention a vaincu ce prejuge en proposant un nouveau dispositif et procede de chiffrement implantes uniquement en hardware tout en assurant un chiffrement efficace des donnees. Un autre avantage de ['invention est qu'elle ne necessite que peu d'echanges o avec le microprocesseur. Un autre but de ['invention est de proposer un systeme de chiffrement particulierement efficace et difficile a pirater. D'autres buts et avantages apparatront au cours de la description qui suit d'un mode de realisation prefere de ['invention qui n'est cependant qu'indicatif. s La presente invention concerne un dispositif de chiffrement de donnees numeriques comportant une chane de chiffrement avec: - des moyens de permutation des bits de donnees; - des moyens de substitution des bits de donnees; - des moyens d'execution d'une operation logique > caracterise o par le fait que lesdits moyens de permutation, de substitution et d'execution vent des moyens implementes materiellement. Ce d ispositif pou rra se presenter su ivant l es modes de real isation i ntrod u its ci apres: - les moyens d'execution d'une operation logique > comportent s au moins un moyen d'execution situe vers le milieu de la chane de chiffrement; - les moyens d'execution d'une operation logique > comportent au moins une porte logique > avec une entree pour les donnees a chiffrer et une entree pour une valeur fonction de l'adresse de stockage en memoire de donnees a chiffrer; - la valeur fonction de 1'adresse est 1'adresse ellememe; - la valeur fonction de l'adresse est une partie de l'adresse obtenue par troncature; - la valeur fonction de l'adresse est obtenue par extension de l'adresse; 3 2838892 - les moyens d'execution d'une operation logique > comportent au moins une porte logique > avec une entree pour les donnees a chiffrer et une entree pour une valeur aleatoire; - la valeur aleatoire est modifiee a chaque remise a zero du dispositif; - les moyens de substitution comportent des tables de substitution de donnees par paquets. L'invention concerne egalement un procede de chiffrement de donnees numeriques comportant une chane d'etapes de chiffrement dans laquelle: on effectue des permutations des bits de donnees; o - on effectue des substitutions des bits de donnees; - on execute des operations logiques > caracterise par le fait qu'on effectue les etapes de chiffrement par utilisation de moyens implementes materiellement. Selon des variantes preferees, ce procede comporte les etapes suivantes: - on execute au moins une operation logique > vers le milieu des etapes de chiffrement; - on execute au moins une operation logique > par operation entre les donnbes a chiffrer et une valeur fonction de l'adresse de stockage en memoire des donnees a chiffrer; - on utilise comme valeur fonction de 1'adresse 1'adresse elle-meme; - on obtient la valeur fonction de l'adresse en tronquant ladite adresse; - on obtient la valeur fonction de l'adresse par extension de l'adresse - on execute au moins une operation logique > par operation entre les donnees a chiffrer et une valeur aleatoire; - on modifie la valeur aleatoire a chaque remise a zero. - on effectue au moins une substitution des bits de donnees par paquets de bits. Les dessins cijoints vent donnes a titre d'exemples et ne vent pas limitatifs de ['invention. Ils representent seulement un mode de realisation de ['invention et o permettront de la comprendre aisement. La figure 1 schematise 1'utilisation preferentielle de 1'invention pour un chiffrement de donnees entre un processeur et une memoire a acces aleatoire. La figure 2 illustre un mode de realisation prefere du dispositif selon ['invention avec differentes etapes de chiffrement. 4 2838892 En reference a la figure 1, le dispositif et le procede selon ['invention peuvent etre mis en ceuvre entre un processeur 1 et une memoire du type a acces aleatoire 2 afin de chiffrer les donnees transmises par le bus de donnees 13. Toute autre application a divers echanges de donnees n'est cependant pas exclue de la presente invention. On a presente en figure 2 un mode de realisation prefere de ['invention pour le chiffrement de bits de donnees entrant 11. Le repere 12 illustre les bits de donnees sortant issus du chiffrement. En reference a cette figure, differents moyens de permutations 3, 4, 5 vent o presents a differents niveaux de la chane de chiffrement. Avantageusement, ces moyens de permutation 3, 4, 5 vent alternes avec d'autres moyens de chiffrement et particulierement des moyens de substitution de bits de donnees 6a, 6b, 6c, 6d, 7a, 7b, 8. Par ailleurs, des moyens d'exbcution d'une operation logique K OU exclusif >> s vent egalement presents et representes ici sous forme de portes logiques 9, 10. A titre prefere, la chane de chiffrement s'organise comme suit: N x (alternances permutations/ Substitutions), XOR avec V, XOR avec RN (pas de permutations avec RN), M x alternances permutations / Substitutions), N et M ≥1 de preference au moins deux. o En reference a la figure 2, la chane de chiffrement peut debuter par une permutation 3 suivie d'une etape de substitution par les moyens 6a, 6b, 6c, 6d. La substitution est operee par des tables de substitution de donnees et preferentiellement realisee par une pluralite de tables disposees en parallele pour chiffrer des paquets distincts de bits de donnees. s Dans l'exemple de donnees echangees sur 16 bits, on pourra utiliser quatre tables de substitution de quatre bits. On pourra egalement comme dans le cas des tables de substitution 7a, 7b utiliser deux tables de chiffrement de 8 bits. Toujours en reference a la figure 2, on peut egalement constituer une table o de substitution reperee 8 de 16 bits et realisee de fa,con unique pour effectuer les tables de substitution de ['ensemble des bits de donnees. Suite a des tables de substitution representees aux reperes 6a, 6b, 6c, 6d, on realise une nouvelle permutation au niveau 4. S'ensu it une nouvel le etape de substitution au niveau 7a, 7b. s 2838892 On realise alors une operation logique > par l'intermediaire de la porte 9. On visualise clairement a la figure 2, que cette etape d'operation exclusif >> est positionnee sensiblement au milieu de la chane de chiffrement. s A titre prefere, on utilise pour ltoperation logique > une entree d'une valeur fonction de l'adresse de stockage en memoire des donnees a chiffrer. Dans ce cadre, on a represente par la lettre V une entree de donnees representative de l'adresse en memoire. A titre d'exemple, la valeur fonction de l'adresse peut etre l'adresse elle o meme, une valeur obtenue par troncature de l'adresse ou, plus generalement, une valeur obtenue par extension de l'adresse. Cela dependra de la longueur relative des donnees a chiffrer et de leur adresse. Par extension on signifie que les bits de l'adresse vent recopies et ou tronques afin que la valeur obtenue comporte un meme nombre de bits que la donnees avec laquelle on doit effectue un >. Suite a cette etape, on realise une nouvelle etape d'operation logique exclusif >> reperee 10. Au niveau de cette porte, une entree est associee aux donnees a chiffrer et o une autre entree est associee a ['entree d'un nombre aleatoire RN utilise par la porte 10. La realisation d'une porte > 10 avec une entree d'une valeur aleatoire RN a l'avantage avec un faible surcout et peu de perte de rapidite de gener les attaques longues a base d'accumulation de resultats necessitant beaucoup de traitement et done parfois impliquant des remises a zero. Dans ce cadre, on changera avantageusement la valeur aleatoire RN a chaque remise a zero du dispositif. En ce qui concerne la porte > 9, elle a egalement l'avantage de ne pas peser sur la rapidite du chiffrement et notamment en proposant des etapes de so troncature ou d'extension de la valeur d'adresse pour ['adapter a la longueur des donnees de chiffrement qui vent des operations techniquement rapides. L'operation logique effectuee par la porte 10 peut etre suivie d'une etape supplementaire de permutation au repere 5 puis preferentiellement de substitution par la table 8. 6 2838892 Ces operations 5, 8 peuvent etre renouvelees M fois comme figure. En sortie, on obtient des donnees chiffrees reperees 12. On real ise a i nsi u n ch iffrement efficace ctest-a-dire d iffici le a percer tout en assu rant u ne g ra nd e rapid ite d 'execution des operations de chiffrem ent. On notera que dans le mode de realisation prefere illustre, tres peu d'echanges vent necessaires entre le processeur et le dispositif de chiffrement notamment en ce qui concerne les parametres de chiffrement. En effet, I'ensemble du dispositif etant fixe au niveau materiel (implementation hardware) les parametres de chiffrement tels que des cles n'ont pas o a etre transmises par le microprocesseur. En effet, son implantation strictement hardware assure une grande rapidite du chiffrement. On notera que ['implementation purement hardware du dispositif de chiffrement va a l'encontre d'un prejuge constant dans l'etat de la technique selon lequel il est necessaire de disposer d'une couche logicielle pour assurer un chiffrement avec une souplesse d'utilisation notamment quant a la saisie et les modifications de cles de chiffrement. La presente invention a vaincu ce prejuge en proposant un nouveau dispositif et procede de chiffrement implantes uniquement en hardware tout en assurant un chiffrement efficace des donnees. 7 2838892 REFERENCES 1. Processeur 2. Memoire a acces aleatoire 3, 4, 5, 5'. Moyens de permutation 6a, 6b, 6c, 6d. Moyens de substitution 7a, 7b. Moyens de substitution 8, 8'. Moyens de substitution 9. Porte logique to 10. Porte logique 11. Bits de donnees entrant 12. Bits de donnees sortant 13. Bus de donnees V. Valeur RN. Valeur aleatoire 8 2838892 REVENDICATIONS 1. Dispositif de chiffrement de donnees numeriques comportant une chane de chiffrement avec: - des moyens de permutation (3, 4, 5) des bits de donnees; - des moyens de substitution (6a,b,c,d, 7a, 7b, 8) des bits de donnees; - des moyens d'execution d'une operation logique > (9, 10) caracterise par le fait que lesdits moyens de permutation, de substitution et d'execution vent des o moyens implementes materiellement. 2. Dispositif selon la revendication 1, caracterise par le fait que les moyens d'execution d'une operation logique > comportent au moins un moyen d'execution situe vers le milieu de la chane de chiffrement. ts 3. Dispositif selon la revendication 1 ou 2, caracterise par le fait que les moyens d'execution d'une operation logique > comportent au moins une porte logique > (9) avec une entree pour les donnees a chiffrer et une entree pour une valeur (V) fonction de l'adresse de stockage en memoire de donnees a chiffrer. o 4. Dispositif selon la revendication 3 caracterise par le fait que la valeur (V) fonction de l'adresse est obtenue par extension de l'adresse. 5. Dispositif selon l'une quelconque des revendications 1 a 4, caracterise par le fait que les moyens d'execution d'une operation logique ' s comportent au moins une porte logique > (10) avec une entree pour les donnees a chiffrer et une entree pour une valeur aleatoire (RN). 6. Dispositif selon la revendication 5, caracterise par le fait que la valeur aleatoire (RN) est modifiee a chaque remise a zero du dispositif. 7. Dispositif selon l'une quelconque des revendications 1 a 6, caracterise par le fait que les moyens de substitution comportent des tables de substitution de donnees par paquets. 8. Procede de chiffrement de donnees numeriques comportant une chane d'etapes de chiffrement dans laquelle: 9 2838892 - on effectue des permutations (3,4,5) des bits de donnees; - on effectue des substitutions (6a,b,c,d, 7a, 7b, 8) des bits de donnees; - on execute des operations logiques ou > (9, 10) caracterise par le fait s qu'on effectue les etapes de chiffrement par utilisation de moyens implementes materiellement. 9. Procede selon la revendication 8, caracterise par le fait qu'on execute au moins une operation logique > vers le milieu des etapes de chiffrement. o 10. Procede selon la revendication 8 ou 9, caracterise par le fait qu'on execute au moins une operation logique > par operation entre les donnees a chiffrer et une valeur fonction de l'adresse de stockage en memoire des donnees a chiffrer. 11. Procede selon la revendication 10, caracterise par le fait s qu'on obtient la valeur fonction de l'adresse par extension de ladite adresse. 12. Procede selon l'une quelconque des revendications 8 a 11, caracterise par le fait qu'on execute au moins une operation logique > par operation entre les donnees a chiffrer et une valeur aleatoire. 13. Procede selon la revendication 12, caracterise par le fait qu'on modifie la valeur aleatoire a chaque remise a zero. 14. Procede selon l'une quelconque des revendications 10 a 13, caracterise par le fait qu'on effectue au moins une substitution des bits de donnees par paquets de