0% ont trouvé ce document utile (0 vote)
15 vues

Exam 2019

Transféré par

ziad.shop12
Copyright
© © All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues

Exam 2019

Transféré par

ziad.shop12
Copyright
© © All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 2

Université Mohammed V Master IT / Master IAO

Faculté des Sciences Rabat


Département d’Informatique 2018 – 2019

TD
Contrôle de Complexité & Cryptographie (3h)

Exercice 1 : Cryptographie
1. Questions de cours :
a. Expliquez le fonctionnement de la cryptographie hybride? Et donner un exemple.
b. Quelles sont les tailles des clés pour les cryptos-systèmes symétriques Triple-DES et AES ?
2. A désire effectuer des correspondances avec le système cryptographique à empilements ; pour cela elle
construit une suite de nombres super croissante : u1=10, u2=13, u3=29, u4=74, u5=157 et
u6=300, ensuite elle prend d = 19 et n = 700. Elle utilise une permutation
π=(u1,u5)(u2,u4)(u3)(u6) sur les 6 éléments de la suite super croissante.
a. Donner la clef publique de A et calculer l’inverse de d modulo n.
b. B désire envoyer le message M = 110110 à A. Donner le message C que B doit envoyer et
déchiffrer le message C que A à reçu et retrouver le message initial M.
c. Expliquer le rôle de la permutation secrète π.
3. Système RSA :
a. Soit n=667 et e=493.
i. Montrer que le couple (n ; e) est une clef public d’un système RSA : calculer p et q tels que p < q
premiers distincts, calculez φ(n) et trouver la clef privée (n ; d).
ii. Déchiffrer le message c=12 par ce système.
b. Le professeur P envoie les notes au responsable de master RM. Les clefs publiques de P et RM sont
(nP=22 ; eP=7) et (nRM=33 ; eRM=3) respectivement.
i. Déterminer les clefs privées dP de P et dRM celle de RM.
ii. P signe le message avec sa clef privée avant de la chiffrer avec la clef publique du destinataire
RM. Soit le message M=12 (une note), donner le message C envoyer par P.
iii. Déchiffrer le message C reçu par RM et retrouver le message clair M.
4. Soit le système ELGamal suivant : p=31 et g=3. On prend s=5.
a. Donner la clef publique et la clef privée de ce système, vérifier qu’il s’agit bien d’un système
ELGamal.
b. On prend k=7, coder le message M=10 avec ce système. On obtient le message codé (C;α).
c. Décoder le message reçu et retrouver le message M.

5. Cryptographie elliptique
Soit la courbe elliptique cryptographique E(1,6,11) : y2 mod 11 = (x3 + x + 6) mod 11.
a. Montrer que les points R(3,5) et M(10,9) sont des points de la courbe, et calculer les points
C=R+M (voir l’annexe).
b. Aicha et Brahim veulent correspondre en utilisant le cryptosystème elliptique : ils se mettent d’accord
sur E(1,6,11) et le point A=(2,7) de E. Supposons que la clef privée de Aicha est dA=5 et celle
de Brahim est dB=7 (Brahim communique à Aicha sa clef public : P=7A=(7,2)). Supposons que
Aicha veut envoyer à Brahim le message M=(10,9), elle choisit une valeur aléatoire k=3.
i. Calculer le message que Aicha doit envoyer à Brahim (voir l’annexe).
ii. Si Brahim reçoit le texte chiffré, expliquer comment il va faire pour retrouver le message clair,
et retrouver ce message par le calcul (voir l’annexe).
c. Expliquer comment on peut factoriser un nombre entier en utilisant les courbes elliptiques.

1
Exercice 2 : Complexité
1. Cours :
a. Donner le nom d’un algorithme pour chacune des complexités suivantes :
O(log 𝑛), O( 𝑛), O(𝑛!"#! ! ), O(𝑛 𝑙𝑜𝑔 𝑛) et O(𝑒 ! ).
b. Donner la complexité de la multiplication classique entre deux nombres a et b de taille n.
c. Donner l’analyse et la complexité de l’algorithme de Karatsuba pour le calcul la multiplication 𝑎×𝑏.
2. Soit la fonction suivante :
int f(int a ,int b ){
int t = a ; u = b ; v = 0 ;
while (u > 1) {
if (u&1) v = v + t ;
t <<=1 ; u >>=1;
}
return t + v ;
}
a. Exécuter cette fonction pour a=67 et b=21. Que calcul cette fonction ?
b. Trouver la complexité de cette fonction.

3. Pour l’algorithme de tri rapide la complexité moyenne est donnée par la formule suivante :
!
𝐶 𝑛 = 𝑛 + 1 + ! !!!!(𝐶 𝑝 − 1 + 𝐶 𝑛 − 𝑝 ) avec 𝐶(0) = 𝐶 1 = 1.
a. Montrer que : 𝑛𝐶 𝑛 = 𝑛(𝑛 + 1) + 2 !!!! 𝐶 𝑝 − 1 (F1)
b. En utilisant la formule (F1) pour 𝑛 et 𝑛 − 1, montrer que : 𝑛𝐶 𝑛 = 2𝑛 + 𝑛 + 1 𝐶(𝑛 − 1)
!(!) !(!!!) !
c. En déduire que : !!! = ! + !!! (F2)
!(!) ! !!! !
d. En utilisant la formule (F2) pour 𝑛 et 𝑛 − 1, montrer que : !!!
= −! + !!! ! .
! !
e. En utilisant !!! ! ≈ log 𝑛, en déduire la valeur asymptotique de 𝐶 𝑛 .

4. Pour l’algorithme de tri rapide la complexité moyenne est donnée par la formule suivante :
𝐶! = 2𝐶! + 𝑛 + 1.
!
a. Montrer que :
!
𝑛
𝐶! = 2! 𝐶 ! + 𝑛 + 2! +1
!! 2!
!!!
b. En posant 𝑘 =log n, montrer que :
𝐶! = 𝑛 log ! 𝑛 + (𝐶! + 3)𝑛 − 1
c. En déduire la complexité 𝐶! .

Annexe :
1. Règles de l'addition : Soit la courbe elliptique cryptographique
E(a,b,p): y2 mod p=(x3+ax+b)mod p
i. Si x1≠x2, (x1,y1)+(x2,y2)=(x3,y3), avec x3=(k2-x1-x2)mod p, y3=(k(x1-x3)-y1) mod p
où k = (y2-y1)×(x2-x1)-1 mod p
ii. Si y1 ≠ 0, (x1,y1) + (x1,y1) = 2(x1,y1) = (x3,y3), avec x3=(k2-2x1) mod p
et y3=(k(x1-x3)-y1) mod p où k=(3x12+a)×(2y1)-1 mod p
2. Dans E(1,6,11) :
- Si A=(2,7), alors 2A=(5,2), 3A=(8,3),4A=(10,2),5A=(3,6),6A=(7,9), 7A=(7,2)…
- Si P=(7,2) alors 3P=(3,5)
- Si Q=(8,3) alors 7Q=(3,5)

Vous aimerez peut-être aussi