JP4500306B2 - 解読待ち時間が削減されたメモリ暗号化のための装置及び方法 - Google Patents
解読待ち時間が削減されたメモリ暗号化のための装置及び方法 Download PDFInfo
- Publication number
- JP4500306B2 JP4500306B2 JP2006509096A JP2006509096A JP4500306B2 JP 4500306 B2 JP4500306 B2 JP 4500306B2 JP 2006509096 A JP2006509096 A JP 2006509096A JP 2006509096 A JP2006509096 A JP 2006509096A JP 4500306 B2 JP4500306 B2 JP 4500306B2
- Authority
- JP
- Japan
- Prior art keywords
- initialization vector
- data block
- block
- page
- memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
図1は、本発明の一実施の形態による、メモリ暗号化/解読ロジック200を含むコンピュータシステム100を示すブロック図である。このコンピュータシステム100は、プロセッサ(CPU)110とチップセット180との間で情報を通信するためのプロセッサシステムバス(フロントサイドバス(FSB(front side bus)))102を備える。プロセッサ110及びチップセット180は、FSB102を介して互いに接続されている。本明細書で説明するように、用語「チップセット」は、CPU110に接続されて所望のシステム機能を実行するさまざまなデバイスを集合的に説明するべく、当業者に既知の方法で使用される。
図6は、本発明の一実施の形態による、解読待ち時間が削減された、暗号化されたメモリブロックの解読のための方法400を示すフローチャートである。一実施の形態では、方法400は、たとえば、図3に示すような暗号化/解読ロジック200内で実行される。プロセスブロック402において、たとえば、暗号化されたデータブロックに対する要求に応答して、暗号化されたデータブロック(暗号文)がメモリから読み出される。一実施の形態では、説明したメモリは、たとえばRAM又は不揮発性メモリである。代替的に、メモリは、たとえば図1のHDD150内のディスクメモリと呼ばれる。
他の実施の形態では、異なるシステム構成を使用できることが理解されよう。たとえば、システム100が単一のCPU110を含むのに対して、他の実施の形態では、マルチプロセッサシステム(1つ又は2つ以上のプロセッサが、構成及びオペレーションにおいて上述したCPU110と同様のものとすることができる)は、さまざまな実施の形態のデータバス電力制御手法から恩恵を得ることができる。さらに、たとえばサーバ、ワークステーション、デスクトップコンピュータシステム、ゲームシステム、埋め込み式コンピュータシステム、ブレードサーバ等の異なるタイプのシステム又は異なるタイプのコンピュータシステムを他の実施の形態に使用することもできる。
Claims (25)
- 暗号化されたデータブロックをメモリから読み出す段階と、
プロセッサが、前記暗号化されたデータブロックの前記メモリからの読み出し中に、該データブロックの1以上の記憶された判定基準に従って、該データブロックの暗号化に使用された鍵ストリームを再生成する段階と、
前記暗号化されたデータブロックの読み出しが完了した場合に、前記プロセッサが、前記生成した鍵ストリームに従って、前記暗号化されたデータブロックを復号する段階と
を備え、
前記プロセッサが前記鍵ストリームを再生成する段階は、
前記暗号化されたデータブロックを含むページに従って、前記データブロックの暗号化に使用された初期化ベクトルの初期部を特定する段階と、
前記データブロックのブロック番号に従って、前記データブロックの暗号化に使用された前記初期化ベクトルの残部を特定する段階と、
前記初期化ベクトルの前記特定した初期部、前記初期化ベクトルの前記特定した残部、および秘密鍵に従って、前記鍵ストリームを再計算する段階と
を有する方法。 - 前記暗号化されたデータブロックを読み出す段階は、
前記暗号化されたデータブロックに対する要求を受け取る段階と、
前記暗号化されたデータブロックをランダムアクセスメモリから読み出す段階と
を有する請求項1に記載の方法。 - 前記プロセッサが前記鍵ストリームを再生成する段階は、
1以上の一意のページ初期化ベクトルを含むオンチップデータ構造体から、前記暗号化されたデータブロックを含むページ、及び、前記暗号化されたデータブロックのブロック番号に従って、記憶されたページ初期化ベクトル値を選択する段階と、
前記暗号化されたデータブロックの前記ブロック番号に従って、記憶されたCビットカウンタ値を選択する段階と、
前記ページ初期化ベクトル値と、前記Cビットカウンタ値と、前記暗号化されたデータブロックのアドレスがNビットアドレスである場合に該アドレスの(N−C)最上位ビットとに従って、前記データブロックを暗号化するのに使用された前記初期化ベクトルを再形成する段階と、
前記秘密鍵を使用して前記形成した初期化ベクトルを暗号化することにより前記鍵ストリームを形成する段階と
をさらに有する請求項1または2に記載の方法。 - 前記暗号化されたデータブロックを復号する段階は、単一クロックサイクル内で実行される
請求項1から3のいずれかに記載の方法。 - コンピュータに、
暗号化されたデータブロックをメモリから読み出す手順と、
プロセッサが、前記暗号化されたデータブロックの前記メモリからの読み出し中に、該データブロックの1以上の記憶された判定基準に従って、該データブロックを暗号化するのに使用された鍵ストリームを再生成する手順と、
前記暗号化されたデータブロックの読み出しが完了した場合に、前記プロセッサが、前記生成した鍵ストリームに従って、前記暗号化されたデータブロックを復号する手順と
を実行させ、
前記プロセッサが前記鍵ストリームを再生成する手順は、
前記暗号化されたデータブロックを含むページに従って、前記データブロックの暗号化に使用された初期化ベクトルの初期部を特定する手順と、
前記データブロックのブロック番号に従って、前記データブロックの暗号化に使用された前記初期化ベクトルの残部を特定する手順と、
前記初期化ベクトルの前記特定した初期部、前記初期化ベクトルの前記特定した残部、および秘密鍵に従って前記鍵ストリームを再計算する手順と
を有するプログラム。 - 前記暗号化されたデータブロックをメモリから読み出す手順は、
前記暗号化されたデータブロックに対する要求を受け取る手順と、
前記暗号化されたデータブロックをランダムアクセスメモリから読み出す手順と
を有する請求項5に記載のプログラム。 - 前記プロセッサが前記鍵ストリームを再生成する手順は、
1以上の一意のページ初期化ベクトルを含むオンチップデータ構造体から、前記暗号化されたデータブロックを含むページ、及び、前記暗号化されたデータブロックのブロック番号に従って、記憶されたページ初期化ベクトル値を選択する手順と、
前記暗号化されたデータブロックの前記ブロック番号に従って、記憶されたCビットカウンタ値を選択する手順と、
前記ページ初期化ベクトル値と、前記Cビットカウンタ値と、前記暗号化されたデータブロックのアドレスがNビットアドレスである場合に該アドレスの(N−C)最上位ビットとに従って、前記データブロックを暗号化するのに使用された前記初期化ベクトルを再形成する手順と、
前記秘密鍵を使用して前記形成した初期化ベクトルを暗号化することにより前記鍵ストリームを形成する手順と
をさらに有する請求項5または6に記載のプログラム。 - 前記暗号化されたデータブロックの復号は、単一クロックサイクル内で実行される
請求項5から7のいずれかに記載のプログラム。 - プロセッサが、データブロックの1以上の判定基準に従って該データブロックの初期化ベクトルを計算する段階と、
プロセッサが、前記データブロックの前記初期化ベクトルを計算するのに使用された、前記データブロックの前記判定基準を記憶する段階と、
前記プロセッサが、前記初期化ベクトル及び秘密鍵から鍵ストリームを計算する段階と、
前記プロセッサが、前記鍵ストリームに従って前記データブロックを暗号化する段階と、
前記プロセッサが、前記暗号化したデータブロックをメモリに記憶する段階と
を備え、
前記プロセッサが前記初期化ベクトルを計算する段階は、
前記データブロックの書き込み要求を受け取る段階と、
前記データブロックを含むページ、及び、該ページ内における前記データブロックのブロック番号を特定する段階と、
前記データブロックを含む前記ページ、及び、前記暗号化されたデータブロックの前記ブロック番号に従って、ページ初期化ベクトルを形成する段階と、
前記データブロックの前記ブロック番号に従って、ブロック初期化ベクトルを形成する段階と、
前記ページ初期化ベクトル及び前記ブロック初期化ベクトルを結合することにより前記初期化ベクトルを形成する段階と
を有する方法。 - 前記プロセッサが前記ページ初期化ベクトルを形成する段階は、
1以上の一意のページ初期化ベクトルを含むオンチップデータ構造体から、前記データブロックを含む前記ページに割り当てられる複数のページ初期化ベクトルを特定する段階と、
前記データブロックを含む前記ページのページカウンタ値に従って、ページ初期化ベクトルを選択する段階と
を有する請求項9に記載の方法。 - 前記プロセッサが前記ブロック初期化ベクトルを形成する段階は、
前記データブロックを含む前記ページへのページ書き込み用のブロックカウンタ値を、前記ブロック初期化ベクトルとして選択する段階
を有する請求項9または10に記載の方法。 - 前記プロセッサが前記ページ初期化ベクトル及び前記ブロック初期化ベクトルを結合することにより前記初期化ベクトルを形成する段階は、
1以上の一意のページ初期化ベクトルを含むオンチップデータ構造体から、前記暗号化されていないデータブロックを含むページに従って、記憶されたページ初期化ベクトル値を選択する段階と、
前記暗号化されたデータブロックの前記ブロック番号に従って、記憶されたCビットカウンタ値を選択する段階と、
前記ページ初期化ベクトル値と、前記Cビットカウンタ値と、前記暗号化されたデータブロックのアドレスがNビットアドレスである場合に該アドレスの(N−C)最上位ビットとに従って、前記データブロックを暗号化するのに使用された前記初期化ベクトルを形成する段階と、
前記秘密鍵を使用して前記形成した初期化ベクトルを暗号化することにより前記鍵ストリームを形成する段階と
を有する請求項9から11のいずれかに記載の方法。 - 前記プロセッサが前記鍵ストリームを計算する段階は、
ストリーム暗号及びブロック暗号の一方に前記初期化ベクトル及び前記秘密鍵を提供することにより前記鍵ストリームを生成する段階
を有する請求項9から12のいずれかに記載の方法。 - 前記プロセッサが、最も過去の初期化ベクトルを有するデータブロックを特定する段階と、
前記プロセッサが、前記特定した初期化ベクトルについて一意の初期化ベクトルを計算する段階と、
前記プロセッサが、前記一意の初期化ベクトル及び秘密鍵から生成された鍵ストリームに従って、前記特定したデータブロックを再暗号化する段階と
をさらに備える請求項9から13のいずれかに記載の方法。 - 前記プロセッサが前記一意の初期化ベクトルを計算する段階は、
前記特定したデータブロックを含むページのページカウンタ値に従って、現在のページ初期化ベクトル値を特定する段階と、
前記特定した初期化ベクトルのページ初期化ベクトル部を前記現在のページ初期化ベクトル値に取り替えることにより前記一意の初期化ベクトルを形成する段階と
を有する請求項14に記載の方法。 - 前記プロセッサが前記判定基準を記憶する段階は、
前記初期化ベクトルのページベクトル値を選択するのに使用されたページカウンタ値を特定する段階と、
前記初期化ベクトルのブロックベクトル値を形成するのに使用されたブロックカウンタ値を特定する段階と、
前記データブロックのブロック番号に従って、前記ページカウンタ値及び前記ブロックカウンタ値を暗号化ページ構造体内に記憶する段階と
を有する請求項9から15のいずれかに記載の方法。 - データブロックの初期化ベクトルを計算するのに使用される、該データブロックの1以上の判定基準を記憶し、前記初期化ベクトル及び秘密鍵から計算された鍵ストリームに従って前記データブロックを暗号化し、該暗号化したデータブロックをメモリ内に記憶するメモリ暗号化ロジックと、
暗号化したデータブロックの読み出し中に、該データブロックの1以上の記憶された判定基準に従って該データブロックを暗号化するのに使用された鍵ストリームを再生成し、該再生成した鍵ストリームを使用して、前記暗号化したデータブロックを復号するメモリ復号ロジックと
を備え、
前記メモリ暗号化ロジックは、
初期化ベクトルの形成に使用された1以上の一意のページ初期化ベクトル値を含むページデータ構造体と、鍵ストリームの再計算用の初期化ベクトルの形成およびデータブロックの暗号化に使用されたブロックデータ構造体および該ページデータ構造体へのインデックス値を記憶するのに使用されるブロックデータ構造体とを有する暗号化ページ構造体を含むメモリ
を有する装置。 - 前記暗号化ロジックは、
最も過去の初期化ベクトルを有するデータブロックを特定し、該特定した初期化ベクトルの一意の初期化ベクトルを再計算し、該一意の初期化ベクトル及び秘密鍵から生成された鍵ストリームに従って、前記特定したデータブロックを再暗号化するための再符号化ロジック
をさらに有する請求項17に記載の装置。 - 前記復号ロジックは、排他的OR演算を使用して、単一クロックサイクル内で、暗号化されたデータブロックを復号する
請求項17または18に記載の装置。 - 前記メモリは、ランダムアクセスメモリまたはディスクメモリである
請求項17から19のいずれかに記載の装置。 - ランダムアクセスメモリ(RAM)と、
前記ランダムアクセスメモリに接続されたチップセットと、
前記チップセットに接続されたプロセッサと
を備え、
前記プロセッサは、
データブロックの初期化ベクトルを計算するのに使用される、該データブロックの1以上の判定基準を記憶し、前記初期化ベクトル及び秘密鍵から計算された鍵ストリームに従って前記データブロックを暗号化し、該暗号化したデータブロックを前記ランダムアクセスメモリ内に記憶するための、メモリ暗号化ロジックと、
前記ランダムアクセスメモリからの暗号化したデータブロックの読み出し中に、該データブロックの1以上の記憶された判定基準に従って該データブロックを暗号化するのに使用された鍵ストリームを再生成し、該再生成した鍵ストリームを使用して、前記暗号化したデータブロックを復号するための、メモリ復号ロジックと
を有し、
前記メモリ暗号化ロジックは、
初期化ベクトルの形成に使用された1以上の一意のページ初期化ベクトル値を含むページデータ構造体と、鍵ストリームの再計算用の初期化ベクトルの形成およびデータブロックの暗号化に使用されたブロックデータ構造体および該ページデータ構造体へのインデックス値を記憶するのに使用されるブロックデータ構造体とを有する暗号化ページ構造体を含むメモリ
を含むシステム。 - 前記メモリ暗号化ロジックは、
最も過去の初期化ベクトルを有するデータブロックを特定し、該特定した初期化ベクトルを現在の初期化ベクトルに取り替え、該現在の初期化ベクトル及び秘密鍵から生成された鍵ストリームに従って、前記特定したデータブロックを再暗号化するための再符号化ロジック
をさらに含む請求項21に記載のシステム。 - 前記メモリ復号ロジックは、排他的OR演算を使用して、単一クロックサイクル内で、暗号化されたデータブロックを復号する
請求項21または22に記載のシステム。 - 前記ランダムアクセスメモリは、ダブルデータレート(DDR)同期データRAM(SDRAM)である
請求項21から23のいずれかに記載のシステム。 - コンピュータに、請求項9から16のいずれかに記載の方法を実行させる
プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/603,680 US7472285B2 (en) | 2003-06-25 | 2003-06-25 | Apparatus and method for memory encryption with reduced decryption latency |
PCT/US2004/018272 WO2005006197A2 (en) | 2003-06-25 | 2004-06-09 | An apparatus and method for memory encryption with reduced decryption latency |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006526173A JP2006526173A (ja) | 2006-11-16 |
JP4500306B2 true JP4500306B2 (ja) | 2010-07-14 |
Family
ID=34062229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006509096A Expired - Fee Related JP4500306B2 (ja) | 2003-06-25 | 2004-06-09 | 解読待ち時間が削減されたメモリ暗号化のための装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7472285B2 (ja) |
EP (2) | EP3575971A1 (ja) |
JP (1) | JP4500306B2 (ja) |
CN (1) | CN1836220B (ja) |
WO (1) | WO2005006197A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI758319B (zh) * | 2016-09-20 | 2022-03-21 | 英商Arm股份有限公司 | 用於處置針對向量指令的元素間位址危害的裝置及資料處理方法 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734932B2 (en) * | 2003-11-10 | 2010-06-08 | Broadcom Corporation | System and method for securing executable code |
US7162647B2 (en) * | 2004-03-11 | 2007-01-09 | Hitachi, Ltd. | Method and apparatus for cryptographic conversion in a data storage system |
US20060005047A1 (en) * | 2004-06-16 | 2006-01-05 | Nec Laboratories America, Inc. | Memory encryption architecture |
ATE407494T1 (de) * | 2004-07-06 | 2008-09-15 | Proton World Int Nv | Stromverschlüsselung des inhalts eines speichers, welcher ausserhalb eines prozessors angeordnet ist |
EP1615369A1 (fr) * | 2004-07-06 | 2006-01-11 | Proton World International N.V. | Chiffrement par blocs du contenu d'une mémoire externe à un processeur |
JP2006023957A (ja) * | 2004-07-07 | 2006-01-26 | Sony Corp | 半導体集積回路及び情報処理装置 |
US8155306B2 (en) * | 2004-12-09 | 2012-04-10 | Intel Corporation | Method and apparatus for increasing the speed of cryptographic processing |
US8081755B2 (en) * | 2005-05-20 | 2011-12-20 | Microsoft Corporation | JPEG2000 syntax-compliant encryption with full scalability |
US20070067644A1 (en) * | 2005-08-26 | 2007-03-22 | International Business Machines Corporation | Memory control unit implementing a rotating-key encryption algorithm |
US20070050642A1 (en) * | 2005-08-26 | 2007-03-01 | International Business Machines Corporation | Memory control unit with configurable memory encryption |
FR2895608B1 (fr) * | 2005-12-23 | 2008-03-21 | Trusted Logic Sa | Procede pour la realisation d'un compteur securise sur un systeme informatique embarque disposant d'une carte a puce |
US7797751B1 (en) * | 2006-03-27 | 2010-09-14 | Oracle America, Inc. | Nonce structure for storage devices |
KR101369748B1 (ko) * | 2006-12-04 | 2014-03-06 | 삼성전자주식회사 | 데이터 암호화 방법 및 그 장치 |
US20110029549A1 (en) * | 2006-12-08 | 2011-02-03 | Pandya Ashish A | Signature search architecture for programmable intelligent search memory |
US7890692B2 (en) * | 2007-08-17 | 2011-02-15 | Pandya Ashish A | FSA context switch architecture for programmable intelligent search memory |
US7827190B2 (en) * | 2006-12-08 | 2010-11-02 | Pandya Ashish A | Complex symbol evaluation for programmable intelligent search memory |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
WO2008073824A1 (en) * | 2006-12-08 | 2008-06-19 | Pandya Ashish A | Dynamic programmable intelligent search memory |
US9141557B2 (en) | 2006-12-08 | 2015-09-22 | Ashish A. Pandya | Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine |
WO2008071222A1 (en) * | 2006-12-15 | 2008-06-19 | Agere Systems Inc. | Protecting a programmable memory against unauthorized modification |
WO2008110971A2 (en) * | 2007-03-13 | 2008-09-18 | Koninklijke Philips Electronics N.V. | Encryption and decryption of auxiliary data |
US9268918B2 (en) * | 2007-03-13 | 2016-02-23 | Nxp, B.V. | Encryption and decryption of a dataset in at least two dimensions |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
US8509439B2 (en) * | 2007-12-31 | 2013-08-13 | Intel Corporation | Assigning nonces for security keys |
JP5374751B2 (ja) * | 2008-07-31 | 2013-12-25 | 株式会社ハイパーテック | メモリ管理方法 |
JP5272751B2 (ja) * | 2009-01-26 | 2013-08-28 | 富士通セミコンダクター株式会社 | プロセッサ |
US8719593B2 (en) * | 2009-05-20 | 2014-05-06 | Harris Corporation | Secure processing device with keystream cache and related methods |
US8971530B2 (en) | 2009-06-24 | 2015-03-03 | Intel Corporation | Cryptographic key generation using a stored input value and a stored count value |
DE102010010851A1 (de) * | 2010-03-10 | 2011-09-15 | Giesecke & Devrient Gmbh | Ausspähungsschutz bei der Ausführung einer Operationssequenz in einem tragbaren Datenträger |
US8700892B2 (en) * | 2010-03-19 | 2014-04-15 | F5 Networks, Inc. | Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion |
US8990582B2 (en) * | 2010-05-27 | 2015-03-24 | Cisco Technology, Inc. | Virtual machine memory compartmentalization in multi-core architectures |
JP5167374B2 (ja) * | 2011-01-21 | 2013-03-21 | シャープ株式会社 | データ暗号化装置、及び、メモリカード |
US8732538B2 (en) * | 2011-03-10 | 2014-05-20 | Icform, Inc. | Programmable data storage management |
GB2494625A (en) * | 2011-09-06 | 2013-03-20 | St Microelectronics Grenoble 2 | Minimizing the latency of a scrambled memory access by sending a memory access operation to the encryption engine and the memory controller in parallel |
US8726037B2 (en) | 2011-09-27 | 2014-05-13 | Atmel Corporation | Encrypted memory access |
CN103425935A (zh) * | 2012-05-16 | 2013-12-04 | 侯方勇 | 基于地址的存储器数据加密方法和装置 |
KR101458479B1 (ko) * | 2012-10-12 | 2014-11-07 | 한국전자통신연구원 | 세션상태정보의 암호화 및 복호화 방법 |
US9405919B2 (en) | 2014-03-11 | 2016-08-02 | Qualcomm Incorporated | Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers |
US9800401B2 (en) * | 2014-04-23 | 2017-10-24 | International Business Machines Corporation | Initialization vectors generation from encryption/decryption |
US10169618B2 (en) * | 2014-06-20 | 2019-01-01 | Cypress Semiconductor Corporation | Encryption method for execute-in-place memories |
US10691838B2 (en) | 2014-06-20 | 2020-06-23 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US10192062B2 (en) | 2014-06-20 | 2019-01-29 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
IL234956A (en) * | 2014-10-02 | 2017-10-31 | Kaluzhny Uri | Data bus protection with enhanced key entropy |
US9942211B1 (en) * | 2014-12-11 | 2018-04-10 | Amazon Technologies, Inc. | Efficient use of keystreams |
US9614666B2 (en) | 2014-12-23 | 2017-04-04 | Intel Corporation | Encryption interface |
CN107771324B (zh) * | 2015-09-17 | 2021-11-26 | 慧与发展有限责任合伙企业 | 用于有效地存储初始化向量的系统、方法及存储介质 |
CN108073353B (zh) | 2016-11-15 | 2020-04-14 | 华为技术有限公司 | 一种数据处理的方法及装置 |
US10896267B2 (en) | 2017-01-31 | 2021-01-19 | Hewlett Packard Enterprise Development Lp | Input/output data encryption |
IT201800003373A1 (it) | 2018-03-08 | 2019-09-08 | St Microelectronics Srl | Procedimento e circuito di decrittazione, dispositivo corrispondente |
EP3582134B1 (en) * | 2018-06-15 | 2021-02-24 | STMicroelectronics Srl | A cryptography method and circuit, corresponding device |
EP3758276B1 (en) * | 2018-12-12 | 2022-08-17 | Shenzhen Goodix Technology Co., Ltd. | Data processing method, circuit, terminal device storage medium |
US11646870B2 (en) | 2019-01-23 | 2023-05-09 | International Business Machines Corporation | Securing mobile device by RAM-encryption |
EP3697020A1 (de) * | 2019-02-15 | 2020-08-19 | Siemens Aktiengesellschaft | Verfahren zum betreiben von im zähler-modus betriebenen schlüsselstromgeneratoren zur sicheren datenübertragung, schlüsselstromgenerator mit zähler-modus-betrieb zur sicheren datenübertragung und computer-programm-produkt zur schlüsselstromerzeugung |
CN110445601B (zh) * | 2019-07-19 | 2022-07-26 | 三未信安科技股份有限公司 | 祖冲之加密算法提速方法、系统、存储介质及计算机设备 |
US11636046B1 (en) * | 2019-11-15 | 2023-04-25 | The Charles Stark Draper Laboratory, Inc. | Latency free data encryption and decryption between processor and memory |
US11782127B2 (en) | 2021-02-05 | 2023-10-10 | Nxp Usa, Inc. | Stop criterion for greedy target detection algorithms in radar applications using sparse phased arrays |
FR3120718B1 (fr) * | 2021-03-09 | 2023-02-10 | Commissariat Energie Atomique | Procédé d’exécution d’un programme d’ordinateur par un appareil électronique |
US11567676B2 (en) | 2021-04-30 | 2023-01-31 | Nxp B.V. | Inline encryption/decryption for a memory controller |
US11874776B2 (en) * | 2021-06-25 | 2024-01-16 | Intel Corporation | Cryptographic protection of memory attached over interconnects |
US11620184B2 (en) | 2021-08-16 | 2023-04-04 | Nxp B.V. | Runtime integrity checking for a memory system |
CN114710287B (zh) * | 2022-06-06 | 2022-09-20 | 中科问天量子科技(天津)有限公司 | 一种加密方法、系统、存储介质及加密文件访问方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4529870A (en) | 1980-03-10 | 1985-07-16 | David Chaum | Cryptographic identification, financial transaction, and credential device |
US5259025A (en) * | 1992-06-12 | 1993-11-02 | Audio Digitalimaging, Inc. | Method of verifying fake-proof video identification data |
US5345508A (en) * | 1993-08-23 | 1994-09-06 | Apple Computer, Inc. | Method and apparatus for variable-overhead cached encryption |
US5809148A (en) * | 1996-05-17 | 1998-09-15 | Motorola, Inc. | Decryption of retransmitted data in an encrypted communication system |
US5757919A (en) * | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US6061449A (en) | 1997-10-10 | 2000-05-09 | General Instrument Corporation | Secure processor with external memory using block chaining and block re-ordering |
JP4226760B2 (ja) * | 2000-05-08 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法 |
US6937727B2 (en) * | 2001-06-08 | 2005-08-30 | Corrent Corporation | Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels |
JP2003023421A (ja) * | 2001-07-09 | 2003-01-24 | C4 Technology Inc | 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置 |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
WO2003030441A2 (en) * | 2001-10-03 | 2003-04-10 | Koninklijke Philips Electronics N.V. | Memory encryption system and method |
US7274792B2 (en) * | 2002-08-09 | 2007-09-25 | Broadcom Corporation | Methods and apparatus for initialization vector processing |
-
2003
- 2003-06-25 US US10/603,680 patent/US7472285B2/en not_active Expired - Fee Related
-
2004
- 2004-06-09 EP EP19187662.2A patent/EP3575971A1/en not_active Withdrawn
- 2004-06-09 WO PCT/US2004/018272 patent/WO2005006197A2/en active Application Filing
- 2004-06-09 CN CN2004800177114A patent/CN1836220B/zh not_active Expired - Fee Related
- 2004-06-09 JP JP2006509096A patent/JP4500306B2/ja not_active Expired - Fee Related
- 2004-06-09 EP EP04754772.4A patent/EP1654661B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI758319B (zh) * | 2016-09-20 | 2022-03-21 | 英商Arm股份有限公司 | 用於處置針對向量指令的元素間位址危害的裝置及資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1836220B (zh) | 2010-11-10 |
EP3575971A1 (en) | 2019-12-04 |
WO2005006197A3 (en) | 2006-02-16 |
WO2005006197A2 (en) | 2005-01-20 |
JP2006526173A (ja) | 2006-11-16 |
US7472285B2 (en) | 2008-12-30 |
US20050021986A1 (en) | 2005-01-27 |
EP1654661B1 (en) | 2019-07-24 |
CN1836220A (zh) | 2006-09-20 |
EP1654661A2 (en) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4500306B2 (ja) | 解読待ち時間が削減されたメモリ暗号化のための装置及び方法 | |
JP4551802B2 (ja) | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 | |
JP6046360B2 (ja) | 機密データの暗号化および記憶 | |
JP4767985B2 (ja) | 複数モードでのaes暗号化または復号の単一命令での実行 | |
US20050154912A1 (en) | Firmware encrypting and decrypting method and an apparatus using the same | |
JP2020535693A (ja) | 記憶データ暗号化/復号化装置及び方法 | |
WO2016042287A1 (en) | Puf and address dependent data encryption | |
JP2003198534A (ja) | データ暗号化装置及びその方法 | |
JP2006085676A (ja) | 暗号化命令処理装置 | |
JP5645725B2 (ja) | データ処理装置およびデータ処理システムおよびその制御方法 | |
JP2023510311A (ja) | メモリ・ベースの暗号化 | |
JP2000122861A (ja) | データ等の不正改竄防止システム及びそれと併用される 暗号化装置 | |
JP2004199688A (ja) | 安全なドライバ | |
JP2007501481A (ja) | 暗号化指示情報を有する記録媒体 | |
JP2005122745A (ja) | 対称型マルチプロセッサを持つ電子機器におけるデータの暗号化 | |
US20210006391A1 (en) | Data processing method, circuit, terminal device and storage medium | |
JP2005216027A (ja) | 暗号化装置及びこれを備えた暗号化システム並びに復号化装置及びこれを備えた半導体システム | |
JP2007336446A (ja) | データ暗号化装置 | |
US8782430B2 (en) | Secure external buffer for hard disk drive system on a chip | |
JP2004133087A (ja) | ブロック暗号方法およびブロック暗号回路 | |
JP2011123229A (ja) | プログラムコード暗号化装置及びプログラム | |
US7707431B2 (en) | Device of applying protection bit codes to encrypt a program for protection | |
JP7101500B2 (ja) | 暗号化装置、暗号化システム、及び暗号化方法 | |
JP6012355B2 (ja) | 制御機器、制御システム、データ格納方法及びプログラム | |
JP2000076144A (ja) | 論理回路、マイクロコンピュータ、および論理回路・記憶回路間の通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100330 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100416 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4500306 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |