成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手上只有一把鑰匙,怎么解開全世界的鎖?揭秘神奇的非對稱加密

安全 數據安全
有沒有一種方法,不需要事先告訴對方解密的方法,就可以讓對方輕易獲取被加密的信息呢?

[[419517]]

關于非對稱加密,小蔚已經聊過很多次,這一次我們繼續更深入的探討一下。

近現代,密碼學已經成為一個重要的學科,無論是軍事還是生活,處處都有密碼學的身影。

從密碼學誕生之日起,一個難題始終困擾著人們。為了讓接收信息的一方獲得原始信息,必須事先將解密的方法告訴對方。但這樣一來,解密的方法就存在泄露的風險,一旦泄露,所加密的信息就會在陽光下裸奔。

有沒有一種方法,不需要事先告訴對方解密的方法,就可以讓對方輕易獲取被加密的信息呢?

如果甲寫了一封機密信件,打算發送給乙。甲所在的地區只有一個郵差,而且甲已經知道這名郵差是個間諜,會千方百計找機會竊取機密信件。

于是甲將這封機密信鎖在一個無法被暴力破壞的鐵箱子里,打開箱子的唯一方法是獲得鑰匙,將機密信件鎖在鐵箱子里后,再讓郵差將箱子送給乙。

[[419518]]

問題是,乙沒有鑰匙,也打不開這個鐵箱子。

先郵寄鐵箱子,再郵寄鑰匙?這樣也不行,郵差可以輕易獲得鑰匙,打開鐵箱子。

先讓乙郵寄一把鎖過來,然后再用乙的鎖鎖鐵箱子?還是不行。只要鎖或者鑰匙經過郵差的手,機密信就不安全。

在很久很久以前,人們只能通過“線下”的方式來解決這個問題。兩個人線下見面商量一個“密鑰”,再在通信時使用這個密鑰進行加密。

[[419519]]

但這樣做還是存在泄密的風險,不懷好意的人總能找到破綻竊取秘密。

后來,聰明的人想到了一個辦法:

甲先將上鎖的箱子郵寄給乙,乙雖然打不開,但可以在箱子上再加一把鎖,再郵寄回給甲。甲使用自己的鑰匙打開鎖后,又郵寄給乙,最終乙用自己的鑰匙打開箱子,拿到這封機密信件。

這個方法看起來行得通,整個過程郵差接觸不到鑰匙,打不開箱子。

不過這個方法有一個很大的問題——效率。以前只需要一趟,現在卻需要三趟。要知道,信息的時效性是非常重要的,李云龍在攻打平安縣城時說過:“你少來那一套!你我都知道一分鐘就能決定戰斗的勝負!”

[[419520]]

要是傳遞信息的時間增加了兩倍,后果不堪設想。

兼具安全和效率的方法,一直沒有被找到,直到1977年,一種設計巧妙的方法被發明了出來。

它就是大名鼎鼎的“非對稱加密。”

非對稱加密算法需要兩把密鑰來進行加密的解密,一把公開密鑰,只能用于加密,一把私有密鑰,只能用于解密。公鑰和密鑰合在一起形成“密鑰對。”

公鑰是公開的,任何人都可以用公鑰加密數據,持有這一公鑰對應私鑰的人,才能解密,這樣一來,就不存在要傳遞“鑰匙”的情況,同時也兼顧了效率。

只要用我的公鑰加密數據,全世界的鎖我都能解開,而且只有我行!

按照上面的例子進行解釋,非對稱加密大致是這樣的過程:

  • 甲將大量的鑰匙散發到全世界各地,并宣布凡是要與自己通信的,只需要將信息放到鐵箱子里,并用這些鑰匙(公鑰)上鎖即可。(假定鎖必須有鑰匙才能上鎖)
  • 假如乙要和甲取得聯系,只需要將機密信件放入一個鐵箱子里,并用甲的公鑰上鎖,緊接著郵寄給甲,甲就可以用自己的私鑰開鎖拿到信件。

整個過程,甲、乙既不需要對方的密鑰,郵差只能拿到公鑰,公鑰只能加密不能解密,從而保證了信件的安全性。

接下來我們來真實地感受一下非對稱加密的藝術。

這種算法跟質數分不開。

現在給你13和17兩個質數,讓你算出它們的乘積,我們很容易算出是221。

如果告訴你221這個數字,要求你算出這是哪兩個質數的乘積,就比較難了。你得翻一翻質數表,才能知道原來這個數是13和17。

這只是兩位數質數的乘積,如果是幾十位、上百位甚至上千位的質數乘積呢?逆向推理就變得十分困難。

舉個五位數的例子,請問9936899831是哪兩個質數的乘積?

雖然有困難,但通過計算機,還是可以得出這兩個數是99679和99689。但如果是上千位數,就十分困難了。

以現在計算機的算力,要對一個2048位的數字進行暴力破解,可能要用上幾百年的時間,可以被認為是無法破解的。

為了方便計算和理解,我們還是使用13和17這兩個質數。

假如甲要發送“15”給乙,為了數據傳輸安全,乙首先要生成一個密鑰對,即一個公鑰和一個私鑰。

首先13*17=221。

然后我們把13和17各減去1,再乘起來,也就是12 X 16 = 192。接下來我們要隨機選擇一個小于192且與192互質的數。兩個數互質的意思是他們沒有除了1以外的公約數。我們把192分解成因數相乘的形式:

192 = 2* 22222*3

選擇一個不能被2和3整除的數,我們就選擇5這個數字。

(221,5)就是公鑰。

這個公鑰可以讓任何人知道,完全沒有關系,所有人都可以使用這個公鑰加密數據,然后發送給你。

還記得我們之前算出來的192和我們隨機選擇的5嗎?我們要找到這樣一個數:它是5的倍數,然后除以192剛好余1。這個數很好找,它就是385。然后385除以5等于77。

于是我們得出了私鑰:(221,77)。

私鑰只能自己知道,一旦泄露,傳輸的數據就等于是在陽光下裸奔。

好了,有了密鑰對,我們終于可以進行加密和解密了。

甲先將想要發送的信息,也就是“15”這個數字,使用乙的公鑰進行加密。乙的公鑰是(221,5)。

首先甲算出15的5次方,得出759375這個數字。接著再用759375除以221,得出余數是19。

最后一步,甲將“19”發送給乙。

乙拿到“19”后,使用私鑰進行解密。私鑰是(221,77)。

首先乙會先計算19的77次方,然后再用得到的數字除以221,求出該數的余數,得出最終的答案就是“15!”

非對稱加密大體上就是這么一個過程,非常具有藝術感!

那么,非對稱加密有沒有缺點呢?

有!還是效率問題。

如果甲和乙商量好一個密鑰,假定這個密鑰是數字“5”,甲想發給乙“15”這個數字,甲首先會用15*5得到75,再將“75”這個數字發給乙,乙拿到數字后,再除以5,就能得到“15”這個數字。

上面這種方法就是對稱加密。它的缺點是安全性很差,加密和解密都使用同一個密鑰,一旦密鑰泄露,傳輸的數據就無安全性可言。

但它有一個好處,就是效率高。甲乙傳遞的信息,只需要乘以5和除以5即可,沒有非對稱加密這么復雜。

于是,有一個聰明的家伙,結合非對稱加密和對稱加密,使其具備效率和安全性的優勢。

具體是怎么做的呢?

思路如下:

首先利用非對稱加密傳遞“密鑰”,對方擁有密鑰后,再使用密鑰傳輸數據即可,這樣一來,既保證了安全性,又有效率。

還是上面的例子。數字“5”是密鑰,甲首先使用乙的公鑰(221,5)進行加密。

5的5次方,除以221的余數是31,甲將31發送給乙,乙拿到這個數字后,再利用私鑰(221,77)解密,算出31的77次方除以221的余數是5。

此時乙已經知道了“5”這個密鑰。

以后,甲和乙就用“5”這個密鑰進行對稱加密的數據傳輸。

第二次通訊時,甲要傳遞“6”,只要5*6=30,傳給乙30這個數字,乙再用30/5得到6即可。

第一次用非對稱加密傳遞密鑰,第二次之后用對稱加密進行通訊加密,安全性有了,效率也有了。

可能熟悉的同學已經知道了,對,SSL證書就是這么干的!

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2022-10-21 07:33:12

2023-11-22 16:08:48

2020-05-27 10:10:56

對稱加密Hash算法數字簽名

2014-07-07 10:04:32

2024-12-31 08:00:00

SpringBoot開發加密

2019-12-11 16:56:37

HTTPS對稱加密Java

2013-03-07 09:12:41

巨型電腦云計算

2019-09-23 12:16:02

通信安全加密哈希

2019-06-12 15:20:25

Redis高性能線程

2013-05-06 09:01:15

Erlang程序員

2010-07-28 10:09:01

2023-09-04 14:00:28

加密密鑰私鑰

2019-09-11 08:37:16

2011-03-14 15:06:49

SQL Server 安全

2019-10-30 05:51:07

物聯網設備物聯網安全物聯網

2012-02-07 09:33:14

2010-06-09 11:27:27

大學生求職

2020-04-15 11:21:49

QQ騰訊

2011-09-06 17:56:50

BuildingsAndroid應用建筑

2018-07-10 10:29:27

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人av鲁丝片一区二区小说 | 爱爱无遮挡 | 国产综合视频 | 国产成人精品一区二区三区在线 | 福利视频二区 | 亚洲欧洲色视频 | 色吊丝2288sds中文字幕 | 亚洲精品99999| 国产一区视频在线 | 久久精品在线播放 | 国产97色 | 国产精品福利在线观看 | 亚洲福利| 久久久91精品国产一区二区精品 | 欧美成人精品 | 国产伦一区二区三区视频 | 一级做a爰片久久毛片免费看 | 亚洲区在线 | 超碰97干| 久久伦理电影 | 亚洲精品成人 | 免费观看羞羞视频网站 | 亚洲欧洲av在线 | av一级久久 | 成人一区二区三区在线观看 | 国产精品视频久久久 | 暖暖成人免费视频 | 婷婷综合网 | 欧美专区在线 | 亚洲欧美在线观看 | 国产欧美在线观看 | 日日艹夜夜艹 | 欧美v在线| 中文一区二区 | 国产精品毛片av一区 | 日韩福利在线 | 欧洲色 | 国产丝袜人妖cd露出 | 久久精品手机视频 | 一级做a| 日韩插插 |