一种数据加密方法和系统的制作方法_2

文档序号:9633799阅读:来源:国知局
列的形式对所述待加密数据进行加密。
[0055]步骤106,将所述加密数据和所述TS数据包中的未加密数据同步后输出。
[0056]在本实施例中,为了保证加密后的数据在数据接收端接收之后能够正常解密使用,需要对加密完成的加密数据和未加密数据进行同步后再输出。
[0057]综上所述,本实施例所述的数据加密方法可以根据伪随机序列从TS数据包的负载部分中动态地提取设定大小的数据作为待加密数据;然后对所述提取的设定大小的待加密数据进行加密,得到加密数据;最后将所述加密数据和所述TS数据包中的未加密数据同步后输出。可见,在本实施例中,可以对TS数据包中的部分数据进行加密,在保证数据安全性的同时大大缩短了加密过程所消耗的时间,降低了功耗。
[0058]此外,采用伪随机序列动态地从所述TS数据包中随机位置处提取所述设定大小的待加密数据,提高了数据的安全性,极大的增加了非法破译的难度。
[0059]实施例二
[0060]参照图2,示出了本发明实施例二中一种数据加密方法的步骤流程图。在本实施例中,所述数据加密方法可以包括如下步骤:
[0061 ] 步骤202,根据TS协议,将音视频数据封装为TS流。
[0062]在本实施例中,可以根据TS协议,将音视频数据封装为TS流,其中,所述TS流中包括至少一个TS数据包。
[0063]步骤204,根据伪随机序列,从TS数据包的负载部分中提取设定大小的数据作为待加密数据。
[0064]如前所述,根据一个音频或视频数据确定的TS流中包括至少一个TS数据包,音频或视频数据基于所述至少一个TS数据包进行分包传输。
[0065]在本实施例中,针对不同的TS数据包可以使用随机生成的不同的伪随机序列进行待加密数据的提取。也即,可以根据随机生成的各个伪随机序列,分别从各个TS数据包的负载部分中提取设定大小的数据作为待加密数据。待加密数据的提取位置是动态的,每个TS数据包中的待加密数据的提取位置不完全相同,极大提高了数据传输的安全性。
[0066]优选地,在本实施例中,具体可以通过Μ序列产生模块生成所述伪随机序列。其中,Μ序列(CDMA系统中采用的最基本的ΡΝ序列,是最长线性反馈移位寄存器序列的简称)是伪随机序列中带线性反馈移位寄存器的周期最长的一种基本序列。相同的Μ序列发生器同时应用于加密端和解密端时,能够产生相同的伪随机序列,从而在数据传输中不需要传送所述伪随机序列,降低了传送过程占用的带宽。
[0067]进一步地,在本实施例中,可以根据所述伪随机序列确定地址信息,然后从所述TS数据包的负载部分中所述地址信息所指示的位置处提取设定大小的数据作为待加密数据。例如,可以以所述伪随机序列作为起始地址或结束地址,从所述TS数据包的负载部分提取得到所述待加密数据。其中,所述待加密数据的大小包括但不仅限于128位。
[0068]需要说明的是,在本实施例中,TS数据包的负载部分的大小一般是184字节,则所述128位(16字节)的待加密数据的可能地址共有168种,为了避免产生的伪随机序列大于最大可能地址,可以通过选择7位移位寄存器来控制伪随机序列的大小,也即,使产生的最大伪随机序列为127,小于所述TS数据包的负载部分的最大地址。所述Μ序列生成模块中为了达到最长的周期即循环通过所有27-1个内部状态,需要具有一定的抽头序列,该抽头序列加上常数1形成的多项式为本原多项式模2。7位线性反馈移位寄存器的本原多项式模2为(7,3,0)即χ7+χ3+1。其中除0外的所有数字指明了抽头序列,这些抽头从移位寄存器的左边开始计数,经过异或之后反馈到移位寄存器的最右边。
[0069]步骤206,对所述提取的设定大小的待加密数据进行加密,得到加密数据。
[0070]在本实施例中,可以采用任意一种已知的加密算法生成加密密钥。生成的加密密钥和所述待加密数据可以发送至AES (Advanced Encrypt1n Standard,高级加密标准,是一种密钥对称、数据块长度和密钥长度可变的分组迭代加密算法,数据块的长度和密钥的长度可以为128位、192位或者256位)加密模块,以使所述AES加密模块根据所述加密密钥对所述待加密数据进行加密。
[0071 ] 在本实施例中,提取出的待加密数据可以保存在第一缓存中,未加密数据则可以保存在第二缓存中,因此,可以从所述第一缓存中提取出待加密数据,然后通过AES加密模块对所述待加密数据进行加密。
[0072]步骤208,将所述加密数据和所述TS数据包中的未加密数据同步后输出。
[0073]如前所述,未加密的数据可以保存在第二缓存中,因此可以从所述第二缓存中获取未加密数据,并将从所述第二缓存中获取的未加密数据与所述AES加密模块输出的加密数据进行同步,然后将同步后的数据发送至数据接收端。
[0074]其中,在本实施例中,AES加密算法采用128位分组长度和128位长度的加密密钥进行加密,对于128位的长度,AES算法的总迭代轮数为10,加密一组数据需要11个周期的延时。因此为了保证数据的同步,所述同步模块可以将未经加密的172字节数据延迟11周期,以达到与经过加密的16字节数据的同步,保证数据流的同步性和准确性。
[0075]需要说明的是,待加密数据和未加密数据的分类存储,保证了数据加密过程的准确性,以及传输链路的安全性。而且,在最后的数据同步过程中,由于各个TS数据包的未加密数据可以存储在不同的缓存中,进而可以实现多个同步操作的并行执行,提高了处理效率。
[0076]综上所述,本实施例所述的数据加密方法可以根据伪随机序列从TS数据包的负载部分中动态地提取设定大小的数据作为待加密数据;然后对所述提取的设定大小的待加密数据进行加密,得到加密数据;最后将所述加密数据和所述TS数据包中的未加密数据同步后输出。可见,在本实施例中,可以对TS数据包中的部分数据进行加密,在保证数据安全性的同时大大缩短了加密过程所消耗的时间,降低了功耗。
[0077]其次,采用伪随机序列动态地从所述TS数据包中随机位置处提取所述设定大小的待加密数据,提高了数据的安全性,极大的增加了非法破译的难度。
[0078]此外,由于相同的Μ序列发生器同时应用于加密端和解密端时,能够产生相同的伪随机序列,故,在解密端设置相同的Μ序列发送器即可完成传输的加密数据的解密过程,在传输过程中不需要传送所述伪随机序列,降低了传送过程占用的带宽,同时避免了所述伪随机序列的丢失和泄露,保证了数据的安全性。
[0079]进一步地,本实施例通过截取TS数据包中特定位置处的16字节数据进行AES加密,使得加密一个TS数据包最少只需要11周期的延迟,大大减少了加密大量音视频码流所消耗的时间,提升了系统的工作性能,降低了系统的功耗。
[0080]实施例三
[0081]结合上述实施例,本实施例以针对音视频数据的加密流程为例对上述实施例中所述的数据加密方法进行说明。在不矛盾的情况下,所述的针对音视频数据的加密流程可以和上述实施例中所述的数据加密方法的技术特征相结合。需要说明的是,本发明所述的数据加密方法包括但不仅限于应用于音视频数据的加密。
[0082]参照图3,示出了本发明实施例三中一种实现音视频数据的加密方法的系统架构的基本框图。在本实施例中,所述音视频数据的加密可以基于图3所示的系统架构实现,其中,所述系统架构可以包括:TS流封装模块,第一缓存,第二缓存,Μ序列产生模块,Μ序列缓存,待加密数据提取模块,AES加密模块,同步模块,控制模块。其中,所述TS流封装模块的输出端可以与所述待加密数据提取模块的输入端连接;Μ序列产生模块、Μ序列缓存和所述待加密数据提取模块依次连
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1