人才滿意度調(diào)查系統(tǒng)中DES加密算法的應(yīng)用
人才滿意度調(diào)查在企業(yè)中的作用越來(lái)越重要,它可以有效地增強(qiáng)企業(yè)的凝聚力和向心力,但如何將員工的心聲真實(shí)的反映到調(diào)查者手中才是滿意度調(diào)查的關(guān)鍵,將DES加密算法應(yīng)用到人才滿意度系統(tǒng)中,可以有效地防止員工的答卷被人為的修改,從而保證員工答卷的真實(shí)性,達(dá)到預(yù)期的目的。
一、人才滿意度調(diào)查系統(tǒng)的設(shè)計(jì)思路
本著以人為本的原則,一公司人力資源部開(kāi)發(fā)了人才滿意度調(diào)查系統(tǒng)。
該系統(tǒng)具有良好的人機(jī)交互界面,員工完成所有的答題后,會(huì)形成一個(gè)文本文件,文件中保存有員工的基本信息以及試題的答案,如何將員工的答案真實(shí)、完整、有效的反映到考查者手中,成為本系統(tǒng)設(shè)計(jì)的關(guān)鍵,因此就需要對(duì)生成的文本文件進(jìn)行處理,以防止員工的答題信息被篡改或者泄露,DES加密算法能夠很好的完成這一工作。
二、DES加密算法介紹
DES是一種二進(jìn)制編碼數(shù)據(jù)設(shè)計(jì)的,使用64位密鑰,在內(nèi)部實(shí)現(xiàn)多次替換和變位操作,從本質(zhì)上看,它屬于一種抗破譯能力更強(qiáng)的乘積密碼體制。DES通過(guò)密鑰對(duì)64位的二進(jìn)制信息進(jìn)行加密,把明文的64位信息加密成密文的64位信息。DES加密算法的數(shù)據(jù)流程如圖2所示。該算法輸入的是64位的明文,在64位的密鑰控制下,通過(guò)初始換位IP變成T=IP(T),再對(duì)T經(jīng)過(guò)16層的加密變換,最后通過(guò)逆初始變換(也稱最后變換)得到64位的密文。密文的每—位都是由明文的每一位和密鑰的每一位聯(lián)合確定的。DES的加密過(guò)程可分為加密處理,子密鑰生成,加密變換和解密幾個(gè)過(guò)程。
1、加密處理
DES加密變換要進(jìn)行加密的—組數(shù)據(jù),先要經(jīng)過(guò)初始置換IP的處理,并且要通過(guò)一系列的運(yùn)算,然后經(jīng)過(guò)初始置換IP的逆置換IP給出加密結(jié)果。與密鑰有關(guān)的算法包含—個(gè)密碼函數(shù)f和密鑰編排函數(shù)KS。
第一,初始置換IP:首先對(duì)64位的明文按表1所示的IP表進(jìn)行換位。數(shù)據(jù)置換之后的第一位、二位分別是原來(lái)的58位、50位。
第二,將置換輸出的64位數(shù)據(jù)分成左右兩半,左一半稱為L(zhǎng),右一半稱為R,各32位。
第三,計(jì)算函數(shù)的16次迭代。由加密函數(shù)f實(shí)現(xiàn)子密鑰Ki對(duì)Ri的加密,結(jié)果為32位數(shù)據(jù)組f(R0,k1)。f(R0,k1)再與L模2相加,又得到一個(gè)32位的數(shù)據(jù)組L0+ f(R0,K1),以L0+ f(R0,K1)作為第二次加密迭代的R0,以K作為第二次加密迭代的L1,第一次加密迭代過(guò)程結(jié)束。第二次加密迭代至16次加密迭代分別用子密鑰K2,...,K16進(jìn)行,其過(guò)程與第一次加密迭代相同。
加密過(guò)程可用如下數(shù)學(xué)公式描述:
f函數(shù)將在后面描述,每一個(gè)長(zhǎng)度為48的位串K1,K2,…,K16是作為密鑰K的函數(shù)而計(jì)算出來(lái)的,實(shí)際上,每一個(gè)Ki是K中位置換后的選擇,K1,K2,…,K16組成了密鑰編排。
第四,最后一次的迭代L1放在右邊,R16放在左邊。
第五,再經(jīng)逆初始置換IP-1,(表2),把數(shù)據(jù)打亂重排,產(chǎn)生64位密文。
在該人才滿意度調(diào)查系統(tǒng)中,將用戶答案中的選擇題選項(xiàng)分組,定義一個(gè)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)中每個(gè)變量的定義為字符型,長(zhǎng)度最好是8的整數(shù)位,因?yàn)樵趹?yīng)用DES加密算法過(guò)程中是對(duì)64位的二進(jìn)制的數(shù)據(jù)進(jìn)行處理,避免在解密的過(guò)程中會(huì)出現(xiàn)亂碼的現(xiàn)象。例如用戶的25個(gè)選擇題選項(xiàng)答案,組合成一個(gè)字符串AnswStr=’AAAABBBBCCCCDDDDAAAABBBBA',該字符串經(jīng)過(guò)以上加密算法后形成的密文如下:AnswDesStr=‘#l(械南緣蹄毫QZ黔鍘飼颶黔繃飼颶黔鍘飼’,這樣生成的用戶答案文本文件中就是—些加密過(guò)的文本,從而很好的達(dá)到為用戶保密的目的。
小知識(shí)之DES加密算法
DES加密算法是一種對(duì)稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中,最初開(kāi)發(fā)的DEA是嵌入硬件中的。










