ENSA (Oujda) Cryptomonnaie – 5ème Année SIC
Année 2023-2024 Dr. H.Ouadfel
TD N°3 - correction
Certificats, Protocole d’identification de Shnorr, Protocole TLS
Cryptomonnaie : P2PKH transactions
Certificats, Protocole d’identification de Shnorr, Protocole TLS
Exo.1 : Dans cette question et la suivante, supposons que le protocole d'identification de Schnorr est
exécuté dans le sous-groupe de ℤ23* généré par 2. (Ce sous-groupe a l'ordre 11.) Supposons que la
clé privée du prouveur soit x=7. Quelle est la clé publique du prouveur ?
Solution :
La clé publique du prouveur est gx = 27 mod 11 = 128 mod 11 = 7
Exo.2 : (Il s'agit d'une continuation de la question précédente.) Supposons que le prouveur exécute
une passe du protocole d'identification de Schnorr avec un vérificateur. Le prouveur choisit r=4 et
envoie A=16. Le vérificateur envoie le défi 3. Quelle réponse le prouveur envoie-t-il ?
Solution :
On a : c = 3, x = 7 et r = 4, donc la réponse est s = [cx+r mod q] = 37+4 mod11 = 3.
Exo.3 : Comme montre en cours, soit certA → B le certificat délivré par A à B, c'est-à-dire, certA→B =
sign(SKA, "B,PKB"). En supposant que D sache PKC et fait confiance à C, lequel des éléments
suivants prouve à D que la clé publique de A est PKA ?
Solution:
certC → B, pkB, certB → A et pkA. D a confiance en C. C certifie B qui certifie A. D authentifie A.
certA → C et pkA
certA → B, pkA, certB → C et pkB
certC → B, pkB, certA → B et pkA
Exo.4 : Considérez le protocole de «handshake » de SSL/TLS tel que décrit en cours. Supposons
que le chiffrement de pmk soit effectué par une méthode de chiffrement CPA-sûre au lieu d’une
méthode CCA-sûre. Laquelle des attaques suivantes ce changement pourrait-il potentiellement
permettre ?
Solution :
a-Un attaquant peut écouter une exécution du protocole pour apprendre le texte chiffré c.
Ensuite, il peut usurper l'identité du client, envoyer des versions modifiées de c au serveur et
apprendre pmk en utilisant des informations indiquant si le serveur renvoie ou non une erreur
en réponse à ces textes chiffrés.
b-Un espion passif peut désormais apprendre pmk. En combinant NC et NB, cela permet à
l'attaquant de récupérer mk.
c-Un attaquant peut usurper l'identité du serveur en envoyant sa propre clé publique pk∗ au
client. Ce faisant, il peut convaincre le client de chiffrer à nouveau pmk, mais cette fois en
utilisant une clé publique que l'attaquant peut déchiffrer.
d-Un espion passif peut désormais apprendre NC et NB. En combinaison avec d'autres
informations connues, cela permet à l'attaquant de récupérer mk.
Cryptomonnaie
Exercice 1:
Répondre par vrai ou faux concernant SHA256?
Solution :
Il a été prouvé qu’il n’existe pas de moyen rapide pour trouver des collisions. F
Nous espérons qu’il n y a pas de collisions mais on en est pas sûr. F
Il a été prouve qu’il n y pas de collisions. F
Personne n’a trouvé de collisions à ce jour du moins publiquement. V
Exercice 2: Répondre par vrai ou faux.
Quel type de modification de la structure de données d’une blockchain peut être détecté par
quelqu’un qui dispose d’un pointeur vers le hash du dernier bloc?
Solution :
Ré-ordonnancement des blocs. V
Insertion d’un bloc. V
Changement de la date d’un bloc. V
Suppression d’un bloc. V
Exercice 3: Répondre par vrai ou faux
Lesquelles de ces clés sont nécessaires pour la vérification d’une signature? Répondre par vrai ou
faux.
Solution :
La clé secrète. F
La clé publique. V
La clé secrète et la clé publique. F
Aucune. Les clés servent à la signature: quiconque peut vérifier, F
Exercice 4: Répondre par vrai ou faux
Si vous générez plusieurs identités (clés publiques) pour vous même et interagissez online utilisant
ces différentes identités alors:
Solution :
Il est essential de disposer d’une source fiable pour générer du vrai aléatoire sinon un
adversaire serait en mesure de déduire votre clé secrète et usurper votre identité. V
Un adversaire peut faire le lien entre vos différentes identités car les clés publiques ont
tendance à se ressembler. F
Un adversaire peut révéler votre réelle identité à travers l’observation et l’analyse de votre
activité online. F
Exercice 5 : Cocher la bonne réponse.
Alice et Bob utilisent Bitcoin. Alice possède des fonds éparpillés sur 10 adresses différentes (clés
publiques) dont chacune est de valeur 3BTC. Elle voudrait transférer 5BTC à Bob. Dans ce cas la
transaction d’Alice va nécessiter, au minimum:
Solution :
Deux inputs, one output, et une seule signature. F
Deux inputs, deux outputs, et quartes signatures. F
Un input, deux outputs, et deux signatures. F
Deux inputs, un output et deux signatures. F
Deux inputs, deux outputs et deux signatures. V
Exercice 6 : Dans l’exemple de l’Exercice précédent, si Alice veut laisser un pourboire de 0.05BTC
au mineur qui aura validé et inclut sa transaction dans la blockchain des transactions, spécifiez la
valeur des inputs et outputs, ainsi que les expéditeurs et les destinataires des fonds distribués.
Solution :
id INPUT (Alice) OUTPUT (Bob, Alice)
TxAB, A Tx . A1 [0] (SigA1, PKA1) [0] 5 ScriptPKB
Tx.A2 [0] (SigA2, PKA2) [1] 0.95 ScriptPKA3
Où :
TxAB, A : identifiant de la transaction en cours
Tx . A1 [0]: UTXO (Output[0] d’une transaction antérieure) où Alice a reçu 3 BTC à l’adresse AdrA1 =
H(PKA1)
Tx . A2 [0]: UTXO (Output[0] d’une transaction antérieure) où Alice a reçu 3 BTC à l’adresse AdrA2 =
H(PKA2)
ScriptPKB = ‘‘DUP HASH160 AdrB EQUALVERIFY CHECKSIG’’: Lock Script de l’output[0]
ScriptPKA3 = ‘‘DUP HASH160 AdrA3 EQUALVERIFY CHECKSIG’’: Lock Script de l’output[1]