TWI520553B - 資料解密電路與方法 - Google Patents

資料解密電路與方法 Download PDF

Info

Publication number
TWI520553B
TWI520553B TW102142446A TW102142446A TWI520553B TW I520553 B TWI520553 B TW I520553B TW 102142446 A TW102142446 A TW 102142446A TW 102142446 A TW102142446 A TW 102142446A TW I520553 B TWI520553 B TW I520553B
Authority
TW
Taiwan
Prior art keywords
data
decryption
bearer
length
packet
Prior art date
Application number
TW102142446A
Other languages
English (en)
Other versions
TW201521409A (zh
Inventor
王奕凱
王得權
Original Assignee
晨星半導體股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 晨星半導體股份有限公司 filed Critical 晨星半導體股份有限公司
Priority to TW102142446A priority Critical patent/TWI520553B/zh
Priority to US14/548,479 priority patent/US9866538B2/en
Publication of TW201521409A publication Critical patent/TW201521409A/zh
Application granted granted Critical
Publication of TWI520553B publication Critical patent/TWI520553B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

資料解密電路與方法
本發明是關於資料解密電路與方法,尤其是關於利用軟體與硬體互相搭配之資料解密電路與方法。
請參閱圖1,其係習知高頻寬數位內容保護(High-Bandwidth Digital Content Protection,以下簡稱HDCP)之資料解密流程的示意圖。請同時參閱圖2,其係習知一個傳輸串流(transport stream,TS)封包的組成示意圖。如圖2所示,一個傳輸串流封包200包含TS標頭資料、基本封包流(packetized elementary streams,以下簡稱PES)標頭資料以及基本位元流(elementary stream,ES),或稱為承載資料(payload)。在HDCP的標準中,TS標頭資料包含一個名為承載資料單元起始指示(payload unit start indicator)的旗標,用來指示傳輸串流封包是否包含PES標頭資料。PES標頭資料包含用來解密的私有資料(private data),而私有資料主要包含streamCtr資料及inputCtr資料。請注意,並非每個傳輸串流封包皆包含PES標頭資料,實作時可以藉由承載資料單元起始指示旗標來判斷。當傳輸串流封包包含PES標頭資料時,可以由私有資料中取出inputCtr資料來執行解密程序;當傳輸串流封包未包含PES標頭資料時,inputCtr資料可以依據目前正在解密的資 料段(例如長度為16位元組)推知,inputCtr資料以HDCP每次解密的資料段為單位遞增。請參閱圖1,32位元的streamCtr資料與64位元的虛擬亂數(pseudo-random number)riv的較低的32位元做互斥或(exclusive or,XOR)運算後,再與虛擬亂數riv的較高的32位元合併而得到64位元的中間資料,該中間資料再與64位元的inputCtr資料合併形成具有128位元的中間資料p。128位元的交談金鑰(session key)Ks與128位元的常數lc128做互斥或運算後的結果與中間資料p一起經由進階加密標準(Advanced Encryption Standard,以下簡稱AES)運算後產生128位元的密鑰。一個資料段(block)長度(128位元或16位元組)的加密資料與密鑰進行互斥或運算後即可得到該加密資料的原始資料(包含128位元或16位元組的資料)。上述的虛擬亂數riv及交談金鑰Ks為傳輸串流的傳送端與接收端互相溝通後所得之結果。
如圖2所示,一個傳輸串流封包的長度為188位元組,其中TS標頭資料的長度為4位元組,PES標頭資料可能存在或不存在,而且沒有固定的長度,如上所述,可以藉由承載資料單元起始指示旗標來判斷PES標頭資料是否存在。如果PES標頭資料存在,其中包含其長度的資訊。因此承載資料的長度即傳輸串流封包的長度(188位元組)減去TS標頭資料的長度(4位元組)及PES標頭資料的長度(如果PES標頭資料存在)之後所剩餘的資料長度。如前述,HDCP每次解密的資料段為16位元組,承載資料可能包含若干資料段,然而承載資料的資料量有可能不是16位元組的整數倍。因此進行資料解密的過程中,一個傳輸串流封包很可能會剩餘一小段資料(小於16位元組)未解密,該未解密的資料必須與下一個傳輸 串流封包中的承載資料的部分資料結合,以形成一個完整的資料段來進行HDCP資料解密程序。
如果圖1所示的HDCP解密程序完全由硬體執行,由於硬體缺乏彈性,上述結合兩個原本分屬不同傳輸串流封包的承載資料的動作將造成硬體設計上的困難,必須有額外的電路設計來應付不同的情況,因此容易造成設計上耗時及電路成本增加;而如果HDCP解密程序完全由軟體執行,也就是透過程式代碼的方式由運算單元(processing unit)來執行,則HDCP解密程序會佔用許多運算單元的資源,造成運算單元的負擔,可能拖累電子裝置的效能。
鑑於先前技術之不足,本發明之一目的在於提供一種資料解密電路與一種資料解密方法,以加快解密速度及增加解密流程的彈性。
本發明揭露了一種資料解密電路,用來解密一目前加密資料封包,該目前加密資料封包包含一標頭資料及一承載資料,該資料解密電路包含:一運算單元,用來依據該標頭資料及一虛擬亂數產生一第一資料,依據一交談金鑰與一常數產生一第二資料,並依據該標頭資料產生該承載資料之一長度資訊及一起始位置資訊;其中,該運算單元藉由執行程式代碼來產生該第一資料、該第二資料、該長度資訊及該起始位置資訊;以及一解密計算電路,耦接該運算單元,用來依據該第一資料及該第二資料產生一解密密鑰,以及依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料,並利用該解密密鑰解密該承載資料。
本發明另揭露了一種資料解密方法,用來解密一目前加密資 料封包,該目前加密資料封包包含一標頭資料及一承載資料,該資料解密方法包含:利用一運算單元以執行程式代碼之方式執行以下程序:(1)依據該標頭資料及一虛擬亂數產生一第一資料;(2)依據一交談金鑰與一常數產生一第二資料;以及(3)依據該標頭資料產生該承載資料之一長度資訊及一起始位置資訊;將該第一資料、該第二資料、該長度資訊及該起始位置資訊傳送至一解密計算電路;以及控制該解密計算電路執行以下程序:(1)依據該第一資料及該第二資料產生一解密密鑰;(2)依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料;以及(3)利用該解密密鑰解密該承載資料。
本發明另揭露了一種資料解密電路,用來解密一目前加密資料封包,該目前加密資料封包包含一標頭資料及一承載資料,該資料解密電路包含:一運算單元,用來依據該標頭資料產生該承載資料之一長度資訊及一起始位置資訊;其中,該運算單元藉由執行程式代碼來產生該長度資訊及該起始位置資訊;以及一解密計算電路,耦接該運算單元,用來產生一解密密鑰,以及依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料,並利用該解密密鑰解密該承載資料。
本發明另揭露了一種資料解密方法,用來解密一目前加密資料封包,該目前加密資料封包包含一標頭資料及一承載資料,該資料解密方法包含:控制一運算單元以執行程式代碼之方式,依據該標頭資料產生該承載資料之一長度資訊及一起始位置資訊;將該長度資訊及該起始位置資訊傳送至一解密計算電路;以及控制該解密計算電路執行以下程序:(1)產生一解密密鑰;(2)依據該起始位置資訊及該長度資訊自該目前加密資 料封包中取得該承載資料;以及(3)以及利用該解密密鑰解密該承載資料。
本發明之資料解密電路與資料解密方法利用軟體搭配硬體來進行資料的解密。軟體的好處在於具有彈性且容易修改,可以依據不同的加密資料封包的格式,來調整軟體的設計,因此可以很容易找出加密資料封包的承載資料的位置。而硬體可以加快解密的流程,使解密的流程更快速完成以提高電路的效能。習知技術中使用純軟體的方式來執行解密程序雖然富有彈性,但卻消耗運算單元的資源,對硬體資源有限(例如運算單元的運算速度較慢)的嵌入式系統而言,將造成負擔;而習知技術中使用純硬體的方式來執行解密程序雖然快速,但卻缺乏彈性,當遇到加密資料封包的承載資料不是解密的最小單位的整數倍時,便造成錯誤。相較於習知技術,本發明兼具軟硬體之優點,能快速完成解密且富有彈性。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
200‧‧‧傳輸串流封包
300、500‧‧‧HDCP資料解密電路
310、510‧‧‧運算單元
320、520‧‧‧AES計算電路
S410~S450‧‧‧步驟
〔圖1〕為習知HDCP之資料解密流程之示意圖;〔圖2〕為習知一個傳輸串流封包的組成示意圖;〔圖3〕為本發明HDCP資料解密電路之一實施例的示意圖;〔圖4〕為本發明之資料解密方法之一實施例的流程圖;以及〔圖5〕為本發明HDCP資料解密電路之另一實施例的示意圖。
以下說明內容之技術用語係參照本技術領域之習慣用語,如 本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含資料解密電路與資料解密方法,能夠處理資料長度不為資料段的整數倍的承載資料。該電路與方法可應用於傳輸串流的封包,在實施為可能的前提下,本技術領域具有通常知識者能夠依本說明書之揭露內容來選擇等效之元件或步驟來實現本發明,亦即本發明之實施並不限於後敘之實施例。由於本發明之資料解密電路所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之資料解密方法可藉由本發明之資料解密電路或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。
請參閱圖3,其係本發明HDCP資料解密電路之一實施例的示意圖。HDCP資料解密電路300用來解密連續的傳輸串流封包,並且包含運算單元310及AES計算電路320。運算單元310取得一個傳輸串流封包的PES標頭資料,解析(parse)該PES標頭資料以取得streamCtr資料及inputCtr資料,並將streamCtr資料、inputCtr資料與虛擬亂數riv做互斥或運算及合併後得到圖1所示的中間資料p;另外,運算單元310也將交談金鑰Ks與常數lc128做互斥或運算而產生中間資料q。中間資料p與中間資料q以一簡單合併方式組成密鑰keys輸出至AES計算電路320。此外,當傳輸串流封包包含PES標頭資料時,運算單元310還解析PES標頭資料來得到PES標頭資料的長度資訊。依據PES標頭資料的長度資訊,運算單元310可以計算出 圖2的傳輸串流封包200中承載資料的起始位置P以及長度L。更詳細地說,由於傳輸串流封包200具有固定的長度188位元組,而傳輸串流封包200的TS標頭資料也具有固定的長度4位元組,假設PES標頭資料的長度為n位元組(n為整數,若PES標頭資料不存在則n為0),則承載資料的起始位置P為第(4+n+1)個位元組,而承載資料的長度L為(188-4-n)位元組。得到承載資料的起始位置P及長度L的資訊後,運算單元310便將此資訊傳送給AES計算電路320。當上述的密鑰keys、承載資料的起始位置P及承載資料的長度L等資訊皆輸出給AES計算電路320後,運算單元310發出控制訊號Ctrl來觸發AES計算電路320的解密程序。
AES計算電路320是一個支援多種加解密演算法的電路,其中所包含的AES-CTR模組可以用於本發明HDCP之資料解密運算。AES-CTR模組對密鑰keys包含的中間資料p與中間資料q進行AES運算後得到最終用來解密加密資料的128位元的密鑰。AES計算電路320再依據承載資料的起始位置P及長度L,從傳輸串流封包中取得待解密的資料段,並且將待解密的資料段與最終的密鑰做互斥或運算而得到未加密的原始資料。當目前的傳輸串流封包所包含的承載資料超過一個資料段的長度(即16位元組),則AES計算電路320於完成目前資料段的解密後,便進行緊鄰的下一個資料段的解密。如果目前的傳輸串流封包所包含的承載資料為16位元組的倍數,AES計算電路320於解密完承載資料的所有資料段後,便進行下一個傳輸串流封包的解密;如果目前的傳輸串流封包所包含的承載資料不為16位元組的倍數,亦即解密目前的承載資料的過程中,最後將剩下不足16位元組的資料,此時AES計算電路320可以依據運算單元310所提供的下一 個傳輸串流封包的承載資料的起始位置P及長度L,來取得下一個傳輸串流封包的承載資料的部分資料,並將該部分資料與上一個傳輸串流封包的承載資料所剩餘的資料組成16元位組的資料段,來進行解密運算。綜上所述,即使解密的過程中遇到資料長度不為16位元組的倍數的承載資料,本發明的HDCP資料解密電路300也能夠持續進行解密而不會有錯誤產生。值得注意的是,運算單元310可以執行程式代碼的方式運作,AES計算電路320則可為硬體計算電路。使得本發明以軟體與硬體互相配合以完成解密程序。
請參閱圖4,其係本發明之資料解密方法之一實施例的流程圖。除前述之資料解密電路外,本發明亦相對應地揭露了一種資料解密方法,用於解密傳輸串流封包,能夠對具有不同承載資料長度的傳輸串流封包進行解密。本方法利用AES計算電路來負責HDCP之資料解密程序所需的AES-CTR加解密演算法。本方法可以由前揭HDCP資料解密電路300或其等效裝置來執行。本發明的資料解密方法用來解密連續的傳輸串流封包,包含目前正在進行解密的目前傳輸串流封包,以及緊接於目前傳輸串流封包之後的次一傳輸串流封包。目前傳輸串流封包及次一傳輸串流封包皆包含PES標頭資料及承載資料。如圖4所示,本發明之一實施例包含下列步驟:步驟S410:依據目前傳輸串流封包的PES標頭資料及虛擬亂數riv產生中間資料p。此步驟以軟體的方式來實作,更明確地說是利用電子裝置的運算單元來執行程式代碼的方式來完成。PES標頭資料包含用來解密的私有資料。私有資料主要包含streamCtr資料及inputCtr資料。此步驟將streamCtr資料、inputCtr資料及虛擬亂數riv拿來運算而得到中間資 料p。其運算之細節已於前揭之說明中詳述,故不再重覆;步驟S420:依據交談金鑰Ks與常數lc128產生中間資料q。此步驟同樣以軟體的方式來實作,也就是利用電子裝置的運算單元來執行程式代碼的方式來完成。交談金鑰Ks與常數lc128為HDCP解密過程中的必要資料,其產生之方法為本技術領域具有通常知識者所熟知,故不再贅述。交談金鑰Ks與常數lc128運算之後產生中間資料q,其運算之細節已於前揭之說明中詳述,故不再重覆;步驟S430:依據PES標頭資料產生承載資料之長度資訊及起始位置資訊。此步驟同樣以軟體的方式來實作,也就是利用電子裝置的運算單元來執行程式代碼的方式來完成。如圖2所示,本方法所處理的傳輸串流封包的長度固定,且包含TS標頭資料、PES標頭資料及承載資料。其中TS標頭資料的長度固定,PES標頭資料的長度不固定,但PES標頭資料包含的其長度資訊。所以依據PES標頭資料的長度資訊便可得知承載資料的起始位置資訊及長度資訊;步驟S440:將中間資料p、中間資料q、長度資訊及起始位置資訊傳送至AES計算電路。此步驟提供解密所需的中間資料p、中間資料q及承載資料的長度資訊及起始位置資訊給AES計算電路;以及步驟S450:控制AES計算電路執行以下的解密程序:(1)依據中間資料p及中間資料q產生解密密鑰。AES計算電路包含AES-CTR模組,用來對中間資料p及中間資料q進行AES運算以產生最終用來解密的解密密鑰,其運算之細節為本技術領域具有通常知識者所熟知,故不贅述; (2)依據起始位置資訊及長度資訊自目前傳輸串流封包中取得承載資料。AES計算電路取得目前傳輸串流封包後,依據承載資料的起始位置資訊及長度資訊,便可取得目前傳輸串流封包的承載資料;以及(3)利用解密密鑰解密承載資料。AES計算電路將解密密鑰與承載資料一同運算後,便可以將承載資料解密,而得到未加密的原始資料。運算的方法已揭露於先前的說明,故不再贅述。
值得注意的是,步驟S450的解密程序是以一個資料段為單位來做運算,在一個較佳的實施例中,一個資料段的長度設定為16位元組。一個承載資料通常包含一個以上的資料段,當一個資料段解密完成,AES計算電路便進行下一個資料段的解密。如果承載資料包含整數個資料段,也就是承載資料的長度為16位元組的倍數,則AES計算電路可以將整個承載資料完全解密,不會有任何未解密的資料殘留在目前傳輸串流封包中;然而如果承載資料並非包含整數個資料段,也就是承載資料的長度不為16位元組的整數倍,則目前傳輸串流封包中勢必將殘留未足16位元組的資料無法被解密,此時必須將目前傳輸串流封包的次一個傳輸串流封包中的承載資料拿來與目前傳輸串流封包中殘留的資料相結合,以形成一個完整的資料段,如此AES計算電路才能夠對其做解密運算。而次一個傳輸串流封包的承載資料的起始位置資訊及長度資訊同樣由電子裝置的運算單元由軟體運算的方式取得。
本發明以軟體與硬體互相配合來完成解密程序的好處是,AES計算電路只要依據運算單元所給予的起始位置及長度資訊,便能夠取 得適當的資料段來解密,因此AES計算電路可以被設計成以全硬體的方式進行解密,以加快解密的程序,而且AES計算電路不需負責找出傳輸串流封包的承載資料,如此可以使硬體的設計簡單化。另一方面,以軟體的方式來找出承載資料的起始位置資訊及長度資訊可以使本發明更有彈性,將來若傳輸串流封包的組成方式改變,或本發明處理的資料不是以傳輸串流的格式傳送,只需稍微修改程式便能適用。
請注意,以上的說明僅為本發明以軟體結合硬體的方式來執行解密運算的較佳實施例之一,在其他的實施例中,運算單元可能執行較少的運算,而原本由軟體完成的工作則藉由增加AES計算電路的硬體功能來實作。舉例來說,請參閱圖5,其係本發明HDCP資料解密電路之另一實施例的示意圖。HDCP資料解密電路500包含運算單元510及AES計算電路520。AES計算電路520依據虛擬亂數riv、交談金鑰Ks及常數lc128來產生中間資料p及中間資料q,再取中間資料p及中間資料q來運算而得到最後用來解密的128元位密鑰。運算單元510依據PES標頭資料取得承載資料的起始位置資訊P及長度資料L,將該資訊輸出給AES計算電路520,以及發出控制訊號Ctrl來觸發AES計算電路520的解密程序。而之後AES計算電路520的解密程序則與前一個裝置項的實施例相同,故不再贅述。對應於本實施例的方法步驟與圖4之流程圖所揭露之步驟近似,差別在於前述的步驟S410及步驟S420不再以軟體的方式來實作,而是改為由控制AES計算電路520以硬體的方式來實作;而步驟S430仍舊維持以軟體的方式來實作。
在其他的實施例中,解密程序之工作或步驟在軟體及硬體之 間可能另有其他的分配方式,但為了維持能夠解密不同長度的承載資料的彈性,亦即為了處理當承載資料的長度不為解密資料段長度(前述之實施例為16位元組)的整數倍的情形,本發明的運算單元應至少執行步驟S430,也就是依據PES標頭資料來產生承載資料的長度資訊及起始位置資訊。其餘的工作或步驟可以在軟體及硬體間彈性分配及設計,而不脫離本發明之範籌。
由於本技術領域具有通常知識者可藉由圖3之裝置發明的揭露內容來瞭解圖4之方法發明的實施細節與變化,因此,為避免贅文,在不影響該方法發明之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本發明之用,非用以限制本發明。另外,本技術領域人士可依本發明之揭露內容及自身的需求選擇性地實施任一實施例之部分或全部技術特徵,或者選擇性地實施複數個實施例之部分或全部技術特徵之組合,藉此增加本發明實施時的彈性。再者,前揭實施例雖以傳輸串流封包為例,然此並非對本發明之限制,本技術領域人士可依本發明之揭露適當地將本發明應用於以其它格式傳輸的加密資料。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之請求項所界定者為準。
300‧‧‧HDCP資料解密電路
310‧‧‧運算單元
320‧‧‧AES計算電路

Claims (16)

  1. 一種資料解密電路,用來解密一目前加密資料封包,該目前加密資料封包包含一第一標頭資料及一承載資料,該資料解密電路包含:一運算單元,用來依據該第一標頭資料及一虛擬亂數產生一第一資料,依據一交談金鑰與一常數產生一第二資料,並依據該第一標頭資料產生該承載資料之一長度資訊及一起始位置資訊;其中,該運算單元藉由執行程式代碼來產生該第一資料、該第二資料、該長度資訊及該起始位置資訊;以及一解密計算電路,耦接該運算單元,用來依據該第一資料及該第二資料產生一解密密鑰,以及依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料,並利用該解密密鑰解密該承載資料,其中該解密計算電路每次以一預設資料長度解密該承載資料之一部分;其中該目前加密資料封包之後緊接一次一加密資料封包,且當該承載資料未解密部分小於該預設資料長度,該解密計算電路依據該目前加密資料封包之承載資料、次一加密資料封包之承載資料及次一加密資料封包之承載資料之起始位置資訊,產生符合該預設資料長度的待解密資料並進行解密。
  2. 如請求項第1項所述之資料解密電路,其中該目前加密資料封包的長度固定並且更包含一第二標頭資料,該第二標頭資料的長度固定,且該第一標頭資料包含一標頭資料長度資訊,該運算單元依據該標頭資料長度資訊產生該承載資料之該長度資訊及該起始位置資訊。
  3. 如請求項第1項所述之資料解密電路,其中,該解密計算電路之解密程序符合HDCP之規範。
  4. 如請求項第1項所述之資料解密電路,其中該加密資料封包為傳輸串流格式之封包。
  5. 一種資料解密方法,用來解密一目前加密資料封包,該目前加密資料封包包含一第一標頭資料及一承載資料,該資料解密方法包含:利用一運算單元以執行程式代碼之方式執行以下程序:依據該第一標頭資料及一虛擬亂數產生一第一資料;依據一交談金鑰與一常數產生一第二資料;以及依據該第一標頭資料產生該承載資料之一長度資訊及一起始位置資訊;將該第一資料、該第二資料、該長度資訊及該起始位置資訊傳送至一解密計算電路;以及控制該解密計算電路執行以下程序:依據該第一資料及該第二資料產生一解密密鑰;控制該解密計算電路依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料;控制該解密計算電路利用該解密密鑰解密該承載資料;以及其中控制該解密計算電路利用該解密密鑰解密該承載資料之步驟每次以一預設資料長度解密該承載資料之一部分;其中該目前加密資料封包之後緊接一次一加密資料封包; 當該承載資料未解密部分小於該預設資料長度,控制該解密計算電路依據該目前加密資料封包之承載資料、次一加密資料封包之承載資料及次一加密資料封包之承載資料之起始位置資訊,產生符合該預設資料長度的待解密資料並進行解密。
  6. 如請求項第5項所述之資料解密方法,其中該目前加密資料封包的長度固定並且更包含一第二標頭資料,該第二標頭資料的長度固定,且該第一標頭資料包含一標頭資料長度資訊,其中該依據該第一標頭資料產生該承載資料之該長度資訊及該起始位置資訊之步驟係依據該標頭資料長度資訊產生該承載資料之該長度資訊及該起始位置資訊。
  7. 如請求項第5項所述之資料解密方法,其中,該解密計算電路之解密程序符合HDCP之規範。
  8. 如請求項第5項所述之資料解密方法,其中該加密資料封包為傳輸串流格式之封包。
  9. 一種資料解密電路,用來解密一目前加密資料封包,該目前加密資料封包包含一第一標頭資料及一承載資料,該資料解密電路包含:一運算單元,用來依據該第一標頭資料產生該承載資料之一長度資訊及一起始位置資訊;其中,該運算單元藉由執行程式代碼來產生該長度資訊及該起始位置資訊;以及一解密計算電路,耦接該運算單元,用來產生一解密密鑰,以及依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料,並利用該解密密鑰解密該承載資料,其中該解密計算電路每次以一預設資料長度解密該承載資料之一部分; 其中該目前加密資料封包之後緊接一次一加密資料封包,且當該承載資料未解密部分小於該預設資料長度,該解密計算電路依據該目前加密資料封包之承載資料、次一加密資料封包之承載資料及次一加密資料封包之承載資料之起始位置資訊,產生符合該預設資料長度的待解密資料並進行解密。
  10. 如請求項第9項所述之資料解密電路,其中該目前加密資料封包的長度固定並且更包含一第二標頭資料,該第二標頭資料的長度固定,且該第一標頭資料包含一標頭資料長度資訊,該運算單元依據該標頭資料長度資訊產生該承載資料之該長度資訊及該起始位置資訊。
  11. 如請求項第9項所述之資料解密電路,其中該解密計算電路之解密程序符合HDCP之規範。
  12. 如請求項第9項所述之資料解密電路,其中該加密資料封包為傳輸串流格式之封包。
  13. 一種資料解密方法,用來解密一目前加密資料封包,該目前加密資料封包包含一第一標頭資料及一承載資料,該資料解密方法包含:控制一運算單元以執行程式代碼之方式,依據該第一標頭資料產生該承載資料之一長度資訊及一起始位置資訊;將該長度資訊及該起始位置資訊傳送至一解密計算電路;以及控制該解密計算電路執行以下程序:產生一解密密鑰;依據該起始位置資訊及該長度資訊自該目前加密資料封包中取得該承載資料;以及 利用該解密密鑰解密該承載資料;以及其中控制該解密計算電路利用該解密密鑰解密該承載資料之步驟每次以一預設資料長度解密該承載資料之一部分;其中該目前加密資料封包之後緊接一次一加密資料封包;當該承載資料未解密部分小於該預設資料長度,控制該解密計算電路依據該目前加密資料封包之承載資料、次一加密資料封包之承載資料及次一加密資料封包之承載資料之起始位置資訊,產生符合該預設資料長度的待解密資料並進行解密。
  14. 如請求項第13項所述之資料解密方法,其中該目前加密資料封包的長度固定並且更包含一第二標頭資料,該第二標頭資料的長度固定,且該第一標頭資料包含一標頭資料長度資訊,其中該依據該第一標頭資料產生該承載資料之該長度資訊及該起始位置資訊之步驟係依據該標頭資料長度資訊產生該承載資料之該長度資訊及該起始位置資訊。
  15. 如請求項第13項所述之資料解密方法,其中該解密計算電路之解密程序符合HDCP之規範。
  16. 如請求項第13項所述之資料解密方法,其中該加密資料封包為傳輸串流格式之封包。
TW102142446A 2013-11-21 2013-11-21 資料解密電路與方法 TWI520553B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102142446A TWI520553B (zh) 2013-11-21 2013-11-21 資料解密電路與方法
US14/548,479 US9866538B2 (en) 2013-11-21 2014-11-20 Data decryption circuit and associated method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102142446A TWI520553B (zh) 2013-11-21 2013-11-21 資料解密電路與方法

Publications (2)

Publication Number Publication Date
TW201521409A TW201521409A (zh) 2015-06-01
TWI520553B true TWI520553B (zh) 2016-02-01

Family

ID=53174509

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102142446A TWI520553B (zh) 2013-11-21 2013-11-21 資料解密電路與方法

Country Status (2)

Country Link
US (1) US9866538B2 (zh)
TW (1) TWI520553B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241185A (zh) * 2016-03-29 2017-10-10 百度在线网络技术(北京)有限公司 数据传输与接收方法及传输与接收装置
US10972263B2 (en) * 2017-08-31 2021-04-06 Visa International Service Association Single node multi-party encryption
US11418324B1 (en) * 2019-08-07 2022-08-16 Agilepq, Inc. Encryption of standalone data packages

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6221939B1 (en) 1998-08-31 2001-04-24 General Electric Company Flame retardant resin compositions containing phosphoramides, and method for making
EP1527590A1 (en) * 2002-08-06 2005-05-04 Matsushita Electric Industrial Co., Ltd. Packet routing device and packet routing method
SG138452A1 (en) * 2004-05-18 2008-01-28 Victor Company Of Japan Content presentation
KR100644716B1 (ko) * 2005-12-21 2006-11-10 삼성전자주식회사 키 입력 방법 및 그 장치
JP2008271253A (ja) 2007-04-20 2008-11-06 Toshiba Corp ストリーム再生装置
WO2010134479A1 (ja) * 2009-05-18 2010-11-25 シャープ株式会社 動画表示装置

Also Published As

Publication number Publication date
TW201521409A (zh) 2015-06-01
US20150143109A1 (en) 2015-05-21
US9866538B2 (en) 2018-01-09

Similar Documents

Publication Publication Date Title
US10999263B2 (en) Cryptographic engine, scheduler, packet header processor, ingress interfaces, and buffers
US11658803B2 (en) Method and apparatus for decrypting and authenticating a data record
US9274979B2 (en) System, method, and computer program product for optimizing data encryption and decryption by implementing asymmetric AES-CBC channels
US20120008768A1 (en) Mode control engine (mce) for confidentiality and other modes, circuits and processes
CN103491573A (zh) 无线接入点的隧道加速
US11777711B1 (en) Encryption and decryption engines with selective key expansion skipping
TWI520553B (zh) 資料解密電路與方法
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
KR100949538B1 (ko) Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
US11546151B2 (en) System for securing deployed security cameras
US8560832B2 (en) Information processing apparatus
KR101240243B1 (ko) Aes의 ctr 모드에 따른 암호화 장치 및 방법
CN104717053A (zh) 数据解密电路与方法
JP2009098321A (ja) 情報処理装置
JP2016139861A (ja) 暗号化装置、暗号化方法及び配信システム
JP2013205437A (ja) 非線形関数S−boxの計算方法及び装置
JP2010057123A (ja) 暗号処理装置、暗号処理方法及びプログラム
US20240146703A1 (en) Flexible cryptographic architecture in a network device
JP2017060083A (ja) 通信装置および暗号通信方法
Smyth et al. 9 WLAN Processing Security Architectures
KR20210036699A (ko) 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램
JP2009232034A (ja) 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
KR20190135663A (ko) 보안이 강화된 ofb 모드의 암호화 방법
JP2007336244A (ja) 暗号化方法および復号化方法
Smyth et al. 9 WLAN Security Processing Architectures

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees
MM4A Annulment or lapse of patent due to non-payment of fees