Cryptographie
Cryptographie
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
「其他文章」
- 疫情催化下的全球遠程工作調查報吿
- 給產品經理的9千字總結:系統間數據傳輸關注這些就夠了:接口、otter、log4j、SFTP、MQ……
- 安全新手入坑——如何在虛擬機中安裝操作系統 VMware Tools(T)的安裝
- 王者連跪是什麼感覺?
- 抓取了1400家科技公司的招聘信息,我發現數據工程師比數據科學家更有市場 - 知乎
- 21中國礦業大學北京\礦大北京計算機考研複試經驗
- Hyperledger Fabric學習筆記(二)- Fabric 2.2.1環境搭建
- 以向量運算為例,總結運算符重載
- svn認證失敗,解決方案
- Cryptographie
- 跟我學Android之七 資源文件
- 當文件內存使用量並打印文件超過100k自動結束程序
- R語言 lightgbm 算法優化:不平衡二分類問題(附代碼)
- 2021年軟件開發的七大趨勢
- 實現微服務會帶來哪些挑戰?
- 【重點】初窺Linux 之 我最常用的20多條命令
- 如何使用這個 KDE Plasma 文本編輯器?
- SCRIPT7002: XMLHttpRequest: 網絡錯誤 0x2ef3的解決方法
- 程序員漫畫:終極廣吿攔截器
- 猜數字遊戲,遊戲界面