TWI488478B - 執行對稱加密的技術 - Google Patents

執行對稱加密的技術 Download PDF

Info

Publication number
TWI488478B
TWI488478B TW098114439A TW98114439A TWI488478B TW I488478 B TWI488478 B TW I488478B TW 098114439 A TW098114439 A TW 098114439A TW 98114439 A TW98114439 A TW 98114439A TW I488478 B TWI488478 B TW I488478B
Authority
TW
Taiwan
Prior art keywords
input
boolean functions
output
key
decryption engine
Prior art date
Application number
TW098114439A
Other languages
English (en)
Other versions
TW200952438A (en
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 微軟公司
Publication of TW200952438A publication Critical patent/TW200952438A/zh
Application granted granted Critical
Publication of TWI488478B publication Critical patent/TWI488478B/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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/041Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 using an encryption or decryption engine integrated in transmitted data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Description

執行對稱加密的技術
本發明係關於執行對稱加密之技術。
訊息可在傳送者與接收者之間通訊,傳送者與接收者可例如為兩個電腦系統、相同電腦系統上的兩個模組等等。傳送者與接收者都可經過有關訊息交換安全性與認證方面的考量。有許多不同技術可用來確定已接收的訊息為未修改過之原始訊息,同時確認傳送者的識別。一種方式為傳送訊息時使用數位簽章。現有數位簽章的技術使用非對稱加密,其中加密與解密使用不同的金鑰,像是使用具有PKI(公開金鑰基礎建設,Public Key Infrastructure)的公開/私用金鑰對。當傳送訊息時,可像是使用加密雜湊演算法來產生訊息資料或內容的雜湊值。雜湊值可使用產生訊息的數位簽章的傳送者私用金鑰來加密。訊息資料與其數位簽章都傳送給接收者,然後接收者使用傳送者的公開金鑰將數位簽章解密,顯露出從傳送者傳輸出來的雜湊值。然後接收者藉由使用傳輸的訊息資料,並且套用與傳送者相同的雜湊演算法計算預期之雜湊值,來執行驗證處理。然後接收者將預期的雜湊值與解密所產生的雜湊值做比較,若雜湊值吻合,則接收者可結論出該訊息資料並未改變,所接收的訊息還是傳送者原來的訊息。使用具有非對稱式加密技術的數位簽章有一項缺點,就是與相較於訊息資料,數位簽章相當大。如此,數位簽章可能會增加所傳輸訊息大小到無法接受的量,像是例如所傳輸訊息的大小受到限制的應用當中。其他技術使用其中用相同金鑰進行加密(由傳送者執行)與解密(由接收者執行)的對稱式加密。上述有一項缺點,就是他人可輕易獲得金鑰,例如因為金鑰儲存在可讀取表單以及/或可存取位置內,因此對於接收者偵測訊息遭竄改、確認訊息為特定傳送者所傳輸之驗證等等能力有不利的影響。
此「發明內容」係以一簡化型式來介紹選擇性觀念,其在以下的「實施方式」中會進一步說明。此「發明內容」並非要提出所主張之標的的關鍵特徵或基本特徵,也並非要做為輔助決定所主張之標的的範疇。
在此說明一種使用產生用於每一對稱金鑰的專屬金鑰解密引擎來執行解密之技術。已接收包含加密資料部分的訊息,由使用對稱金鑰執行對稱加密操作來形成該加密資料部分,而該加密資料部分則使用不使用對稱金鑰當成輸入的專屬金鑰解密引擎來解密。使用決定用於對稱金鑰的布林函數可實施專屬金鑰解密引擎。
請參閱第1圖,在此說明其內實施運用此處所說明技術的具體實施例之合適計算環境的範例。第1圖內說明的計算環境只為合適計算環境的一個範例,並不用於對此處所說明技術的使用或功能性範疇做任何限制,此項技術的人士將會瞭解,此處說明的技術適用於其他一般用途與特殊用途計算環境與組態。已知的計算系統、環境及/或組態範例包含,但不受限於個人電腦、伺服器電腦、手持式或膝上型裝置、多處理器系統、微處理器式系統、可程式設計消費者電子裝置、網路PC、迷你電腦、主機電腦、包含上述任一系統或裝置的分散式計算環境等等。
此處揭示的技術可說明於由一或多部電腦或其他裝置所執行的電腦可執行指令(像是程式模組)之一般內容內。一般而言,程式模組包含例式、程式、物件、組件、資料結構等等以及執行特定工作或實施特定摘要資料類型等。一般而言,程式模組的功能性可在許多具體實施例內結合或分散。
第1圖內包含一電腦12、一網路14和一伺服器16。電腦12包含單機、市售電腦或可用於執行一或多個程式模組的特殊用途電腦。以下章節與圖式內更詳細的說明為可由電腦12關於使用此處所述技術來將已接收訊息解密所執行之程式模組。電腦12可在網路環境內操作並與其他電腦通訊,像是伺服器16以及第1圖內未顯示的其他電腦。
此項技術的人士將瞭解,雖然範例內顯示電腦12在網路環境內通訊,不過電腦12可利用不同通訊媒體與其他電腦通訊。例如,電腦12可利用網路連線及/或本技術所熟知的其他種連結,包含但不受限於網際網路、企業網路或其他無線及/或有線連線,與一或多部電腦通訊。
如第1圖內所示,電腦12可包含一或多個處理單元20、記憶體22、儲存裝置30和幫助在電腦12的組件之間通訊之系統匯流排32,以及第1圖內未說明的其他組件。
根據電腦12的組態與類型,記憶體22可為揮發性(像是RAM)、非揮發性(像是ROM、快閃記憶體等等)或這兩者的一些組合。此外,電腦12也可具有額外儲存裝置(可移除以及/或不可移除),包含但不受限於USB裝置、磁碟片、光碟片或磁帶。這種額外儲存裝置在第1圖內用儲存裝置30表示。儲存裝置30可包含一或多個可移除與不可移除儲存裝置,其中具有電腦12可運用的相關電腦可讀取媒體。一個具體實施例內的儲存裝置30可包含硬碟機及/或CD-ROM光碟機。藉由範例並且不做限制,記憶體22和儲存裝置30為是電腦可讀取媒體的範例。電腦可讀取媒體包含在任何方法或技術內實施的揮發與非揮發性、可移除與不可移除媒體,用於儲存像是電腦可讀取指令、資料結構、程式模組或其他資料等等資訊。電腦可讀取媒體包括但不受限於RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、(DVD)或其他光學碟片儲存、磁匣、磁帶、磁片儲存或其他磁性儲存裝置,或其他任何可用於儲存所要資訊並且可由電腦12存取的媒體。上述媒體一般具體實施電腦可讀取指令、資料結構、程式模組或其他資料。
在如此處所說明的一個具體實施例,電腦12可如第1圖內所示透過像是伺服器16的網路,使用邏輯連接至遠端電腦而在網路環境內操作。在電腦12的儲存裝置30內可包含一或多種軟體模組及/或資料檔案。在電腦12的操作期間,儲存裝置30內包含的一或多個這些模組也可位於部分記憶體22內,像是例如用於控制電腦12的操作之RAM。
伺服器16可代表連接至網路14的伺服器電腦系統。伺服器電腦系統可包含服務要求的軟體模組,以及類似於此處關於電腦12所描述的一或多個處理器、記憶體、儲存裝置等等。如下列章節內將詳細說明,此處的技術可用於其中電腦12與伺服器16透過網路14通訊的具體實施例內。電腦12與伺服器16可用傳輸訊息連線來執行操作,例如:伺服器16可使用對稱加密技術,並執行加密操作將之後要傳送至電腦12的訊息加密。電腦12可從伺服器16接收已加密訊息,並依照此處的技術執行處理來將訊息解密。有關對稱加密技術,加密與解密一個訊息都使用相同的金鑰(在此也稱為對稱金鑰)。如此,參考此範例,訊息的傳送者(在此範例中為伺服器16)使用金鑰將訊息加密,並且訊息的接收者(在此範例中為電腦12)使用相同金鑰將訊息解密。訊息接收者可使用對稱加密技術偵測訊息竄改,並確認所接收的訊息為特定傳送者所傳送。
運用此處所述的技術,電腦12使用解密操作期間執行解密而不分解金鑰的專屬金鑰解密引擎將已接收之訊息解密。當執行解密操作時,專屬金鑰解密引擎不需要有存取金鑰的權利而當成輸入。而是,如下列章節內所說明,可使用根據特定金鑰所決定的一組布林函數來實施該專屬金鑰解密引擎。如業界內所熟知,布林函數(也稱為邏輯函數)可定義成執行評估的函數,像是等式的評估,並回傳指出評估結果為真或偽之布林或邏輯結果。專屬金鑰解密引擎可視為針對用於對稱加密的特定金鑰客製化之解密引擎。專屬金鑰解密引擎的實例產生用於每一對稱金鑰。從專屬金鑰解密引擎無法輕易決定對稱金鑰,而是,專屬金鑰解密引擎的邏輯函數混亂對稱金鑰,如此讓執行反向工程並決定對稱金鑰的嘗試複雜化。
在下列章節同時說明的其他具體實施例內,電腦12上的軟體模組可使用此處有關軟體防盜版的技術。例如,使用者可在電腦12上安裝軟體應用程式。為了啟動安裝的軟體應用程式,使用者可獲得一個識別符。該識別符可從其他電腦系統獲得。另外,電腦12可不連接至伺服器16而進行單機操作,並且識別符可由使用者透過電話獲得,像是當使用者與現場人員或自動語音辨識系統通訊時。識別符或其一部分可為加密資料項目。電腦12上的軟體模組可在每次嘗試執行軟體應用程式時執行驗證處理。驗證處理可包含電腦12上的軟體模組使用此處的技術執行識別符或其一部分之解密,如此,此處的技術可避免使用有關軟體盜版所產生的假識別符。為了啟動軟體應用程式的未授權或無使用許可版本,所以可能產生假識別符,稍後會有更詳細說明。
上述只是說明此處技術用途的兩個範例。此項技術的人士將瞭解,此處的技術通常用在有關從任何傳送者傳輸至相同或不同電腦系統上任何接收者之通訊上。
請參閱第2圖,顯示說明可在有關此處所說明技術的具體實施例內運用之組件範例。第2圖的範例100包含一傳送者122和一接收者124。傳送者122使用對稱加密引擎106,運用使用對稱金鑰104將訊息102加密的對稱加密技術來執行加密操作。對稱金鑰104為一種有關由傳送者122執行對稱加密來產生已加密訊息110所使用之金鑰。當有關訊息加密與解密而使用相同金鑰104來執行加密與解密之加密操作時,對稱金鑰104對稱。對稱加密引擎106可使用任何對稱加密技術,像是先進加密標準(Advanced Encryption Standard,AES)。對稱加密引擎106可用於有關在現有選取對稱加密技術實施內,像是現有AES的實施,使用可執行的電腦指令處理包含要加密的對稱金鑰104和訊息102之輸入,來執行加密操作。如此,對稱加密引擎106使用對稱金鑰104當成輸入。
為了說明所傳輸的完整訊息都要加密的已加密訊息110,可參考此處的範例,此項技術的人士將瞭解,此處的技術也可用於有關其中部分已傳輸訊息可加密並據此解密之具體實施例。
一旦傳送者已經產生已加密訊息110,則已加密訊息110傳輸至接收者124。然後接收者124使用專屬金鑰解密引擎112將接收的已加密訊息110解密,產生已解密訊息114。在此更詳細說明可用於產生專屬金鑰解密引擎112的技術。根據使用此處所說明技術的具體實施例,在現有已選取對稱加密技術實施當中使用專屬金鑰解密引擎112而非解密引擎。使用處理包含要解密的對稱金鑰104和已加密訊息110的輸入之可執行電腦指令,可實施現有已選取對稱加密技術實施內使用的解密引擎。如此,針對使用加密引擎106,使用對稱金鑰當成輸入,並且可例如從電腦上的儲存位置獲得。根據使用此處技術的具體實施例,使用處理輸入的可執行電腦指令也可實施用於已選取對稱加密技術並執行解密操作的專屬金鑰解密引擎112。不過,至專屬金鑰解密引擎112的輸入包含已加密訊息110但不包含對稱金鑰。
已解密訊息114可用來當成驗證處理120的輸入。例如:驗證處理120可決定已解密訊息114是否與本機儲存或接收者所獲得的原始訊息102吻合。若已解密訊息114與原始訊息102的版本吻合,則驗證處理成功指示所接收的已加密訊息並未遭竄改並且以經由傳送者122傳送。否則,驗證處理失敗。吾人應該注意,許多不同技術任一種都可用來執行驗證處理。針對其他範例,傳送者可傳送包含未加密資料的第一部分與第二部分之訊息。該第二部分可為使用具有對稱金鑰104的對稱加密引擎106將第一部分加密之結果。接收者124可接收包含第一和第二部分的訊息,並使用專屬金鑰解密引擎112將第二部分解密來產生結果。然後接收者利用判斷解密結果是否吻合已接收訊息的第一部分,執行驗證處理。
此時將更詳細說明專屬金鑰解密引擎,以及其中可建構該專屬金鑰解密引擎之範例。
請參閱第3圖,顯示可在有關此處所說明技術的具體實施例內運用之專屬金鑰解密引擎範例表示。如上面所說明,專屬金鑰解密引擎302以一組布林或邏輯函數304a-304n來實施,其產生用於實施使用對稱金鑰的解密。輸入306為已加密訊息並且輸出308為已解密訊息。如所說明,每一布林函數304a-304n都可使用輸入306的多個位元判斷輸出308的一個位元。在此範例中,每一函數304a-304n都可根據輸入306的所有位元判斷輸出的單一位元。
根據選取用於具體實施例內的特定對稱加密技術,使用實施布林函數產生所要輸出308給已知輸入306的軟體,可實施專屬金鑰解密引擎302。
布林函數304a-304n可執行一或多項邏輯操作,像是AND、OR、NOT、XOR,或上述操作的某些組合。
請參閱第4圖,利用用於每個輸出位元的評估真值表(具有使用用於所選對稱加密技術的解密引擎之參考實施402來判斷之值),可判斷第3圖的布林函數304a-304n。參考實施402參照解密引擎的實例,該引擎可用於現有已選取對稱加密技術(處理包含要解密來產生已解密訊息408當成輸入的對稱金鑰404和已加密訊息406之輸入)實施內。運用參考實施402,可決定輸出408的預期值用於對稱金鑰404的輸入值406之不同組合。布林函數可決定將輸入406值的每一可能組合映射至輸出408的預期值。
為了說明如何決定布林函數,下面段落使用長度為2位元的輸入406和輸出408的簡單範例來說明。
請參閱第5圖,顯示說明使用有關決定專屬金鑰解密引擎布林函數的真值表之範例500。真值表502列舉不同可能輸入值504a和預期輸出值504b,利用針對特定對稱金鑰的504a內輸入值之每一組合執行第4圖內說明的參考實施402,可產生504b之值。參考實施402所產生的輸出值可記錄在504b內。根據真值表502,可決定一組一或多布林函數用於規範表單內輸出的每一位元。所有邏輯函數都可在規範表單內表示為積項和(「sum of products」,SOP)以及和項積(「product of sums」,POS)。SOP也已知為全及項(minterm)的析取(OR)正常表單,函數的POS、函數的SOP之邏輯同等項也已知為全或項(maxterm)的合取(AND)。針對n個變數In 0、...、In n的布林函數,其中每一該n個變數都出現一次,補數(例如負)或非捕數,的積項稱為全及項。如此全及項為由邏輯合取(AND)運算子與補數(NOT)運算子所構成的n變數之邏輯表示式,而全或項為由邏輯析取(OR)運算子與補數(NOT)運算子所構成的n變數之邏輯表示式。
請參考第5圖與其他圖,邏輯NOT運算可由「~」運算子表示、邏輯OR運算子由「+」表示並且邏輯AND運算子由「*」表示。
根據此處的技術,可試驗真值表502並且SOP或POS決定用於輸出的每一位元。決定用於輸出位元的SOP或POS可代表包含在決定輸出位元的專屬金鑰解密引擎內含之布林函數。為了說明起見,此範例內使用SOP。
元件506代表決定輸出的Out 0、位元0之第一布林函數F0。元件506可利用試驗真值表行505a和505d中輸出Out 0為1或真來決定。針對真值表內每一行而言,已經決定全及項。行505a可表示全及項(~In 0*~In1),並且行505d可表示全及項(In 0*In 1)。SOP為前述506內所表示全及項的邏輯OR。元件508代表決定輸出的Out 1、位元1之第二布林函數F1。元件508可利用試驗真值表行505b中輸出Out 1為1或真來決定。行505b可表示為元件508內含的全及項(~In 0*~In1)。
布林函數F0可如行506內所表示來實施,並且布林函數F1可如行508內所表示來實施,而這些行都在此處所說明訊息的接收者所使用之專屬金鑰解密引擎內。在此可針對每一對稱金鑰執行前述處理,來決定用於該特定對稱金鑰的客製化專屬金鑰解密引擎。
吾人應該注意,一旦已經決定剛才說明的初始布林函數,則可進一步轉換初始布林函數來決定邏輯同等項但是可產生預期輸出的更複雜布林函數。例如:根據DeMorgan法則,在A OR B這個布林函數內的邏輯運算可實施為NOT(NOT(A)AND NOT(B))。
例如:並非將函數F0實施為(~In 0*~In1)+(In 0*In 1),而是F0可根據DeMorgan法則進一步轉換,其中NOT(A AND B)=(NOT A)OR(NOT B),並且其中A=(~In 0*~In1)and B=(In 0*In 1),如此將F0實施為(In 0+In1)*(~In 0+~In 1)。根據布林代數的其他邏輯同義可套用進一步轉換(transformation)或排列(permutation),其中A=NOT(NOT A),如此針對每一輸入In 0和In 1、~(~In 0)和~(~In1)而言,分別置換並用於實施函數F0。每一函數都可套用不同的轉換,例如:具體實施例可決定布林函數之一為SOP並且另一個布林函數使用POS。這種變化與轉換可用來增加透過專屬金鑰解密引擎反向工程取得金鑰之難度。
請參閱第6圖,其中顯示可在專屬金鑰解密引擎內使用第5圖的506和508實施之布林函數F0和F1之其他表示。布林函數F0和F1可在軟體内利用編碼來實施。吾人應該注意,使用數位電路、場可程式閘陣列等等也可完整或部分實施布林函數。
剛剛說明的處理牽涉到可使用軟體以自動方式執行使用真值表以決定布林函數。雖然前述技術可用來決定布林函數,其用途特別受限於所運用電腦系統的可用資源。有關根據上述所有輸入產生用於每一輸出的真值表,每一真值表都具有2**n個可能輸入組合的大小。若輸入位元數量小於閥值,例如少於或等於32,可使用前述技術,如此一個布林函數用於其中布林函數使用輸入之所有位元的每一輸出。選取的閥值可根據電腦系統資源來決定,像是例如處理速度及/或儲存限制。
根據其他範例,具體實施例可使用AES的實施當成對稱加密技術,其在128位元的區塊大小上運算。如此實施AES的專屬金鑰解密引擎302具有長度都是128位元的輸入(已加密訊息)和輸出(已解密訊息)。有關此範例,使用每一都具有128個輸入與1個輸出的128個布林函數來實施專屬金鑰解密引擎並不可行,因為用來產生布林函數的真值表包含2**128個紀錄用於可能的輸入組合。因此,具體實施例可使用有關實施專屬金鑰解密引擎的替代區間(partitioning)技術。相較於前述,可使用大量布林函數實施專屬金鑰解密引擎,其中每一布林函數藉由將解密處理區間成布林函數群組來使用較少量的輸入,其中一區間的輸出都輸入至後續區間。然後,可使用上述使用真值表,例如第5圖內所說明,的技術來實施每一布林函數。吾人應該注意,如何執行此區間係根據處理步驟以及用於所選取對稱加密技術的許多處理點上輸入與輸出間之依存性來決定。
請參閱第7圖,顯示用於決定專屬金鑰解密引擎702的布林函數之替代區間技術說明。在範例700內,用於具體實施例內所使用已選取對稱加密技術的解密運算處理可分成多個區間702a-702n。每一區間都對應至產生中間結果或該區間輸出的布林函數群組。請參閱範例700,區間1的輸出標示為區間1輸出710a、區間2的輸出標示為區間2輸出710b,以此類推。最後區間,區間n,的輸出為已解密訊息706。一個區間的輸出用來當成下一個區間的輸入。已選取對稱加密技術的參考實施可用來決定中間結果或區間輸出。
此時所要描述的為說明區間技術之範例。針對第一範例,將說明有關用於對稱加密技術的假定解密運算,其使用屬於已加密訊息的4位元輸入並產生已解密訊息當成4位元輸出。若使用4個邏輯函數而每一都使用全部4個輸入位元來決定輸出位元之一來實施專屬金鑰解密引擎,則可使用具有16個輸入的真值表(例如2**4)。另外,該區間技術可用來區間解密處理,如此每一區間產生中間結果,如有關第7圖內之說明。為了進一步說明,請參閱第8圖。有關假定解碼運算,假設在兩交替處理步驟內執行解密處理,如此決定兩區間802和804。每一區間都對應至其中一處理迭代。已加密訊息802a輸入至區間1802,產生中間結果802b。如此處其他地方所述,使用針對假定解密運算(使用對稱金鑰)的參考實施可決定802b。產生當成區間1輸出的中間結果802b用來當成至第二區間處理804的輸入。區間804產生對應至已解密訊息的輸出806。
元件808表示第一組四個布林函數,其可根據像是區間802的輸入與輸出間之依存性這類假定解密之特定處理,決定用於第一區間802。元件808指示可決定中間結果802b的每一位元當成輸入的2位元函數。欲決定區間802的每一布林函數,則建立包含用於2輸入不同組合的記錄之真值表。例如:利用根據輸入In1和In2建立真值表來決定中間結果位元X0、利用根據輸入In1和In3建立真值表來決定中間結果位元X1,以此類推。元件808表示第一組四個布林函數,其可根據像是區間802的輸入與輸出間之依存性這類特定假定技術,決定用於第一區間802。類似地,元件810指示可決定輸出806的每一位元當成中間結果或區間1輸出802b的2位元函數。若要決定區間804的每一布林函數,則建立包含用於810內所示802b的不同二位元組合的記錄之真值表。例如:利用根據中間結果的位元X2和X3建立真值表來決定Out 0、利用根據中間結果的位元X1和X3建立真值表來決定Out 1,以此類推。
針對所說明的此特定解密運算,可進行上述區間輸入至輸出的區間與映射,如此使用總數8個函數,每一區間4個函數,就可實施專屬金鑰解密引擎。
此處說明有關使用大小為128位元對稱金鑰的AES對稱加密技術之進一步其他範例。AES在128位元的已加密訊息之固定大小輸入上運作。AES解密處理使用加密回合或在此稱為回合的迭代來實施,每一回合由一系列在8位元位元組的4x4陣列上運算之步驟或階段構成。運用大小為128位元的對稱金鑰,AES解密處理執行11回合的處理。若使用不同金鑰大小,像是特定AES實施所允許的256位元,需要執行額外處理回合。
AES說明於例如2001年11月26日所提出的Federal Information Processing Standards Publication 197(FIPS-197)內。雖然在此為了說明區間技術而參照至已知AES加密技術的特定態樣,此項技術的人士將瞭解,可套用該區間技術用在有關也包含像是其他區塊密碼技術的回合之其他加密技術內。
AES可特徵化為使用在也稱為區塊的固定位元長度群組上運算的對稱金鑰之區塊密碼。根據該區間技術,解密處理的每一回合都可對應至第9圖內說明的區間。範例900說明用於AES的解密處理當中11個回合,其使用大小為128位元的對稱金鑰,其中回合1的輸出為回合2的輸入、回合2的輸出為回合3的輸入,以此類推,直到回合11的輸出為已解密輸出為止。布林函數群組可決定用於特定128位元對稱金鑰的每一回合,每一回合都可執行相同的解密處理。在有關AES方面,每一回合可由相同的4個階段或步驟構成。AES每一回合內解密處理的每一階段都牽涉到在單一位元組上或同時在4x4陣列內含8位元資料上執行運算。因此,可使用布林函數實施專屬金鑰解密引擎,其中每一布林函數具有8位元輸入來決定1輸出位元。
請參閱第10圖,其中顯示說明在具體實施例的單一回合內可執行的處理之範例。範例1000說明由4個階段或步驟構成的回合,像是當執行用於AES加密技術的解密運算時。尤其是,根據加密技術,解密運算的回合可包含與所說明不同數量的階段或步驟,並且可在所說明的每階段128個輸入位元以外以及每布林函數8位元以外的不同數量上運算。如此可使用布林函數實施專屬金鑰解密引擎,據此決定階段、每階段的輸入與輸出、回合等等的數量。
每階段內執行的處理,以及階段數量和相關輸入與輸出,都隨每一對稱加密技術而變。例如:有關AES,階段1包含執行替換步驟,其中至階段1的每8位元輸入都根據查找表用其他8位元取代,階段2可包含調換步驟,其中4x4陣列內每一列的位元組都根據特定AES解密處理在特定時間內輪調,以此類推。
如剛才所述,可根據加密回合決定區間。每一回合的布林函數可根據每一回合內的階段或步驟數量,以及執行每一階段處理所使用的輸入與輸出之相關特別項來決定。然後可使用真值表決定用於上述特定加密技術,使用解密引擎參考實施的布林函數。針對使用具有128位元對稱金鑰的AES之範例說明,可根據11個回合區間解密處理,其中每一回合包含4個階段。因為如上述AES的解密處理在8位元部分上執行運算,可實施布林函數用於每一階段,其中每一函數根據至該階段的8位元輸入決定該階段輸出的一個位元。吾人應該注意,用於其他加密技術的解密處理可在不同數量的位元上運算,並且據此決定布林函數。如第10圖內有關根據128位元對稱金鑰執行AES解密中之說明,可使用128個布林函數實施一回合的每一階段,其中每一函數具有8輸入位元與1輸出位元,導致有512個布林函數來實施每一回合。如此,當使用根據128位元對稱金鑰的AES時,總共有5632個布林函數可用來實施每一專屬金鑰解密引擎。吾人應該注意,在此範例中,用於決定每一布林函數的真值表包含2**8個記錄,其可輕易儲存在電腦記憶體內讓此處所述技術使用。
請參閱第11圖,其中顯示可在有關根據此處所說明技術產生專屬金鑰解密引擎的具體實施例內執行之處理步驟流程圖。使用布林函數並且不需要輸入對稱金鑰就可實施專屬金鑰解密引擎。流程圖1100的步驟可執行來產生用於對稱加密技術的專屬金鑰解密引擎。然後專屬金鑰解密引擎可提供給接收者並使用,例如與第2圖相關的說明。流程圖1100彙總上述處理。在步驟1102上,獲得輸入內之位元的數量。在步驟1104上,判斷輸入的位元數量是否超過閥值。如上述,因為輸入的位元數影響用於決定布林函數的真值表大小,所以根據其上執行處理的特定電腦系統資源來選擇閥值。若步驟1104評估未超過,則控制前往步驟1110,在此使用解密引擎與對稱金鑰的參考實施來決定真值表以及對應的布林函數。控制前往步驟1112,選擇性執行步驟1110上決定的額外布林函數轉換。如上述,可執行額外轉換,讓利用專屬金鑰解密引擎反向工程來判斷對稱金鑰之難度提高。在步驟1114上,可產生專屬金鑰解密引擎。利用將像是步驟1110和1112的結果所決定之布林函數編碼,可實施專屬金鑰解密引擎。若步驟1104評估超過,則控制前往步驟1106,在此執行有關具體實施例內所使用,用於所選取對稱加密技術的解密處理之分析來決定可能的區間。如上述,決定的區間隨選取的對稱加密技術而變。用於所選取對稱加密技術的解密運算不同之特性可用來決定如何形成區間。例如:可使用加密回合,如此每一回合對應至一個區間。在步驟1108上,決定用於每一區間的真值表與布林函數。如此處所述,一區間也可進一步分成子區間,像是對應至上述回合的階段或步驟。從步驟1108,控制前往上述步驟1112和1114。
吾人應該注意,雖然在此說明與使用真值表決定布林函數,不過具體實施例可使用其他表示與技術來決定布林函數。
此時所要描述的為此次技術的其他示例性使用。如上述,可獲得有關在電腦系統上啟動已安裝軟體之識別符。在下列段落中,所獲得當成軟體啟動一部分的識別符稱為驗證識別符。軟體啟動處理一部分彙總於第12A圖的流程圖1200內,在此於步驟1202內包含起動伺服器,並且在步驟1204內獲得驗證識別符。該驗證識別符可為用對稱金鑰加密的訊息,或否則包含已加密資料部分。該驗證識別符可例如由使用者透過電話聯繫客服人員或自動語音辨識系統,向稱為啟動伺服器的電腦系統索取驗證識別符來取得。該驗證識別符可包含利用許多不同技術之一所取得原始資料來形成的已加密部分,為了說明起見,該驗證識別符可使用電話啟動獲得,像是當已執行啟動並且包含已安裝軟體的電腦不具備網路連線能力時。另外,已安裝軟體的啟動也可使用線上啟動法執行,在此使用者電腦透過網路與其他電腦系統通訊,以獲得有關軟體啟動方面的其他資訊。有關此範例,當已執行電話啟動並且當不執行線上啟動時,可獲得該驗證識別符。在步驟1206內,使用者可使用介面輸入該驗證識別符,如此該驗證識別符儲存在該已安裝軟體的電腦上。
電腦系統上的軟體模組可在每次嘗試啟動已安裝軟體時使用該驗證識別符執行驗證處理。第12B圖的流程圖1250彙總可執行成為回應嘗試啟動已安裝軟體的軟體程式執行一部分之處理。在步驟1252上,使用者可執行啟動軟體程式所需的動作,像是使用滑鼠或其他輸入裝置選擇要執行的應用程式。在步驟1254上,判斷已安裝軟體是否已經使用電話啟動或某些其他啟動方法,像是線上啟動方法來啟動。若之前已經執行過電話啟動方法,則步驟1254判斷為是並且控制前往步驟1258,取得之前儲存在電腦上的驗證識別符。步驟1258也包含擷取其他資訊,這可用於有關執行驗證處理的具體實施例內。在步驟1250上,判斷是否已經成功取得該驗證識別符與其他資訊。若否,則控制前往步驟1264,在此終止處理。若步驟1260判斷為是,則控制前往步驟1262,根據電話啟動方法執行驗證處理。底下更詳細說明步驟1262的處理以及使用該驗證識別符。若之前未執行電話啟動方法,則步驟1254判斷為否並且執行用於所使用特定啟動方法以及之前所獲得資訊的其他驗證處理。其他啟動方法導致除了該驗證識別符外還獲得不同的資訊,接著用於嘗試啟動軟體程式。
請參閱第13圖,其中顯示可在有關當之前已經執行電話啟動並且已獲得驗證識別符之驗證處理的具體實施例內執行之處理步驟流程圖,流程圖1300的處理步驟可單獨執行或聯合其他處理成為驗證處理一部分,來決定是否允許執行已安裝的軟體。流程圖1300說明可關於第12B圖的步驟1262來執行之步驟。在步驟1302上,已取得該驗證識別符。步驟1302包含讀取之前透過電話啟動處理獲得的已儲存之驗證識別符。在步驟1304上,將驗證識別符或其已加密部分解密。在步驟1306上,執行處理來決定執行步驟1304所獲得的已解密資料是否與原始資料版本相同。如此處所述,原始資料的版本可例如儲存在使用者電腦上,並為了執行流程圖1300的處理而取得。若步驟1306判斷為否,則控制前往步驟1310,在此驗證處理失敗。若步驟1306判斷為是,則控制前往步驟1308,在此驗證處理成功。吾人應該注意,從步驟1308,驗證處理可繼續並且驗證處理的成功結果取決於後續對步驟1308的步驟執行結果。步驟1304可如此處所說明使用專屬金鑰解密引擎來執行。
軟體盜版可包含例如獲得不合法的軟體版本並且產生假的驗證識別符。像是例如有關第12A圖、第12b圖和第13圖所說明的具體實施例,可使用此處的技術使其難以獲得用於產生假驗證識別符讓不合法軟體啟動的對稱金鑰。
當執行電話啟動相對於像是線上啟動的其他軟體啟動,如此由於使用者透過電話獲得驗證識別符,然後手動輸入該驗證識別符,所以對於所使用的驗證識別符大小有實際限制。使用專屬金鑰解密引擎提供用於偵測訊息竄改,並確認不會發生當使用像是數位簽章的其他技術時,有效驗證識別符的驗證讓訊息大小增加之情況。更進一步,並不會像是使用像是數位簽章的其他技術時會發生增加加密訊息大小這方面的額外負擔。
吾人應該注意,雖然此處提到電話啟動,電話啟動一般當成一種離線啟動處理,可在其中已經獲得驗證識別符的具體實施例內執行。離線啟動一般看待成一種當包含已安裝軟體的電腦系統未與其他電腦系統通訊來啟動已安裝軟體時之啟動方法。確切來說,在包含已安裝軟體的電腦系統離線未連接至網路、其他電腦系統等等時執行該啟動處理。
雖然以特定結構特徵的語言以及/或方法性步驟來說明標的,吾人可瞭解,後附申請專利範圍內所定義的標的並不必然受限於上述特定特徵或步驟。而上述特定特徵與步驟僅當成用於實施申請專利範圍之範例型式。
12...電腦
14...網路
16...伺服器
20...處理單元
22...記憶體
30...儲存裝置
32...系統匯流排
100...範例
102...訊息
104...對稱金鑰
106...對稱加密引擎
110...已加密訊息
112...專屬金鑰解密引擎
114...已解密訊息
120...驗證處理
122...傳送者
124...接收者
302...專屬金鑰解密引擎
304a-304n...布林或邏輯函數
306...輸入
308...輸出
402...參考實施
404...對稱金鑰
406...已加密訊息
406...輸入值
408...輸出
408...已解密訊息
500...範例
502...真值表
504a...不同可能輸入值
504b...預期輸出值
505a...真值表行
505b...真值表行
505d...真值表行
506...元件
508...元件
700...範例
702...專屬金鑰解密引擎
702a-702n...區間
704...已加密訊息
706...已解密訊息
710a...區間1輸出
710b...區間2輸出
802...區間1
802a...已加密訊息
802b...中間結果
804...第二區間處理
806...輸出
808...元件
810...元件
900...範例
1000...範例
從上述結合附圖的示例性具體實施例之實施方式中,將會更清楚了解本發明的特徵與優點,其中:
第1圖為可在關於此處所說明技術的具體實施例內運用之環境範例;
第2圖為可包含在具體實施例內並用在關於此處所執行技術的組件之範例;
第3圖為說明關於此處所執行技術所使用的專屬金鑰解密引擎具體實施例之其他範例;
第4圖為說明用於使用對稱金鑰當成輸入的所選對稱加密技術之解密引擎之參考實施的範例;
第5圖至第10圖為說明用於決定專屬金鑰解密引擎布林函數的技術之範例;
第11圖、第12A圖、第12B圖和第13圖為在使用此處技術的具體實施例內所執行之處理步驟流程圖。
100...範例
102...訊息
104...對稱金鑰
106...對稱加密引擎
110...已加密訊息
112...專屬金鑰解密引擎
114...已解密訊息
120...驗證處理
122...傳送者
124...接收者

Claims (20)

  1. 一種用於產生一專屬金鑰解密引擎的方法,該方法包含以下步驟;提供一解密引擎的一參考實施至一發送電腦,該引擎經配置以執行一對稱加密技術的一解密運算,該解密引擎的該參考實施經配置以接受一對稱金鑰為一第一輸入以及一已加密訊息為一第二輸入,其中該已加密訊息係為先前使用該對稱金鑰加密之一原始訊息之一加密版本;藉由該發送電腦使用該參考實施決定預期輸出,該等預期輸出對應至指定用於該第二輸入的不同值,其中該等預期輸出隨著該等不同值之一對應者而包括對應至該加密訊息之該原始訊息;藉由該發送電腦決定一或更多個布林函數,該一或更多個布林函數依據作為該第一輸入之該對稱金鑰與作為該第二輸入之包括該加密訊息之該等不同值,產生包括該原始訊息之該等預期輸出;藉由該發送電腦並依據該決定步驟,產生包括該一或更多個布林函數的該專屬金鑰解密引擎;以及藉由該發送電腦提供經產生之該專屬金鑰解密引擎至一接收電腦,其中包括經提供之該專屬金鑰解密引擎之該接收電腦經配置以解密該加密訊息,而不 需要該對稱金鑰作為對用於解密之經提供之該專屬金鑰解密引擎之一輸入。
  2. 如申請專利範圍第1項所述之方法,其中該一或更多個布林函數之每一者依據輸入的一或更多個位元,產生作為一輸出的一單一位元,該輸出為對該等布林函數之另一者之一輸入或該專屬金鑰解密引擎的一輸出的一位元,輸入的該一或更多個位元之每一者為一已加密訊息的一位元或為由該等布林函數之另一者所產生的一輸出。
  3. 如申請專利範圍第1項所述之方法,其中使用根據該等預期輸出與指定用於該第二輸入的該等不同值建立之真值表,決定該一或更多個布林函數。
  4. 如申請專利範圍第1項所述之方法,其中該決定一或更多個布林函數之步驟包含決定複數個區間之步驟,每一區間對應至該等布林函數的一部分。
  5. 如申請專利範圍第4項所述之方法,其中該等複數個區間的一第一區間之一輸出為至該等複數個區間的一第二區間之一輸入。
  6. 如申請專利範圍第5項所述之方法,其中該等複數個區間之每一者對應至一加密回合。
  7. 如申請專利範圍第5項所述之方法,其中該等複數個區間之每一者對應至有關執行該對稱加密技術之一 解密運算所執行的一處理迭代。
  8. 如申請專利範圍第6項所述之方法,其中每一加密回合包含複數個階段。
  9. 如申請專利範圍第3項所述之方法,進一步包含以下步驟:根據該等真值表決定對應至該一或更多個布林函數的一積項和。
  10. 如申請專利範圍第3項所述之方法,進一步包含以下步驟:根據該等真值表決定對應至該一或更多個布林函數的一和項積。
  11. 一種包含一計算裝置與至少一個程式模組之系統,一起經配置以執行用於產生一專屬金鑰解密引擎的動作,該等動作包含以下步驟;提供一解密引擎的一參考實施至一發送電腦,該解密引擎經配置以執行一對稱加密技術的一解密運算,該解密引擎的該參考實施經配置以接受一對稱金鑰為一第一輸入以及一已加密訊息為一第二輸入,其中該已加密訊息係為先前使用該對稱金鑰加密之一原始訊息之一加密版本;藉由該發送電腦使用該參考實施決定預期輸出,該等預期輸出對應至指定用於該第二輸入的不同 值,其中該等預期輸出隨著該等不同值之一對應者而包括對應至該加密訊息之該原始訊息;藉由該發送電腦決定一或更多個布林函數,該一或更多個布林函數依據作為該第一輸入之該對稱金鑰與作為該第二輸入之包括該加密訊息之該等不同值,產生包括該原始訊息之該等預期輸出;藉由該發送電腦並依據該決定步驟,產生包括該一或更多個布林函數的該專屬金鑰解密引擎;以及藉由該發送電腦提供該專屬金鑰解密引擎至一接收電腦,其中包括經提供之該專屬金鑰解密引擎之該接收電腦經配置以解密該加密訊息,而不需要該對稱金鑰作為對用於解密之經提供之該專屬金鑰解密引擎之一輸入。
  12. 如申請專利範圍第11項所述之系統,其中該一或更多個布林函數之每一者依據輸入的一或更多個位元,產生作為一輸出的一單一位元,該輸出為對該等布林函數之另一者之一輸入或該專屬金鑰解密引擎的一輸出的一位元,輸入的該一或更多個位元之每一者為一已加密訊息的一位元或為由該等布林函數之另一者所產生的一輸出。
  13. 如申請專利範圍第11項所述之系統,其中使用根據該等預期輸出與指定用於該第二輸入的該等不同值 建立之真值表,決定該一或更多個布林函數。
  14. 如申請專利範圍第11項所述之系統,其中該決定一或更多個布林函數之步驟包含決定複數個區間之步驟,每一區間對應至該等布林函數的一部分。
  15. 如申請專利範圍第11項所述之系統,該等動作進一步包含以下步驟:根據該等真值表決定對應至該一或更多個布林函數的一積項和;或根據該等真值表決定對應至該一或更多個布林函數的一和項積。
  16. 一種儲存電腦可執行指令之儲存裝置,該等電腦可執行指令當藉由一計算裝置執行時,使該計算裝置執行用於產生一專屬金鑰解密引擎的動作,該等動作包含以下步驟;提供一解密引擎的一參考實施至一發送電腦,該解密引擎經配置以執行一對稱加密技術的一解密運算,該解密引擎的該參考實施經配置以接受一對稱金鑰為一第一輸入以及一已加密訊息為一第二輸入,其中該已加密訊息係為先前使用該對稱金鑰加密之一原始訊息之一加密版本;藉由該發送電腦使用該參考實施決定預期輸出,該等預期輸出對應至指定用於該第二輸入的不同 值,其中該等預期輸出隨著該等不同值之一對應者而包括對應至該加密訊息之該原始訊息;藉由該發送電腦決定一或更多個布林函數,該一或更多個布林函數依據作為該第一輸入之該對稱金鑰與作為該第二輸入之包括該加密訊息之該等不同值,產生包括該原始訊息之該等預期輸出;藉由該發送電腦並依據該決定步驟,產生包括該一或更多個布林函數的該專屬金鑰解密引擎;以及藉由該發送電腦提供經產生之該專屬金鑰解密引擎至一接收電腦,其中包括經提供之該專屬金鑰解密引擎之該接收電腦經配置以解密該加密訊息,而不需要該對稱金鑰作為對用於解密之經提供之該專屬金鑰解密引擎之一輸入。
  17. 如申請專利範圍第16項所述之儲存裝置,其中該一或更多個布林函數之每一者依據輸入的一或更多個位元,產生作為一輸出的一單一位元,該輸出為對該等布林函數之另一者之一輸入或該專屬金鑰解密引擎的一輸出的一位元,輸入的該一或更多個位元之每一者為一已加密訊息的一位元或為由該等布林函數之另一者所產生的一輸出。
  18. 如申請專利範圍第16項所述之儲存裝置,其中使用根據該等預期輸出與指定用於該第二輸入的該等不 同值建立之真值表,決定該一或更多個布林函數。
  19. 如申請專利範圍第16項所述儲存裝置,其中該決定一或更多個布林函數之步驟包含決定複數個區間之步驟,每一區間對應至該等布林函數的一部分。
  20. 如申請專利範圍第16項所述之儲存裝置,該等動作進一步包含以下步驟:根據該等真值表決定對應至該一或更多個布林函數的一積項和;或根據該等真值表決定對應至該一或更多個布林函數的一和項積。
TW098114439A 2008-06-11 2009-04-30 執行對稱加密的技術 TWI488478B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/136,772 US8862893B2 (en) 2008-06-11 2008-06-11 Techniques for performing symmetric cryptography

Publications (2)

Publication Number Publication Date
TW200952438A TW200952438A (en) 2009-12-16
TWI488478B true TWI488478B (zh) 2015-06-11

Family

ID=41417332

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098114439A TWI488478B (zh) 2008-06-11 2009-04-30 執行對稱加密的技術

Country Status (6)

Country Link
US (1) US8862893B2 (zh)
EP (1) EP2286610B1 (zh)
JP (1) JP5511803B2 (zh)
CN (1) CN102067643B (zh)
TW (1) TWI488478B (zh)
WO (1) WO2009151793A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100014673A1 (en) * 2008-07-21 2010-01-21 Electronics And Telecommunications Research Institute Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
US20130239224A1 (en) * 2008-08-06 2013-09-12 True Security Llc Method of locating a computing device
TWI408938B (zh) * 2009-12-30 2013-09-11 Univ Vanung Flexible multi - digit signature method
US20160352733A1 (en) * 2015-05-27 2016-12-01 Rubicon Labs, Inc. Distributed and hierarchical device activation mechanisms
CN112507357B (zh) * 2020-12-09 2024-03-29 华南理工大学 一种基于密钥生成器的多级接口设计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2847708Y (zh) * 2006-04-30 2006-12-13 中国工商银行股份有限公司 利用特征码对关键数据进行加/解密的安全系统
CN1952949A (zh) * 2006-09-22 2007-04-25 中山大学 一种基于改进的一次一密乱码本的软件保护方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956505A (en) * 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
US5689565A (en) 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
US5778072A (en) 1995-07-07 1998-07-07 Sun Microsystems, Inc. System and method to transparently integrate private key operations from a smart card with host-based encryption services
JP2000503154A (ja) 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
JPH10105620A (ja) 1996-09-26 1998-04-24 Sakura Ginkou:Kk データ通信のためのセキュリティシステム
US6477203B1 (en) * 1998-10-30 2002-11-05 Agilent Technologies, Inc. Signal processing distributed arithmetic architecture
GB2351829B (en) * 1999-06-30 2003-04-30 Ncr Int Inc Self service terminal
JP4186381B2 (ja) 2000-05-10 2008-11-26 日本電気株式会社 プログラムを格納する記録媒体及びその実行方法
US20020048371A1 (en) 2000-10-24 2002-04-25 Ryuichi Iwamura Method and system for secure digital decoder with secure key distribution
US7302571B2 (en) 2001-04-12 2007-11-27 The Regents Of The University Of Michigan Method and system to maintain portable computer data secure and authentication token for use therein
JP2003223098A (ja) * 2002-01-29 2003-08-08 Sony Corp ブーリアン・マトリクスに基づく暗号化処理方法、および復号処理方法、並びにデータ通信システム
US20030149869A1 (en) * 2002-02-01 2003-08-07 Paul Gleichauf Method and system for securely storing and trasmitting data by applying a one-time pad
JP2003302899A (ja) 2002-04-11 2003-10-24 Sony Corp ブーリアン・マトリクスに基づく暗号化および復号処理方法、並びに装置
CN1487750A (zh) 2002-09-30 2004-04-07 北京三星通信技术研究有限公司 多媒体广播与组播业务中密码的管理及分发方法
US7003117B2 (en) 2003-02-05 2006-02-21 Voltage Security, Inc. Identity-based encryption system for secure data distribution
KR100551992B1 (ko) 2003-03-25 2006-02-20 소프트포럼 주식회사 어플리케이션 데이터의 암호화 및 복호화 방법
GB2401012B (en) 2003-04-23 2005-07-06 Hewlett Packard Development Co Cryptographic method and apparatus
US7275159B2 (en) 2003-08-11 2007-09-25 Ricoh Company, Ltd. Multimedia output device having embedded encryption functionality
US7366299B2 (en) 2003-09-26 2008-04-29 International Business Machines Corporation Method for encrypting and decrypting data using derivative equations and factors
JP4895068B2 (ja) 2004-03-29 2012-03-14 株式会社ハイパーテック 処理装置及び処理方法
US7624269B2 (en) * 2004-07-09 2009-11-24 Voltage Security, Inc. Secure messaging system with derived keys
EP1820295B1 (en) * 2004-09-24 2008-07-09 Synaptic Laboratories Limited Substitution boxes
US7831833B2 (en) * 2005-04-22 2010-11-09 Citrix Systems, Inc. System and method for key recovery
US7437573B2 (en) * 2005-06-03 2008-10-14 Microsoft Corporation Secure unsent message storage pending server connection
US20070101438A1 (en) 2005-10-28 2007-05-03 Gunasekaran Govindarajan Location-based authentication
US7853018B2 (en) 2005-11-10 2010-12-14 Atallah Mikhail J Method and apparatus for hiding a private key
EP2039053B1 (en) 2006-06-30 2018-05-23 Koninklijke Philips N.V. Method and apparatus for encrypting/decrypting data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2847708Y (zh) * 2006-04-30 2006-12-13 中国工商银行股份有限公司 利用特征码对关键数据进行加/解密的安全系统
CN1952949A (zh) * 2006-09-22 2007-04-25 中山大学 一种基于改进的一次一密乱码本的软件保护方法

Also Published As

Publication number Publication date
CN102067643B (zh) 2014-03-05
WO2009151793A2 (en) 2009-12-17
JP2011523103A (ja) 2011-08-04
JP5511803B2 (ja) 2014-06-04
US20090319805A1 (en) 2009-12-24
CN102067643A (zh) 2011-05-18
WO2009151793A3 (en) 2010-02-04
EP2286610A2 (en) 2011-02-23
TW200952438A (en) 2009-12-16
US8862893B2 (en) 2014-10-14
EP2286610A4 (en) 2015-04-08
EP2286610B1 (en) 2019-06-26

Similar Documents

Publication Publication Date Title
CN108809646B (zh) 安全共享密钥共享系统
JP4673890B2 (ja) オンラインサービスを用いてデバイスに直接証明秘密鍵を転送する方法
US9537657B1 (en) Multipart authenticated encryption
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
US10880100B2 (en) Apparatus and method for certificate enrollment
WO2021103802A1 (zh) 数据的加解密方法、装置、存储介质及加密文件
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
US8422673B2 (en) Method and system for protecting against unity keys
TWI488478B (zh) 執行對稱加密的技術
US20100005307A1 (en) Secure approach to send data from one system to another
US20230269078A1 (en) Key sharing method, key sharing system, authenticating device, authentication target device, recording medium, and authentication method
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
JP7024666B2 (ja) Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム
CN112528309A (zh) 一种数据存储加密和解密的方法及其装置
CN114745114B (zh) 基于口令派生的密钥协商方法、装置、设备及介质
JP2009200990A (ja) ディスク暗号鍵の生成及びリカバリ方法並びに機密情報管理システム
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
CN113874857A (zh) 用于最优信息理论安全的加密密钥管理的方法和设备
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
US11909893B2 (en) Composite encryption across cryptographic algorithms
US20230269066A1 (en) Method and apparatus for provisioning node-locking confidential data
CN117240439A (zh) 一种基于量子网络云主机的数据处理方法

Legal Events

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