其實只是一般的密碼學
什麼都不會 演算法大燒雞
Repkironca
a.k.a. 阿蘇
圖解演算法 - 石田寶輝、工崎修一
A
B
Hacker
liang rich orz...
lemonilemon rich orz...
Hacker
lemonilemon rich orz...
A
B
Hacker
B
A
A
B
B
Encode
ASCII
Morse Code
重點在於
它不是加密 它不是加密
它不是加密!!!
把世界上各種語言的字符編碼
UCS-2 : U+0000 ~ U+FFFF (16進位)
2^16 = 65536個字元
UCS-4 : U+00000000 ~ U+7FFFFFFF
2^31 = 2147483648個字元
UTF-8
碼點位數 | 碼點起值 | 碼點終值 | 位元組序列 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 |
---|---|---|---|---|---|---|---|---|---|
7 | U+0000 | U+007F | 1 | 0xxxxxxx | |||||
11 | U+0080 | U+07FF | 2 | 110xxxxx | 10xxxxxx | ||||
16 | U+0080 | U+FFFF | 3 | 1110xxxx | 10xxxxxx | 10xxxxxx | |||
21 | U+10000 | U+1FFFFF | 4 | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | ||
26 | U+200000 | U+3FFFFFF | 5 | 111110xx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | |
31 | U+4000000 | U+7FFFFFFF | 6 | 1111110x | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
ASCII : 1byte
拉丁文、阿拉伯文...etc. : 2bytes
中文及大部分語言: 3bytes
α、β 、馬雅文字... : >= 4bytes
Hash Function
雜湊函數是一種現代密碼學的演算法,可將輸入之資料轉成固定長度且不規則的雜湊碼。雜湊轉換是不可逆的: 可由X算出hash(X),但無法從hash(X)回推出X。
著名的雜湊函數有md5、SHA-1、SHA-2...etc.,然而前兩者已經被破解,目前普遍使用SHA-2、SHA-256等。
e.g.
md5(1234) = 81dc9bdb52d04dc20036dbd8313ed055 md5(1235) = 9996535e07258a7bbfd8b132435c5962
* 雜湊碰撞 - Hash Collision
MD5 --> 1.47 * 10^(-29)
SHA-1 --> 1 * 10^(-45)
SHA-256 --> 4.3 * 10^(-60)
(共用金鑰密碼系統)
Shared-key Cryptosystem
Turing(X)
Repkironca is
really weak QAQ
Fjehfoaicf je
fheaeu gvoe DJT
X'
Turing(X')
雙方共用一把金鑰
加密與解密的邏輯相同
金鑰傳遞?????
金鑰還是可能被偷窺啊orz
加密訊息需要金鑰 --->
金鑰會被偷 --->
所以金鑰需要加密 --->
加密金鑰需要金鑰
金鑰會被偷
無。限。循。環。
(公開金鑰密碼系統)
Public-key Cryptosystem
阿蘇上到大腦燒壞了ㄇ
0
你才大腦燒壞
:angrymention:
這邊有兩個金鑰
一個稱為公開金鑰
一個稱為私密金鑰
蛤.jpg
PubKey
PriKey
cj84gji
y vmp4gk42k7u,3gl xk7
PubKey
vul4n3
8 nj dl3e04ul4x042ul4xk7
vul4n3
8 nj dl3e04ul4x042ul4xk7
萬無一失?????
"中間人攻擊"
駭客先接收來自A方的公開金鑰P --->
偽造另一把金鑰,稱P' --->
傳送P' 給B --->
B傻傻地用P'加密訊息,再被駭客攔截 --->
駭客解密密文 --->
把解密的密文用P加密傳給A
所以...真的沒有更安全的做法嗎
不過說真的la 剛剛那兩種加密方式
本身就一堆變體了
拿英文去Google一下 絕對能滿足你求知慾
何況 駭客永遠走得比資安快
本來就很難找到一種
永恆且絕對安全的加密法
其實有。但我不會講(好水好水)