人才满意度调查在企业中的作用越来越重要,它可以有效地增强企业的凝聚力和向心力,但如何将员工的心声真实的反映到调查者手中才是满意度调查的关键,将DES加密算法应用到人才满意度系统中,可以有效地防止员工的答卷被人为的修改,从而保证员工答卷的真实性,达到预期的目的。

一、人才满意度调查系统的设计思路

本着以人为本的原则,一公司人力资源部开发了人才满意度调查系统。

该系统具有良好的人机交互界面,员工完成所有的答题后,会形成一个文本文件,文件中保存有员工的基本信息以及试题的答案,如何将员工的答案真实、完整、有效的反映到考查者手中,成为本系统设计的关键,因此就需要对生成的文本文件进行处理,以防止员工的答题信息被篡改或者泄露,DES加密算法能够很好的完成这一工作。

二、DES加密算法介绍

DES是一种二进制编码数据设计的,使用64位密钥,在内部实现多次替换和变位操作,从本质上看,它属于一种抗破译能力更强的乘积密码体制。DES通过密钥对64位的二进制信息进行加密,把明文的64位信息加密成密文的64位信息。DES加密算法的数据流程如图2所示。该算法输入的是64位的明文,在64位的密钥控制下,通过初始换位IP变成T=IP(T),再对T经过16层的加密变换,最后通过逆初始变换(也称最后变换)得到64位的密文。密文的每—位都是由明文的每一位和密钥的每一位联合确定的。DES的加密过程可分为加密处理,子密钥生成,加密变换和解密几个过程。

1、加密处理

DES加密变换要进行加密的—组数据,先要经过初始置换IP的处理,并且要通过一系列的运算,然后经过初始置换IP的逆置换IP给出加密结果。与密钥有关的算法包含—个密码函数f和密钥编排函数KS。

第一,初始置换IP:首先对64位的明文按表1所示的IP表进行换位。数据置换之后的第一位、二位分别是原来的58位、50位。

第二,将置换输出的64位数据分成左右两半,左一半称为L,右一半称为R,各32位。

第三,计算函数的16次迭代。由加密函数f实现子密钥Ki对Ri的加密,结果为32位数据组f(R0,k1)。f(R0,k1)再与L模2相加,又得到一个32位的数据组L0+ f(R0,K1),以L0+ f(R0,K1)作为第二次加密迭代的R0,以K作为第二次加密迭代的L1,第一次加密迭代过程结束。第二次加密迭代至16次加密迭代分别用子密钥K2,...,K16进行,其过程与第一次加密迭代相同。

加密过程可用如下数学公式描述:

f函数将在后面描述,每一个长度为48的位串K1,K2,…,K16是作为密钥K的函数而计算出来的,实际上,每一个Ki是K中位置换后的选择,K1,K2,…,K16组成了密钥编排。

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

第五,再经逆初始置换IP-1,(表2),把数据打乱重排,产生64位密文。

在该人才满意度调查系统中,将用户答案中的选择题选项分组,定义一个数据结构,数据结构中每个变量的定义为字符型,长度最好是8的整数位,因为在应用DES加密算法过程中是对64位的二进制的数据进行处理,避免在解密的过程中会出现乱码的现象。例如用户的25个选择题选项答案,组合成一个字符串AnswStr=’AAAABBBBCCCCDDDDAAAABBBBA',该字符串经过以上加密算法后形成的密文如下:AnswDesStr=‘#l(械南缘蹄毫QZ黔铡饲飓黔绷饲飓黔铡饲’,这样生成的用户答案文本文件中就是—些加密过的文本,从而很好的达到为用户保密的目的。

小知识之DES加密算法

DES加密算法是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。