摘要:飄過了幾家附近的餐館之后,大寶決定在啃的雞點一份宮爆雞丁蓋飯套餐。傳說中的宮爆雞丁。再看這位攤主,正拿著宮爆雞丁的單子,對著大寶得意地笑。
你有沒有在網上買過東西?沒?什么?哦,怕不安全。
現在信息科技日新月異,貌似一轉眼的功夫,交電話費、考試報名、逛圖書館、訂購午飯都搬上了互聯網。方不方便且不說,單說足不出戶能叫到午飯,這要在以前那可都是科幻小說啊。只不過科幻小說里,主人公可能只須對機器人吩咐說,“來份宮爆雞丁蓋飯,外加一碗紫菜雞蛋湯”,一切就搞定了——哪像現在這樣,裝五花八門的殺毒軟件,還得隨時小心釣魚網站的陷阱。那現在的互聯網真的如此危險么?先看看大寶的這次訂餐經歷,您再下結論也不遲。
話說大寶一日宅在家中,百無聊賴地度過了陰雨連綿的上午,忽然感覺腹中空虛,四肢無力——他明白了,原來自己是餓了。閑話少說,大寶奔到電腦前,準備給自己淘一頓午飯。
飄過了幾家附近的餐館之后,大寶決定在“啃的雞”點一份宮爆雞丁蓋飯套餐。點完菜,服務員小姐禮貌地將大寶帶到了收銀臺——這“啃的雞”是先付帳、再上菜的。
如果互聯網上也可以用現金買單就好了,那么“啃的雞”也不用再多花冤枉錢,聘用專業的銀行交易專家來收銀了。可惜現實往往跟理想相反,坐在收銀臺里的,正是傳說中的銀行交易專家:致富寶?!爸赂粚殹弊鳛閷I的支付中介,能非常熟練地處理各種銀行業務——不管是招行信用卡,還是農行借記卡,他都能應對自如。
就在這個時候,大寶忽然發現,帶他來的服務員小姐溜回“啃的雞”鋪子里忙其它事兒去了,這“致富寶”原來是街邊的一個小攤。再看這位攤主,正拿著宮爆雞丁的單子,對著大寶得意地笑。大寶頓時驚出一身冷汗。
“糟糕!上當了!”
“大哥,這宮爆雞丁兒不是你點哩?”攤主口音挺重。
“是倒是——你就是那個什么什么……銀行交易專家?”大寶半信半疑。
“那能假了啊!你看看,工行農行中行建行……”攤主不高興了。
“得得得,你要是個釣魚的,也照樣這么說?!贝髮殧[事實、講道理,“營業執照給我看看,是真的就行。”
釣魚 是指一些小商小販,冒充自己是某支付平臺或銀行,騙取大眾錢財的手段。
“俺哪敢掉你的魚?。 睌傊鬟呎f,邊從口袋里掏出一份證書,“你驗驗,這能假了不,這會兒打(假)的正嚴哩。”
這份證書可不是一般的營業執照。在數字世界里,光一個紅紅的公章印,說明不了什么問題。互聯網上的電子證書,不僅包含一些基本信息如“攤主姓名”、“工作單位”、“郵政編碼”等,還包含一把很重要的鑰匙,和一個很重要的簽名。
先說這把鑰匙吧。其實這種鑰匙是成對兒的,證書里面嵌的這把,叫做公鑰;另一把由攤主保管,叫做——母鑰?其實挺合理的,配對嘛——正確的叫法是私鑰。從名字也可以看得出來,公鑰是公開的,大家都可以拿來用;而私鑰是個人保管的,比如攤主的這把私鑰就由他個人保密持有,別人誰也拿不著。
這里,配對的兩把鑰匙之間是有數學相關性的,那這是怎樣一種相關性的?用傳說中的 RSA 算法舉個例子吧,兩把鑰匙看上去是三個非常大(至少應該是,大的難破解嘛)的數字——私鑰是 (7, 10),公鑰是 (3, 10)。
那這鑰匙是怎么算出來的呢?
先選種子,隨機選兩個非常大的 素數 。在這個例子中,我選的是 2 和 5,但實際應用中應該越大、越沒有規律越安全。這個時候,鑰匙對中的公共部分 10 就算出來了:2 x 5 嘛。接著,3 也不難找——隨便挑一個跟 (2 - 1) x (5 - 1) = 1 x 4 = 4 互質 的、且比 4 小的數就可以了—— 3 和 4 沒法被同一個比 1 大的數除開,這樣一來,我們的公鑰 (3, 10) 就定下來了。接下來算私鑰,這個稍微麻煩一點點,就是要找一個乘以 3 的積除以 4 的余數剛好等于 1 的數字——我選了 7,因為:7 x 3 mod 4 = 21 mod 4 = 1(這里的 4 還是前面 (2 - 1) x (5 - 1) 算出來的那個 4)。用數學點兒的話寫下來,就是:
隨機地選擇兩個非常大的素數 p 和 q,比如 2 和 5;
密鑰對的公共部分就是 N = pq,就是例子中 N = 2 x 5 = 10;
算出一個中間數 M = (p - 1)(q - 1),比如 M = (2 - 1) x (5 - 1) = 1 x 4 = 4;
選擇一個小于 M,且與 M 互質的數 e,比如 e = 3;
根據 d x e mod M = 1 算出 d,比如 d = 7 因為 7 x 3 mod 4 = 1;
燒掉所有寫著 p 和 q 的打草紙——因為“不燒不專業”嘛。
然后呢,公鑰就是 (e, M),或者簡單說 3 也成,對應的私鑰就是 7,而 10 是公共部分。
那這兩把鑰匙有什么用呢?我們還是先來做兩道簡單的數學題。
第一題,8 的 3 次方整除 10 的余數是多少?八八六十四,64 乘以 8,這個 64 乘以 8 ……不好算是吧,沒事,這個例子可以偷點懶——只算個位數,反正不是要整除 10 么。8 x 8 = 64,4 x 8 = 32,結果就是 2 唄。
第二題,(用第一題的結果)2 的 7 次方整除 10 的余數是多少?2 x 2 = 4,4 x 2 = 8,8 x 2 = 16,6 x 2 = 12,2 x 2 = 4,4 x 2 = 8 ——數清楚了沒,是 7 個不?結果正是 8。
沒錯,第二題的結果剛好是第一題里面的 8。這是一個巧合,還是一個愚人節玩笑?都不是,這是用數學方法證明過的(請見下面的分割線中間的部分),如果算出來不是 8 才是開玩笑呢。第一題中,我們其實用公鑰 (3, 10) 把 8(我的銀行卡密碼,請勿模仿)給加密了——加密成了 2;第二題,我們又用私鑰 (7, 10),把加了密的密碼給解出來了。
有那么點意思了,是吧。這樣一來,我就可以用密文的 2 來代替明文的 8,放心地將密碼告訴擁有私鑰的人。即使密碼中途被別人截獲了,沒有私鑰的駭客依然無法取得我的密碼。
有興趣的話,您可以把公私鑰匙調個個兒,再用相同的辦法算一遍——也就是用 7 加密、用 3 解密,結果是一樣可以還原的。但是反過來之后,如果我還是加密銀行卡密碼的話,我的智商就值得研究了——作為公鑰的 3 是所有人都知道的,也就是說所有人都能解密得到原文,我根本用不著費事算來算去,直接把密碼告訴大家就得了唄。這么做真的沒有意義么?非也,這其實正是簽名和驗證。比如說,用 (3, 10) 是無法正確解密(驗證)一段用 (5, 17) 加密(簽名)的數據的,也就是說,“解鈴仍須系鈴人”,要想驗證一個簽名,只能用跟“簽名用的私鑰”對應的那一把公鑰。而從理論上來說,私鑰是個人保密持有的,所以我們可以通過解密的測試,來驗證一段信息確實是原原本本地來自擁有私鑰的人,而這個人也無法抵賴說“根本沒這么回事兒”。
除非他把私鑰弄丟了,別人撿了去。這一般情況下是有補救措施的——掛失嘛,鑰匙丟了換鎖唄。但是如果你根本不知道鑰匙丟了,那就沒轍兒了。比如說,既然 3 和 10 大家都知道了,如果什么人背地里偷偷算出了這個 7,那豈不是千里之堤,潰于蟻穴?
不必擔心。
問題就在于,這個梁上君子打算怎么把 7 算出來。最直接也是最容易想到的辦法,就是先將 10 分解成兩個質因數 2 和 5,然后照前面的算法來算 7。這是唯一的辦法嗎?很遺憾,目前還沒有人從數學上證明這是唯一的辦法。為什么有人會去試圖證明,這是唯一的辦法?因為,他們還沒找到其它更好的辦法。恰巧,這個分解質因數的辦法非常難。
因為打草紙燒掉了,所以理論上說,暫時沒有別人知道 10 是由哪兩個素數相乘得到的,一般情況下,算這個題的人(或是機器)也會很快忘掉這兩個素數。雖然要破解前面的例子簡單了點,但是有種你口算個一百來位的試試,呵呵。這也被相信是 RSA 算法的安全保障——對于非常大的數字,分解出兩個質因數是非常困難的。這個結論目前還沒有人證明,但也沒有人證明它不困難。盡管大家說法不一,但是有一點是肯定的——數字越大越難算。有多難呢?1999 年計算機花了五個月的時間,解出了一個并不算很大的(512 bit)N 的兩個質因數;而當 N 成倍增長時,破解的時間能到成百上千年——等到破解出來的時候,加密保護的信息可能早就不是秘密了。據說有人證明用量子計算機,可以在可觀的時間里,破解更大的數字??磥硪坏┝孔佑嬎銠C成為現實,RSA 就要下課了——可惜眼下量子計算機不通(更新:質疑聲中的 D-Wave 量子計算機已經誕生了),再加上我們選用的數字非常大,所以想簡單地“把 10 分解成 2 x 5”,那是不可能的。
于是,要根據公鑰 3 算出私鑰 7 來,就幾乎是不可能的了。所以,攤主可以安心地將公鑰嵌在證書里,公之于眾。例子中的 RSA 看似牢不可破,但現實中還需要許多的輔助手段,來進一步保證它的安全性。況且世界上也不是就 RSA 一家呀,所以嘛,這種公鑰加密算法還是挺讓人放心的。
總結一下了:“解鈴仍須系鈴人,系鈴定是解鈴人”(下半句我瞎掰的)。公鑰、私鑰都是一對兒一對兒的;要解密由公鑰加密的數據,僅可以用對應的私鑰;要驗證由私鑰簽名的數據,僅可以用對應的公鑰。這種“一個加密另一個解”的算法,一般就被形象地叫做“非對稱加密算法”,這倆把密鑰也被叫做“非對稱密鑰”。
如果這還沒有滿足您濃厚的數學興趣的話,您可以繼續閱讀下面這段。(摘自維基百科,RSA加密算法的操作——不過貌似英文版更詳細一點點)
假設 Alice 想要通過一個不可靠的媒體接收 Bob 的一條私人訊息。她可以用以下的方式來產生一個公鑰和一個密鑰:
隨意選擇兩個大的素數 p 和 q,p 不等于 q,計算 N=pq。
根據歐拉函數,不大于 N 且與 N 互質的整數個數為 (p-1)(q-1)
選擇一個整數 e 與 (p-1)(q-1) 互質,并且 e 小于 (p-1)(q-1)
用以下這個公式計算 d:d × e ≡ 1 (mod (p-1)(q-1))
將 p 和 q 的記錄銷毀。
e 是公鑰,d 是私鑰。d 是秘密的,而 N 是公眾都知道的。Alice 將她的公鑰傳給 Bob,而將她的私鑰藏起來。
加密消息假設 Bob 想給 Alice 送一個消息 m,他知道 Alice 產生的 N 和 e。他使用起先與 Alice 約好的格式將 m 轉換為一個小于 N 的整數 n,比如他可以將每一個字轉換為這個字的 Unicode 碼,然后將這些數字連在一起組成一個數字。假如他的信息非常長的話,他可以將這個信息分為幾段,然后將每一段轉換為 n。用下面這個公式他可以將 n 加密為 c:
計算 c 并不復雜。Bob 算出 c 后就可以將它傳遞給 Alice。
解密消息Alice 得到 Bob 的消息 c 后就可以利用她的密鑰 d 來解碼。她可以用以下這個公式來將 c 轉換為 n:
得到 n 后,她可以將原來的信息 m 重新復原。
解碼的原理是:
以及 ed ≡ 1 (mod p-1) 和 ed ≡ 1 (mod q-1)。費馬小定理證明
這說明(因為 p 和 q 是不同的素數)
好了,回到我們饑腸轆轆的大寶的故事來吧。
“我現在驗證一段話,如果你能解出來,就算這營業執照是你的吧。”大寶說著掏出一張白紙,背著攤主在紙上胡亂寫下幾個字——“戈壁灘上打醬油”。
大寶從證書中取出鑰匙——也就是公鑰了,再在紙上這么一比劃,“戈壁灘上打醬油”幾個字兒頓時被加密成 0101110...(篇幅所限,此處略去上千個 0、1)...1010101。
“給你,試試吧?!?/p>
“我說是我的就是我的,”攤主從懷里摸出一把舊鑰匙(私鑰,當然要藏好了),又在紙上一比劃,“那還能錯的了了!”
0 和 1 漸漸隱去,“戈壁灘上打醬油”幾個字兒又冒了出來——解密驗證成功,大寶無言以對,只得承認證書里的公鑰的確是攤主本人的,除非攤主從真所有者那里搶的私鑰。
“好吧,就算這證書是你的吧。那你憑什么說,你就是證書上寫的,”大寶撇了一眼營業執照,“什么致富寶什么的?”
大寶說的沒錯,每個人都可以偽造證書,就算這公鑰確實屬于他又能何如。
“這買賣真難做!我不干了!”攤主這回真的急了。
“你不干了,我還要吃飯呢!”大寶也急了,二話不說把攤主拉到了工商局——頒發營業執照的公信機構。(可見,吃飯對大寶來說是多么重要)
到了工商局,辦事員業務非常熟悉。
“證書真偽辨別是么,請出示證書。”
辦事員拿著手持式掃描儀一掃,證書復印件就叮叮當當地出現在一旁的打印機中。只見他操起一把大剪刀,對著復印件“咔嚓”就是一刀,將證書拷貝一份為二。要不說他業務熟悉么,這一刀不偏不倚,剛剛好把前面提到過的電子簽名部分剪了下來。
要說這電子簽名是啥,還得先說這證書是怎么簽發的。
當初“致富寶”開道創業的時候,寫過一份營業執照申請函,內容就是現在這剪下的兩半中,比較大的那一半——電子簽名是小半。工商局在評審了申請函之后,準予營業,于是簽署了這一份證書,而證書中的電子簽名正是官方簽署的證據。
這到底還是公鑰和私鑰的討論。話說工商局自己也有一對兒密鑰,專門用來簽署營業執照。當申請函得到批準的時候,辦事員用工商局專用私鑰在申請函上一比劃,這申請函就被“加密”成了一段電子簽名,也可以說,工商局在申請函上簽名批準了。請注意,這申請函里到底包含什么呢?正如前面提到過,基本信息是必須有的,另外一個很重要的部分就是申請者——或者叫攤主——的公鑰。畢竟公鑰也是一種數據嘛,當作申請函數據的一部分來加密了。別弄渾了哦,辦事員用工商局的私鑰,加密了包含有攤主公鑰的申請函,制作成了攤主證書的電子簽名部分。這工商局的私鑰可是公信機構獨有的,平常要鎖在很大的保險柜里的,所以簽署出來的證書才是真的。
那我們就看看下一步,辦事員怎么來辨別真偽吧。
“這是我們工商局的公鑰,大家可以免費索取的?!鞭k事員從柜臺里搬出一箱子鑰匙,說。
“那照這么說,有了這個,”大寶撿起一枚鑰匙說,“我自己也能辨別真偽咯。”
“沒錯?!鞭k事員也拿起一枚鑰匙,在電子簽名那一半上一比劃,龍飛鳳舞的電子簽名乎的一下,變成了一份申請函的模樣。
“哎喲,好像不對哦?!鞭k事員拿過剪下的大半,跟剛解密出來的申請函一比,“這哪是致富寶啊,明明寫的是致富堡嘛?!?/p>
大寶四下一看,那山寨攤主早溜之大吉了。真是虛驚一場,好歹大寶沒有把錢給了那釣魚的山寨攤主。
理論上,假的電子簽名是不可能解密成跟原文僅一字之差的——實際上是什么都解不出來的,只有真的簽名才能解出原文來。另外為了減小數據量和其它考慮,原文在簽名之前,做過摘要處理。故事中做了一些簡化,特此聲明。另外,雖然說兩種密鑰都可以加解密,但專業地來說,公鑰是用來做加密和驗證的,私鑰是用來做解密和簽名的。
如果您擁有一份“個人電子證書”,那么您也可以用您的私鑰簽署數據——比如發電子郵件,那么收到信的人都可以用您證書中的公鑰進行驗證,以確認信件肯定是您親筆簽署的;反之,如果您的朋友有一份電子證書,那么您就可以很放心地用公鑰加密一些只有您朋友可以閱讀的數據,然后安全地通過您不信任的傳播媒體——比如互聯網——傳遞到您朋友的手中。電子簽名在一定程度上,還保證了數據的完整性和不可抵賴性。
后面發生的事情,就是大寶跟他驗過真身的“致富寶”隔著一條河交易的過程了。沒錯,我是說隔著一條河——這個城市似乎忘記修橋了,大寶只能扯著嗓子喊,把他的銀行卡密碼告訴“致富寶”才行?,F在互聯網啊,真是危機四伏,你說那個路由節點上沒趴著三五成群的嗅探器的(夸張手法,請保留意見)。要是大寶真個把密碼喊出來,那沒等他吃完飯,卡里的錢就全沒了。所以咧,大寶就跟“致富寶”商量了一個辦法。
這個辦法當然就是加密咯。大寶想用對方的公鑰加密自己的密碼,然后“喊”過去,對方解密出來就搞定了。但問題是,大寶的數學實在是太差了,要算乘方的話,手指頭根本不夠他掰的。況且,要加密的也不僅僅只是 6 位密碼,還有像“中國農業銀行青島市分行麥島支行”這樣的銀行名,還有很長的銀行卡號,更是還有大寶的大名——大衛/阿基米德/寶蘭德/羅納爾迪尼柯夫斯基。要讓他把這些都加密算出來,非把他餓死不可,非對稱加密算法并不適合于大批量的數據加密。所以,大寶想出了另一個辦法——對稱加密算法。
說白了,就是用同一個,也是唯一一個密鑰做加密解密的算法。原因么,簡單唄。比如說,銀行卡密碼還是 8,那么加密就是 8 x 9 = 72,解密就是 72 / 9 = 8,這里的 9 就是對稱密鑰。
這種辦法的缺點很明顯,在雙方進行加密通信之前,必須得先商量好一個對稱密鑰。并且一旦這個對稱密鑰丟了,那么所有數據都不安全了。像大寶這樣隔著一條河,大聲地告訴對方“喂~密鑰是 9!你除以 9 就行了!”,無異于直接把密碼告訴守在一旁的駭客。
大寶也不笨。9 作為對稱密鑰,不也是串兒數據么,反正也不長,用剛才想用的“非對稱加密算法”,加密了再喊過去就是了唄,問題解決。
但是,這單單一個 9 實在是太好猜了,駭客只須認得九九表,就能一個一個地試出來。相比于用成百上千年才能破解的“非對稱密鑰”,數到九九八十一簡直就是一眨眼的功夫。
不過要么怎么說“魔高一尺,道高一丈”呢,大寶有的是錦囊妙計。他把密碼、銀行名、卡號、持卡人姓名拼在一起,再隨機分成一小份兒一小份兒的,然后用不同的對稱密鑰,分別加密。這樣就增加了破解的難度,即使駭客破解出其中的一部分,也無法得到足夠的信息去盜取錢財。而實際中,還有更多的錦囊來保證信息的安全。
于是,我們就看到大寶為了買到他的宮爆雞丁,開始了 0 和 1 的傳輸。他先隨便定下了一個對稱密鑰,然后用“致富寶”證書的公鑰對其加密并傳給對方;等對方解密出同一個對稱密鑰之后,大寶開始用對稱算法加密傳輸數據;過了 1 分鐘,暫停傳輸,重新定一個新的對稱密鑰,重復上述過程,直至數據全部傳輸完成。順便說一句,這種為了安全和效率的綜合考慮,混合使用對稱算法和非對稱算法的方法,叫做“數字信封”機制,像 HTTPS、SSH/SFTP,以及選擇使用 SSL/TLS 的 IRC、IMAP 等協議,都是采用類似的這種機制實現的。
密碼正確,確認付款,大寶終于吃到了他的宮爆雞丁,故事也到此告一段落了。但是現實生活中,如果您在網上交易的時候,應該怎么做,才能保證數據的安全呢?
首先,您可以仔細觀察瀏覽器的地址欄,如果是像“https://fantix.org”(更新:域名已失效)這樣以 https 打頭的地址,那么您可以相信,至少這個地址采用了上述公鑰辦法做驗證,并且所有數據都是加密傳輸的;否則如果是像“http://fantix.org”這樣的 http(沒有 s)打頭的,就完全沒有公鑰私鑰這一說,更沒有身份驗證的機制(只是說傳輸協議上沒有保證,不代表不通過其他方法進行加密或驗證),并且,發送未加密的數據就如同在互聯網上“喊”一樣,相當危險。
其次,一般瀏覽器像 FireFox,都會自動驗證服務器證書的真偽,比如域名是否相符,是否在有效期內等。并且一般瀏覽器內嵌了很多公信機構 CA 的證書(公鑰),您不需要自己跑到工商局去,瀏覽器會搞定的。一旦發現有冒名頂替者,必然會彈出大字兒,提醒您不要上了釣魚網站的當。(廣告!FireFox 還可以辨識釣魚網站,如您不慎勿入其中,則 FireFox 將用醒目的紅字兒來警示您。)
在 FireFox 3(更新:現在已經出到了 Firefox 27) 中,如果您瀏覽的頁面被公信機構驗證是貨真價實的,證書合法有效,那么地址欄中“https”前面應該是綠色的,點擊它可以看到經營者信息;如果數據僅僅是加密過,不會被第三方竊聽到的話,“https”前面的圖標背景是藍色的(如上圖);而對于普通的“http”協議,背景是沒有特殊警示顏色的,比如在我的 Ubuntu 中,它是灰撲撲的。
補充說明,我們只談了公鑰安全機制,但并不是說綠色的標志就一定安全——比如說一些木馬就是最大的威脅。所以,如果您使用木馬和病毒比較多的操作系統——比如說 Microsoft Windows 的話(尤其是怕黑屏,沒有及時更新的盜版系統),我還是建議您,不要因為 FireFox 3 的綠色標志,就把殺毒軟件、殺木馬軟件卸載掉。
這就是公鑰安全機制與宮爆雞丁的故事了,更流行的叫法是 PKI(Public-key Infrastructure, 公鑰基礎設施),包括一沓子算法、協議,還有一整套公信機構 CA(Certificate Authority,身份認證機構)的官僚體系。沒準過不了多久,我們就會人手一份個人電子證書,連身份證都免了。
版本歷史:
2014.2.18 - Markdown 版,增加了更新注釋。
2009.4.19 - 發布在 http://songshuhui.net/archives/12755。
2009.4.14 - 修改了靠后面,前后不一致的一點點。添加圖片、鏈接。排版。
2009.4.13 - 整理細節。
2009.4.7 - 替換了說理的那段,整理了一下邏輯,完善了論據。
2009.4.3 - 用真正的例子,替換掉了原來一個很白癡的例子。其他有微小改動。
2009.4.2 - 初稿完成。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11109.html
摘要:首先,和擁有一對密鑰,接著,和互換公鑰,與互換公鑰互換公鑰后便可使用一種稱為橢圓曲線密鑰交換體制見維基百科的常見技術創建雙方的共享密鑰。上文僅是的基本介紹,下文將講解怎樣使用為區塊鏈上的信息加密。 你或許已經知道,區塊鏈上的交易大多都是透明公開的,用戶既可以直接通過RPC查詢NEO節點,也可以使用NEOTracker或NEOScan等方便好用的區塊鏈瀏覽器瀏覽交易記錄、余額、智能合約或...
摘要:列表嵌套列表,相當于其他語言中的二維數組列表的基本操作宮保雞丁宮保雞丁糖醋里脊粉絲蒸蝦魚香肉絲魚香肉絲宮保雞丁糖醋里脊粉絲蒸蝦魚香肉絲宮保雞丁糖醋里脊宮保雞丁糖醋里脊粉絲蒸蝦魚香肉絲魚香肉絲宮保雞丁糖醋里脊粉絲蒸蝦魚香肉絲魚香肉絲宮保雞 列表(list) >>> type([1,2,3,4,5,6]) >>> type([hello,worls,1,9]) >>> type([he...
摘要:非對稱加密算法的安全性往往需要基于數學問題來保障,目前主要有基于大數質因子分解離散對數橢圓曲線等經典數學難題進行保護。消息認證碼基于對稱加密,可以用于對消息完整性進行保護。 Hash 算法與數字摘要 Hash (哈?;蛏⒘校┧惴ㄋ軐⑷我忾L度的二進制明文串映射為較短的(通常是固定長度的)二進制串(Hash值),并且不同的明文很難映射為相同的Hash值。 Hash 定義 Hash (哈希...
閱讀 3371·2023-04-25 14:07
閱讀 3438·2021-09-28 09:35
閱讀 2079·2019-08-30 15:55
閱讀 1396·2019-08-30 13:48
閱讀 2496·2019-08-30 13:16
閱讀 3196·2019-08-30 12:54
閱讀 3232·2019-08-30 11:19
閱讀 1869·2019-08-29 17:17