對(duì)稱加密、單向加密和非對(duì)稱加密

下文主要從加密算法的特征、常用加密算法和加密工具等方面惕它,梳理和比較對(duì)稱加密怕午、單向加密和公鑰加密的概念及其之間的聯(lián)系。

1. 對(duì)稱加密

采用單鑰密碼的加密方法淹魄,同一個(gè)密鑰可以同時(shí)用來加密和解密郁惜,這種加密方法稱為對(duì)稱加密,也稱為單密鑰加密甲锡。常用的單向加密算法:

  • DES(Data Encryption Standard):數(shù)據(jù)加密標(biāo)準(zhǔn)兆蕉,速度較快,適用于加密大量數(shù)據(jù)的場(chǎng)合缤沦;
  • 3DES(Triple DES):是基于DES恨樟,對(duì)一塊數(shù)據(jù)用三個(gè)不同的密鑰進(jìn)行三次加密,強(qiáng)度更高疚俱;
  • AES(Advanced Encryption Standard):高級(jí)加密標(biāo)準(zhǔn)劝术,是下一代的加密算法標(biāo)準(zhǔn),速度快呆奕,安全級(jí)別高养晋,支持128、192梁钾、256绳泉、512位密鑰的加密;
  • Blowfish

算法特征:

  • 1姆泻、加密方和解密方使用同一個(gè)密鑰零酪;
  • 2、加密解密的速度比較快拇勃,適合數(shù)據(jù)比較長(zhǎng)時(shí)的使用四苇;
  • 3、密鑰傳輸?shù)倪^程不安全方咆,且容易被破解月腋,密鑰管理也比較麻煩;

加密工具:

  • openssl瓣赂,它使用了libcrypto加密庫(kù)榆骚、libssl庫(kù)即TLS/SSL協(xié)議的實(shí)現(xiàn)庫(kù)等。TLS/SSL是基于會(huì)話的煌集、實(shí)現(xiàn)了身份認(rèn)證妓肢、數(shù)據(jù)機(jī)密性和會(huì)話完整性的TLS/SSL庫(kù)。openssl官網(wǎng)苫纤。
  • gpg

2. 單向散列加密

單向加密又稱為不可逆加密算法碉钠,其密鑰是由加密散列函數(shù)生成的纲缓。單向散列函數(shù)一般用于產(chǎn)生消息摘要,密鑰加密等放钦,常見的有:

  • 1、MD5(Message Digest Algorithm 5):是RSA數(shù)據(jù)安全公司開發(fā)的一種單向散列算法恭金,非可逆操禀,相同的明文產(chǎn)生相同的密文;
  • 2横腿、SHA(Secure Hash Algorithm):可以對(duì)任意長(zhǎng)度的數(shù)據(jù)運(yùn)算生成一個(gè)160位的數(shù)值颓屑。其變種由SHA192,SHA256耿焊,SHA384等揪惦;
  • 3、CRC-32罗侯,主要用于提供校驗(yàn)功能器腋;

算法特征:

  • ① 輸入一樣,輸出必然相同钩杰;
  • ② 雪崩效應(yīng)纫塌,輸入的微小改變,將會(huì)引起結(jié)果的巨大變化讲弄;
  • ③ 定長(zhǎng)輸出措左,無論原始數(shù)據(jù)多大,結(jié)果大小都是相同的避除;
  • ④ 不可逆怎披,無法根據(jù)特征碼還原原來的數(shù)據(jù);

下圖展示了sha1算法的雪崩效應(yīng)瓶摆,微小的改變凉逛,引起結(jié)果的巨大變化。


sha1算法的雪崩效應(yīng)

加密工具:

  • md5sum
  • sha1sum
  • openssl dgst

3. 非對(duì)稱加密

非對(duì)稱密鑰加密也稱為公鑰加密群井,由一對(duì)公鑰和私鑰組成鱼炒。公鑰是從私鑰提取出來的◎蚪瑁可以用公鑰加密昔瞧,再用私鑰解密,這種情形一般用于公鑰加密菩佑;也可以用私鑰加密自晰,用公鑰解密,常用于數(shù)字簽名稍坯,因此非對(duì)稱加密的主要功能就是加密和數(shù)字簽名酬荞。

特征:

  • 秘鑰對(duì)搓劫,公鑰(public key)和私鑰(secret key)
  • 主要功能:加密和簽名
    • 發(fā)送方用對(duì)方的公鑰加密,可以保證數(shù)據(jù)的機(jī)密性(公鑰加密)混巧;
    • 發(fā)送方用自己的私鑰加密潮改,可以實(shí)現(xiàn)身份驗(yàn)證(數(shù)字簽名)兵钮;

圖解非對(duì)稱加密的主要功能:加密解密和數(shù)字簽名


加密和解密

數(shù)字簽名

公鑰加密算法很少用來加密數(shù)據(jù),速度太慢,通常用來實(shí)現(xiàn)身份驗(yàn)證雳锋;事實(shí)上拧篮,非對(duì)稱加密的主要作用也就是身份驗(yàn)證;

基于非對(duì)稱加密的特性蠢壹,又產(chǎn)生了以下兩個(gè)問題区匠。

問題1:如何確認(rèn)通信方證書的合法性呢?

借助于第三方機(jī)構(gòu):CA(Certificate Authority)蛙埂。CA為每個(gè)使用公開密鑰的用戶簽發(fā)一個(gè)含CA簽名的證書倦畅,該證書的作用是證明證書中的用戶合法擁有證書中的公開密鑰,CA機(jī)構(gòu)的數(shù)字簽名使得攻擊者不能偽造和篡改證書绣的。

CA自身也擁有一個(gè)證書和私鑰叠赐。任何人都可以得到CA的證書,并用該證書驗(yàn)證它所簽發(fā)證書有效性屡江。

假設(shè)機(jī)構(gòu)A向CA發(fā)出一個(gè)證書簽發(fā)請(qǐng)求:(證書簽發(fā)流程)

  • CA首先生成一對(duì)公鑰和私鑰燎悍,并自簽署一個(gè)CA證書certificate;
  • A向CA提供自己的基本信息和自己的公鑰盼理;
  • CA先對(duì)A的基本信息和公鑰計(jì)算一個(gè)特征碼谈山,然后再使用自己的私鑰對(duì)特征碼進(jìn)行加密,加密生成的字符串(數(shù)字簽名)宏怔、A的公鑰奏路、A的基本信息共同組成了CA簽發(fā)的數(shù)字證書;
CA簽發(fā)證書

證書信任鏈

有了CA簽發(fā)的數(shù)字證書臊诊,就可以通過CA來確認(rèn)證書擁有者的身份鸽粉,也就解決了通信中身份確認(rèn)的問題。那身份確認(rèn)完之后抓艳,如何保證數(shù)據(jù)的機(jī)密性呢触机?

問題2:通過CA實(shí)現(xiàn)了身份驗(yàn)證,那如何保證數(shù)據(jù)的機(jī)密性呢玷或?

保證數(shù)據(jù)的機(jī)密性儡首,無非就是給數(shù)據(jù)加密,非對(duì)稱加密的加密速度慢偏友,不適合對(duì)通信數(shù)據(jù)進(jìn)行加密蔬胯,而在實(shí)際通信過程中,身份確認(rèn)完畢之后位他,通常使用對(duì)稱加密方式來加密數(shù)據(jù)氛濒。那如何協(xié)商對(duì)稱加密的秘鑰呢产场?通常有以下兩種方法。

方法1:秘鑰交換(Internet Key Exchange, IKE)算法

Diffie-Hellman算法秘鑰協(xié)商流程舞竿,假設(shè)A/B雙發(fā)進(jìn)行通信京景,

  • ① A/B通信前,先生成p,g兩個(gè)大素?cái)?shù)骗奖,作為生成數(shù)
  • ② A選定一個(gè)數(shù)x确徙,B選定一個(gè)數(shù)y
  • ③ A/B加密結(jié)果如下:
    • A加密之后傳遞給B的內(nèi)容: g^x%p --> B
    • B加密之后傳遞給A的內(nèi)容: g^y%p --> A
    • 注意:互聯(lián)網(wǎng)上的用戶可以看到:p,g,gx%p,gy%p
  • ④ A/B獲得到數(shù)據(jù)之后解密得到相同的結(jié)果
    • A: (gx%p)x=g^xy%p
    • B: (gy%p)y=g^xy%p

圖解秘鑰交換


Diffie–Hellman key exchange

這樣A/B就協(xié)商出了一個(gè)共同的秘鑰g^xy%p,A/B雙方使用非對(duì)稱加密確認(rèn)完身份之后重归,就可以是用該秘鑰加密通信數(shù)據(jù)了米愿。

方法2:公鑰加密的方式協(xié)商秘鑰

① A隨機(jī)生成一個(gè)字符串STR作為秘鑰厦凤,A先使用自己的私鑰加密STR得到STR1鼻吮,A再使用B的公鑰加密得到STR2,A將STR2發(fā)送給B较鼓;
② B接收到STR2椎木,先使用B的公鑰私鑰解密,再使用A的公鑰解密博烂,最后得到秘鑰STR香椎;

這樣A、B就完成了秘鑰的協(xié)商禽篱,協(xié)商的秘鑰為隨機(jī)字符串STR。

常用的非對(duì)稱加密算法

  • RSA:由 RSA公司發(fā)明躺率,是一個(gè)支持變長(zhǎng)密鑰的公共密鑰算法玛界,需要加密的文件塊的長(zhǎng)度也是可變的;既可以實(shí)現(xiàn)加密慎框,又可以實(shí)現(xiàn)簽名
  • DSA(Digital Signature Algorithm):數(shù)字簽名算法,是一種標(biāo)準(zhǔn)的 DSS(數(shù)字簽名標(biāo)準(zhǔn))后添;
  • ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼笨枯;

ECC和RAS對(duì)比遇西。ECC和RSA相比,在許多方面都有對(duì)絕對(duì)的優(yōu)勢(shì)粱檀,主要體現(xiàn)在以下方面:
① 抗攻擊性強(qiáng)硫嘶,相同的密鑰長(zhǎng)度,其抗攻擊性要強(qiáng)很多倍沦疾。
② 計(jì)算量小称近,處理速度快。ECC總的速度比RSA哮塞、DSA要快得多。
③ 存儲(chǔ)空間占用小,ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA忆畅、DSA相比要小得多衡未,意味著它所占的存貯空間要小得多家凯。這對(duì)于加密算法在IC卡上的應(yīng)用具有特別重要的意義。
④ 帶寬要求低绊诲,當(dāng)對(duì)長(zhǎng)消息進(jìn)行加解密時(shí)送粱,三類密碼系統(tǒng)有相同的帶寬要求,但應(yīng)用于短消息時(shí)ECC帶寬要求卻低得多掂之。帶寬要求低使ECC在無線網(wǎng)絡(luò)領(lǐng)域具有廣泛的應(yīng)用前景抗俄。

Public Key Infrastructure (PKI)

Public Key Infrastructure

總結(jié)

加密方法通常需要具備機(jī)密性、完整性和身份確認(rèn)的功能世舰。對(duì)稱加密可以保證機(jī)密性且加密速度快动雹,但是不能進(jìn)行身份確認(rèn);非對(duì)稱加密因其加密速度慢跟压,一般不會(huì)用做加密胰蝠,而是用作為身份驗(yàn)證。通常震蒋,非對(duì)稱加密和對(duì)稱加密茸塞、散列函數(shù)、秘鑰交換等結(jié)合使用喷好,共同完成整個(gè)網(wǎng)絡(luò)加密的過程翔横,如:TLS/SSL。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末无切,一起剝皮案震驚了整個(gè)濱河市荡短,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哆键,老刑警劉巖掘托,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異籍嘹,居然都是意外死亡闪盔,警方通過查閱死者的電腦和手機(jī)弯院,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪掀,“玉大人听绳,你說我怎么就攤上這事∫旌眨” “怎么了椅挣?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)塔拳。 經(jīng)常有香客問我鼠证,道長(zhǎng),這世上最難降的妖魔是什么靠抑? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任量九,我火速辦了婚禮,結(jié)果婚禮上孕荠,老公的妹妹穿的比我還像新娘娩鹉。我一直安慰自己攻谁,他們只是感情好稚伍,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戚宦,像睡著了一般个曙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上受楼,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天垦搬,我揣著相機(jī)與錄音,去河邊找鬼艳汽。 笑死猴贰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的河狐。 我是一名探鬼主播米绕,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼馋艺!你這毒婦竟也來了栅干?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤捐祠,失蹤者是張志新(化名)和其女友劉穎碱鳞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踱蛀,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贵白,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了戒洼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡允华,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出靴寂,到底是詐尸還是另有隱情,我是刑警寧澤百炬,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站剖踊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏德澈。R本人自食惡果不足惜歇攻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一缴守、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屡穗,春花似錦、人聲如沸忽肛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至煎源,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間手销,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诈悍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓适袜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親舷夺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容