admin 管理员组

文章数量: 1087709


2024年4月25日发(作者:sqlserver设置check约束)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.2

(22)申请日 2011.12.27

(71)申请人 方正国际软件(北京)有限公司

地址 100871 北京市海淀区北四环西路52号中芯大厦19层

(72)发明人 梁长庆 李永蕊

(74)专利代理机构 北京天悦专利代理事务所(普通合伙)

代理人 田明

(51)

(10)申请公布号 CN 103188077 A

(43)申请公布日 2013.07.03

权利要求说明书 说明书 幅图

(54)发明名称

一种面向移动终端阅读的数字文件

加密和解密方法

(57)摘要

本发明公开了一种面向移动终端阅

读的数字文件加密和解密方法,属于数字

文件保护技术领域。本发明基于阅读文件

头尾带有文件特定信息,易被识别特征,

充分考虑移动终端资源受限、操作系统封

闭性等特点,根据混淆结构中的参数设

置,将原始数字文件的各部分数据分别进

行字节位混淆处理,将混淆后的字节进行

重新组合得到混淆后的加密数字文件,并

通过设置头部移位模因子,提高加密强

度。此外,本发明还提出了基于上述加密

方法的解密方法。采用对称密钥加密方

式,密钥构成简单,易于管理,无需采用

特定格式重新组装内容即可实现对文件的

保护,具有较强的方便性和普适性,更适

合移动终端阅读的数字文件的保护。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种面向移动终端阅读的数字文件加密方法,包括以下步骤:

(1)设置混淆结构中参数;所述混淆结构是指密钥的结构;混淆结构的

参数包括密钥版本标识、原始数字文件的头部字节数、尾部字节数、部分加

密主体字节数、头部混淆算法、尾部混淆算法、加密主体混淆

淆算法是指将字节中的位内容进行换位处理;所

原始数字文件中头部字节数和尾部

数;

算法;所述混

述部分加密主体字节数是指

字节数以外的需要加密的部分主体字节

(2)选择待加密的原始数字文件,并根据混淆结构中的参数信息获取数

(3)根据混淆结构中的设置参数,分别对原始数字文件的头部、尾部和

(4)将混淆后的各字节数据重新组合得到混淆后的加密数字文件。

2.如权利要求1所述的一种面向移动终端阅读的数字文件加密方法,其

将混淆后的头部字节数据、尾部字节数据和部分加密主体字节数据按照

字文件的头部、尾部和部分加密主体字节数据;

加密主体字节数据进行混淆处理,得到混淆后的头部字节数据、尾部字节数

据和部分加密主体字节数据;

特征在于:步骤(4)中,重新组合得到混淆后加密数字文件的具体方式为:

部分加密主体字节数据、头部字节数据、尾部字节数据的顺序组合,混淆后

的部分加密主体字节数据为加密数字文件的初始部分,原始数

字文件的其它

字节数据作为加密数字文件的结尾部分。

3.如权利要求1所述的一种面向移动终端阅读的数字文件加密方法,其

(3-4)计算混淆后部分加密主体字节的偏移字节数,所述偏移字节数是

4.如权利要求3所述的一种面向移动终端阅读的数字文件加密方法,其

5.如权利要求4所述的一种面向移动终端阅读的数字文件加密方法,其

6.如权利要求5所述的一种面向移动终端阅读的数字文件加密方法,其

指混淆后的部分加密主体字节后的主体字节数。

特征在于:所述方法的步骤(3)与步骤(4)之间还包括以下步骤:

特征在于:所述混淆结构的参数还包括头部移位模因子;所述头部移位模因

子是指计算偏移字节数的模因子。

特征在于:将原始数字文件按头部移位模因子进行模运算后的数值即为偏移

字节数。

特征在于:步骤(4)中,将混淆后的各字节数据重新组合得到加密数字文件

的具体方式为:将混淆后的头部字节数据、尾部字节数据和部分加密

主体字 节数据、偏移字节数据按照部分加密主体字节数据、偏

节数据、尾部字节数据的顺序组合,混淆

数字文件的初始部分,原始

尾部分。

移字节数据、头部字

后的部分加密主体字节数据为加密

数字文件的其它字节数据作为加密数字文件的结

7.一种面向移动终端阅读的数字文件解密方法,包括以下步骤:

(1)根据混淆结构中的参数设置,分别获取加密数字文件中所对应的混

(2)根据混淆结构中的头部混淆算法、尾部混淆算法、加密主体混淆算

(3)将解密后的原始数字文件的头部字节数据、尾部字节数据和部分加

8.如权利要求7所述的一种面向移动终端阅读的数字文件解密方法,其

密主体字节数据重新组合成原始数字文件。

淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密主体字节数

据;

法分别对混淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密

主体字节数据进行解密;

特征在于:步骤(3)中,将解密后的原始数字文件的头部字节数据、尾部字

节数据和部分加密主体字节数据按照头部字节数据、部分加密主体字

其它字节数据和尾部字节数据的顺序重新组合成原始数

节数据、

字文件。

9.如权利要求7所述的一种面向移动终端阅读的数字文件解密方法,其

特征在于:所述混淆结构中如果包括头部位移模因子,则该方法步骤(1)之

前还包括:根据加密数字文件的混淆结构中的头部移位模因子,计算

节数。 偏移字

10.如权利要求9所述的一种面向移动终端阅读的数字文件解密方法,

其特征在于:步骤(3)中,将解密后的原始数字文件的头部字节数据、尾部

字节数据和部分加密主体字节数据、偏移字节数据按照头部字节数据、

加密主体字节数据、偏移字节数据、其它字节数据和尾部字节

新组合成原始数字文

部分

数据的顺序重

件。

说 明 书

技术领域

本发明属于阅读终端数字文件保护的技术领域,具体涉及一种面向移动

背景技术

随着移动互联网的成熟和智能移动终端的普及,基于智能移动终端的移

动阅读逐渐成为人们生活中必不可少的一部分。目前移动数字阅读的数字版

权保护机制中保护手段仍然以传统PC加密算法对数字文件加密为主,

密方法是基于PC相关平台,加密/解密方式基本上是通过对原

算法向移动终端平台移植完成的,而移动平台操作系统

原加密/解密算法必须调整、裁剪,再加上移动

Android、Windows Mobile 6.x、J2ME),

难度和风险,导致可维护性差,且

方法未考虑智能移动终端的

采用基于PC平台下

性,设计不合

一性以

终端阅读的数字文件加密和解密方法。

这种加

基于PC平台的

支持能力不同,需对

终端多平台化(iOS、Symbian、

更是提高了移动平台间算法一致性

成本增加。可见,现有的数字版权的保护

资源受限性、操作系统封闭性和跨多平台等特性,

向移动终端进行移植的加密|解密,没有针对移动平台特

理,会导致耗费移动终端资源,效率降低。PC平台加密入口唯

及多移动终端平台支持能力不一致性,会导致多移动终端平台的功能

发明内容

针对现有技术中存在的缺陷及实际应用的需要,本发明的目的在于提供

一种面向移动终端阅读的数字文件加密和解密方法,降低移动终端资源的消

耗,提高运行的效率。

的不一致,而导致安全性降低。

为实现上述目的,本发明采用的技术方案如下:

一种面向移动终端阅读的数字文件加密方法,包括以下步骤:

(1)设置混淆结构中参数;所述混淆结构是指密钥的结构;混淆结构的

参数包括密钥版本标识、原始数字文件的头部字节数、尾部字节数、部分加

密主体字节数、头部混淆算法、尾部混淆算法、加密主体混淆算法;

淆算法是指将字节中的位内容进行换位处理;所述部分加密主

原始数字文件中头部字节数和尾部字节数以外的需要加

数;

所述混

体字节数是指

密的部分主体字节

(2)选择待加密的原始数字文件,并根据混淆结构中的参数信息获取数

(3)根据混淆结构中的设置参数,分别对原始数字文件的头部、尾部和

(4)将混淆后的各字节数据重新组合得到混淆后的加密数字文件。

进一步,如上所述的一种面向移动终端阅读的数字文件加密方法,步骤

将混淆后的头部字节数据、尾部字节数据和部分加密主体字节数据按照

部分加密主体字节数据、头部字节数据、尾部字节数据的顺序组合,混淆后

的部分加密主体字节数据为加密数字文件的初始部分,原始数字文件

字节数据作为加密数字文件的结尾部分。

(4)中,重新组合得到混淆后加密数字文件的具体方式为:

加密主体字节数据进行混淆处理,得到混淆后的头部字节数据、尾部字节数

据和部分加密主体字节数据;

字文件的头部、尾部和部分加密主体字节数据;

的其它

进一步,如上所述的一种面向移动终端阅读的数字文件加密方法,所述

(3-4)计算混淆后部分加密主体字节的偏移字节数,所述偏移字节数是

后的部分加密主体字节后的主体字节数。

进一步,如上所述的一种面向移动终端阅读的数字文件加密方法,所述

再进一步,如上所述的一种面向移动终端阅读的数字文件加密方法,将

混淆结构的参数还包括头部移位模因子;所述头部移位模因子是指计算偏移

字节数的模因子。

指混淆

方法的步骤(3)与步骤(4)之间还包括以下步骤:

原始数字文件按头部移位模因子进行模运算后的数值即

为偏移字节数。

更进一步,如上所述的一种面向移动终端阅读的数字文件加密方法,步

骤(4)中,将混淆后的各字节数据重新组合得到加密数字文件的具体方式为:

将混淆后的头部字节数据、尾部字节数据和部分加密主体字节数据、

节数据按照部分加密主体字节数据、偏移字节数据、头部字节

节数据的顺序组合,混淆后的部分加密主体字节数据为

部分,原始数字文件的其它字节数据作为加密数

偏移字

数据、尾部字

加密数字文件的初始

字文件的结尾部分。

一种面向移动终端阅读的数字文件解密方法,包括以下步骤:

(1)根据混淆结构中的参数设置,分别获取加密数字文件中所对应的混

淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密主体字节数

据;

(2)根据混淆结构中的头部混淆算法、尾部混淆算法、加密主体混淆算

(3)将解密后的原始数字文件的头部字节数据、尾部字节数据和部分加

进一步,如上所述的一种面向移动终端阅读的数字文件解密方法,步骤

再进一步,如上所述的一种面向移动终端阅读的数字文件解密方法,所

更进一步,如上所述的一种面向移动终端阅读的数字文件解密方法,步

骤(3)中,将解密后的将解密后的原始数字文件的头部字节数据、尾部字节

数据和部分加密主体字节数据、偏移字节数据按

主体字节数据、偏移字节数据、其它字节

合成原始数字文件。

述混淆结构中如果包括头部位移模因子,则该方法步骤(1)之前还包括:根

据加密数字文件的混淆结构中的头部移位模因子,计算偏移字节数。

(3)中,将解密后的原始数字文件的头部字节数据、尾部字节数据和部分加

密主体字节数据按照头部字节数据、部分加密主体字节数据、其它字节数据

和尾部字节数据的顺序重新组合成原始数字文件。

密主体字节数据重新组合成原始数字文件。

法分别对混淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密

主体字节数据进行解密;

照头部字节数据、部分加密

数据和尾部字节数据的顺序重新组

本发明的效果在于:本发明采用对称密钥加密方式,对原始数字文件中

头部、尾部及部分主体字节分别进行混淆加解密的方法,实现对数字文件的

保护。密钥构成简单,易于管理,无需特定格式重新组装文件内容即

文件保护需要,具有较强的方便性和普适性,更适合面向移动

字文件的保护。

能满足

终端阅读的数

附图说明

图1为具体实施方式中一种面向移动终端阅读的数字文件加密方法的流

图2为具体实施方式中混淆结构的示意图;

图3为本发明一种面向移动终端阅读的数字文件解密方法的流程图;

图4为实施例中的混淆结构示例图;

图5为实施例中按混淆结构参数对原始数字文件进行设置后的示意图;

图6为实施例中对头部字节数据进行混淆的示意图;

图7为实施例中对尾部字节数据进行混淆的示意图;

图8为实施例中对部分加密主体字节数据进行混淆的示意图;

图9为实施例中混淆后的加密数字文件的结构示意图。

具体实施方式

本发明是基于移动终端资源受限、操作系统封闭性等特点,充分考虑移

动终端阅读特性,以及阅读文件头尾带有特定信息、易于识别特征等特点,

提出的一种以字节混淆、特定字节移位的加解密方法,该方法采用对

方式,密钥结构简单,易于管理和更新,以及移动终端传递,

适性。在本具体实施方式混淆结构(密钥)中的主要相关

程图;

称密钥

具有较强的普

参数如下:

密钥版本标识:标识密钥版本,不同版本混淆结构(密钥)参数值不同;

头部字节数:逻辑上原始数据文件头部区域所占字节长度;

头部混淆方式:原始数据文件头部各字节混淆的方式;

尾部字节数:逻辑上原始数据文件尾部区域所占字节长度;

尾部混淆方式:数据文件尾部原始各字节混淆的方式

部分加密主体字节数:数据文件主体中一部分需进行混淆处理的字节长

部分加密主体混淆方式:数据文件主体中设定部分的混淆方式;

头部移位模因子:利用该因子对实际文件长度进行模运算后的值作为文

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

图1示出了本发明一种面向移动终端阅读的数字文件加密方法的流程

方法包括主要以下步骤:

步骤1:设置混淆结构参数;

设置混淆结构中的参数。本发明所提出的加解密方法是一种以字节混淆

件头部混淆后写入加密文件的实际偏移字节数位置。

度,从主体起始位置截取;

图,该

为基础的方法,所以在对原始数字文件进行加密前,需要设置混淆结构的参

数,即密钥的结构。本实施方式中的混淆结构如图2所示,主要包括

数: 以下参

密钥版本标识,用于标识混淆加密的版本;头部字节数及头部混淆算法;

尾部字节数及尾部混淆算法、部分加密主体字节数及其混淆算法、和头部移

位模因子。其中,混淆算法即本发明的加密处理,具体是将字节中的

行换位处理;头部移位模因子指的是在计算特定移位字节时的

始数字文件的长度按照头部移位模因子进行模运算后的

位字节数(偏移字节数)。

内容进

模因子,将原

结果数值即为特定移

本发明中在原始数字文件在逻辑上分成了三大部分:头部(文件的初始

步骤2:根据混淆结构的设置参数获取文件的头部、尾部及部分加密主

步骤3:对头部、尾部及部分加密主体字节数据进行混淆处理;

根据步骤1中对图2中所示的混淆结构的参数进行的设置,获取原始数

字文件的对应的头部字节数据、尾部字节数据和部分加密主体字节数据。例

如在混淆结构中头部字节数为2、尾部字节数为1、部分加密主体字

则将原始数字文件中的初始两个字节数据设置为头部字节数据,

1个字节数据设置为尾部字节数据,其它部分为主体部分,将

后的4个字节数据为部分加密主体字节数据。

体字节数据;

部分)、主体部分和尾部(文件的结尾部分)。其中,主体部分包括了需要进

行混淆加密的部分加密主体字节、偏移字节和其它主体字节。

节数为4,

结尾部分的

头部字节数据

获取各部分的字节数据后,再根据混淆结构中所设置的各部分的混淆算

法(加密方法)对各部字节数据进行混淆处理,得到混淆后的头部字节数据、

尾部字节数据和部分加密主体字节数据。本实施方式中混淆处理是以字节为

单位进行的,所述的混淆处理指的是对各个字节的8位(0~7)按照混

构设置的混淆算法进行位置对换。例如混淆结构中的头部混淆算法为

21036547,表示将头部字节数据中的每个字节中的具体对换为:

即将原始数字文件中的第一位作为混淆后的第三

7为,其它为保持不变。

淆结

0<->2,4<->6,

位,第5为作为混淆后的第

步骤4:计算偏移字节数;

根据混淆结构头部移位模因子计算偏移字节数,该偏移字节数指的是混

淆后的部分加密主体字节数据后的特定字节偏移量,计算偏移字节数的方式

为:将原始数字文件按照所设置的头部移位模因子进行模运算,模运

果数值即为偏移字节数。 算的结

步骤5:对头部、尾部、部分加密主体字节和偏移字节数据重新组合得

将步骤3中得到的混淆后的头部字节数据、尾部字节数据和部分加密主

将上述各部分数据按照以下顺序进行组合:部分加密主体字节数据->偏

移字节数据->头部字节->尾部字节的顺序组合,即混淆后的部分加密主体

节数据作为加密数字文件的初始部分,原始数字文件中上述字节数据

它字节数据作为加密数字文件的结尾部分。

体字节数据以及步骤4中计算的偏移字节数据进行重新组合获得加密数字文

件,组合的具体方式如下:

到加密数字文件。

外的其

当然,本发明所提供的上述以字节混淆、特定字节整体位移为基础的加

密方式中,对于混淆后各部分字节数据以及偏移字节数据的重新组合方式并

不是唯一的。步骤4中计算偏移字节数也不是必须的,在实际运用过

也可以在混淆结构中不设置头部移位模因子,此时只需要对头

分加密主体字节数据进行混淆后重新组合即可得到混淆

设置头部移位模因子,将偏移字节数据隐藏于文

的提高数字文件的加密强度。头部位移模

程中,

部、尾部及部

后的加密数字文件。

件特定位置,是为了进一步

因子的取值一般为2或3。

图3示出了基于图1中面向移动终端阅读的数字文件加密方法的数字文

步骤11:计算偏移字节数;

根据加密数字文件的混淆结构中的头部移位模因子,计算偏移字节数。

步骤21:获取加密数字文件中所对应的混淆后的原始数字文件中的头

根据混淆结构中的参数设置及偏移字节数,分别获取加密数字文件中所

由上述加密方法的步骤5中的重新组合方式可知,加密数字文件的初始

字节数据即为原始数字文件的部分加密主体字节数据,所以可以根据混淆结

构中的部分加密主体字节数直接得到原始数字文件的部分加密主体字

据。部分加密主体字节后即为偏移字节,偏移字节数据面即为原始数

的头部字节数据,头部字节数据后位尾部字节数据,剩余的为

对应的混淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密主

体字节数据。

部、尾部和部分加密主体字节数据;

将加密数字文件的长度按照设置的头部位移模因子进行模运算,得到文件的

偏移字节数。

件的解密方法,该方法主要包括以下步骤:

节数

字文件

其它主体字节 数据。根据步骤21中计算得到的偏移字节数以及上述

到原始数字文件的头部字节数据、尾部字节数据。位置关系可以分别获取

步骤31:根据各部分字节的混淆算法对原始数字文件的各部分数据进行

根据混淆结构中设置的头部混淆算法、尾部混淆算法、加密主体混淆算

法分别对混淆后的原始数字文件的头部字节数据、尾部字节数据和部分加密

主体字节数据进行解密,得到解密后的各部分字节数据,即原始的混

数据。

解密;

淆前得

步骤41:将解密后的各部分字节数据重新组合得到原始数字文件。

将步骤S31中解密后的原始数字文件的头部字节数据、尾部字节数据和

当然,如果混淆结构的参数中不存在头部移位模因子,即可直接由步骤

下面结合具体的实施例对本发明进行进一步详细的说明。

实施例

本实施例中以对文件长度为1023的原始数字文件进行混淆加密为例对

本发明的方法进行说明。

部分加密主体字节数据按照头部字节数据、部分加密主体字节数据、其它字

节数据和尾部字节数据的顺序重新组合成原始数字文件。

21获取各部分字节数据,然后根据混淆算法解密后重新组合得到原始数字

件。

首先设置原始数字文件的混淆结构参数,示意图如图4所示,根据混淆

结构中的设置参数获取原始数字文件的头部字节数据、尾部字节数据和部分

加密主体字节数据,其示意图如图5所示,头部字节数为2个字节、

节数为1个字节、部分加密主体字节数为3个字节。然后对各

据根据混淆结构中的设置进行混淆处理,由图4中可以

21036547,即对头部两个字节数据按照

行换位处理,混淆的示意图

法和部分加密主体字节算法

行混淆,混淆的示意

尾部字

部分的字节数

看出头部混淆算法为:

21036547(即0<->2,4<->6换位)进

如图6所示。同样根据混淆结构中的尾部混淆算

分别对尾部字节数据和部分加密主体字节算法进

图如图7和图8所示。

本实施例中的头部移位模因子为2,文件长度为1023字节,将文件长度

按模2进行模运算的结果数值为1,因此,本实施例中的偏移字节数为1。

后将混淆后的头部字节数据、尾部字节数据、部分加密主体字节数据

字节数据重新组合得到混淆后的加密数字文件,混淆后的加密

构示意图如图9所示。

和偏移

数字文件的结

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本

发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要

求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在

内。


本文标签: 字节 文件 数据 加密 数字