這是一個艱深課題,但簡單來講,quantization 就喺用有限點,表示無限點。例如真實世界聽到嘅聲音,喺analog 類比訊號,有連續而無限嘅數據點,如果要進行數碼化 (digitization),就要用有限並割裂 (discrete) 嘅數字表示。
下圖顯示兩個 analog sound wave form A 及 B,sample size 同樣喺 2-bit,所以每個 sample 只有 4 個不同數值:00, 01, 10, 11。如果攞 sample 時,曲線上的交點擲唔正呢 4 級,就攞最接近嗰一個。
所以 wave A 數碼化後,得出嘅數據喺: 00 01 11 10 00
即本來 wave A 曲線上喺有無限點, quantized 後只有 5 點。
而 wave B 喺: 00 00 01 10 11 11 10 01 00
即本來 wave B 曲線上喺有無限點, quantized 後就有 9 點,原因喺 wave B 嘅 sampling frequency 喺 wave A 嘅 2 倍,所以會攞到近乎 2 倍嘅數據點,誤差自然減少,就好似我地分 pizza 時切多幾刀,切密咗,每塊 pizza 自然細咗。
下圖見到兩個 analog wave form A , B 數碼化 (digitized) 後嘅狀態:好明顯,A 同原本 analog 形狀相差好遠,而 B 就比較接近。原因喺 sampling rate 增加,samples 攞得多,自然比較精密,error 比較少。
當然,增加 sampling rate 只喺提昇 quality 其中一個方法,增加 sample size,例如由 2 bit 變 3 bit,每個 sample 的落腳位就由 4 級變 8 級 (23):000, 001, 010, 011, 100, 101, 110, 111
下圖 C wave form 來自 B,sampling frequency 2 Hz 不變,只係 sample size 變為 3 bit,數碼化後嘅狀態,又比 B 更近似原本 analog 嘅形狀,error 再次減低。
打個比喻,sampling frequency (Hertz) 及 sample size (bit),就類似圖像數碼化時用嘅 resolution (pixels) 概念,sampling frequency 象徵橫向 resolution,sample size 則象徵垂直 resolution,只是大家用嘅單位唔同。
第一問題喺,點解要用兩條 key (asymmetric keys),而唔喺一條?
首先互聯網設計理念,喺一個開放型網絡,TCP / IP、packets、HTML 並無提供加密 (encryption) 功能,所以喺網上發放任何資訊,packets 被人 (hacker) 截到 (intercepted),內容就會全公開。
數據加密 (Data encryption),用一條加密鍵 (encryption key),可以將純文本 (plain text) 變成密文 (cypher text),即使文本被人截到,但因為喺 cypher text,hacker 喺冇 key 嘅情況下解密,就要用多好多時間。
那麼,用一條 key 豈不是已經足夠?為何要搞多一條這麼繁雜?原因喺一條 key 基本問題喺好難將條 key,安全地經互聯網傳送比收件人。
但如果用兩條 key,情況就唔同。首先,兩條 key 喺成雙成對 (類似古人用碎玉辨認多年失散親人一樣) 地製造,兩條 key 喺唔同 (asymmetric),一條 key (例如 A) encrypt 嘅檔案,只能用 key B 解密;相反 Key B encrypt 嘅檔案,又可以用 key A 解密,喺咪好有趣呢 😬
有兩條 key,咁一條就可以由 sender 保管,叫 private key (私密金鑰),另一條就唔怕公開,叫 public key (公開金鑰),receiver 可上網下載。
於是,就衍右邊生兩種用法 👉🏻
方法 A 保障只持有 private key 嘅人把檔案解鎖,冇 private key 就開唔到,安全受到保障。
方法 B 叫數碼簽署 (digital signature),因為 sender 用其 private key 把檔案加鎖,只能用相應的 public key 解鎖,咁就確認到檔案一定是來自那個 sender,有如 sender 自己簽名 ✍🏻