数据加密方法、解密方法及装置制造方法及图纸

技术编号:10133175 阅读:166 留言:0更新日期:2014-06-16 11:25
本发明专利技术公开了一种数据加密方法及装置、数据解密方法及装置,该方法包括:获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。本发明专利技术通过保留原数据格式的方式对数据进行加密,使得加密数据在数据存储系统中所需要的存储空间不变,减少了传统加密算法的系统开销和通讯开销。

【技术实现步骤摘要】
数据加密方法、解密方法及装置
本专利技术涉及数据处理领域,尤其涉及一种数据加密方法、解密方法及装置。
技术介绍
随着计算机技术的发展,人们普遍使用计算机进行数据的存储、传输。但不少存储传输的数据具有保密要求,因此需要对存储、传输的数据进行加密。例如,电信运行客户敏感数据信息的安全性一直是客户和运营商共同关注的问题,一旦客户的敏感数据被意外修改或泄漏,将会造成客户隐私信息被滥用,给运营商的业务收入、企业形象、客户满意度等带来重大影响,甚至影响社会稳定,造成难以估量的损失。目前电信运营商都存储了海量的客户敏感数据,传统技术中对客户敏感数据采用的是DES加密方法,系统开销大,通讯开销成本较高。比如对客户姓名使用RC2算法加密后,数据长度由原来的8位变为64位,需要对数据库字段进行扩位,大大增加了系统开销。由于使用该算法,需要额外增加存储空间,且数据加密脱敏是在数据提取-转换-加载(Extraction-Transformation-Loading,简称ETL)过程中完成的,严重影响了数据入库的速度。
技术实现思路
为了解决现有技术中数据加密后,系统开销大,通讯开销成本高的技术问题,本专利技术提出一种数据加密方法及装置、数据解密方法及装置。本专利技术的一个方面,提供一种数据加密方法,包括:获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。本专利技术的另一个方面,提供一种数据加密装置,包括:第一数据类型判断模块,用于获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;字符加密模块,用于若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;数值加密模块,用于若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。本专利技术的另一个方面,提供一种数据解密方法,包括:获取加密数据,判断所述加密数据的数据类型属于字符型或数值型;若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据;若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。本专利技术的另一个方面,提供一种数据解密装置,包括:第二数据类型判断模块,用于获取加密数据,判断所述加密数据的数据类型属于字符型或数值型;字符解密模块,用于若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据;数值解密模块,用于若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。本专利技术的数据加密方法及装置、数据解密方法及装置,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。附图说明图1为本专利技术数据加密方法第一实施例的流程图;图2为本专利技术数据加密方法第一实施例中提取单个原始字符的流程图;图3为本专利技术数据加密方法第二实施例的流程图;图4为第一个单元编码区间示意图;图5为GBK中文字符集示意图;图6为数据加密方法第二实施例中m字符的加密过程示意图;图7为本专利技术数据加密方法第三实施例的流程图;图8为本专利技术数据加密装置第一实施例的结构示意图;图9为本专利技术数据加密装置第二实施例的结构示意图;图10为本专利技术数据加密装置第三实施例的结构示意图;图11为本专利技术数据解密方法第一实施例的流程图;图12为本专利技术数据解密方法第一实施例中提取单个加密字符的流程图;图13为本专利技术数据解密方法第二实施例的流程图;图14为本专利技术数据解密方法第二实施例中步骤S510的流程图;图15为本专利技术数据解密方法第三实施例的流程图;图16为本专利技术数据解密装置第一实施例的结构示意图;图17为本专利技术数据解密装置第二实施例的结构示意图;图18为本专利技术数据解密装置第二实施例的结构示意图。具体实施方式图1为本专利技术数据加密方法第一实施例的流程图,如图1所示,本专利技术实施例所提供的数据加密方法由数据存储系统中的数据加密装置执行,在保留原有格式的情况下对数据存储系统中存储的敏感数据进行加密脱敏,加密后的数据所需的存储空间和原本敏感数据所需的存储空间大小相同,从而降低了系统开销和通讯成本,数据加密装置可以采用软件和/或硬件的形式来实现,该方法包括:步骤S100,获取敏感数据;步骤S102,判断所述敏感数据的数据类型属于字符型或数值型,若属于字符型则进入步骤S104,属于数值型则进入步骤S106;数据加密装置从数据存储系统中获取敏感数据,获取的方法有多种,例如通过数据库查询语句获取,敏感数据是指有保密需求的数据。根据敏感数据在数据存储系统中的属性,判断敏感数据的数据类型属于字符型或数值型。步骤S104,提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若该敏感数据的数据类型为字符型,则提取该敏感数据中的单个原始字符。单个原始字符是指敏感数据中需要做加密处理的单个字符,例如电信营业商客户的客户姓名属于敏感数据,则单个原始字符即为每一位客户的客户姓名中的单个汉字,例如客户姓名为“张三”,则单个原始字符为“张”和“三”。将每个单个原始字符转换成加密字符集中的加密字符。加密字符集为预设的字符集合,而加密字符为加密字符集中的字符。单个原始字符通过一定的对应关系,对应到加密字符集中的加密字符。然后将每个加密字符按照单个原始字符在敏感数据中的顺序进行组合,敏感数据即转换为加密数据。例如“张”和“三”在预设的加密字符集中对应的加密字符分别为“钨”和“偮”,则敏感数据“张三”即转换为加密数据“钨偮”。在优选的实施例中,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。在优选的实施例中,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。步骤S106,将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。若该敏感数据的数据类型为数值型,敏感数据后N位之前的原始数字保留不做转换操作,提取敏感数据的后N位原始数字,转换为N位与原始数字不同的加密数字。未作本文档来自技高网...
数据加密方法、解密方法及装置

【技术保护点】
一种数据加密方法,其特征在于,包括:获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据;其中,所述将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据步骤包括:将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数;根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP;根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量;根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据;所述根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP步骤包括:计算所述敏感数据的第一动态偏移量OP,所述第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值;所述根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量步骤包括:计算所述单个原始字符对应的加密字符的第二偏移量,所述第二偏移量为所述第一偏移量NP与所述第一动态偏移量OP之和;所述根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符步骤包括:计算所述加密字符的编码位,获取所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。2.根据权利要求1所述的数据加密方法,其特征在于,所述若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符步骤包括:循环提取所述敏感数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。3.根据权利要求1所述的数据加密方法,其特征在于,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。4.根据权利要求1所述的数据加密方法,其特征在于,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。5.根据权利要求1-4任一所述的数据加密方法,其特征在于,所述若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据步骤包括:将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值;计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn(0<=n<N);对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作生成N位加密数字;所述敏感数据后N位前的原始数字和移位后的N位加密数字组合即获得所述加密数据。6.一种数据加密装置,其特征在于,包括:第一数据类型判断模块,用于获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;字符加密模块,用于若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;数值加密模块,用于若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据;所述字符加密模块包括:第一预设单元,用于将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;第一偏移量计算单元,用于计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数;第一动态偏移量计算单元,用于根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP;第二偏移量计算单元,用于根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量;字符加密单元,用于根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据;所述第一动态偏移量计算单元还用于:计算所述敏感数据的第一动态偏移量OP,所述第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值;所述第二偏移量计算单元还用于:计算所述单个原始字符对应的加密字符的第二偏移量,所述第二偏移量为所述第一偏移量NP与所述第一动态偏移量OP之和;所述字符加密单元还用于:计算所述加密字符的编码位,获取所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。7.根据权利要求6所述的数据加密装置,其特征在于,所述字符加密模块还包括:单个原始字符提取单元,用于循环提取所述敏感数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。8.根据权利要求6所述的数据加密装置,其特征在于,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。9.根据权利要求6所述的数据加密装置,其特征在于,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。10.根据权利要求6-9任一所述的数据加密装置,其特征在于,所述数值加密模块包括:第一分密钥生成单元,用于将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值;第二分密钥生成单元,用于计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn(0<=n<N);加密数字生成单元,用于对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作生成N位加密数字;数字加密单元,用于所述敏感数据后N位前的原始数字和移位后的N位加密数字组合即获得所述加密数据。11.一种数据解密方法,其特征在...

【专利技术属性】
技术研发人员:赵洪松何鸿凌迟建德孙德志朱晨王广华苏燕王依兴张硕李杨
申请(专利权)人:中国移动通信集团黑龙江有限公司
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1