資源簡(jiǎn)介
1.1 對(duì)稱算法
對(duì)稱算法使用一個(gè)密鑰。給定一個(gè)明文和一個(gè)密鑰,加密產(chǎn)生密文,其長(zhǎng)度和明文大致相同。解密時(shí),使用讀密鑰與加密密鑰相同。
對(duì)稱算法主要有四種加密模式:
(1) 電子密碼本模式 Electronic Code Book(ECB)
這種模式是最早采用和最簡(jiǎn)單的模式,它將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長(zhǎng)度相同,然后每組都用相同的密鑰進(jìn)行加密。
其缺點(diǎn)是:電子編碼薄模式用一個(gè)密鑰加密消息的所有塊,如果原消息中重復(fù)明文塊,則加密消息中的相應(yīng)密文塊也會(huì)重復(fù),因此,電子編碼薄模式適于加密小消息。
(2)加密塊鏈模式 Cipher Block Chaining(CBC)
CBC模式的加密首先也是將明文分成固定長(zhǎng)度的塊,然后將前面一個(gè)加密塊輸出的密文與下一個(gè)要加密的明文塊進(jìn)行異或操作,將計(jì)算結(jié)果再用密鑰進(jìn)行加密得到密文。第一明文塊加密的時(shí)候,因?yàn)榍懊鏇]有加密的密文,所以需要一個(gè)初始化向量。跟ECB方式不一樣,通過連接關(guān)系,使得密文跟明文不再是一一對(duì)應(yīng)的關(guān)系,破解起來(lái)更困難,而且克服了只要簡(jiǎn)單調(diào)換密文塊可能達(dá)到目的的攻擊。
(3)加密反饋模式 Cipher Feedback Mode(CFB)
面向字符的應(yīng)用程序的加密要使用流加密法,可以使用加密反饋模式。在此模式下,數(shù)據(jù)用更小的單元加密,如可以是8位,這個(gè)長(zhǎng)度小于定義的塊長(zhǎng)(通常是64位)。其加密步驟是:
a) 使用64位的初始化向量。初始化向量放在移位寄存器中,在第一步加密,產(chǎn)生相應(yīng)的64位初始化密文;
b) 始化向量最左邊的8位與明文前8位進(jìn)行異或運(yùn)算,產(chǎn)生密文第一部分(假設(shè)為c),然后將c傳輸?shù)浇邮辗剑?
c) 向量的位(即初始化向量所在的移位寄存器內(nèi)容)左移8位,使移位寄存器最右邊的8位為不可預(yù)測(cè)的數(shù)據(jù),在其中填入c的內(nèi)容;
d) 第1-3步,直到加密所有的明文單元。
代碼片段和文件信息
評(píng)論
共有 條評(píng)論