两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)解密電路與方法

文檔序號:8397956閱讀:596來源:國知局
數(shù)據(jù)解密電路與方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于數(shù)據(jù)解密電路與方法,尤其是關(guān)于利用軟件與硬件互相搭配的數(shù)據(jù)解密電路與方法。
【背景技術(shù)】
[0002]請參閱圖1,其是習知高頻寬數(shù)字內(nèi)容保護(High-Bandwidth Digital ContentProtect1n,以下簡稱HDCP)的數(shù)據(jù)解密流程的示意圖。請同時參閱圖2,其是習知一個傳輸串流(transport stream, TS)封包的組成示意圖。如圖2所示,一個傳輸串流封包200包含TS標頭數(shù)據(jù)、基本封包流(packetized elementary streams,以下簡稱PES)標頭數(shù)據(jù)以及基本比特流(elementary stream, ES),或稱為承載數(shù)據(jù)(payload)。在HDCP的標準中,TS標頭數(shù)據(jù)包含一個名為承載數(shù)據(jù)單元起始指示(payload unit start indicator)的旗標,用來指示傳輸串流封包是否包含PES標頭數(shù)據(jù)。PES標頭數(shù)據(jù)包含用來解密的私有數(shù)據(jù)(private data),而私有數(shù)據(jù)主要包含streamCtr (流控制)數(shù)據(jù)及inputCtr (輸入控制)數(shù)據(jù)。請注意,并非每個傳輸串流封包皆包含PES標頭數(shù)據(jù),實作時可以藉由承載數(shù)據(jù)單元起始指示旗標來判斷。當傳輸串流封包包含PES標頭數(shù)據(jù)時,可以由私有數(shù)據(jù)中取出inputCtr數(shù)據(jù)來執(zhí)行解密程序;當傳輸串流封包未包含PES標頭數(shù)據(jù)時,inputCtr數(shù)據(jù)可以依據(jù)目前正在解密的數(shù)據(jù)段(例如長度為16字節(jié))推知,inputCtr數(shù)據(jù)以HDCP每次解密的數(shù)據(jù)段為單位遞增。請參閱圖1,32位的streamCtr數(shù)據(jù)與64位的虛擬隨機數(shù)(pseudo-random number)riv的較低的32位做異或(exclusive or, X0R)運算后,再與虛擬隨機數(shù)riv的較高的32位合并而得到64位的中間數(shù)據(jù),該中間數(shù)據(jù)再與64位的inputCtr數(shù)據(jù)合并形成具有128位的中間數(shù)據(jù)p。128位的會話密鑰(sess1n key)Ks與128位的常數(shù)Ic128做異或運算后的結(jié)果與中間數(shù)據(jù)P —起經(jīng)由進階加密標準(Advanced Encrypt1nStandard,以下簡稱AES)運算后產(chǎn)生128位的密鑰。一個數(shù)據(jù)段(block)長度(128位或16字節(jié))的加密數(shù)據(jù)與密鑰進行異或運算后即可得到該加密數(shù)據(jù)的原始數(shù)據(jù)(包含128位或16字節(jié)的數(shù)據(jù))。上述的虛擬隨機數(shù)riv及會話密鑰Ks為傳輸串流的傳送端與接收端互相溝通后所得的結(jié)果。
[0003]如圖2所示,一個傳輸串流封包的長度為188字節(jié),其中TS標頭數(shù)據(jù)的長度為4字節(jié),PES標頭數(shù)據(jù)可能存在或不存在,而且沒有固定的長度,如上所述,可以藉由承載數(shù)據(jù)單元起始指示旗標來判斷PES標頭數(shù)據(jù)是否存在。如果PES標頭數(shù)據(jù)存在,其中包含其長度的信息。因此承載數(shù)據(jù)的長度即傳輸串流封包的長度(188字節(jié))減去TS標頭數(shù)據(jù)的長度(4字節(jié))及PES標頭數(shù)據(jù)的長度(如果PES標頭數(shù)據(jù)存在)之后所剩余的數(shù)據(jù)長度。如前述,HDCP每次解密的數(shù)據(jù)段為16字節(jié),承載數(shù)據(jù)可能包含若干數(shù)據(jù)段,然而承載數(shù)據(jù)的數(shù)據(jù)量有可能不是16字節(jié)的整數(shù)倍。因此進行數(shù)據(jù)解密的過程中,一個傳輸串流封包很可能會剩余一小段數(shù)據(jù)(小于16字節(jié))未解密,該未解密的數(shù)據(jù)必須與下一個傳輸串流封包中的承載數(shù)據(jù)的部分數(shù)據(jù)結(jié)合,以形成一個完整的數(shù)據(jù)段來進行HDCP數(shù)據(jù)解密程序。
[0004]如果圖1所示的HDCP解密程序完全由硬件執(zhí)行,由于硬件缺乏彈性,上述結(jié)合兩個原本分屬不同傳輸串流封包的承載數(shù)據(jù)的動作將造成硬件設(shè)計上的困難,必須有額外的電路設(shè)計來應(yīng)付不同的情況,因此容易造成設(shè)計上耗時及電路成本增加;而如果HDCP解密程序完全由軟件執(zhí)行,也就是透過程序代碼的方式由運算單元(processing unit)來執(zhí)行,則HDCP解密程序會占用許多運算單元的資源,造成運算單元的負擔,可能拖累電子裝置的效能。

【發(fā)明內(nèi)容】

[0005]鑒于先前技術(shù)的不足,本發(fā)明的一目的在于提供一種數(shù)據(jù)解密電路與一種數(shù)據(jù)解密方法,以加快解密速度及增加解密流程的彈性。
[0006]本發(fā)明揭露了一種數(shù)據(jù)解密電路,用來解密一目前加密數(shù)據(jù)封包,該目前加密數(shù)據(jù)封包包含一標頭數(shù)據(jù)及一承載數(shù)據(jù),該數(shù)據(jù)解密電路包含:一運算單元,用來依據(jù)該標頭數(shù)據(jù)及一虛擬隨機數(shù)產(chǎn)生一第一數(shù)據(jù),依據(jù)一會話密鑰與一常數(shù)產(chǎn)生一第二數(shù)據(jù),并依據(jù)該標頭數(shù)據(jù)產(chǎn)生該承載數(shù)據(jù)的一長度信息及一起始位置信息;其中,該運算單元藉由執(zhí)行程序代碼來產(chǎn)生該第一數(shù)據(jù)、該第二數(shù)據(jù)、該長度信息及該起始位置信息;以及一解密計算電路,耦接該運算單元,用來依據(jù)該第一數(shù)據(jù)及該第二數(shù)據(jù)產(chǎn)生一解密密鑰,以及依據(jù)該起始位置信息及該長度信息自該目前加密數(shù)據(jù)封包中取得該承載數(shù)據(jù),并利用該解密密鑰解密該承載數(shù)據(jù)。
[0007]本發(fā)明另揭露了一種數(shù)據(jù)解密方法,用來解密一目前加密數(shù)據(jù)封包,該目前加密數(shù)據(jù)封包包含一標頭數(shù)據(jù)及一承載數(shù)據(jù),該數(shù)據(jù)解密方法包含:利用一運算單元以執(zhí)行程序代碼的方式執(zhí)行以下程序:(I)依據(jù)該標頭數(shù)據(jù)及一虛擬隨機數(shù)產(chǎn)生一第一數(shù)據(jù);(2)依據(jù)一會話密鑰與一常數(shù)產(chǎn)生一第二數(shù)據(jù);以及(3)依據(jù)該標頭數(shù)據(jù)產(chǎn)生該承載數(shù)據(jù)的一長度信息及一起始位置信息;將該第一數(shù)據(jù)、該第二數(shù)據(jù)、該長度信息及該起始位置信息傳送至一解密計算電路;以及控制該解密計算電路執(zhí)行以下程序:(I)依據(jù)該第一數(shù)據(jù)及該第二數(shù)據(jù)產(chǎn)生一解密密鑰;(2)依據(jù)該起始位置信息及該長度信息自該目前加密數(shù)據(jù)封包中取得該承載數(shù)據(jù);以及(3)利用該解密密鑰解密該承載數(shù)據(jù)。
[0008]本發(fā)明另揭露了一種數(shù)據(jù)解密電路,用來解密一目前加密數(shù)據(jù)封包,該目前加密數(shù)據(jù)封包包含一標頭數(shù)據(jù)及一承載數(shù)據(jù),該數(shù)據(jù)解密電路包含:一運算單元,用來依據(jù)該標頭數(shù)據(jù)產(chǎn)生該承載數(shù)據(jù)的一長度信息及一起始位置信息;其中,該運算單元藉由執(zhí)行程序代碼來產(chǎn)生該長度信息及該起始位置信息;以及一解密計算電路,耦接該運算單元,用來產(chǎn)生一解密密鑰,以及依據(jù)該起始位置信息及該長度信息自該目前加密數(shù)據(jù)封包中取得該承載數(shù)據(jù),并利用該解密密鑰解密該承載數(shù)據(jù)。
[0009]本發(fā)明另揭露了一種數(shù)據(jù)解密方法,用來解密一目前加密數(shù)據(jù)封包,該目前加密數(shù)據(jù)封包包含一標頭數(shù)據(jù)及一承載數(shù)據(jù),該數(shù)據(jù)解密方法包含:控制一運算單元以執(zhí)行程序代碼的方式,依據(jù)該標頭數(shù)據(jù)產(chǎn)生該承載數(shù)據(jù)的一長度信息及一起始位置信息;將該長度信息及該起始位置信息傳送至一解密計算電路;以及控制該解密計算電路執(zhí)行以下程序:(1)產(chǎn)生一解密密鑰;(2)依據(jù)該起始位置信息及該長度信息自該目前加密數(shù)據(jù)封包中取得該承載數(shù)據(jù);以及(3)以及利用該解密密鑰解密該承載數(shù)據(jù)。
[0010]本發(fā)明的數(shù)據(jù)解密電路與數(shù)據(jù)解密方法利用軟件搭配硬件來進行數(shù)據(jù)的解密。軟件的好處在于具有彈性且容易修改,可以依據(jù)不同的加密數(shù)據(jù)封包的格式,來調(diào)整軟件的設(shè)計,因此可以很容易找出加密數(shù)據(jù)封包的承載數(shù)據(jù)的位置。而硬件
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
周口市| 三河市| 盐边县| 荆门市| 菏泽市| 忻州市| 尼玛县| 甘南县| 怀柔区| 读书| 鹰潭市| 泸州市| 邳州市| 苍溪县| 读书| 灵寿县| 灌阳县| 郴州市| 贺兰县| 海阳市| 福海县| 淳化县| 刚察县| 临西县| 汝州市| 哈密市| 九龙坡区| 吴忠市| 德清县| 通辽市| 镇安县| 阳泉市| 义马市| 温泉县| 鲁甸县| 仁化县| 霍城县| 电白县| 屏东市| 舒城县| 峨眉山市|