APP開發(fā)關(guān)于安全問題之對(duì)稱密碼體系。開發(fā)APP在對(duì)稱密碼體系中,加/解密算法完全相同,并只交換共享的專用密鑰(加密和解密都使用相同的密鑰)。如果交易各方能夠保證專用密鑰在傳輸過程中不被黑客竊取,則可以利用對(duì)稱加密體系加密重要信息,進(jìn)而保證報(bào)文的機(jī)密性。密鑰安全交換是保證對(duì)稱加密有效性的核心內(nèi)容。在對(duì)稱密碼體系中,按照對(duì)明文消息加密方式的不同,密碼可以分為分組密碼( Block Cipher)和流密碼( StreamCipher),
APP開發(fā)公司下面將分別進(jìn)行介紹。

1.APP開發(fā)關(guān)于安全問題之分組密碼
APP開發(fā)分組密碼是將明文消息編碼表示后的數(shù)字(簡(jiǎn)稱明文數(shù)字)序列劃分成固定長(zhǎng)度的組,每組分別在密鑰的控制下變換成等長(zhǎng)的輸出數(shù)字(簡(jiǎn)稱密文數(shù)字)序列。常用的對(duì)稱加密分組密碼算法包括DES、3DES、IDEA、AES等1。DES (Data Encryption Standard,數(shù)據(jù)加密標(biāo)準(zhǔn))算法是由IBM設(shè)計(jì)的、應(yīng)用最廣泛的對(duì)稱加密算法。該算法是ATM網(wǎng)絡(luò)的標(biāo)準(zhǔn)。DES通過傳統(tǒng)的換位與置換的方式進(jìn)行加密,DES使用64位密鑰,其中,56位為實(shí)際使用的密鑰,另外8位用于奇偶校驗(yàn)。加密過程中經(jīng)歷16輪迭代,每一輪采用一種乘積密碼方式(代替和移位)。
截至目前,除去窮舉法對(duì)DES實(shí)施攻擊外,尚未找到有效的破解方法。然而,DES密鑰長(zhǎng)度較短,為56位,可以增加DES密鑰長(zhǎng)度,進(jìn)一步提高該算法的安全性。DES主要利用多次換位與置換,進(jìn)而完成數(shù)據(jù)加密,這里的變換規(guī)則與置換規(guī)則是固定不變的。如果變換規(guī)則與置換規(guī)則設(shè)置為動(dòng)態(tài)的,攻擊者若不能獲取變換規(guī)則表,也就無法破解DES算法,該算法的安全性將得以進(jìn)一步提高。3DES (Triple DES)是DES加密算法的一種模式, 它使用3條56位的密鑰對(duì)數(shù)據(jù)進(jìn)行3次加密。由于計(jì)算機(jī)運(yùn)算能力的增強(qiáng),原版DES密碼的密鑰長(zhǎng)度容易被暴力破解。3DES提供一種相對(duì)簡(jiǎn)單的方法,即通過增加DES的密鑰長(zhǎng)度來避免類似的攻擊,而不是設(shè)計(jì)一種全新的塊密碼算法。比起最初的DES, 3DES更為安全。盡管美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)已選擇Rijndael算法來替代DES,但NIST仍然希望3DES繼續(xù)運(yùn)行和使用一段時(shí)間。 IDEA (International Data Encryption Algorithm,國(guó)際數(shù)據(jù)加密算法)是旅居瑞士的中國(guó)青年學(xué)者來學(xué)嘉和著名密碼專家J.Massey于1990年提出的。它在1990年正式公布,之后得到了增強(qiáng)。這種算法也是在DES算法的基礎(chǔ)上發(fā)展出來的,類似于3DES。IDEA的提出也是出于對(duì)DES密鑰長(zhǎng)度短的考慮。它設(shè)計(jì)了一系列加密輪次,每輪加密都使用一個(gè)從完整的加密密鑰中生成的子密鑰。與DES的不同之處在于,它采用軟件實(shí)現(xiàn)和采用硬件實(shí)現(xiàn)同樣快速。IDEA的密鑰為128位,截至目前相對(duì)安全,不過由于申請(qǐng)了專利,使用IDEA時(shí)必須支付專利費(fèi)。
AES ( Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn))在密碼學(xué)中又稱Rijndael加密法。該算法由比利時(shí)密碼學(xué)家Joan Daemen和Vincent Rijmen所設(shè)計(jì)。不同于它的標(biāo)準(zhǔn)DES,Rijndael使用的 是SP網(wǎng)絡(luò)(替代----置換網(wǎng)絡(luò)) ,而非Feistel架構(gòu)。AES在軟件及硬件上都能快速地加/解密,相對(duì)來說較易于實(shí)作,且只需很少的存儲(chǔ)器。AES是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且為全世界所使用。經(jīng)過5年的甄選流程,AES由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院于2001年11月26日發(fā)布,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,AES已成為對(duì)稱密鑰加密中最流行的算法之一。
2.APP開發(fā)關(guān)于安全問題之流密碼
流密碼又稱為序列密碼,也是一種重要的對(duì)稱密碼算法。通常來說,流密碼可以看作是-個(gè)輸入長(zhǎng)度固定、輸出非常長(zhǎng)的、位流的隨機(jī)生成模型。流密碼的基本加密過程如圖3-2所示。

先由種子密碼生成一個(gè)密鑰流,然后與明文流進(jìn)行加密變換形成密文流。流密碼具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)施、加/解密處理速度快、沒有或只有有限的錯(cuò)誤傳播等特點(diǎn)。因此,在實(shí)際應(yīng)用中,特別是在專用或機(jī)密機(jī)構(gòu)中保持著優(yōu)勢(shì)。典型的應(yīng)用領(lǐng)域包括無線通信、外交通信。1949年Shannon證明了只有一次一密(OTP)的密碼體制是絕對(duì)安全的,這給序列密碼技術(shù)的研究以強(qiáng)大的支持(一次一密密碼方案可以看作是流密碼的雛形)。目前,常見的序列密碼算法主要有RC4[4,5] (Rivest Cipher4)、SEAL等。 RC4是Ron Rivest在1987年設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法。它加/解密使用相同的密鑰,因此也屬于對(duì)稱加密算法。RC4 是最常用的密碼之一。RC4由偽隨機(jī)數(shù)生成器和異或運(yùn)算組成。RC4的密鑰長(zhǎng)度可變,范圍是1~255。 RC4逐個(gè)字節(jié)進(jìn)行加/解密。由于異或運(yùn)算的對(duì)合性( Involution,逆運(yùn)算等于自身的運(yùn)算),RC4加密解密使用同一套算法。對(duì)稱加密算法的優(yōu)勢(shì)在于:加/解密速度快、效率高,適合大量數(shù)據(jù)加密的情況。但缺點(diǎn)在于:
①需要額外的安全機(jī)制用于交換共享密鑰,密鑰有被截獲的安
全風(fēng)險(xiǎn);
②多方通信時(shí)所需密鑰數(shù)量以幾何速度增加,對(duì)諸多密鑰的管理較為困
難;
③無法提供不可抵賴性等重要安全功能。好了,
深圳APP開發(fā)公司本文關(guān)于“APP開發(fā)關(guān)于安全問題之對(duì)稱密碼體系”知識(shí)就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。