我试图在视频加密中获得并行性,意味着我试图使视频加密的过程并行。为了做任何平行的事情,数据必须是独立的。所以我的问题是视频的帧是依赖还是独立?即,是否可以单独或并行处理单个帧?
答案 0 :(得分:0)
这是一个古老的问题,但是它仍然会在搜索中弹出...
AES加密支持不同的模式,最常见的两种是CTR和CBC。
从这个问题的角度来看,要注意的重要一点是,这两种方法都按块对数据块进行加密-即,它们将数据分成相等大小的块,并逐个加密每个块。
对于CBC,加密的最后一个块的输出用作下一个块的加密算法的“种子”的一部分,因此,块的顺序非常重要。实际上,CBC有两个常见的子集:CSC-S和CBC-1。 CBC-S本质上对要加密的每组数据使用相同的种子,因此可以并行地对不同的数据组进行加密。
对于CTR,一个简单的计数器用作种子,通常只是增加一个,因为没有人显示出它的安全性较差(到目前为止...),因此块的顺序很重要,但是有可能通过适当地管理计数器来管理并行加密。
因此,总而言之,通常可以并行加密,但确实需要仔细管理并行进程并了解所使用的加密模式。
ISO CENC规范(ISO / IEC 23001-7:2016(E)-非常适合检查最新版本)提供了更多详细信息,包括一些不同模式的良好图示以及对“子样本”加密的说明(本质上是不会对所有视频文件进行加密,因此,例如,元数据,文件信息等也不会被加密),这对于任何人也很重要。