La Cryptographie et la Blockchain Simplement

in #cryptography4 years ago (edited)

Le côté crypto de la monnaie

On parle tous de cryptomonnaies, de crypto. Voici brièvement expliqués les concepts de la cryptographie et de la blockchain. Les simplifications et omissions sont volontaires.

La cryptographie

La cryptographie est l'art de protéger un message à l'aide d'une clé secrète. Cela assure la confidentialité, l'authenticité et l'intégrité du message. Seules les personnes autorisées (possédant une clé) peuvent le lire, authentifier l'émetteur et vérifier que le message n'a pas été modifié.

Le besoin de confidentialité et d'authenticité des communications n'est plus à démontrer. Nous utilisons tous le chiffrement lorsque nous surfons sur le web.


Le cryptogramme de Jules Vernes
Source: J. R. R. Tolkien's influences

L'encodage

L'encodage n'est pas du cryptage mais une conversion suivant une règle ou une table de correspondances. Les bits dans la mémoire d'un ordinateur sont des nombres représentant les caractères qui forment nos phrases. La correspondance dépend de l'encodage utilisé.

Des encodages de caractères sont par ex. UTF-8, ISO-Latin-1 ou Unicode. Base 64 sert à encoder du binaire pour une interface texte, par exemple une image inline. Les espaces dans les adresses internet sont URL encodées.

Le hachage

Le hachage est une fonction mathématique qui réduit des données à un grand nombre, le hash. Si les données sont identiques le hash est le même, si elles changent d'un bit le hash n'est pas proche mais complètement différent. Un hash s'écrit typiquement avec des chiffres hexadécimaux (ex. d41d8cd98f00b204e9800998ecf8427e).

Les hashs sont très utiles. Si un site affiche le hash, il permet de vérifier que le fichier téléchargé n'est pas corrompu. Ils permettent de comparer des fichiers distants en ne faisant transiter que leur hashs et pas leur contenu. Ils ont plein d'autres usages, comme l'indexation et surtout la sécurisation de la blockchain.
Des algorithmes de hachage sont par ex. MD5 ou SHA.

La clé

La clé (privée) ou secret, est dérivée du mot de passe ou de la pass phrase. Dans le cas d'un wallet, la pass phrase est les 12 mots qui permettent de générer la succession d'adresses (de clés). Une clé ne peut pas être mémorisée par un être humain. Dans la crypto, les clés sont encodées dans un format qui facilite l'écriture de la clé et son importation dans un wallet, par copier-coller ou scan d'un QR code.

Le chiffrement

Symétrique

Le cryptage symétrique utilise la même clé pour chiffrer (crypter) que pour déchiffrer (décrypter). C'est utilisé dans la protection par mot de passe.
Des algorithmes de cryptage symétrique sont par ex. DES ou AES.

A clé publique (asymétrique)

Le cryptage asymétrique utilise 2 clés, la clé privée et la clé publique correspondante. La clé privée doit rester secrète, la clé publique (dérivée de la clé privée) est publiée ou transmise au correspondant autorisé à lire le message.

Un message crypté avec la clé privée peut être décrypté avec la clé publique et inversement, un message crypté avec la clé publique ne peut être décrypté qu'avec la clé privée.
Des algorithmes de cryptage asymétrique sont par ex. RSA ou DSA

La signature

La signature d'un message est le cryptage asymétrique du message avec la clé privée du signataire. L'authenticité et l'intégrité du message peuvent être vérifiées avec la clé publique correspondante.

Les certificats

Un certificat (dit SSL) est une sorte de carte de visite, signée par une autorité de certification. Le certificat peut être vérifié avec la clé publique de l'autorité de certification.
Des autorités de certification sont par exemple GoDaddy, Comodo ou SwissSign.

Le sel

Le sel (salt) est une petite quantité de données (un nombre aléatoire) ajoutées au message avant la signature ou le hachage, pour ajouter de l'entropie afin que deux même messages signés de façon identiques produisent des données différentes à chaque fois.
Cela rend le piratage plus difficile donc le cryptage plus sûr.


La crypto

La Blockchain

La blockchain est un registre qui contient toutes les transactions. L'état (le solde) d'une adresse est déterminée grâce à la succession de toutes les transactions. Les transactions sont regroupées en blocs et chaque bloc contient le hash du bloc précédent.

Bitcoin

Les transactions (Bob envoie 50 BTC à Alice) sont des messages signés avec la clé privée de l'adresse qui fait l'envoi (Bob). Ces transactions sont collectées ou refusées (si le solde est insuffisant) par les noeuds du réseau et regroupées en blocs. Le hash du bloc précédent est ajouté, le bloc horodaté, signé et diffusé à tous les autres noeuds.

Tout le monde sait maintenant que Bob a 50 BTC en moins et Alice en plus.

L'adresse est (liée à) la clé publique, par ex. 13rTZRC2ptZ87SEMogGPhUDGPpSmedMkiE.
La clé privé est le secret qui permet de dépenser l'argent en le transférant à une autre adresse. Si la clé est perdue, l'argent sera définitivement bloqué.
Une adresse et sa clé privée (paper wallet) peut être créée en toute sécurité sur https://www.bitaddress.org/

Hive

Dans la blockchain Bitcoin ne prennent place que des transferts de monnaie (et un mémo). Dans la blockchain de Hive, il y a aussi des posts, commentaires, votes et même des mouvements de parties de jeux!

Une adresse Hive est simplement le login de l'utilisateur sans le @, par ex. droida. Le mot de passe permet de générer les clés privées (posting, active, owner, memo).

La clé active permet de transférer l'argent. La clé posting est utilisée pour poster et voter.
La clé memo sert à crypter des messages. La clé owner permet de changer le mot de passe, donc de prendre possession du compte.

Plus d'informations

https://fr.wikipedia.org/wiki/Cryptographie
https://bitcoin.org/bitcoin.pdf

Concours

10 HIVE à gagner pour le premier qui trouve quelle est la donnée hachée par MD5 utilisée dans l'exemple de hash.

Posted via neoxian.city | The City of Neoxian

Sort:  

Félicitations ! Cet article a été retenu pour figurer dans les curations de La ruche. N'hésitez pas à venir nous rejoindre sur notre groupe communautaire : https://peakd.com/c/hive-196396/created. En outre, pensez à vous inscrire pour pouvoir profiter de notre fanbase !

Merci beaucoup :)

!BEER
for you

Hi @droida,
my answer to the contest is an (empty string) linked bellow
https://md5.gromweb.com/?md5=d41d8cd98f00b204e9800998ecf8427e
thanks for the contest!
see u

Congratulations, you won! Thank you for the good MD5 reverse lookup link. Welcome back! :)


Hey @droida, here is a little bit of BEER from @eii for you. Enjoy it!

Learn how to earn FREE BEER each day by staking your BEER.


The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.