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

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

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

軟件加密算法都有哪些,這些算法在哪些方面得到了應(yīng)用?

傳感器技術(shù) ? 來(lái)源:lq ? 2018-12-24 09:27 ? 次閱讀

伴隨著人工智能、物聯(lián)網(wǎng)時(shí)代的到來(lái),數(shù)據(jù)應(yīng)用變得頻繁起來(lái),數(shù)據(jù)安全應(yīng)該如何保護(hù)?軟件加密算法都有哪些,這些算法在哪些方面得到了應(yīng)用?慢慢讀下去,你會(huì)發(fā)現(xiàn)圍繞在我們身邊的“小密碼”。

對(duì)稱(chēng)加密算法

對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱(chēng)加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過(guò)特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。在對(duì)稱(chēng)加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。對(duì)稱(chēng)加密算法的特點(diǎn)是算法公開(kāi)、計(jì)算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。對(duì)稱(chēng)加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因?yàn)槊荑€管理困難,使用成本較高。

DES加密算法

DES加密算法是一種分組密碼,以64位為分組對(duì)數(shù)據(jù)加密,它的密鑰長(zhǎng)度是56位,加密解密用同一算法。DES加密算法是對(duì)密鑰進(jìn)行保密,而公開(kāi)算法,包括加密和解密算法。這樣,只有掌握了和發(fā)送方相同密鑰的人才能解讀由DES加密算法加密的密文數(shù)據(jù)。因此,破譯DES加密算法實(shí)際上就是搜索密鑰的編碼。對(duì)于56位長(zhǎng)度的密鑰來(lái)說(shuō),如果用窮舉法來(lái)進(jìn)行搜索的話(huà),其運(yùn)算次數(shù)為256。

隨著計(jì)算機(jī)系統(tǒng)能力的不斷發(fā)展,DES的安全性比它剛出現(xiàn)時(shí)會(huì)弱得多,然而從非關(guān)鍵性質(zhì)的實(shí)際出發(fā),仍可以認(rèn)為它是足夠的。不過(guò),DES現(xiàn)在僅用于舊系統(tǒng)的鑒定,而更多地選擇新的加密標(biāo)準(zhǔn)。

3DES加密算法

3DES是三重?cái)?shù)據(jù)加密算法塊密碼的通稱(chēng)。它相當(dāng)于是對(duì)每個(gè)數(shù)據(jù)塊應(yīng)用三次DES加密算法。由于計(jì)算機(jī)運(yùn)算能力的增強(qiáng),原版DES密碼的密鑰長(zhǎng)度變得容易被暴力破解;3DES即是設(shè)計(jì)用來(lái)提供一種相對(duì)簡(jiǎn)單的方法,即通過(guò)增加DES的密鑰長(zhǎng)度來(lái)避免類(lèi)似的攻擊,而不是設(shè)計(jì)一種全新的塊密碼算法。

3DES是DES向AES過(guò)渡的加密算法,加密算法,其具體實(shí)現(xiàn)如下:設(shè)Ek()和Dk()代表DES算法的加密和解密過(guò)程,K代表DES算法使用的密鑰,M代表明文,C代表密文,這樣:

3DES加密過(guò)程為:C=Ek3(Dk2(Ek1(M)))

3DES解密過(guò)程為:M=Dk1(EK2(Dk3(C)))

AES加密算法

AES加密算法是密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn),該加密算法采用對(duì)稱(chēng)分組密碼體制,密鑰長(zhǎng)度的最少支持為128、192、256,分組長(zhǎng)度128位,算法應(yīng)易于各種硬件和軟件實(shí)現(xiàn)。這種加密算法是美國(guó)聯(lián)邦政府采用的區(qū)塊加密標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。

AES加密算法被設(shè)計(jì)為支持128/192/256位(/32=nb)數(shù)據(jù)塊大小(即分組長(zhǎng)度);支持128/192/256位(/32=nk)密碼長(zhǎng)度,在10進(jìn)制里,對(duì)應(yīng)34×1038、62×1057、1.1×1077個(gè)密鑰。

非對(duì)稱(chēng)加密算法

不對(duì)稱(chēng)加密算法使用兩把完全不同但又是完全匹配的一對(duì)鑰匙—公鑰和私鑰。在使用不對(duì)稱(chēng)加密算法加密文件時(shí),只有使用匹配的一對(duì)公鑰和私鑰,才能完成對(duì)明文的加密和解密過(guò)程。采用不對(duì)稱(chēng)加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機(jī)生成的公鑰送給發(fā)信方,而自己保留私鑰。由于不對(duì)稱(chēng)算法擁有兩個(gè)密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據(jù)加密。廣泛應(yīng)用的不對(duì)稱(chēng)加密算法有RSA算法和美國(guó)國(guó)家標(biāo)準(zhǔn)局提出的DSA。以不對(duì)稱(chēng)加密算法為基礎(chǔ)的加密技術(shù)應(yīng)用非常廣泛。

RSA加密算法

RSA加密算法是目前最有影響力的公鑰加密算法,并且被普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。RSA是第一個(gè)能同時(shí)用于加密和數(shù)宇簽名的算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA加密算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開(kāi)作為加密密鑰。

DSA加密算法

DSA是基于整數(shù)有限域離散對(duì)數(shù)難題的,其安全性與RSA相比差不多。DSA的一個(gè)重要特點(diǎn)是兩個(gè)素?cái)?shù)公開(kāi),這樣,當(dāng)使用別人的p和q時(shí),即使不知道私鑰,你也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的,還是作了手腳。RSA算法卻做不到。DSA只是一種算法,和RSA不同之處在于它不能用作加密和解密,也不能進(jìn)行密鑰交換,只用于簽名,它比RSA要快很多.

ECC加密算法

橢圓加密算法(ECC)是一種公鑰加密體制,最初由Koblitz和Miller兩人于1985年提出,其數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上的有理點(diǎn)構(gòu)成Abel加法群上橢圓離散對(duì)數(shù)的計(jì)算困難性。公鑰密碼體制根據(jù)其所依據(jù)的難題一般分為三類(lèi):大整數(shù)分解問(wèn)題類(lèi)、離散對(duì)數(shù)問(wèn)題類(lèi)、橢圓曲線類(lèi)。有時(shí)也把橢圓曲線類(lèi)歸為離散對(duì)數(shù)類(lèi)。橢圓曲線密碼體制是目前已知的公鑰體制中,對(duì)每比特所提供加密強(qiáng)度最高的一種體制。解橢圓曲線上的離散對(duì)數(shù)問(wèn)題的最好算法是Pollard rho方法,其時(shí)間復(fù)雜度為,是完全指數(shù)階的。

不可逆加密算法

不可逆加密算法的特征是加密過(guò)程中不需要使用密鑰,輸入明文后由系統(tǒng)直接經(jīng)過(guò)加密算法處理成密文,這種加密后的數(shù)據(jù)是無(wú)法被解密的,只有重新輸入明文,并再次經(jīng)過(guò)同樣不可逆的加密算法處理,得到相同的加密密文并被系統(tǒng)重新識(shí)別后,才能真正解密。在計(jì)算機(jī)網(wǎng)絡(luò)中應(yīng)用較多不可逆加密算法的有RSA公司發(fā)明的MD5算法和由美國(guó)國(guó)家標(biāo)準(zhǔn)局建議的不可逆加密標(biāo)準(zhǔn)SHS等。

MD5加密算法

MD5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。對(duì)MD5加密算法簡(jiǎn)要的敘述可以為:MD5以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成—個(gè)128位散列值。

MD5被廣泛用于各種軟件的密碼認(rèn)證和鑰匙識(shí)別上。MD5用的是哈希函數(shù),它的典型應(yīng)用是對(duì)一段信息產(chǎn)生信息摘要,以防止被篡改。MD5的典型應(yīng)用是對(duì)一段Message產(chǎn)生fingerprin指紋,以防止被“篡改”。如果再有—個(gè)第三方的認(rèn)證機(jī)構(gòu),用MD5還可以防止文件作者的“抵賴(lài)”,這就是所謂的數(shù)字簽名應(yīng)用。MD5還廣泛用于操作系統(tǒng)的登陸認(rèn)證上,如UNIX、各類(lèi)BSD系統(tǒng)登錄密碼、數(shù)字簽名等諸多方。

SHA1加密算法

SHA1是和MD5一樣流行的消息摘要算法。SHA加密算法模仿MD4加密算法。SHA1設(shè)計(jì)為和數(shù)字簽名算法(DSA)一起使用。

SHA1主要適用于數(shù)字簽名標(biāo)準(zhǔn)里面定義的數(shù)字簽名算法。對(duì)于長(zhǎng)度小于2“64位的消息,SHA1會(huì)產(chǎn)生一個(gè)160位的消息摘要。當(dāng)接收到消息的時(shí)候,這個(gè)消息摘要可以用來(lái)驗(yàn)證數(shù)據(jù)的完整性。在傳輸?shù)倪^(guò)程中,數(shù)據(jù)很可能會(huì)發(fā)生變化,那么這時(shí)候就會(huì)產(chǎn)生不同的消息摘要。SHA1不可以從消息摘要中復(fù)原信息,而兩個(gè)不同的消息不會(huì)產(chǎn)生同樣的消息摘要。這樣,SHA1就可以驗(yàn)證數(shù)據(jù)的完整性,所以說(shuō)SHA1是為了保證文件完整性的技術(shù)。

SHA1加密算法可以采用不超過(guò)264位的數(shù)據(jù)輸入,并產(chǎn)生一個(gè)160位的摘要。輸入被劃分為512位的塊,并單獨(dú)處理。160位緩沖器用來(lái)保存散列函數(shù)的中間和最后結(jié)果。緩沖器可以由5個(gè)32位寄存器(A、B、C、D和E)來(lái)表示。SHA1是一種比MD5的安全性強(qiáng)的算法,理論上,凡是采取“消息摘要”方式的數(shù)字驗(yàn)證算法都是有“碰撞”的——也就是兩個(gè)不同的東西算出的消息摘要相同,互通作弊圖就是如此。但是安全性高的算法要找到指定數(shù)據(jù)的“碰撞”很困難,而利用公式來(lái)計(jì)算“碰撞”就更困難一目前為止通用安全算法中僅有MD5被破解。

當(dāng)然除上述加密算法以外,也存在著其他方法,小編找到了一張圖表,以做補(bǔ)充。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2898

    文章

    43780

    瀏覽量

    369061
  • 加密算法
    +關(guān)注

    關(guān)注

    0

    文章

    210

    瀏覽量

    25514
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8831

    瀏覽量

    137137

原文標(biāo)題:大數(shù)據(jù)時(shí)代,嵌入式工程師必須知道的八大加密算法

文章出處:【微信號(hào):WW_CGQJS,微信公眾號(hào):傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于幾種常用加密算法比較

    AES加密算法是密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn),該加密算法采用對(duì)稱(chēng)分組密碼體制,密鑰長(zhǎng)度的最少支持為128、192、256,分組長(zhǎng)度128位,算法應(yīng)易于各種硬件和
    的頭像 發(fā)表于 03-19 09:21 ?5808次閱讀
    關(guān)于幾種常用<b class='flag-5'>加密算法</b>比較

    RC4加密算法的FPGA設(shè)計(jì)與實(shí)現(xiàn)

    RC4加密算法的FPGA設(shè)計(jì)與實(shí)現(xiàn) RC4算法是一種密匙長(zhǎng)度可變的加密算法.因其實(shí)現(xiàn)方便,安全性高,廣泛應(yīng)用于無(wú)線網(wǎng)絡(luò)通信. 信息加密隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,傳統(tǒng)的
    發(fā)表于 08-11 11:48

    汽車(chē)遙控加密算法

    本人在公司主要做國(guó)內(nèi)整車(chē)廠的遙控器,主要是用keeloq,Hitag2 ,Hitag3 ,AES加密算法,想請(qǐng)教下論壇里的大牛,像奧迪,奔馳,寶馬等豪車(chē)的遙控器用什么加密算法?
    發(fā)表于 02-17 21:04

    軟件加密技術(shù)和注冊(cè)機(jī)制加密基礎(chǔ)

    密碼系統(tǒng)的安全性只在于密鑰的保密性,而不在算法的保密性。  對(duì)純數(shù)據(jù)的加密的確是這樣。對(duì)于你不愿意讓他看到這些數(shù)據(jù)(數(shù)據(jù)的明文)的人,用可靠的加密算法,只要破解者不知...
    發(fā)表于 07-19 07:33

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法。DES中的密鑰key為8個(gè)字節(jié)64位,但每第8個(gè)為校驗(yàn)位不參
    發(fā)表于 07-22 09:13

    對(duì)稱(chēng)加密算法是什么

    對(duì)稱(chēng)加密算法也叫私鑰加密算法,其特征是收信方和發(fā)信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價(jià)的。非對(duì)稱(chēng)加密算法也叫公鑰加密算法。其特
    發(fā)表于 07-22 07:09

    軟件加密算法都有哪些,這些算法在哪些方面得到了應(yīng)用

    伴隨著人工智能、物聯(lián)網(wǎng)時(shí)代的到來(lái),數(shù)據(jù)應(yīng)用變得頻繁起來(lái),數(shù)據(jù)安全應(yīng)該如何保護(hù)?軟件加密算法都有哪些,這些算法在哪些方面
    發(fā)表于 12-21 07:04

    淺談對(duì)稱(chēng)加密算法與非對(duì)稱(chēng)密鑰加密算法

    什么是對(duì)稱(chēng)密鑰密碼體制?對(duì)稱(chēng)密鑰密碼體制的缺點(diǎn)是什么?非對(duì)稱(chēng)加密算法又是什么?非對(duì)稱(chēng)加密算法的缺點(diǎn)是什么?
    發(fā)表于 12-23 06:05

    介紹一種有效的軟件加密算法

    軟件加密算法有何功能呢?如何對(duì)軟件加密算法進(jìn)行測(cè)試呢?
    發(fā)表于 01-20 07:31

    嵌入式軟件加密算法的相關(guān)資料分享

    嵌入式軟件加密算法
    發(fā)表于 02-11 07:11

    labview md5加密算法.llb

    md5加密算法 md5加密算法 md5加密算法 md5加密算法
    發(fā)表于 05-25 14:25 ?109次下載

    嵌入式工程師需知道的實(shí)用算法

    伴隨著人工智能、物聯(lián)網(wǎng)時(shí)代的到來(lái),數(shù)據(jù)應(yīng)用變得頻繁起來(lái),數(shù)據(jù)安全應(yīng)該如何保護(hù)?軟件加密算法都有哪些,這些算法在哪些方面
    發(fā)表于 11-27 16:52 ?1915次閱讀

    解讀保護(hù)數(shù)據(jù)安全的八種軟件加密算法

    對(duì)稱(chēng)加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱(chēng)加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過(guò)特殊加密算法處理后,使其變成復(fù)雜
    的頭像 發(fā)表于 11-28 10:18 ?9521次閱讀
    解讀保護(hù)數(shù)據(jù)安全的八種<b class='flag-5'>軟件加密算法</b>

    舉例幾種常見(jiàn)的加密算法

    今天主要總結(jié)下常用的對(duì)稱(chēng)性加密算法DES和AES,非對(duì)稱(chēng)性加密算法RSA。 01 ?DES加密算法 1.DES含義 DES全稱(chēng)為Data Encrypt
    的頭像 發(fā)表于 04-28 13:52 ?2w次閱讀
    舉例幾種常見(jiàn)的<b class='flag-5'>加密算法</b>

    Go常用的加密算法詳細(xì)解讀

    【導(dǎo)讀】本文介紹了常用的加密算法,并對(duì)這些加密算法結(jié)合實(shí)際 golang 代碼段進(jìn)行了詳細(xì)解讀。 前言 加密解密在實(shí)際開(kāi)發(fā)中應(yīng)用比較廣泛,常用加解密分為:“對(duì)稱(chēng)式”、“非對(duì)稱(chēng)式”和”數(shù)
    的頭像 發(fā)表于 09-01 14:47 ?2903次閱讀