JP5112028B2 - An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. - Google Patents

An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. Download PDF

Info

Publication number
JP5112028B2
JP5112028B2 JP2007311276A JP2007311276A JP5112028B2 JP 5112028 B2 JP5112028 B2 JP 5112028B2 JP 2007311276 A JP2007311276 A JP 2007311276A JP 2007311276 A JP2007311276 A JP 2007311276A JP 5112028 B2 JP5112028 B2 JP 5112028B2
Authority
JP
Japan
Prior art keywords
encryption
decryption
payload
software
processing
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
Application number
JP2007311276A
Other languages
Japanese (ja)
Other versions
JP2009135813A (en
Inventor
吉満 塩谷
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007311276A priority Critical patent/JP5112028B2/en
Publication of JP2009135813A publication Critical patent/JP2009135813A/en
Application granted granted Critical
Publication of JP5112028B2 publication Critical patent/JP5112028B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信パケットの暗号化または復号化(以下、暗復号化と呼ぶ)を行う暗復号化装置に関わり、特に暗復号化の処理をハードウェア、およびソフトウェアを用いて処理する暗復号化装置に関する。   The present invention relates to an encryption / decryption device that performs encryption or decryption (hereinafter referred to as encryption / decryption) of a communication packet, and in particular, encryption / decryption that performs encryption / decryption processing using hardware and software. Relates to the device.

近年、通信、ネットワークなどの分野において、非常に早い速度で技術が発展している。これに伴い、情報や機密が漏洩する可能性も高まり、セキュリティ技術の分野においては、「暗復号化の高速化」がユーザから望まれている。
そして、ユーザからの「暗復号技術の高速化」の要求により、通信パケットの分野において、高速な暗復号処理を可能とした暗復号化装置が登場している。
ここで、通信パケットとは、送信するデータを一端細切れに分割し、該分割されたデータ単位を「パケット」として通信する方式である。
この「パケット」は、ヘッダ、およびペイロードによって構成されており、該ヘッダにはパケット自体を転送するための転送先の情報が含まれ、該ペイロードには転送するアプリケーションソフトなどの情報(ヘッダを除くデータそのもの)が含まれている。
暗復号化装置では、パケットが公衆回線などで漏洩する可能性がある場合には、該パケットを暗号化し、暗号化パケットを用いて装置間で送受信を行う。
そして、他の装置から受信したパケットが暗号化されている場合、この暗号化されているパケットを復号化して、パケットを読取可能な状態にする。
暗復号処理の際、該暗復号化装置は、暗号化するパケット、または転送されてきた復号化するパケットに対して、ヘッダを非暗復号化対象フィールドとし、ペイロードを暗復号化対象フィールドとして入力を受け付ける。
これにより、必要な暗復号化対象フィールドに対してのみ暗復号化処理を行うので、高速な暗復号処理を行うことができる。
In recent years, technology has been developed at a very high speed in the fields of communications, networks, and the like. Along with this, there is an increased possibility of leakage of information and secrets, and “high speed encryption / decryption” is desired by users in the field of security technology.
An encryption / decryption device capable of performing high-speed encryption / decryption processing has appeared in the field of communication packets in response to a request from the user for “speed-up of encryption / decryption technology”.
Here, the communication packet is a system in which data to be transmitted is divided into small pieces, and the divided data units are communicated as “packets”.
This “packet” is composed of a header and a payload. The header includes information on a transfer destination for transferring the packet itself, and the payload includes information such as application software to be transferred (excluding the header). Data itself).
In the encryption / decryption device, when there is a possibility that the packet may be leaked through a public line or the like, the packet is encrypted, and transmission / reception is performed between the devices using the encrypted packet.
If a packet received from another device is encrypted, the encrypted packet is decrypted so that the packet can be read.
During encryption / decryption processing, the encryption / decryption device inputs a header as a non-encryption target field and a payload as an encryption / decryption target field for a packet to be encrypted or a transmitted packet to be decrypted. Accept.
Accordingly, since the encryption / decryption process is performed only on the necessary encryption / decryption target field, a high-speed encryption / decryption process can be performed.

そして、最近では、ハードウェア、およびソフトウェアの両者を併用して暗復号化処理を行う暗復号化装置が開発されている。
ハードウェアとソフトウェアの両方で暗復号化処理を行う場合、パケット中の暗復号化対象フィールドの長さによって、そのフィールドの長さが短い場合にはソフトウェアで暗復号処理を行った方が処理速度が早く、該暗復号化対象フィールドの長さが長い場合には、ハードウェアで暗復号処理を行った方が早いという現象が生じる。
この現象は、暗復号処理の過程において、CPU(Central Processing Unit)の処理速度や、ハードウェア(またはデバイス)のバススピードなどの差によって生じるものである。
例えば、下記特許文献1では、ハードウェア、およびソフトウェアを用いて暗復号化処理を行う場合、パケット長が各条件で決定した閾値よりも短い場合はソフトウェアで暗復号処理を行い、閾値よりも長い場合はハードウェアで暗復号処理を行っており、パケット長に応じて、ハードウェアを用いて暗復号処理を行うか、それともソフトウェアを用いて暗復号処理を行うかを決定する技術が開示されている。
例えば、下記特許文献2では、第三者により暗号方式が解読されることを防止するため、装置本体のカバーの開状態を検出した場合に、暗号化または復号化プログラムに記憶された揮発性記憶手段に対するバックアップ電源を遮断する技術が開示されている。
特開2003−69555 特開平7−141261
Recently, an encryption / decryption device that performs encryption / decryption processing using both hardware and software has been developed.
When encryption / decryption processing is performed by both hardware and software, depending on the length of the encryption / decryption target field in the packet, if the length of the field is short, the encryption / decryption processing is performed by software. However, when the length of the encryption / decryption target field is long, the phenomenon that the encryption / decryption processing is faster with hardware occurs.
This phenomenon occurs due to a difference in CPU (Central Processing Unit) processing speed, hardware (or device) bus speed, and the like in the course of encryption / decryption processing.
For example, in Patent Document 1 below, when performing encryption / decryption processing using hardware and software, if the packet length is shorter than the threshold value determined under each condition, the encryption / decryption processing is performed using software and is longer than the threshold value. In some cases, encryption / decryption processing is performed by hardware, and a technique for determining whether encryption / decryption processing is performed using hardware or encryption / decryption processing using software according to the packet length is disclosed. Yes.
For example, in Patent Document 2 below, a volatile memory stored in an encryption or decryption program when an open state of the cover of the apparatus main body is detected in order to prevent the encryption method from being decrypted by a third party. A technique for shutting off a backup power supply to the means is disclosed.
JP 2003-69555 A JP-A-7-141261

しかしながら、従来の暗復号化装置では、ソフトウェアで生成したパケット、または転送されてきたパケットに対して、デバイスへの入力順序が効率的でないという問題がある。
また、上記特許文献1では、1のパケットに注目した場合の暗復号処理における効率化や、処理速度向上が達成できないという問題がある。
However, the conventional encryption / decryption device has a problem that the input order to the device is not efficient with respect to packets generated by software or transferred packets.
Further, the above-mentioned Patent Document 1 has a problem that the efficiency in the encryption / decryption processing when attention is paid to one packet and the improvement of the processing speed cannot be achieved.

そこで、本発明では、ハードウェア、およびソフトウェアを用いて暗復号化処理を行う暗復号化装置において、パケット通信システムにおけるデバイスへの入力順序や、1のパケットにおける暗復号処理に注目し、暗復号化処理速度をより向上させた暗復号化装置、または暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体を提供することを目的とする。   Therefore, in the present invention, in an encryption / decryption device that performs encryption / decryption processing using hardware and software, attention is paid to the input order to devices in the packet communication system and encryption / decryption processing in one packet. It is an object of the present invention to provide an encryption / decryption device or a computer-readable storage medium in which an encryption / decryption program is stored.

請求項1記載の発明では、ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領手段と、前記パケット受領手段で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測手段と、前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定手段と前記処理決定手段において、ハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合に、前記パケット受領手段で受領した前記パケットのペイロードをソフトウェアによって分割する分割手段と、前記分割手段が分割したペイロードの一部をソフトウェアによってハードウェアに入力する入力手段と、前記入力手段により入力された前記分割したペイロードの一部をハードウェアが暗復号化処理し、また、前記分割手段が分割したペイロードの残りのぺイロードをソフトウェアが暗復号化処理し、当該各々暗復号化処理されたペイロードを格納する暗復号データ格納手段と、前記非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、前記暗復号データ格納手段に格納された暗復号化処理されたペイロード、および前記非暗復号データ格納手段に格納されたヘッダから、対となるパケットを検出するパケット検出手段と、前記パケット検出手段で検出された、対となるパケットである、ヘッダ、およびペイロードをそれぞれ結合してパケットを生成するパケット生成手段と、を備え、前記入力手段は、前記ペイロードを前記ヘッダの格納より優先して入力することを特徴とする暗復号化装置を提供する。
請求項2記載の発明では前記処理決定手段を、ハードウェア側、またはソフトウェア側に備えることを特徴とする請求項1記載の暗復号化装置を提供する。
請求項3記載の発明では第1の閾値、および第2の閾値をユーザから受け付ける閾値受付手段をさらに備え、前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置を提供する。
請求項4記載の発明では前記ハードウェアによる暗復号化処理、および前記ソフトウェアによる暗復号化処理における処理速度に基づいて、第1の閾値、および第2の閾値を算出する閾値算出手段をさらに備え、前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置を提供する。
請求項記載の発明ではヘッダ、およびペイロードの格納先のアドレスを設定する格納先設定手段と、をさらに備え、前記入力手段は、前記格納先設定手段で前記ヘッダより先に前記ペイロードの格納先を設定することにより、前記ペイロードを前記ヘッダより優先して入力することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置を提供する。
請求項記載の発明では前記処理決定手段をハードウェア側に備え、前記暗復号化対象フィールドをソフトウェア側に転送する転送手段をさらに備えたことを特徴とする請求項2記載の暗復号化装置を提供する。
請求項記載の発明では前記パケット受領手段は、外部入出力インタフェースを用いて、パケットを受領することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置を提供する。
請求項記載の発明では前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる復号化処理を行うか、ソフトウェアによる復号化処理を行うか、または、ハードウェアとソフトウェアの両方による復号化処理を行うか、を決定することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置を提供する。
請求項記載の発明では前記入力手段は、前記ソフトウェアから前記ハードウェアに入力することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置を提供する。
請求項10記載の発明ではハードウェアによる暗復号化処理されたペイロード、およびソフトウェアによる暗復号化処理されたペイロードをそれぞれ結合するペイロード結合手段をさらに備えたことを特徴とする請求項1から請求のいずれか1項に記載の暗復号化装置を提供する。
請求項11記載の発明では、非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、暗復号化対象フィールドであるペイロードを格納する暗復号データ格納手段と、を具備し、ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領機能と、前記パケット受領機能で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測機能と、前記フィールド長計測機能で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定機能と前記処理決定機能において、ハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合に、前記パケット受領機能で受領した前記パケットのペイロードをソフトウェアによって分割する分割機能と、前記分割機能が分割したペイロードの一部をソフトウェアによってハードウェアに入力する入力機能と、前記入力機能により入力された前記分割したペイロードの一部をハードウェアが暗復号化処理し、また、前記分割機能が分割したペイロードの残りのぺイロードをソフトウェアが暗復号化処理し、当該各々暗復号化処理されたペイロードを前記暗復号データ格納手段に格納する暗復号データ格納機能と、前記非暗復号化対象フィールドであるヘッダを前記非暗復号データ格納手段に格納する非暗復号データ格納機能と、前記暗復号データ格納手段に格納された暗復号化処理されたペイロード、および前記非暗復号データ格納手段に格納されたヘッダから、対となるパケットを検出するパケット検出機能と、前記パケット検出機能で検出された、対となるパケットである、ヘッダ、およびペイロードをそれぞれ結合してパケットを生成するパケット生成機能と、を実行する暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体であり、さらに、前記入力機能は、前記非暗復号データ格納機能より優先して前記分割機能が分割したペイロードの一部をハードウェアに入力することを特徴とする暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体提供する。
According to the first aspect of the present invention, in an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software, a header that is a non-encryption target field and an encryption / decryption target field Based on a packet receiving means for receiving a packet composed of a certain payload, a field received by the packet receiving means or a field length measuring means for measuring the field length of the payload, and a field length measured by the field length measuring means Te, or performs decryption processing by hardware or perform encryption and decryption processing by software, or, a processing determining means for determining whether to perform decryption processing by both hardware and software, the said process in determining means, encryption and decryption processing by both hardware and software If it is decided to a dividing means for dividing the payload of the packet received by said packet receiving means by the software, an input means for inputting a part of the payload that the dividing means is divided by the software to the hardware The hardware performs encryption / decryption processing on a part of the divided payload input by the input unit, and the software performs encryption / decryption processing on the remaining payload of the payload divided by the division unit. Encryption / decryption data storage means for storing a payload subjected to encryption / decryption, non-encryption / decryption data storage means for storing a header which is the non-encryption / decryption target field, and encryption / decryption stored in the encryption / decryption data storage means From the processed payload and the header stored in the non-encrypted data storage means. A packet detection means for detecting the packet, and a packet generation means for generating a packet by combining a header and a payload which are paired packets detected by the packet detection means, and the input means provides a decryption apparatus, wherein the benzalkonium enter the payload in preference to store the header.
According to a second aspect of the present invention, there is provided the encryption / decryption device according to the first aspect , wherein the processing determining means is provided on a hardware side or a software side.
In the invention of claim 3, wherein, the first threshold value, and further comprising a threshold acceptance means for accepting a second threshold value from the user, the processing determining means, a field length measured in the field length measuring means, the threshold accepted The first threshold received by the means is compared to determine whether the encryption / decryption process is performed by hardware or the encryption / decryption process is performed by software, and the field length measured by the field length measurement means The comparison with the second threshold value received by the threshold value receiving means determines whether to perform encryption / decryption processing by both hardware and software. The encryption / decryption device according to 2, is provided .
In the invention of claim 4, wherein the encryption and decryption processing by hardware, and based on the processing speed in the encryption and decryption processing by the software, the first threshold value, and the threshold value calculating means for calculating a second threshold value further And the processing determining means compares the field length measured by the field length measuring means with the first threshold value calculated by the threshold value calculating means and performs encryption / decryption processing by hardware, or by software Decide whether to perform encryption / decryption processing, compare the field length measured by the field length measurement means with the second threshold value calculated by the threshold value calculation means, and perform encryption / decryption both by hardware and software The encryption / decryption device according to claim 1, wherein whether to perform the process is determined.
In the invention of claim 5, further comprising a storage destination setting means for setting a storage destination address in the header, and a payload, wherein the input means is stored in the payload prior to said header in said storage destination setting means The encryption / decryption device according to any one of claims 1 to 4 , wherein the payload is input in preference to the header by setting a destination.
In the invention of claim 6, further comprising the processing determining means to the hardware side, before Symbol decryption of claim 2, wherein the further comprising a transfer means for transferring the encryption and decryption target field software side A device is provided .
In the invention of claim 7, wherein said packet receiving means, using the external input and output interface, encryption and decryption device according to claim 1, characterized in that to receive the packet to any one of claims 6 Provide .
In the invention according to claim 8 , the processing determining means performs hardware decoding, software decoding, or hardware based on the field length measured by the field length measuring means. providing encryption and decryption apparatus according to any one of claims 7 or perform the decoding process caused by both hardware and software, from claim 1, wherein the determining the.
The invention according to claim 9 provides the encryption / decryption device according to any one of claims 1 to 8 , wherein the input means inputs from the software to the hardware.
Claimed in the invention of claim 10, wherein the decryption processing payload hardware, and further comprising a payload coupling means for coupling each software by decryption processing payload of the preceding claims, characterized 9. The encryption / decryption device according to any one of 9 is provided .
The invention according to claim 11 comprises non-encrypted data storage means for storing a header that is a non-encrypted decoding target field, and encrypted / decrypted data storage means for storing a payload that is an encrypted / decrypted field, In an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software, a packet composed of a header that is a non-encryption target field and a payload that is an encryption / decryption target field Based on the packet reception function to be received, the field length measurement function to measure the field length of the packet or payload received by the packet reception function, and the field length measured by the field length measurement function, encryption / decryption by hardware Processing, software encryption / decryption processing, or Or performing decryption processing by both hardware and software, the processing determining function of determining, in the processing determining function, if it is decided to encryption and decryption processing by both hardware and software, the packet A division function for dividing the payload of the packet received by the reception function by software, an input function for inputting a part of the payload divided by the division function to hardware by the software, and the division inputted by the input function A part of the payload is encrypted / decrypted by hardware, and the payload of the payload divided by the dividing function is encrypted / decrypted by software, and each encrypted / decrypted payload is encrypted / decrypted. Encryption / decryption data storage function for storing in data storage means, and non-encryption / decryption target A non-encrypted / decrypted data storage function for storing a header which is a field in the non-encrypted / decrypted data storage means; an encrypted / decrypted payload stored in the encrypted / decrypted data storage means; and A packet detection function for detecting a paired packet from a stored header, and a packet generation function for generating a packet by combining a header and a payload that are paired packets detected by the packet detection function. And a computer-readable storage medium in which an encryption / decryption program for executing is stored , and the input function is one of payloads divided by the division function in preference to the non-encryption / decryption data storage function. reading section on a computer that encryption and decryption programs, characterized that you input hardware are stored A possible storage medium is provided .

本発明によれば、暗復号化処理におけるパケットフィールドの入力順を並び替えるので、暗復号処理の高速化を図ることができ、開始時間を早めて全体の暗復号化処理をより高速にすることができる。
また、ハードウェアとソフトウェアの暗復号化処理をフィールド長により使い分けることで暗復号化処理を高速にすることができる。
According to the present invention, since the input order of the packet fields in the encryption / decryption process is rearranged, the encryption / decryption process can be speeded up, and the entire encryption / decryption process is made faster by increasing the start time. Can do.
Also, the encryption / decryption processing of hardware and software can be performed at high speed by properly using the encryption / decryption processing of the hardware and software depending on the field length.

以下、本発明の好適な実施形態について図1から図11を参照して詳細に説明する。
(1)暗号化処理を行う暗復号化装置1の構成
図1は、本実施形態の暗号化処理を行う暗復号化装置1の構成を示したブロック図である。
暗号化処理を行う暗復号化装置1は、ソフトウェア処理ブロックのCPU10、デバイス入出力IF(Interface)20、プロトコル処理ブロック30、暗号化/非暗号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM(Random Access Memory)60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCS(Frame Check Sequence)ブロック110、MAC−PHYIF(Media Access Control Physical layer Interface)120、および暗号鍵用RAM130から構成されている。
さらに、ソフトウェア処理ブロックのCPU10は、暗号化閾値決定ブロック11、マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14から構成されている。
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to FIGS. 1 to 11.
(1) Configuration of Encryption / Decryption Device 1 that Performs Encryption Processing FIG. 1 is a block diagram illustrating a configuration of an encryption / decryption device 1 that performs encryption processing according to the present embodiment.
The encryption / decryption device 1 that performs encryption processing includes a CPU 10 of a software processing block, a device input / output IF (Interface) 20, a protocol processing block 30, an encryption / non-encryption field classification unit 40, an encryption block 50, encrypted data RAM (Random Access Memory) 60, unencrypted data RAM 70, encrypted / unencrypted field reading means 80, counter 90, combined data RAM 100, FCS (Frame Check Sequence) block 110, MAC-PHYIF (Media Access Control) (Physical layer Interface) 120 and encryption key RAM 130.
Further, the CPU 10 of the software processing block includes an encryption threshold determination block 11, a Mac header generation block 12, a payload generation block 13, and an encryption block 14.

なお、本実施形態の暗号化処理を行うソフトウェアは、ソフトウェア処理ブロックのCPU10(暗号化閾値決定ブロック11、マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14)によって構成される。
そして、本実施形態の暗号化処理を行うハードウェアは、デバイス入出力IF20、プロトコル処理ブロック30、暗号化/非復号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCSブロック110、MAC−PHYIF120、および暗号鍵用RAM130によって構成されるものとして説明する。
Note that the software that performs the encryption processing of the present embodiment is configured by a CPU 10 (encryption threshold value determination block 11, mac header generation block 12, payload generation block 13, and encryption block 14) of a software processing block.
The hardware that performs the encryption processing of the present embodiment includes a device input / output IF 20, a protocol processing block 30, an encryption / non-decryption field classification unit 40, an encryption block 50, an encrypted data RAM 60, and an unencrypted data use. The description will be made assuming that the RAM 70, the encrypted / unencrypted field reading means 80, the counter 90, the combined data RAM 100, the FCS block 110, the MAC-PHY IF 120, and the encryption key RAM 130 are included.

図11は、WUSB(Wireless Universal Serial Bus)パケットを示した概念図である。
WUSBパケットは、マックヘッダ(ヘッダに相当する)、およびペイロードによって構成されており、該マックヘッダにはデータを転送するための転送先の情報、該ペイロードには転送するアプリケーションソフトなどの情報(マックヘッダを除くデータそのもの)が含まれている。
そして、ペイロードを暗号化対象フィールドとし、マックヘッダを非暗号化対象フィールドとする。
なお、本実施形態では、図11に示すように、ペイロードがWUSBヘッダを含むように構成する(WUSBヘッダは、WUSBにおける転送先の情報を示す)。
FIG. 11 is a conceptual diagram showing a WUSB (Wireless Universal Serial Bus) packet.
The WUSB packet is composed of a Mac header (corresponding to the header) and a payload. In the Mac header, information on a transfer destination for transferring data, information on the application software to be transferred (Mac) is transferred in the payload. Data itself excluding the header).
The payload is set as an encryption target field, and the Mac header is set as a non-encryption target field.
In the present embodiment, as shown in FIG. 11, the payload is configured to include a WUSB header (the WUSB header indicates information on a transfer destination in WUSB).

図1に戻り、マックヘッダ生成ブロック12は、送信先の情報であるマックヘッダを生成する。そして、ペイロード生成ブロック13には、転送するアプリケーションソフトなどの情報(ヘッダを除くデータそのもの)であるペイロードが生成される。
図4は、暗号化閾値決定ブロック11で閾値が算出され、該閾値によってフィールド長を判定する判定例を示した図である。
まず暗号化閾値決定ブロック11は、マックヘッダ生成ブロック12、およびペイロード生成ブロック13で生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
次に、暗号化閾値決定ブロック11は、第1の閾値、および第2の閾値を算出する。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号化処理時間、パケット中の暗号化対象フィールド長といった処理速度に係る情報を基に算出する方法がある。
そして、暗号化閾値決定ブロック11は、計測されたフィールド長と、算出された第1の閾値、または第2の閾値とを比較する。
また、本実施形態の構成では、暗号化閾値決定ブロック11で第1の閾値、および第2の閾値を算出することとしたが、暗号化閾値決定ブロック11に図示しないレジスタを設け、該レジスタにユーザからの閾値の設定を受け付けるように構成することも可能である。
Returning to FIG. 1, the Mac header generation block 12 generates a Mac header that is transmission destination information. In the payload generation block 13, a payload that is information such as application software to be transferred (data excluding the header itself) is generated.
FIG. 4 is a diagram showing a determination example in which the threshold is calculated by the encryption threshold determination block 11 and the field length is determined based on the threshold.
First, the encryption threshold value determination block 11 acquires the MAC header and payload in the packet generated by the MAC header generation block 12 and the payload generation block 13, and measures the respective field lengths.
The encryption threshold value determination block 11 is configured to measure the field length of the payload because the field length of the Mac header may be set in advance in some cases.
Next, the encryption threshold value determination block 11 calculates a first threshold value and a second threshold value.
Here, for the calculation method of the first threshold value and the second threshold value, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, There is a method of calculating based on information related to processing speed such as the length of an encryption target field in a packet.
Then, the encryption threshold value determination block 11 compares the measured field length with the calculated first threshold value or second threshold value.
In the configuration of this embodiment, the encryption threshold value determination block 11 calculates the first threshold value and the second threshold value. However, the encryption threshold value determination block 11 is provided with a register (not shown), and the register is stored in the register. It can also be configured to accept a threshold setting from the user.

暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を下回るか否か、または上回るか否かを判断し、下回る場合には、暗号化ブロック14(ソフトウェア)にて暗号化処理を行い、上回る場合には、暗号化ブロック50(ハードウェア)にて暗号化処理を行う旨を示す処理決定情報がペイロードに付与される。
また、計測されたフィールド長が第2の閾値を下回るか否か、または上回るか否かを判断し、上回る場合には、暗号化ブロック14(ソフトウェア)、および暗号化ブロック50(ハードウェア)の両者にて暗号化処理を行う旨を示す処理決定情報がペイロードに付与される。
そして、処理決定情報がソフトウェアで処理する旨である場合、暗号化ブロック14ではペイロードの暗号化処理を行う。
また、処理決定情報がハードウェアで処理する旨である場合、ソフトウェア処理ブロックのCPU10は、バスラインを介して、ハードウェア側のデバイス入出力IF20に入力する。
ソフトウェア処理ブロックのCPU10は、マックヘッダを非暗号対象フィールドとし、ペイロードを暗号化対象フィールドとして、それぞれバスラインを介して、ハードウェア側のデバイス入出力IF20に入力する。
このとき、ハードウェア側であるデバイス入出力IF20への入力順序は、ペイロードの入力を優先して行い、ペイロードの入力が終了した場合に、マックヘッダの入力を開始する。
また、ソフトウェア処理ブロックのCPU10は、ペイロード、およびヘッダの格納先となるアドレスを設定し、ヘッダより先にペイロードの格納先のアドレスを設定する。
The encryption threshold value determination block 11 determines whether or not the measured field length is less than or greater than the first threshold value. If it is less, the encryption block 14 (software) performs encryption processing. If it exceeds, processing decision information indicating that encryption processing is performed by the encryption block 50 (hardware) is added to the payload.
Further, it is determined whether or not the measured field length is less than or greater than the second threshold value. If the measured field length is greater than the second threshold value, the encryption block 14 (software) and the encryption block 50 (hardware) Processing determination information indicating that encryption processing is performed by both parties is added to the payload.
If the processing decision information is to be processed by software, the encryption block 14 performs payload encryption processing.
When the processing determination information is to process by hardware, the CPU 10 of the software processing block inputs to the hardware device input / output IF 20 via the bus line.
The CPU 10 of the software processing block inputs the mac header as a non-encryption target field and the payload as an encryption target field, respectively, to the hardware device input / output IF 20 via the bus line.
At this time, the input order to the device input / output IF 20 on the hardware side is performed by giving priority to the input of the payload, and when the input of the payload is completed, the input of the Mac header is started.
Further, the CPU 10 of the software processing block sets an address as a payload and a storage destination of the header, and sets an address of a payload storage destination before the header.

デバイス入出力IF20は、ブロックのCPU10から、ペイロード、およびマックヘッダをバスラインを介して入力を受け付ける。
そして、デバイス入出力IF20は、受け付けたマックヘッダ、およびペイロードをバスラインを介してプロトコル処理ブロック30に転送する。
プロトコル処理ブロック30では、デバイス入出力IF20から転送されたマックヘッダ、およびペイロードのプロトコル(データ伝送方式)に係る所定の処理を行う。
そして、プロトコル処理ブロック30は、マックヘッダ、およびペイロードを暗号化/非暗号化フィールド分類手段40に転送する。
The device input / output IF 20 receives input of the payload and the mac header from the block CPU 10 via the bus line.
Then, the device input / output IF 20 transfers the received Mac header and payload to the protocol processing block 30 via the bus line.
The protocol processing block 30 performs predetermined processing relating to the MAC header and payload protocol (data transmission method) transferred from the device input / output IF 20.
Then, the protocol processing block 30 transfers the MAC header and the payload to the encrypted / unencrypted field classification unit 40.

暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたマックヘッダ、およびペイロードに応じて、バスラインを介して接続している暗号化ブロック50、暗号データ用RAM60、または非暗号データ用RAM70に分類し、RAMへの格納や転送する処理を行う。
例えば、暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたデータがマックヘッドである場合、該データを非暗号データとして認識し、非暗号データ用RAM70に転送し、該非暗号データ用RAM70にマックヘッドを格納する。
The encryption / non-encryption field classification unit 40 is configured to connect the encryption block 50, the encryption data RAM 60, or the non-connection, which are connected via the bus line, in accordance with the MAC header and payload transferred from the protocol processing block 30. The data is classified into the encryption data RAM 70 and stored in the RAM or transferred.
For example, when the data transferred from the protocol processing block 30 is a mac head, the encryption / non-encryption field classification unit 40 recognizes the data as non-encrypted data, transfers it to the non-encrypted data RAM 70, and The mac head is stored in the encryption data RAM 70.

また、暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたデータがハードウェアで暗号処理を行う旨の処理決定情報を備えたペイロードである場合、該データを暗号化ブロック14で暗号化されたペイロードとして認識し、暗号データ用RAM60に転送し、該暗号データ用RAM60に暗号化されたペイロードを格納し、該ペイロードを暗号化ブロック50に転送する。   Also, the encryption / non-encryption field classification means 40, when the data transferred from the protocol processing block 30 is a payload having processing decision information indicating that the encryption processing is performed by hardware, the data is encrypted block 14 is recognized as an encrypted payload, transferred to the encryption data RAM 60, the encrypted payload is stored in the encryption data RAM 60, and the payload is transferred to the encryption block 50.

暗号化ブロック50では、暗号化/非暗号化フィールド分類手段40から転送されたペイロードに対して、暗号化処理が行われる。
暗号化ブロック50は、暗号化処理に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロードに対して暗号化を行う。
そして、暗号化ブロック50は、暗号化の処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、該暗号データ用RAM60に暗号化されたペイロードを格納する。
In the encryption block 50, encryption processing is performed on the payload transferred from the encryption / non-encryption field classification unit 40.
The encryption block 50 encrypts the payload by appropriately referring to the encryption key stored in the encryption key RAM 130 during the encryption process.
Then, the encryption block 50 transfers the payload after the encryption processing to the encryption data RAM 60 via the bus line, and stores the encrypted payload in the encryption data RAM 60.

カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報を取得し、対となるパケットを検出している。
そして、対となるパケットが検出された場合、カウンタ90は、暗号化/非暗号化フィールド読出手段80に対して、要求信号を送信する。
暗号化/非暗号化フィールド読出手段80は、該要求暗号を受領した場合、暗号データ用RAM60に格納された暗号化されたペイロードを読み出し、該ペイロードに対応するマックヘッドを非暗号データ用RAM70から読み出し、バスラインを介して接続しているカウンタ90に該ペイロード、および該マックヘッドを転送する。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、暗号化されたWUSBパケットを生成する。
そして、カウンタ90では、生成され、暗号化されたWUSBパケットを、結合データ用RAM100に格納する。
The counter 90 is connected to the non-encrypted data RAM 70 and the encrypted data RAM 60 via a bus line, and periodically transmits a read enable signal.
The counter 90 acquires the data count and field length information of each data stored in the non-encrypted data RAM 70 and the encrypted data RAM 60, and detects a pair of packets.
When a pair of packets is detected, the counter 90 transmits a request signal to the encrypted / unencrypted field reading unit 80.
When the encryption / non-encryption field reading means 80 receives the requested cipher, the encryption / non-encryption field reading means 80 reads the encrypted payload stored in the encryption data RAM 60, and loads the mac head corresponding to the payload from the non-encryption data RAM 70. Reading and transferring the payload and the mac head to the counter 90 connected via the bus line.
The counter 90 combines the mac head and the encrypted payload to generate an encrypted WUSB packet.
The counter 90 stores the generated and encrypted WUSB packet in the combined data RAM 100.

FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加する。
図11に示すように、WUSBパケットには、FCSフィールドが付加されており、該FCSフィールドには、通信プロトコルにおいてデータの誤り検出を行うため、フレーム内にチェックサム符号が付け加えられている。
これにより、フレームの送受信を行うコンピュータ間では、各々の規定されたアルゴリズムでチェックサム符号を再計算し、データの送受信が正常なものか否かを判断することができる。
The FCS block 110 adds an FCS field to the WUSB packet stored in the combined data RAM 100.
As shown in FIG. 11, an FCS field is added to the WUSB packet, and a checksum code is added to the FCS field in order to detect data errors in the communication protocol.
As a result, between the computers that transmit and receive frames, the checksum code can be recalculated with each specified algorithm to determine whether or not the data transmission and reception is normal.

図1に戻り、FCSブロック110は、FCSフィールドの付加されたWUSBパケットをバスラインを介してMAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送されたWUSBパケットをWiMedia PHYへ出力し、他の装置とのデータ送信を行う。
Returning to FIG. 1, the FCS block 110 transfers the WUSB packet to which the FCS field is added to the MAC-PHY IF 120 via the bus line.
Then, the MAC-PHY IF 120 outputs the WUSB packet transferred from the FCS block 110 to the WiMedia PHY, and performs data transmission with other devices.

(2)復号化処理を行う暗復号化装置1の構成
図3は、本実施形態の復号化処理を行う暗復号化装置1の構成を示したブロック図である。
復号化処理を行う暗復号化装置1は、MAC−PHYIF135、FCSブロック140、復号化判定ブロック150、第1の復号化/非復号化フィールド分類手段160、復号化閾値決定ブロック170、第2の復号化/非復号化フィールド分類手段175、復号化ブロック180、復号鍵用RAM190、非復号データ用RAM200、復号データ用RAM210、復号化/非復号化フィールド読出手段220、カウンタ230、結合データ用RAM240、プロトコル処理ブロック250、デバイス入出力IF260、およびソフトウェア処理ブロックのCPU270から構成されている。
さらに、ソフトウェア処理ブロックのCPU270は、パケット結合ブロック271、および復号化ブロック272から構成されている。
(2) Configuration of Encryption / Decryption Device 1 that Performs Decoding Processing FIG. 3 is a block diagram illustrating a configuration of the encryption / decryption device 1 that performs the decoding processing of the present embodiment.
The encryption / decryption device 1 that performs the decoding process includes the MAC-PHY IF 135, the FCS block 140, the decoding determination block 150, the first decoding / non-decoding field classification unit 160, the decoding threshold determination block 170, the second Decryption / non-decryption field classifying means 175, decryption block 180, decryption key RAM 190, non-decryption data RAM 200, decryption data RAM 210, decryption / non-decryption field reading means 220, counter 230, combined data RAM 240 , A protocol processing block 250, a device input / output IF 260, and a software processing block CPU 270.
Further, the CPU 270 of the software processing block includes a packet combining block 271 and a decoding block 272.

なお、本実施形態の復号化処理を行うソフトウェアは、ソフトウェア処理ブロックのCPU270(パケット結合ブロック271、および復号化ブロック272)によって構成されている。
そして、本実施形態の復号化処理を行うハードウェアは、MAC−PHYIF135、FCSブロック140、復号化判定ブロック150、第1の復号化/非復号化フィールド分類手段160、復号化閾値決定ブロック170、第2の復号化/非復号化フィールド分類手段175、復号化ブロック180、復号鍵用RAM190、非復号データ用RAM200、復号データ用RAM210、復号化/非復号化フィールド読出手段220、カウンタ230、結合データ用RAM240、プロトコル処理ブロック250、デバイス入出力IF260、によって構成されるものとして説明する。
Note that the software that performs the decryption processing of the present embodiment is configured by a CPU 270 (packet combining block 271 and decryption block 272) of the software processing block.
The hardware that performs the decoding process according to the present embodiment includes a MAC-PHY IF 135, an FCS block 140, a decoding determination block 150, a first decoding / non-decoding field classification unit 160, a decoding threshold determination block 170, Second decryption / non-decryption field classification means 175, decryption block 180, decryption key RAM 190, non-decryption data RAM 200, decryption data RAM 210, decryption / non-decryption field reading means 220, counter 230, combination A description will be given assuming that the data RAM 240, the protocol processing block 250, and the device input / output IF 260 are configured.

MAC−PHYIF135は、暗号化されたWUSBパケットを他の装置などからWiMedia PHYを介して受信し、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドのチェックサム符号を計算し、データの誤り検出を行う。
そして、データの誤りがない場合には、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に、暗号化されたWUSBパケットを転送する。
The MAC-PHY IF 135 receives the encrypted WUSB packet from another device or the like via the WiMedia PHY, and transfers the encrypted WUSB packet to the FCS block 140.
The FCS block 140 calculates a checksum code of the FCS field added to the WUSB packet and performs data error detection.
If there is no data error, the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.

復号化判定ブロック150は、FCSブロック140から転送されたWUSBパケットが、暗号化されたパケットであるか否かを判定する。
そして、復号化判定ブロック150は、転送されたパケットが暗号化されたパケットである場合には、転送されたパケットを復号化閾値決定ブロック170に第1の復号化/非復号化フィールド分類手段160を介して転送する。
また、復号化判定ブロック150は、転送されたパケットが暗号化されたパケットでない場合には、転送された該パケットを第1の復号化/非復号化フィールド分類手段160を介して非復号データ用RAM200に格納させる。
The decryption determination block 150 determines whether or not the WUSB packet transferred from the FCS block 140 is an encrypted packet.
Then, when the transferred packet is an encrypted packet, the decryption determination block 150 sends the forwarded packet to the decryption threshold value determination block 170 for the first decryption / non-decryption field classification unit 160. Forward through.
In addition, when the transferred packet is not an encrypted packet, the decryption determination block 150 uses the first decryption / non-decryption field classification unit 160 to transmit the forwarded packet to the non-decryption data. It is stored in the RAM 200.

図4は、復号化閾値決定ブロック170で閾値が算出され、該閾値によってフィールド長を判定する判定例を示した図である。
まず、復号化閾値決定ブロック170は、第1の復号化/非復号化フィールド分類手段160から転送されたパケットを取得し、取得したパケットのヘッダ、ペイロードにおけるそれぞれのフィールド長を計測する。
なお、復号化閾値決定ブロック170は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
次に、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出する。
この第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、パケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出方法がある。
そして、復号化閾値決定ブロック170は、該計測されたフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
なお、第2の閾値は、第1の閾値を上回るように設定される。
また、本実施形態の構成では、復号化閾値決定ブロック170で第1の閾値、および第2の閾値を算出することとしたが、復号化閾値決定ブロック170に図示しないレジスタを設け、該レジスタにユーザからの閾値の設定を受け付けるように構成することも可能である。
FIG. 4 is a diagram illustrating a determination example in which a threshold is calculated by the decoding threshold determination block 170 and the field length is determined based on the threshold.
First, the decoding threshold value determination block 170 acquires the packet transferred from the first decoding / non-decoding field classification unit 160, and measures each field length in the header and payload of the acquired packet.
Note that the decoding threshold value determination block 170 is configured to measure the field length of the payload because the field length of the Mac header may be set in advance in some cases.
Next, the decoding threshold value determination block 170 calculates a first threshold value and a second threshold value.
The calculation method of the first threshold value and the second threshold value includes, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, There is a calculation method based on information related to processing speed such as the length of a field to be decoded.
Then, the decoding threshold value determination block 170 compares the measured field length with the calculated first threshold value and the second threshold value.
Note that the second threshold is set to exceed the first threshold.
In the configuration of the present embodiment, the first threshold value and the second threshold value are calculated in the decoding threshold value determination block 170. However, a register (not shown) is provided in the decoding threshold value determination block 170, and the register is set in the register. It can also be configured to accept a threshold setting from the user.

復号化閾値決定ブロック170は、計測されたフィールド長が第1の閾値を下回るか否か、または上回るか否かを判断し、下回る場合には、復号化ブロック272(ソフトウェア)にて復号化処理を行い、上回る場合には、復号化ブロック180(ハードウェア)にて復号化処理を行う旨を示す処理決定情報がペイロードに付与される。
また、計測されたフィールド長が第2の閾値を上回るか否かを判断し、上回る場合には、復号化ブロック272(ソフトウェア)、および復号化ブロック180(ハードウェア)の両者にて暗号化処理を行う旨を示す処理決定情報をペイロードに付与される。
そして、復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、第2の復号化/非復号化フィールド分類手段175は、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、復号化ブロック180に転送し、処理決定情報がソフトウェアにて処理する旨である場合、デバイス入出力IF260に転送する。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で復号処理する旨である場合には、復号化閾値決定ブロック170にてペイロードの分割を行い、それぞれ、復号化ブロック180(ハードウェアで処理)、およびデバイス入出力IF260(ソフトウェアで処理)に転送処理を行う。
また、復号化閾値決定ブロック170は、マックヘッダを非暗号対象フィールドとし、ペイロードを暗号化対象フィールドとして、それぞれバスラインを介して、復号化ブロック180に入力する。
このとき、復号化ブロック180への入力順序は、ペイロードの入力を優先して行い、ペイロードの入力が終了した場合に、マックヘッダの入力を開始する。
また、復号化閾値決定ブロック170は、ペイロード、およびヘッダの格納先をとなるアドレスを設定し、ヘッダより先にペイロードの格納先のアドレスを設定する。
The decoding threshold value determination block 170 determines whether or not the measured field length is less than or exceeds the first threshold value. If it is less, the decoding block 272 (software) performs a decoding process. If it exceeds, processing determination information indicating that the decoding process is performed in the decoding block 180 (hardware) is added to the payload.
Further, it is determined whether or not the measured field length exceeds the second threshold value. If the measured field length exceeds the second threshold value, the encryption process is performed in both the decryption block 272 (software) and the decryption block 180 (hardware). Processing decision information indicating that the process is performed is added to the payload.
Then, the decoding threshold value determination block 170 attaches the processing determination information to the payload and transfers it to the second decoding / non-decoding field classification unit 175 via the bus line.
The second decoding / non-decoding field classification unit 175 recognizes the processing decision information given to the payload. Then, as a result of the recognition, when the payload processing determination information is information indicating that the processing is performed by hardware, the second decoding / non-decoding field classification unit 175 transfers the processing to the decoding block 180 and performs processing. If the decision information is to be processed by software, it is transferred to the device input / output IF 260.
If the processing determination information is to perform decoding processing by both hardware and software, the payload is divided by the decoding threshold determination block 170, and each of them is decoded by a decoding block 180 (processed by hardware). , And the device input / output IF 260 (processed by software).
Also, the decryption threshold value determination block 170 inputs the mac header as a non-encryption target field and the payload as an encryption target field, respectively, to the decryption block 180 via the bus line.
At this time, the input order to the decoding block 180 is performed with priority on the input of the payload, and when the input of the payload is completed, the input of the Mac header is started.
Also, the decoding threshold value determination block 170 sets an address that becomes a storage location of the payload and the header, and sets an address of the payload storage location before the header.

復号化ブロック180は、復号化閾値決定ブロック170で転送されたペイロードの復号化処理を行う。
このとき、復号化ブロック180は、復号化処理に際して、復号鍵用RAM190に格納された復号鍵を適宜参照して、ペイロードに対して復号化処理を行う。
そして、復号化ブロック180は、復号化処理が終了したペイロードを復号データ用RAM210にバスラインを介して転送し、該復号データ用RAM210に復号化されたペイロードを格納させる。
The decryption block 180 performs decryption processing on the payload transferred by the decryption threshold determination block 170.
At this time, the decryption block 180 refers to the decryption key stored in the decryption key RAM 190 as appropriate during the decryption process, and performs the decryption process on the payload.
Then, the decryption block 180 transfers the payload after the decryption process to the decrypted data RAM 210 via the bus line, and stores the decrypted payload in the decrypted data RAM 210.

カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得し、対となるパケットを検出している。
そして、対となるパケットが検出された場合、カウンタ230は、復号化/非復号化フィールド読出手段220に対して、要求信号を送信する。
復号化/非復号化フィールド読出手段220は、該要求信号を受領した場合、復号データ用RAM210に格納された復号化されたペイロードを読み出し、該ペイロードに対応するマックヘッドを非復号データ用RAM200から読み出し、復号化/非復号化フィールド読出手段220は、バスラインを介して接続しているカウンタ230に該ペイロード、および該マックヘッドを転送する。
カウンタ230には、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する復号化されたペイロードが転送される。
カウンタ230では、マックヘッドと該復号化されたペイロードを結合して、WUSBパケットを生成する。
そして、カウンタ230では、生成したWUSBパケットを、結合データ用RAM240に格納する。
The counter 230 is connected to the non-decoded data RAM 200 and the decoded data RAM 210 via a bus line, and periodically transmits a read enable signal.
The counter 230 acquires the data count and field length information of each data stored in the non-decoded data RAM 200 and the decoded data RAM 210, and detects a pair of packets.
When a pair of packets is detected, the counter 230 transmits a request signal to the decoding / non-decoding field reading unit 220.
When receiving the request signal, the decoding / non-decoding field reading unit 220 reads the decoded payload stored in the decoded data RAM 210, and reads the mac head corresponding to the payload from the non-decoded data RAM 200. The reading / decoding / non-decoding field reading means 220 transfers the payload and the mac head to the counter 230 connected via the bus line.
The counter 230 receives the mac head and the decrypted payload corresponding to the mac head from the decoding / non-decoding field reading means 220.
The counter 230 combines the mac head and the decoded payload to generate a WUSB packet.
The counter 230 stores the generated WUSB packet in the combined data RAM 240.

プロトコル処理ブロック250では、結合データ用RAM240に格納されたWUSBパケットを読み出し、プロトコル(通信方式)に係る所定の処理を行う。
そして、プロトコル処理ブロック250は、WUSBパケットをバスラインを介してデバイス入出力IF260に入力する。
デバイス入出力IF260は、プロトコル処理ブロック250から転送されたWUSBパケット、または第2の復号化/非復号化フィールド分類手段175から転送されたペイロード(ソフトウェアにて処理する旨を示す処理決定情報を含む)を受信する。
そして、デバイス入出力IF260は、第2の復号化/非復号化フィールド分類手段175から転送されたペイロードに復号化ブロック272にて復号化処理を行う。
そして、パケット結合ブロック271は、復号化ブロック272で復号化処理されたペイロードと、マックヘッダとを結合し、復号化されたWUSBパケットを生成する。
In the protocol processing block 250, the WUSB packet stored in the combined data RAM 240 is read, and a predetermined process related to the protocol (communication method) is performed.
Then, the protocol processing block 250 inputs the WUSB packet to the device input / output IF 260 via the bus line.
The device input / output IF 260 includes a WUSB packet transferred from the protocol processing block 250 or a payload transferred from the second decoding / non-decoding field classifying unit 175 (processing determination information indicating that processing is performed by software). ).
The device input / output IF 260 performs a decoding process on the payload transferred from the second decoding / non-decoding field classification unit 175 by the decoding block 272.
The packet combining block 271 combines the payload decoded by the decoding block 272 and the MAC header to generate a decoded WUSB packet.

(3)暗号化処理を行う暗復号化装置1の手順
図5は、本実施形態におけるハードウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトに係るデータの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ500)。
暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
ここで、暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、パケット中の暗号化対象フィールド長などの処理速度に係る情報を基に第1の閾値、および第2の閾値を算出する(ステップ502)。
暗号化閾値決定ブロック11において第1の閾値、および第2の閾値が算出された場合(ステップ502;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を上回り、第2の閾値を下回った場合、ハードウェアで暗号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ503)。
ソフトウェア処理ブロックのCPU10は、ペイロード(暗号化対象フィールド)をハードウェア側のデバイス入出力IF20に入力する(ステップ504)。
ここで、マックヘッダの処理過程については、ステップ506〜ステップ508にて説明し、ペイロードの処理過程については、ステップ510〜ステップ512にて説明する。
(3) Procedure of Encryption / Decryption Device 1 that Performs Encryption Process FIG. 5 is a flowchart showing the process of the encryption process by hardware in this embodiment.
First, upon receiving a data transfer request or the like related to application software from a user, the CPU 10 of the software processing block generates a WUSB packet including a mac header and a payload (step 500).
The encryption threshold value determination block 11 acquires a Mac header and a payload in the generated packet, and measures each field length.
The encryption threshold value determination block 11 is configured to measure the field length of the payload because the field length of the Mac header may be set in advance in some cases.
Here, the encryption threshold value determination block 11 includes, for example, a CPU clock frequency, a device clock frequency, a device bus bit width, a transfer speed, hardware, software encryption / decryption processing time, an encryption target field length in a packet, and the like. The first threshold value and the second threshold value are calculated based on the information related to the processing speed (step 502).
When the first threshold value and the second threshold value are calculated in the encryption threshold value determination block 11 (step 502; Y), the encryption threshold value determination block 11 uses the calculated first threshold value, And compare to a second threshold.
When the measured field length exceeds the first threshold value and falls below the second threshold value, the encryption threshold value determination block 11 gives processing determination information indicating that the encryption processing is performed by hardware to the payload ( Step 503).
The CPU 10 of the software processing block inputs the payload (encryption target field) to the device input / output IF 20 on the hardware side (step 504).
Here, the processing process of the Mac header will be described in Steps 506 to 508, and the processing process of the payload will be described in Steps 510 to 512.

ソフトウェア処理ブロックのCPU10は、ステップ504において暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断する(ステップ506)。
ペイロードの入力が終了した場合(ステップ506;Y)、続いてマックヘッダの入力を行う。
デバイス入出力IF20は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ508)。
The CPU 10 of the software processing block determines whether or not the input of the encryption target field (payload) has been completed in step 504 (step 506).
When the input of the payload is completed (Step 506; Y), the Mac header is subsequently input.
The device input / output IF 20 transfers the MAC header via the protocol processing block 30 and the encryption / decryption / non-encryption field classification means 40 and stores it in the non-encrypted data RAM 70 (step 508).

ステップ504において、デバイス入出力IF20に入力された暗号化対象フィールド(ペイロード)は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、暗号化ブロック50に転送される。
暗号化ブロック50では、転送されたペイロードに対して、暗号化処理が行われる(ステップ510)。
このとき、暗号化ブロック50は、暗号化に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロード(暗号化対象フィールド)に対して暗号化処理を行う。
そして、暗号化ブロック50は、暗号化処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、格納する(ステップ512)。
In step 504, the encryption target field (payload) input to the device input / output IF 20 is transferred to the encryption block 50 via the protocol processing block 30 and the encryption / decryption / non-encryption field classification means 40. The
In the encryption block 50, encryption processing is performed on the transferred payload (step 510).
At this time, the encryption block 50 performs encryption processing on the payload (encryption target field) by appropriately referring to the encryption key stored in the encryption key RAM 130 at the time of encryption.
Then, the encryption block 50 transfers the payload for which the encryption processing has been completed to the encryption data RAM 60 via the bus line and stores it (step 512).

カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報を取得する。
これにより、カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60にWUSBパケットが揃ったか否かを検知する(ステップ514)。
そして、検知の結果、WUSBパケットが揃った場合(ステップ514;Y)、該検知に基づき、暗号化/非暗号化フィールド読出手段80は、マックヘッド、およびペイロードを読み出し、カウンタ90に転送する。
そして、カウンタ90では、転送されたマックヘッド、およびペイロードを結合し、暗号化されたWUSBパケットを生成し、結合データ用RAM100に格納する(ステップ516)。
The counter 90 is connected to the non-encrypted data RAM 70 and the encrypted data RAM 60 via a bus line, and periodically transmits a read enable signal.
Then, the data count and field length information of each data stored in the non-encrypted data RAM 70 and the encrypted data RAM 60 are acquired.
Thereby, the counter 90 detects whether or not WUSB packets are prepared in the non-encrypted data RAM 70 and the encrypted data RAM 60 (step 514).
If the WUSB packets are prepared as a result of the detection (step 514; Y), based on the detection, the encrypted / unencrypted field reading means 80 reads the mac head and the payload and transfers them to the counter 90.
The counter 90 combines the transferred MAC head and payload, generates an encrypted WUSB packet, and stores it in the combined data RAM 100 (step 516).

FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットを他の装置へWiMedia PHYを介して、データ送信を行う(ステップ518)。
The FCS block 110 adds an FCS field to the WUSB packet stored in the combined data RAM 100 and transfers it to the MAC-PHY IF 120 via the bus line.
Then, the MAC-PHY IF 120 performs data transmission of the WUSB packet added with the FCS field transferred from the FCS block 110 to another device via the WiMedia PHY (step 518).

なお、ステップ504において、ソフトウェア処理ブロックのCPU10は、暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断し(ステップ506)、入力が終了した場合(ステップ506;Y)、マックヘッドをハードウェア側に入力することにしている。
これにより、ステップ504において、まずペイロードが先に暗号化されるので、ステップ514におけるデータが揃う時間をより早く達成することができ、結果的に、より高速な暗号処理装置とすることができる。
In step 504, the CPU 10 of the software processing block determines whether or not the input of the encryption target field (payload) has been completed (step 506). If the input has been completed (step 506; Y), the Mac head Is input to the hardware side.
As a result, since the payload is first encrypted in step 504, the time for the data in step 514 can be achieved earlier, and as a result, a higher-speed cryptographic processor can be obtained.

図6は、本実施形態におけるソフトウェア、およびハードウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ600)。
次に、暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の暗号化対象フィールド長などを基に第1の閾値、および第2の閾値を算出(または決定)する(ステップ602)。
閾値が算出(または決定)された場合(ステップ602;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
そして、暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を上回り、第2の閾値を上回った場合、ハードウェア、およびソフトウェアで暗号化処理を行う旨を示す処理決定情報をペイロード付与する(ステップ603)。
ソフトウェア処理ブロックのCPU10は、ペイロードを暗号化対象フィールドとし、ペイロード、マックヘッドをハードウェア側のデバイス入出力IF20に入力する。
そして、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロード(または暗号化されたペイロード)をそれぞれバスラインを介して、ハードウェア側のデバイス入出力IF20に入力する(ステップ608)。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で暗号処理する旨である場合には、ソフトウェア処理ブロックのCPU10にてペイロードの分割を行い、それぞれ、閾値以下のフィールド長のペイロードについては、暗号化ブロック50(ハードウェアで処理)で暗号化処理され、閾値以上のフィールド長のペイロードについては、暗号化ブロック14(ソフトウェアで処理)で暗号化処理されるように構成される。
FIG. 6 is a flowchart showing a process of encryption processing by software and hardware in this embodiment.
First, upon receiving a request for transferring application software from the user, the CPU 10 of the software processing block generates a WUSB packet composed of a MAC header and a payload (step 600).
Next, the encryption threshold value determination block 11 acquires a Mac header and a payload in the generated packet, and measures each field length.
The encryption threshold value determination block 11 is based on, for example, the CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and encryption target field length in the packet. The first threshold value and the second threshold value are calculated (or determined) (step 602).
When the threshold value is calculated (or determined) (step 602; Y), the encryption threshold value determination block 11 compares the measured field length with the calculated first threshold value and the calculated second threshold value.
Then, the encryption threshold value determination block 11 displays processing determination information indicating that the encryption process is performed by hardware and software when the measured field length exceeds the first threshold value and exceeds the second threshold value. A payload is added (step 603).
The CPU 10 of the software processing block uses the payload as an encryption target field, and inputs the payload and the mac head to the hardware device input / output IF 20.
Then, the CPU 10 of the software processing block inputs the mac header and payload (or encrypted payload) to the device input / output IF 20 on the hardware side via the bus lines (step 608).
If the processing decision information is to perform cryptographic processing by both hardware and software, the CPU 10 of the software processing block divides the payload, and each payload having a field length equal to or less than the threshold is encrypted. The encryption block 50 (processed by hardware) performs encryption processing, and the payload having a field length equal to or greater than the threshold is encrypted by the encryption block 14 (processed by software).

ここで、ソフトウェアにおける暗号処理過程をステップ604〜ステップ606にて説明する。また、ハードウェアにおける暗号処理過程をステップ610〜ステップ616にて説明する。
特に、マックヘッダの処理過程については、ステップ610〜ステップ612にて説明し、ペイロードの処理過程については、ステップ614〜ステップ616にて説明する。
Here, the cryptographic process in software will be described in steps 604 to 606. Also, the cryptographic process in hardware will be described in steps 610 to 616.
In particular, the Mac header processing process will be described in Steps 610 to 612, and the payload processing process will be described in Steps 614 to 616.

まず、ソフトウェア処理ブロックのCPU10は、暗号化ブロック14で第1の閾値、または第2の閾値以降のフィールド長のペイロードについて暗号化を行い(ステップ604)、暗号化されたペイロードをデバイス入出力IF20に入力する。
該暗号化されたペイロードは、デバイス入出力IF20、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号データ用RAM60に格納される(ステップ606)。
First, the CPU 10 of the software processing block encrypts the payload having a field length equal to or greater than the first threshold value or the second threshold value in the encryption block 14 (step 604), and the encrypted payload is transmitted to the device input / output IF 20. To enter.
The encrypted payload is stored in the encrypted data RAM 60 via the device input / output IF 20, the protocol processing block 30, and the encrypted / unencrypted field classifying means 40 (step 606).

ソフトウェア処理ブロックのCPU10は、ステップ608において暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断する(ステップ610)。
ペイロードの入力が終了した場合(ステップ610;Y)、続いてマックヘッダの入力を行う(ステップ610;Y)。
デバイス入出力IF20は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ612)。
The CPU 10 of the software processing block determines whether or not the input of the encryption target field (payload) is completed in step 608 (step 610).
When the input of the payload is completed (Step 610; Y), the Mac header is subsequently input (Step 610; Y).
The device input / output IF 20 transfers the MAC header via the protocol processing block 30 and the encryption / decryption / non-encryption field classification means 40 and stores it in the non-encrypted data RAM 70 (step 612).

ステップ608において、デバイス入出力IF20に入力された暗号化対象フィールド(ペイロード)は、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号化ブロック50に転送される。
暗号化ブロック50では、転送されたペイロードに対して、暗号化処理が行われる(ステップ614)。
このとき、暗号化ブロック50は、暗号化に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロード(暗号化対象フィールド)に対して暗号化処理を行う。
そして、暗号化ブロック50は、暗号化処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、該暗号データ用RAM60に暗号化されたペイロードを格納する(ステップ616)。
In step 608, the encryption target field (payload) input to the device input / output IF 20 is transferred to the encryption block 50 via the protocol processing block 30 and the encryption / non-encryption field classification means 40.
In the encryption block 50, encryption processing is performed on the transferred payload (step 614).
At this time, the encryption block 50 performs encryption processing on the payload (encryption target field) by appropriately referring to the encryption key stored in the encryption key RAM 130 at the time of encryption.
Then, the encryption block 50 transfers the payload after the encryption processing to the encryption data RAM 60 via the bus line, and stores the encrypted payload in the encryption data RAM 60 (step 616).

カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報(マックヘッド)を取得する。
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に対となるWUSBパケットが揃ったか否かを検知する(ステップ618)。
そして、対となるWUSBパケットを検知した場合(ステップ618;Y)に、暗号化/非暗号化フィールド読出手段80からマックヘッド、および暗号化されたペイロードがカウンタ90に転送される。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、WUSBパケットを生成する。
カウンタ90では、暗号化されたWUSBパケットを、結合データ用RAM100に格納する(ステップ620)。
The counter 90 is connected to the non-encrypted data RAM 70 and the encrypted data RAM 60 via a bus line, and periodically transmits a read enable signal.
The data count and field length information (mac head) of each data stored in the non-encrypted data RAM 70 and the encrypted data RAM 60 are acquired.
The counter 90 detects whether or not a pair of WUSB packets are prepared in the non-encrypted data RAM 70 and the encrypted data RAM 60 (step 618).
When the paired WUSB packet is detected (step 618; Y), the encrypted / unencrypted field reading means 80 transfers the mac head and the encrypted payload to the counter 90.
The counter 90 combines the Mac head and the encrypted payload to generate a WUSB packet.
The counter 90 stores the encrypted WUSB packet in the combined data RAM 100 (step 620).

FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットをWiMedia PHYを介してデータ送信を行う(ステップ622)。
The FCS block 110 adds an FCS field to the WUSB packet stored in the combined data RAM 100 and transfers it to the MAC-PHY IF 120 via the bus line.
Then, the MAC-PHY IF 120 performs data transmission of the WUSB packet added with the FCS field transferred from the FCS block 110 via the WiMedia PHY (step 622).

図7は、本実施形態におけるソフトウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ700)。
次に、暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の暗号化対象フィールド長などを基に第1の閾値、および第2の閾値を算出(または決定)する(ステップ702)。
閾値が算出(または決定)された場合(ステップ702;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
そして、計測されたフィールド長が第1の閾値、および第2の閾値を下回った場合、ハードウェアで暗号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ703)。
FIG. 7 is a flowchart showing a process of encryption processing by software in the present embodiment.
First, upon receiving a request for transferring application software from the user, the CPU 10 of the software processing block generates a WUSB packet including a mac header and a payload (step 700).
Next, the encryption threshold value determination block 11 acquires a Mac header and a payload in the generated packet, and measures each field length.
The encryption threshold value determination block 11 is configured to measure the field length of the payload because the field length of the Mac header may be set in advance in some cases.
The encryption threshold value determination block 11 is based on, for example, the CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and encryption target field length in the packet. The first threshold value and the second threshold value are calculated (or determined) (step 702).
When the threshold is calculated (or determined) (step 702; Y), the encryption threshold determination block 11 compares the measured field length with the calculated first threshold and the second threshold.
When the measured field length falls below the first threshold value and the second threshold value, processing determination information indicating that the encryption processing is performed by hardware is added to the payload (step 703).

ここで、マックヘッダの処理過程については、ステップ704にて説明し、ペイロードの処理過程については、ステップ706〜ステップ708にて説明する。   Here, the Mac header processing process will be described in step 704, and the payload processing process will be described in steps 706 to 708.

デバイス入出力IF20は、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ704)。
次に、ソフトウェア処理ブロックのCPU10は、暗号化ブロック14で第1の閾値、または第2の閾値を下回るフィールド長のペイロードの暗号化を行い(ステップ706)、暗号化されたペイロードをデバイス入出力IF20に入力する。
そして、デバイス入出力IF20は、暗号化されたペイロードを、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号データ用RAM60に格納する(ステップ708)。
The device input / output IF 20 transfers the MAC header via the protocol processing block 30 and the encrypted / non-encrypted field classification means 40 and stores it in the non-encrypted data RAM 70 (step 704).
Next, the CPU 10 of the software processing block encrypts the payload having a field length below the first threshold or the second threshold in the encryption block 14 (step 706), and the encrypted payload is input / output to the device. Input to IF20.
The device input / output IF 20 then stores the encrypted payload in the encrypted data RAM 60 via the protocol processing block 30 and the encrypted / unencrypted field classifying means 40 (step 708).

カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報(マックヘッド)を取得する。
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に対となるWUSBパケットが揃ったか否かを検知する(ステップ710)。
対となるWUSBパケットを検知した場合(ステップ710;Y)に、暗号化/非暗号化フィールド読出手段80からマックヘッド、および暗号化されたペイロードが転送される。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、WUSBパケットを生成し、結合データ用RAM100に格納する(ステップ712)。
The counter 90 is connected to the non-encrypted data RAM 70 and the encrypted data RAM 60 via a bus line, and periodically transmits a read enable signal.
The data count and field length information (mac head) of each data stored in the non-encrypted data RAM 70 and the encrypted data RAM 60 are acquired.
The counter 90 detects whether or not a pair of WUSB packets are prepared in the non-encrypted data RAM 70 and the encrypted data RAM 60 (step 710).
When a paired WUSB packet is detected (step 710; Y), the encrypted / unencrypted field reading means 80 transfers the mac head and the encrypted payload.
The counter 90 combines the MAC head and the encrypted payload to generate a WUSB packet and stores it in the combined data RAM 100 (step 712).

FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットをWiMedia PHYを介してデータ送信を行う(ステップ714)。
The FCS block 110 adds an FCS field to the WUSB packet stored in the combined data RAM 100 and transfers it to the MAC-PHY IF 120 via the bus line.
Then, the MAC-PHY IF 120 performs data transmission of the WUSB packet added with the FCS field transferred from the FCS block 110 via the WiMedia PHY (step 714).

(4)復号化処理を行う暗復号化装置1の手順
図8は、本実施形態におけるハードウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、暗号化されたWUSBパケットをWiMedia PHYを介して、他の装置から受信する(ステップ800)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ802)。
そして、データの誤りがない場合には(ステップ802;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ802;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ804)。
(4) Procedure of Encryption / Decryption Device 1 that Performs Decoding Processing FIG. 8 is a flowchart showing a process of decoding processing by hardware in the present embodiment.
First, the MAC-PHY IF 135 receives the encrypted WUSB packet from another device via the WiMedia PHY (step 800).
Then, the encrypted WUSB packet is transferred to the FCS block 140.
The FCS block 140 calculates a checksum code from the FCS field added to the WUSB packet and performs data error detection (step 802).
If there is no data error (step 802; Y), the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
If there is a data error (step 802; N), the packet is discarded and a data retransmission request is made to another device (step 804).

復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ806)。
そして、暗号化されている場合、復号化が必要であるため、復号化判定ブロック150は、WUSBパケットのペイロード(復号化対象フィールド)を、WUSBパケットを第1の復号化/非復号化フィールド分類手段160に転送する(ステップ806;Y)。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ808)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基に算出する方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ808;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The decryption determination block 150 determines whether or not the transferred WUSB packet is encrypted (step 806).
Then, since the decryption is necessary if it is encrypted, the decryption determination block 150 uses the payload (decryption target field) of the WUSB packet and the first decryption / non-decryption field classification of the WUSB packet. Transfer to the means 160 (step 806; Y).
The decoding threshold value determination block 170 acquires the Mac header and the payload in the transferred packet, and measures each acquired field length.
Then, the decoding threshold value determination block 170 calculates (or determines) the first threshold value and the second threshold value (step 808).
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a method of calculating based on information related to processing speed such as the length of a decoding target field in a packet.
When the threshold is determined in the decoding threshold determination block 170 (step 808; Y), the decoding threshold determination block 170 includes the measured field length, the calculated first threshold, and the second threshold. Compare

そして、計測されたフィールド長が第1の閾値を下回るか否かを判断し、下回る場合、ハードウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ809)。
ハードウェアにて復号化処理を行うため、ペイロードを復号化対象フィールドとし、該復号化対象フィールドを第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードが復号化対象フィールドであるか否かに基づき、復号化対象フィールドを復号化ブロック180に転送する。
ここで、マックヘッダの処理過程については、ステップ810〜ステップ812にて説明し、ペイロードの処理過程については、ステップ814〜ステップ816にて説明する。
Then, it is determined whether or not the measured field length is less than the first threshold value. If the measured field length is less than the first threshold value, processing determination information indicating that the decoding process is performed by hardware is added to the payload (step 809).
In order to perform the decoding process by hardware, the payload is set as a decoding target field, and the decoding target field is transferred to the second decoding / non-decoding field classifying unit 175 via the bus line.
The second decoding / non-decoding field classification unit 175 transfers the decoding target field to the decoding block 180 based on whether or not the payload is the decoding target field.
Here, the Mac header processing process will be described in Steps 810 to 812, and the payload processing process will be described in Steps 814 to 816.

デバイス入出力IF260は、ペイロード(復号化対象フィールド)の入力が終了したか否かを判断し(ステップ810)、入力が終了した場合に、続いて、マックヘッドの入力が行われる(ステップ810;Y)。
そして、該マックヘッドは、非復号データ用RAM210に転送され、格納される(ステップ812)。
The device input / output IF 260 determines whether or not the input of the payload (decoding target field) is completed (step 810), and when the input is completed, the input of the mac head is subsequently performed (step 810; Y).
Then, the mac head is transferred to the non-decoded data RAM 210 and stored (step 812).

復号化ブロック180は、第2の復号化/非復号化フィールド分類手段175から転送されたペイロードの復号化処理を行う(ステップ814)。
このとき、復号化に際して、復号化ブロック180は、復号鍵用RAM190に格納された復号鍵を適宜参照して、復号化対象フィールドに対して復号化処理を行う。
そして、復号化ブロック180は、復号化の処理が終了した復号化対象フィールドを復号データ用RAM210にバスラインを介して転送し、復号化されたペイロードを格納する(ステップ816)。
The decoding block 180 performs a decoding process on the payload transferred from the second decoding / non-decoding field classification unit 175 (step 814).
At this time, in the decryption, the decryption block 180 appropriately refers to the decryption key stored in the decryption key RAM 190 and performs the decryption process on the decryption target field.
Then, the decryption block 180 transfers the decryption target field, which has been decrypted, to the decrypted data RAM 210 via the bus line, and stores the decrypted payload (step 816).

カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得する。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210にWUSBパケットが揃ったか否かを検知する(ステップ818)。
復号化されたWUSBパケットが揃った場合(ステップ818;Y)に、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する暗号化されたペイロードがカウンタ230に転送され、該カウンタ230では、転送されたマックヘッド、およびペイロードを結合して、復号化されたWUSBパケットを生成する。
そして、カウンタ230では、この復号化されたWUSBパケットを、結合データ用RAM240に格納する(ステップ820)。
プロトコル処理ブロック250は、結合データ用RAM240に格納されたWUSBパケットを、デバイス入出力IF260に転送する。
そして、デバイス入出力IF260は、復号化されたWUSBパケットを受信し、ソフトウェア処理ブロックのCPU270に対して入力する(ステップ822)。
The counter 230 is connected to the non-decoded data RAM 200 and the decoded data RAM 210 via a bus line, and periodically transmits a read enable signal.
The counter 230 acquires the data count and field length information of each data stored in the non-decoded data RAM 200 and the decoded data RAM 210.
The counter 230 detects whether or not WUSB packets are prepared in the non-decoded data RAM 200 and the decoded data RAM 210 (step 818).
When the decrypted WUSB packets are ready (step 818; Y), the decryption / non-decryption field reading means 220 transfers the mac head and the encrypted payload corresponding to the mac head to the counter 230. The counter 230 combines the transferred mac head and the payload to generate a decoded WUSB packet.
The counter 230 stores the decoded WUSB packet in the combined data RAM 240 (step 820).
The protocol processing block 250 transfers the WUSB packet stored in the combined data RAM 240 to the device input / output IF 260.
The device input / output IF 260 then receives the decrypted WUSB packet and inputs it to the CPU 270 of the software processing block (step 822).

一方、ステップ806において、WUSBパケットが暗号化されていない場合、復号化判定ブロック150は、該WUSBパケットをデバイス入出力IF260を介してソフトウェア処理ブロックのCPU270に対して入力する(ステップ806;N)。   On the other hand, when the WUSB packet is not encrypted in step 806, the decryption determination block 150 inputs the WUSB packet to the CPU 270 of the software processing block via the device input / output IF 260 (step 806; N). .

図9は、本実施形態におけるソフトウェア、およびハードウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、WiMedia PHYを介して、暗号化されたWUSBパケットを他の装置から受信する(ステップ900)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ902)。
そして、データの誤りがない場合には(ステップ902;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ902;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ904)。
FIG. 9 is a flowchart showing a process of decoding processing by software and hardware in the present embodiment.
First, the MAC-PHY IF 135 receives an encrypted WUSB packet from another device via the WiMedia PHY (step 900).
Then, the encrypted WUSB packet is transferred to the FCS block 140.
The FCS block 140 calculates a checksum code from the FCS field added to the WUSB packet and performs data error detection (step 902).
If there is no data error (step 902; Y), the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
If there is a data error (step 902; N), the packet is discarded and a data retransmission request is made to another device (step 904).

復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ906)。
そして、暗号化されている場合(ステップ906;Y)、復号化が必要であるため、復号化判定ブロック150は、ペイロード(復号化対象フィールド)を含むWUSBパケットを、第1の復号化/非復号化フィールド分類手段160に転送する。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ908)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ908;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The decryption determination block 150 determines whether or not the transferred WUSB packet is encrypted (step 906).
If it is encrypted (step 906; Y), since decryption is necessary, the decryption determination block 150 performs the first decryption / non-decryption on the WUSB packet including the payload (field to be decrypted). Transfer to the decryption field classification means 160.
The decoding threshold value determination block 170 acquires the Mac header and the payload in the transferred packet, and measures each acquired field length.
Then, the decoding threshold value determination block 170 calculates (or determines) the first threshold value and the second threshold value (step 908).
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a calculation method based on information related to processing speed such as the length of a decoding target field in a packet.
When the threshold is determined in the decoding threshold determination block 170 (step 908; Y), the decoding threshold determination block 170 includes the measured field length, the calculated first threshold, and the second threshold. Compare

そして、計測されたフィールド長が第1の閾値、および第2の閾値を上回るか否かを判断し、上回る場合、ハードウェア、およびソフトウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ909)。
そして、ハードウェア、およびソフトウェアにて復号化処理を行うため、ペイロード(復号化対象フィールド)を第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
そして、復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、復号化ブロック180に転送し、処理決定情報がソフトウェアにて処理する旨を示す情報である場合、デバイス入出力IF260に転送する。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で復号処理する旨である場合には、復号化閾値決定ブロック170にてペイロードの分割を行い、それぞれ、閾値以下のフィールド長のペイロードについては、復号化ブロック180(ハードウェアで処理)で復号化処理され、閾値以上のフィールド長のペイロードについては、暗号化ブロック272(ソフトウェアで処理)で復号化処理されるように構成される(ステップ910)。
Then, it is determined whether or not the measured field length exceeds the first threshold value and the second threshold value, and if so, processing determination information indicating that decoding processing is performed by hardware and software is included in the payload. (Step 909).
Then, in order to perform decoding processing by hardware and software, the payload (decoding target field) is transferred to the second decoding / non-decoding field classification means 175 via the bus line.
Then, the decoding threshold value determination block 170 attaches the processing determination information to the payload and transfers it to the second decoding / non-decoding field classification unit 175 via the bus line.
The second decoding / non-decoding field classification unit 175 recognizes the processing decision information given to the payload. As a result of recognition, when the processing determination information of the payload is information indicating that it is processed by hardware, it is transferred to the decoding block 180, and when the processing determination information is information indicating that it is processed by software , Transfer to the device input / output IF 260.
If the processing determination information is to be decoded by both hardware and software, the payload is divided at the decoding threshold determination block 170, and for each payload having a field length equal to or less than the threshold, The payload is decrypted by the decryption block 180 (processed by hardware), and the payload having a field length equal to or greater than the threshold is decrypted by the encryption block 272 (processed by software) (step 910). .

ここで、ソフトウェアにおける復号処理過程をステップ912にて説明する。また、ハードウェアにおける復号処理過程をステップ914〜ステップ920にて説明する。特に、マックヘッダの処理過程については、ステップ914〜ステップ916にて説明し、ペイロードの処理過程については、ステップ918〜ステップ920にて説明する。   Here, the decoding process in software will be described in step 912. Also, the decoding process in hardware will be described in steps 914 to 920. In particular, the Mac header processing process will be described in steps 914 to 916, and the payload processing process will be described in steps 918 to 920.

ソフトウェア処理ブロックのCPU270は、デバイス入出力IF260から第1の閾値、または第2の閾値以降のフィールド長のペイロードについて復号化を行う(ステップ912)。
一方、デバイス入出力IF200は、ペイロード(復号化対象フィールド)の入力が終了したか否かを判断し(ステップ914)、入力が終了した場合(ステップ914;Y)、マックヘッドを非復号データ用RAM200に転送し、格納する(ステップ916)。
The CPU 270 of the software processing block decodes the payload having a field length from the device input / output IF 260 of the first threshold value or the second threshold value (step 912).
On the other hand, the device input / output IF 200 determines whether or not the input of the payload (decoding target field) is completed (step 914). When the input is completed (step 914; Y), the mac head is used for non-decoded data. The data is transferred to the RAM 200 and stored (step 916).

復号化ブロック180は、転送されたペイロード(復号化対象フィールド)の復号化処理を行う(ステップ918)。
このとき、復号化に際して、復号化ブロック180は、復号鍵用RAM190に格納された復号鍵を適宜参照して、ペイロード(復号化対象フィールド)に対して復号化処理を行う。
そして、復号化ブロック180は、復号化処理が終了したペイロード(復号化対象フィールド)を暗号データ用RAM210にバスラインを介して転送して格納する(ステップ920)。
The decryption block 180 decrypts the transferred payload (decoding target field) (step 918).
At this time, at the time of decryption, the decryption block 180 appropriately decrypts the payload (decryption target field) with reference to the decryption key stored in the decryption key RAM 190 as appropriate.
Then, the decryption block 180 transfers the payload (decryption target field) that has been decrypted to the encrypted data RAM 210 via the bus line and stores it (step 920).

カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得する。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210にWUSBパケットが揃ったか否かを検知する(ステップ922)。
そして、暗号化されたWUSBパケットが揃った場合(ステップ922;Y)に、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する暗号化されたペイロードがカウンタ230に転送され、該カウンタ230では、転送されたマックヘッド、およびペイロードを結合して、復号化されたWUSBパケットを生成する。
そして、カウンタ230では、この復号化されたWUSBパケットを、結合データ用RAM240に格納する(ステップ924)。
プロトコル処理ブロック250は、結合データ用RAM240に格納されたWUSBパケットを、デバイス入出力IF260に転送する。
そして、デバイス入出力IF260は、復号化されたWUSBパケットを受信し、ソフトウェア処理ブロックのCPU270に対して入力する。
ソフトウェア処理ブロックのCPU270では、ハードウェアによる復号処理されたペイロード、およびソフトウェアによる復号処理されたペイロードをそれぞれ結合し、該結合されたパケットに、さらにマックヘッダを結合して、WUSBパケットを生成する(ステップ926)。
The counter 230 is connected to the non-decoded data RAM 200 and the decoded data RAM 210 via a bus line, and periodically transmits a read enable signal.
The counter 230 acquires the data count and field length information of each data stored in the non-decoded data RAM 200 and the decoded data RAM 210.
The counter 230 detects whether or not WUSB packets are prepared in the non-decoded data RAM 200 and the decoded data RAM 210 (step 922).
When the encrypted WUSB packets are ready (step 922; Y), the decryption / non-decryption field reading unit 220 sends the mac head and the encrypted payload corresponding to the mac head to the counter 230. The counter 230 combines the transferred mac head and the payload to generate a decoded WUSB packet.
The counter 230 stores the decrypted WUSB packet in the combined data RAM 240 (step 924).
The protocol processing block 250 transfers the WUSB packet stored in the combined data RAM 240 to the device input / output IF 260.
The device input / output IF 260 receives the decrypted WUSB packet and inputs it to the CPU 270 of the software processing block.
The CPU 270 of the software processing block combines the hardware-decoded payload and the software-decoded payload, and further combines a Mac header with the combined packet to generate a WUSB packet ( Step 926).

一方、ステップ906において、WUSBパケットが暗号化されていない(復号化しない)場合(ステップ906;N)、復号化判定ブロック150は、該WUSBパケットを復号化しないものとして、デバイス入出力IF260を介してソフトウェア処理ブロックのCPU270に対して入力する(ステップ928)。   On the other hand, if the WUSB packet is not encrypted (not decrypted) in step 906 (step 906; N), the decryption determination block 150 determines that the WUSB packet is not decrypted via the device input / output IF 260. To the CPU 270 of the software processing block (step 928).

図10は、本実施形態におけるソフトウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、暗号化されたWUSBパケットをWiMedia PHYを介して、他の装置から受信する(ステップ1000)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ1002)。
そして、データの誤りがない場合には(ステップ1002;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ1002;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ1004)。
FIG. 10 is a flowchart showing the process of decryption processing by software in this embodiment.
First, the MAC-PHY IF 135 receives an encrypted WUSB packet from another device via the WiMedia PHY (step 1000).
Then, the encrypted WUSB packet is transferred to the FCS block 140.
The FCS block 140 calculates a checksum code from the FCS field added to the WUSB packet and performs data error detection (step 1002).
If there is no data error (step 1002; Y), the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
If there is a data error (step 1002; N), the packet is discarded and a data retransmission request is made to another device (step 1004).

復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ1006)。
そして、暗号化されている場合(ステップ1006;Y)、復号化が必要であるため、復号化判定ブロック150は、WUSBパケットを第1の復号化/非復号化フィールド分類手段160に転送する。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ1008)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出する方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ1008;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The decryption determination block 150 determines whether or not the transferred WUSB packet is encrypted (step 1006).
If it is encrypted (step 1006; Y), since decryption is necessary, the decryption determination block 150 transfers the WUSB packet to the first decryption / non-decryption field classification unit 160.
The decoding threshold value determination block 170 acquires the Mac header and the payload in the transferred packet, and measures each acquired field length.
Then, the decoding threshold value determination block 170 calculates (or determines) the first threshold value and the second threshold value (step 1008).
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a calculation method based on information related to processing speed such as the length of a field to be decoded in a packet.
When the threshold value is determined by the decoding threshold value determination block 170 (step 1008; Y), the decoding threshold value determination block 170 includes the measured field length, the calculated first threshold value, and the second threshold value. Compare

計測されたフィールド長が第1の閾値を下回るか否かを判断し、下回る場合、ソフトウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ1009)。
ソフトウェアにて復号化処理を行うため、ペイロード(復号化対象フィールド)を第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、該ペイロードを復号化ブロック180に転送する。
It is determined whether or not the measured field length is less than the first threshold value. If the measured field length is less than the first threshold value, processing determination information indicating that the decoding process is performed by software is added to the payload (step 1009).
In order to perform the decoding process by software, the payload (decoding target field) is transferred to the second decoding / non-decoding field classifying unit 175 via the bus line.
The decoding threshold value determination block 170 attaches the processing determination information to the payload, and transfers it to the second decoding / non-decoding field classification unit 175 via the bus line.
The second decoding / non-decoding field classification unit 175 recognizes the processing decision information given to the payload. As a result of the recognition, if the payload processing decision information is information indicating that processing is performed by hardware, the payload is transferred to the decoding block 180.

ソフトウェア処理ブロックのCPU270は、デバイス入出力IF260から第1の閾値、または第2の閾値を下回るフィールド長のペイロードの復号化を行う(ステップ1009)。   The CPU 270 of the software processing block decodes a payload having a field length that is less than the first threshold value or the second threshold value from the device input / output IF 260 (step 1009).

以上説明したように、本実施形態では、暗号処理、および復号処理を併用して処理することが可能である。
そして、本実施形態における暗復号処理では、第1の閾値、および第2の閾値を算出し、これら閾値とフィールド長との比較の結果、計測されたフィールド長が第1の閾値を下回る場合、ソフトウェア側にて暗復号化処理を行うように構成され、上回る場合には、ハードウェア側にて処理するように構成されている。
また、第2の閾値を上回る場合には、ソフトウェア、およびハードウェアの両者を用いて暗復号化処理を行うように構成されている。
As described above, in the present embodiment, it is possible to perform processing by using both encryption processing and decryption processing.
Then, in the encryption / decryption processing in the present embodiment, when the first threshold value and the second threshold value are calculated and the measured field length is less than the first threshold value as a result of comparison between the threshold value and the field length, It is configured to perform encryption / decryption processing on the software side, and when it exceeds, it is configured to perform processing on the hardware side.
Moreover, when exceeding a 2nd threshold value, it is comprised so that an encryption / decryption process may be performed using both software and hardware.

本実施形態では、ハードウェアによる暗復号処理を行う、またはハードウェアとソフトウェアの両者による暗復号処理を行う場合には、暗復号化対象フィールド(ペイロード)を非暗復号化対象フィールド(マックヘッダ)より優先して入力する。
これにより、パケット通信システムにおけるデバイスへの入力順序や、1のパケットの暗復号処理に注目することができ、結果的に、暗復号化における処理速度を向上させることができる。
In the present embodiment, when performing encryption / decryption processing by hardware, or when performing encryption / decryption processing by both hardware and software, the encryption / decryption target field (payload) is changed to the non-encryption / decryption target field (Mac header). Enter with higher priority.
Thereby, attention can be paid to the order of input to devices in the packet communication system and the encryption / decryption processing of one packet, and as a result, the processing speed in encryption / decryption can be improved.

なお、本実施形態では、暗復号化装置1を無線通信システム(WUSB)に接続される装置としたが、本発明の機器、およびアプリケーションはそれに限定されることなく、IEEE802.11無線LANや、他の有線通信システムなどにおいても本発明を実施することが可能である。
また、上記通信方式の変更によって、ヘッダもマックヘッダのみに限定されることなく、種々に設定される。
In the present embodiment, the encryption / decryption device 1 is a device connected to a wireless communication system (WUSB). However, the device and application of the present invention are not limited thereto, and the IEEE 802.11 wireless LAN, The present invention can also be implemented in other wired communication systems.
In addition, the header is not limited to only the Mac header but can be set variously by changing the communication method.

(5)変形例
図2は、本実施形態の変形例における暗号化処理を行う暗復号化装置1の構成を示したブロック図である。
なお、以下に説明する各実施形態の説明では、本実施形態と同様の部分については同一の符号を付し、異なる部分については、異なる符号を付す。そして、同一部分については、適宜その説明を省略することとする。
(5) Modified Example FIG. 2 is a block diagram showing the configuration of the encryption / decryption device 1 that performs the encryption process in the modified example of the present embodiment.
In the description of each embodiment described below, the same parts as those in the present embodiment are denoted by the same reference numerals, and different parts are denoted by different reference numerals. The description of the same part will be omitted as appropriate.

本実施形態の変形例では、暗号化閾値決定ブロック11がハードウェア側に実装されている。
すなわち、本実施形態の変形例におけるソフトウェアは、ソフトウェア処理ブロックのCPU10(マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14)によって構成され、本実施形態の変形例におけるハードウェアは、暗号化閾値決定ブロック11、デバイス入出力IF20、プロトコル処理ブロック30、暗号化/非暗号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCSブロック110、MAC−PHYIF120、および暗号鍵用RAM130によって構成されるものとして説明する。
In the modification of this embodiment, the encryption threshold value determination block 11 is mounted on the hardware side.
That is, the software in the modification of the present embodiment is configured by the CPU 10 (Mac header generation block 12, payload generation block 13, and encryption block 14) of the software processing block, and the hardware in the modification of the present embodiment is Encryption threshold determination block 11, device input / output IF 20, protocol processing block 30, encryption / non-encryption field classification means 40, encryption block 50, encryption data RAM 60, non-encryption data RAM 70, encryption / non-encryption The description will be made assuming that the field reading means 80, the counter 90, the combined data RAM 100, the FCS block 110, the MAC-PHY IF 120, and the encryption key RAM 130 are included.

本実施形態の変形例では、暗号化閾値決定ブロック11にてソフトウェアで暗号化処理が必要となった場合は、ソフトウェアで暗号化処理を行う対象フィールドのみを抽出し、ハードウェアからソフトウェアに再転送することができる。   In the modification of the present embodiment, when the encryption threshold determination block 11 requires encryption processing by software, only the target field to be encrypted by software is extracted and re-transferred from hardware to software. can do.

本実施形態の暗号化処理を行う暗復号化装置の構成を示したブロック図である。It is the block diagram which showed the structure of the encryption / decryption apparatus which performs the encryption process of this embodiment. 本実施形態の変形例における暗号化処理を行う暗復号化装置の構成を示したブロック図である。It is the block diagram which showed the structure of the encryption / decryption apparatus which performs the encryption process in the modification of this embodiment. 本実施形態の復号化処理を行う暗復号化装置の構成を示したブロック図である。It is the block diagram which showed the structure of the encryption / decryption apparatus which performs the decoding process of this embodiment. 復号化閾値決定ブロックで閾値が算出され、該閾値によってフィールド長が判定される判定例を示した図である。FIG. 10 is a diagram illustrating a determination example in which a threshold is calculated by a decoding threshold determination block, and a field length is determined based on the threshold. 本実施形態におけるハードウェアによる暗号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the encryption process by the hardware in this embodiment. 本実施形態におけるハードウェア、およびソフトウェアによる暗号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the encryption process by the hardware in this embodiment, and software. 本実施形態におけるソフトウェアによる暗号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the encryption process by the software in this embodiment. 本実施形態におけるハードウェアによる復号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the decoding process by the hardware in this embodiment. 本実施形態におけるソフトウェア、およびハードウェアによる復号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the decoding process by the software and hardware in this embodiment. 本実施形態におけるソフトウェアによる復号化処理の過程を示したフローチャートである。It is the flowchart which showed the process of the decoding process by the software in this embodiment. WUSBパケットを示した概念図である。It is the conceptual diagram which showed the WUSB packet.

符号の説明Explanation of symbols

1 暗復号化装置
10 ソフトウェア処理ブロックのCPU
11 暗号化閾値決定ブロック
12 マックヘッダ生成ブロック
13 ペイロード生成ブロック
14 暗号化ブロック
20 デバイス入出力IF
30 プロトコル処理ブロック
40 暗号化/非暗号化フィールド分類手段
50 暗号化ブロック
60 暗号データ用RAM
70 非暗号データ用RAM
80 暗号化/非暗号化フィールド読出手段
90 カウンタ
100 結合データ用RAM
110 FCSブロック
120 MAC−PHYIF
130 暗号鍵用RAM
135 MAC−PHYIF
140 FCSブロック
150 復号化判定ブロック
160 第1の復号化/非復号化フィールド分類手段
170 復号化閾値決定ブロック
175 第2の復号化/非復号化フィールド分類手段
180 復号化ブロック
190 復号鍵用RAM
200 非復号データ用RAM
210 復号データ用RAM
220 復号化/非復号化フィールド読出手段
230 カウンタ
240 結合データ用RAM
250 プロトコル処理ブロック
260 デバイス入出力IF
270 ソフトウェア処理ブロックのCPU
271 パケット結合ブロック
272 復号化ブロック
1 Encryption / Decryption Device 10 Software Processing Block CPU
11 Encryption threshold determination block 12 Mac header generation block 13 Payload generation block 14 Encryption block 20 Device input / output IF
30 Protocol processing block 40 Encrypted / non-encrypted field classification means 50 Encrypted block 60 Encrypted data RAM
70 RAM for non-encrypted data
80 Encrypted / non-encrypted field reading means 90 Counter 100 Combined data RAM
110 FCS block 120 MAC-PHYIF
130 Encryption key RAM
135 MAC-PHYIF
140 FCS block 150 Decryption judgment block 160 First decryption / non-decryption field classification means 170 Decoding threshold determination block 175 Second decryption / non-decryption field classification means 180 Decryption block 190 Decryption key RAM
200 RAM for non-decoded data
210 Decoded data RAM
220 Decoding / non-decoding field reading means 230 Counter 240 Combined data RAM
250 Protocol processing block 260 Device input / output IF
270 CPU of software processing block
271 Packet Combining Block 272 Decoding Block

Claims (11)

ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、
非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領手段と、
前記パケット受領手段で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測手段と、
前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定手段と
前記処理決定手段において、ハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合に、前記パケット受領手段で受領した前記パケットのペイロードをソフトウェアによって分割する分割手段と、
前記分割手段が分割したペイロードの一部をソフトウェアによってハードウェアに入力する入力手段と、
前記入力手段により入力された前記分割したペイロードの一部をハードウェアが暗復号化処理し、また、前記分割手段が分割したペイロードの残りのぺイロードをソフトウェアが暗復号化処理し、当該各々暗復号化処理されたペイロードを格納する暗復号データ格納手段と、
前記非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、
前記暗復号データ格納手段に格納された暗復号化処理されたペイロード、および前記非暗復号データ格納手段に格納されたヘッダから、対となるパケットを検出するパケット検出手段と、
前記パケット検出手段で検出された、対となるパケットである、ヘッダ、およびペイロードをそれぞれ結合してパケットを生成するパケット生成手段と、
を備え、
前記入力手段は、前記ペイロードを前記ヘッダの格納より優先して入力することを特徴とする暗復号化装置。
In an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software,
A packet receiving means for receiving a packet including a header that is a non-encryption target field and a payload that is an encryption target field;
A field length measuring means for measuring a field length of a packet received by the packet receiving means or a payload;
Based on the field length measured by the field length measuring means, hardware encryption / decryption processing is performed, software encryption / decryption processing is performed, or both hardware / software encryption / decryption processing is performed. or, a processing determining means for determining a,
In the processing determining means, dividing means for dividing when you decide to perform decryption processing by both hardware and software, the payload of the packet received by said packet receiving means by the software,
Input means for inputting a part of the payload divided by the dividing means to hardware by software;
A part of the divided payload input by the input unit is encrypted / decrypted by hardware, and a payload of the payload divided by the dividing unit is encrypted / decrypted by software. Encryption / decryption data storage means for storing the decrypted payload;
Non-encrypted data storage means for storing a header that is the non-encrypted field to be decrypted;
A packet detection means for detecting a pair of packets from the encrypted and decrypted payload stored in the encrypted data storage means and the header stored in the non-encrypted data storage means;
A packet generation means for generating a packet by combining a header and a payload, which are paired packets, detected by the packet detection means;
With
It said input means, encryption and decryption device, wherein the benzalkonium enter the payload in preference to store the header.
前記処理決定手段を、ハードウェア側、またはソフトウェア側に備えることを特徴とする請求項1記載の暗復号化装置。   2. The encryption / decryption device according to claim 1, wherein the processing determination means is provided on a hardware side or a software side. 第1の閾値、および第2の閾値をユーザから受け付ける閾値受付手段をさらに備え、
前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置。
A threshold receiving means for receiving the first threshold and the second threshold from the user;
The processing determining unit compares the field length measured by the field length measuring unit with the first threshold received by the threshold receiving unit, and performs encryption / decryption processing by hardware, or by software. Decide whether to perform the decoding process, compare the field length measured by the field length measuring means with the second threshold received by the threshold receiving means, and perform encryption / decryption by both hardware and software 3. The encryption / decryption apparatus according to claim 1, wherein whether to perform the process is determined.
前記ハードウェアによる暗復号化処理、および前記ソフトウェアによる暗復号化処理における処理速度に基づいて、第1の閾値、および第2の閾値を算出する閾値算出手段をさらに備え、
前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置。
Threshold calculation means for calculating a first threshold and a second threshold based on the processing speed in the hardware encryption / decryption processing and the software encryption / decryption processing,
The processing determining means compares the field length measured by the field length measuring means with the first threshold value calculated by the threshold value calculating means, and performs encryption / decryption processing by hardware, or encryption / decryption by software The field length measured by the field length measuring unit is compared with the second threshold value calculated by the threshold value calculating unit, and the encryption / decryption process is performed by both hardware and software. 3. The encryption / decryption device according to claim 1, wherein whether to perform the determination is determined.
ヘッダ、およびペイロードの格納先のアドレスを設定する格納先設定手段と、をさらに備え、
前記入力手段は、前記格納先設定手段で前記ヘッダより先に前記ペイロードの格納先を設定することにより、前記ペイロードを前記ヘッダより優先して入力することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置。
A storage destination setting means for setting a header and a storage destination address of the payload;
It said input means, by setting the storage destination of the payload prior to said header at said storage location setting means, claims 1 to 4, characterized by inputting the payload in preference to said header The encryption / decryption device according to any one of the above.
前記処理決定手段をハードウェア側に備え、前記暗復号化対象フィールドをソフトウェア側に転送する転送手段をさらに備えたことを特徴とする請求項2記載の暗復号化装置。 It said processing determining means provided in the hardware side, front Symbol decryption apparatus according to claim 2, wherein the further comprising a transfer means for transferring the encryption and decryption target field software side. 前記パケット受領手段は、外部入出力インタフェースを用いて、パケットを受領することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置。 It said packet receiving means, using the external input and output interface, encryption and decryption device according to claim 1, characterized in that to receive the packet to any one of claims 6. 前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる復号化処理を行うか、ソフトウェアによる復号化処理を行うか、または、ハードウェアとソフトウェアの両方による復号化処理を行うか、を決定することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置。 The process determining means performs hardware decoding, software decoding, or both hardware and software decoding based on the field length measured by the field length measuring means. decryption apparatus as claimed in any one of claims 7, wherein the determining whether to process, the. 前記入力手段は、前記ソフトウェアから前記ハードウェアに入力することを特徴とする請求項1から請求項のいずれか1項に記載の暗復号化装置。 It said input means, encryption and decryption apparatus according to any one of claims 1 to 8, characterized in that input from the software to the hardware. ハードウェアによる暗復号化処理されたペイロード、およびソフトウェアによる暗復号化処理されたペイロードをそれぞれ結合するペイロード結合手段をさらに備えたことを特徴とする請求項1から請求のいずれか1項に記載の暗復号化装置。 Decryption processing payload hardware, and according to any one of claims 9, further comprising: a payload coupling means for coupling each software by decryption processing payload of the preceding claims, characterized Encryption / decryption device. 非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、暗復号化対象フィールドであるペイロードを格納する暗復号データ格納手段と、を具備し、ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、
非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領機能と、
前記パケット受領機能で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測機能と、
前記フィールド長計測機能で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定機能と
前記処理決定機能において、ハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合に、前記パケット受領機能で受領した前記パケットのペイロードをソフトウェアによって分割する分割機能と、
前記分割機能が分割したペイロードの一部をソフトウェアによってハードウェアに入力する入力機能と、
前記入力機能により入力された前記分割したペイロードの一部をハードウェアが暗復号化処理し、また、前記分割機能が分割したペイロードの残りのぺイロードをソフトウェアが暗復号化処理し、当該各々暗復号化処理されたペイロードを前記暗復号データ格納手段に格納する暗復号データ格納機能と、
前記非暗復号化対象フィールドであるヘッダを前記非暗復号データ格納手段に格納する非暗復号データ格納機能と、
前記暗復号データ格納手段に格納された暗復号化処理されたペイロード、および前記非暗復号データ格納手段に格納されたヘッダから、対となるパケットを検出するパケット検出機能と、
前記パケット検出機能で検出された、対となるパケットである、ヘッダ、およびペイロードをそれぞれ結合してパケットを生成するパケット生成機能と、
を実行する暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体であり、さらに、
前記入力機能は、前記非暗復号データ格納機能より優先して前記分割機能が分割したペイロードの一部をハードウェアに入力することを特徴とする暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体
A non-encrypted / decrypted data storage unit that stores a header that is a non-encrypted / decrypted field; and an encrypted / decrypted data storage unit that stores a payload that is an encrypted / decrypted field ; In the encryption / decryption device used in combination with encryption / decryption processing by software,
A packet receiving function for receiving a packet composed of a header that is a non-encryption target field and a payload that is an encryption target field;
A field length measuring function for measuring the field length of the packet received by the packet receiving function or the payload;
Based on the field length measured by the field length measurement function, hardware encryption / decryption processing, software encryption / decryption processing, or both hardware / software encryption / decryption processing is performed. or, a process determining function of determining,
In the processing determining function, if it is decided to encryption and decryption processing by both hardware and software, a dividing function of dividing the payload of the packet received by the packet receiving function by software,
An input function for inputting a part of the payload divided by the dividing function to hardware by software;
The hardware performs encryption / decryption processing on a part of the divided payload input by the input function, and the software performs encryption / decryption processing on the remaining payload of the payload divided by the partitioning function. An encryption / decryption data storage function for storing the decrypted payload in the encryption / decryption data storage means;
A non-encrypted / decrypted data storage function for storing the non-encrypted / decrypted target field in the non-encrypted / decrypted data storage unit;
A packet detection function for detecting a pair of packets from the encrypted and decrypted payload stored in the encrypted data storage means and the header stored in the non-encrypted data storage means;
A packet generation function for generating a packet by combining a header and a payload, which are paired packets, detected by the packet detection function;
A computer readable storage medium of encryption and decryption program to be executed is stored, further,
The input function, readable by the computer encryption and decryption program to the part of the payload of the division function in preference to non-decryption data storage function is divided, characterized that you entered in the hardware are stored Storage medium .
JP2007311276A 2007-11-30 2007-11-30 An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. Expired - Fee Related JP5112028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007311276A JP5112028B2 (en) 2007-11-30 2007-11-30 An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007311276A JP5112028B2 (en) 2007-11-30 2007-11-30 An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program.

Publications (2)

Publication Number Publication Date
JP2009135813A JP2009135813A (en) 2009-06-18
JP5112028B2 true JP5112028B2 (en) 2013-01-09

Family

ID=40867254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311276A Expired - Fee Related JP5112028B2 (en) 2007-11-30 2007-11-30 An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program.

Country Status (1)

Country Link
JP (1) JP5112028B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695565B (en) * 2021-07-13 2024-04-09 大唐移动通信设备有限公司 Data message processing method and device and computer readable storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177516A (en) * 1999-12-17 2001-06-29 Nec Corp Method and device for enciphering and decoding, and recording medium
JP2003069555A (en) * 2001-08-29 2003-03-07 Mitsubishi Electric Corp Encryption device and encryption/decryption processing method
JP2004304696A (en) * 2003-04-01 2004-10-28 Matsushita Electric Ind Co Ltd Encryption communication apparatus
JP2006235440A (en) * 2005-02-28 2006-09-07 Seiko Epson Corp Semiconductor integrated circuit
JP2007028474A (en) * 2005-07-21 2007-02-01 Matsushita Electric Ind Co Ltd Encryption processing apparatus for limited reception system
DE602005010428D1 (en) * 2005-08-04 2008-11-27 Dibcom Method, device and computer program for data decryption
JP4912075B2 (en) * 2006-08-11 2012-04-04 パナソニック株式会社 Decoding device

Also Published As

Publication number Publication date
JP2009135813A (en) 2009-06-18

Similar Documents

Publication Publication Date Title
US11218477B2 (en) Encryption key updates in wireless communication systems
US9503257B2 (en) Quantum key distribution device, quantum key distribution system, and quantum key distribution method
US8331567B2 (en) Methods and apparatuses for generating dynamic pairwise master keys using an image
EP3547601B1 (en) Biometric information transmission establishing method , device, system, and storage medium
JP2018529271A (en) Key generation method and apparatus using double encryption
EP2840758B1 (en) Compact and efficient communication security through combining anti-replay with encryption
US20100246809A1 (en) Information Processing System, Information Processing Method, and Information Processing Program
KR101608815B1 (en) Method and system for providing service encryption in closed type network
US11051247B2 (en) Transmission/ reception device with wake-up radio resistant to attacks by denial of sleep
CN112398651A (en) Quantum secret communication method and device, electronic equipment and storage medium
US9071420B2 (en) Information processing apparatus, tampering detection apparatus, information processing method, tampering detection method, and computer product
WO2016116999A1 (en) Packet transmission device, packet-receiving device, packet transmission program, and packet-receiving program
US20180176230A1 (en) Data packet transmission method, apparatus, and system, and node device
JP5824849B2 (en) Information processing apparatus and information processing method
CN113507482B (en) Data security transmission method, security transaction method, system, medium and equipment
JP5112028B2 (en) An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program.
JP6303426B2 (en) Node device, communication system, communication method, and communication program
JP5874823B2 (en) Network system, node, and communication method.
Clark Encryption advances to meet Internet challenges
KR102466016B1 (en) Server device for processing homomorphic ciphertext and method thereof
CN115277050B (en) Data transmission method, data receiving method and network equipment
JP6161392B2 (en) Authentication system and authentication method
US20230188336A1 (en) Automatic Key Rolling for Link Encryption
Singh et al. Protecting small keys in authentication protocols for wireless sensor networks
CN117426070A (en) Secure and reliable transfer of messages between network devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120626

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: 20120912

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: 20121010

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5112028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees