dvd加密格式:css
css是一种用于加密电影的算法,核心元件是LFSR,已经被破解。
LFSR
L表示linear。这是一个类似于一堆晶体管串联起来的东西。
上图:
1. 根据加密方和解密方都知道的规则,将一些特定编号的晶体管(包含1bit的数据)进行XOR运算;在最左端开辟一个新的晶体管,得出的结果存储在这里。
2. 最右的晶体管的值输出。
3. 所有晶体管向左移动一格。
3次操作为1轮。每轮输出1bit。前len(LFSR)轮输出的是初始值,后面的都是前面的经过XOR运算的结果。可以凭借此检验一个LSFR的输出序列是否合理。
利用LSFR进行加密
为啥用LFSR,可能只是它看起来比较复杂……
加密+破解过程图:
加密
CSS:一个LFSR的输出序列。理论上可以无限长,但是被人限制成40bits
seed: 初始状态的LFSR
如何设定seed中每个晶体管的值:见图。
将两个seed分别进行8轮循环,得到1byte的输出,例如为1