【技术实现步骤摘要】
数据加解密方法、装置和移动终端
本专利技术涉及数据加密技术,特别涉及一种数据加解密方法、装置和移动终端。
技术介绍
近些年来,随着手机、MP4等手持多媒体终端设备的广泛使用,消费者越来越喜欢在这些设备上进行观看视频等活动。受限于存储技术的发展,在很多多媒体终端设备,尤其是较为低端的设备上,存储空间都是非常受限制的,而消费者则希望设备中可存储更多的多媒体内容。此外,低端设备的计算能力往往也十分有限。另一方面,随着PC机的迅猛发展,现在PC上的视频都趋向于标清和高清级别,一般分辨率都在480p(640x480)以上,可达到720p(1280x720)甚至更高。由此存在实际需求与硬件设备的处理能力之间的落差。一般有两种途径来解决这种问题。一种是将分辨率较高的视频直接放在设备上播放,另外一种是先将视频压缩再放到设备中播放。当移动终端设备的计算和存储能力受限时,第一种方法是不可行的,如此做,一方面移动终端设备上可存储的内容十分有限,另一方受限于计算能力,所存储内容也未必可以被正确播放。第二种方法,可根据移动终端设备的实际能力对要存储内容进行适当处理,使得可以保证所存内容可以被正确播放。在这样的背景下,有些移动终端设备制造商等就会考虑如何在一定程度上保持清晰度的情况下,将视频压缩得更小。当把此做得比较好之后,相应制造商就会考虑如何对这样的技术进行保护,普遍的做法是视频进行加密处理,使得处理后的视频只能在专用播放器上播放。高分辨率视频在低分辨率的设备上播放时,原始视频输出必须经过缩放等后处理操作才能显示全部视频内容。在这样的情况下,一般用户会先在PC机上将视频进行压缩, ...
【技术保护点】
一种数据加解密方法,其特征在于,包括:根据加密密钥/解密密钥生成密钥流源;根据所述密钥流源基于布尔函数和异或操作生成密钥流;将所述密钥流与待加密/待解密数据进行异或操作生成加密/解密数据。
【技术特征摘要】
1.一种数据加解密方法,其特征在于,包括:根据加密密钥/解密密钥生成密钥流源,其中,所述密钥流源state为48位;根据所述密钥流源基于布尔函数和异或操作生成密钥流;将所述密钥流与待加密/待解密数据进行异或操作生成加密/解密数据;其中,所述根据所述密钥流源基于布尔函数和异或操作生成密钥流包括:将所述密钥流源的1、2、4、5位经过布尔函数处理,7、11、13、14位经过布尔函数处理,16、20、22、25位经过布尔函数处理,27、28、30、32位经过布尔函数处理,33、42、43、45位经过布尔函数处理,得到5个1位的输出,5个1位的输出经过二次布尔函数处理得到1位输出;其中,布尔函数布尔函数的处理过程为:将输入的4位合成一个数a,将0x2C79右移a位,取最后一位为输出;布尔函数的处理过程为:将输入的4位合成一个数b,将0x6671右移b位,取最后一位为输出;布尔函数的处理过程为:将输入的5位合成一个数c,将0x7907287B右移c位,取最后一位为输出;将所述密钥流源剩余的位进行异或,再与二次布尔函数的1位输出进行异或得到1位的反馈值;将所述密钥流源左移1位,将1位的反馈值填入所述密钥流源的最后一位;由所述密钥流源左移输出的位形成密钥流。2.根据权利要求1所述的方法,其特征在于,对于加密方法,还包括:对所述加密密钥进行加密获得加密的加密密钥;或者对于解密方法,还包括:对加密的解密密钥进行解密获得所述解密密钥。3.根据权利要求1所述的方法,其特征在于,还包括:获取所述加密密钥/解密密钥。4.根据权利要求1所述的方法,其特征在于,所述将所述密钥流与待加密/待解密数据进行异或操作生成加密/解密数据包括:每8位密钥流形成1字节密钥流,依次与待加密/待解密数据中对应字节进行异或操作从而产生加密/解密数据。5.根据权利要求4所述的方法,其特征在于,所述每8位密钥流形成1字节密钥流、依次与待加密/待解密数据中对应字节进行异或操作从而产生加密/解密数据包括:丢弃先产生的A字节密钥流;判断B+8是否小于所述待加密/待解密数据p的当前字节的大小;如果是,则从p[B+8]开始连续产生16字节密钥流,用每次调用产生的1字节密钥流与p中对应字节异或,输出加密/解密数据;否则,从p[8]开始连续产生16字节密钥流,用每次调用产生的1字节密钥流与p中对应字节异或,输出加密/解密数据;其中,A=p[4]^p[5]^seed2,B=p[6]^p[7]^(seed2<<4),C=A^B,p为待加密/待解密数据的首地址,1字节的种子seed2为当前文件大小的低字节。6.根据权利要求5所述的方法,其特征在于,所述根据加密密钥/解密密钥生成密钥流源包括:由p[4]、p[5]、p[6]、p[7]按顺序拼接成四字节IV,其中p[4]在高字节;从16字节加密密钥key的第tmp_1字节开始连续取6字节信息获得current_key,其中,tmp_1为C的低4位值;从16字节加密密钥key的第tmp_2字节开始连续取4字节信息获得serial,其中tmp_2为C的高4位值;将32位的serial填入48位寄存器state的前32位,将current_key的前16位填入state的后16位;对于i=0,....,31,运行如下操作:将state的1、2、4、5位经过布尔函数处理,7、11、13、14位经过布尔函数处理,16、20、22、25位经过布尔函数处理,27、28、30、32位经过布尔函数处理,33、42、43、45位经过布尔函数处理,分别得到5个1位的out,5个1位的out再经过布尔函数处理得到1位out;将state剩余的位进行异或,再与1位out、IV的第i位、current_key的第i位进行异或得到1位的反馈值feedback;将state左移1位,将1位的feedback填入state的第48位。7.一...
【专利技术属性】
技术研发人员:曲博,罗小伟,林福辉,
申请(专利权)人:展讯通信上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。