亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

常用加密算法探尋

Yu_Huang / 1939人閱讀

摘要:在開發(fā)過程中,常常用到各種加密方法和算法,本文總結(jié)了幾種常用加密方法的原理。非對(duì)稱加密原理非對(duì)稱加密算法需要兩個(gè)密鑰公開密鑰和私有密鑰。

在開發(fā)過程中,常常用到各種加密方法和算法,本文總結(jié)了幾種常用加密方法的原理。


對(duì)稱加密

原理:

加密和解密數(shù)據(jù)使用同一個(gè)密鑰,適合對(duì)大量數(shù)據(jù)進(jìn)行加解密

安全性:

關(guān)鍵是密鑰的保存方式,加密或是解密的任何一方泄漏密鑰,都會(huì)導(dǎo)致信息泄漏

代表算法:

DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、AES等

對(duì)稱密碼常用的數(shù)學(xué)運(yùn)算:

移位和循環(huán)移位

  移位就是將一段數(shù)碼按照規(guī)定的位數(shù)整體性地左移或右移。循環(huán)右移就是當(dāng)右移時(shí),把數(shù)碼的最后的位移到數(shù)碼的最前頭,循環(huán)左移正相反。例如,對(duì)十進(jìn)制數(shù)碼12345678循環(huán)右移1位(十進(jìn)制位)的結(jié)果為81234567,而循環(huán)左移1位的結(jié)果則為23456781。

置換

  就是將數(shù)碼中的某一位的值根據(jù)置換表的規(guī)定,用另一位代替。它不像移位操作那樣整齊有序,看上去雜亂無章。這正是加密所需,被經(jīng)常應(yīng)用。

擴(kuò)展

  就是將一段數(shù)碼擴(kuò)展成比原來位數(shù)更長的數(shù)碼。擴(kuò)展方法有多種,例如,可以用置換的方法,以擴(kuò)展置換表來規(guī)定擴(kuò)展后的數(shù)碼每一位的替代值。

壓縮

  就是將一段數(shù)碼壓縮成比原來位數(shù)更短的數(shù)碼。壓縮方法有多種,例如,也可以用置換的方法,以表來規(guī)定壓縮后的數(shù)碼每一位的替代值。

異或

  這是一種二進(jìn)制布爾代數(shù)運(yùn)算。異或的數(shù)學(xué)符號(hào)為⊕ ,它的運(yùn)算法則如下:
1⊕1 = 0
0⊕0 = 0
1⊕0 = 1
0⊕1 = 1
  也可以簡單地理解為,參與異或運(yùn)算的兩數(shù)位如相等,則結(jié)果為0,不等則為1。

迭代

  迭代就是多次重復(fù)相同的運(yùn)算,這在密碼算法中經(jīng)常使用,以使得形成的密文更加難以破解。


非對(duì)稱加密

原理:

非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對(duì),如果用公開密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密

安全性:

公鑰可以被任何人知道,但是私鑰被泄漏就會(huì)導(dǎo)致信息泄漏

應(yīng)用場景:

數(shù)字簽名,私鑰擁有者對(duì)信息進(jìn)行加密,接受者使用公鑰解密成功,就可以確定發(fā)送者的身份

密鑰長度:

通常是1024,2048等。密鑰長度增長一倍,公鑰操作所需時(shí)間增加約4倍,私鑰操作所需時(shí)間增加約8倍,公私鑰生成時(shí)間約增長16倍

加密的明文長度:

加密的明文長度不能超過RSA密鑰的長度減去11byte,比如密鑰長度是1024位的,1024位=1024bit=128byte,128-11=117byte,所以明文長度不能超過117byte,如果長度超過該值將會(huì)拋出異常。加密后密文的長度為密鑰的長度,如密鑰長度為1024bit(128Byte),最后生成的密文固定為 1024bit(128Byte)

代表算法:

DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、AES等


哈希散列算法

原理:

采用某種散列函數(shù),輸入不同長度的明文,得到相同的長度的密文,明文的微小變化都能引起密文的巨大變化。其實(shí)哈希散列算法不算是真正的加密,而是生成對(duì)應(yīng)明文的指紋信息,用來校驗(yàn)數(shù)據(jù)的完整性。

安全性:

不能通過密文反推明文,通常作為數(shù)據(jù)的完整性校驗(yàn)

應(yīng)用場景1:

生成信息摘要,驗(yàn)證信息的完整性

應(yīng)用場景2:

不用明文存儲(chǔ)用戶密碼,比如使用md5(md5(用戶密碼)+salt)來存儲(chǔ)密碼和驗(yàn)證密碼,防止攻擊者用彩虹表攻擊

代表算法:

MD2、MD4、MD5、PANAMA、SHA-0、SHA-1、SHA-256、SHA-512等

常用算法對(duì)比
名稱 密鑰長度 運(yùn)算速度 安全性 資源消耗 加密類型
DES 56位 較快 對(duì)稱
3DES 168位 對(duì)稱
IDEA 128位 較慢 對(duì)稱
AES 128、192、256位 對(duì)稱
RSA 1024、2048、3072、4096 非對(duì)稱
DSA 1024、2048、3072、4096 非對(duì)稱
ECC 256 非對(duì)稱
SHA-1 散列
MD5 散列

參考:

DES加密算法原理

DES算法實(shí)例詳解

AES對(duì)稱加密算法掃盲

DES,3DES,AES這三種對(duì)稱密鑰的區(qū)別與聯(lián)系

數(shù)字簽名算法介紹和區(qū)別

HOTP和TOTP算法圖解

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/11379.html

相關(guān)文章

  • 當(dāng)年玩耍httpclient

    摘要:當(dāng)年玩耍前言是開發(fā)中最常用的工具之一,通常大家會(huì)使用去調(diào)用遠(yuǎn)程,使用其中比較基礎(chǔ)的,長期開發(fā)爬蟲,會(huì)接觸不常用的,同時(shí)會(huì)遇到各式各樣的坑,下面會(huì)總結(jié)這些年遇到的坑坑坑坑一解決過程開發(fā)某省份移動(dòng)爬蟲時(shí),加載首頁會(huì)報(bào)標(biāo)題錯(cuò)誤,嘗試各種辦法都不好 當(dāng)年玩耍httpclient 前言 httpclient是java開發(fā)中最常用的工具之一,通常大家會(huì)使用httpcilent去調(diào)用遠(yuǎn)程,使用其中比...

    lykops 評(píng)論0 收藏0
  • 探尋hashmap

    摘要:方法計(jì)算出的值,然后去尋找方法如果需要的存放的存儲(chǔ)空間大于默認(rèn)數(shù)組大小負(fù)載因子的乘積,那么就發(fā)生擴(kuò)容,擴(kuò)大為原來的兩倍問題為什么的容量總是的次方因?yàn)橹杏幸粋€(gè)方法是這樣可以減少碰撞概率。例子與不會(huì)發(fā)生碰撞會(huì)發(fā)生碰撞,這是一會(huì)我數(shù)學(xué)概率問題。 Hashmap源碼 1、 構(gòu)造器:   a)獲得默認(rèn)數(shù)組大?。?>>4 :16   b) 獲得負(fù)載因子:0.75:衡量hashmap的空間使用程度...

    jifei 評(píng)論0 收藏0
  • 慕課網(wǎng)_《Java實(shí)現(xiàn)Base64加密》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期一說明本文部分內(nèi)容均來自慕課網(wǎng)。多用于網(wǎng)絡(luò)加密。散列函數(shù)函數(shù)或消息摘要函數(shù)主要作用散列函數(shù)用來驗(yàn)證數(shù)據(jù)的完整性。 時(shí)間:2017年4月10日星期一說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:https://github.com/zccodere/s...個(gè)人學(xué)習(xí)源碼:https://github.com/zccodere...

    verano 評(píng)論0 收藏0
  • killBase系列 -- 密碼學(xué)(一)

    摘要:系列密碼學(xué)二傳送門密碼學(xué)一基礎(chǔ)密碼學(xué)算法分類消息編碼消息摘要類,類,對(duì)稱密碼非對(duì)稱密碼數(shù)字簽名五元組明文原始信息。非對(duì)稱密碼包提供給,,等非對(duì)稱加密算法。對(duì)稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因?yàn)槊荑€管理困難,使用成本較高。 前言 最近一場面試,面試官問了我 對(duì)稱加密與非對(duì)稱加密的問題,雖然曾經(jīng)看過一些內(nèi)容,但是沒有系統(tǒng)的整理,所以當(dāng)被問的時(shí)候,腦子里一片空白,沒有回答上...

    tomato 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<