人才滿意度調(diào)查系統(tǒng)中DES加密算法的應(yīng)用

人才滿意度調(diào)查在企業(yè)中的作用越來越重要,它可以有效地增強企業(yè)的凝聚力和向心力,但如何將員工的心聲真實的反映到調(diào)查者手中才是滿意度調(diào)查的關(guān)鍵,將DES加密算法應(yīng)用到人才滿意度系統(tǒng)中,可以有效地防止員工的答卷被人為的修改,從而保證員工答卷的真實性,達到預(yù)期的目的。

一、人才滿意度調(diào)查系統(tǒng)的設(shè)計思路

本著以人為本的原則,一公司人力資源部開發(fā)了人才滿意度調(diào)查系統(tǒng)。

該系統(tǒng)具有良好的人機交互界面,員工完成所有的答題后,會形成一個文本文件,文件中保存有員工的基本信息以及試題的答案,如何將員工的答案真實、完整、有效的反映到考查者手中,成為本系統(tǒng)設(shè)計的關(guān)鍵,因此就需要對生成的文本文件進行處理,以防止員工的答題信息被篡改或者泄露,DES加密算法能夠很好的完成這一工作。

二、DES加密算法介紹

DES是一種二進制編碼數(shù)據(jù)設(shè)計的,使用64位密鑰,在內(nèi)部實現(xiàn)多次替換和變位操作,從本質(zhì)上看,它屬于一種抗破譯能力更強的乘積密碼體制。DES通過密鑰對64位的二進制信息進行加密,把明文的64位信息加密成密文的64位信息。DES加密算法的數(shù)據(jù)流程如圖2所示。該算法輸入的是64位的明文,在64位的密鑰控制下,通過初始換位IP變成T=IP(T),再對T經(jīng)過16層的加密變換,最后通過逆初始變換(也稱最后變換)得到64位的密文。密文的每—位都是由明文的每一位和密鑰的每一位聯(lián)合確定的。DES的加密過程可分為加密處理,子密鑰生成,加密變換和解密幾個過程。

1、加密處理

DES加密變換要進行加密的—組數(shù)據(jù),先要經(jīng)過初始置換IP的處理,并且要通過一系列的運算,然后經(jīng)過初始置換IP的逆置換IP給出加密結(jié)果。與密鑰有關(guān)的算法包含—個密碼函數(shù)f和密鑰編排函數(shù)KS。

第一,初始置換IP:首先對64位的明文按表1所示的IP表進行換位。數(shù)據(jù)置換之后的第一位、二位分別是原來的58位、50位。

第二,將置換輸出的64位數(shù)據(jù)分成左右兩半,左一半稱為L,右一半稱為R,各32位。

第三,計算函數(shù)的16次迭代。由加密函數(shù)f實現(xiàn)子密鑰Ki對Ri的加密,結(jié)果為32位數(shù)據(jù)組f(R0,k1)。f(R0,k1)再與L模2相加,又得到一個32位的數(shù)據(jù)組L0+ f(R0,K1),以L0+ f(R0,K1)作為第二次加密迭代的R0,以K作為第二次加密迭代的L1,第一次加密迭代過程結(jié)束。第二次加密迭代至16次加密迭代分別用子密鑰K2,...,K16進行,其過程與第一次加密迭代相同。

加密過程可用如下數(shù)學(xué)公式描述:

f函數(shù)將在后面描述,每一個長度為48的位串K1,K2,…,K16是作為密鑰K的函數(shù)而計算出來的,實際上,每一個Ki是K中位置換后的選擇,K1,K2,…,K16組成了密鑰編排。

第四,最后一次的迭代L1放在右邊,R16放在左邊。

第五,再經(jīng)逆初始置換IP-1,(表2),把數(shù)據(jù)打亂重排,產(chǎn)生64位密文。

在該人才滿意度調(diào)查系統(tǒng)中,將用戶答案中的選擇題選項分組,定義一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)中每個變量的定義為字符型,長度最好是8的整數(shù)位,因為在應(yīng)用DES加密算法過程中是對64位的二進制的數(shù)據(jù)進行處理,避免在解密的過程中會出現(xiàn)亂碼的現(xiàn)象。例如用戶的25個選擇題選項答案,組合成一個字符串AnswStr=’AAAABBBBCCCCDDDDAAAABBBBA',該字符串經(jīng)過以上加密算法后形成的密文如下:AnswDesStr=‘#l(械南緣蹄毫QZ黔鍘飼颶黔繃飼颶黔鍘飼’,這樣生成的用戶答案文本文件中就是—些加密過的文本,從而很好的達到為用戶保密的目的。

小知識之DES加密算法

DES加密算法是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。