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

閱讀時間約 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. 去中心化
  • 密碼學與人工智慧有什麼關係?
感謝您的閱讀。讓我們在另一篇文章裡再會囉(啾咪)。
    5會員
    8內容數
    祕密是有價值的,人人都有戴上面具的需求。本文的目的就是說明現代密碼演算法的現況以及未來的發展,讓各位資訊從業人員與吃瓜群眾自我省視,確認自己是不是戴上了夠勁的面具。 專題圖源:https://www.pexels.com/zh-tw/photo/3051576/
    留言0
    查看全部
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
    Thumbnail
    獲得2023年STOC研討會的最佳論文獎的密碼學研究,找到了資訊加密安全性與運算效率的理論最佳解,這將如何影響隱私權保護?
    Thumbnail
    Bucket(桶):雜湊表儲存資料的位置,每一個位置具有唯一識別索引。 Slot(槽): 每一個Bucket裡面都會存放不同的資料,而假設一筆資料由兩個欄位組成,每一個欄位就是一個Slot(槽)。 Hash Function(雜湊演算法):計算出雜湊值的一套數學公式,諸如: MD5、SHA…
    Thumbnail
    前言 其實跟很多生命靈數、彩虹數字、塔羅牌的某幾張大阿爾克那的解讀方式差不多,但是可以"相較的"更快讀懂一個人的內在模樣跟外在表現方式。知己知彼、百戰百勝的感覺吧?上完免費公益課程也是乾貨滿滿,當天睡很好,知識量得到滿足。以下簡單整理一下,畢竟我才上2個小時的分享課,都只是我所能理解的範圍而已。
    Thumbnail
    什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
    Thumbnail
    「聽風的歌」值得放入經典書單中,讓一代又一代的人用不同的觀點來反覆咀嚼嗎?值得,不過是為了別的理由。
    Thumbnail
    大部分實驗學校沒有制式的作業,甚至根本沒有回家作業,因此我們家老么從實驗學校轉回體制內的第一個挑戰,就是寫作業! 一開始真是烏龍連連,搞不清楚每天要帶什麼課本回家?甲本乙本生字本,可把她搞糊塗了,大量的書寫抄寫,也是之前沒經歷過的,要跟上同學的步伐,需要比別人多一倍的時間。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
    Thumbnail
    獲得2023年STOC研討會的最佳論文獎的密碼學研究,找到了資訊加密安全性與運算效率的理論最佳解,這將如何影響隱私權保護?
    Thumbnail
    Bucket(桶):雜湊表儲存資料的位置,每一個位置具有唯一識別索引。 Slot(槽): 每一個Bucket裡面都會存放不同的資料,而假設一筆資料由兩個欄位組成,每一個欄位就是一個Slot(槽)。 Hash Function(雜湊演算法):計算出雜湊值的一套數學公式,諸如: MD5、SHA…
    Thumbnail
    前言 其實跟很多生命靈數、彩虹數字、塔羅牌的某幾張大阿爾克那的解讀方式差不多,但是可以"相較的"更快讀懂一個人的內在模樣跟外在表現方式。知己知彼、百戰百勝的感覺吧?上完免費公益課程也是乾貨滿滿,當天睡很好,知識量得到滿足。以下簡單整理一下,畢竟我才上2個小時的分享課,都只是我所能理解的範圍而已。
    Thumbnail
    什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
    Thumbnail
    「聽風的歌」值得放入經典書單中,讓一代又一代的人用不同的觀點來反覆咀嚼嗎?值得,不過是為了別的理由。
    Thumbnail
    大部分實驗學校沒有制式的作業,甚至根本沒有回家作業,因此我們家老么從實驗學校轉回體制內的第一個挑戰,就是寫作業! 一開始真是烏龍連連,搞不清楚每天要帶什麼課本回家?甲本乙本生字本,可把她搞糊塗了,大量的書寫抄寫,也是之前沒經歷過的,要跟上同學的步伐,需要比別人多一倍的時間。