【密碼學】就.很.密碼學

更新於 2022/02/05閱讀時間約 6 分鐘
記得考上研究所那年正是電子商務爆發的年代,各種購物網站興起,人們也不斷挑戰新的商業模式。我注意到這些服務之所以能成形,背後的資訊安全發揮了決定性的作用。不止是當時的商業模式,未來(也就是現在)、未來的未來,各種服務都必須以充份的資訊安全為基礎才得以成功。越有價值的服務也會越重視資訊安全。因此,我將資訊安全列為研究方向,並請相關領域的老師擔任我的指導教授,沒想到就因此進入了《密碼學》的領域。
我之後會介紹一些密碼學實務技術。這些技術對資訊從業人員必定會有價值。有興趣的朋友們可以找來閱讀。這些文章預計採用付費模式,畢盡有句話說「If you're good at something, never do it for free.」。相信會讓各位覺得物超所值。
這篇文章先作為引子,介紹一些密碼學的歷史,帶大家在資訊保護的路上先逛一逛。嗯…好像很有趣卻又很空洞?不妨考慮付費看點實務應用吧!

人類一直存在著將交換祕密訊息的需求。在保護祕密的議題上有兩大分支:《密碼學》與《資訊隱藏》。密碼學是本文的主要議題,我們留到後面講。這裡先談談資訊隱藏。
資訊隱藏(Steganography,隱寫術)就是把想要傳輸的祕密藏起來,神不知鬼不覺的傳輸到接收訊息的那一方。它和密碼學的應用場景不同。打個比方:兩軍交戰時,若是某一方截獲了對方的訊息,就算解不開內容,至少也會把訊息擋下,不讓它傳出去。這時候再好的密碼系統都無用武之地,反而是資訊隱藏登場的機會了。
我這裡有一個古老的故事。一位古代的領主想要把推翻國王的訊息傳給他的女婿。為了不讓這個殺頭的訊息被人發現,他找來了一位自己信任的奴隸,把訊息紋在奴隸的頭皮上,等到奴隸的頭髮長出來再送過去。只要路上的警衛沒料到這招,訊息就能安全的傳遞出去。
資訊隱藏在現代的應用很多。除了以往用來傳遞祕密外,現在更用在數位版權管理。比如電影製片商可以在影像裡面偷偷塞入不同的序號,然後再交給發行商。假如某間發行商在影片正式公開前流出了影片的內容,製片商只要把流出的影片裡的序號取出,馬上就知道是哪家發行商走漏了影片。
資訊隱藏的議題在於藏得好不好。比如:對被用來隱藏的宿主造成的破壞越小越好(越不容易被偵測出來);用越小的破壞藏入越多的訊息越好;宿主被雜訊干擾時仍能取出訊息,而取出的訊息越完整越好(比如前面的例子裡,若影片經過轉檔或側拍,有些演算法仍然可以取出序號)。這是一門博大精深的議題,直到現在也還是熱門的研究領域。

終於要講密碼學(Cryptography)了。
密碼學又稱亂碼化技術。基本上就是亂到讓敵人看不懂,只讓自己人看懂。這其中存在著加密和解密兩個過程。明文加密後變成密文;密文解密後變回明文。加密和解密時需要使用一些特定的祕密(金鑰)。只有手握這些祕密的人才有能力加密和解密。
古典的加密技術裡,最常舉例的便是古希臘的密碼棒。那是將一根木棒削成約定好的粗細。收到密文的人將寫著密文的布條纏繞上去後,密文中的祕密訊息就會浮現出來。這裡,那塊布條就是密文。布條裡面藏有明文。而那根棒棒就是金鑰了。二戰美國傘兵知名的「打雷」、「閃電」口令,也是一種查表式的密碼,能用來快速分辨敵友。記得我當兵的時候也用過。比如在上哨前安全士官會交接當天的口令,當行軍接近哨點時就必須要能答得出來。密碼學的使用無所不在。
除了加密訊息,避免不相關的人讀懂之外,密碼學還有著身份驗證的應用。怎麼說?能夠將明文加密成合法密文的人,當然表示它擁有合法的金鑰。在身份驗證的場景裡,取回明文已不是重點,挑戰對方加密或解密的能力才是。
現代的密碼演算法不外乎位移、置換以及能推導與反推導的演算法。
所謂的位移,就是將明文的內容做特定距離的移動。比如明文是「THE」時,我們的將各個字元往右移兩位,那密文就變成了「VJG」。而解密的時候就將密文裡的各個字元往左移兩位就好。
置換的加密方式是將明文換成特定的值,然後在解密時換回來。比如明文是「BBC」時,我們用「A變甲」、「B變乙」、「C變丙」的置換方式,則密文就變成了「乙乙丙」。解密時就反過來置換就好。
位移和置換是古老的手段,但是快速又好用,目前還看不出退流行。而推導與反推導的演算法則是數學家發揮的舞台。數學家經常利用難解問題,將祕密隱藏在其中,然後讓解密的那一方取得某些「優勢參數」(通常就是能用來開鎖的鑰匙),以便順利解開難題,取回明文。
這裡,我先不使用數學難題來舉例。我們假設一個推導(加密)演算法為「e(m) = m * k = c」,x 為明文、k為金鑰的數值、c為密文。另外我們再做一個反推導(解密)的公式「d(c) = c / k = m」。然後我們設明文為3、金鑰為5,因此得到密文「e(3) = 3 * 5 = 15」。解密時用「d(15) = 15 / 5 = 3」得到原本的明文 。

看完了小弟對資訊保護技術的粗略介紹,是否對密碼學燃起了一點興趣?在資訊安全的領域裡,一直都是道高一尺魔高一丈,對抗永不止息。時至今日,密碼學仍然是十分熱門的學科,因為今天還受用的演算法,沒有人有把握它還能用上五年、十年、或二十年。事實上,我們今日(本文於2021年落筆)常用的密碼演算法就正在面臨嚴峻的考驗呢!
本文介紹的這些資訊十分粗淺。完全不到可以應用的階段。十分建議資訊從業人員花一點時間(還有金錢(笑))對密碼學多做一些了解。肯定用得著。而非資訊的從業人員,若能付出少許金錢與時間就能多了解一點知識的話,我也認為這是不錯的投資。
我在之後的付費資訊裡預計將介紹以下資訊(挖坑ing):
  • 密碼演算法、原理和未來展望 ─ 密碼學怎麼來的?到底在搞什麼?
  • 密碼演算法實務應用 ─ 實際上要怎麼加密?實務上會碰到什麼問題?
  • 資訊安全與密碼學 ─ 加密就安全了?這可不一定。
另外,我也預計製作底下免付費的內容,讓大家知道密碼學還可以這樣用:
  • 密碼學 v.s. 加密貨幣;中心化 v.s. 去中心化
  • 密碼學與人工智慧有什麼關係?
感謝您的閱讀。讓我們在另一篇文章裡再會囉(啾咪)。
    avatar-img
    5會員
    8內容數
    祕密是有價值的,人人都有戴上面具的需求。本文的目的就是說明現代密碼演算法的現況以及未來的發展,讓各位資訊從業人員與吃瓜群眾自我省視,確認自己是不是戴上了夠勁的面具。 專題圖源:https://www.pexels.com/zh-tw/photo/3051576/
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
    Thumbnail
    獲得2023年STOC研討會的最佳論文獎的密碼學研究,找到了資訊加密安全性與運算效率的理論最佳解,這將如何影響隱私權保護?
    Thumbnail
    Bucket(桶):雜湊表儲存資料的位置,每一個位置具有唯一識別索引。 Slot(槽): 每一個Bucket裡面都會存放不同的資料,而假設一筆資料由兩個欄位組成,每一個欄位就是一個Slot(槽)。 Hash Function(雜湊演算法):計算出雜湊值的一套數學公式,諸如: MD5、SHA…
    Thumbnail
    前言 其實跟很多生命靈數、彩虹數字、塔羅牌的某幾張大阿爾克那的解讀方式差不多,但是可以"相較的"更快讀懂一個人的內在模樣跟外在表現方式。知己知彼、百戰百勝的感覺吧?上完免費公益課程也是乾貨滿滿,當天睡很好,知識量得到滿足。以下簡單整理一下,畢竟我才上2個小時的分享課,都只是我所能理解的範圍而已。
    Thumbnail
    什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
    Thumbnail
    「聽風的歌」值得放入經典書單中,讓一代又一代的人用不同的觀點來反覆咀嚼嗎?值得,不過是為了別的理由。
    Thumbnail
    大部分實驗學校沒有制式的作業,甚至根本沒有回家作業,因此我們家老么從實驗學校轉回體制內的第一個挑戰,就是寫作業! 一開始真是烏龍連連,搞不清楚每天要帶什麼課本回家?甲本乙本生字本,可把她搞糊塗了,大量的書寫抄寫,也是之前沒經歷過的,要跟上同學的步伐,需要比別人多一倍的時間。
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
    Thumbnail
    獲得2023年STOC研討會的最佳論文獎的密碼學研究,找到了資訊加密安全性與運算效率的理論最佳解,這將如何影響隱私權保護?
    Thumbnail
    Bucket(桶):雜湊表儲存資料的位置,每一個位置具有唯一識別索引。 Slot(槽): 每一個Bucket裡面都會存放不同的資料,而假設一筆資料由兩個欄位組成,每一個欄位就是一個Slot(槽)。 Hash Function(雜湊演算法):計算出雜湊值的一套數學公式,諸如: MD5、SHA…
    Thumbnail
    前言 其實跟很多生命靈數、彩虹數字、塔羅牌的某幾張大阿爾克那的解讀方式差不多,但是可以"相較的"更快讀懂一個人的內在模樣跟外在表現方式。知己知彼、百戰百勝的感覺吧?上完免費公益課程也是乾貨滿滿,當天睡很好,知識量得到滿足。以下簡單整理一下,畢竟我才上2個小時的分享課,都只是我所能理解的範圍而已。
    Thumbnail
    什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
    Thumbnail
    「聽風的歌」值得放入經典書單中,讓一代又一代的人用不同的觀點來反覆咀嚼嗎?值得,不過是為了別的理由。
    Thumbnail
    大部分實驗學校沒有制式的作業,甚至根本沒有回家作業,因此我們家老么從實驗學校轉回體制內的第一個挑戰,就是寫作業! 一開始真是烏龍連連,搞不清楚每天要帶什麼課本回家?甲本乙本生字本,可把她搞糊塗了,大量的書寫抄寫,也是之前沒經歷過的,要跟上同學的步伐,需要比別人多一倍的時間。