加密演算法 公鑰密碼 摘要演算法

2021-10-07 20:27:49 字數 3807 閱讀 8979

des 資料加密標準,是一種使用金鑰加密的塊演算法。des中的金鑰key為8個位元組64位,但每第8個為校驗位不參與運算,所以有效金鑰只有56位,data為8個位元組64位,是要被加密或解密的資料,des採用16輪運算,每輪產生乙個輪金鑰參與到運算中,金鑰與明文運算時採用按位異或的方法(不僅僅是與金鑰異或),但每一位存放的資料只有0或1,因此,des的金鑰空間僅僅只有2^56。

由於金鑰太短,des被破解的可能性太大,於是產生了3des演算法,即3重des。也稱3重資料加密演算法。3des採用48輪運算,使他對差分密碼分析有很強的抵禦能力,但因要執行額外的操作,所以嚴重影響其效能,3des加密與解密所用的時間時des的三倍。

3des可以在不同模式下執行,選擇的模式決定他所使用的金鑰數量和執行的功能,如下:

des-eee3 使用3個不同金鑰進行加密,資料被加密、加密、再加密

des-ede3使用3個不同金鑰進行加密,資料被加密、解密、再加密

des-eee2 與des-eee3相同,只是用兩個金鑰,第乙個與第三個加密過程使用相同金鑰

des-ede2 與des-ede3相同,只是用兩個金鑰,第乙個與第三個加密過程使用相同金鑰ede 中使用乙個對稱金鑰進行加密並使另乙個對稱金鑰進行解密時,它應當變得更加混亂無序,因此資料再第二步並沒有進行解密,而是使用乙個不同的金鑰進行解密的過程而已。

3des的金鑰大小為112和168位,增加了它的金鑰長度。

密碼學中的高階加密標準,又稱rijndael加密法,aes密碼與分組密碼rijndael基本完全一致,rijndael分組大小和金鑰大小都可以為128、192、256 位,然而aes標準分組大小要求位128位,因此只有分組長度為128位的rijndael才稱為aes演算法。

這個標準用來替代des,高階加密標準由美國國家標準與技術研究院(nist)於2023年11月26日發布fips pub 197,並在2023年5月26日稱為有效標準。由於金鑰不同,aes加入運算的輪次也不相同

,金鑰長度

輪次128位

10輪192位

12輪1256位

14輪aes由所謂的層組成,每一層操控資料路徑對應的所有128位,稱為演算法狀體。總共有三種不同型別的層,除第一輪外,其餘每一層都由三層組成,明文用x表示,密文用夕表示,輪數用nr表示,此外最後一層並沒用,mixcolumn變換,而這種方式使得解密方案和解密方案正好對稱。

國際資料加密演算法,是一種分組密碼,它處理64位資料分組,64位大小的資料分組劃分為16個更小的分組,每個小分組都執行8輪數學函式運算。idea使用金鑰長度位為128位,在軟體實現時,他比des更快。idea演算法提供了與des類似的模式,但由於使用的金鑰更長,因此更難破解。應用在pgp和其他加密軟體實現中 ,被認為是des替代品,不過由於申請專利使用必須支付費用。

blowfish 也屬於分組密碼,它處理64位資料分組,金鑰長度為32-448位,資料分組要經過16輪加密函式運算,得到密文,設計目的位替代des,不會申請專利,演算法公開。

rc5是一種人族密碼,其引數是可以改變的(如分組大小、金鑰長度、執行輪次),由ronrives,設計,並由rsa 資料安全公司分析,演算法通常使用的分組大小位32位、64位、128位。其金鑰長度可達2048位。用於加密和解密的輪次也是可變的,最多255輪。

在rc5的基礎上構建的分組密碼,因此它的所有屬性與rc5相同,這一演算法主要作為aes提交這一專案而開發的,但最終nist選擇了rijndate,他對rc5演算法進行了一些修改,以提高整體速度,在一些資料中,你可能會遇到 rc5-w/r/b 或rc5-32/12/16 這類符號,他是說明演算法配置的簡略表示式。

w= 字長 單位為位 ,長度可16 32 64 位

r= 輪數 其值介於0–255之間,

b是位數(位元組數)

rc5-32/12/16 表示 字長32位,加密64位資料分組 使用12輪運算,具有12個位元組(128位)金鑰

開發人員針對特殊實現來配置演算法的這些引數 位開發人員提供很大靈活性

2023年我國公布了sm4密碼演算法 。這些演算法目的是為了保護靜態儲存和傳輸通道中的資料。

sm4增加了非線性變換,理論上提供演算法的安全性。

sm1演算法並未公開,僅知金鑰長度位128位,加密強度與aes相當,呼叫該演算法時,需要通過加密晶元介面來呼叫,其加密與硬體相關,金鑰隨機數由硬體的來,用來做國內小型支付,門禁等小件加密。

**現國際主流加密依然是3des和 aes 加密演算法,國內相關法律規定 加密演算法為 sm1 sm4

des演算法

aes演算法

sm1演算法

sm4演算法

計算基礎

2進製16進製制

未公開2進製

演算法結構

使用標準的算數和邏輯運算先代替後置換,s盒非線性變換

位元組代換、行代換、列代換、s盒非線性變換

未公開基本函式加迭代,含非線性迭代

加解密演算法是否相同是是

未公開是

計算輪數

16輪 3des16*3

10輪/ 金鑰192 位12輪 / 256位14輪

未公開32輪

分組長度

64位128位

128位

128位

金鑰長度

64位( 3des128位)

128位 (其他演算法192、256)

128位

128位

有效金鑰長度

56位( 3des128位)

128位 (其他演算法192、256)

128位

128位

實現難度

易於實現

易於實現

未公開易於實現

實現效能

軟體慢、硬體快

較高、解密比加密效率高

未公開軟體實現和硬體實現都快

安全性較低 3des較高

較高與aes相當

演算法較新,國內標配

在對稱加密過程中,需要解決金鑰傳遞問題,大部分情況使用不安全通道建立金鑰傳輸,訊息傳遞使用的通訊鏈路時不安全的。通訊雙方擁有金鑰相同,則能力相同,缺少不可抵賴性。

在公鑰加密演算法中,加密者用來加密訊息的金鑰沒有必要保密,重點在於接收者只有使用解密金鑰才能解密,密碼k被分為兩部分,公開的kpub 和 kpr

實際中用於資料小片段加密,尤其用於金鑰傳輸,數字簽名,internet上的數字簽名,rcs作為非對稱演算法加密的基礎,逐漸被ecc取代,但大部分證書依然使用rsa加密

所有非堆成的方案的顯著特徵是:都有乙個計算公鑰和私鑰的握手階段,金鑰生成依賴於公鑰方案。

diffie - hellman 金鑰交換 與2023年提出,提供了實際中金鑰分配問題的方案,允許雙發通過不安全通道進行交流,得到共同金鑰,比如 安全外殼 (ssh)傳輸層安全(tls)internet 協議安全(ipsec)

diffie - hellman 分為握手協議與交換協議

基於橢圓曲線加密系統,用三次方程來表示

y2= x3 +2x+2 mod 17 構成階為#e=19 的迴圈群。

sm2 演算法由國家密碼安全管理局於2010 12月17日發布,基於橢圓曲線演算法,sm2演算法使用方程為y^2 = x 3 +ax+b

國際上用ecc代替rsa。與ecc演算法演算法都採用橢圓曲線函式。sm2 在國內用於代替rsa和ecc的加密演算法

常用於國內金融體系中的簽名和驗籤

hash 雜湊函式通常又稱為單項雜湊函式,理論上是不可逆的。通常用於構建資料的指紋,當資料發生變時,指紋也會發生變化。規則如下:

對任意大小的x使用雜湊函式函式h在計算上必須是高效的,對幾百兆大小的大訊息,計算過程也必須足夠快。

輸出的長度是固定的,並且與輸入長度無關

必須對所有輸入位敏感,x發生很小變化,指紋必須看上去不同,

設計至少需要抗第一原象形,甚至還需要做到抗第二原象向性

hash函式md5 2023年8月密碼學家王小雲公布一種md5 碰撞的新方法。

公鑰加密演算法

中文名稱 數字簽名 英文名稱 digital signature 定義 以電子形式存在於資料資訊之中的,或作為其附件的或邏輯上與之有聯絡的資料,可用於辨別資料簽署人的身份,並表明簽署人對資料資訊中包含的資訊的認可。應用學科 通訊科技 一級學科 網路安全 二級學科 數字簽名 又稱公鑰數字簽名 電子簽章...

RSA公鑰加密演算法

rsa 離散對數 橢圓曲線是目前三大公鑰加密演算法,rsa是其中應用最多的一種。下面將介紹rsa演算法的理論基礎。公鑰加密或說非對稱加密其作用已經不言而喻,在實際中已經得到大量應用,比如https證書,其中便包含了 的公鑰資訊。非對稱加密與對稱加密最大的區別是,加密與解密使用不同的金鑰,通過公鑰加密...

RSA公鑰加密演算法

公鑰加密或說非對稱加密其作用已經不言而喻,在實際中已經得到大量應用,比如https證書,其中便包含了 的公鑰資訊。非對稱加密與對稱加密最大的區別是,加密與解密使用不同的金鑰,通過公鑰加密的內容只有通過私鑰才能解密,反之亦然。因此,發布者完全可以把公鑰公布於眾,使傳送者便於查詢。與此相反,對稱加密需要...