CN115550692B - 一种对视频流实时加密的方法、装置及设备 - Google Patents
一种对视频流实时加密的方法、装置及设备 Download PDFInfo
- Publication number
- CN115550692B CN115550692B CN202211515732.5A CN202211515732A CN115550692B CN 115550692 B CN115550692 B CN 115550692B CN 202211515732 A CN202211515732 A CN 202211515732A CN 115550692 B CN115550692 B CN 115550692B
- Authority
- CN
- China
- Prior art keywords
- encryption
- module
- video stream
- encrypted
- encryption module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 239000011159 matrix material Substances 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012356 Product development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100352381 Homo sapiens PLGLA gene Proteins 0.000 description 1
- 102100035201 Plasminogen-like protein A Human genes 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4408—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提出一种对视频流实时加密的方法、装置及设备。方法包括:建立用于加密视频流的配置信息;通过控制模块接收所述配置信息并发送给输入矩阵、输出多路选择器以及多路加密模块;所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果;所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。本发明公开的方案兼顾软件的灵活性和硬件的高效性,不需要频繁访问DDR,时延低,适用于对实时性要求高的场合。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种对视频流实时加密的方法、装置及设备。
背景技术
KVM为键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的缩写。KVM技术的核心思想是:通过适当的键盘、鼠标、显示器的配置,实现系统和网络的集中管理,提高系统管理员的工作效率,节约机房的面积,降低网络工程和服务器系统的总体拥有成本,避免使用多显示器产生的辐射,营建健康环保的机房。利用KVM多主机切换系统,可以通过一套KVM在多个不同操作系统的主机或服务器之间进行切换。因为KVM传输的是键盘、鼠标、显示数字信号,所以如果通过网络被窃取,将引起极大的安全隐患,如何加密这些信号显得至关重要,现有技术通常使用软件方式实现加解密,效率和实时性无法保证,或者在底层硬件采用DMA+加密模块的方式,视频流先写入DDR,通过DMA的方式从DDR中读出视频流进行加密,然后再将加密后的视频流写入DDR,采用该方式会频繁访问DDR,占用宝贵的DDR带宽,效率低延迟大。
发明内容
有鉴于此,本发明提出了一种对视频流实时加密的方法、装置及设备,其中,本发明提出的一种对视频流实时加密的方法通过软件配置密钥和加密模式,硬件对视频流进行实时加密,兼顾软件的灵活性和硬件的高效性,不需要频繁访问DDR,同时实现简单,占用存储资源少,缩短产品开发周期,降低产品开发成本。
基于以上目的,本发明的实施例的一个方面提供了一种对视频流实时加密的方法,所述方法包括以下步骤:建立用于加密视频流的配置信息;通过控制模块接收所述配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块;所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果;所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
在一些实施例中,方法还包括:所述输出多路选择器将所述对应加密模块的加密结果输出到DDR中进行保存。
在一些实施例中,所述配置信息至少包括:视频流的选择、加密模块的选择、加密密钥、加密长度。
在一些实施例中,所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块包括:所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择待加密视频流;所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块。
在一些实施例中,所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择待加密视频流包括:所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择一路或者多路待加密视频流。
在一些实施例中,所述多路加密模块至少包括:基于对称加密算法构建的加密模块和旁路模块。
在一些实施例中,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块包括:响应于从所述多路加密模块中选择RC4加密模块,将所述待加密视频流输入到所述RC4加密模块。
在一些实施例中,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:所述RC4加密模块根据所述加密长度和所述待加密视频流的位宽配置加密密钥,得到扩展密钥,通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果。
在一些实施例中,所述RC4加密模块根据所述加密长度和所述待加密视频流的位宽配置加密密钥,得到扩展密钥,通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果包括:基于所述加密长度配置RC4算法的密钥长度,得到与所述加密长度匹配的子密钥字节流;将所述子密钥字节流的子密钥拼接成与所述待加密视频流的位宽相匹配的扩展密钥;通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果。
在一些实施例中,所述通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果包括:将所述扩展密钥存储在RAM中,响应于接收到RC4加密模块请求,从所述RAM中取出所述扩展密钥对所述待加密视频流进行加密,并将加密后的值增加加扰值,得到加密结果。
在一些实施例中,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述RC4加密模块,并将通过所述RC4加密模块得到的加密结果输出。
在一些实施例中,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:响应于从所述多路加密模块中选择AES128加密模块,将所述待加密视频流输入到所述AES128加密模块。
在一些实施例中,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:所述AES128加密模块通过AES128加密算法对所述待加密视频流进行11级加密,得到加密结果。
在一些实施例中,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述AES128加密模块,并将通过所述AES128加密模块得到的加密结果输出。
在一些实施例中,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:响应于从所述多路加密模块中选择AES256加密模块,将所述待加密视频流输入到所述AES256加密模块。
在一些实施例中,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:所述AES256加密模块通过AES256加密算法对所述待加密视频流进行15级加密,得到加密结果。
在一些实施例中,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述AES256加密模块,并将通过所述AES256加密模块得到的加密结果输出。
在一些实施例中,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:响应于从所述多路加密模块中选择旁路模块,将所述待加密视频流输入到所述旁路模块。
在一些实施例中,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:所述旁路模块对所述待加密视频流不进行加密,得到未经加密算法加密的视频流。
在一些实施例中,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述旁路模块,并将所述未经加密算法加密的视频流直通输出。
本发明实施例的另一个方面,还提供了一种对视频流实时加密的装置,所述装置包括:控制模块,所述控制模块配置用于接收配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块;输入矩阵,所述输入矩阵配置用于根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;多路加密模块,所述多路加密模块配置用于根据所述配置信息对所述待加密视频流进行加密,得到加密结果;输出多路选择器,所述输出多路选择器配置用于根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
本发明实施例的另一方面,还提供一种计算机设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任一方法的步骤。
本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上任一方法步骤的计算机程序。
本发明至少具有以下有益效果:本发明提出一种对视频流实时加密的方法、装置及设备,其中,本发明提出的一种对视频流实时加密的方法通过软硬件协同工作,软件配置密钥和加密模式,硬件对视频流进行实时加密,兼顾软件的灵活性和硬件的高效性,不需要频繁访问DDR,时延低,适用于对实时性要求高的场合;通过合理划分AES流水线,一方面可以提高设计的运行时钟频率,另一方面可以对输入视频流进行实时处理,而不需要对数据进行缓存,降低了存储资源的使用;通过合理设置RC4加密长度,将扩展密钥通过一个小的RAM缓存,既匹配了RC4加密速率和输入视频流速率,实现起来又简单,占用存储资源少,即使采用UDP协议传输KVM数据,也不会因为丢包导致后续报文无法解密。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的实施例。
图1示出了本发明提供的一种对视频流实时加密的方法的实施例的示意图;
图2示出了应用于KVM系统的对视频流实时加密的实施例的示意图;
图3示出了通过RC4加密模块对视频流进行实时加密的示意图;
图4示出了存储扩展密钥的RAM的示意图;
图5示出了本发明提供的一种对视频流实时加密的装置的实施例的示意图;
图6示出了本发明提供的一种计算机设备的实施例的示意图;
图7示出了本发明提供的一种计算机可读存储介质的实施例的示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其它实施例可以采取各种替代形式。
此外,需要说明的是术语“包括”、“包含”或其任何其它变形旨在涵盖非排他性的包括,以使包含一系列要素的过程、方法、物品或装置不仅包括那些要素,也可以包括未明确列出的或这些过程、方法、物品或装置所固有的要素。
下面将结合附图说明本申请的一个或多个实施例。
基于以上目的,本发明实施例的第一个方面,提出了一种对视频流实时加密的方法的实施例。图1示出的是本发明提供的一种对视频流实时加密的方法的实施例的示意图。如图1所示,本发明实施例的一种对视频流实时加密的方法包括以下步骤:
S1、建立用于加密视频流的配置信息;
S2、通过控制模块接收所述配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块;
S3、所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;
S4、所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果;
S5、所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
通过软件建立用于加密视频流的配置信息;通过控制模块接收配置信息并将配置信息发送给输入矩阵、输出多路选择器以及多路加密模块;输入矩阵根据配置信息从接收到的视频流中选择待加密视频流和从多路加密模块中选择对应加密模块,并将待加密视频流输入到对应加密模块;对应加密模块根据配置信息对待加密视频流进行加密,得到加密结果;输出多路选择器根据配置信息从多路加密模块中匹配对应加密模块并将加密结果输出。
根据本发明的若干实施例,方法还包括:输出多路选择器将对应加密模块的加密结果输出到DDR中进行保存。
根据本发明的若干实施例,配置信息至少包括:视频流的选择、加密模块的选择、加密密钥、加密长度。
根据本发明的若干实施例,输入矩阵根据配置信息从接收到的视频流中选择待加密视频流和从多路加密模块中选择对应加密模块,并将待加密视频流输入到对应加密模块包括:输入矩阵根据视频流的选择信息从接收到的视频流中选择待加密视频流;输入矩阵根据加密模块的选择从多路加密模块中选择对应的加密模块。
根据本发明的若干实施例,输入矩阵根据视频流的选择信息从接收到的视频流中选择待加密视频流包括:输入矩阵根据视频流的选择信息从接收到的视频流中选择一路或者多路待加密视频流。
根据本发明的若干实施例,多路加密模块至少包括:基于对称加密算法构建的加密模块和旁路模块。
根据本发明的若干实施例,输入矩阵根据加密模块的选择从多路加密模块中选择对应的加密模块包括:响应于从多路加密模块中选择RC4加密模块,将待加密视频流输入到RC4加密模块。
根据本发明的若干实施例,对应加密模块根据配置信息对待加密视频流进行加密,得到加密结果包括:RC4加密模块根据加密长度和待加密视频流的位宽配置加密密钥,得到扩展密钥,通过扩展密钥对待加密视频流进行加密,得到加密结果。
根据本发明的若干实施例,RC4加密模块根据加密长度和待加密视频流的位宽配置加密密钥,得到扩展密钥,通过扩展密钥对待加密视频流进行加密,得到加密结果包括:基于加密长度配置RC4算法的密钥长度,得到与加密长度匹配的子密钥字节流;将子密钥字节流的子密钥拼接成与待加密视频流的位宽相匹配的扩展密钥;通过扩展密钥对待加密视频流进行加密,得到加密结果。
根据本发明的若干实施例,通过扩展密钥对待加密视频流进行加密,得到加密结果包括:将扩展密钥存储在RAM中,响应于接收到RC4加密模块请求,从RAM中取出扩展密钥对待加密视频流进行加密,并将加密后的值增加加扰值,得到加密结果。
根据本发明的若干实施例,输出多路选择器根据配置信息从多路加密模块中匹配对应加密模块并将加密结果输出包括:输出多路选择器根据加密模块的选择从多路加密模块中匹配RC4加密模块,并将通过RC4加密模块得到的加密结果输出。
根据本发明的若干实施例,输入矩阵根据加密模块的选择从多路加密模块中选择对应的加密模块还包括:响应于从多路加密模块中选择AES128加密模块,将待加密视频流输入到AES128加密模块。
根据本发明的若干实施例,对应加密模块根据配置信息对待加密视频流进行加密,得到加密结果包括:AES128加密模块通过AES128加密算法对待加密视频流进行11级加密,得到加密结果。
根据本发明的若干实施例,输出多路选择器根据配置信息从多路加密模块中匹配对应加密模块并将加密结果输出包括:输出多路选择器根据加密模块的选择从多路加密模块中匹配AES128加密模块,并将通过AES128加密模块得到的加密结果输出。
根据本发明的若干实施例,输入矩阵根据加密模块的选择从多路加密模块中选择对应的加密模块还包括:响应于从多路加密模块中选择AES256加密模块,将待加密视频流输入到AES256加密模块。
根据本发明的若干实施例,对应加密模块根据配置信息对待加密视频流进行加密,得到加密结果包括:AES256加密模块通过AES256加密算法对待加密视频流进行15级加密,得到加密结果。
根据本发明的若干实施例,输出多路选择器根据配置信息从多路加密模块中匹配对应加密模块并将加密结果输出包括:输出多路选择器根据加密模块的选择从多路加密模块中匹配AES256加密模块,并将通过AES256加密模块得到的加密结果输出。
根据本发明的若干实施例,输入矩阵根据加密模块的选择从多路加密模块中选择对应的加密模块还包括:响应于从多路加密模块中选择旁路模块,将待加密视频流输入到旁路模块。
根据本发明的若干实施例,对应加密模块根据配置信息对待加密视频流进行加密,得到加密结果包括:旁路模块对待加密视频流不进行加密,得到未经加密算法加密的视频流。
根据本发明的若干实施例,输出多路选择器根据配置信息从多路加密模块中匹配对应加密模块并将加密结果输出包括:输出多路选择器根据加密模块的选择从多路加密模块中匹配旁路模块,并将未经加密算法加密的视频流直通输出。
以下给出了基于本发明的一种对视频流实时加密的方法的另一实施例的具体步骤。
在本实施例中,给出了本发明的对视频流实时加密的方法应用于KVM系统的具体实施例。图2为应用于KVM系统的对视频流实时加密的实施例的示意图,如图2所示,通过配置接口将配置信息加载到硬件的控制模块,其中配置信息包括输入视频流选择、加密模块选择、加密密钥、加密长度等,控制模块一方面将配置信息下发给对应模块,另一方面收集各个模块的状态信息通过配置接口反馈给软件。
通过输入矩阵模块根据视频流选择的配置信息从多路输入视频流中选出一路待加密的视频流,然后根据配置信息选择加密模块并将该路视频流输入对应的加密模块。可以理解的是,对于待加密的视频流不仅限于一路视频流,在实际应用中可以根据需要同时选择出需要加密的多路视频流进行加密。在本实施例中,加密模块有AES128加密模块、AES256加密模块、RC4加密模块和旁路模块,旁路模块即对视频流不进行加密直接直通输出。输出多路选择器根据加密模块选择对应的加密结果输出,可以选择的,可以将输出的结果保存在DDR中。同样的,在实际应用中,可以根据实际需要增加或者减少加密模块,对于加密模块中的加密模式一般选择对称加密算法的加密模式。
AES128加密模块采用AES128算法实现对输入视频流的加密,按照AES128加密算法,每一个数据块要经过11轮加密,具体实现时采用流水线设计,输入到输出有11个时钟周期的延时。
AES256加密模块采用AES256算法实现对输入视频流的加密,按照AES256加密算法,每一个数据块要经过15轮加密,具体实现时采用流水线设计,输入到输出有15个时钟周期的延时。
图3示出了通过RC4加密模块对视频流进行实时加密的示意图,RC4加密模块采用RC4算法实现对输入视频流的加密,加密端将输入视频流的数据经过RC4加密后进入加扰器进行加性加扰(加密后的数据与加扰值相加)后再输出。这样,解密端接收到密文后,先将密文送入解扰器进行解扰(加密后的数据与加扰值相减),再将解扰器输出的数据进行解密。其中,加密密钥为rc4_key,配置信息中的加密长度encry_length配置为256字节,输入视频流位宽128位,即16字节。加密密钥rc4_key经过KSA算法和PRGA算法处理后生成长度为256的子密钥字节流(encry_length配置为256),如果输入视频流数据位宽为128位,则将16个子密钥(每个子密钥长度为8位,即1字节)拼接成一个128位位宽的扩展密钥。
图4示出了存储扩展密钥的RAM的示意图,存储扩展密钥的RAM的深度为16,即可以存储16*128b/8b=256B长度的子密钥,RAM地址addr初始值为0。每来一个输入视频流(明文视频流数据),从addr位置取出扩展密钥对明文数据进行加密,然后addr+1。当addr=15时,addr+1=0,返回RAM起始位置。按照这种处理方法,即便KVM数据通过UDP协议传输,也不会因为丢包导致数据无法解密。
本发明的实施例的第二个方面,提出了一种对视频流实时加密的装置。图5示出的是本发明提供的一种对视频流实时加密的装置的实施例的示意图。如图5所示,本发明提供的一种对视频流实时加密的装置包括:控制模块,所述控制模块配置用于接收配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块;输入矩阵,所述输入矩阵配置用于根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;多路加密模块,所述多路加密模块配置用于根据所述配置信息对所述待加密视频流进行加密,得到加密结果;输出多路选择器,所述输出多路选择器配置用于根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
基于以上目的,本发明实施例的第三个方面,提出了一种计算机设备,图6示出的是本发明提供的一种计算机设备的实施例的示意图。如图6所示,本发明提供的一种计算机设备的实施例,包括以下模块:至少一个处理器021;以及存储器022,存储器022存储有可在处理器021上运行的计算机指令023,该计算机指令023由处理器021执行时实现如上所述的方法的步骤。
本发明还提供了一种计算机可读存储介质。图7示出的是本发明提供的一种计算机可读存储介质的实施例的示意图。如图7所示,计算机可读存储介质031存储有被处理器执行时执行以下步骤的计算机程序032。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,设置系统参数的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、D0L或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (22)
1.一种对视频流实时加密的方法,其特征在于,包括:
建立用于加密视频流的配置信息,所述配置信息通过配置接口加载到硬件的控制模块;
通过所述控制模块接收所述配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块,并将接收的各个模块的状态信息通过所述配置接口反馈给软件;
所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;
所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果;
所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述输出多路选择器将所述对应加密模块的加密结果输出到DDR中进行保存。
3.根据权利要求1所述的方法,其特征在于,所述配置信息至少包括:
视频流的选择、加密模块的选择、加密密钥、加密长度。
4.根据权利要求3所述的方法,其特征在于,所述输入矩阵根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块包括:
所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择待加密视频流;
所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块。
5.根据权利要求4所述的方法,其特征在于,所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择待加密视频流包括:
所述输入矩阵根据所述视频流的选择信息从接收到的视频流中选择一路或者多路待加密视频流。
6.根据权利要求4所述的方法,其特征在于,所述多路加密模块至少包括:
基于对称加密算法构建的加密模块和旁路模块。
7.根据权利要求6所述的方法,其特征在于,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块包括:
响应于从所述多路加密模块中选择RC4加密模块,将所述待加密视频流输入到所述RC4加密模块。
8.根据权利要求7所述的方法,其特征在于,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:
所述RC4加密模块根据所述加密长度和所述待加密视频流的位宽配置加密密钥,得到扩展密钥,通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果。
9.根据权利要求8所述的方法,其特征在于,所述RC4加密模块根据所述加密长度和所述待加密视频流的位宽配置加密密钥,得到扩展密钥,通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果包括:
基于所述加密长度配置RC4算法的密钥长度,得到与所述加密长度匹配的子密钥字节流;
将所述子密钥字节流的子密钥拼接成与所述待加密视频流的位宽相匹配的扩展密钥;
通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果。
10.根据权利要求9所述的方法,其特征在于,所述通过所述扩展密钥对所述待加密视频流进行加密,得到加密结果包括:
将所述扩展密钥存储在RAM中,响应于接收到RC4加密模块请求,从所述RAM中取出所述扩展密钥对所述待加密视频流进行加密,并将加密后的值增加加扰值,得到加密结果。
11.根据权利要求10所述的方法,其特征在于,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:
所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述RC4加密模块,并将通过所述RC4加密模块得到的加密结果输出。
12.根据权利要求6所述的方法,其特征在于,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:
响应于从所述多路加密模块中选择AES128加密模块,将所述待加密视频流输入到所述AES128加密模块。
13.根据权利要求12所述的方法,其特征在于,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:
所述AES128加密模块通过AES128加密算法对所述待加密视频流进行11级加密,得到加密结果。
14.根据权利要求13所述的方法,其特征在于,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:
所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述AES128加密模块,并将通过所述AES128加密模块得到的加密结果输出。
15.根据权利要求6所述的方法,其特征在于,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:
响应于从所述多路加密模块中选择AES256加密模块,将所述待加密视频流输入到所述AES256加密模块。
16.根据权利要求15所述的方法,其特征在于,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:
所述AES256加密模块通过AES256加密算法对所述待加密视频流进行15级加密,得到加密结果。
17.根据权利要求16所述的方法,其特征在于,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:
所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述AES256加密模块,并将通过所述AES256加密模块得到的加密结果输出。
18.根据权利要求6所述的方法,其特征在于,所述输入矩阵根据所述加密模块的选择信息从所述多路加密模块中选择对应的加密模块还包括:
响应于从所述多路加密模块中选择旁路模块,将所述待加密视频流输入到所述旁路模块。
19.根据权利要求18所述的方法,其特征在于,所述对应加密模块根据所述配置信息对所述待加密视频流进行加密,得到加密结果包括:
所述旁路模块对所述待加密视频流不进行加密,得到未经加密算法加密的视频流。
20.根据权利要求19所述的方法,其特征在于,所述输出多路选择器根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出包括:
所述输出多路选择器根据所述加密模块的选择信息从所述多路加密模块中匹配所述旁路模块,并将所述未经加密算法加密的视频流直通输出。
21.一种对视频流实时加密的装置,其特征在于,所述装置包括:
控制模块,所述控制模块配置用于接收配置信息并将所述配置信息发送给输入矩阵、输出多路选择器以及多路加密模块,并将接收的各个模块的状态信息通过所述配置接口反馈给软件;
输入矩阵,所述输入矩阵配置用于根据所述配置信息从接收到的视频流中选择待加密视频流和从所述多路加密模块中选择对应加密模块,并将所述待加密视频流输入到所述对应加密模块;
多路加密模块,所述多路加密模块配置用于根据所述配置信息对所述待加密视频流进行加密,得到加密结果;
输出多路选择器,所述输出多路选择器配置用于根据所述配置信息从所述多路加密模块中匹配所述对应加密模块并将所述加密结果输出。
22. 一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-20任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515732.5A CN115550692B (zh) | 2022-11-30 | 2022-11-30 | 一种对视频流实时加密的方法、装置及设备 |
PCT/CN2023/134469 WO2024114601A1 (zh) | 2022-11-30 | 2023-11-27 | 一种对视频流实时加密的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515732.5A CN115550692B (zh) | 2022-11-30 | 2022-11-30 | 一种对视频流实时加密的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115550692A CN115550692A (zh) | 2022-12-30 |
CN115550692B true CN115550692B (zh) | 2023-04-18 |
Family
ID=84722046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211515732.5A Active CN115550692B (zh) | 2022-11-30 | 2022-11-30 | 一种对视频流实时加密的方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115550692B (zh) |
WO (1) | WO2024114601A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550692B (zh) * | 2022-11-30 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006511151A (ja) * | 2002-12-20 | 2006-03-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ストリーム処理装置及び方法 |
CN101166180B (zh) * | 2006-10-16 | 2012-07-04 | 松下电器产业株式会社 | 利用多媒体会话信息的网络安全处理方法及其系统 |
US20100278338A1 (en) * | 2009-05-04 | 2010-11-04 | Mediatek Singapore Pte. Ltd. | Coding device and method with reconfigurable and scalable encryption/decryption modules |
KR101602581B1 (ko) * | 2014-11-27 | 2016-03-11 | 한동대학교 산학협력단 | 압축 영상의 암호화 방법 및 시스템 |
CN106470345B (zh) * | 2015-08-21 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 视频加密传输方法和解密方法、装置及系统 |
CN110610077B (zh) * | 2019-08-12 | 2021-05-11 | 深圳市国科亿道科技有限公司 | 基于芯片的加解密方法 |
CN111083425B (zh) * | 2019-11-25 | 2022-12-23 | 视联动力信息技术股份有限公司 | 视频流处理方法、装置、服务器、电子设备及存储介质 |
CN112104895B (zh) * | 2020-11-17 | 2021-02-26 | 浙江岩华文化科技有限公司 | 视频加解密方法、服务器、机顶盒插件及视频播放系统 |
CN113987528A (zh) * | 2021-10-08 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据加密方法、系统、存储介质及设备 |
CN115344881B (zh) * | 2022-10-19 | 2023-07-04 | 无锡沐创集成电路设计有限公司 | 一种硬盘加密解密装置、方法、硬盘及i/o接口 |
CN115550692B (zh) * | 2022-11-30 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
-
2022
- 2022-11-30 CN CN202211515732.5A patent/CN115550692B/zh active Active
-
2023
- 2023-11-27 WO PCT/CN2023/134469 patent/WO2024114601A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024114601A1 (zh) | 2024-06-06 |
CN115550692A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6985582B1 (en) | Encryption/decryption unit and storage medium | |
KR101088420B1 (ko) | 데이터 암호 처리 방법 및 장치 | |
US8290148B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
US7688974B2 (en) | Rijndael block cipher apparatus and encryption/decryption method thereof | |
US9843440B2 (en) | Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor | |
EP2197144A1 (en) | Methods and devices for a chained encryption mode | |
US10176121B2 (en) | Apparatus and method for memory address encryption | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
US20090141889A1 (en) | Data processing apparatus | |
US20100061550A1 (en) | Data processing apparatus | |
CN115550692B (zh) | 一种对视频流实时加密的方法、装置及设备 | |
US20120027198A1 (en) | System and method for cryptographic communications using permutation | |
US6931127B2 (en) | Encryption device using data encryption standard algorithm | |
US20070183594A1 (en) | Data processing apparatus for performing a cryptographic method | |
CN115022000B (zh) | 铁路信号系统的通信方法、装置及电子设备 | |
US7606363B1 (en) | System and method for context switching of a cryptographic engine | |
US20230403134A1 (en) | Method for processing encrypted data | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
EP1629626A1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
KR102348802B1 (ko) | Aes 암호화 및 복호화 회로 | |
CN117411727B (zh) | 一种通信传输对称加密的加密方法、装置及存储介质 | |
CN114430319A (zh) | 平行运算加解密系统、发送端装置以及接收端装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |