看著Intel Everest AMT201 Foil~
卻想起當年勇! 竟一時興起想寫篇網誌關於Cryptography...
它可以表達成一台單一的特殊機器,這種型式的機器可以被塑造成去做到所有工作。事實上,
它可以被塑造成如同任何其他機器的模型般工作。這種特殊機器或許可以被稱呼為通用機器。
It is possible to invent a single machine which can be used to compute any computable sequence.
If this machine U is supplied with a tape on the beginning of which is written the S.D ["standard description" of an action table] of some computing machine M, then U will compute the same sequence as M."
by Alan M. Turing
無庸置疑~ Alan M. Turing是神人級的天才!!!
http://www.google.com/doodles/alan-turings-100th-birthday
The Imitation Game (模仿遊戲)~ 二戰爆發後!
曾協助軍方破解德國的著名密碼系統Enigma 這對盟軍取得了二戰的勝利有莫大的幫助!!!
Enigma Simulator v7.0
http://users.telenet.be/d.rijmenants/en/enigmasim.htm
( 美國專利 1,657,411 for Enigma (「謎」式密碼機))
The Imitation Game (模仿遊戲)
而... Combo™只是沙挖啊! Let's Talk 當年勇!!!
Visual Cryptography
( A+B+C = Combo 1979.12.16)
何謂密碼學(Cryptography)?!
源於希臘語"kryptós"(隱藏的) + "gráphein"(書寫) = Cryptography(隱藏的字)
爾虞我詐是三國... 兵不厭詐! 這是戰爭...
戰爭不就是你"陰"我! 我"陰"你! 以陰謀互"婊"而已... ... ...
而... 政治?! 何嘗不是... 何嘗不是... 何嘗不是...
曌
明文 (Plaintext)
密文 (Ciphertext) (或者應該稱之... "陰文")
加密 (Encryption)
解密 (Decryption)
演算法(Algorithm) @ 替代(substitution)/置換(transposition)/相乘(product)
《陰符》= 替代法 (substitution)
( 陰符是以八等長度的符來表達不同的消息和指令)
《陰書》= 移位法 (Transposition)
( 陰書把書一分為三,分三人傳遞,要把三份書重新拼合才能獲得還原的資訊)
現代密碼學
現代密碼學必須考慮:
• 確保訊息的機密性(Confidentiality)
• 提供驗證識別(Authentication)
• 訊息完整性偵測是否被不當的竄改(Integrity)
• 提供訊息傳送來源、接收目的或交易的證明且無可否認性(Non-repudiation)
Popular: ACE Encrypt
Symmetric Encryption:加密解密都用同一把Secret Key!!!
Popular: RSA (cryptosystem)
Asymmetric Encryption:用Public Key來加密! 只能用對應的Pravite Key來解密!!
其實... PKI運算量是非常大的!!!
• Every principal has a Key Pair:
- Public key (Anything encrypted with public key)
- Private key (only be decrypted with corresponding private key)
• TLS is based on Public Key Infrastructure (PKI) technology
- Anything encrypted with public key can only be decrypted with
corresponding private key
Hash (雜湊/散列)
Popular: MD5 (Message-Digest Algorithm)
Popular: SHA (Secure Hash Algorithm)
Hash Function基本特性:
• 不可逆(One way transformation): 只能單向操作的概念
• 抗碰撞性(Collision resistance): Hashes像是人類指紋的概念
• 擴張性(Diffusion): 牽一髮而動全身的概念
• 可用在任意長度的訊息M上 (無限輸入)
• 產生固定長度的輸出h (有限輸出)
• 對任意的訊息M來說,很容易計算出h=H(M) (效率佳)
• 給定h,我們很難求得x,使得 H(x)=h,稱為單向特性 (不可逆)
• 給定x,很難求得y,使得 H(y)=H(x),稱為弱碰撞抵抗力(weak collision resistance)
• 很難求出一組(x,y),使得 H(y)=H(x),稱為強碰撞抵抗力(strong collision resistance)
Hashes = Hash Sum = Fingerprint
指紋: 截至目前還未發現有兩個完全相同的指紋... 但並不代表不會有!!!
下圖解釋Hashes可能散列衝突!!! (亦與人類指紋概念雷同)
A hash function that maps names to integers from 0 to 15.
There is a collision between keys "John Smith" and "Sandra Dee".
完美Hash Function才具備抗碰撞性!
Hash其輸入是無限其輸出有限... 故是不可能構造出完美散列的!!!
而為了說明這... Hash Function的擴張性(Diffusion)~
Combo™必須借用神乎技矣~ 王羲之《快雪時晴帖》
基本上左右兩圖看起來是沒有任何差異...
但其所計算出來的Hashes卻是沒有任何的關聯性... 這是所謂的Diffusion~
牽一髮而動全身
神乎技矣.bmp
神乎技矣 - dummy.bmp
神乎技矣.bmp
MD5:c7b61b40af195c189fc88fbb27b99fd4
SHA1:078cae2ad2a1a33261062ca540289a4a196afc83
MD5:7e7bc29fc0deaa66cb70c2b2f29ea38b
SHA1:6fd1c08be3b1a8e9fee047395a896c540ce4ca71
(Hash Generator v4.0)
其... Delta為"希"字紅點...
果然是神乎技矣的... 牽一髮而動全身!!!
HASH: 為不使用金鑰(Key)概念的加密技術多應用於數位簽署(Digital Signature)
然而... 實務上的應用:
數位簽章 (Digital Signature)
Signing (Encryption): Certification Authority's Private Key
1.) 把訊息M做h=H(M)
2.) 把h(Fingerprint)用私鑰加密=SING 其私鑰是需要認證過的!
3.) 把SING+M打包傳送出去=SIGN'+M'
Verifying (Decryption): Certification Authority's Public Key
1.) 把訊息M'做h'=H(M)
2.) 把SIGN'用公鑰解密得到h'' 其公鑰是認證過的!
3.) 比較h'等不等於h''???
4.) 如果h'等於h''代表等該訊息M'是被認證且無誤的
受信任的第三方(trusted third party)憑證管理機構~
自然人憑證 @ https://moica.nat.gov.tw/index.html
無須懷疑... 要錢的相對安全:
$$$ Certificate Authority Reviews $$$
- 私鑰則自行保管 @ Signing (Encryption): CA's Private Key.
- 公鑰由憑證管理機構統一保管與公布 @ Verifying (Decryption): CA's Public Key
- 憑證(CA)可說是公鑰的身分證明文件
= 數位憑證 (Digital Certificate)
= 公鑰憑證 (Public Key Certificate)
What Are Certificate?
ComboStyle™密碼學網誌的最後... 果然是...
神乎技矣!
Encryption 101 – tools, algorithms and history
http://techinfographics.com/encryption-101-tools-algorithms-and-history/
爾虞我詐
Combo™ Huang
@ Taiwan Elections 2016-01-16
An Overview of Cryptography
http://www.garykessler.net/library/crypto.html
用十分鐘 學會《資料結構、演算法和計算理論》
http://www.slideshare.net/ccckmit/ss-56891871
比特幣挖礦的背後 -- SHA 與雜湊現金
http://www.codedata.com.tw/social-coding/hashcash/
留言列表