Movatterモバイル変換


[0]ホーム

URL:


JP2006041684A - Encryption processing apparatus and encryption processing method - Google Patents

Encryption processing apparatus and encryption processing method
Download PDF

Info

Publication number
JP2006041684A
JP2006041684AJP2004215485AJP2004215485AJP2006041684AJP 2006041684 AJP2006041684 AJP 2006041684AJP 2004215485 AJP2004215485 AJP 2004215485AJP 2004215485 AJP2004215485 AJP 2004215485AJP 2006041684 AJP2006041684 AJP 2006041684A
Authority
JP
Japan
Prior art keywords
processing
data
encryption
descriptor
authentication
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.)
Pending
Application number
JP2004215485A
Other languages
Japanese (ja)
Inventor
Akira Tsuruga
彰 鶴賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony CorpfiledCriticalSony Corp
Priority to JP2004215485ApriorityCriticalpatent/JP2006041684A/en
Publication of JP2006041684ApublicationCriticalpatent/JP2006041684A/en
Pendinglegal-statusCriticalCurrent

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption processing apparatus and method capable of more efficiently carrying out parallel processing and consecutive processing for authentication processing and encryption processing in the case of accelerating various systems of the authentication processing and the encryption processing by means of hardware. <P>SOLUTION: A descriptor format including a field of instructing authentication processing, a field of instructing encryption processing, a field of instructing parallel processing of the authentication processing and the encryption processing, and a field of instructing the consecutive processing of the authentication processing and the encryption processing, and also including a field of instructing whether or not fraction data are used when processing object data instructed by a descriptor of a pre-stage are less than the processing unit of various encryption algorithms is applied to a DMA descriptor used for information whereby a DMAC 15 instructs transfer data to be processed from a data storage memory 12. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

Translated fromJapanese

本発明は、ハッシュアルゴリズムによる認証処理と共通鍵暗号による暗号化処理に加え、認証処理と暗号化処理の並列処理機能および連続処理機能を備えた暗号処理装置および暗号処理方法に関するものである。  The present invention relates to an encryption processing apparatus and an encryption processing method having a parallel processing function and a continuous processing function of authentication processing and encryption processing in addition to authentication processing using a hash algorithm and encryption processing using a common key encryption.

各種暗号処理の用途としてはメディアに格納されたコンテンツの復号や、ネットワークを介して送受信されるデータの暗号化/復号など、用途としては様々である(たとえば特許文献1参照)。  There are various uses for various encryption processes, such as decryption of contents stored in a medium and encryption / decryption of data transmitted / received via a network (for example, see Patent Document 1).

そして、各種暗号処理におけるアクセラレート方法は様々であるが、たとえばIPsec(IP Security Protocol)やSSL(Secure Socket Layer) / TLS(Transport Layer Security)に代表されるネットワークセキュリティプロトコルでは、主にペイロードに対しては、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)などの共通鍵暗号を用いた暗号化/復号処理と、MD5(Message Digest #5 )やSHA−1(Secure Hash Algorithm )などのハッシュアルゴリズムを用いた認証処理が義務づけられている。  There are various acceleration methods for various cryptographic processes. For example, network security protocols such as IPsec (IP Security Protocol) and SSL (Secure Socket Layer) / TLS (Transport Layer Security) are mainly used for payload. Encryption / decryption processing using common key encryption such as DES (Data Encryption Standard) and AES (Advanced Encryption Standard), and hash such as MD5 (Message Digest # 5) and SHA-1 (Secure Hash Algorithm) Authentication processing using an algorithm is obligatory.

また、ペイロードの送受信に対しては一定の通信速度を保証するQoS(Quality Of Service)を実現するために、これらの処理をアクセラレートするためにハードウェア処理を行うものがある。
さらには、暗号化処理と認証処理の連続処理や並列処理機能を実現させてアクセラレートする手段が取られる。
特開2003−273389号公報
In addition, in order to realize QoS (Quality Of Service) that guarantees a constant communication speed for transmission / reception of payloads, there is one that performs hardware processing to accelerate these processes.
Furthermore, a means for accelerating by realizing a continuous process and a parallel processing function of the encryption process and the authentication process is taken.
JP 2003-273389 A

しかし、SSL/TLSのパケット構成に代表されるように、暗号化対象となる領域と認証対象となる領域は一般的に異なっており、さらに、連続処理/並列処理を行うべき、処理の開始位置と終了位置に関しては、各種暗号アルゴリズムの処理単位で区切られていない場合がある。
ここで、各種暗号アルゴリズムの処理単位とは、DESの場合は8バイトの倍数、AESの場合は16バイトの倍数、MD5,SHA−1の場合は512バイトの倍数を示す。
However, as represented by the SSL / TLS packet configuration, the area to be encrypted and the area to be authenticated are generally different, and the processing start position where continuous / parallel processing should be performed. In some cases, the end position is not divided by the processing unit of various cryptographic algorithms.
Here, the processing unit of various cryptographic algorithms indicates a multiple of 8 bytes for DES, a multiple of 16 bytes for AES, and a multiple of 512 bytes for MD5 and SHA-1.

そのため、連続処理/並列処理の機能を有しているだけでは、様々なセキュリティプロトコルに対して、連続処理/並列処理を適応して、処理対象データに対して、1度のデータ読み込みですべて処理することができないという点で問題があった。  Therefore, if you only have the function of continuous processing / parallel processing, you can apply continuous processing / parallel processing to various security protocols and process all of the data to be processed by reading data once. There was a problem in that it could not be done.

本発明の目的は、認証処理と暗号化処理の様々な方式と、その方式をハードウェアにてアクセラレートする場合、認証処理と暗号化処理の並列処理および連続処理をより効率的に行うことが可能な暗号処理装置および暗号処理方法を提供することにある。  An object of the present invention is to perform various processes of authentication processing and encryption processing, and parallel processing and continuous processing of authentication processing and encryption processing more efficiently when the method is accelerated by hardware. It is an object of the present invention to provide a possible cryptographic processing apparatus and cryptographic processing method.

上記目的を達成するために、本発明の第1の観点は、ハッシュアルゴリズムによる認証処理と共通鍵暗号による暗号化処理に加え、認証処理と暗号化処理の並列処理機能および連続処理機能を備えた暗号処理装置であって、処理対象データを格納するデータ格納メモリと、ハッシュアルゴリズムによる認証処理を行うハッシュブロックと、共通鍵暗号による暗号化処理を行う共通鍵暗号ブロックと、上記データ格納メモリから処理すべき転送データを指示する情報であるディスクリプタに基づいて、上記データ格納メモリから上記ハッシュブロックおよび上記共通鍵暗号ブロックへのデータ転送を制御するメモリアクセスコントローラと、を有し、上記メモリアクセスコントローラが上記データ格納メモリから処理すべき転送データを指示するディスクリプタに、ハッシュアルゴリズムを用いた認証処理の指示と、共通鍵暗号アルゴリズムを用いた暗号化処理の指示に加え、認証処理と暗号化処理の並列実行処理の指示と、認証処理と暗号化処理の連続実行処理の指示が選択可能なディスクリプタフォーマットを含み、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを使用するか否かをディスクリプタにて指示できるディスクリプタフォーマットを含む。  In order to achieve the above object, the first aspect of the present invention includes a parallel processing function and a continuous processing function of authentication processing and encryption processing, in addition to authentication processing by hash algorithm and encryption processing by common key encryption. A data processing memory that stores data to be processed, a hash block that performs authentication processing using a hash algorithm, a common key encryption block that performs encryption processing using common key encryption, and processing from the data storage memory A memory access controller that controls data transfer from the data storage memory to the hash block and the common key encryption block based on a descriptor that is information indicating transfer data to be transferred, and the memory access controller Indicates the transfer data to be processed from the data storage memory In addition to the instruction for authentication processing using the hash algorithm and the instruction for encryption processing using the common key encryption algorithm, the descriptor includes instructions for parallel execution processing of authentication processing and encryption processing, and authentication processing and encryption processing. Whether or not to use the fraction data when the processing target data specified by the preceding descriptor contains less than the processing unit of various cryptographic algorithms, including the descriptor format that can be selected for continuous execution processing. Descriptor format that can be specified.

好適には、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを保持する手段と、上記端数データを連結して使用するためにデータアライメントを行う手段とを有する。  Preferably, when the processing target data specified by the descriptor in the preceding stage is less than the processing unit of various cryptographic algorithms, the data alignment is performed so that the fraction data is connected to the fraction data. Means for performing.

好適には、処理すべきデータが、認証処理が対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて認証処理の指示を指定する。  Preferably, when the data to be processed is subject to authentication processing, the descriptor specifies an instruction for authentication processing in addition to the transfer start position and transfer size.

好適には、処理すべきデータが、認証処理と暗号化処理の連続処理の対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて連続処理の指示を指定する。  Preferably, when the data to be processed is the target of continuous processing of authentication processing and encryption processing, the descriptor specifies a continuous processing instruction in addition to the transfer start position and transfer size.

好適には、前段のディスクリプタで指定した領域が認証アルゴリズムの処理単位に満たなかった場合でかつ連続処理においても当該端数データを連結して使用する場合、上記ディスクリプタでは連結の指示を指定する。  Preferably, when the area specified by the descriptor in the preceding stage is less than the processing unit of the authentication algorithm and the fractional data is used in a continuous process, the connection instruction is specified in the descriptor.

好適には、処理すべきデータが、暗号化処理の対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて暗号化処理の指示を指定する。  Preferably, when data to be processed is an object of encryption processing, the descriptor specifies an instruction for encryption processing in addition to the specification of the transfer start position and the transfer size.

好適には、前段のディスクリプタで指示した領域が暗号アルゴリズムの処理単位に満たなかった場合でかつ暗号化処理においても当該端数データを連結して使用する場合、上記ディスクリプタでは連結の指示を指定する。  Preferably, when the area indicated by the descriptor in the preceding stage is less than the processing unit of the encryption algorithm and the fraction data is used in the encryption process, the connection instruction is specified in the descriptor.

本発明の第2の観点は、ディスクリプタに基づいてデータ格納メモリから処理すべき転送データを指示し、ハッシュアルゴリズムによる認証処理と共通鍵暗号による暗号化処理に加え、認証処理と暗号化処理の並列処理および連続処理を行う暗号処理方法であって、上記ディスクリプタに、ハッシュアルゴリズムを用いた認証処理の指示と、共通鍵暗号アルゴリズムを用いた暗号化処理の指示に加え、認証処理と暗号化処理の並列実行処理の指示と、認証処理と暗号化処理の連続実行処理の指示が選択可能なディスクリプタフォーマットを含み、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを使用するか否かをディスクリプタにて指示できるディスクリプタフォーマットを含む。  The second aspect of the present invention instructs transfer data to be processed from the data storage memory based on the descriptor, and in addition to the authentication process using the hash algorithm and the encryption process using the common key encryption, the authentication process and the encryption process are performed in parallel. A cryptographic processing method that performs processing and continuous processing, in which, in addition to an instruction for authentication processing using a hash algorithm and an instruction for encryption processing using a common key encryption algorithm, the descriptor includes authentication processing and encryption processing When a parallel execution process instruction and a descriptor format that can select authentication process and encryption process continuous execution instruction are included, and the processing target data specified by the preceding descriptor does not satisfy the processing units of various cryptographic algorithms In addition, a descriptor field that can indicate whether or not to use the fraction data by the descriptor. Including the Matto.

本発明によれば、メモリアクセスコントローラがデータ格納メモリから処理すべき転送データを指示する情報となるディスクリプタに、認証処理を指示するフィールドと、暗号化処理を指示するフィールドと、認証処理と暗号化処理の並列処理を指示するフィールドと、認証処理と暗号化処理の連続処理を指示するフィールドを有するディスクリプタフォーマットになっており、さらに、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを使用するか否か指示するフィールドを有するディスクリプタフォーマットになっている。
このようなフォーマットを設けることにより、データ格納メモリに格納された全ての処理対象データのうち、認証処理のみに該当する処理対象データに対しては転送データ位置と転送データサイズと認証処理の指示を、また、暗号化処理のみに該当する処理対象データに対しては転送データ位置と転送データサイズと暗号処理の指示を、また、並列処理に該当する処理対象データに対しては転送データ位置と転送データサイズと並列処理の指示を、また、連続処理に該当する処理対象データに対しては転送データ位置と転送データサイズと連続処理の指示を、それぞれの処理対象データに対して指示する。
さらに、前段のディスクリプタで指示した処理対象データが、たとえばDESの処理を指示していて、かつ、DESの処理単位(8バイト)に満たないデータサイズを指示していた場合に、次段で認証処理と暗号化処理の並列処理を指示して、前段の端数データとの連結を指示することにより、並列処理であったとしても、DESの暗号化処理に関しては継続実行することと等価となる。
According to the present invention, the descriptor that is information indicating the transfer data to be processed from the data storage memory by the memory access controller, the field for instructing the authentication process, the field for instructing the encryption process, the authentication process, and the encryption The descriptor format has a field for instructing parallel processing of processing and a field for instructing continuous processing of authentication processing and encryption processing. Further, the processing target data instructed by the descriptor in the previous stage is processed by various cryptographic algorithms. When it is less than the unit, the descriptor format has a field for instructing whether or not to use the fraction data.
By providing such a format, the transfer data position, the transfer data size, and the instruction for the authentication process are given to the process target data corresponding only to the authentication process among all the process target data stored in the data storage memory. In addition, transfer data position, transfer data size, and instructions for encryption processing are processed for the processing target data corresponding only to encryption processing, and transfer data position and transfer are processed for processing target data corresponding to parallel processing. An instruction for data size and parallel processing is given to each processing target data, and for processing target data corresponding to continuous processing, a transfer data position, a transfer data size, and a continuous processing instruction are given to each processing target data.
Further, if the data to be processed indicated by the descriptor in the previous stage indicates, for example, a DES process and indicates a data size that is less than the DES processing unit (8 bytes), the next stage is authenticated. By instructing the parallel processing of the processing and the encryption processing and instructing the connection with the fraction data of the previous stage, even if it is a parallel processing, the DES encryption processing is equivalent to continuous execution.

また、ディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを保持する。そして、ディスクリプタにて端数データを連結して使用すると指示した場合に、その端数データと新たに転送されるデータを連結して使用するためにデータアライメントを行う。
このような手段によると、端数データを連結して使用する際に、新たに転送されるデータに対して、端数データのデータ長を加味してデータ格納メモリ上などで、ソフトウエア等で事前にアライメント処理をする必要が無くなる。
Further, when the processing target data indicated by the descriptor does not satisfy the processing unit of various cryptographic algorithms, the fraction data is held. When it is instructed that the fraction data is concatenated and used in the descriptor, data alignment is performed in order to concatenate and use the fraction data and the newly transferred data.
According to such means, when concatenating and using fraction data, the data length of the fraction data is added to the newly transferred data in advance on the data storage memory etc. by software etc. There is no need to perform alignment processing.

本発明によれば、ネットワークセキュリティプロトコルに代表される認証処理と暗号化処理の様々な方式と、その方式をハードウェアにてアクセラレートする場合、認証処理と暗号化処理の並列処理および連続処理をより効率的に行うことが可能となる利点がある。  According to the present invention, various methods of authentication processing and encryption processing represented by network security protocols, and when the method is accelerated by hardware, parallel processing and continuous processing of authentication processing and encryption processing are performed. There is an advantage that it can be performed more efficiently.

以下に、本発明の実施形態を図面に関連付けて説明する。  Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明に係る暗号処理装置の一実施形態を示すブロック図である。  FIG. 1 is a block diagram showing an embodiment of a cryptographic processing apparatus according to the present invention.

本実施形態に係る暗号処理装置10は、図1に示すように、CPU11、データ格納メモリ12、データバス13、イーサネット(登録商標)MAC(Ethernet(登録商標) MAC)14、ダイレクトメモリアクセスコントローラ(DMAC;Direct Memory Access Controller )15、第1ローカルバス(A)16、セレクタ回路17、データアライメント回路18、データバッファ19、ハッシュ処理ブロック20、セレクタ回路21、データアライメント回路22、データバッファ23、共通鍵暗号ブロック24、第2ローカルバス(B)25、および第3ローカルバス(C)26を有する。  As shown in FIG. 1, thecryptographic processing apparatus 10 according to the present embodiment includes aCPU 11, adata storage memory 12, adata bus 13, an Ethernet (registered trademark) MAC (Ethernet (registered trademark) MAC) 14, a direct memory access controller ( DMAC; Direct Memory Access Controller) 15, first local bus (A) 16,selector circuit 17,data alignment circuit 18,data buffer 19,hash processing block 20,selector circuit 21,data alignment circuit 22,data buffer 23, common It has akey encryption block 24, a second local bus (B) 25, and a third local bus (C) 26.

本実施形態の暗号処理装置10は、以下の特徴を有する。
DMAC15がデータ格納メモリ12から処理すべき転送データを指示する情報となるDMAディスクリプタに、認証処理を指示するフィールドと、暗号化処理を指示するフィールドと、認証処理と暗号化処理の並列処理を指示するフィールドと、認証処理と暗号化処理の連続処理を指示するフィールドを有するディスクリプタフォーマットになっており、さらに、前段のDMAディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを使用するか否か指示するフィールドを有するディスクリプタフォーマットになっている。
これにより、データ格納メモリ12に格納された全ての処理対象データのうち、認証処理のみに該当する処理対象データに対しては転送データ位置と転送データサイズと認証処理の指示を、また、暗号化処理のみに該当する処理対象データに対しては転送データ位置と転送データサイズと暗号処理の指示を、また、並列処理に該当する処理対象データに対しては転送データ位置と転送データサイズと並列処理の指示を、また、連続処理に該当する処理対象データに対しては転送データ位置と転送データサイズと連続処理の指示を、それぞれの処理対象データに対して指示可能としている。
さらに、前段のディスクリプタで指示した処理対象データが、たとえばDESの処理を指示していて、かつ、DESの処理単位(8バイト)に満たないデータサイズを指示していた場合に、次段で認証処理と暗号化処理の並列処理を指示して、前段の端数データとの連結を指示することにより、並列処理であったとしても、DESの暗号化処理に関しては継続実行することと等価となる。
Thecryptographic processing apparatus 10 of this embodiment has the following features.
A DMA descriptor serving as information for instructing transfer data to be processed from thedata storage memory 12 by theDMAC 15 instructs a field for instructing authentication processing, a field for instructing encryption processing, and parallel processing of authentication processing and encryption processing. And a descriptor format having a field for instructing continuous processing of authentication processing and encryption processing, and the processing target data indicated by the preceding DMA descriptor did not satisfy the processing units of various cryptographic algorithms. In this case, the descriptor format has a field indicating whether to use the fraction data.
As a result, among all the processing target data stored in thedata storage memory 12, for the processing target data corresponding only to the authentication processing, the transfer data position, the transfer data size, and the authentication processing instruction are encrypted. For processing target data corresponding to processing only, transfer data position, transfer data size, and encryption processing instructions, and for processing target data corresponding to parallel processing, transfer data position, transfer data size and parallel processing In addition, for the processing target data corresponding to the continuous processing, the transfer data position, the transfer data size, and the continuous processing instruction can be instructed to each processing target data.
Further, if the data to be processed indicated by the descriptor in the previous stage indicates, for example, a DES process and indicates a data size that is less than the DES processing unit (8 bytes), the next stage is authenticated. By instructing the parallel processing of the processing and the encryption processing and instructing the connection with the fraction data of the previous stage, even if it is a parallel processing, the DES encryption processing is equivalent to continuous execution.

また、DMAディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを保持する記憶手段と、ディスクリプタにて端数データを連結して使用すると指示した場合に、その端数データと新たに転送されるデータを連結して使用するためにデータアライメントを行う手段を有する。
これにより、端数データを連結して使用する際に、新たに転送されるデータに対して、端数データのデータ長を加味してデータ格納メモリ上などで、ソフトウエア等で事前にアライメント処理をする必要を無くしている。
Also, when the processing target data specified by the DMA descriptor is less than the processing unit of various cryptographic algorithms, the storage means for holding the fractional data and the descriptor instructing the fractional data to be used are used. And means for performing data alignment so that the fractional data and the newly transferred data can be used concatenated.
As a result, when the fraction data is concatenated and used, alignment processing is performed in advance on the data storage memory or the like with respect to the newly transferred data by adding the data length of the fraction data. Eliminates need.

本実施形態の暗号処理装置10においては、データ格納メモリ12が、データバス13に接続され、同じくデータバス13に接続されたCPU11からの指示により、認証処理および暗号化処理を行うための処理対象データと、処理対象データの格納先と処理方法を指示するDMAディスクリプタが、データ格納メモリ12に格納される。
また、同じくデータバス13に接続されたDMAC15は、データ格納メモリ12に格納された処理すべき対象データの転送を行う。
In thecryptographic processing apparatus 10 of the present embodiment, thedata storage memory 12 is connected to thedata bus 13 and is a processing target for performing authentication processing and encryption processing according to instructions from theCPU 11 that is also connected to thedata bus 13. The data, the DMA descriptor indicating the storage destination and processing method of the data to be processed are stored in thedata storage memory 12.
Similarly, the DMAC 15 connected to thedata bus 13 transfers target data stored in thedata storage memory 12 to be processed.

ハッシュブロック20はデータバッファ19に接続され、データバッファ19はハッシュアルゴリズムの処理単位になるまでデータを保持する。
さらに、データバッファ19はデータアライメント回路18に接続され、データアライメント回路18はデータバッファ19内に端数データが保持されていた場合に、それと連結するためのアライメント処理を行う。
さらに、データアライメント回路18はセレクタ回路17に接続され、セレクタ回路17は、第1ローカルバス(A)16に接続されているDMAC15の出力データか、第2ローカルバス(B)25に接続されている共通鍵暗号ブロック24の出力データのいずれかを選択してデータアライメント回路18に入力させる。
Thehash block 20 is connected to thedata buffer 19, and thedata buffer 19 holds data until it becomes a processing unit of the hash algorithm.
Further, thedata buffer 19 is connected to thedata alignment circuit 18, and thedata alignment circuit 18 performs alignment processing for connecting to the fraction data when thedata buffer 19 holds the data.
Further, thedata alignment circuit 18 is connected to theselector circuit 17, and theselector circuit 17 is connected to the output data of theDMAC 15 connected to the first local bus (A) 16 or to the second local bus (B) 25. One of the output data of the commonkey encryption block 24 is selected and input to thedata alignment circuit 18.

共通鍵暗号ブロック24はデータバッファ23に接続され、データバッファ23は暗号アルゴリズムの処理単位になるまでデータを保持する。
さらに、データバッファ23はデータアライメント回路22に接続され、データアライメント回路22はデータバッファ23内に端数データが保持されていた場合に、それと連結するためのアライメント処理を行う。
データアライメント回路22には第1ローカルバス(A)16に接続されているDMAC15の出力データが入力される。
セレクタ回路21は、ハッシュブロック20と共通鍵暗号ブロック24の出力が接続され、それぞれのモジュールでの演算結果のいずれかを選択して、その出力はDMAC15に入力される。
イーサネットMAC(Ethernet MAC)14はデータバス13に接続され、認証処理や暗号処理を終えた処理データがDMAC15の出力として、イーサネットMAC(Ethernet MAC)14に供給される。
The commonkey encryption block 24 is connected to thedata buffer 23, and thedata buffer 23 holds data until it becomes a processing unit of the encryption algorithm.
Further, thedata buffer 23 is connected to thedata alignment circuit 22, and thedata alignment circuit 22 performs alignment processing for connecting to the fraction data when thedata buffer 23 holds the data.
The output data of theDMAC 15 connected to the first local bus (A) 16 is input to thedata alignment circuit 22.
Theselector circuit 21 is connected to the outputs of thehash block 20 and the commonkey encryption block 24, selects one of the operation results in each module, and the output is input to theDMAC 15.
An Ethernet MAC (Ethernet MAC) 14 is connected to thedata bus 13, and processed data that has undergone authentication processing and encryption processing is supplied to the Ethernet MAC (Ethernet MAC) 14 as an output of theDMAC 15.

以下に、上記構成による動作をさらに詳細に説明する。  Hereinafter, the operation of the above configuration will be described in more detail.

図2は、一般的なDMAディスクリプタのリンクの様子と、認証処理、暗号化処理、並列処理、連続処理を行うために必要な情報を格納する方法を示す図である。
ここで示す例は一般的にはスキャッタ・ギャザ方式と呼ばれ、メモリ上に散在するデータを取り込むためにDMAディスクリプタを用い、DMAディスクリプタの内容に従い、取り込むべきデータを処理するものである。
FIG. 2 is a diagram illustrating a general DMA descriptor link state and a method of storing information necessary for performing authentication processing, encryption processing, parallel processing, and continuous processing.
The example shown here is generally called a scatter / gather method, which uses a DMA descriptor to capture data scattered on a memory, and processes the data to be captured in accordance with the contents of the DMA descriptor.

図2のDMAディスクリプタA1には、処理すべきデータA4の情報が格納されている。ここでは例として、第11ワード目が処理すべきデータA4の先頭アドレス、第2ワード目が処理すべきデータA4の長さ、第4ワード目が次に処理すべきDMAディスクリプタA2の先頭アドレスを示す構成例となっている。
同様に、DMAディスクリプタA2は処理すべきデータA5に対応し、DMAディスクリプタA3は処理すべきデータA6に対応している。
ここでは、DMAディスクリプタA1,A2,A3の第3ワード目は他の処理情報とは重なってはいない。このため、その第3ワード目に、認証処理、暗号化処理、並列処理、連続処理を行うために必要な情報を格納する領域として割り当てる。
また、第3ワード目には、端数データを使用するか否か(連結/非連結)を指示する情報も併せて割り当てる。
In the DMA descriptor A1 of FIG. 2, information of data A4 to be processed is stored. Here, as an example, the eleventh word is the start address of data A4 to be processed, the second word is the length of data A4 to be processed, and the fourth word is the start address of DMA descriptor A2 to be processed next. It is a configuration example shown.
Similarly, the DMA descriptor A2 corresponds to the data A5 to be processed, and the DMA descriptor A3 corresponds to the data A6 to be processed.
Here, the third word of the DMA descriptors A1, A2, and A3 does not overlap with other processing information. For this reason, the third word is assigned as an area for storing information necessary for performing authentication processing, encryption processing, parallel processing, and continuous processing.
In addition, information indicating whether or not to use fraction data (concatenated / non-concatenated) is also allocated to the third word.

処理すべきデータが、A4で示される認証処理が対象となる領域の場合、DMAディスクリプタでは転送開始位置と転送サイズの指定に加えて認証処理の指示を指定する。
処理すべきデータが、A5で示される認証処理と暗号化処理の連続処理が対象となる領域の場合、DMAディスクリプタでは転送開始位置と転送サイズの指定に加えて連続処理の指示を指定する。
また、前段のDMAディスクリプタで指定した領域が認証アルゴリズムの処理単位に満たなかった場合でかつ連続処理においてもその端数データを連結して使用する場合、DMAディスクリプタには連結の指示を指定する。
処理すべきデータが、A6で示される暗号化処理の対象となる領域の場合、DMAディスクリプタでは転送開始位置と転送サイズの指定に加えて暗号化処理の指示を指定する。
また、前段のDMAディスクリプタで指示した領域が暗号アルゴリズムの処理単位に満たなかった場合でかつ暗号化処理においてもその端数データを連結して使用する場合、DMAディスクリプタには連結の指示を指定する。
When the data to be processed is an area targeted for the authentication process indicated by A4, the DMA descriptor specifies an authentication process instruction in addition to the transfer start position and transfer size.
If the data to be processed is an area subject to continuous processing of authentication processing and encryption processing indicated by A5, the DMA descriptor specifies a continuous processing instruction in addition to the transfer start position and transfer size.
Also, when the area specified by the preceding DMA descriptor is less than the processing unit of the authentication algorithm and when the fractional data is used in a continuous process, a connection instruction is specified for the DMA descriptor.
If the data to be processed is an area to be encrypted as indicated by A6, the DMA descriptor specifies an instruction for the encryption process in addition to the transfer start position and transfer size.
Further, when the area designated by the preceding DMA descriptor is less than the processing unit of the encryption algorithm and when the fractional data is concatenated and used in the encryption processing, a concatenation instruction is designated for the DMA descriptor.

図3は、実例として、TLS送信処理時を例にして、平文状態の処理対象データに対して本発明を用いて暗号化および認証処理を行う手順を示す図である。
具体的には、図3は本実施の形態の実例を、TLS送信処理時の場合を例にとり、認証処理の対象となるデータ領域と、認証処理と暗号化処理の並列処理の対象となるデータ領域と、暗号化処理の対象となるデータ領域を示し、連結処理に該当するデータ領域と、データアライメントされる様子を示した説明図である。
FIG. 3 is a diagram showing a procedure for performing encryption and authentication processing on the processing target data in the plaintext state by using the present invention, taking the time of TLS transmission processing as an example.
Specifically, FIG. 3 is an example of the present embodiment, taking the case of TLS transmission processing as an example, the data area that is subject to authentication processing, and the data that is subject to parallel processing of authentication processing and encryption processing. It is explanatory drawing which showed the area | region and the data area used as the object of an encryption process, and the mode of data alignment with the data area applicable to a connection process.

TLSPlaintextからTLSCiphertextへの変換は、まず認証アルゴリズムによりMACを生成し、次に暗号化を行うという手順となる。
MACはシーケンス番号(sequence numbe;コネクション端点で保持される内部変数で送信パケットには含まれない)とTLSPlaintextのタイプ(type), バージョン(version), 長さ(length), フラグメント(fragment) を結合したデータに対してHMAC(Hashing Message Authentication Code)を掛けることで生成する。
暗号化は、TLSPlaintextのフラグメント(fragment)と先に生成したMACに、データの長さが暗号化アルゴリズムにおけるブロック長の倍数となるようにパディングを加えた領域に対して行う。パディングの最後には、パディング自身の長さを示す1バイトのデータが付加される。
The conversion from TLSPlaintext to TLSCiphertext is a procedure in which a MAC is first generated by an authentication algorithm and then encrypted.
MAC combines the sequence number (sequence numbe; an internal variable held at the connection end point and not included in the transmitted packet) and the TLSPlaintext type (type), version (version), length (length), and fragment (fragment) It is generated by applying HMAC (Hashing Message Authentication Code) to the processed data.
The encryption is performed on the TLSPlaintext fragment and the previously generated MAC padded so that the data length is a multiple of the block length in the encryption algorithm. At the end of the padding, 1-byte data indicating the length of the padding itself is added.

図3は、暗号アルゴリズムとしてDES-CBC、認証アルゴリズムとしてHMAC-MD5を用いて送信処理をおこなうときのディスクリプタ設定と、各ディスクリプタによってメインメモリにセットされたデータが処理されてゆく様子を示している。
DESのCBCモードで必要となるIVと鍵、およびHMACモードで必要となる鍵は、ここでは予めセットされていることを前提としている。
この例では、ディスクリプタは4つ使用している。メインメモリには、TLSCiphertextの雛型となるデータを用意する。また、シーケンス番号(sequence number )は送信データの一部ではないが、認証処理の計算の一部として使用されるので併せて用意しておく。
FIG. 3 shows descriptor settings when transmission processing is performed using DES-CBC as an encryption algorithm and HMAC-MD5 as an authentication algorithm, and how data set in the main memory is processed by each descriptor. .
Here, it is assumed that the IV and key required in the DES CBC mode and the key required in the HMAC mode are set in advance.
In this example, four descriptors are used. In the main memory, prepare the data that becomes the template of TLSCiphertext. The sequence number is not part of the transmission data, but is prepared as it is used as part of the calculation of the authentication process.

ディスクリプタDSPT1の処理では、シーケンス番号(sequence number ),タイプ(type), バージョン(version),長さ(length)に対して、HMAC−MD5による認証処理を指示する。これにより、DMA転送されるデータDT1〜データDT9は、ハッシュブロックに入力される。  In the processing of the descriptor DSPT1, authentication processing by the HMAC-MD5 is instructed with respect to the sequence number, type, version, and length. As a result, the data DT1 to DT9 that are DMA-transferred are input to the hash block.

次に、ディスクリプタDSPT2の処理では、fragmentに対して、HMAC-MD5による認証処理とDES−CBCによる暗号化処理の並列処理を指示する。
TLSでは、認証アルゴリズムによりMACを生成し、次に暗号化を行うという手順となるため、並列処理を指示する。
これにより、DMA転送されるデータDT10〜データDT36は、ハッシュブロックと暗号ブロックの双方に入力される。
ここで、前段のディスクリプタDSPT1で指示した処理対象データは、MD5の処理単位である512バイトの倍数ではないため、ディスクリプタDSPT2では端数データの使用(連結)を指示する。
これにより、ハッシュブロック入力には、保持している端数データとアライメント回路18によりデータアライメントされたデータが入力される。
Next, in the processing of the descriptor DSPT2, the fragment is instructed to perform parallel processing of authentication processing by HMAC-MD5 and encryption processing by DES-CBC.
In TLS, a MAC is generated by an authentication algorithm and then encrypted, so that parallel processing is instructed.
As a result, the data DT10 to data DT36 that are DMA-transferred are input to both the hash block and the encryption block.
Here, since the processing target data instructed by the descriptor DSPT1 in the preceding stage is not a multiple of 512 bytes that is a processing unit of MD5, the descriptor DSPT2 instructs to use (concatenate) fractional data.
As a result, the fraction data that is held and the data that is data-aligned by thealignment circuit 18 are input to the hash block input.

次に、ディスクリプタDSPT3の処理では、ハッシュ計算結果を格納する定領域(MAC)に対して、通常のデータ転送(図3ではコピーモードと記す)を指示する。これによりハッシュ演算結果がデータDT37〜データDT52の領域にセットされる。  Next, in the processing of the descriptor DSPT3, normal data transfer (indicated as copy mode in FIG. 3) is instructed to the constant area (MAC) storing the hash calculation result. As a result, the hash calculation result is set in the area of data DT37 to data DT52.

次に、ディスクリプタDSPT4の処理では、MAC, padding, pad len に対して、DES−CBCによる暗号化処理を指示する。
これにより、DMA転送されるデータDT37〜データDT57は、暗号ブロックに入力される。ここで、前段のディスクリプタ2で指示した処理対象データは、DESの処理単位である8バイトの倍数ではないため、ディスクリプタDSPT4では端数データの使用(連結)を指示する。
これにより、暗号ブロック入力には、保持している端数データとアライメント回路22によりデータアライメントされたデータが入力される。
Next, in the process of the descriptor DSPT4, an encryption process by DES-CBC is instructed to MAC, padding, and pad len.
As a result, the data DT37 to data DT57 to be DMA-transferred are input to the encryption block. Here, since the processing target data instructed by thedescriptor 2 in the preceding stage is not a multiple of 8 bytes which is a DES processing unit, the descriptor DSPT4 instructs to use (concatenate) fractional data.
As a result, the fraction data that is held and the data that is data-aligned by thealignment circuit 22 are input to the encryption block input.

これら一連の処理により、一つの送信データの処理が完了する。処理済みのデータは、たとえば、図1に示すブロック図のイーサネットMAC(Ethernet MAC)モジュール14内に有するFIFOやRAM等のデータ格納メモリに対して順次DMA転送することにより、順次イーサネット(Ethernet)から送出可能となる。  With this series of processing, processing of one transmission data is completed. The processed data is sequentially transferred from the Ethernet (Ethernet) by sequentially transferring the data to a data storage memory such as a FIFO or RAM in the Ethernet MAC (Ethernet MAC)module 14 of the block diagram shown in FIG. Can be sent out.

図4は、実例として、IPsec ESP送信処理時を例にして、平文状態の処理対象データに対して本発明を用いて暗号化および認証処理を行う手順を示す図である。
具体的には、図4は本実施の形態の実例を、IPsec ESP送信処理時の場合を例にとり、認証処理の対象となるデータ領域と、認証処理と暗号化処理の連続処理の対象となるデータ領域と、暗号化処理の対象となるデータ領域を示し、連結処理に該当するデータ領域と、データアライメントされる様子を示した説明図である。
FIG. 4 is a diagram showing a procedure for performing encryption and authentication processing using plaintext state processing target data by using the present invention, taking the case of IPsec ESP transmission processing as an example.
Specifically, FIG. 4 is an example of the present embodiment, taking the case of IPsec ESP transmission processing as an example, and the data area that is subject to authentication processing, and the subject of continuous processing of authentication processing and encryption processing. It is explanatory drawing which showed the data area and the data area used as the object of an encryption process, and the mode of data alignment corresponding to the data area applicable to a connection process.

IPsec ESPにおけるESPパケットの生成は、まず暗号化アルゴリズムによりペイロードデータを暗号化し、次にESPヘッダと暗号化を行なったペイロードデータに対してMACを生成するという手順となる。
ESPヘッダはSPIとシーケンス番号で構成される。また、CBCモードの暗号化アルゴリズムを用いた場合は、ESPヘッダとペイロードデータの間にIVを入れる必要がある。
暗号化は、ペイロードとパディング、パディング長、次ヘッダ番号を結合したデータに対して暗号化を行う。
認証処理は、ESPヘッダ(SPIとシーケンス番号)とIVと暗号化データに対してHMAC(Hashing Message Authentication Code)を掛けることで生成し、ハッシュ計算結果は認証データとして、暗号化データの次に付加される。
The generation of an ESP packet in IPsec ESP is a procedure in which payload data is first encrypted by an encryption algorithm, and then MAC is generated for the ESP header and encrypted payload data.
The ESP header is composed of an SPI and a sequence number. Further, when the CBC mode encryption algorithm is used, it is necessary to insert IV between the ESP header and the payload data.
Encryption is performed on data obtained by combining the payload, padding, padding length, and next header number.
The authentication process is generated by multiplying the ESP header (SPI and sequence number), IV, and encrypted data by HMAC (Hashing Message Authentication Code), and the hash calculation result is added as authentication data next to the encrypted data. Is done.

図4は、暗号アルゴリズムとしてDES−CBC、認証アルゴリズムとしてHMAC−MD5を用いて送信処理を行うときのディスクリプタ設定と、各ディスクリプタによってメインメモリにセットされたデータが処理されてゆく様子を示している。  FIG. 4 shows descriptor settings when transmission processing is performed using DES-CBC as an encryption algorithm and HMAC-MD5 as an authentication algorithm, and how data set in the main memory is processed by each descriptor. .

DES−CBCモードで必要となるIVと鍵、およびHMACモードで必要となる鍵は、ここでは予めセットされていることを前提としている。
この例では、ディスクリプタを4つ使用している。メインメモリには、ESPヘッダ(SPIとシーケンス番号)、IV、ペイロード、パディング、パディング長、次ヘッダ番号を用意しておく。
Here, it is assumed that the IV and key required in the DES-CBC mode and the key required in the HMAC mode are set in advance.
In this example, four descriptors are used. In the main memory, an ESP header (SPI and sequence number), IV, payload, padding, padding length, and next header number are prepared.

ディスクリプタDSPT1の処理では、ESPヘッダ(SPIとシーケンス番号)とIVに対して、HMAC−MD5による認証処理を指示する。
これにより、DMA転送されるデータDT1〜データDT16は、暗号ブロックに入力される。
In the process of the descriptor DSPT1, an authentication process by the HMAC-MD5 is instructed to the ESP header (SPI and sequence number) and IV.
Thereby, the data DT1 to DT16 to be DMA-transferred are input to the encryption block.

次に、ディスクリプタDSPT2の処理では、ペイロード、パディング、パディング長、次ヘッダ番号に対して、HMAC−MD5による認証処理とDES−CBCによる暗号化処理の連続処理を指示する。
IPsec ESPでは、暗号化を行った後、認証アルゴリズムにより認証データを生成するという手順となるため、連続処理を指示する。
これにより、DMA転送されるデータDT17〜データDT52は、最初に暗号ブロックに入力され、暗号化されたデータが続けてハッシュブロックに入力される。
ここで、前段のディスクリプタDSPT1で指示した処理対象データは、MD5の処理単位である512バイトの倍数ではないため、ディスクリプタDSPT2では端数データの使用(連結)を指示する。
これにより、ハッシュブロック入力には、保持している端数データとアライメント回路18によりデータアライメントされたデータが入力される。
Next, in the processing of the descriptor DSPT2, for the payload, padding, padding length, and next header number, a continuous process of authentication processing by HMAC-MD5 and encryption processing by DES-CBC is instructed.
Since IPsec ESP has a procedure of generating authentication data by an authentication algorithm after encryption, continuous processing is instructed.
Thus, the data DT17 to DT52 to be DMA-transferred are first input to the encryption block, and the encrypted data is subsequently input to the hash block.
Here, since the processing target data instructed by the descriptor DSPT1 in the preceding stage is not a multiple of 512 bytes that is a processing unit of MD5, the descriptor DSPT2 instructs to use (concatenate) fractional data.
As a result, the fraction data that is held and the data that is data-aligned by thealignment circuit 18 are input to the hash block input.

次に、ディスクリプタDSPT3の処理では、ハッシュ計算結果を格納する所定領域(認証データ)に対して、通常のデータ転送(図4ではコピーモードと記す)を指示する。
これにより、ハッシュ演算結果がデータDT53〜データDT64の領域にセットされる。
Next, in the processing of the descriptor DSPT3, normal data transfer (indicated as copy mode in FIG. 4) is instructed to a predetermined area (authentication data) for storing the hash calculation result.
As a result, the hash calculation result is set in the area of data DT53 to data DT64.

これら一連の処理により、一つの送信データの処理が完了する。処理済みのデータは、たとえば、図1に示すブロック図のイーサネットMAC( Ethernet MAC )モジュール14内に有するFIFOやRAM等のデータ格納メモリに対して順次DMA転送することにより、順次イーサネット(Ethernet)から送出可能となる。  With this series of processing, processing of one transmission data is completed. The processed data is sequentially transferred from the Ethernet (Ethernet) by sequentially transferring the data to a data storage memory such as a FIFO or RAM in the Ethernet MAC (Ethernet MAC)module 14 of the block diagram shown in FIG. Can be sent out.

ここで取り上げた実例では、暗号化アルゴリズムはDESを用いる例を示しているが、使用する暗号アルゴリズムはAESなどの他のアルゴリズムであっても構わない。
他のアルゴリズムを適応される場合は、たとえばAESの場合は処理単位が16バイトのため図1のデータバッファ23は16バイト分保持させれば良い。
同様に、ハッシュアルゴリズムはMD5を用いる例を示しているが、使用するハッシュアルゴリズムはSHA−1などの他のアルゴリズムであっても構わない。
In the example taken up here, an example in which the encryption algorithm uses DES is shown, but the encryption algorithm to be used may be another algorithm such as AES.
When other algorithms are applied, for example, in the case of AES, since the processing unit is 16 bytes, thedata buffer 23 in FIG.
Similarly, although the hash algorithm shows an example using MD5, the hash algorithm used may be another algorithm such as SHA-1.

以上説明したように、本実施形態によれば、DMAC15がデータ格納メモリ12から処理すべき転送データを指示する情報となるDMAディスクリプタに、認証処理を指示するフィールドと、暗号化処理を指示するフィールドと、認証処理と暗号化処理の並列処理を指示するフィールドと、認証処理と暗号化処理の連続処理を指示するフィールドを有するディスクリプタフォーマットになっており、さらに、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを使用するか否か指示するフィールドを有するディスクリプタフォーマットになっているため、データ格納メモリに格納された処理対象データに対して、対応する処理内容(認証処理、暗号化処理、並列処理、連続処理)と転送データ位置および転送サイズをそれぞれ指定することが可能となる。
さらに、前段のディスクリプタで指示した処理対象データが、例えばDESの処理を指示していて、かつ、DESの処理単位(8バイト)に満たないデータサイズを指示していた場合に、次段で認証処理と暗号化処理の並列処理を指示して、前段の端数データとの連結を指示することにより、並列処理であったとしても、DESの暗号化処理に関しては継続実行することと等価の動作になり、一回のデータ読み込みで処理ができ、バス使用効率の向上、および、QoS実現の効果が見込まれる。
As described above, according to the present embodiment, the field for instructing the authentication process and the field for instructing the encryption process in the DMA descriptor serving as information indicating the transfer data to be processed by theDMAC 15 from thedata storage memory 12. And a descriptor format having a field for instructing parallel processing of authentication processing and encryption processing, and a field for instructing continuous processing of authentication processing and encryption processing. However, when it is less than the processing unit of various cryptographic algorithms, the descriptor format has a field for instructing whether or not to use the fraction data, so that the processing target data stored in the data storage memory , Corresponding processing contents (authentication processing, encryption processing, parallel processing , It is possible to specify continuous process) and the transfer data position and the transfer size, respectively.
Furthermore, if the data to be processed specified by the descriptor in the previous stage indicates, for example, DES processing and indicates a data size that is less than the DES processing unit (8 bytes), authentication is performed in the next stage. By instructing the parallel processing of the processing and the encryption processing and instructing the connection with the fractional data of the previous stage, even if the processing is parallel processing, the DES encryption processing is equivalent to the continuous execution. As a result, processing can be performed with a single data read, and the bus use efficiency can be improved and QoS can be realized.

ディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、その端数データを保持する記憶手段と、ディスクリプタにて端数データを連結して使用すると指示した場合に、その端数データと新たに転送されるデータを連結して使用するためにデータアライメントを行う手段を有しているため、上記効果に加えて、端数データを連結して使用する際に、新たに転送されるデータに対して、端数データのデータ長を加味してソフトウエア等で事前にアライメント処理をする必要が無くなるという利点がある。  When the processing target data specified by the descriptor is less than the processing unit of various cryptographic algorithms, the storage means that holds the fractional data and the fractional data when the descriptor specifies that the fractional data should be used in conjunction with the descriptor Since there is means for performing data alignment in order to concatenate and use data and newly transferred data, in addition to the above effects, new data is transferred when fractional data is concatenated and used. There is an advantage that it is not necessary to perform alignment processing in advance by software or the like in consideration of the data length of the fraction data.

本発明の一実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of one embodiment of this invention.一般的なDMAディスクリプタのリンクの様子と、暗号化処理/認証処理/並列処理/連続処理、および端数データの連結処理を行うために必要な情報を格納する方法を示した説明図である。It is explanatory drawing which showed the method of storing the information required in order to perform the state of a general DMA descriptor link, and encryption processing / authentication processing / parallel processing / continuous processing and fraction data concatenation processing.本実施の形態の実例を、TLS送信処理時の場合を例にして示した説明図である。It is explanatory drawing which showed the example at the time of the TLS transmission process as an example of the actual example of this Embodiment.本実施の形態の実例を、IPsec ESP送信処理時の場合を例にして示した説明図である。It is explanatory drawing which showed the example of this Embodiment using the case at the time of an IPsec ESP transmission process as an example.

符号の説明Explanation of symbols

10…暗号処理装置、11…CPU、12…データ格納メモリ、13…データバス、14…イーサネットMAC(Ethernet MAC)、15…DMAC、16…第1ローカルバス(A)、17…セレクタ回路、18…データアライメント回路、19…データバッファ、20…ハッシュ処理ブロック、21…セレクタ回路、22…データアライメント回路、23…データバッファ、24…共通鍵暗号ブロック、25…第2ローカルバス(B)、26…第3ローカルバス(C)。
DESCRIPTION OFSYMBOLS 10 ... Encryption processing apparatus, 11 ... CPU, 12 ... Data storage memory, 13 ... Data bus, 14 ... Ethernet MAC (Ethernet MAC), 15 ... DMAC, 16 ... 1st local bus (A), 17 ... Selector circuit, 18 Data alignment circuit, 19 Data buffer, 20 Hash processing block, 21 Selector circuit, 22 Data alignment circuit, 23 Data buffer, 24 Common key encryption block, 25 Second local bus (B), 26 ... Third local bus (C).

Claims (8)

Translated fromJapanese
ハッシュアルゴリズムによる認証処理と共通鍵暗号による暗号化処理に加え、認証処理と暗号化処理の並列処理機能および連続処理機能を備えた暗号処理装置であって、
処理対象データを格納するデータ格納メモリと、
ハッシュアルゴリズムによる認証処理を行うハッシュブロックと、
共通鍵暗号による暗号化処理を行う共通鍵暗号ブロックと、
上記データ格納メモリから処理すべき転送データを指示する情報であるディスクリプタに基づいて、上記データ格納メモリから上記ハッシュブロックおよび上記共通鍵暗号ブロックへのデータ転送を制御するメモリアクセスコントローラと、を有し、
上記メモリアクセスコントローラが上記データ格納メモリから処理すべき転送データを指示するディスクリプタに、ハッシュアルゴリズムを用いた認証処理の指示と、共通鍵暗号アルゴリズムを用いた暗号化処理の指示に加え、認証処理と暗号化処理の並列実行処理の指示と、認証処理と暗号化処理の連続実行処理の指示が選択可能なディスクリプタフォーマットを含み、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを使用するか否かをディスクリプタにて指示できるディスクリプタフォーマットを含む
暗号処理装置。
In addition to the authentication process using the hash algorithm and the encryption process using the common key encryption, the encryption processing apparatus includes a parallel processing function and a continuous processing function of the authentication process and the encryption process,
A data storage memory for storing data to be processed;
A hash block for performing authentication processing by a hash algorithm;
A common key cipher block that performs encryption processing using a common key cipher, and
A memory access controller that controls data transfer from the data storage memory to the hash block and the common key encryption block based on a descriptor that is information indicating transfer data to be processed from the data storage memory. ,
In addition to an instruction for an authentication process using a hash algorithm and an instruction for an encryption process using a common key encryption algorithm, a descriptor indicating the transfer data to be processed by the memory access controller from the data storage memory, and an authentication process It includes a descriptor format that allows selection of instructions for parallel execution processing of encryption processing and instructions for continuous execution processing of authentication processing and encryption processing, and the data to be processed specified by the descriptor in the previous stage is the processing unit of various cryptographic algorithms. A cryptographic processing apparatus including a descriptor format that can indicate, with a descriptor, whether or not to use the fractional data if not satisfied.
前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを保持する手段と、
上記端数データを連結して使用するためにデータアライメントを行う手段と
を有する請求項1記載の暗号処理装置。
Means for holding the fractional data when the processing target data instructed by the descriptor in the previous stage is less than the processing unit of various cryptographic algorithms;
The cryptographic processing apparatus according to claim 1, further comprising means for performing data alignment in order to connect and use the fraction data.
処理すべきデータが、認証処理が対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて認証処理の指示を指定する
請求項1記載の暗号処理装置。
The cryptographic processing apparatus according to claim 1, wherein when the data to be processed is subject to authentication processing, the descriptor specifies an instruction for authentication processing in addition to specifying a transfer start position and a transfer size.
処理すべきデータが、認証処理と暗号化処理の連続処理の対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて連続処理の指示を指定する
請求項1記載の暗号処理装置。
The cryptographic processing apparatus according to claim 1, wherein when the data to be processed is a target of continuous processing of authentication processing and encryption processing, the descriptor specifies a continuous processing instruction in addition to specifying a transfer start position and a transfer size. .
前段のディスクリプタで指定した領域が認証アルゴリズムの処理単位に満たなかった場合でかつ連続処理においても当該端数データを連結して使用する場合、上記ディスクリプタでは連結の指示を指定する
請求項1記載の暗号処理装置。
The cipher according to claim 1, wherein when the area specified by the descriptor in the preceding stage is less than the processing unit of the authentication algorithm and the fraction data is used in the continuous processing, the connection instruction is specified in the descriptor. Processing equipment.
処理すべきデータが、暗号化処理の対象となる場合、上記ディスクリプタでは転送開始位置と転送サイズの指定に加えて暗号化処理の指示を指定する
請求項1記載の暗号処理装置。
The cryptographic processing apparatus according to claim 1, wherein when the data to be processed is a target of encryption processing, the descriptor specifies an instruction for encryption processing in addition to designation of a transfer start position and a transfer size.
前段のディスクリプタで指示した領域が暗号アルゴリズムの処理単位に満たなかった場合でかつ暗号化処理においても当該端数データを連結して使用する場合、上記ディスクリプタでは連結の指示を指定する
請求項1記載の暗号処理装置。
The instruction for concatenation is specified in the descriptor when the area designated by the descriptor in the preceding stage is less than the processing unit of the encryption algorithm and the fraction data is concatenated and used in the encryption processing. Cryptographic processing device.
ディスクリプタに基づいてデータ格納メモリから処理すべき転送データを指示し、ハッシュアルゴリズムによる認証処理と共通鍵暗号による暗号化処理に加え、認証処理と暗号化処理の並列処理および連続処理を行う暗号処理方法であって、
上記ディスクリプタに、ハッシュアルゴリズムを用いた認証処理の指示と、共通鍵暗号アルゴリズムを用いた暗号化処理の指示に加え、認証処理と暗号化処理の並列実行処理の指示と、認証処理と暗号化処理の連続実行処理の指示が選択可能なディスクリプタフォーマットを含み、前段のディスクリプタで指示した処理対象データが、各種暗号アルゴリズムの処理単位に満たなかった場合に、当該端数データを使用するか否かをディスクリプタにて指示できるディスクリプタフォーマットを含む
暗号処理方法。
Cryptographic processing method for instructing transfer data to be processed from the data storage memory based on the descriptor, and performing parallel processing and continuous processing of authentication processing and encryption processing in addition to authentication processing by hash algorithm and encryption processing by common key encryption Because
In the above descriptor, in addition to the authentication processing instruction using the hash algorithm and the encryption processing instruction using the common key encryption algorithm, the parallel execution processing instruction for the authentication processing and the encryption processing, the authentication processing and the encryption processing The descriptor format indicates whether or not to use the fractional data when the processing target data specified by the preceding descriptor contains less than the processing unit of various cryptographic algorithms. Cryptographic processing method including descriptor format that can be specified in.
JP2004215485A2004-07-232004-07-23Encryption processing apparatus and encryption processing methodPendingJP2006041684A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2004215485AJP2006041684A (en)2004-07-232004-07-23Encryption processing apparatus and encryption processing method

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2004215485AJP2006041684A (en)2004-07-232004-07-23Encryption processing apparatus and encryption processing method

Publications (1)

Publication NumberPublication Date
JP2006041684Atrue JP2006041684A (en)2006-02-09

Family

ID=35906236

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2004215485APendingJP2006041684A (en)2004-07-232004-07-23Encryption processing apparatus and encryption processing method

Country Status (1)

CountryLink
JP (1)JP2006041684A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2007166279A (en)*2005-12-142007-06-28Nippon Telegr & Teleph Corp <Ntt> IPsec circuit and IPsec processing method
JP2008067152A (en)*2006-09-082008-03-21Renesas Technology CorpData processor
JP2008219746A (en)*2007-03-072008-09-18Fujitsu Ltd Information transmitting apparatus, information transmitting method, information transmitting program, and recording medium recording the program
JP2010016526A (en)*2008-07-022010-01-21Mitsubishi Electric CorpCommunication device, encryption communication system, communication method, and communication program
KR100954649B1 (en)2007-02-152010-04-27후지쯔 가부시끼가이샤 Data encryption device, data decryption device and data encryption method
JP2010154500A (en)*2008-11-272010-07-08Canon IncInformation processing apparatus
US8077867B2 (en)2007-01-152011-12-13Panasonic CorporationConfidential information processing apparatus, confidential information processing device, and confidential information processing method
JP2018504645A (en)*2015-02-052018-02-15華為技術有限公司Huawei Technologies Co.,Ltd. IPSec acceleration method, apparatus and system
JP2022541220A (en)*2019-07-162022-09-22ザイリンクス インコーポレイテッド Slice-intensive cryptosystem and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH118615A (en)*1997-06-161999-01-12Hitachi Ltd Data encryption system, information processing device, IC card, recording medium, and data encryption method
JP2002287620A (en)*2000-12-252002-10-04Matsushita Electric Ind Co Ltd Security communication packet processing apparatus and method
JP2003051821A (en)*2001-05-112003-02-21Lucent Technol IncMessage processing method for authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH118615A (en)*1997-06-161999-01-12Hitachi Ltd Data encryption system, information processing device, IC card, recording medium, and data encryption method
JP2002287620A (en)*2000-12-252002-10-04Matsushita Electric Ind Co Ltd Security communication packet processing apparatus and method
JP2003051821A (en)*2001-05-112003-02-21Lucent Technol IncMessage processing method for authentication

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2007166279A (en)*2005-12-142007-06-28Nippon Telegr & Teleph Corp <Ntt> IPsec circuit and IPsec processing method
JP2008067152A (en)*2006-09-082008-03-21Renesas Technology CorpData processor
US8918646B2 (en)2006-09-082014-12-23Renesas Electronics CorporationData processing apparatus
US8181024B2 (en)2006-09-082012-05-15Renesas Electronics CorporationData processing apparatus
US8077867B2 (en)2007-01-152011-12-13Panasonic CorporationConfidential information processing apparatus, confidential information processing device, and confidential information processing method
US8478984B2 (en)2007-02-152013-07-02Fujitsu LimitedData encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
KR100954649B1 (en)2007-02-152010-04-27후지쯔 가부시끼가이샤 Data encryption device, data decryption device and data encryption method
US8571206B2 (en)2007-03-072013-10-29Fujitsu LimitedInformation transmitting apparatus, information transmitting method, and computer product
JP2008219746A (en)*2007-03-072008-09-18Fujitsu Ltd Information transmitting apparatus, information transmitting method, information transmitting program, and recording medium recording the program
JP2010016526A (en)*2008-07-022010-01-21Mitsubishi Electric CorpCommunication device, encryption communication system, communication method, and communication program
JP2010154500A (en)*2008-11-272010-07-08Canon IncInformation processing apparatus
JP2018504645A (en)*2015-02-052018-02-15華為技術有限公司Huawei Technologies Co.,Ltd. IPSec acceleration method, apparatus and system
US11063812B2 (en)2015-02-052021-07-13Huawei Technologies Co., Ltd.Ipsec acceleration method, apparatus, and system
US11729042B2 (en)2015-02-052023-08-15Huawei Technologies Co., Ltd.IPSec acceleration method, apparatus, and system
JP2022541220A (en)*2019-07-162022-09-22ザイリンクス インコーポレイテッド Slice-intensive cryptosystem and method
JP7561824B2 (en)2019-07-162024-10-04ザイリンクス インコーポレイテッド Slice-aggregating cryptography system and method

Similar Documents

PublicationPublication DateTitle
TWI499342B (en) Network uninstallation method and system
US7764788B2 (en)Methods and apparatus for performing authentication and decryption
EP1191736A2 (en)E-commerce security processor alignment logic
US20050138368A1 (en)Method and apparatus for performing an authentication after cipher operation in a network processor
US20080065885A1 (en)Data processing apparatus
JP5205075B2 (en) Encryption processing method, encryption processing device, decryption processing method, and decryption processing device
JP4337675B2 (en) Cryptographic processing apparatus and cryptographic processing method
US20050149744A1 (en)Network processor having cryptographic processing including an authentication buffer
US7529924B2 (en)Method and apparatus for aligning ciphered data
JP2006041684A (en)Encryption processing apparatus and encryption processing method
US11677727B2 (en)Low-latency MACsec authentication
JP2008042655A (en) Communication encryption processing device
JP4408648B2 (en) Encryption / authentication processing apparatus, data communication apparatus, and encryption / authentication processing method
CN111031055B (en)IPsec acceleration device and implementation method
US8560832B2 (en)Information processing apparatus
WO2010023951A1 (en)Secure communication device, secure communication method, and program
JP4346962B2 (en) Encrypted communication control device
JP4395527B2 (en) Information processing device
JP5042272B2 (en) Cryptographic extended key generation circuit, decryption extended key generation circuit, encryption extended key generation method, and decryption extended key generation method
JP2004180234A (en) Encryption packet processing device
JP5149863B2 (en) Communication device and communication processing method
JP2005167870A (en)Method and apparatus for processing data
JP2010057123A (en)Encryption processing device, encryption processing method and program
JP2004157164A (en) Message digest generation circuit and padding circuit
CN117499146A (en)Encryption communication method, device and system oriented to FC and Ethernet protocol conversion

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20070410

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20100720

A02Decision of refusal

Free format text:JAPANESE INTERMEDIATE CODE: A02

Effective date:20101116


[8]ページ先頭

©2009-2025 Movatter.jp