Sunteți pe pagina 1din 18

La Cryptologie et Bitcoin

Eric Rowe, MSc


ENCODAGE

2
Encodage
•  Binaire – 0 et 1
•  ASCII – American Standard Code for Information
Interchange - 128 codes à 7 bits: les chiffres
arabes de 0 à 9, les lettres minuscules et capitales
de A à Z, et des symboles mathématiques et de
ponctuation.
•  Unicode - plus de 97 755 lettres ou syllabes, chiffres
ou nombres, symboles divers, signes diacritiques et
signes de ponctuation.
•  Base58 – 58 lettres et nombres utilisés
•  Base32 – 32 lettres et nombres utilisés

3
Encodage Base58Check & Base32
Qu’est-ce que c’est?
•  Encodage binaire-à-texte modifié
•  Utilisés pour encoder les adresses Bitcoin
Pourquoi?
•  Pour rendre les adresses plus clairement lisibles,
écrivables, et utilisables
Implications pour les enquêteurs?
•  Rend la recherche des adresses sur un disque
dur ou dans la mémoire des ordinateurs facile

4
Pourquoi Base58 au lieu de Base64
•  Les 0O et Il se ressemblent
•  Les séquences de caractères qui contiennent
des caractères non-alphanumériques ne sont
pas aussi facilement acceptés dans certains
fonctions
•  Les courriels ne briseront pas la clé ou l’adresse
en faisant nouvelle ligne s’il n’y a pas de
symboles de ponctuation
•  Quand on fait un double-clic sur l’adresse, tout
l’adresses va être sélectionné

5
Pourquoi Base32 au lieu du
Base58Check?
•  La Base58 requiert beaucoup d’espace dans les
codes QR; la Base58 ne peut pas se servir du mode
alphanumérique.
•  Le mixe de majuscules et de minuscules le rend
inconvénient/difficile à écrire, à taper sur des
claviers mobiles, ou de lire à haut voix.
•  Le checksum SHA-256 double est lent et n’aucun
garanti quant à la détection d’erreurs.
•  L’encodage Base58 est compliqué et relativement
lent
6
Charte des symboles Base58

Exclu:
0OIl

7
Charte des symboles Base32

Exclu = 1 b i o

8
Clé privé au clé public
(Fonction de courbe elliptique)

9
Clé public à adresse

10
Adresses Bitcoin
•  Base58Check – 26-35 caractères de long
•  Base58Check – majuscule & minuscule
•  Les adresses commençant par 1 sont normales
•  Les adresses commençant par 3 sont des
adresses multisignature

•  Base32 – 26(?) à 90 caractères de long


•  Base 32 – lettres minuscules
•  Adresses qui commencent avec bc1 sont des
adresses de portefeuille ‘Segwit’ (nouveaux)

11
Il existe 3 sortes d’adresses Bitcoin
•  P2PKH (Pay-to-PubkeyHash)
commencent avec 1
•  P2SH (Pay-to-Script-Hash)
commencent avec le nombre 3
•  Bech32 (‘ça sonne comme base32’)
commencent avec bc1

12
Exemples d’adresses (http://blockchain.info)

P2SH

P2PKH

Bech32

13
GREP - Adresses
1[a-km-zA-HJ-NP-Z1-9]{25,34}
3[a-km-zA-HJ-NP-Z1-9]{25,34}
bc1[ac-hj-np-z02-9]{23,90}
•  Fichiers, espace non-alloqué, dump de
mémoire, etc.
•  Les bitcoins associés aux adresses peuvent et
tracés et évalués.
•  Le fait que les expressions de recherche sont
longes minimise les faux-positifs.

14
GREP pour les clés aussi
Bitcoin (Bitcoin pubkey hash)
26-35 caracteres Base58Chec, commençant avec 1
1[a-km-zA-HJ-NP-Z1-9]{56}

Pay to script hash (P2SH)
26-35 caractères Base58Check, commençant par 3
3[a-km-zA-HJ-NP-Z1-9]{25,34}

BIP38 Encrypted Private Key
58 caractères commençant avec'6P'
6P[a-km-zA-HJ-NP-Z1-9]{56}


15
CRYPTOGRAPHIE - HACHAGE

16
Fonctions de hachage
Une fonction particulière qui, à partir d'une
donnée fournie en entrée, calcule une empreinte
servant à identifier rapidement la donnée initiale,
au même titre qu'une signature pour identifier une
personne.
Les fonctions de hachage sont utilisées en
informatique et en cryptographie notamment
pour reconnaître rapidement des fichiers ou des
mots de passe.

17
Différents types de hachage
•  MD5 – 512-bit blocks entrée, 128-bit sortie
•  Ron Rivest 1991
•  Collisions trouvés en 1996

•  SHA-256 - 512-bit blocks entrée, 256-bit sortie


•  Développé par le NSA

•  RIPEMD160 (RACE Integrity Primitives Evaluation


Message Digest)
•  Élaboré ouvertement dans la communauté
académique, par opposition à la famille SHA (NSA)

18

S-ar putea să vă placă și