close

 看著Intel Everest AMT201 Foil~
卻想起當年勇! 竟一時興起想寫篇網誌關於Cryptography...

於此之前... Combo™必須向Alan Turing致敬!!!
                                                                                                     
它可以表達成一台單一的特殊機器,這種型式的機器可以被塑造成去做到所有工作。事實上,
它可以被塑造成如同任何其他機器的模型般工作。這種特殊機器或許可以被稱呼為通用機器。
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是神人級的天才!!!
turing-doodle-static

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

Enigma-logo

( 美國專利 1,657,411 for Enigma (「謎」式密碼機))

The Imitation Game (模仿遊戲)


而... Combo™只是沙挖啊! Let's Talk 當年勇!!!

               Visual Cryptography

14eb7ea17b3f25

14eb7ea184e6e2

14eb7ea1d459ba

14eb7ea16eb029

( A+B+C = Combo 1979.12.16)

 

何謂密碼學(Cryptography)?!
源於希臘語"kryptós"(隱藏的) + "gráphein"(書寫) = Cryptography(隱藏的字)

爾虞我詐是三國... 兵不厭詐! 這是戰爭...
戰爭不就是你"陰"我! 我"陰"你! 以陰謀互"婊"而已... ... ...

而... 政治?! 何嘗不是... 何嘗不是... 何嘗不是...  ​





明文 (Plaintext)
密文 (Ciphertext) (或者應該稱之... "陰文")

加密 (Encryption)
解密 (Decryption)

演算法(Algorithm) @ 替代(substitution)/置換(transposition)/相乘(product)

     古典又經典的Cryptography
 
古希臘斯巴達的密碼棒(Scytale)
scytale-and-war
( 當時只考慮到訊息的機密性(confidentiality))

 
 六韜: 《陰符》&《陰書》

《陰符》= 替代法 (substitution)
《陰符》
( 陰符是以八等長度的符來表達不同的消息和指令)

《陰書》= 移位法 (Transposition)
《陰書》
( 陰書把書一分為三,分三人傳遞,要把三份書重新拼合才能獲得還原的資訊)

現代密碼學 

現代密碼學必須考慮:

• 確保訊息的機密性(Confidentiality)
• 提供驗證識別(Authentication)
• 訊息完整性偵測是否被不當的竄改(Integrity)
• 提供訊息傳送來源、接收目的或交易的證明且無可否認性(Non-repudiation)
image

 
  Secret Key Encryption
Secret Key Encryption
Popular: ACE Encrypt
Symmetric Encryption:加密解密都用同一把Secret Key!!!
Public Key Cryptography
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

HTTPS = HTTP on top of the TLS

             Hash (雜湊/散列)
Hash_function.svg
 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 = Fingerprintfingerprint
指紋: 截至目前還未發現有兩個完全相同的指紋... 但並不代表不會有!!!

下圖解釋Hashes可能散列衝突!!! (亦與人類指紋概念雷同)
300px-Hash_table_4_1_1_0_0_1_0_LL.svg
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
神乎技矣.bmp

神乎技矣 - dummy.bmp

神乎技矣 - dummy.bmp

神乎技矣.bmp
MD5:c7b61b40af195c189fc88fbb27b99fd4
SHA1:078cae2ad2a1a33261062ca540289a4a196afc83
神乎技矣-Hash

神乎技矣 - dummy.bmp
MD5:7e7bc29fc0deaa66cb70c2b2f29ea38b
SHA1:6fd1c08be3b1a8e9fee047395a896c540ce4ca71

神乎技矣 - dummy-Hash.bmp
(Hash Generator v4.0)

其... Delta為"希"字紅點...
果然是神乎技矣的... 牽一髮而動全身!!!
神乎技矣Delta
 HASH: 為不使用金鑰(Key)概念的加密技術多應用於數位簽署(Digital Signature)

然而... 實務上的應用:
compare table

    數位簽章 (Digital Signature)

Digital Certificate
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'是被認證且無誤的
 
 這裡還存在著一個關鍵問題?! 認證過的公私鑰機制 (by 數位憑證)
Digital_Signature_diagram_zh-CN.svg
 
欲解決這關鍵問題必須依賴...
受信任的第三方(trusted third party)憑證管理機構~

自然人憑證 @ 
https://moica.nat.gov.tw/index.html
臺中市沙鹿區戶政事務所-自然人憑證服務

無須懷疑... 要錢的相對安全:
$$$ Certificate Authority Reviews $$$
image
• 身分確認後製作專屬的公鑰與私鑰
  - 私鑰則自行保管 @ Signing (Encryption): CA's Private Key.
  - 公鑰由憑證管理機構統一保管與公布  @ Verifying (Decryption): CA's Public Key
  - 憑證(CA)可說是公鑰的身分證明文件

 
憑證 (Certificate)
= 數位憑證 (Digital Certificate)
= 公鑰憑證 (Public Key Certificate)
Certificate Detail

What Are Certificate?

 ComboStyle™密碼學網誌的最後... 果然是...
 

 神乎技矣!

 

 

神乎技矣.bmp

Encryption 101 – tools, algorithms and history
http://techinfographics.com/encryption-101-tools-algorithms-and-history/
undefined

                       爾虞我詐

              Combo™ Huang

   @ Taiwan Elections 2016-01-16

taiwan-elections-2016-6237992018509824-hp

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/

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Combo™ 的頭像
    Combo™

    好人勿用™

    Combo™ 發表在 痞客邦 留言(0) 人氣()