知識點大綱介紹
訊息認證碼
數字簽名
證書ssl/tls - https
為什麼要加密, 以及解決方案
保證資料安全
加密三要素
演算法 常用的兩種加密方式
非對稱加密
私鑰 - 需要妥善保管的秘鑰, 知道的人越少越好
特點:
凱撒密碼
愷撒密碼(caesar cipher)是一種相傳尤利烏斯·愷撒曾使用過的密碼。愷撒於西元前100年左右誕生於古羅馬,是一位著名的軍事統帥。
愷撤密碼是通過將明文中所使用的字母表按照一定的字數「平移」來進行加密的。凱撒密碼中的加密三要素
秘鑰 演算法
凱撒密碼的安全性
不安全密碼資訊保安常識
密碼資訊威脅
思考:資訊保安處理必須要具備哪些特性?
以分組為單位進行處理的密碼演算法稱為分組密碼(blockcipher)編碼的概念g = 1024m
m = 1024kbyte
byte = 8bit
bit 0/1
計算機的操作物件並不是文字,而是由0和1排列而成的位元序列。hello world -> 位元序列將現實世界中的東西對映為位元序列的操作稱為編碼(encoding)。
加密 -> 編碼
解密 -> 解碼
h -> int 104 ->
des – data encryption standard
是不是分組密碼?
des的分組長度?
des的秘鑰長度?
3des – triple-des
演算法描述?
是不是分組密碼?
3des分組長度?
3des秘鑰長度?
3des加密過程?
3des解密過程?
aes – advanced encryption standard
是不是分組密碼?
aes分組長度?
aes秘鑰長度?
按位異或
舉例:
ecb - electronic code book, 電子密碼本模式100
0---->81
011--
-->
11--
----
----
----
----
----
-按位異或一次00
11----
>31
011--
-->
11--
----
----
----
----
----
-按位異或兩側10
00----
->8==
====
====
====
====
====
====
*****==
a =8
b =11
a 和 b按位異或1次 ==
> 加密
得到的結果再次和 b 按位異或 ==
=> 解密
不需要初始化向量
cbc - cipher block chaining, 密碼塊鏈模式
需要乙個初始化向量 - 乙個陣列
cfb - cipher feedback, 密文反饋模式
不需要填充
ofb - output-feedback, 輸出反饋模式
不需要填充
ctr - counter, 計數器模式
不需要填充
最後乙個明文分組的填充
使用 ofb, cfb, ctr不需要填充
初始化向量 - iv
加解密使用的初始化向量相同
des3des
aes
# 加密流程:
1. 建立乙個底層使用des/
3des/aes的密碼介面
"crypto/des"
func
newcipher
(key [
]byte
)(cipher.block,
error
) # -- des
func
newtripledescipher
(key [
]byte
)(cipher.block,
error
) # --
3des
"crypto/aes"
func
newcipher
(key [
]byte
)(cipher.block,
error
) # == aes
2. 如果使用的是cbc/ecb分組模式需要對明文分組進行填充
3. 建立乙個密碼分組模式的介面物件
- cbc
func
newcbcencrypter
(b block, iv [
]byte
) blockmode # 加密
- cfb
func
newcfbencrypter
(block block, iv [
]byte
) stream # 加密
- ofb
- ctr
4. 加密, 得到密文
對稱加密 非對稱加密
區別在於加密金鑰和解密金鑰是否一樣,一樣則是對稱加密,不一樣則是非對稱加密。對稱加密計算量小,但若不同的客戶端使用不能的金鑰時,伺服器的複雜大。常用的對稱加密包括 des 3des aes des 3des使用的架構為feistel。des金鑰長度為56位,3des相容des,可設定3個56位密碼,...
對稱加密 非對稱加密
1 對稱加密 對稱加密採用了對稱密碼編碼技術,它的特點是檔案加密和解密使用相同的金鑰,即加密金鑰也可以用作解密金鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,金鑰較短,且破譯困難,除了資料加密標準 des 另乙個對稱金鑰加密系統是國際資料加密演算法 idea 它比des的...
對稱加密 非對稱加密
演算法選擇 對稱加密aes,非對稱加密 ecc,訊息摘要 md5,數字簽名 dsa 對稱加密演算法 加解密金鑰相同 名稱金鑰長度 運算速度 安全性資源消耗 des56位較快低 中3des 112位或168位慢中 高aes 128 192 256位快高 低非對稱演算法 加密金鑰和解密金鑰不同 名稱成熟...