日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

軟件中的加密算法

 

這個雖然是閑扯淡的,但是看的時候請抓牢:

  • 我們一切以業(yè)務(wù)方案為目的,
  • 一些關(guān)鍵名詞和概念還是很認(rèn)真。

加密簽名

一個故事

這是從別人那邊聽來的故事,作為安全知識的入門非常有意義。

  1. 一個國王英年早逝,留下年幼的王子,國王的弟弟就做了攝政王。
  2. 王子快18歲的時候,他叔叔派他做信使,給另外一個國王送信,還讓侍衛(wèi)長跟著。
  3. 王子晚上趁著侍衛(wèi)長睡著了,偷偷打開信件,看見里面的內(nèi)容是: 請您殺了這個信使。
  4. 王子于是把信件修改了一下:請把您的女兒嫁給信使
  5. 王子然后做了那個國家的駙馬。過幾年后,岳父也死了,他就做了國王,帶兵殺回去報仇。

叔叔的反思和改進

暫時不討論善惡,我們站在叔叔的立場上,看他哪些事情沒做好?

  • 數(shù)據(jù)的隱秘:他的信件內(nèi)容被別人看到了。
  • 數(shù)據(jù)的篡改:他的郵件被人冒充了。

所以從技術(shù)層面上,我們可以給他一個有效建議,跟別的國王約定:

  • 針對第一個情況:他寫的信,每個字母向后偏移10個位置——數(shù)據(jù)被加密了
  • 針對第二個情況:商量了一個算式,每個信件,把全部字母的數(shù)字加起來,通過這個算式算出來一個新的數(shù)字,寫在信件最后,這樣除了他倆,沒誰能偽造信——數(shù)據(jù)被簽名了

PKI里的加密和簽名

在事實上,信息傳輸?shù)奈锢硗ǖ朗遣话踩模拘攀埂孔鳛樾畔⒌膫鬟f人,可以輕易的偷窺別人的信息,甚至“代表”別人發(fā)言。老外的思路是認(rèn)可這個現(xiàn)狀,然后從數(shù)理邏輯上來應(yīng)對這個問題。

Public Key Infrastructure,公開密鑰體系,就是針對這個情況的。 
這個體系的特點是,算法思路和實現(xiàn)都可以是公開的,只要保證Key的安全就可以。

這個章節(jié)里面,我們只要講到加密和簽名就可以了。

加密

加密根據(jù)密鑰可以粗略的分倆類

對稱加密

對稱加密,就是加密和解密的過程里面,用的key都是一個——我們稱為SecretKey。

  • AES:一般記得這個就可以了,因為現(xiàn)在好像也就它是最好用的
  • DES、3Des:我經(jīng)常在代碼里面能看見的。
  • 其它

業(yè)務(wù)跟進:在前面我們給王叔的建議,很明顯是一個比較土的對稱加密方案。

非對稱加密

非對稱加密,加密和解密的密鑰不同,用于加密的稱為公鑰(PublicKey),用于解密的稱為私鑰(PrivateKey)。

業(yè)務(wù)跟進:我們的建議,國王們各自有一套公鑰+私鑰,私鑰自己保留好,公鑰發(fā)布給大家。誰想給某人寫信了,就用這個人的公鑰加密,信件半路上被人截胡了,也無法解密內(nèi)容。

  • RSA:最出名的,在以前非對稱加密就是區(qū)分為RSA和其它,
  • ECC:當(dāng)前最牛的規(guī)范,rsa也變成其它了
  • 其它:

對稱和非對稱的優(yōu)劣對比

  • 對稱加密在技術(shù)上有優(yōu)勢,同樣的安全級別下,加密解密的速度快很多
  • 對稱加密同時也兼具簽名功能
  • 但是在多用戶業(yè)務(wù)場景,有無法解決的問題:
  • 倆個人玩,一套SecretKey就夠了
  • 三個人玩,3套
  • 四個人玩,12套,
  • …… N的組合數(shù)量。
  • 結(jié)論:后面討論各自適合場景。

簽名和驗簽

業(yè)務(wù)跟進:我們的建議,國王們各自有一套自己的公鑰+私鑰,私鑰自己保留好,公鑰發(fā)布給大家。誰想發(fā)郵件,用私鑰對內(nèi)容進行“簽名”,簽名的結(jié)果寫在信封上;收到郵件的人,用【發(fā)件人的公鑰】+【內(nèi)容】+【簽名】進行驗簽,以確保這個郵件就是那個國王發(fā)的

JAVA偽碼表示如下

  • 簽名:byte[] sign(byte[] content, PrivateKey prvKey)
  • 驗簽:boolean verify(byte[] result, byte[] content, PublicKey pubKey)

小結(jié)

其實對稱加密可以忽略,我們就記得非對稱加密和簽名比較重要

  • 私鑰放在自己手里,用來解密和簽名,這倆個事情都明顯是個人的私密行為,因此私鑰
  • 公鑰發(fā)布出去,用來加密和驗簽,這倆個事情明顯是個人對外的公開行為,因此公鑰

我們的“完美”方案

到這里,我們就可以給王叔和其他的國王們一個比較完美的RSA方案

  • 每個國王自己做一套公鑰私鑰
  • 把自己的私鑰保存好,把公鑰送給其他的每個國王,
  • 同時也保存好其他國王送過來的公鑰,名稱不能搞亂了,更不能讓別人替換了
  • 發(fā)郵件的過程如下:
  • 把郵件的正文用自己的私鑰簽名,附在郵件最后
  • 用接受者的公鑰加密郵件的正文和簽名
  • 把信送過去
  • 收郵件的過程如下:
  • 用自己的私鑰解密,獲得郵件正文和簽名
  • 拿著發(fā)送者的公鑰,對正文和簽名進行驗簽

把自己的公鑰送到別人那邊,要包裝一下,那個就是公證書 
自己的私鑰也要好好的包裝一下,這個就是私證書

證書和證書鏈

證書的煩惱

假設(shè)國王們已經(jīng)建立了證書體系,這個時候,某個國王英年早逝,他的弟弟扶持?/挾持?年幼的侄子攝政。很不幸的是,暴斃的國王把象征權(quán)力的個人私證書和其他國王的公證書都付之一炬。

于是攝政王需要自己做一套公鑰私鑰,然后派信使去見每個國王,送去自己的公鑰,拿回來對方的公鑰。這是一個痛苦的折磨,對于所有涉及到的人:

  • 對方國王怎么相信你? 
    突然證書說換就換,我是不是要跑一趟去求證一下?
  • 信使會不會有問題? 
    信使是很樂意用自己的公證書來代表國王的公證書。他做倆個證書,左手的代表國王A把公證書給國王B,右手的代表國王B把公證書給國王A,用不著第三個代表證書,他就可以作為中間人來偷看+篡改來回的信件了。

就實際情況來說,最安全的方式是,其他的國王親自過去,驗證新王,交換證書。

但是很明顯這個是一個成本很巨大的工作,而且很危險。說不定回家的半路上,哪個國王頭疼腦熱的,也英年早逝了,然后大家又要重新跑一趟,包括那個寶座還沒坐熱的攝政王。

注意:即使有了internet,這樣的場景下證書交換是不能通過網(wǎng)絡(luò)的,因為信任沒能解決,只能親自跑。

證書的本質(zhì)就是信任

好在國王們都相信一個人——代表了神的意志的教皇。教皇說:你們也別這樣跑,來回折騰。我給你們的公證書上面加上主的簽名——當(dāng)然也就是我代表主的簽名,以后大家就只要如此如此:

  • 保存一個公證書,那就是主的證書,只要相信他就可以了,這個是一切證書之根;
  • 你們所有人的公證書,都要經(jīng)過主的簽名
  • 你發(fā)給別人帶有簽名的信件的時候,也要把你的公證書帶上——記得哦,是主給你簽名的公證書
  • 當(dāng)別人收到你的信件、簽名、公證書時候,
  • 他首先要根據(jù)主留給他的公證書來驗簽?zāi)愕墓C書是不是經(jīng)過主認(rèn)證的,
  • 再用你的證書來驗證信件的簽名

更完美的方案

用一個證書給別的證書做簽名背書,產(chǎn)生了證書鏈,就解決了證書的 N*N 問題。

BTW:當(dāng)某個國王派出軍隊出去征服新世界的時候,教皇一般也會派出一個大主教,授予他一個特殊的證書,這個證書是由教皇的證書簽名,但是它還可以給別的證書簽名。 
——這個就是多級授權(quán)。

其它

摘要MessageDigest不是加密

也不是所謂的“單向加密”,就是消息摘要

mac

message authentication code,一般不用。

分享到:
標(biāo)簽:加密算法
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定