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

技术编号:14411066 阅读:163 留言:0更新日期:2017-01-11 22:57
本发明专利技术的实施例提供了一种数据加密的方法、解密的方法及装置,其中该数据加密的方法包括:根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;根据密钥和第一随机数据进行位运算,得到第二随机数据;将第二随机数据插入到第一密文数据中,得到第二密文数据;对第二密文数据进行反转比特位操作,得到最终密文数据。本发明专利技术的实施例的算法简单,加密效率较高,能大幅增加破解难度,进而增加信息的保密性和安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全
,特别涉及一种数据加密的方法、解密的方法及装置
技术介绍
数据传输、存储、交换过程中的暴露,可能会导致数据中携带的重要信息和隐私信息被意外公开,因此需要对数据进行加密,以保证信息和数据能够安全的存储、传输或交换。数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。传统的数据加密流程如图1所示。著名的对称加密算法可分为两大类:第一类是分组加密算法,该类算法的基本思想是将明文以64比特(或其它固定长度)分为一组,在密钥的作用下,通过多轮置换和迭代,输出64比特的密文。分组加密算法可视为大字符集上的置换加密算法。著名的分组加密算法有数据加密标准(DES)等。第二类是序列密码算法,其核心思想是设计一个随机序列产生器,该随机序列产生器在用户密钥的作用下,生成随机的密钥流,将密钥流与明文流作模2加法,从而形成密文流。序列密码可以看成是多表密码的一种,如果密码的周期不大,它将非常类似于维吉利亚密码。但上述数据加密方法通常有以下弊端中的一种或几种:1、相同明文的数据,加密后得到的密文是相同的,可以从已知部分密文推理出明文。2、密文的长度和明文的长度一一对应,数据的保密性和安全性差。3、加密后的数据膨胀严重。4、可以从密文片段开始破解,数据的保密性和安全性差。5、算法复杂,加密效率低。
技术实现思路
本专利技术实施例的目的在于提供一种数据加密的方法、解密的方法及装置,能大幅增加破解难度,进而增加信息的保密性和安全性。为了达到上述目的,本专利技术的实施例提供了一种数据加密的方法,该方法包括:根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;根据密钥和第一随机数据进行位运算,得到第二随机数据;将第二随机数据插入到第一密文数据中,得到第二密文数据;对第二密文数据进行反转比特位操作,得到最终密文数据。其中,在根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据之前,方法还包括:根据明文数据的第一长度值,确定出最终密文数据的第二长度值,其中第二长度值为大于预设数值的一个自然数的最小整数倍数,且第二长度值大于第一长度值;根据第二长度值与第一长度值的差值,得到第一随机数据的第三长度值;根据第三长度值,生成第一随机数据,其中第三长度值通过第一随机数据的第一字节中的至少一个比特位表征。其中,将第二随机数据插入到第一密文数据中,得到第二密文数据,具体包括:根据第二长度值、密钥的第四长度值以及密钥的校验和,确定出第二随机数据在第一密文数据中的插入位置;根据插入位置,将第二随机数据插入到第一密文数据中,得到第二密文数据。其中,对第二密文数据进行反转比特位操作,得到最终密文数据,具体包括:根据插入位置和第四长度值,确定出在第二密文数据中进行反转比特位操作的开始位置;反转第二密文数据中位于开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。本专利技术的实施例还提供了一种数据加密的装置,该装置包括:第一运算模块,用于根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;第二运算模块,用于根据密钥和第一随机数据进行位运算,得到第二随机数据;插入模块,用于将第二随机数据插入到第一密文数据中,得到第二密文数据;第一操作模块,用于对第二密文数据进行反转比特位操作,得到最终密文数据。其中,装置还包括:第一确定模块,用于根据明文数据的第一长度值,确定出最终密文数据的第二长度值,其中第二长度值为大于预设数值的一个自然数的最小整数倍数,且第二长度值大于第一长度值;第二确定模块,用于根据第二长度值与第一长度值的差值,得到第一随机数据的第三长度值;生成模块,用于根据第三长度值,生成第一随机数据,其中第三长度值通过第一随机数据的第一字节中的至少一个比特位表征。本专利技术的实施例还提供了一种数据解密的方法,该方法包括:接收最终密文数据;对最终密文数据进行比特位反转操作,得到第四密文数据;从第四密文数据中提取出第二随机数据,得到第五密文数据;根据第二随机数据与密钥进行位运算,得到第一随机数据;根据第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。其中,在对最终密文数据进行比特位反转操作,得到第四密文数据之前,方法还包括:根据最终密文数据的第二长度值、密钥的校验和以及密钥的第四长度值,确定出第二随机数据在第四密文数据中的插入位置;相应地,对最终密文数据进行比特位反转操作,得到第四密文数据,具体包括:根据插入位置与第四长度值,确定出在最终密文数据中进行比特位反转操作的开始位置;反转最终密文数据中位于开始位置后的每个字节中的一个比特位,得到第四密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。其中,第二随机数据的长度值通过第二随机数据的第一字节中的至少一个比特位表征,相应地,从第四密文数据中提取出第二随机数据,得到第五密文数据,具体为:根据插入位置和至少一个比特位,从第四密文数据中提取出第二随机数据,得到第五密文数据。本专利技术的实施例还提供了一种数据解密的装置,该装置包括:接收模块,用于接收最终密文数据;第二操作模块,用于对最终密文数据进行比特位反转操作,得到第四密文数据;提取模块,用于从第四密文数据中提取出第二随机数据,得到第五密文数据;第三运算模块,用于根据第二随机数据与密钥进行位运算,得到第一随机数据;第四运算模块,用于根据第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。本专利技术的上述方案至少包括以下有益效果:在本专利技术的实施例中,通过明文数据与密钥和第一随机数据进行位运算,得到第一密文数据,同时将密钥与第一随机数据进行位运算,得到第二随机数据,并将得到的第二随机数据与第一密文数据进行位运算,得到第二密文数据,最后再对第二密文数据进行反转比特位操作,得到最终密文数据,解决了信息的保密性和安全性差的问题,达到了大幅增加破解难度,进而增加信息的保密性和安全性的效果。附图说明图1为现有技术中数据加密的流程图;图2为本专利技术第一实施例中数据加密的方法的流程图;图3为本专利技术第一实施例中得到第一密文数据的示意图;图4为本专利技术第一实施例中得到第二随机数据的示意图;图5为本专利技术第一实施例中得到最终密文数据的示意图;图6为本专利技术第二实施例中数据加密的方法的流程图;图7为本专利技术第三实施例中数据加密的装置的结构示意图;图8为本专利技术第四实施例中数据解密的方法的流程图;图9为本专利技术第五实施例中数据解密的装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。第一实施例如图2所示,本专利技术的第一实施例提供了一种数据加密的方法,该方法包括:步骤S21,根据本文档来自技高网...
一种数据加密的方法、解密的方法及装置

【技术保护点】
一种数据加密的方法,其特征在于,所述方法包括:根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;根据所述密钥和第一随机数据进行位运算,得到第二随机数据;将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;对所述第二密文数据进行反转比特位操作,得到最终密文数据。

【技术特征摘要】
1.一种数据加密的方法,其特征在于,所述方法包括:根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;根据所述密钥和第一随机数据进行位运算,得到第二随机数据;将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;对所述第二密文数据进行反转比特位操作,得到最终密文数据。2.如权利要求1所述的方法,其特征在于,在所述根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据之前,所述方法还包括:根据所述明文数据的第一长度值,确定出所述最终密文数据的第二长度值,其中所述第二长度值为大于预设数值的一个自然数的最小整数倍数,且所述第二长度值大于所述第一长度值;根据所述第二长度值与所述第一长度值的差值,得到所述第一随机数据的第三长度值;根据所述第三长度值,生成所述第一随机数据,其中所述第三长度值通过所述第一随机数据的第一字节中的至少一个比特位表征。3.如权利要求2所述的方法,其特征在于,所述将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据,具体包括:根据所述第二长度值、所述密钥的第四长度值以及所述密钥的校验和,确定出所述第二随机数据在所述第一密文数据中的插入位置;根据所述插入位置,将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据。4.如权利要求3所述的方法,其特征在于,所述对所述第二密文数据进行反转比特位操作,得到最终密文数据,具体包括:根据所述插入位置和第四长度值,确定出在所述第二密文数据中进行反转比特位操作的开始位置;反转所述第二密文数据中位于所述开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。5.一种数据加密的装置,其特征在于,所述装置包括:第一运算模块,用于根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;第二运算模块,用于根据所述密钥和第一随机数据进行位运算,得到第二随机数据;插入模块,用于将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;第一操作模块,用于对所述第二密文数据进行反转比特位操作,得到最终密文数据。6.如权利要求5所述的装置,其特征在于,所述装置还包括:第一确定模块,用于根据所述明文数据的第一长度值,确定出所...

【专利技术属性】
技术研发人员:潘志国
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1