INF 4420: Sécurité Informatique Cryptographie II



Documents pareils
CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Fonction de hachage et signatures électroniques

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Cryptologie à clé publique

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Cryptographie et fonctions à sens unique

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Modes opératoires pour le chiffrement symétrique

ÉPREUVE COMMUNE DE TIPE Partie D

Quelques tests de primalité

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Sécurité de l'information

LES SECURITES DE LA CARTE BANCAIRE

TECHNIQUES DE CRYPTOGRAPHIE

MEMOIRE DE MAGISTER EN ELECTRONIQUE. OPTION : Télédétection. Application des techniques de cryptage pour la transmission sécurisée d images MSG

TP 2 : Chiffrement par blocs

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Signatures électroniques dans les applications INTERNET

La cryptographie du futur

Calculateur quantique: factorisation des entiers

Authentification de messages et mots de passe

Cours 14. Crypto. 2004, Marc-André Léger

Les fonctions de hachage, un domaine à la mode

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Factorisation d entiers (première partie)

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie appliquée

De la sécurité physique des crypto-systèmes embarqués

Oracles Cryptographiques. Trouver une joke de padding

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Structures algébriques

Panorama de la cryptographie des courbes elliptiques

Exercices - Polynômes : corrigé. Opérations sur les polynômes

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

Introduction à l étude des Corps Finis

Travail d intérêt personnel encadré : La cryptographie

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

La sécurité dans les grilles

Représentation des Nombres

Groupe symétrique. Chapitre II. 1 Définitions et généralités

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Livre blanc. Sécuriser les échanges

Initiation à la programmation en Python

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Sécurité en milieu Wifi.

Le partage de clés cryptographiques : Théorie et Pratique

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Royal Military Academy Brussels, BELGIUM Secure Information Storage in the Cloud

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Les Réseaux sans fils : IEEE F. Nolot

GPA435 SE et PS. Sécurité Informatique. Étude de cas: ios Version 2013

Proposition de programmes de calculs en mise en train

INSTALLATION D'OPENVPN:

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Des codes secrets dans la carte bleue. François Dubois 1

Le protocole RADIUS Remote Authentication Dial-In User Service

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Chapitre VI - Méthodes de factorisation

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Chapitre 3 : Crytographie «Cryptography»

Chiffrement du système de fichiers EFS (Encrypting File System)

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

IFT1215 Introduction aux systèmes informatiques

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Tests de primalité et cryptographie

Vers une Théorie du Chiffrement Symétrique

Du 03 au 07 Février 2014 Tunis (Tunisie)

Étudiant : Nicolas Favre-Félix IFIPS Info 3. Les One Time Passwords, Mots de passe à usage unique

Raisonnement par récurrence Suites numériques

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Informatique Générale

Sécurité des réseaux IPSec

LES TECHNIQUES DE CRYPTOGRAPHIE

Audit des risques informatiques. Introduction à la Cryptographie Pierre-François Bonnefoi

Exigences d aléa pour la sécurité

Introduction à la sécurité informatique

EMV, S.E.T et 3D Secure

Réseaux Privés Virtuels

Théorie et Pratique de la Cryptanalyse à Clef Publique

Analyse de PRESENT avec peu de données

Devoir Surveillé de Sécurité des Réseaux

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Documentation SecurBdF

Eric DENIZOT José PEREIRA Anthony BERGER

Objets Combinatoires élementaires

Transcription:

: Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433

Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable (one-time pad) RC4 Hachage cryptographique Définitions et principes Exemples MD4 MD5 SHA1 Algorithmes à clé publique (début) Arithmétique modulaire Notion de groupe Algorithme RSA 2

Type de chiffrement Bloc vs. Flux Chiffrement par bloc Algorithme où chaque mot de code (un «bloc») est codée avec la même clé k Pour la plupart des sources, Σ = M est petit, en conséquent Τ = N >> M, de façon à éviter force brute Codage Doit «regrouper» symboles de Σ en blocs dans Τ Problème de «latence» Chiffrement par flux Chaque mot de code est chiffré avec une clé différente Les clés sont générés au «fur et à mesure» 3

Symétrique clé de déchiffrement = clé de chiffrement La clé doit toujours être gardé secrète!! Asymétrique Type de chiffrement Symétrique vs. Asymétrique Deux clés différentes En général, il n est pas possible de déduire clé de déchiffrement en connaissant clé de chiffrement, donc Clé de chiffrement = Clé «publique» Clé de chiffrement = Clé «privée» Facilite la gestion de clés Permet plusieurs autres applications au-delà du chiffrement 4

DES (Data Encryption Standard) : historique Développée par le gouvernement U.S. pour usage général par le public Devis et spécifications en 1970: haut niveau de sécurité complètement spécifié et facile à comprendre sécurité indépendante de l'algorithme lui-même (Principe de Kerchoff) disponible à tous adaptable à diverses applications (usage «commercial») possibilité d'implantation économique en matériel efficace d'utilisation, validable, et exportable Deuxième appel de propositions en 1974 Choix de l'algorithme "Lucifer" développé par IBM Adopté le 23 novembre 1976 5

Application répétée (16 cycles) de Substitution changer systématiquement certains patrons de bits pour d'autres Permutation réarranger l'ordre des bits Arithmétique à 64 bits seulement; clef de 64 bits Chiffrement par blocs de 64 bits Objectifs de sécurité Confusion les bits d'output n'ont aucune relation évidente avec l'input Diffusion répartir les changements sur l'ensemble des bits du message DES : survol Changement au bit i du message implique changement dans plusieurs bits du cryptogramme. 6

Input Permutation initiale Norme DES : Détails L 0 R 0 Répéter 16 fois Substitution Permutation La clef L1 = R0 R 1.... Permutation finale inverse Output 7

Norme DES : détails d'un cycle L j-1 (32 bits) R j-1 (32 bits) La clef Expansion Permutation 48 bits 28 bits 28 bits Décalés Décalés 28 bits 28 bits 56 bits Permutation sélection 48 bits S-Box Substitution Sélection 32 bits P-Box Permutation L j R j 8

Norme DES : déchiffrement Chaque cycle de déchiffrement dérive du cycle précédent: L j = R j-1 ; R j = L j-1 f(r j-1, k j ) Dans l'autre direction: R j-1 = L j ; L j-1 = R j f(r j-1, k j ) si on substitue: L j-1 = R j f(l j, k j ) La procédure est donc réversible la même fonction f est utilisée pour le déchiffrement il suffit de prendre les 16 sous-clefs dans l'ordre inverse 9

Sécurité de la norme DES Questions relatives à la conception de l'algorithme caractère confidentiel de la conception présence de "trappes"? possibilité d'une faiblesse fondamentale? Le nombre d'itérations (16) est il suffisant La taille de la clef (56 bits) est elle suffisante? originalement, Lucifer prévoyait 128 bits possibilité d'une attaque "force brute" réussie? possibilité d'une attaque de type "parallèle" possibilité de réussite d'une attaque de type "texte en clair choisi" Toutes ces questions avaient des réponses satisfaisantes 10

Double DES Variantes de DES Choisir deux clefs k 1 et k 2 Chiffrer deux fois: E(k 2, E(k 1, m)) Il a été prouvé que c'était équivalent à un DES avec clé de 57 bits donc seulement deux fois plus de travail pour briser Triple DES (ou 3DES) Deux clefs Trois opérations: E(k 1, D(k 2, E(k 1, m))) Équivalent à doubler la taille effective de la clé Très robuste et effectif contre toutes les attaques faisables connues 11

DES Modes de chiffrement par bloc Electronic Code Book (ECB) Mode traditionnel Chaque bloc chiffré indépendamment avec la même clé Cipher Block Chaining Mode (CBC) Chaque bloc XOR-é avec cryptogramme antérieur Utilise un vecteur d initialisation (IV) comme paramètre cryptographique (pas nécessairement secret) x 1 x 2 x 3 IV = y 0 x 1 + x 2 + x 3 + E k E k E k E k E k E k y 1 y 2 y 3 y 1 y 2 y 3 12

La norme AES DES est en voie de disparition Machine à craquer DES et loi de Moore Triple DES demeure une norme acceptée pour les documents gouvernementaux U.S.A. pour le futur prévisible Pas de projet ou d'obligation de re-chiffrer les documents existants AES (Advanced Encryption Standard) Nécessité de remplacer DES Concours organisé par National Institute of Standards and Technology (NIST) Cinq algorithmes finalistes internationaux Gagnée par Joan DAEmen (Proton World Intl.) et Vincent RIJmen (Univ de Louvain) RIJNDAEL (pron. «raïndol») 13

Rijndael (quelques détails) Algorithme itératif par bloc Plusieurs longueurs de clef et de bloc: 128, (160,) 192, (224,) ou 256 bits (indépendantes l'une de l'autre) Une table d'état est utilisée 4 rangées par N b colonnes avec N b = L bloc /32 La clef est aussi représentée sous forme de tableau 4 rangées par N k colonnes avec N k = L clef /32 Le nombre de cycles (ou "rondes) de transformation varie de 10 à 14 selon les valeurs de N b et de N k On procède par une série de transformations/permutations/sélection contrôlées par ces deux tableaux qui sont eux mêmes modifiés à mesure qu'on avance Inspirées d opérations sur GF(2 n ) Beaucoup plus performant que DES utilisable pour une implantation en matériel. 14

Rijndael (suite) L'input et l'output sont des séquences linéaires d'octets longueurs possibles: 16, 24, ou 32 octets l'appariement de octets des blocs et de la clef se fait le long des colonnes des tableaux précédents donc une colonne du tableau correspond à un mot de 32 bits À chaque ronde, quatre transformations sont appliquées substitution d'octets dans le tableau d'état décalage de rangées dans le tableau d'état déplacement de colonnes dans le tableau d'état (sauf à la dernière ronde) addition d'une "clef de ronde" varie à chaque ronde Adaptable à des processeurs de 8 ou de 32 bits Susceptible d'être parallélisé Pour le déchiffrement, les transformations sont apportées dans l'ordre inverse 15

Rijndael/AES - Avantages et limites Principaux avantages performance très élevée possibilité de réalisation sur cartes à puces avec peu de code possibilité de parallélisme pas d'opérations arithmétiques: décalages et XOR seulement n'est pas fondé sur d'obscures relations entres opérations peu de possibilités d'insertion de trappes possibilité de l'utiliser comme fonction de hachage le nombre de rondes peut facilement être augmenté si requis Limites le déchiffrement est plus difficile à implanter sur carte à puces code et tables différents pour le chiffrement et le déchiffrement dans une réalisation en matériel, il y a peu de réutilisation des circuits de chiffrement pour effectuer le déchiffrement 16

Masque jetable Inventé par le capitaine Vernam (US Army Signal Corps) en 1919 Connue sous nom de «One-time Pad» Utilisée pour le Téléphone Rouge Principes Σ = Τ = {0,1} Algorithme : XOR bit-à-bit du message et de la clé Clé En «théorie» chaîne de bits aléatoires, de longueur infinie Distribuée à l avance (physiquement, etc.) Seul algorithme avec «sécurité parfaite» (Shannon) En «pratique» chaîne de bits générée par un algorithme déterministe Dépendant des messages/clés antérieurs Générateur de nombres pseudo aléatoires (avec une «semence») 17

DES Modes de chiffrement par flux Cipher Feedback Mode (CFB) x 1 x 2 x 3 IV = y 0 E k k 1 + E k k 2 + E k k 3 + Clé pour XOR = cryptogramme antérieur chiffré par DES Clé pour DES reste fixe Output Feedback Mode (OFB) y 1 y 2 y 3 x 1 x 2 x 3 IV = y 0 E k k 1 + E k k 2 + E k k 3 + y 1 y 2 y 3 Clé pour XOR = obtenue par application itérative de DES sur IV Clé pour DES reste fixe 18

L'algorithme RC4 Caractéristiques cryptosystème à la volée ("stream") inventé par Ron Rivest secret commercial de RSA Data Security Inc. dévoilé illégalement dans les mi-90 utilisé entre autres dans SSL (commerce électronique) et WEP taille de clef variant de 8 à 2048 bits par intervalle de 8 génère une séquence pseudo aléatoire de bits, qui sont XORés avec le texte en clair le déchiffrement consiste à régénérer la séquence de bits et à inverser l'opération XOR Fiabilité plusieurs faiblesses ont été identifiées susceptible à une attaque par force brute si la clef est choisie trop courte trop de clef faibles 19

Généralités n est la taille de "mots", habituellement n = 8 S est une "table d'état"; K est la clef; Détails de l'algorithme RC4 S contient une permutation des 2 n valeurs possibles d'un "mot" S est créé par le "Key Schedule Algorithm" ou "ksa" Création de S Pour i de 0 à 2 n - 1 S[i] = i; j=0; Pour i de 0 à 2 n - 1 j = (j + S[i] + K[i mod l]) mod n Échanger S[i] et S[j] Pour générer un "mot" i = j = 0; // initialisation i = i +1; j = (j +S[i]) mod n Échanger S[i] et S[j] Résultat z = S[(S[i] S[j]) mod n] 20

Le programme Clipper ou Capstone, Skipjack, MOSAIC, TESSERA, Fortezza réalise l'algorithme "Skipjack", lequel est secret incorpore EES ("Escrowed Encryption Standard") "Simplified DES" surtout pour fins éducatives blocs de 8 bits et clef de 10 bits "International Data Encryption Algorithm" (IDEA) proposé comme remplacement des DES chiffre symmétrique par bloc blocs de 64 bits, clef de 128 bits Blowfish Autres normes chiffre symmétrique par bloc, très rapide et économique en mémoire, mais à sécurité variable selon la taille de la clef RC5, CAST128, RC2, etc 21

Notion de groupe Notion de groupe (G, ) Un ensemble abstrait G sur lequel on a défini une opération abstraite " " avec certaines propriétés : élément identité : 1 G, t.q. a G, a 1 = a Associativité : a, b, c G, a (b c) = (a b) c, Tout éléments à un inverse : a G, a -1 t.q. a a -1 = 1 (Commutativité): a, b G, a b = b a on dit alors que le groupe est "abélien" ou "commutatif" Exponentiation: a n = a a a, n fois où n est un entier et (G, ) est un groupe abélien Sous-groupe Un sous-ensemble H de G est un sous-groupe de G si a, a -1 H Exemple : Sous-groupe cyclique <a> := {a 0, a 1, a 2 } est le sous-groupe cyclique de (G, ) «généré» par a 22

Calcul en arithmétique modulaire S'applique aux nombres entiers non-négatifs seulement a modulo b est le reste entier de la division de a par b Deux entiers sont équivalents modulo n si leurs modules sont égaux: x n y si et seulement si (x mod n) = (y mod Propriétés: Associativité: Commutativité: Distributivité: Existence d'identités: (a + (b + c)) mod n = ((a + b) + c) mod n (a * (b * c)) mod n = ((a * b) * c) mod n (a + b) mod n = (b + a) mod n (a * b) mod n = (b * a) mod n (a * (b + c)) mod n = ((a * b) + (a * c)) mod n (a + 0)mod n = (0 + a) mod n = a (a *1) mod n = (1 * a) mod n = a Existence d'inverses: (a + -a) mod n =0 (a *a -1 ) mod n = 1 si pgcd(a,n)=1 n) 23

Arithmétique modulaire : inverses multiplicatifs L'inverse multiplicatif de a est b tel que a * b = 1 exemples: (2 * 3) mod 5 => 1; (4 * 4) mod 5 =>1 Pour un nombre premier p (Petit) Théorème de Fermat : a p mod p = a, donc a p-1 mod p =1 2 3 mod 3 = 8 mod 3 = 2; 4 5 mod 5 = 1024 mod 5 = 4; 4 4 mod 5 = 256 mod 5 = 1; si x est l'inverse de a (a * x) mod p = 1 = a p-1 mod p, donc x = a p-2 mod p (p premier) En général, pour un entier N Théorème d Euler : a ϕ(n) = 1 mod N MAIS, l inverse de a existe seulement si pgcd (a,n) = 1 24

Groupes pertinents Ensembles en arithmétique modulaire Z N = {a Z : 0 < a < N} Z p * = Z p {0} = {a Z : 0 < a < p}, ou p est premier Z N * = {a Z : 0 < a < N, pgcd (a,n) = 1} Groupes pertinents (Z N,+) est un groupe commutatif Tout a Z N a un inverse additif -a (Z N,*) n est pas un groupe Si pgcd (a,n) = d > 1, alors a*d = 0 a,d sont des diviseurs de 0 a n a pas d inverse multiplicatif a -1 t.q. a -1 a = 1 (Z N *,*) et (Z p*, *) sont tous les deux des groupes commutatifs 25

Combien d éléments dans Z N*? La fonction d Euler ϕ(n) donne la réponse si p est premier: ϕ(p) = p -1 ϕ(p k ) = p k-1 (p -1) si p,q sont relativement premier ϕ(p*q) = ϕ(p) ϕ(q) en particulier si N = p * q, avec p et q premiers ϕ(n) = ϕ(p) * ϕ(q) = (p 1) * (q 1) Quelle est la structure de Z N *? Groupe multiplicatif Z * N Tous les sous-groupes sont isomorphes à <a> pour un a dans Z N * Les tailles (ou ordre) de ces sous-groupes sont les facteurs de ϕ(n) 26

Exemples de Z * N N = 12 = 2 2 * 3 Z 12 * = {1, 5, 7, 11} ϕ(12) = ϕ(2 2 ) ϕ(3) = 2 * 2 = 4 Le seul diviseur de ϕ(12) est 2 Tous les éléments ont un ordre 2 ou 4 En effet 5 2 = 25 = 1 <5> ={1,5} 7 2 = 49 = 1 <7> ={1,7} 11 2 = 121 = 1 <11> = {1,11} Noter qu aucun élément à ordre 4 N = 15 = 3*5 Z 15 * = {1, 2, 4, 7, 8, 11, 13, 14} ϕ(15) = ϕ(3) ϕ(5) = 2 * 4 = 8 Les seuls diviseur de ϕ(15) sont 2 et 4 Tous les éléments ont un ordre 2, 4 ou 8 En effet 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 = 1 <2> = {1,2,4,8} <4> = {1,4} <8> = {1,8,4,2} 7 2 = 4, 7 3 = 28 = 13, 7 4 = 91 =1 <7> = {1,7,13,1} 11 2 = 121 = 1 <11> = {1,11} 13 2 = 4, 13 3 = 52 = 7, 13 4 = 91 = 1 <13> = {1,4,7,1} 14 2 = (-1) 2 = 1 <14> = {1,14} Noter qu aucun élément à ordre 8 27

Exemples de Z * p (AEC) 28

Deux clefs: clef publique : une paire (e, N) clef privée : une paire (d, N) Première étape: choisir N Choisir n, la taille de N en fonction de sécurité requise Selon le niveau de sécurité désiré Tailles typiques n = 512, 768, 1024, 2048 Trouver deux nombres premiers p et q de taille n/2 Calculer N = p*q Choisir un entier e de taille n RSA : préliminaires relativement premier à ϕ(n) = (p-1)*(q-1) i.e. pgcd (e, ϕ(n) ) = 1 Choisir d tel que e * d 1 mod ((p 1)*(q - 1)) À la fin, on n'a plus besoin de conserver p et q 29

RSA : Chiffrement et déchiffrement Alphabet de codage T = Z N*, généralement représentés par des chaînes de n bits Fonction de chiffrement x Z N* y = E e (x) = x e mod N Fonction de déchiffrement y Z N* x = D d (y) = y d mod N Est-ce que x = x? D d (E e (x)) = (x e ) d mod N = x ed mod N = x mod N (because e*d = 1 mod ϕ(n) ) 30

L'algorithme RSA : exemple On utilise de valeurs petites pour démontrer : Soit p = 11 et q = 13, alors N = p * q = 143 et φ(n) = (p-1) * (q 1) = 120 e doit être relativement premier à (p-1) * (q 1): Exemple 1 : soit e = 11 l'inverse de 11 mod 120 est aussi 11: 11 * 11 = 121 = 1 * 120 + 1 (pas très astucieux! Cas atypique ) Pour chiffrer un mot de code x = 7 y = 7 11 mod 143 = 106 Pour déchiffrer y = 106 x = 106 11 mod 143 = 7 La clef publique est N = 120, e = 11 Exemple 2 : soit e = 17 Alors d = 113, parce que 17 * 113 = 1921 = 16 * 120 + 1 Pour chiffrer un mot de code x = 7 y = 7 17 mod 143 = 50 Pour déchiffrer y = 50 x = 50 113 mod 143 = 7 La clef publique est N = 120, e = 17 Avec des petites valeurs, on peut retrouver d 1. En factorisant N 143 ne peut pas être autre chose que 11 * 13 on peut le retrouver en 11 essais 2. En calculant alors φ(n), ce qui permet de résoudre l équation e * d Donc, en pratique, très grandes valeurs de p et q 31

Comment trouver un nombre premier très grand L'algorithme standard est le crible d'érathosthène qui exige d'examiner tous les nombres en éliminant ceux qui sont un produit de deux facteurs différents de 1 Tout nombre premier doit satisfaire deux conditions: pgcd (p, r) = 1 et J(r, p) r (p-1)/2 mod p r est un nombre plus petit que p J est la fonction Jacobi 1 si r = 1 J(r,p)= J(r/2)*(-1) (p*p -1)/8 si r est pair J(p mod r, r) (-1) (r-1)*(p-1)/4 si r est impair et 1 si c'est satisfait, la probabilité que p soit premier est 50%; si on répète le test k fois, la probabilité est 2 -k Voir: Zimmerman, P."A proposed standard for RSA cryptosystems", IEEE Computer, vol. 19, no. 7, pp 21-34 32

Plus grand commun diviseur (pgcd) Rappels arithmétiques (en nombres entiers) soit deux nombres a et b; le plus grand entier qui divise a et b sans reste est le pgcd de ces deux nombres Algorithme Euclidien: calcul du pgcd soit pgcd(3615807, 2763323) 3,615,807 = 1 * 2,763,323 + 852,484 a = m * b + r a <= b; b <= r 2,763,323 = 3 * 852,484 + 205,871 852,484 = 4 * 205,871 + 29,000 205,871 = 7 * 29,000 + 2,871 29,000 = 10* 2871 + 290 2,871 = 9 * 290 + 261 290 = 1 * 261 + 29 261 = 9 * 29 + 0 pgcd(3615807, 2763323) = 29 33