JP5020987B2 - パラレル・モードでの先進暗号化標準(aes)の暗号化および復号を最適化する方法および装置 - Google Patents
パラレル・モードでの先進暗号化標準(aes)の暗号化および復号を最適化する方法および装置 Download PDFInfo
- Publication number
- JP5020987B2 JP5020987B2 JP2009043695A JP2009043695A JP5020987B2 JP 5020987 B2 JP5020987 B2 JP 5020987B2 JP 2009043695 A JP2009043695 A JP 2009043695A JP 2009043695 A JP2009043695 A JP 2009043695A JP 5020987 B2 JP5020987 B2 JP 5020987B2
- Authority
- JP
- Japan
- Prior art keywords
- aes
- block
- blocks
- aes round
- round
- 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
- 238000000034 method Methods 0.000 title claims description 28
- 238000012545 processing Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 229920006385 Geon Polymers 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
Cj=AES_ENCRYPT(Pj XOR Cj-1) for j=1,2,…,暗号化すべきブロック数(NB: number of blocks to encrypt)
ここで、
Cjは第j暗号文ブロックであり、
Pjは第j平文ブロック(入力)である。
表1
TargetBuffer[j]=AES_ENCRYPT_PROCEDURE(DataBlock[j],cipher_key)
End loop
ここで、
DataBlock //暗号化すべきデータを保持する128ビットのエントリーをNB個もつバッファ
TargetBuffer //暗号化された結果を記憶する128ビットのエントリーをNB個もつバッファ(DataBlockと同じでもよい)
表2
for j from 1 to 暗号化すべきブロック数(NB)
Tmp1=AES_ENCRYPT_PROCEDURE(COUNTER,cipher_key)
TargetBuffer[j]=XOR(Tmp1,DataBlock[j])
End loop
ここで、
DataBlock //暗号化すべきデータを保持する128ビットのエントリーをNB個もつバッファ
TargetBuffer //暗号化された結果を記憶する128ビットのエントリーをNB個もつバッファ(DataBlockと同じでもよい)
表3
temp=Load(DataBlock[i])
temp=xor(temp,RK[0]); //ラウンド0
for(j=1; j<10; j++) //10回のAESラウンドについて
temp=AESENC(temp,RK[j]);
temp=AESENCLAST(temp,RK[10]);
Store temp to TargetBuffer[i]
ここで、
NBは暗号化すべきブロック数;
IVはカウンタを初期化する(initialize)ために使われるランダムな数;
DataBlockは暗号化すべきデータを記憶するバッファ;
TargetBufferは暗号化した結果を記憶するバッファ;
RKはラウンド鍵(Round keys)を記憶するバッファ;
tempは128ビットの変数である。
表4
Xmm1=BLOCK[i] //ロード
Xmm1=AESENC(Xmm1,RK[1])
Xmm1=AESENC(Xmm1,RK[2])
Xmm1=AESENC(Xmm1,RK[3])
…
Xmm1=AESENC(Xmm1,RK[9])
Xmm1=AESENCLAST(Xmm1,RK[10])
store Xmm1
End
表5
入力:データ(=宛先)、ラウンド鍵
出力:ラウンド鍵を使ったAESラウンドを通じた変換後のデータ
AESENCLAST xmmsrcdst xmm
入力:データ(=宛先)、ラウンド鍵
出力:ラウンド鍵を使ったAES最終ラウンドを通じた変換後のデータ
AESDEC xmmsrcdst xmm
入力:データ(=宛先)、ラウンド鍵
出力:ラウンド鍵を使ったAESラウンドを通じた変換後のデータ
AESDECLAST xmmsrcdst xmm
入力:データ(=宛先)、ラウンド鍵
出力:ラウンド鍵を使ったAES最終ラウンドを通じた変換後のデータ
表6
xmm1=BLOCK[8*i+1], xmm2=BLOCK[8*i+2]; … xmm8=BLOCK[8*i+8]
xmm1=AESENC(xmm1,RK[1])
xmm2=AESENC(xmm2,RK[1])
xmm3=AESENC(xmm2,RK[1])
…
xmm8=AESENC(xmm8,RK[1])
xmm1=AESENC(xmm1,RK[2])
xmm2=AESENC(xmm2,RK[2])
…
xmm8=AESENC(xmm8,RK[2])
…
xmm1=AESENCLAST(xmm1,RK[10])
xmm2=AESENCLAST(xmm2,RK[10])
…
xmm8=AESENCLAST(xmm8,RK[10])
store xmm1; store xmm2; … store xmm8
End
表7
(Xmm1,RK[1])
Xmm2=AESENC
(Xmm2,RK[1])
Xmm3=AESENC
(Xmm3,RK[1])
Xmm4=AESENC
(Xmm4,RK[1])
Xmm5=AESENC
(Xmm5,RK[1])
Xmm6=AESENC
(Xmm6,RK[1])
表8
102 メモリ・コントローラ・ハブ(MCH)
103 AES暗号化/復号処理
104 入出力コントローラ・ハブ
106 メモリ・コントローラ
108 メモリ
110 記憶装置入出力コントローラ
112 記憶装置
200 バフ・インターフェース・ユニット
202 レベル1の命令キャッシュ
204 レベル1のデータ・キャッシュ
206 フェッチおよびデコード・ユニット
208 レジスタ・ファイル
210 実行ユニット
212 待避ユニット
214 マイクロコードROM
216 ラウンド鍵
300 k個のレジスタにk個の異なるデータ・ブロックをロード
302 k個のデータ・ブロックのそれぞれについてAESラウンド0処理を実行
304 k個のレジスタに記憶されている各データ・ブロックについて1ラウンドのためのラウンド処理を実行するラウンド命令をディスパッチ
306 さらなるラウンド[RK]?
308 さらなるデータ・ブロック?
310 結果を返す
Claims (18)
- プロセッサにより、あるブロックに対して他のブロックとは独立して作用する動作モードを使って先進暗号化標準(AES)処理を複数の固定サイズのブロックに対して実行することを含む方法であって:
前記複数の固定サイズのブロックのうちk個の相続くブロックのセットを前記プロセッサ中のk個のレジスタに記憶する段階であって、kは、ブロックに対してあるAESラウンドについてのAESラウンド演算のシーケンスを実行するAESラウンド命令のレイテンシ(L)以上である、段階と;
前記プロセッサの実行ユニットによって、前記k個の相続くブロックのそれぞれについてプロセッサ・サイクル毎に一つのAESラウンド命令をディスパッチすることによって、前記k個の相続くブロックのセットに対して前記AESラウンド演算のシーケンスを並列に実行する段階とを有する、
方法。 - 前記k個のブロックのそれぞれについての前記AESラウンド命令の結果を、前記k個のレジスタのうちそのブロックをもともと記憶していたレジスタに記憶する段階をさらに有する、
請求項1記載の方法。 - 各ブロックが128ビットをもつ、請求項1記載の方法。
- 前記レジスタがXmmレジスタである、請求項1記載の方法。
- 前記AESラウンド命令がパイプラインされる、請求項1記載の方法。
- 前記動作モードが、電子コードブック(ECB)、カウンタ、暗号ブロック連鎖メッセージ認証コード(CCM)またはガロア・カウンタ・モード(GCM)である、請求項1記載の方法。
- 複数の固定サイズのブロックのうちk個の相続くブロックのセットをk個のレジスタに記憶するためのレジスタ・ファイルであって、kは、ブロックに対してあるAESラウンドについてのAESラウンド演算のシーケンスを実行するAESラウンド命令のレイテンシ(L)以上である、レジスタ・ファイルと;
あるブロックに対して他のブロックとは独立して作用する動作モードを使って先進暗号化標準(AES)処理を複数の固定サイズのブロックに対して実行する実行ユニットであって、前記k個の相続くブロックのそれぞれについてプロセッサ・サイクル毎に一つのAESラウンド命令をディスパッチすることによって、前記k個の相続くブロックのセットに対して前記AESラウンド演算のシーケンスを並列に実行する実行ユニットとを有する、
装置。 - 前記実行ユニットが、前記k個のブロックのそれぞれについての前記AESラウンド命令の結果を前記k個のレジスタのうちそのブロックをもともと記憶していたレジスタに記憶する、請求項7記載の装置。
- 各ブロックが128ビットをもつ、請求項7記載の装置。
- 前記レジスタがXmmレジスタである、請求項7記載の装置。
- 前記AESラウンド命令がパイプラインされる、請求項7記載の装置。
- 前記動作モードが、電子コードブック(ECB)、カウンタ、暗号ブロック連鎖メッセージ認証コード(CCM)またはガロア・カウンタ・モード(GCM)である、請求項7記載の装置。
- 情報を記憶した機械アクセス可能記憶媒体であって、前記情報は、機械によってアクセスされたときに、該機械に:
あるブロックに対して他のブロックとは独立して作用する動作モードを使って先進暗号化標準(AES)処理を複数の固定サイズのブロックに対して実行することを含む方法であって:
前記複数の固定サイズのブロックのうちk個の相続くブロックのセットを前記機械内のk個のレジスタに記憶する段階であって、kは、ブロックに対してあるAESラウンドについてのAESラウンド演算のシーケンスを実行するAESラウンド命令のレイテンシ(L)以上である、段階と;
前記機械の実行ユニットによって、前記k個の相続くブロックのそれぞれについてプロセッサ・サイクル毎に一つのAESラウンド命令をディスパッチすることによって、前記k個の相続くブロックのセットに対して前記AESラウンド演算のシーケンスを並列に実行する段階とを有する、
方法を実行させる、
機械アクセス可能記憶媒体。 - 前記k個のブロックのそれぞれについての前記AESラウンド命令の結果を、前記k個のレジスタのうちそのブロックをもともと記憶していたレジスタに記憶する段階をさらに有する、
請求項13記載の機械アクセス可能記憶媒体。 - 各ブロックが128ビットをもつ、請求項13記載の機械アクセス可能記憶媒体。
- 前記レジスタがXmmレジスタである、請求項13記載の機械アクセス可能記憶媒体。
- 前記AESラウンド命令がパイプラインされる、請求項13記載の機械アクセス可能記憶媒体。
- 前記動作モードが、電子コードブック(ECB)、カウンタ、暗号ブロック連鎖メッセージ認証コード(CCM)またはガロア・カウンタ・モード(GCM)である、請求項13記載の機械アクセス可能記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/038,071 | 2008-02-27 | ||
US12/038,071 US8194854B2 (en) | 2008-02-27 | 2008-02-27 | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009205161A JP2009205161A (ja) | 2009-09-10 |
JP5020987B2 true JP5020987B2 (ja) | 2012-09-05 |
Family
ID=40765607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043695A Expired - Fee Related JP5020987B2 (ja) | 2008-02-27 | 2009-02-26 | パラレル・モードでの先進暗号化標準(aes)の暗号化および復号を最適化する方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8194854B2 (ja) |
EP (1) | EP2096787B1 (ja) |
JP (1) | JP5020987B2 (ja) |
KR (1) | KR101068367B1 (ja) |
CN (1) | CN101520966B (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582795B2 (en) | 2002-02-05 | 2017-02-28 | Square, Inc. | Methods of transmitting information from efficient encryption card readers to mobile devices |
US9916581B2 (en) * | 2002-02-05 | 2018-03-13 | Square, Inc. | Back end of payment system associated with financial transactions using card readers coupled to mobile devices |
US8467527B2 (en) * | 2008-12-03 | 2013-06-18 | Intel Corporation | Efficient key derivation for end-to-end network security with traffic visibility |
US8194854B2 (en) | 2008-02-27 | 2012-06-05 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
US8879725B2 (en) | 2008-02-29 | 2014-11-04 | Intel Corporation | Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation |
US8634549B2 (en) * | 2008-05-07 | 2014-01-21 | Red Hat, Inc. | Ciphertext key chaining |
US8396209B2 (en) | 2008-05-23 | 2013-03-12 | Red Hat, Inc. | Mechanism for chained output feedback encryption |
JP5500923B2 (ja) * | 2008-11-27 | 2014-05-21 | キヤノン株式会社 | 情報処理装置 |
US8654970B2 (en) * | 2009-03-31 | 2014-02-18 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US20100250965A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US8850204B2 (en) * | 2009-12-23 | 2014-09-30 | Intel Corporation | Multi-band/multi-link secure key generation and delivery protocol |
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
CN102411683B (zh) * | 2011-08-15 | 2014-04-02 | 复旦大学 | 一种适用于嵌入式系统的基于高速缓存的aes加速器 |
WO2013080976A1 (ja) | 2011-11-28 | 2013-06-06 | 日本電気株式会社 | 暗号化処理回路及び復号処理回路、その方法並びにそのプログラム |
CN102664729B (zh) * | 2012-04-28 | 2014-12-31 | 中山大学 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
US9158499B2 (en) * | 2012-04-30 | 2015-10-13 | Freescale Semiconductor, Inc | Cryptographic processing with random number generator checking |
US9176838B2 (en) | 2012-10-19 | 2015-11-03 | Intel Corporation | Encrypted data inspection in a network environment |
US9264222B2 (en) * | 2013-02-28 | 2016-02-16 | Apple Inc. | Precomputing internal AES states in counter mode to protect keys used in AES computations |
US9361106B2 (en) * | 2013-12-27 | 2016-06-07 | Intel Corporation | SMS4 acceleration processors, methods, systems, and instructions |
US9513913B2 (en) | 2014-07-22 | 2016-12-06 | Intel Corporation | SM4 acceleration processors, methods, systems, and instructions |
US9515818B2 (en) | 2014-09-16 | 2016-12-06 | Apple Inc. | Multi-block cryptographic operation |
US9467279B2 (en) | 2014-09-26 | 2016-10-11 | Intel Corporation | Instructions and logic to provide SIMD SM4 cryptographic block cipher functionality |
CN104284208B (zh) * | 2014-10-23 | 2017-11-10 | 航天数字传媒有限公司 | 通过aes‑cbc算法进行并行加密的方法及系统 |
CN105743636A (zh) * | 2014-12-11 | 2016-07-06 | 上海华虹集成电路有限责任公司 | 实现密码算法的方法 |
WO2016172259A1 (en) * | 2015-04-20 | 2016-10-27 | Microsemi Corp. - Security Solutions | High-speed aes with transformed keys |
US9779262B2 (en) * | 2015-04-20 | 2017-10-03 | Qualcomm Incorporated | Apparatus and method to decrypt file segments in parallel |
US9773432B2 (en) | 2015-06-27 | 2017-09-26 | Intel Corporation | Lightweight cryptographic engine |
US10061941B2 (en) * | 2015-08-19 | 2018-08-28 | Altera Corporation | Systems and methods for multiport to multiport cryptography |
CN105356996B (zh) * | 2015-12-14 | 2018-11-09 | 联想(北京)有限公司 | 一种密文处理方法、电子设备及密文处理装置 |
CN107679409B (zh) * | 2017-09-29 | 2021-02-23 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN108616351B (zh) * | 2018-03-26 | 2020-09-18 | 山东大学 | 一种全动态加密解密方法及加密解密装置 |
CN109687954B (zh) * | 2018-12-25 | 2022-05-13 | 贵州华芯通半导体技术有限公司 | 用于算法加速的方法和装置 |
CN109600217A (zh) * | 2019-01-18 | 2019-04-09 | 江苏实达迪美数据处理有限公司 | 在并行操作模式中优化sm4加密和解密的方法及处理器 |
CN110336658B (zh) * | 2019-07-01 | 2023-03-21 | 武汉能钠智能装备技术股份有限公司 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
KR20210007068A (ko) | 2019-07-09 | 2021-01-20 | 삼성디스플레이 주식회사 | 표시 장치 및 그 구동 방법 |
US10972256B2 (en) * | 2019-07-18 | 2021-04-06 | Ante Deng | Architectural secure system for digital file in cyberspace |
CN111324383B (zh) * | 2020-02-28 | 2022-05-10 | 西安微电子技术研究所 | 一种基于risc-v指令扩展的安全协处理器结构 |
KR20210116834A (ko) | 2020-03-17 | 2021-09-28 | 삼성디스플레이 주식회사 | 표시 장치 및 그 구동 방법 |
US11296876B1 (en) | 2020-09-11 | 2022-04-05 | Rockwell Collins, Inc. | Parallel cross-domain guard engines with sequential cryptographic controls |
IT202100016910A1 (it) * | 2021-06-28 | 2022-12-28 | St Microelectronics Srl | Procedimento per eseguire operazioni di crittografia in un dispositivo di elaborazione, corrispondenti dispositivo di elaborazione e prodotto informatico |
CN113282947A (zh) * | 2021-07-21 | 2021-08-20 | 杭州安恒信息技术股份有限公司 | 一种基于sm4算法的数据加密方法、装置及计算机平台 |
CN114495474B (zh) * | 2022-02-16 | 2022-11-22 | 青岛克莱玛物联技术有限公司 | 一种无线遥控装置 |
CN116186747A (zh) * | 2023-04-27 | 2023-05-30 | 暗链科技(深圳)有限公司 | 自适应哈希加密方法、非易失性可读存储介质及电子设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3864675B2 (ja) * | 2000-03-09 | 2007-01-10 | 株式会社日立製作所 | 共通鍵暗号装置 |
KR20020087331A (ko) * | 2001-05-14 | 2002-11-22 | 최병윤 | 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로 |
US7289524B2 (en) * | 2001-10-04 | 2007-10-30 | Bbn Technologies Corp. | Execution unit for a network processor |
US20040202317A1 (en) * | 2002-12-20 | 2004-10-14 | Victor Demjanenko | Advanced encryption standard (AES) implementation as an instruction set extension |
JP2006527865A (ja) * | 2003-06-16 | 2006-12-07 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | ラインドールブロック暗号化装置、及びその暗号化並びに復号化方法 |
US7697681B2 (en) * | 2004-02-06 | 2010-04-13 | Nortel Networks Limited | Parallelizable integrity-aware encryption technique |
US20060023875A1 (en) * | 2004-07-30 | 2006-02-02 | Graunke Gary L | Enhanced stream cipher combining function |
WO2006112114A1 (ja) | 2005-03-31 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | データ暗号化装置及びデータ暗号化方法 |
JP4890976B2 (ja) * | 2005-08-31 | 2012-03-07 | キヤノン株式会社 | 暗号処理装置 |
RU2008125109A (ru) | 2005-11-23 | 2009-12-27 | Конинклейке Филипс Электроникс, Н.В. (Nl) | Многоканальное высокоскоростное шифрование и дешифрование |
US8036379B2 (en) * | 2006-03-15 | 2011-10-11 | Microsoft Corporation | Cryptographic processing |
US7428306B2 (en) * | 2006-04-18 | 2008-09-23 | International Business Machines Corporation | Encryption apparatus and method for providing an encrypted file system |
KR100922728B1 (ko) * | 2006-12-05 | 2009-10-22 | 한국전자통신연구원 | Aes 암복호화 장치 및 암복호화 방법 |
US8036377B1 (en) * | 2006-12-12 | 2011-10-11 | Marvell International Ltd. | Method and apparatus of high speed encryption and decryption |
CN101114903B (zh) * | 2007-03-05 | 2011-10-26 | 中兴通讯股份有限公司 | 一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法 |
US7752592B2 (en) * | 2007-10-10 | 2010-07-06 | International Business Machines Corporation | Scheduler design to optimize system performance using configurable acceleration engines |
US8194854B2 (en) | 2008-02-27 | 2012-06-05 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
-
2008
- 2008-02-27 US US12/038,071 patent/US8194854B2/en not_active Expired - Fee Related
-
2009
- 2009-02-26 JP JP2009043695A patent/JP5020987B2/ja not_active Expired - Fee Related
- 2009-02-27 EP EP09250544.5A patent/EP2096787B1/en not_active Not-in-force
- 2009-02-27 CN CN2009100083978A patent/CN101520966B/zh not_active Expired - Fee Related
- 2009-02-27 KR KR1020090017289A patent/KR101068367B1/ko active IP Right Grant
-
2012
- 2012-05-10 US US13/506,701 patent/US8600049B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101520966A (zh) | 2009-09-02 |
CN101520966B (zh) | 2013-06-12 |
KR20090092735A (ko) | 2009-09-01 |
US20090214026A1 (en) | 2009-08-27 |
EP2096787A2 (en) | 2009-09-02 |
EP2096787A3 (en) | 2010-12-01 |
EP2096787B1 (en) | 2015-09-23 |
US8600049B2 (en) | 2013-12-03 |
KR101068367B1 (ko) | 2011-09-28 |
US8194854B2 (en) | 2012-06-05 |
JP2009205161A (ja) | 2009-09-10 |
US20120224687A1 (en) | 2012-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5020987B2 (ja) | パラレル・モードでの先進暗号化標準(aes)の暗号化および復号を最適化する方法および装置 | |
JP6592804B2 (ja) | 新暗号規格(aes)向けの柔軟なアーキテクチャおよび命令 | |
US8879725B2 (en) | Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111114 |
|
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: 20120515 |
|
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: 20120613 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5020987 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150622 Year of fee payment: 3 |
|
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 |