2018/05/28

[Cryptography] 複習筆記: Week2 - Problem Set Question 5

第二週的測驗第五題,在考CBC的概念。

[Cryptography] DES筆記: meet in the middle attack

Meet in the middle attack是在cryptography攻擊上很常見的手法,概念上是把一系列的計算分成前半部份和後半部份,利用建立表格的方式,找到前半部份計算與後半部份計算相等的地方。

2018/05/18

[Cryptography] 數論相關筆記-Quadratic equations mod p

最後,綜合上面幾篇的概念,來解二元一次方程式的難題。題目是:
x2 + 4x + 1 = 0 in Z23


[Cryptography] 數論相關筆記-Fermat and Euler

Fermat's theorem之定義是,若p是一個質數,則存在一個x,x比p小且互質,x會滿足下列式子:
xp-1 = 1 in Zp

2018/05/17

[Cryptography] 數論相關筆記-用Extended Eculid algorithm求Modular multiplicative inverse


在數論中,最大公因數是一個很重要的概念,因為如果兩個數的最大公因數為1,則代表兩個數互質(relatively prime)。要求兩數的最大公因數,可以透過Extended Eculid algorithm來計算。

2018/05/15

[Cryptography] pycrypto筆記: CBC Padding Attacks之程式作業



在AES CBC工作模式下,因為有padding的關係,會使得駭客可以用padding來進行資料的竊取。這次的作業是要利用CBC的Padding來把獲取已知的加密的訊息。

2018/05/08

[Cryptography] pycrypto筆記: SHA256計算之程式作業

在Coursera上Cryptography I之第三週作業中,要利用chaining的方式來計算檔案的SHA256。作業給了兩個檔案,分別是:
1. 驗證用:6.2.birthday.mp4_download, 16,927,313 bytes
2. 作業題目:6.1.intro.mp4_download, 12,494,779 bytes


2018/05/02

[Cryptography] pycrypto筆記: 使用AES區塊加密之CBC和CTR工作模式

在此紀錄學習Coursera上學習密碼學(Cryptography)的一些心得。

首先,在第二週的課程,Dan Boneh教授介紹了區塊加密(Block Ciphers)的概念,特別是進階加密標準(AES, Advanced Encryption Standard)中的兩個工作模式:

1. 密碼塊連結(CBC, Cipher-block chaining): 利用隨機產生的初始向量(IV, Initialization Vector)與明文(Plaintext)區塊做互斥邏輯運算,再透過金鑰(Key)加密區塊,再把IV取代成加密區塊結果,依序加密剩下明文區塊。但缺點是,最後一個明文區塊有dummy padding的問題。假設明文長度剛好為16bytes的倍數,其尾端還得加上由0x16 * 16組成的16 bytes dummy padding。

2018/03/14

[Deep Learning] 在VM和Nvidia TX2上使用Jupyter Notebook開發Python專案

在開發Deep Learning專案時,環境使用上推薦使用Jupyter Notebook,原因有二,其一,Python在Jupyter環境上非常好除錯;其二,Markdown語法支援非常完整。


2018/01/08

[Miscellaneous] 一些廣告收入雜項

其實當初是為了記錄工作筆記而寫的,但慢慢的也會把自己一些旅遊過的地方放上來。雖然這點稿費投資報酬率很低,但還是希望用自己的方式回饋社會~ Since 2013.