当前位置: 首页 > 专利查询>王萍专利>正文

一种流式加密和解密方法技术

技术编号:19278216 阅读:19 留言:0更新日期:2018-10-30 18:27
本发明专利技术公开了一种流式加密方法,包括如下步骤:获取由主密钥K1生成的加密对照表E;将需要加密的明文以单字节作为加密单元;针对每一个加密单元,将加密单元P值作为加密对照表E的索引B2,通过B2在加密对照表E中获取B2对应的值V2,将V2作为加密后的密文单元C值,将所有密文单元C值合并成一个完整的数据流或文件,形成密文。本发明专利技术还公开了一种流式解密方法。本发明专利技术提供流式加解密方法,写入文件或网络数据流时直接调用加密算法,加密时无需再另外消耗时间,写入文件或网络数据流的数据直接就是加密后的数据;从文件或网络数据流中读取到数据时实时进行解密,将解密后的数据直接传给应用,而不需修改原文件的内容,原文件始终处于加密状态。

A stream encryption and decryption method

The invention discloses a streaming encryption method, which comprises the following steps: acquiring the encryption reference table E generated by the main key K1; using a single byte as the encryption unit for the plaintext to be encrypted; using the P value of the encryption unit as the index B2 of the encryption reference table E for each encryption unit, acquiring the B2 pair in the encryption reference table E through B2. The corresponding value V2, V2 as the encrypted ciphertext unit C value, all the cell C values are merged into a complete data stream or file, forming ciphertext. The invention also discloses a stream decryption method. The invention provides a streaming encryption and decryption method, which calls the encryption algorithm directly when writing a file or network data stream, and no additional time is needed when encrypting. The data written into a file or network data stream is directly encrypted data; the data read from a file or network data stream is decrypted in real time, and the number of decrypted data is decrypted. According to the direct transfer to the application without modifying the contents of the original file, the original file is always encrypted.

【技术实现步骤摘要】
一种流式加密和解密方法
本专利技术涉及计算机信息保密
,尤其涉及一种流式加密方法、解密方法。
技术介绍
随着移动互联网的发展,个人数据量剧增,同时用户还习惯于通过移动互联网如微信、邮箱等发送大量以原文数据保存的个人数据资料,如图片、视频或者工作资料等。同时为了方便个人随时随地都可以读取到私人的文件,很多服务商还提供了云平台,如苹果公司的ICold,这些文件很多也是以原文数据的形式保存。这些私人数据存在泄密的可能。为了对数据进行保密,对数据进行加密必不可少。现有的数据加密方法主要包括有对称加密方法如DES、AES等,以及非对称加密方法如RSA等。DES加密算法:DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。对于56位长度的密钥来说,如果用穷举法来进行搜索的话,其运算次数为256。该方法密钥长度较短,加解密时需要对明文分组,然后对每个分组(64位,8个字节为一个分组)进行加解密。AES加密算法:AES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。AES加密算法被设计为支持128/192/256位(/32=nb)数据块大小(即分组长度);支持128/192/256位(/32=nk)密码长度,,在10进制里,对应34×1038、62×1057、1.1×1077个密钥。该方法密钥长度较短,加解密时需要对明文分组,然后对每个分组(128位,16个字节为一个分组)进行加解密。RSA加密算法:RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA是第一个能同时用于加密和数宇签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。该方法加解密对系统开销较大,基本只用于密钥或短数据的加密。由于个人的数据如视频、图片等存在内容多,文件大的特点,用现有技术提供的一些主要加密方法,如DES、AES或者RSA等进行加密的话,加密时间长,同时,在需要查看文件的时候还需要进行解密,解密的时间也会比较长,造成用户体验很差。同时,DES、AES和RSA都是分组加密方式,而计算机内读取文件的方式不一定是顺序读取的,在采用上述方式加解密时,就必需做分组对齐,这样对现有的应用软件要进行较大的改动。
技术实现思路
针对现有加密技术对个人大数据文件进行加密存在的问题,本专利技术实施例提供一种流式加密方法和流式解密方法,加密速度和解密速度非常快。本专利技术实施例提供的流式加密方法,包括如下步骤:获取由主密钥K1生成的加密对照表E;将需要加密的明文以单字节作为加密单元;针对每一个加密单元,将加密单元P值作为加密对照表E的索引B2,通过B2在加密对照表E中获取B2对应的值V2,将V2作为加密后的密文单元C值;将所有密文单元C值合并成一个完整的数据流或文件,形成密文。针对上述实施例提供的流式加密方法,本专利技术实施例还提供一种流式解密方法,包括以下步骤:获取上述加密方法加密后的密文;获取主密钥K1;针对密文的每一个密文单元,获取密文单元C值;在主密钥K1中,以C值为主密钥K1的索引B1,获取索引B1对应的值V1,所述V1即为加密单元P值;将所有加密单元P值合并成一个完整的数据流或文件,形成解密后的明文。本专利技术实施例提供的流式加密方法和流式解密方法,写入文件或网络数据流时直接调用加密算法,加密时无需再另外消耗时间,写入文件或网络数据流的数据直接就是加密后的数据;从文件或网络数据流中读取到数据时实时进行解密,将解密后的数据直接传给应用,而不需修改原文件的内容,原文件始终处于加密状态。同时通过将加密单元按字节作为加密单元,可以实现从任意位置开始加解密。本专利技术提供的流式加解密方法,使现有的应用软件几乎不需要做大的改动,就可以无缝地融合流式加密方法和流式解密方法。优选地,在获取由主密钥K1生成的加密对照表之前,还包括生成主密钥K1步骤:获取256个字节,按照从0至255的顺序依次填充256个字节,得到一个值从0至255的数组,对获得的数组的值采用随机方式打乱重排,得到一个无序数组,由所述无序数组构成主密钥K1。优选地,在生成主密钥K1后,还包括生成加密对照表E步骤:所述加密对照表E按以下规则根据主密钥K1生成:将加密对照表E的索引B2对应主密钥K1的值V1;将加密对照表E的索引B2所对应的值V2对应主密钥K1的值V1所对应的索引B1。优选地,在生成主密钥K1后,还包括生成子密钥K2步骤:将输入的指定值进行编码运算,得到子密钥K2;在生成主密钥K1后,对所述主密钥K1通过以下方式加密:将主密钥K1中的每个索引B1对应的值V1,通过公式V1=D1(V1,K2,B1)加密,其中,D1为加密函数,主密钥K1中的值V1所对应的索引B1作为偏移量。其中,指定值由用户自己定义,在实际运用中,用户一般会指定一个适合加解密双方使用的指定值,如加解密双方都知道的一串代码,一个账号等。优选地,在生成加密对照表E后,对所述加密对照表E中的每个值V2通过以下公式加密:V2=D2(V2,K2,B2),其中,D2为加密函数,加密对照表E中的值V2所对应的索引B2作为偏移量。优选地,在生成主密钥K1后还可以包括以下步骤:将输入的PIN码进行编码运算,得到子密钥PIN;其中对主密钥K1中的每个值V1进行加密,通过公式V1=D1(V1,K2,PIN,B1)加密,主密钥K1中的值V1所对应的索引B1作为偏移量。优选地,在生成主密钥K1后还包括以下步骤:获取设备的硬件唯一码并进行编码运算,得到设备密钥BIND;其中对主密钥K1中的每个值V1进行加密,通过公式V1=D1(V1,K2,PIN,BIND,B1)加密,主密钥K1中的值V1所对应的索引B1作为偏移量。其中,设备的硬件唯一码可以通过自动读取的方式获取,也可以通过用户输入的方式获取。通过自动读取的方式获取到的设备的硬件唯一码,并生成设备密钥BIND,则加密文件只能在加密的这台设备上解密。而通过用户输入的方式获取,则可以由用户通过输入设备的硬件唯一码的形式指定特定的设备才能解密相关的加密文件。优选地,对所述加密对照表E中的每个值V2通过以下公式加密:V2=D2(V2,K2,PIN,B2),其中D2为加密函数,加密对照表E中的值V2所对应的索引B2作为偏移量。。优选地,对所述加密对照表E中的每个值V2通过以下方式加密:V2=D2(V2,K2,PIN,BIND,B2),其中D2为加密函数,加密对照表E中的值V2所对应的索引B2作为偏移量。优选地,所述针对每一个加密单元P进行加密,P本文档来自技高网
...

【技术保护点】
1.一种流式加密方法,其特征在于,包括如下步骤:获取由主密钥K1生成的加密对照表E;将需要加密的明文以单字节作为加密单元;针对每一个加密单元,将加密单元P值作为加密对照表E的索引B2,通过B2在加密对照表E中获取B2对应的值V2,将V2作为加密后的密文单元C值,将所有密文单元C值合并成一个完整的数据流或文件,形成密文。

【技术特征摘要】
1.一种流式加密方法,其特征在于,包括如下步骤:获取由主密钥K1生成的加密对照表E;将需要加密的明文以单字节作为加密单元;针对每一个加密单元,将加密单元P值作为加密对照表E的索引B2,通过B2在加密对照表E中获取B2对应的值V2,将V2作为加密后的密文单元C值,将所有密文单元C值合并成一个完整的数据流或文件,形成密文。2.一种流式解密方法,其特征在于,包括如下步骤:获取根据权1所述流式加密方法加密后形成的密文;获取主密钥K1;针对密文的每一个密文单元,获取密文单元C值;在主密钥K1中,以C值为主密钥K1的索引B1,获取索引B1对应的值V1,所述V1即为加密单元P值;将所有加密单元P值合并成一个完整的数据流或文件,形成解密后的明文。3.如权利要求1或2所述的方法,其特征在于,在获取由主密钥K1生成的加密对照表之前,还包括生成主密钥K1步骤:获取256个字节,按照从0至255的顺序依次填充256个字节,得到一个值从0至255的数组,对获得的数组的值采用随机方式打乱重排,得到一个无序数组,由所述无序数组构成主密钥K1。4.如权利要求3所述的方法,其特征在于,在生成主密钥K1后,还包括生成加密对照表E步骤:所述加密对照表E按以下规则根据主密钥K1生成:将加密对照表E的索引B2对应主密钥K1的值V1;将加密对照表E的索引B2所对应的值V2对应主密钥K1的值V1所对应的索引B1。5.如权利要求4所述的方法,其特征在于,在生成主密钥K1后,还包括生成子密钥K2步骤:将输入的指定值进行编码运算,得到子密钥K2;在生成主密钥K1后,对所述主密钥K1通过以下方式加密:将主密钥K1每个索引B1对应的值V1,通过公式V1=D1(V1,K2,B1)加密,其中,D1为加密函数,主密钥K1的索引B1作为偏移量,K2是一个或多个子密钥的组合。6.如权利要求5所述的方法,其特征在于,在生成加密对照表E后,对所述加密对照表E中的每个值V2通过以下公式加密:V2=D2(V2,K2,B2),其中,D2为加密函数,加密对照表E的值V2所对应的索引B2作为偏移量。7.如权利要求...

【专利技术属性】
技术研发人员:王萍
申请(专利权)人:王萍
类型:发明
国别省市:广东,44

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

1