歡迎來到密碼學

『密碼學』(Cryptography)在傳統上的主旨是在研究如何在「非隱密的」環境裡,「隱密地』傳遞訊息。在早期,密碼學的使用者大多是軍隊或是政府單位;然而,伴隨科技的進步(尤其是網路的發達),今日密碼學的應用已充斥於我們的日常生活之中,例如,電子郵件、行動電話、電子商務與電子投票…等。因此,無論在今日或未來,密碼學都是一門重要的學問。

我們以電子郵件的使用為例,來解釋密碼系統如何達成具有「隱密性』的資料傳輸。網路上的任何人都可能想要發送電子郵件給特定的接收者,但在被傳輸的過程中,這封郵件也可能被網路上的任何人所擷取;為了確保只有特定的接收者能夠能看到信件內容,發送者必須將郵件加密。在這個例子裡。訊息的發送者與接收者不可能事先秘密地協議出某種加密方式(他們可能根本互不認識!),因此,唯有『公開金鑰加密法』(public key encryption, PKE)才能達成「隱密性資料傳輸」的目的。在這個加密法中,每個人都有兩把金鑰,一把為任何人都可以看到的公鑰,而另一把為只有接收者知曉的私鑰;具體的運作方式協議大致如下:一個名字是Bob的人先生成兩把鑰匙(公鑰與私鑰),並且將公鑰直接公開給所有人知道,這時另一位名字是Alice的人就可以利用Bob所公開的公鑰來加密一個訊息m,計算出密文Enc(m)後,將其傳給Bob,接著Bob即可利用私鑰解密得到訊息m。在這種方法裡,雖然加密用的公鑰是公開的,但即使是擁有許多運算資源(例如超級電腦)的壞人,也無法在「實際上有意義」的時限內,計算出解密用的私鑰。

在現今網路與雲端運算發達的時代,我們希望網路伺服器可以替我們做更多的工作,但仍可保有資料的隱密性;近幾年在密碼學在此議題有著一個重大發展──『全同態加密法』(fully homomorphic encryption, FHE),此密碼系統個允許任何人或特定的人在密文上執行計算,但又不會讓他們在計算的過程中對於原始訊息有任何的了解。一個實際的例子為網路伺服器的授權外包計算:當使用者的資源無法進行過於複雜的計算,且網路伺服器能提供較強大的計算能力,使用者即可利用『全同態加密法』安全地把複雜的計算外包給伺服器做計算,而不需使用到自己的運算資源。『全同態加密法』的運作方式如下:假設f是訊息空間上的一個凾式,m是一個訊息。一位使用者可以產生密文Enc(m)並送至伺服器;接著,伺服器可在不解密的情況下對Enc(m)做計算,得到另一個密文Enc(f(m))並回傳給使用者,接著使用者可以對Enc(f(m))做解密而得到f(m)。此系統的安全要求是,伺服器無法透過整個過程獲得任何關於m或是f(m)的資訊。

課程項目

  • 理論密碼學
    • 單向函數(One-way Function)
    • 擬亂數產生器(psuedorandom Generator)
    • 擬亂函數(Psuedorandom Function)
    • 金鑰交換(Key Exchange)
    • 公開金鑰加密(Public-key Cryptography)
    • 數位簽章(Digital Signatures)
    • 全同態加密法(fully homomorphic encryption, FHE)
    • 屬性加密(Attribute-Based Encryption)
    • 亂碼電路(Garbled Circuit)
    • 晶格密碼學(Lattice-based Cryptography)
  • 實務應用
    • RSA密碼系統(RSA Cryptosystem)
    • 橢圓曲線密碼學(Elliptic Curve Cryptography)
    • 比特幣(Bitcoin)
  • 課程表
    • Week 1
      7/10  上午 Overview of course
         下午 陳君明演講
      7/11  上午 Security definition
         下午 Python intro
      7/12  上午 CTF intro
         下午 CTF Problem: Basic, SHA
      7/13  上午 SKE-Perfect secrecy
      7/14  上午 CTF 作業時間
         下午 陳君明演講
    • Week 2
      7/17  上午 Algebra
      7/18  上午 RSA and some issue
      7/19  上午 SKE-Perfect secrecy
      7/20  上午 SKE-Computational
      7/21  上午 SKE-Computational
    • Week 3
      7/24  上午 MAC
         下午 作業檢討 (機率部份)
      7/25  上午 MAC
      7/26  上午 Hash
         下午 陳君明演講
      7/27  上午 Elliptic Curve
      7/28  上午 Pairing
         下午 陳君明演講
    • Week 4
      7/31  上午 Signature
         下午 Paper分組
      8/1   上午 PKE
      8/2   上午 LWE & PKE
      8/3   上午 鐘楷閔演講
      8/4   上午 Paper時間
         下午 參訪數聯資安
    • Week 5
      8/7  上午 LWE & Key exchange & new hope
      8/8  上午 Garbled circuit
      8/9  上午 FHE
      8/10 上午 左瑞麟演講
      8/11 上午 期末論文預報
    • Week 6
      8/14  上午 蕭旭君演講
      8/15  上午 Quantum Attack on Crypto
      8/16  上午 期末論文結報
      8/17  上午 期末論文結報
         下午 期末論文結報
      8/18  結業式
2017課程公告 more...
期末預報須知
8/11 09:20開始,每組20分鐘報告順序按照"Analysis of the Blockchain Protocol in Asynchronous Networks"↓"FruitChains: A Fair Blockchain"↓"Hybrid Consensus: Efficient Consensus in the Permissionless Model."在報告一開始需附上論文完整標題、作者、年份、出處 ...
數聯資安參訪公告
集合時間:8/4 13:50地點:台北市內湖區瑞光路218號
期末論文閱讀分組
第一組:廖泰甯、潘賢名、林倚牧、邱肇珩Rafael Pass, Elaine Shi. Hybrid Consensus: Efficient Consensus in the Permissionless Model. 2016.第二組:陳泓爲、何盛揚、林敬翔Rafael Pass, Elaine Shi. FruitChains: A Fair Blockchain ...
筆記名單
吳鈞季 7/13、7/28潘賢名 7/17、7/31何盛揚 7/18、8/1林敬翔 7/19、8/2陳泓為 7/20、8/7林倚牧 7/21、8/8 ...

2017課程資料 more...
[20170807][An Introduction tothe Learning with Errors Problemin 3 Hours].pdf
[20170718][Mini TopicsOn RSAandDiscrete Logarithm Problem].pdf
[20170816][Analysis of the Blockchain Protocol in Asynchronous Networks].pdf
[20170817][水果鏈(FruitChain)].pdf
[20170817][Hybrid Consensus].pdf