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


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


在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个子密钥,如此进行直到算法结束。

 

2 评价


    IDEA算法的密钥长度为128位。设计者尽最大努力使该算法不受差分密码分析的影响,数学家已证明IDEA算法在其8圈迭代的第4圈之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,那么即使设计一种每秒种可以试验10亿个密钥的专用芯片,并将10亿片这样的芯片用于此项工作,仍需1013年才能解决问题;另一方面,若用1024片这样的芯片,有可能在一天内找到密钥,不过人们还无法找到足够的硅原子来制造这样一台机器。目前,尚无一片公开发表的试图对IDEA进行密码分析的文章。因此,就现在来看应当说IDEA是非常安全的。

 

(五)RSA算法


RSA算法是 R.Rirest、ASllalnlr和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布,其算法如下:

 

找两素数p和q


取n=p*q


取t=(p-1)*(q-1)


取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)


取d*e%t==1


这样最终得到三个数: n  d  e


设消息为数M (M <n)


设c=(M**d)%n就得到了加密后的消息c


设m=(c**e)%n则 m == M,从而完成对c的解密。


注:**表示次方,上面两式中的d和e可以互换。

 

举例


找两个素数:


p=47


q=59


这样


n=p*q=2773


t=(p-1)*(q-1)=2668


取e=63,满足e<t并且e和t互素


用perl简单穷举可以获得满主 e*d%t ==1的数d:


C:\Temp>perl -e "foreach $i (1..9999){ print($i),last if $i*63%2668==1 }"


847


即d=847


最终我们获得关键的


n=2773


d=847


e=63


取消息M=244我们看看


加密:


c=M**d%n = 244**847%2773


用perl的大数计算来算一下:


C:\Temp>perl -Mbigint -e "print 244**847%2773"


465


即用d对M加密后获得加密信息c=465


解密:


我们可以用e来对加密后的c进行解密,还原M:


m=c**e%n=465**63%2773 :


C:\Temp>perl -Mbigint -e "print 465**63%2773"


244


即用e对c解密后获得m=244 , 该值和原始信息M相等。

 

RSA的安全性基于大数分解质因子的困难性。因为若n被分解为n=p*q,则 (n)、e、d可依次求得。目前,因式分解速度最快的方法的时间复杂性为exp(sqrt(ln(n))Inln(n)))。统计数据表明,在重要应用中,使用512位的密钥己不安全,需要采用1024位的密钥。


二、椭圆曲线算法与RSA算法的比较


椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程 y2+a1xy+a3y=x3+a2x2+a4x+a6 所确定的平面曲线。若F是一个域,ai ∈F,i=1,2,…,6。满足式1的数偶(x,y)称为F域上的椭圆曲线E的点。F域可以式有理数域,还可以式有限域GF(Pr)。椭圆曲线通常用E表示。除了曲线E的所有点外,尚需加上一个叫做无穷远点的特殊O。

在椭圆曲线加密(ECC)中,利用了某种特殊形式的椭圆曲线,即定义在有限域上的椭圆曲线。其方程如下:

y2=x3+ax+b(mod p)

这里p是素数,a和b为两个小于p的非负整数,它们满足:

4a3+27b2(mod p)≠0 其中,x,y,a,b ∈Fp,则满足式(2)的点(x,y)和一个无穷点O就组成了椭圆曲线E。

 

椭圆曲线离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对 Q=kP,在已知P,Q的情况下求出小于p的正整数k。可以证明,已知k和P计算Q比较容易,而由Q和P计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。

 

椭圆曲线公钥系统是代替RSA的强有力的竞争者。椭圆曲线加密方法与RSA方法相比,有以下的优点:

 

(1)安全性能更高

 

如160位ECC与1024位RSA、DSA有相同的安全强度。

 

(2)计算量小,处理速度快在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。

 

(3)存储空间占用小 ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,所以占用的存储空间小得多。

 

(4)带宽要求低使得ECC具有广泛得应用前景。

 

MicrotiVo正是利用椭圆曲线的这种算法研发了跳码芯片,集超低功耗、代码加密不重复、不可复制、防干扰、防串码等诸多强大优势于一体,并运用此芯片自主研发了公钥跳码系统,目前已经拥有国家专利,可广泛应用于汽车电子、安防门禁锁具、保险箱柜、金融网络安全、身份认证和授权管理等多种领域。

 

可以说只要是需要安全、需要防盗的地方,都有对MicrotiVo跳码芯片及安全系统的应用需求。

 

针对传统的网络加密技术中的机密性、真实性、完整性、不可否认性和存取控制等安全问题,从信息安全的基本知识出发,我们通过对PKI技术的学习和研究,开发出一整套基于改进椭圆曲线加密算法的网络加密技术。该方法通过直接计算网络系统中的数据,减少运算时间,具有安全性高、速度快、密钥短、实现时所需占用资源少的特点。


三、当前电脑文件加密手段有哪些不足和缺陷

当前很多单位都采用了各种加密系统、技术或手段来对公司重要的电脑文件进行了加密,但是由于软件厂家技术水平、用户加密文件的多样性、文件存储方式的多样性等特征,使得当前电脑文件加密方式存在一些不足和缺陷,主要有以下几种:

1、文档安全系统,或称文件级加密,即属于文件级别的数据泄露防护。

 

这种数据保护的方式一般会在网络附加存储NAS这一层嵌入实现,因为该加密算法是在NAS机头内实现,所以这种方式最让人担忧的就是它对其性能的影响,在并发访问数量较多的情况下容易出现卡顿或死机的现象,影响对加密文件的存取。

 

2、数据库加密,又称安全存储网关。

 

数据库加密针对结构化数据实现加密保护,部署在数据库前端。由于数据库操作中涉及到大量查询修改语句,因此数据库加密会对整个数据库系统造成重大影响。

 

3、磁盘/磁带级加密,或称介质级加密。

这类加密方法在存储阵列上实现,一般通过在控制器或磁盘柜的数据控制器上实现静态的数据加密算法。它主要是保护存储在硬件介质上的数据不会因为物理盗取而泄露数据,但是在阵列以外,所有的数据均以明文处理、传输和存储,这就使得一旦用户取得对阵列电脑文件的访问权限,将会使得电脑文件由于明文存在而很容易发生泄密风险。所以说介质级加密方式一般只是作为一种附加的安全策略,并为一些特殊应用,比如通过物理磁盘/磁带运输实现数据备份,提供数据安全性保障。

 

4、嵌入式加密。

 

该加密产品主要部署在交换机设备和存储阵列之间,通过专用产品进行加解密算法。虽然它能够提升性能,但是它的加密是有介质级别的。

 

5、主机应用加密

 

这类产品部署在主机端,目前大多整合在备份产品之中,作为其中的一项功能件实现数据备份的安全策略。主机应用的加密负载由主机自身承担,对网络及后台存储的影响较小,但主机在面对海量数据的加密处理时性能会比较吃紧。

 

此外,还有一些免费的电脑文件加密软件,其原理如下:

 

1.利用windows系统特殊的保留文件名后缀,使文件夹无法打开和删除。

 例如类似com1.{21ec2020-3aea-1069-a2dd-08002b30309d}等文件夹名称。

2.利用回收站特点,将文件夹保存在回收站,然后创建创建名为recycle或者RECYCLED的伪回收站。

3.直接将系统—文件夹的对应关系破坏,  在系统中留下一个没有文件实际地址的文件目录,  而在加密软件中则保存该文件夹的实际地址。

4、通过系统驻留程序监控被加密的文件夹,如果需打开,则提示输入密码,而实际上并没有对文件进行加密。

 以上是一些初级加密软件所采用的加密方法

 第1种方法大概是最常见的方法之一,容易实现,也最容易破解。

 第2种方法也比较容易破解。国内2大著名的加密软件都使用这方法。

 第3种方法对于不了解原理的人来说应该有一定难度。

 第4种方法首先要杀死进程才能进一步进行破解。


三、大势至电脑文件加密系统中的不可逆向的椭圆曲线加密技术

1、椭圆曲线加密算法原理

为了保证电脑文件系统的安全,可以运用椭圆曲线加密技术达到目的,首先需要定义参与运算的椭圆曲线。曲线的方法表示:

网络加密技术之改进的椭圆加密算法加密

曲线上所有的点都是非奇异的,这是先验条件。

为了满足普遍性,曲线表示的形状不单单是椭圆,能够包含一些特殊的曲线形式,具体的方法如图1所示。

网络加密技术之改进椭圆加密算法加密
非奇异性需要用数学的方法进行约束,反应到数学曲线上表现为其3个方向上的偏导数结果不能同时等于零,这样能够有效保证所有曲线上的点都为非奇异的。当然也有一些特殊的形式,就是满足曲线方法确不一定能够表示椭圆,如图2所示。

网络加密技术之改进的椭圆加密算法加密运用椭圆曲线进行网络入侵检测的过程,如图3所示。

网络加密技术之改进的椭圆加密算法加密

如果有一个偷窥者H,他只能看到Ep(a,b)、K、G、C1、C2而通过K、G求k或通过C2、G求r都是相对困难的。

因此,H无法得到A、B间传送的明文信息,如果想正确描述一个加密椭圆,需要多个变量,设为T=(p,a,b,G,n,h)。(p,a,b)用来确定一条椭圆曲线,G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的整数部分)。这是参数的合理选取对加密的效果至关重要。


2、一种不可逆向的改进型快速算法

传统的椭圆曲线加密算法:根据椭圆曲线倍点公式,在有限域GF(q)上,设P=(X,Y),2P=(X1,Y1)。其中:

网络加密技术之改进的椭圆加密算法加密
在计算的过程中一般要用到2eP,k>=1,可以直接一步步地计算2P,2zp, 23P…,但是这样效率非常低,文献中提出可以直接计算4P,8P,16P来计算2mP,rn>=1,
而不是一步步计算2P,22P,23P…,算出4P=(x2,y2)其中:

网络加密技术之改进的椭圆加密算法加密

从这些表达式中可以看到,虽然直接计算4P与先算2P辱算2x2P;相比需要多计算9次乘法,但是可以少一次求逆运算,由于一次求逆运算的时间通常多于9次乘法的时间,所以这样能有效地减少运算时间。改进的快速算法:在上面的基础上进行推广,给出直接计算2sP,1<s<=m的公式,可以进一步减少计算量口先推导出2sp,1<s<=m的表达式,记2kp(xp,yp),则:

网络加密技术之改进的椭圆加密算法加密

这么做能够大幅地缩减加密时间,具有安全性高、速度快、密钥短、实现时所需占用资源少的特点,对网络加密的过程产生了较好的优化作用。


、实验分析

为了验证本文方法的有效性,进行一次对比实验,实验模拟常规的网络加密过程,对在不同加密算法下的两个加密过程进行统计,查看算法下加密过程的效果和消耗的时间,算法中选用同一套硬件设备,消除硬件带来的延迟,算法的加密过程都以较大程度的176位运算为例,各自的时间如表1所示。

网络加密技术之改进的椭圆加密算法加密

通过以上的统计结果能够看出,在改进后的椭圆曲线加密算法中,网络加密所消耗的时间大幅度的降低,很好地解决了传统方法中的加密耗时,资源开销大的问题。

总之,通过大势至电脑文件加密软件不仅可以高强度加密电脑文件、加密电脑磁盘,而且还可以独家实现解密后控制电脑文件的访问权限,可以实现只让读取电脑文件而禁止复制电脑文件、只让修改电脑文件而禁止删除电脑文件、只让打开电脑文件而禁止另存为U盘等USB存储设备。同时,还可以进一步防止通过网盘、邮件、FTP文件上传、聊天软件发送文件以及其他网络管道将电脑文件发送出去的行为,从而实现了对电脑文件安全的最大防护,保护单位的无形资产和商业机密的安全。