# [資安實務] 編碼與密碼學 ### 編碼?加密?雜湊? 編碼只是將文字以其他的形式表現,可直接解碼。 加密類似編碼,不過需要透過金鑰(key)才可在密文與原文間轉換。 雜湊是透過公式計算出一個值或字串,無法用得到的字串回推原文。 ## 編碼與解碼 ### 數字系統 #### 十進位 世界上應用最廣泛的進位制,以10為底,阿拉伯數字也是十進位。 #### 二進位 以2為底的進位制,現代的電腦都使用二進制。 每個數字稱為一個位元(bit)。 #### 十六進位 以16為底的進位制,主要用於表示電腦記憶體位址。 #### 八進位 以8為底的進位制。linux檔案權限(chmod)即是以八進位表示。 ### ASCII 將英文字母、數字、符號等字元轉為數字編碼,共有128個ASCII碼如下表:  ##### [解碼方法] * 使用線上解碼器 * [Python解碼](https://hackmd.io/@hyu/ryLkaDOHF#ASCII) ##### [如何分辨ASCII與八進位?] 1. 八進位通常為三位數,若有二位數前面也會多一個0。 2. ASCII編碼不會超過127。 ### Base64 存放64個可印字元來表示二進位。電子郵件使用的編碼。 ### 摩斯電碼 訊號代碼,由'.'、'-'兩種符號組成,透過不同排序來發送訊息。  ##### [解碼方法] * 使用線上解碼器 * [Python解碼](https://hackmd.io/@hyu/ryLkaDOHF#%E6%91%A9%E6%96%AF%E9%9B%BB%E7%A2%BC) ## 加密與解密 ### 古典密碼 #### 凱撒密碼(Caesar cipher) 採用字母平移進行加密  #### 仿射密碼(Affine cipher) 透過函數e(x) = (ax + b) mod m進行加密 #### 維吉尼亞密碼(Vigenère cipher) 使用多個凱撒密碼組成密碼字母表進行加密,圖為加密表:  ### 現代密碼 於電腦出現後創造,更複雜的加密方法。 ## [RSA](https://hackmd.io/@hyu/BycDP_eAj) ###### tags: `資安`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up