iT邦幫忙

2021 iThome 鐵人賽

DAY 1
1
Security

學密碼學也猜不到你的手機密碼系列 第 1

DAY1- 密碼學在幹嘛?

我快要猜到你的密碼了。等一下,為什麼是我的生日。

我是誰?

徐老師

開玩笑的。我是陳彥龍 ,主修經濟學,現在大三。
修了一個學期的密碼學課程,我只想說,我期中考只有39分。
所以別指望我了,
我寫的文章只能充當一點娛樂,滿足一下好奇心。

我的目的可以算是紀錄所學,藉由寫文章更了解密碼學這塊,順便分享給大家。
如果你不嫌棄的話,請多多指教。

不過我還是得說,畢竟是那可是數學系的課,我又不會通靈。
身為一個小小經濟系學生,我能做的就只有,當故事來聽。
我想這樣就夠了吧。沒有人想看一堆數學的密碼學吧?
沒有...吧?

為什麼要學密碼學?

我也不知道,聽起來很厲害?

聽起來還真的蠻厲害的。所以如果你是覺得聽起來很厲害才點進來的,那你來對了。
但如果你是因為想要破解你男/女朋友的手機密碼的話,很抱歉,這方面我還真的不會。

那如果你再更激進一點,「我要當駭客!」的話,那你可以拉到最下面。
我沒有要寫什麼太深奧的數學啦,因為太深奧的我也不會。
(不過因為密碼學是以數學建構起來的,所以仍然會有些必要的數學,不果我會盡量只講必要的)。
我寫這篇的目的,是想用白話文稍微滿足一下大家對密碼學的好奇,
幫大家補一補腦洞,嚐一下什麼叫密碼學。

那麼開始吧。

密碼學在幹嘛?

我們先假設你有一封情書,你想要送給坐在教室對角線的一個漂亮女生。現在是上課時間,你唯一的方法就是請同學們幫你傳過去。
所以情書送出去了,過程當然不會太容易。

情況一:機車老師從中攔截,打開你的情書並大聲唸出來,超尷尬,你們還是乖乖做朋友比較快。
情況二: 你最好的同學要搞你,他打開你的情書,把內容改成「你好醜,跟我一樣醜」然後繼續傳下去,結果一樣是完了。

所以你要做的事情是,用一個盒子把你的情書放進去,然後在用鎖把它鎖起來。

搭啦,情況一解除,機車老師就算攔截你的信他也唸不出你裡面寫了什麼。於是盒子繼續傳,來到了機車同學的手上,結果好死不死他家裡剛好賣鎖的(wtf?),咻一下就把你盒子打開,並且用藍筆竄改了你的情書。但是你可沒大意,機車同學多的是,防人之心不可無,你用的是黑筆,並且在信中說明了你用的是黑筆。情況二解除,漂亮女生可不是
笨蛋,他一看就會知道機車同學在搞。於是盒子繼續傳,傳到了漂亮女生手裡,漂亮女生又不是鎖匠,沒鑰匙要解個屁。垃圾桶可能知道吧,我也不知道。

好的,我們停止我們的想像。回到現實,沒有什麼漂亮女生。
教室就是一個廣大的網路空間,訊息從你手裡傳到目標手裡會經過很多問題。首先,為了防止他人偷窺,我們得為訊息加密,這是最重要的事情。接著,為了防止駭客竄改你所傳的訊息,收件者需要做訊息鑑別的動作,好確認這封確實是你寫得而且沒有被竄改過。最後,既然你希望收到訊息的人讀得懂這篇訊息,那密鑰的傳遞或協議就很重要了。

OK,學會了訊息的傳遞機制,然後呢?

我們要學怎麼破解他。

對,我們要學怎麼破解他,超強的吧。不過不是拿來壞壞(喂),而是拿來強化我們的加密系統。畢竟我們得要知道敵人從哪裡來,才可以做防守嘛。

學完之後就可以變駭客了?

當然不行。

首先你必須要「攔截」到訊息,才能做破密的動作,對吧?
所以這方面就不是密碼學的範疇了,如果你想學的話,可能要去學網路通訊、資訊安全方面的東西。而有些駭客手法,甚至是直接繞過密碼,利用網頁前端後端的漏洞進行攻擊。
壞壞完之後呢,你最好不要被警察抓到,不然法律責任是很重的(應該吧?我也不是學法律的),
所以你得要想辦法隱藏自己。所以,學密碼學想當駭客,那你還得學其他一堆有的沒的。

所以看完這三十天可以學到什麼?

一些有趣的知識(如果你覺得有趣的話),可以拿來賣弄。
人最喜賣弄了,還可以拿來撩妹。

以及有時候學校老師想要用ZOOM跟你開視訊上課的時候,你就可以教育他,教育他為什麼不用點安全的視訊軟體。除此之外,如果你想要跟上潮流、搞清楚區塊鏈在做什麼的話,我或許會提到一點(或許)。另外,我會用python小小實作一些(純粹好玩)。不過請注意: 絕對不要使用自己寫的加密程式處理重要的檔案。 實作只是方便理解,但是絕對不安全!真正需要加密的重要檔案請一定要去買相關產品。譬如說你要加密自己數位錢包的私鑰的話。

看完以上,如果你還有興趣的話,我們就開始吧。

業配一下

那如果你對我的文章沒有興趣的話,先不要急著關掉。你可以去看看我們團隊裡的其他高手們,
他們的文章絕對是會讓你並棒叫。

Name 標題 Tags
ALu NFT 網站與 MetaMask 連動的 Owners 登入系統 BlockChain,Modern Web
Cooksuhr 1995到2021,php到react網站開發歷程 Modern Web
ExcitedMail 杰哥的考研紀錄 Computer Science
foodchain 三十天內用C++寫出一個小遊戲 Software Development
momojn C++ 三十天學習紀錄 Software Development
RK 數位行銷—30天內從了解到實作 Digital Markeing
yywoli 從資料庫到資料分析視覺化 Data Analysis

下一篇
DAY 2- 編碼跟加密-凱薩密碼
系列文
學密碼學也猜不到你的手機密碼30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言