基于DisplayPort接口的HDCP软件实现及应用

[10-10 20:42:03]   来源:http://www.88dzw.com  电子制作   阅读:8151

文章摘要:(b) 补长度 将原始数据的长度补到已经进行了补位操作的消息后面,用一个64位的数据来表示原始消息的长度。由于HDCP中的消息程度最大可达到5160位,所以需要对过长的消息进行分块,SHA1算法中将长度超过512位的原始消息补成512的倍数。然后将整个消息分成一个一个512位的数据块,分别处理每一个数据块,从而得到消息摘要。(c)常量定义 计算中需要定义一系列的常量字M0, M1, ... , M79,如果以十六进制给出,定义如下。 (d)函数定义 在SHA1中需要一系列的函数。每个函数ft(0≤t≤79)都操作32位字B,C,D(B,C,D为32位的函数形参)并且产生32位字作为输出。ft(

基于DisplayPort接口的HDCP软件实现及应用,标签:电子小制作,http://www.88dzw.com


(b) 补长度
将原始数据的长度补到已经进行了补位操作的消息后面,用一个64位的数据来表示原始消息的长度。由于HDCP中的消息程度最大可达到5160位,所以需要对过长的消息进行分块,SHA1算法中将长度超过512位的原始消息补成512的倍数。然后将整个消息分成一个一个512位的数据块,分别处理每一个数据块,从而得到消息摘要。


(c)常量定义
计算中需要定义一系列的常量字M0, M1, ... , M79,如果以十六进制给出,定义如下。

 

(d)函数定义
在SHA1中需要一系列的函数。每个函数ft(0≤t≤79)都操作32位字B,C,D(B,C,D为32位的函数形参)并且产生32位字作为输出。ft(B,C,D)定义如下。

 

(e) 计算消息摘要
SHA1使用补位和补长度后的消息来计算消息摘要。计算需要两个缓冲区,每个都由5个32位的字组成,还需要一个80个32位字的缓冲区。第一个5个字的缓冲区被标识为A,B,C,D,E。第一个5个字的缓冲区被标记为H0, H1, H2, H3, H4。80个字的缓冲区被标记为W0,W1,..., W79,另外还需要一个字的TEMP缓冲区。

                                                           
为了产生消息摘要,首先处理前面定义的16个字的数据块M1, M2,..., Mn,处理每个数据块Mi包含80个步骤。在处理每个数据块之前,缓冲区被初始化为下面的值(十六进制):

处理Mi包括以下步骤:
(I)将 Mi分成16个字W0,W1,…, W15,W0是最左边的字。
(II)对于t=16~79令

(III)令A=H0, B=H1, C=H2, D =H3, E=H4。
(IV)对于t=0~79,执行下面的循环
 ;
E=D; D=C; C=S30(B); B=A; A=TEMP;
(V)令H0=H0+A,H1=H1+B, H2=H2+C, H3=H3+D, H4=H4+E
在处理完所有的Mn后,得到一个160位的字符串,也就是最后得到的V(V’)。中继器会将V’发送给发送端,发送端通过比较本地计算的V与接收到的V’是否相等来判断认证结果。


● 协议第三步:加密完整性检测
在解密过程中,HDCP在HDMI与DisplayPort中的应用所不同。在HDMI的解密过程中,HDCP系统会每2s中进行一次连接确认,同时每128帧画面进行一次发送端和接受端同步识别码,确保连接的同步,所有这些都是由发送端发起。而在DisplayPort的解密过程中, DisplayPort的Link Layer负责确认两台设备之间的连结效能与正确的沟通,以其参数值(0=完整、1=不完整)作为沟通的语言,该参数是发送端通过辅助通道读取接收端的DPCD的某一位的值来获取,也就是说,解密的完整性验证完全是由接收端来执行的。

上一页  [1] [2] [3] [4]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作