Cryptographie

語言: CN / TW / HK

Prérequis : les fonctions de hachage

  • entree有一點點不同的話sortie(hash)就會差很多
  • 很難從hash反推entree
  • hash大小都一樣
  • ex : MD5(不靠譜), SHA-1(不靠譜), SHA-256(不戳) 64位十六進制, SHA-3

Les principes de base de la cryptographie

  • L’algorithme 編碼和解碼的工具
  • La clé 與人話一起放進algo中,得到密碼(或者和密碼一起得到人話
  • L’algorithme est public, la clé est secrète在這裏插入圖片描述

La cryptographie symétrique

在這裏插入圖片描述
在這裏插入圖片描述
ex. Advanced Encryption System(AES), Triple Data Encryption Algorithm(3DES), Twofish
One Time Pad : cle是一串隨機的字母,人話和cle的排行加起來整除26得到密碼


La cryptographie asymétrique (à clé publique)

chiffrement & déchiffrement

通過公共鑰匙加密,通過私人鑰匙解密。我希望所有人都能加密發消息給我,但是隻有我能閲讀。
在這裏插入圖片描述
在這裏插入圖片描述
ex. RSA Algorithm, Digital Signature Algorithm, Cramer-Shoup


signature numérique

確認在簽名後message沒有被改動。
在這裏插入圖片描述
在這裏插入圖片描述

  • Il se pourrait que m ≠ m’ et sha256(m) = sha256(m’) mais la probabilité est très faible.
  • Avec une bonne fonction de hachage cryptographique et sans la clé privée d’Alice, il est impossible à Charlie de remplacer à la fois m par m’ et S par S’=E( K s A l i c e K_s^{Alice} KsAlice, sha256(m’)).
  • Connaissant K p A l i c e K_p^{Alice} KpAlice, Charlie peut retrouver facilement sha256(m) en faisant D( K p A l i c e K_p^{Alice} KpAlice, S), mais il ne peut remonter à m.

résumé

  • Pour écrire un message chiffré à Bob, Alice utilise : la clé publique de Bob
  • Pour déchiffrer un message reçu d’Alice, Bob utilise : la clé privée de Bob
  • Pour signer un message, Alice utilise : la clé privée d’Alice (+ hachage)
  • Pour vérifier une signature d’Alice, Bob utilise : la clé publique d’Alice (+ hachage)

Les certificats électroniques

為了保證cle publique真的是Bob的,而沒有被中間商暗中調包攔截
Un certificat électronique est un fichier signé qui contient essentiellement :

  • des informations sur l’entité
  • la clé publique de l’entité
    plus :
  • l’identifiant de l’émetteur
  • une date de validité
  • un numéro de série
    et surtout :
  • la signature de l’émetteur
    在這裏插入圖片描述
    Un certificat électronique certifie une clé publique, il est signé par (la clé privée de) l’émetteur, typiquement une autorité de certification de confiance.

Une application marquante : Blockchain & Bitcoin

  • un système décentralisé
  • 自成立以來的所有交易歷史都有記載
  • 每筆轉賬需要得到出錢人的私人鑰匙
  • 區塊鏈中,每一個bloc都包含了上一個bloc的hash
  • 保持最長的鏈

Le contexte légal