文件加密、解密方法和装置的制造方法_3

文档序号:9249922阅读:来源:国知局
引的二进制数中取第一数字序列对应比特位位置上的数值,得到第一比特位数值序列。
[0101]步骤S804,在待解密字节中取所述第二数字序列对应比特位位置上的数值,得到第二比特位数值序列。
[0102]步骤S806,将第一比特位数值序列与第二比特位数值序列中对应位置上的两个数值进行预设的解密位逻辑运算,得到各对数值对应的运算结果。
[0103]在一个实施例中,第一比特位数值序列与第二比特位数值序列中相同顺序位置上的两个数值相对应,例如,第一个比特位数值序列中的第一个数值与第二比特位数值序列中的第一个数值相对应,第一个比特位数值序列中的第二个数值与第二比特位数值序列中的第二个数值相对应,依此类推。
[0104]解密位逻辑运算为本申请文件对文件解密方法中所采用的位逻辑运算的称呼。在一个实施例中,预设的解密位逻辑运算包括但不限于异或运算。
[0105]步骤S808,将待解密字节中第二数字序列对应比特位位置上的各个数值,替换为各个数值对应的运算结果。
[0106]上述实施例中的文件解密方法,对待解密字节进行预设的解密位逻辑运算,由于位逻辑运算所需要的时间非常少,从而上述方法可快速地获得解密后的字节,可满足流媒体进行流式播放的需求。
[0107]在一个实施例中,一种文件加密装置,用于以字节为单位对文件进行加密,如图9所示,包括密钥获取模块902和加密模块904,其中:
[0108]密钥获取模块902用于根据待加密字节在文件中的位置索引以及预设的第一密钥获取第二密钥。
[0109]加密模块904用于根据待加密字节在文件中的位置索引以及第二密钥对待加密字节进行加密。
[0110]如图10所示,在一个实施例中,文件加密装置还包括字节读取模块1002,用于按照字节在文件中的顺序从头至尾依次读取文件中的字节,并对依次读取的字节进行加密处理,进一步的将已加密字节按照顺序组合成加密后的文件。在另一个实施例中,字节读取模块1002对字节的读取和加密顺序可不与字节在文件中的顺序保持一致,并用于最终将已加密字节按照其在文件中对应的位置组合成加密后的文件。
[0111]在一个实施例中,待加密字节在文件中的位置索引为待加密字节在文件中的位置序号。在另一实施例中,若文件以一定时长的时间段划分成多个文件段,则字节的位置索引可以由字节所处的文件段的位置序号,以及字节在所处的文件段中的位置序列构成。
[0112]在一个实施例中,密钥获取模块902用于计算待加密字节的位置索引模除预设值得到的结果,并将该结果表示成一个字节长度的二进制数,得到待加密字节的位置索引的二进制数,其中,该预设值小于等于一个字节所表示的数值个数,且该预设值为正整数。
[0113]一个字节包括8位,其所表示的数值个数为256,上述预设值可为I?256的正整数。在一个实施例中,预设值等于256 ;本实施例中,待加密字节的位置索引模除预设值得到的结果的取值范围为O?255。
[0114]进一步的,密钥获取模块902还用于获取待加密字节的位置索引的二进制数中预设的第一密钥对应的比特位数值。
[0115]在一个实施例中,第一密钥为I?8的正整数。
[0116]在一个实施例中,位置索引的二进制数中第一密钥对应的比特位数值为位置索引的二进制数中特定位置上的数量等于第一密钥数值的比特位数值。
[0117]进一步的,密钥获取模块902还用于在预设的密钥表中读取该比特位数值对应的第二密钥。具体的,在一个实施例中,密钥获取模块902可将第一密钥对应的各个比特位数值按照其在位置索引的二进制数中的位置组合成一个二进制数,得到组合二进制数。在一个实施例中,密钥表中包括多个密钥,每一个密钥都有唯一的一个顺序序号,用于表示其在密钥表中的顺序。进一步的,密钥获取模块902可在密钥表中读取以上述组合二进制数为顺序序号的密钥作为第二密钥。
[0118]在一个实施例中,第二密钥包括第一数字序列和第二数字序列,第一数字序列和第二数字序列中的数字个数相同,且数字个数不超过一个字节的长度,第一数字序列对应位置索引的二进制数中的比特位位置,第二数字序列对应待加密字节中的比特位位置。
[0119]在一个实施例中,第一数字序列和第二数字序列对应的比特位位置基于特定的起始位。在一个实施例中,第一数字序列和第二数字序列对应的比特位位置以最高位表示第一位为基准,在另一个实施例中,第一数字序列和第二数字序列对应的比特位位置以最低位表示第一位为基准,等等,本申请对此不作限制。
[0120]本实施例中,加密模块904用于在位置索弓I的二进制数中取第一数字序列对应比特位位置上的数值,得到第一比特位数值序列。
[0121]进一步的,加密模块904还用于在待加密字节中取第二数字序列对应比特位位置上的数值,得到第二比特位数值序列。
[0122]进一步的,加密模块904还用于将第一比特位数值序列与第二比特位数值序列中对应位置上的两个数值进行预设的加密位逻辑运算,得到各对数值对应的运算结果。
[0123]在一个实施例中,第一比特位数值序列与第二比特位数值序列中相同顺序位置上的两个数值相对应,例如,第一个比特位数值序列中的第一个数值与第二比特位数值序列中的第一个数值相对应,第一个比特位数值序列中的第二个数值与第二比特位数值序列中的第二个数值相对应,依此类推。
[0124]位逻辑运算包括或运算、和运算、异或运算等,加密位逻辑运算为本申请文件对文件加密方法中所采用的位逻辑运算的称呼。在一个实施例中,预设的加密位逻辑运算包括但不限于异或运算。
[0125]进一步的,加密模块904还用于将待加密字节中第二数字序列对应比特位位置上的各个数值,替换为各个数值对应的运算结果。
[0126]上述实施例中的文件加密装置,对待加密字节进行预设的加密位逻辑运算,由于位逻辑运算所需要的时间非常少,从而上述装置可快速地获得加密后的字节,提高文件加密速度;而且使得解密过程中也可采用位逻辑运算进行解密,从而可提高文件解密速度,可满足流媒体进行流式播放的需求。
[0127]本申请文件还提供一种与上述的文件加密装置相对应的文件解密装置。
[0128]在一个实施例中,一种文件解密装置,以字节为单位对文件进行解密,如图11所示,包括密钥获取模块1102和解密模块1104,其中:
[0129]密钥获取模块1102用于根据待解密字节在文件中的位置索引以及预设的第一密钥获取第二密钥。
[0130]解密模块1104用于根据位置索引以及第二密钥对待解密字节进行解密。
[0131]如图12所示,在一个实施例中,上述文件解密装置还包括字节读取模块1202,用于按照字节在文件中的顺序从头至尾依次读取文件中的字节,并对依次读取的字节进行解密处理,进一步的将已解密字节按照顺序组合成解密后的文件。在另一个实施例中,字节读取模块1202对字节的读取和解密顺序可不与字节在文件中的顺序保持一致,并用于最终将已解密字节按照其在文件中对应的位置组合成解密后的文件。
[0132]在一个实施例中,待加密字节在文件中的位置索引为待加密字节在文件中的位置序号。在另一实施例中,若文件以一定时长的时间段划分成多个文件段,则字节的位置索引可以由字节所处的文件段的位置序号,以及字节在所处的文件段中的位置序列构成。
[0133]在一个实施例中,密钥获取模块1102用于计算位置索引模除预设值得到的结果,并将该结果表示成一个字节长度的二进制数,得到位置索引的二进制数,该预设值小于等于一个字节所表示的数值个数,且该预设值为正整数。
[0134]在一个实施例中,上述预设值可为I?256的正整数。在一个实施例中,预设值等于256 ;本实施例中,待解密字节的位置索引模除预设值得到的结果的取值范围为O?255。
[0135]进一步的,密钥获取模块1102还用于获取位置索引的二进制数中第一密钥对应的比特位数值。
[0136]在一个实施例中,第一密钥为I?8的正整数。
[0137]在一个实施例中,位置索引的二进制数中第一密钥对应的比特位数值为位置索引的二进制数中特定位置上的数量等于第一密钥数值的比特位数值。
[0138]进一步的,密钥获取模块1102还用于在预设的密钥表中读取所述比特位数值对应的第二密钥。具体的,在一个实施例中,密钥获取模块1102可将第一密钥对应的各个比特位数值按照其在位置索引的二进制数中的位置组合成一个二进制数,得到组合二进制数。在一个实施例中,密钥表中包括多个密钥,每一个密钥都有唯一的一个顺序序号,用于表示其在密钥表中的顺序。进一步的,密钥获取模块1102可在密钥表中读取以上述组合二进制数为顺序序号的密钥作为第二密钥。
[0139]在一个实施例中,第二密钥包括第一数字序列和第二数字序列,第一数字序列和第二数字序列中的数字个数相同,且数字个数不超过一个字节的长度,所述第一数字序列对应所述位置索引的二进制数中的比特位位置,所述第二数字序列对应所述待加密字节中的比特位位置。在一个实施例中,第一数字序列和第二数字序列对应的比特位位置基于特定的起始位。在一个实施例中,第一数字序列和第二数字序列对应的比特位位置以最高位表示第一位为基准,在另一个实施例中,第一数字序列和第二数字序列对应的比特位位置以最低位表示第一位为基准,等等,本申请对此不作限制。
[0140]本实施例中,解密模块1104用于在位置索引的二进制数中取第一数字序列对应比特位位置上的数值,得到第一比特位数值序列。
[0141]进一步的,解密模块1104还用于在待解密字节中取所述第二数字序列对应比特位位置上的数值,得到第二比特位数值序列。
[0142]进一步的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1