大势至电脑文件加密软件基于全球最强的椭圆曲线算法构建的电脑文件加密技术,不仅可以加密电脑磁盘文件,而且还可以对移动存储设备进行高强度加密,所有加密文件不可以通过任何方式逆向或解密。同时,不同于同类加密软件解密后无法再次控制其访问权限,即便通过大势至电脑文件加密软件界面后,依然还可以控制解密后的文件访问权限,实现了文件的全程操作控制,最大限度了保护了被加密文件的安全。


那么,大势至电脑文件加密技术与市场主流的电脑文件加密系统有和不同呢?这就需要我们深入了解电脑文件加密技术的前世今生。


在Windows平台下,文件夹加密的方式归纳起来有两种: 
   
  一种是简单地对文件夹进行各种方式的隐藏,甚至利用Windows的漏洞进行隐藏,这种软件根本就没有对数据进行任何加密处理,所以才宣称“ 加密速度极快,上百G的数据仅需1秒钟完成。 没有大小限制。”但是,这种文件夹加密方式的加密效果极其脆弱,极容易被一些稍微懂一些解密技术的人员解密破解。
   
  另一种是利用WIndows内核的文件操作监控来对文件和文件夹进行安全保护。这是目前最优秀,最安全的加密方式。这方面的代表软件是美国的 PGP加密软件。这种软件的核心思想是利用逻辑分区保护文件,比如,逻辑分区E:是受PGP保护的硬盘分区,那么,每次打开这个分区的时候,需要输入密码 才能打开这个分区,在这个分区内的文件是非常安全的。不再需要这个分区时,可以把这个分区关闭并使其从桌面上消失,当再次打开时,需要输入密码。没有密 码,软件开发者本人也无法解密。


一、电脑文件加密技术原理


1)密钥与算法


(一) 密码技术


1.   密码技术的必要性


必须经过公共通道(如  Internet)传输的敏感信息通常不是以明文而是以密文的方式 进行通讯传输的。电子商务特别依赖于加密或秘密代码形式来保护信息。加密的目的是使黑客在获得通过网络传输的秘密文件时,无法将它恢复为原文,密码技术是保证网络、信息安全的核心技术。

 

2. 加密技术


 加密是对原来明文信息中的加密为衔文数字信息。解密是将加密的一段密文信息恢复为原来的明文信息。加密就是信息的变异,它将某种形式(文本、视频、图像)的信息转变为仅通过解密密钥解密后才可读的形式。


基本的加密方法有:替换加密和转换加密。

 

3.   替换加密法


(1) 单字母加密方法


 即利用另一个字母表(与正常的字母表符号或顺序不同)中的字母替代明文中的字母。 单字母加密的方法有很多中,这里介绍其中几种。


例 1:恺撒(Caesar)密码。


这是加密法中最古老的一种,它使用的密码字母表与普通字母表相同,加密时把明文中 的每个字母都用字母表中该字母右边移动固定数目后的位置的字母替代,并认为 Z 后面是 A。 这个固定数目称为偏移量,我们称其为密钥(Key)。比如,取每个字母其右边第K个字母作为偏移量,则密钥为这个数字 K。


举例来说,如果明文为“important”,  其偏移量为 3,Key=3,第一个字母“i”在字目表上右移 3 个字母后为“L”,照此类推,则密文(记做 C)则为“LPSRUWDQW”。


可见,即使算法公开,别人如果不知道偏移量为3,仍然不能解密。加密者不必担心算 法被他人知道,他主要关心密钥不被他人知道。


单字母替换加密法由于是一个明文字母对应唯一一个密文字母。密码分析者可将密文中 字母出现的频率与这些统计相比较,因而容易逐个击破直至最后破译。


(2) 多字母加密方法


多字母加密是使用密钥进行加密。密钥是一组信息(一串字符)。同一个明文经过不同 的密钥加密后,其密文也会不同。


例 1:维吉尼亚(Vigenere)密码。 Vigenere(维吉利亚)是法国密码专家,以他名字命名的密码是这样的: 假设明文 m=m1m2m3......mn,


密钥 Key=K1K2K3......Kn, 对应密文 C=C1C2C3......Cn,


则:Ci = mi + Ki mod 26,i = 1,2,......n, 其中,26 个字母的序号对应是 0------25


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


Ci  是密文中第 i 个字母的序号,


mi  是明文中第 i 个字母的序号,


Ki  是密钥 Key 中第 i 个字母的序号,


如果 m=information


Key=STAR


则 C=AGFFJFAKAHN


密钥 Key 的循环出现使其长度与明文一样,密文中的字母 A 在明文中是 i 和 a;而明文中的字母 o 在密文中是 F 和 H。


Vigenere 密码的密钥长度若增加,破译的难度也将增加,若密钥的长度与明文的长度一样,而且是随机的,Vigenere 密码可做到一次一密。


Vigenere 算法可以公开,但是,只要密钥  Key=STAR 保密,就不能解密。可见,密钥是加密技术的关键。

 

4.   转换加密法 在替换加密发中,原文的顺序没被改变,而是通过各种字母映射关系把原文隐藏了起来。


转换加密法是将原字母的顺序打乱,将其重新排列。如:


it can allow students to get close up views 将其按顺序分为 5 个字符的字符串:


itcan


allow


stude


ntsto


getcl


oseup


views


再将其按先列后行的顺序排列,就形成了密文:


即密文 C 为“IASNGOVTLTTESICLUSTEEAODTCUWNWEOLPS” 如果将每一组的字母倒排,也形成一种密文:

C=NACTIWOLLAEDUTSOTSTNLCTEGPUESOSWEIV 数据加密是大家熟知的保证安全通信的手段。由于计算机技术的发展,人们借助于计算


机进行分析处理,密码的破译能力也不断提高。

 

 (二) 加密技术分类


1.   Kerckhoff 原则


系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这是著名的 Kerckhoff 原则。


算法不是重点保密对象。密钥是重点保密对象。 因此,加密技术实际上是围绕着密钥展开的。


当前有广泛使用的加密方法。较老的也是较简单的称为“单钥“或“秘密密钥“加密,。近来兴起的方法称“公开密钥“加密。

 

2.  加密技术分类 根据信息加密使用的密钥体制的不同,可以将加密技术分为两类:


1) 对称加密体制(对称密钥体制、单密钥体制) 在专用网络上的安全性较满意,但是在公开的计算机网络使用时受制约。


2) 非对称加密体制(非对称密钥体制、公开密钥体制、公钥体制)。 适合在公开的计算机网络使用。

 

(三) DES算法概述


  DES( Data Encryption Standard)算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。


  DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。


  通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。

 

1 算法框架:


    DES对64(bit)位的明文分组M进行操作,M经过一个初始置换IP置换成m0,将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。经过16轮后,左,右半部分合在一起经过一个末置换,这样就完成了。


    在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,就实现了。具体图所示。
 
2 DES解密


  在经过所有的代替、置换、异或盒循环之后,你也许认为解密算法与加密算法完全不同。恰恰相反,经过精心选择的各种操作,获得了一个非常有用的性质:加密和解密使用相同的算法。


DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1,K2,K3….K16那么解密密匙就是K16,K15,K14…K1。

 

(四) IDEA算法


IDEA是International Data Encryption Algorithm 的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai 和Massey提出的建议标准算法称作PES( Proposed Encryption Standard) 。Lai 和Massey 在1992 年进行了改进强化了抗差分分析的能力改称为IDEA 它也是对64bit大小的数据块加密的分组加密算法密钥长度为128位它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在实现上快的多。IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。

 

1算法框架


     输入的64-位数据分组被分成4个16-位子分组:xl,X2,x3和x4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相互相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第三个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。


  在每一轮中,执行的顺序如下:


  (1)X1和第一个子密钥相乘。


  (2)x2和第二个子密钥相加。


  (3)X3和第三个子密钥相加。


  (4)x4和第四个子密钥相乘。


  (5)将第(1)步和第(3)步的结果相异或。


  (6)将第(2)步和第(4)步的结果相异或。


  (7)将第(5)步的结果与第五个子密钥相乘。


  (8)将第(6)步和第(7)步的结果相加。


  (9)将第(8)步的结果与第六个子密钥相乘。


  (10)将第(7)步和第(9)步的结果相加。


  (11)将第(1)步和第(9)步的结果相异或。


  (12)将第(3)步和第(9)步的结果相异或。


  (13)将第(2)步和第(10)步的结果相异或。


  (14)将第(4)步和第(10)步的结果相异或。


  每一轮的输出是第(11)、(12)、(13)和(14) 步的结果形成的4个子分组。将中间两个分组分组交换(最后一轮除外)后,即为下一轮的输入。


  经过8轮运算之后,有一个最终的输出变换:


  (1) X1和第一个子密钥相乘。


  (2) x2和第二个子密钥相加。


  (3) x3和第三个子密钥相加。


  (4) x4和第四个子密钥相乘。


最后,这4个子分组重新连接到一起产生密文。


  产生子密钥也很容易。这个算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用与输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些是算法的第一批8个子密钥(第一轮六个,第二轮的头两个)。然后,密钥向左环移x位后再分成8个子密钥。开始4个用在第二轮,后面4个用在第三轮。密钥再次向左环移25位产生另外8个子密钥