在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

理解數(shù)字簽名和加密通信等技術(shù)的關(guān)鍵算法哈希算法的介紹

GReq_mcu168 ? 來(lái)源:未知 ? 2019-01-13 09:20 ? 次閱讀

哈希是密碼學(xué)的基礎(chǔ),理解哈希是理解數(shù)字簽名和加密通信等技術(shù)的必要前提。

哈希,英文是 hash ,本來(lái)意思是”切碎并攪拌“,有一種食物就叫 Hash ,就是把食材切碎并攪拌一下做成的。哈希函數(shù)的運(yùn)算結(jié)果就是哈希值,通常簡(jiǎn)稱為哈希。哈希函數(shù)有時(shí)候也翻譯做散列函數(shù)。

根據(jù)維基百科的定義,哈希函數(shù)要做的事情是給一個(gè)任意大小的數(shù)據(jù)生成出一個(gè)固定長(zhǎng)度的數(shù)據(jù),作為它的映射,所謂映射就是一一對(duì)應(yīng)。

一個(gè)可靠的哈希算法要滿足三點(diǎn)

第一是安全,給定數(shù)據(jù) M 容易算出哈希值 X ,而給定 X 不能算出 M ,或者說(shuō)哈希算法應(yīng)該是一個(gè)單向算法。

第二是獨(dú)一無(wú)二,兩個(gè)不同的數(shù)據(jù),要擁有不相同的哈希。

第三是長(zhǎng)度固定,給定一種哈希算法,不管輸入是多大的數(shù)據(jù),輸出長(zhǎng)度都是固定的。

但是仔細(xì)想一下,如果哈希的長(zhǎng)度是固定的,也就是取值范圍是有限的,而輸入數(shù)據(jù)的取值范圍是無(wú)限的,所以總會(huì)找到兩個(gè)不同的輸入擁有相同的哈希,所以,哈希函數(shù)的安全性肯定是個(gè)相對(duì)概念。

如果出現(xiàn)了兩個(gè)不同輸入有相同輸出的情況,就叫碰撞,collision 。不同的哈希算法,哈希位數(shù)越多,也就基本意味著安全級(jí)別越高,或者說(shuō)它的”抗碰撞性“就越好。

哈希算法的作用

再來(lái)說(shuō)說(shuō)哈希函數(shù)的主要作用,哈希的獨(dú)一無(wú)二性,保證了如果數(shù)據(jù)在存儲(chǔ)或者傳輸過(guò)程中有絲毫損壞,那么它的哈希就會(huì)變。哈希函數(shù)的最常見(jiàn)的一個(gè)作用就是進(jìn)行完整性校驗(yàn)( Integrity Check ),完整的意思是數(shù)據(jù)無(wú)損壞。

哈希有很多不同的稱呼,有時(shí)候叫Digest(摘要),有時(shí)候叫Checksum(校驗(yàn)值),有時(shí)候叫Fingerprint(指紋),其實(shí)說(shuō)的意思差不多,也就是說(shuō)哈希可以用來(lái)代表數(shù)據(jù)本身。

例如朋友給我傳遞一份數(shù)據(jù),傳完之后,我有一份,他手里也有一份,如果兩份數(shù)據(jù)的哈希值是一樣的,那么這兩份數(shù)據(jù)的內(nèi)容就是一樣的,或者說(shuō)可以認(rèn)為傳遞過(guò)程中數(shù)據(jù)沒(méi)有損壞,我手里拿到的數(shù)據(jù)是完整的。

所以說(shuō),哈希函數(shù)的基本作用就是給大數(shù)據(jù)算出一個(gè)摘要性的長(zhǎng)度固定的字符串,也就是所謂的哈希。

哈希算法的分類

哈希算法有很多種,例如md5、SHA256等等,但是它們總體上可以分為兩大類,一類是普通哈希,另外一類是加密哈希(cryptographic hash function)。

業(yè)界可以找到的哈希算法是有很多種的。我們可以大致按照輸出的哈希的長(zhǎng)度來(lái)聊,雖然哈希算法的安全性也不單單是跟哈希長(zhǎng)度有關(guān),但是一般哈希值越長(zhǎng)也就是越安全。

例如CRC-32的輸出是32 bit,也就是32位的二進(jìn)制數(shù),表示成十六進(jìn)制就是8位。MD5算法的哈希是32位16進(jìn)制數(shù),比較常見(jiàn);SHA-256是256個(gè)Bit ,十六進(jìn)制表示就是64位。

這些算法可以分成普通哈希和加密哈希算法,兩種算法之間沒(méi)有特別明顯的區(qū)別。例如本來(lái)MD5就是設(shè)計(jì)出來(lái)做加密哈希的,但是后來(lái)由于計(jì)算機(jī)的發(fā)展MD5出現(xiàn)碰撞的可能性就很大了,所以目前MD5只能當(dāng)普通哈希用,用來(lái)做數(shù)據(jù)校驗(yàn)。

加密哈希跟普通哈希的區(qū)別就是安全性,一般原則是只要一種哈希算法出現(xiàn)過(guò)碰撞,就會(huì)不被推薦成為加密哈希了,只有安全度高的哈希算法才能用作加密哈希。

同時(shí)加密哈希其實(shí)也能當(dāng)普通哈希來(lái)用,Git版本控制工具就是用SHA-1這個(gè)加密哈希算法來(lái)做完整性校驗(yàn)的。一般來(lái)講越安全的哈希算法,處理速度也就越慢,所以并不是所有的場(chǎng)合都適合用加密哈希來(lái)替代普通哈希。

哈希算法和加密算法

在密碼學(xué)領(lǐng)域,有兩個(gè)算法都是把數(shù)據(jù)做輸入,而輸出是一段誰(shuí)也看不懂的數(shù)據(jù)。其中一個(gè)就是哈希算法,另外一個(gè)是加密算法。注意,哈希算法和加密算法是完全不同的。

哈希算法的輸出長(zhǎng)度是固定的,而加密算法的輸出長(zhǎng)度是跟數(shù)據(jù)本身長(zhǎng)度直接相關(guān)的。

哈希是不可以逆向運(yùn)算出數(shù)據(jù)的,而加密算法的輸出是要能夠逆向運(yùn)算出數(shù)據(jù)的。

這里主要是強(qiáng)調(diào)加密哈希算法只是被用在加密過(guò)程中,但是它本身不是加密算法。

總之,哈希算法有很多種,長(zhǎng)度越長(zhǎng)的算法基本認(rèn)為越安全。安全度低的哈希算法被認(rèn)為是普通哈希算法,主要用來(lái)做完整性校驗(yàn)。安全度高的被稱為加密哈希算法,會(huì)被用在加密算法中。

所謂的高低都是相對(duì)概念,例如MD5曾經(jīng)屬于加密哈希,但是目前只能用來(lái)做安全校驗(yàn)了。而從2017年開(kāi)始,SHA-1算法生成的加密證書也會(huì)被各大瀏覽器拒絕了。目前最流行的加密算法是SHA-2,但是跟SHA-1不同,SHA-2 不是一種算法,而是一系列算法的統(tǒng)稱,其中就包括咱們之前提過(guò)的SHA-256。

實(shí)用例子

首先一個(gè)場(chǎng)景是網(wǎng)站注冊(cè)。當(dāng)我們提交用戶名密碼的時(shí)候,用戶名被會(huì)直接保存到網(wǎng)站的數(shù)據(jù)庫(kù)中,但是密碼卻不是直接保存的,而是先把密碼轉(zhuǎn)換成哈希,保存到數(shù)據(jù)庫(kù)中的其實(shí)是哈希。所以,即使是公司后臺(tái)管理人員,也拿不到用戶的密碼。這樣,如果萬(wàn)一公司數(shù)據(jù)庫(kù)泄露了,用戶的密碼依然是安全的。而當(dāng)用戶自己登錄網(wǎng)站的時(shí)候,輸入密碼提交到服務(wù)器,服務(wù)器上進(jìn)行相同的哈希運(yùn)算,因?yàn)檩斎霐?shù)據(jù)沒(méi)變,所以哈希也不會(huì)變,登錄也就成功了。

另外一個(gè)場(chǎng)景是區(qū)塊鏈和加密貨幣中。比特幣地址生成的時(shí)候,就用到了 SHA-256 算法,POW 也就是工作量證明,用的也是這個(gè)算法。

基本上凡是涉及到密碼學(xué)的地方,都會(huì)或多或少的用到哈希函數(shù)。

總結(jié)

哈希的基本作用就是提供一個(gè)數(shù)據(jù)的摘要或者指紋,通常的使用場(chǎng)景就是完整性校驗(yàn)。哈希算法有很多種,一般來(lái)講哈希越長(zhǎng)的算法,安全性也就越高,安全度足夠高的哈希,或者說(shuō)沒(méi)有任何人能夠成功實(shí)現(xiàn)碰撞的哈希,才有資格被考慮用在加密場(chǎng)合,而這類的哈希算法也被叫做加密哈希算法。

實(shí)際中常見(jiàn)的哈希算法有MD5、SHA-1和SHA-256等等,其中MD5通常用來(lái)進(jìn)行數(shù)據(jù)校驗(yàn),SHA-1曾經(jīng)是加密哈希算法,但是目前已經(jīng)被除名,也只能做為一種安全度更高的校驗(yàn)算法了。SHA-256依然是廣泛使用的加密哈希算法,在比特幣生成地址以及POW工作量證明算法中都會(huì)用到。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4630

    瀏覽量

    93355
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    111

    文章

    15563

    瀏覽量

    106698
  • 比特幣
    +關(guān)注

    關(guān)注

    57

    文章

    7006

    瀏覽量

    141251

原文標(biāo)題:理解數(shù)字簽名、加密通信的關(guān)鍵:哈希算法

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于橢圓曲線算法數(shù)字簽名技術(shù)研究

    基于橢圓曲線算法數(shù)字簽名技術(shù)的基本原理及其安全性,展望了公鑰密碼體制未來(lái)的發(fā)展方向。【關(guān)鍵詞】:橢圓曲線算法;;
    發(fā)表于 04-23 11:29

    關(guān)于DENC底層架構(gòu)和加密算法解釋

    了解一下DENC區(qū)塊鏈的通信協(xié)議、分布式賬本技術(shù)哈希算法到底是怎么一回事?通信協(xié)議DENC的底層包含了點(diǎn)對(duì)點(diǎn)(Peer-to-Peer,P
    發(fā)表于 08-30 09:46

    什么是數(shù)字簽名?如何去實(shí)現(xiàn)呢

    數(shù)字簽名的簡(jiǎn)單理解@TOC數(shù)字簽名的簡(jiǎn)單理解!對(duì)于數(shù)字簽名,網(wǎng)上有很多大神解釋的很詳細(xì)了,我在這里解釋的方法更加簡(jiǎn)單,更適用于初學(xué)者的入門
    發(fā)表于 01-07 07:45

    數(shù)字簽名技術(shù)的應(yīng)用研究

    本文介紹了公開(kāi)密碼加密體制、單向散列函數(shù)、認(rèn)證機(jī)構(gòu)和公鑰管理。并在此基礎(chǔ)上,詳細(xì)探討了明文不需要保密的一般數(shù)字簽名實(shí)現(xiàn)算法、明文需要保密的
    發(fā)表于 06-13 13:49 ?37次下載

    基于FPGA的ECC數(shù)字簽名方案優(yōu)化設(shè)計(jì)

    ECC 數(shù)字簽名算法是目前的研究熱點(diǎn)之一。本文根據(jù)ECC 數(shù)字簽名算法的相關(guān)理論,使用Verilog 語(yǔ)言實(shí)現(xiàn)了其完整方案,并給予相應(yīng)的優(yōu)化。給出了
    發(fā)表于 09-12 15:39 ?16次下載

    數(shù)字簽名,什么是數(shù)字簽名

    數(shù)字簽名,什么是數(shù)字簽名數(shù)字簽名技術(shù)出現(xiàn)之前,曾經(jīng)出現(xiàn)過(guò)一種“數(shù)字簽名
    發(fā)表于 04-03 16:00 ?6332次閱讀

    什么是數(shù)字簽名算法(DSA)

    什么是數(shù)字簽名算法(DSA) DSA(Digital Signature Algorithm,數(shù)字簽名算法,用作數(shù)字簽名標(biāo)準(zhǔn)的一部分),它
    發(fā)表于 04-03 16:01 ?3548次閱讀

    如何使用ECDSA算法生成數(shù)字簽名

    ,ECC需要更小的密鑰來(lái)提供同等的安全性。橢圓曲線適用于密鑰協(xié)議、數(shù)字簽名、偽隨機(jī)發(fā)生器任務(wù)。通過(guò)將密鑰協(xié)議與對(duì)稱加密方案相結(jié)合,它們可以間接用于加密。它們也被用于一些基于橢圓曲線的
    發(fā)表于 12-27 14:12 ?9204次閱讀
    如何使用ECDSA<b class='flag-5'>算法</b>生成<b class='flag-5'>數(shù)字簽名</b>

    區(qū)塊鏈數(shù)字簽名的好處是什么

    數(shù)字簽名也就是我們的公鑰數(shù)字簽名和電子簽,類似于我們寫在紙上的簽名,但又有非常大的差別。最大的差別就在于它使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),適用
    發(fā)表于 03-01 11:00 ?2871次閱讀
    區(qū)塊鏈<b class='flag-5'>數(shù)字簽名</b>的好處是什么

    數(shù)字簽名技術(shù)的應(yīng)用

    加密領(lǐng)域的技術(shù)來(lái)實(shí)現(xiàn)的,用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。
    的頭像 發(fā)表于 08-20 11:31 ?7986次閱讀
    <b class='flag-5'>數(shù)字簽名</b><b class='flag-5'>技術(shù)</b>的應(yīng)用

    基于ElGamal數(shù)字簽名算法的區(qū)塊鏈共識(shí)算法

    聯(lián)盟鏈?zhǔn)且环N允許授權(quán)節(jié)點(diǎn)加入網(wǎng)絡(luò)的區(qū)塊鏈,當(dāng)存在網(wǎng)絡(luò)狀況不理想狀況時(shí),會(huì)出現(xiàn)節(jié)點(diǎn)動(dòng)態(tài)加入退出的問(wèn)題。為此,在環(huán)簽名理論、 Elgamal數(shù)字簽名算法與PBFT
    發(fā)表于 05-19 11:51 ?10次下載

    哈希是什么,常見(jiàn)的哈希算法有哪些

    理解為一種消息摘要算法,將消息或數(shù)據(jù)壓縮變小并擁有固定格式。由于其單向運(yùn)算具有一定的不可逆性,哈希算法已成為加密算法中一個(gè)構(gòu)成部分,但完整
    的頭像 發(fā)表于 06-23 14:57 ?7474次閱讀

    區(qū)塊哈希競(jìng)猜游戲系統(tǒng)開(kāi)發(fā)加密哈希算法概述

    ? 哈希算法(Hash function)又稱散列算法,是一種從任何數(shù)據(jù)(文件、字符)中創(chuàng)建小的數(shù)字“指紋”的方法。
    的頭像 發(fā)表于 06-24 09:51 ?1193次閱讀
    區(qū)塊<b class='flag-5'>哈希</b>競(jìng)猜游戲系統(tǒng)開(kāi)發(fā)<b class='flag-5'>加密</b><b class='flag-5'>哈希</b><b class='flag-5'>算法</b>概述

    淺談非對(duì)稱算法數(shù)字簽名

    數(shù)字簽名和數(shù)據(jù)驗(yàn)簽,你了解有多少?
    的頭像 發(fā)表于 09-03 14:53 ?2520次閱讀

    加密算法在網(wǎng)絡(luò)安全中扮演什么角色?

    : 通過(guò)哈希函數(shù)和消息認(rèn)證碼(MAC),加密算法可以檢測(cè)數(shù)據(jù)在傳輸過(guò)程中是否被篡改,確保數(shù)據(jù)的完整性。 提供身份驗(yàn)證 : 非對(duì)稱加密算法數(shù)字簽名
    的頭像 發(fā)表于 12-17 16:00 ?148次閱讀
    主站蜘蛛池模板: h视频在线观看视频观看 | 天天天狠天天透天天制色 | 午夜影视剧场 | 久久99热久久精品动漫 | 日韩成人毛片高清视频免费看 | 欧美伊人网 | 深爱婷婷 | 成人夜色香网站在线观看 | 永井玛丽亚中文在线观看视频 | 在线视免费频观看韩国aaa | 亚欧成人乱码一区二区 | 久久精品国产夜色 | 萌白酱一线天粉嫩喷水在线观看 | 在线观看免费午夜大片 | 在线看黄的网站 | 久久草在线播放 | 99久久免费精品高清特色大片 | 特别黄的免费视频大片 | 欧美一级在线观看播放 | 色视频网 | 九月丁香婷婷亚洲综合色 | 色多多拼多多网站 | 亚洲国产精品婷婷久久 | 日日夜夜狠狠干 | 东京毛片 | 爽好舒服快受不了了老师 | 丁香六月激情综合 | 国产你懂的在线观看 | 欧美中出 | 日韩毛片在线看 | 222网站高清免费观看 | 又粗又硬又猛又黄的免费视频黑人 | 视频黄色免费 | 成人欧美一区二区三区视频不卡 | aⅴ一区二区三区 | 六月婷婷久久 | 久久亚洲国产精品五月天 | 可以免费观看的黄色网址 | 四虎网址大全 | 男女交性高清视频无遮挡 | 国产精品一区电影 |