La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Doctorant: Daniel Mesquita

Présentations similaires


Présentation au sujet: "Doctorant: Daniel Mesquita"— Transcription de la présentation:

1 L’état de l’art en implémentations en matériel de l’algorithme de Montgomery
Doctorant: Daniel Mesquita Direction de thèse: Michel Robert / Lionel Torres / Gilles Sassatelli LIRMM - Université Montpellier II (France) Boursier du Government brésilien dans la cadre du Accord de Coopération Internationel - CAPES/COFECUB (2002/2006)

2 Plan Introduction Méthodologie Travaux Réalisés
Conclusions / Perspectives

3 Introduction But de la thèse
Proposer une architecture pour la Cryptographie Hypothèses préliminaires: Les architectures à grain épais sont viables pour la cryptographie. La reconfiguration peut apporter quelque chose à des applications cryptographiques (flexibilité, securité, etc) L’adéquation algorithme-architecture peut tomber dans une proposte d’une nouvelle façon de représenter les grands nombres entiers.

4 Introduction Cryptographie à clé publique c = me mod n m = cd mod n
Exemples: RSA, ElGammal, Courbes Elliptiques adversaire Source des clés chiffrage texte en clair source dechiffrage destination Canal non-securisé Alice Bernard e m c d c = me mod n m = cd mod n

5 Introduction Les opérateurs arithmetiques pour la cryptographie à clé publique Les algorithmes Mermle-Hellman(1978), RSA(1978), Pohlig-Hellman (1978), Rabin (1979), El Gammal (1984), Courbes Elliptiques (1985) et LUC (1993) utilisent l’arithmetique modulaire Les opérations en jeu sont: Réduction modulaire Addition Multiplication et exponentiation Inversion

6 Introduction RSA Clé publique: Clé privée Chiffrement Dechiffrement
Choisir p et q qui doivent être deux grands nombres premiers, et calculer le produit: Choisir une clé de chiffrement aléatoire e telle que e et (p-1) (q-1) soient premiers entre eux. Clé privée Utiliser l’algorithme d’Euclide pour calculer la clé de dechiffrement d, tel que: Chiffrement Dechiffrement A complexidade computacional de decriptação de um bloco de n bits é aproximadamente O(n^3), com n denotando tanto o tamanho do bloco como o comprimento da chave (expoente e modulo). Isto é devido à complecidade da multiplicação, que é O(n^2), e à complexidade da exponenciação que é O(n) quando a operação de elevar ao quadrado e multiplicar é usada. Apesar de existirem algoritmos de multiplicação e exponenciação que tem baixa complexidade assintóptica, eles tem interesse limitado quando n < Se o tamanho da mensagem m é suficientemente maior que o bloco de tamanho n, o número de passos necessários para processar uma única mensagem tem complexidade O(n^2). Se um caminho de dados de k bits de largura é usado para acelerar a computação de um chave RSA de n bits, com k = n + y, o número de passos requeridos para processar uma mensagem é O(n), pois a complexidade do hardware é O(n). Y denota o número de bits adicionais em hardware necessários ao cálculo relacionado à chave. Portanto uma eficiente implementação do algoritmo RSA passa pelo projeto de um circuito dedicado à calcular produtos modulares.

7 Méthodologie Adéquation Algorithme Architecture Silicium
                           Adéquation Algorithme Architecture Silicium

8 Méthodologie Adéquation Algorithme Architecture Silicium
                           Adéquation Algorithme Architecture Silicium

9 Méthodologie Adéquation Algorithme Architecture Silicium CRT, RNS, MRS
                           Adéquation Algorithme Architecture Silicium CRT, RNS, MRS

10 Méthodologie Adéquation Algorithme Architecture Silicium CRT, RNS, MRS
                           Adéquation Algorithme Architecture Silicium CRT, RNS, MRS

11 Travaux Réalisés Implémentation de l’algorithme de Montgomery GPP DSP
ARGE (Systolic Ring) FPGA (direction à distance) Développement des outils à l’aide à programmation du Systolic Ring L’État de l’Art

12 Travaux Réalisés L’algorithme de Montgomery Version Bit Version Mot

13 Travaux Réalisés SRing (VLSI’03) Technologie : ARGE SRing
Fréquence : 200MHz Taille Clé : 16 bits Algorithme: Version bit Operative layer

14 Travaux Réalisés SRing (VLSI’03) Operative layer
Dnode local controller Dnode datapath

15 Travaux Réalisés SRing (VLSI’03) mesquita@lirmm.fr 1- R0  A AND R9
Preloaded in registers ” ” 1- R0  A AND R9 2- R1  B * R0 3- R15  R15 + R1 4- R14  R15 AND R9 5- R14  R14 * N 6- R15  R15 + R14 7- R15  R15 >> 1 8- A  A >> 1 U = 0 for i=0 to n-1 U = U + Ai.B U = (U +U0.N) >> 2 Endfor If Un > N then U = Un – N else U = Un

16 Travaux Réalisés SRing Web Tools

17 Travaux Réalisés SRing Web Tools Configurator

18 Travaux Réalisés SRing Web Tools Analyzer

19 Travaux Réalisés L’état de l’art – Raw Data mesquita@lirmm.fr Année
Auteur Cible Algorithme Taille clé Fréquence Cycles Débit Temps Surface 1991 HAFNER ASIC DES 20Mbps 1993 BERTIN ARGE RSA/ Enc 512 40 MHZ 600Kbps ELDRIDGE MMM 1996 SOUSA DSP Exp Mod 1024 50 MHZ 25382 1,321ms 1997 ROYO 768 400 72.5Kbps 0,008ms 77 mm² 1999 BLUM FPGA EMM 49.78ms 3786 CLB TAYLOR IDEA 128 100 MHZ 126.6Kbps BAILEY RSA / Sig-Ver 200 MHZ 11.7/1.2ms 2000 GROBSCHÄDL MMBarret 2x512 (CRT) 227 2.5Mbps 70 mm² PHILLIPS SMART CARD RSA /Sig 1024 (CRT) 25 MHZ 887ms 2001 TENCA 0.11ms 16Kgates GOODMAN EMM+CRT 17ms 8.4 mm² NOZAKI 2048 (CRT) 80 MHZ 29.2/8.9ms 6.9 mm² 2002 NEDJAH 0.27ms 639 CLB DALY 120 MHZ 2047 0,017ms 87 CLB DESCHAMPS 32 0,000325ms 334 CLB 2003 ÖRS 0,032 ms 2853 CLB SRing 16 0,004 ms 2 mm²

20 Conclusions Conclusions Perspectives
Les ARGE ne semblent pas être bien adaptés à des applications cryptographiques L’opération la plus chronofage c’est aussi difficilement parallélisable Jusqu’à ce moment (et à ma connaissance), il n’y a aucune implémetation des algorithmes de cryptographie que se sert de la reconfiguration (dynamique ou statique) Perspectives Investiguer le RNS Étudier plusieurs algorithmes de crypto Découvrir à propos de la multicryptographie

21 ? Conclusions Questions For further information

22 Conclusions * Le RNS Exemple: X=(100)10 = (1, 0, 2)RNS
RNS base : {m0 , m1 ,m2} = {3, 5, 7} m0 m1 m2 Il est possible multiplier des grands nombres à travers de la manipulation des petits résidus Possibilité travailler en parallèle ! X=(100)10 = (1, 0, 2)RNS Y=(2) = (2, 2, 2)RNS * Y=X+Y = (2, 0, 4)RNS = (200)10 y2 = (2.2) mod 7 = 4 y1 = (2.0) mod 5 = 0 y0 = (2.1) mod 3 = 2

23 Calcul en Parallèlle de blocs de 16 bit
Conclusions Le RNS X=( )10 Calcul en Parallèlle de blocs de 16 bit d’un nombre de n*16 bit Utilisant la base RNS suivante b ={991,997,1009} m0 m1 m2 RNS EXP RNS EXP RNS EXP XRNS=[835, 294, 688] N=( )10 YRNS= XRNSb mod NRNS

24 Conclusions Perspectives Il faut
Implémenter pour prouver qui cela marche Évaluer le coût du pre-calcul de M Analyser le coût du post traitement pour retrouver le bon M, et le temps nécessaire pour passer à base normale

25 Conclusions Conclusions
Des architectures reconfigurables à grain épais (ARGE) peuvent accélérer les algorithmes de cryptographie Les ARGE permettent la cryptographie des messages (texte), et en plus des vidéos et audio, grâce à sa capacité de traitement parallèle Les travaux futures concernent la démonstration de la praticabilité du RNS sur le RSA et ECC implémentés dans les architectures reconfigurables à grain épais.

26 L’état de l’art Royo (ED&TC’97) Caractéristiques
Technologie : ASIC CMOS 0,7µm Fréquence : 50MHz Taille Clé : 762 bits Algorithme: Version bit Caractéristiques Chemin de données Multiplicateur pour qi*M Multiplicateur pour ai*B 2 étapes d’additionneurs à retenue anticipée Usage de la technique de CSR Chemin de données interne 64/762 Modification l’algorithme par le pre multiplications des opérandes par le carré de la racine -> its lowest 2 digits become 0, simplyfying computation of the quotient Q. CSR = Carry Save Representation Below: 2 stages of Carry Save Adders (additioneurs à retenue antecipée) -> results stored in R

27 L’état de l’art Royo (ED&TC’97) Caractéristiques Mémoire
Single port, jusqu’à 512 mots de 16 bits Joue le rôle de buffer entre la CPU et le chemin de donnés Contrôle Machine d’état finis Les opérations pour réaliser le RSA doivent être arrangées par la CPU Impossible d’implémenter le séquencement des signaux internes CSR = Carry Save Representation Light gray: product of qi*M Dark gray: product ai*B Below: 2 stages of Carry Save Adders (additioneurs à retenue antecipée) -> results stored in R

28 L’état de l’art Tenca (CHES’01) Caractéristiques
Technologie : ASIC AMI 0,5µm Fréquence : 50MHz Taille Clé : 1024 bits Algorithme: Version bit Caractéristiques Vue de l’ensemble High radix Montgomery Multiplier Utilise CSA Calcule qy et qm en utilisant une look-up table Deux bloques principaux IO et Noyau Un bloque de contrôle fournit les signaux et fait la synchronisation du système Utilise la codification de Booth pour réduire la complexité

29 L’état de l’art Tenca (CHES’01) Caractéristiques Chemin de donnés
Pipeline de cellules de multiplication (MMCells) séparées par des registres Un étage du pipeline consiste d’une MMCell et d’un registre Chaque MMCell implémente une itération de la boucle

30 L’état de l’art Tenca (CHES’01) Exemple avec racine 8

31 L’état de l’art Nedjah (SBCCI’02) Caractéristiques
Technologie : FPGA Spartan Fréquence : 50MHz Taille Clé : 1024 bits Algorithme: Version bit Caractéristiques Algorithme niveau bit, modifié pour profiter des caractéristiques du FPGA Valeurs stockées en LUTs

32 L’état de l’art Nedjah (SBCCI’02) Caractéristiques
Architecture systolique (64x64) Chemin de données 1024 bits Surface augmente linéairement par rapport à la taille de la clé

33 L’état de l’art Daly (FPGA’02) Caractéristiques
Technologie : FPGA Virtex Fréquence : 50MHz Taille Clé : 64 bits Algorithme: Version bit Caractéristiques Architecture du type double additionneur Décalage à gauche de A pour forcer les LSB de Si-1 à zéro Les deux additionneurs fonctionnent presque en parallèle

34 L’état de l’art Örs (IPDPS’02) Caractéristiques
Technologie : FPGA Virtex-E Fréquence : 100MHz Taille Clé : 1024 bits Algorithme: Version bit Caractéristiques Architecture du type Vecteur Systolique Un contrôleur du type FSM Chemin de données de 1024 bits, basé sur des Cellules de Multiplication Modulaire

35 L’état de l’art Örs (IPDPS’02) Caractéristiques
MMMC: calcule chaque bit de R Vecteur Systolique: calcule chaque itération du algorithme MMMCircuit: Calcule A x B x R^-1 mod N

36 L’état de l’art mesquita@lirmm.fr Année Auteur Cible Algorithme
Taille clé Fréquence Cycles Débit Temps Surface 1991 HAFNER ASIC DES 20Mbps 1993 BERTIN ARGE RSA/ Enc 512 40 MHZ 600Kbps ELDRIDGE MMM 1996 SOUSA DSP Exp Mod 1024 50 MHZ 25382 1,321ms 1997 ROYO 768 400 72.5Kbps 0,008ms 77 mm² 1999 BLUM FPGA EMM 49.78ms 3786 CLB TAYLOR IDEA 128 100 MHZ 126.6Kbps BAILEY RSA / Sig-Ver 200 MHZ 11.7/1.2ms 2000 GROBSCHÄDL MMBarret 2x512 (CRT) 227 2.5Mbps 70 mm² PHILLIPS SMART CARD RSA /Sig 1024 (CRT) 25 MHZ 887ms 2001 TENCA 0.11ms 16Kgates GOODMAN EMM+CRT 17ms 8.4 mm² NOZAKI 2048 (CRT) 80 MHZ 29.2/8.9ms 6.9 mm² 2002 NEDJAH 0.27ms 639 CLB DALY 120 MHZ 2047 0,017ms 87 CLB DESCHAMPS 32 0,000325ms 334 CLB 2003 ÖRS 0,032 ms 2853 CLB SRing 16 0,004 ms 2 mm²

37 L’état de l’art mesquita@lirmm.fr Année Auteur Cible Algorithme
Taille clé Fréquence Cycles Débit Temps Surface 1991 HAFNER ASIC DES 20Mbps 1993 BERTIN ARGE RSA/ Enc 512 40 MHZ 600Kbps ELDRIDGE MMM 1996 SOUSA DSP Exp Mod 1024 50 MHZ 25382 1,321ms 1997 ROYO 768 400 72.5Kbps 0,008ms 77 mm² 1999 BLUM FPGA EMM 49.78ms 3786 CLB TAYLOR IDEA 128 100 MHZ 126.6Kbps BAILEY RSA / Sig-Ver 200 MHZ 11.7/1.2ms 2000 GROBSCHÄDL MMBarret 2x512 (CRT) 227 2.5Mbps 70 mm² PHILLIPS SMART CARD RSA /Sig 1024 (CRT) 25 MHZ 887ms 2001 TENCA 0.11ms 16Kgates GOODMAN EMM+CRT 17ms 8.4 mm² NOZAKI 2048 (CRT) 80 MHZ 29.2/8.9ms 6.9 mm² 2002 NEDJAH 0.27ms 639 CLB DALY 120 MHZ 2047 0,017ms 87 CLB DESCHAMPS 32 0,000325ms 334 CLB 2003 ÖRS 0,032 ms 2853 CLB SRing 16 0,00032 ms 2 mm²


Télécharger ppt "Doctorant: Daniel Mesquita"

Présentations similaires


Annonces Google