JP4249166B2 - Stream cipher method and apparatus - Google Patents

Stream cipher method and apparatus Download PDF

Info

Publication number
JP4249166B2
JP4249166B2 JP2005242051A JP2005242051A JP4249166B2 JP 4249166 B2 JP4249166 B2 JP 4249166B2 JP 2005242051 A JP2005242051 A JP 2005242051A JP 2005242051 A JP2005242051 A JP 2005242051A JP 4249166 B2 JP4249166 B2 JP 4249166B2
Authority
JP
Japan
Prior art keywords
internal state
stream
encryption
initial value
initial
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
JP2005242051A
Other languages
Japanese (ja)
Other versions
JP2007060191A (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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2005242051A priority Critical patent/JP4249166B2/en
Publication of JP2007060191A publication Critical patent/JP2007060191A/en
Application granted granted Critical
Publication of JP4249166B2 publication Critical patent/JP4249166B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、線形フィードバックレジスタを備え、当該線形フィードバックレジスタの出力に非線形関数演算を施してキーストリームを生成し、当該キーストリームと平文とを演算して暗号化する、ストリーム暗号方法および装置に関する。   The present invention relates to a stream encryption method and apparatus that includes a linear feedback register, generates a key stream by performing a nonlinear function operation on the output of the linear feedback register, and calculates and encrypts the key stream and plaintext.

近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスにおいては、通信の秘匿を実現するために、暗号が利用される。暗号化方式として、最も一般的なものは、一つの鍵で暗号化・復号化を行う共通鍵暗号化方式であるが、この共通暗号化方式は、ブロック暗号方式とストリーム暗号方式の2つに大別される。
前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、近年注目を集めつつある。
In recent years, various services using computers have been provided. In many services, encryption is used to conceal communication. The most common encryption method is a common key encryption method that performs encryption / decryption with a single key. This common encryption method is divided into a block encryption method and a stream encryption method. Broadly divided.
The former is the method that is most commonly used, but the latter has been attracting attention in recent years because it is superior in processing speed.

上記したストリーム暗号を生成するための方法および装置の一例が以下の特許文献に開示されている。
特表2002−536912号公報
An example of a method and apparatus for generating the above-described stream cipher is disclosed in the following patent document.
Special Table 2002-536912

ところで、上記したストリーム暗号には、初期化処理に時間を要するといった問題がある。ここでいう「初期化処理」とは、内蔵のキースケジュールアルゴリズムによるストリーム暗号の内部状態(擬似乱数)の決定と、この内部状態を線形フィードバックレジスタ(LFSR)に入力した後、複数回空廻しを行う初期攪拌処理をいう。   By the way, the above-described stream cipher has a problem that it takes time for the initialization process. “Initialization” here refers to determination of the internal state (pseudo-random number) of the stream cipher by the built-in key schedule algorithm, and input of this internal state to the linear feedback register (LFSR), and then multiple rotations. This refers to the initial stirring process to be performed.

上記した初期化処理は、外部から入力される初期値(初期ベクトルIV)が変更になる毎に最初から実行し直す必要があり、特に、放送データの暗号化等、途中から視聴参加するユーザのために回避できない問題であり、システム性能上無視できないものであった。   The initialization process described above must be re-executed from the beginning every time the initial value (initial vector IV) input from the outside is changed. Therefore, this problem cannot be avoided and cannot be ignored in terms of system performance.

本発明は上記事情に基づいてなされたものであり、頻繁に初期値が更新される環境でストリーム暗号を使用する場合にも、安全、高速に初期化処理を実現することのできる、ストリーム暗号方法および装置を提供することを目的とする。   The present invention has been made based on the above circumstances, and a stream cipher method capable of realizing initialization processing safely and at high speed even when using stream ciphers in an environment where initial values are frequently updated. And an object to provide an apparatus.

上記した課題を解決するために本発明は、線形フィードバックレジスタを備え、前記線形フィードバックレジスタの出力に非線形関数演算を施してキーストリームを生成し、入力される平文を前記キーストリームにより暗号化するストリーム暗号方法であって、外部から前記鍵情報と初期値とを所定の周期で受信し、所定のアルゴリズムに従い決定されるストリーム暗号の内部状態を前記線形フィードバックレジスタに入力して初期攪拌を行うと共に、前記初期攪拌終了後の内部状態を内部状態メモリに保存する初期化処理ステップと、前記初期化処理ステップにおける周期よりも短い周期で到来する初期値を受信し、前記初期値と前記状態メモリに保存された前記初期攪拌終了後の内部状態とを演算し、その結果を前記内部状態メモリに保持する簡易初期化処理ステップと、前記内部状態メモリに保持された内部状態を使用してキーストリームを生成し、前記キーストリームと外部から入力される平文とを演算して暗号化を行い、前記内部状態を動的に更新する暗号化処理ステップと、前記暗号化処理部による暗号化が終了、もしくは前記初期値の入力があった場合、前記内部状態メモリに保持された内部状態を消去し、前記内部メモリに保存されている初期攪拌終了後の内部状態に基づき、前記簡易初期化処理ステップ以降の処理ステップを繰り返し実行する後処理ステップと、を有することを特徴とする。   In order to solve the above problems, the present invention includes a linear feedback register, generates a key stream by performing a non-linear function operation on the output of the linear feedback register, and encrypts an input plaintext using the key stream. An encryption method, receiving the key information and the initial value from the outside in a predetermined cycle, inputting the internal state of the stream cipher determined according to a predetermined algorithm into the linear feedback register and performing initial stirring, An initialization processing step for storing the internal state after the completion of the initial stirring in an internal state memory, and an initial value that arrives in a cycle shorter than the cycle in the initialization processing step are received and stored in the initial value and the state memory The internal state after the completion of the initial stirring is calculated and the result is stored in the internal state memory. Performing a simple initialization process step, and generating a key stream using the internal state stored in the internal state memory, calculating the key stream and plain text input from outside, and performing encryption, An encryption processing step for dynamically updating the state, and when encryption by the encryption processing unit is completed or the initial value is input, the internal state held in the internal state memory is erased, and And a post-processing step of repeatedly executing the processing steps after the simple initialization processing step based on the internal state after the completion of the initial stirring stored in the internal memory.

また、本発明は、線形フィードバックレジスタを備え、前記線形フィードバックレジスタの出力に非線形関数演算を施してキーストリームを生成し、当該キーストリームと平文とを演算して暗号化するストリーム暗号装置であって、外部から鍵情報と初期値とを所定の周期で受信し、所定のアルゴリズムに従い決定されるストリーム暗号の内部状態を前記線形フィードバックシフトレジスタに入力して初期攪拌を行い、前記初期攪拌終了後の内部状態を内部状態メモリに保存する第1の内部状態生成部と、前記所定の周期よりも短い周期で到来する初期値を受信し、前記初期値と前記状態メモリに保存された前記初期攪拌終了後の内部状態とを演算し、その結果を前記内部状態メモリに保持する第2の内部状態生成部と、前記内部状態メモリに保持された内部状態を使用してキーストリームを生成し、前記キーストリームと外部から入力される平文とを演算して暗号化を行い、前記内部状態を動的に更新する暗号化処理部と、前記暗号化処理部による暗号化が終了、もしくは前記初期値の入力があった場合、前記内部状態メモリに保持された内部状態を消去し、前記内部状態メモリに保存されている初期攪拌終了後の内部状態を復元する内部状態復元部と、を備えたことを特徴とする。   Further, the present invention is a stream encryption device that includes a linear feedback register, generates a key stream by performing a non-linear function operation on the output of the linear feedback register, and calculates and encrypts the key stream and plaintext. Receiving the key information and the initial value from the outside in a predetermined cycle, inputting the internal state of the stream cipher determined according to a predetermined algorithm to the linear feedback shift register, performing initial stirring, and after the initial stirring A first internal state generation unit that stores an internal state in an internal state memory; and an initial value that arrives at a cycle shorter than the predetermined cycle, and the initial stirring is completed and the initial stirring is stored in the state memory A second internal state generation unit for calculating a subsequent internal state and holding the result in the internal state memory; and the internal state memory An encryption processing unit that generates a key stream using the held internal state, performs encryption by calculating the key stream and plaintext input from the outside, and dynamically updates the internal state; When the encryption by the encryption processing unit is completed or the initial value is input, the internal state stored in the internal state memory is erased, and after the initial agitation end stored in the internal state memory And an internal state restoring unit for restoring the internal state.

本発明によれば、通常の初期化処理が終了した内部状態と、暗号化処理時の内部状態を独立に管理し、暗号化処理時、本発明により付加される簡易初期化処理を実行して内部状態を更新した後に暗号化処理を行い、暗号化処理終了後にその内部状態を消去して通常の初期化終了時の内部状態を復元することにより、頻繁に初期値が更新される環境にあっても、高速、かつ安全なストリーム暗号を実現することができる。   According to the present invention, the internal state where the normal initialization process is completed and the internal state during the encryption process are independently managed, and the simple initialization process added by the present invention is executed during the encryption process. After updating the internal state, perform encryption processing, erase the internal state after the end of encryption processing, and restore the internal state at the end of normal initialization, so that the initial value is updated frequently. However, a high-speed and secure stream cipher can be realized.

本発明は、一定周期で初期値を送信し、途中から受信したユーザもストリーム暗号を用いて復元を行う放送データの暗号化の初期化処理に用いて特に顕著な効果が得られる。   The present invention is particularly effective when it is used for initialization processing of broadcast data encryption in which an initial value is transmitted at a fixed period and a user who has received it from the middle also restores it using stream cipher.

図1は、本発明の実施形態にかかわるストリーム暗号方法の手順を示すフローチャートである。
以下、図1に示すフローチャートを参照しながら本発明の実施形態にかかわるストリーム暗号方法の処理手順のそれぞれについて詳細に説明する。
FIG. 1 is a flowchart showing a procedure of a stream encryption method according to an embodiment of the present invention.
Hereinafter, each processing procedure of the stream encryption method according to the embodiment of the present invention will be described in detail with reference to the flowchart shown in FIG.

まず、通常の初期化処理(S11)から説明する。本発明の実施形態にかかわるストリーム暗号装置は、まず、外部から秘密鍵(IK:Initial Key)と、初期値(IV:Initial Value)を受信し、内蔵のキースケジュールアルゴリズムを実行して決定される内部状態を、後述する線形フィードバックレジスタ(LFSR−A、LFSR−B)に供給する。   First, the normal initialization process (S11) will be described. A stream encryption apparatus according to an embodiment of the present invention is determined by first receiving a secret key (IK) and an initial value (IV) from the outside, and executing a built-in key schedule algorithm. The internal state is supplied to linear feedback registers (LFSR-A, LFSR-B) described later.

続いて線形フィードバックレジスタ(LFSR−A、LFSR−B)は、複数回空回しを行うことで比較的時間を要する初期攪拌処理を行う。そして、初期攪拌処理終了後の内部状態を後述する内部状態メモリに保存する。   Subsequently, the linear feedback registers (LFSR-A, LFSR-B) perform initial stirring processing that requires a relatively long time by performing idling a plurality of times. And the internal state after completion | finish of an initial stirring process is preserve | saved in the internal state memory mentioned later.

次に、本発明により付加される簡易初期化処理(S12)が実行される。この簡易初期化処理においては、図2にその詳細がフローチャートとして示されるように、まず、一定周期で初期値(IV)を受信する(S121、S122)。ここで初期値(IV)は、初期化処理時における周期よりは短く頻繁に送信されるものとし、内部状態と同じ300〜400ビット程度の長さを持つものとする。   Next, the simple initialization process (S12) added by the present invention is executed. In this simple initialization process, as shown in the flowchart in FIG. 2, first, the initial value (IV) is received at a constant cycle (S121, S122). Here, it is assumed that the initial value (IV) is frequently transmitted shorter than the period at the time of the initialization process, and has the same length of about 300 to 400 bits as the internal state.

そして、ここで受信した初期値(IV)を、図1に示す初期化処理(S11)における初期攪拌終了後の内部状態と、例えばXOR(排他的論理和)演算することにより足し合わせ、内部状態を更新する(S123)。このXOR演算の結果、生成される内部状態は、暗号化/復号化処理用として内部状態メモリに一時保持される(S124)。なお、ここでは、初期化処理時のような時間の要する攪拌処理は行なわれない。   The initial value (IV) received here is added to the internal state after the completion of the initial stirring in the initialization process (S11) shown in FIG. 1, for example, by performing an XOR (exclusive OR) operation, and the internal state Is updated (S123). The internal state generated as a result of the XOR operation is temporarily stored in the internal state memory for encryption / decryption processing (S124). Here, the time-consuming stirring process as in the initialization process is not performed.

説明を図1に戻して説明を続ける。上記した簡易初期化処理(S12)に続いて暗号化/復号化処理(S13)が実行される。
暗号化/復号化処理(S13)では、平文もしくは暗号文が入力され、上記した簡易初期化処理(S12)時に更新された内部状態を使ってキーストリームを生成し、平文(暗号文)と、生成されたキーストリームとをXOR演算することにより暗号化(復号化)を行う。ここで、内部状態は、暗号化(復号化)処理中、動的に更新され、都度内部状態メモリに反映されるものとする。
Returning to FIG. 1, the description will be continued. Following the simple initialization process (S12), the encryption / decryption process (S13) is executed.
In the encryption / decryption process (S13), plaintext or ciphertext is input, a key stream is generated using the internal state updated during the above-described simple initialization process (S12), and plaintext (ciphertext) Encryption (decryption) is performed by performing an XOR operation on the generated key stream. Here, the internal state is dynamically updated during the encryption (decryption) process, and is reflected in the internal state memory each time.

最後に、後処理(S14)について説明する。後処理は、暗号化(復号化)処理終了時、あるいは初期値(IV)の変更があったときに起動され、内部状態メモリに保持されている内部状態を消去し、先に保存しておいた初期攪拌終了後の内部状態を復元する処理を実行する。そして、S12の処理に戻り、簡易初期化処理以降の処理を、暗号化(復号化)処理終了、あるいは初期値(IV)の変更がある迄繰り返す。   Finally, post-processing (S14) will be described. The post-processing is started when the encryption (decryption) process is completed or when the initial value (IV) is changed, and the internal state held in the internal state memory is erased and stored in advance. Execute the process to restore the internal state after the initial stirring. Then, returning to the process of S12, the processes after the simple initialization process are repeated until the encryption (decryption) process ends or the initial value (IV) is changed.

以上説明のように、本発明のストリーム暗号方法は、通常の初期化処理(S11)が終了した内部状態と、暗号化処理(S13)時の内部状態とをそれぞれ独立して管理することを特徴とするものである。このために、暗号化処理(S13)時に簡易初期化処理(S12)を実行し、内部状態を更新した後に暗号化処理(S13)を行い、この暗号化処理終了後にその内部状態を消去して通常の初期化処理終了時の内部状態を復元する各手順を実行する。   As described above, the stream encryption method of the present invention is characterized in that the internal state after the normal initialization process (S11) and the internal state at the time of the encryption process (S13) are managed independently. It is what. For this purpose, the simple initialization process (S12) is executed during the encryption process (S13), the internal state is updated, the encryption process (S13) is performed, and the internal state is deleted after the end of the encryption process. Each procedure for restoring the internal state at the end of normal initialization processing is executed.

このことにより、頻繁に初期値が更新される環境にあっても、高速なストリーム暗号を実現することができ、また、初期値(IV)に完全な乱数を用いることで安全性も実現できるものである。   As a result, even in an environment where the initial value is frequently updated, high-speed stream cipher can be realized, and safety can also be realized by using a complete random number for the initial value (IV). It is.

図3は、本発明の実施形態にかかわるストリーム暗号装置の内部構成を示すブロック図である。
本発明の実施形態にかかわるストリーム暗号装置は、内部状態生成部1と、LFSR−A(2)と、クロックコントローラ3と、LFSR−B(4)と、内部状態メモリ5と、非線形関数発生器6と、内部状態復元部7とで構成される。
FIG. 3 is a block diagram showing the internal configuration of the stream encryption apparatus according to the embodiment of the present invention.
The stream cipher apparatus according to the embodiment of the present invention includes an internal state generation unit 1, an LFSR-A (2), a clock controller 3, an LFSR-B (4), an internal state memory 5, and a nonlinear function generator. 6 and an internal state restoring unit 7.

内部状態生成部1は、第1と第2の内部状態生成部から成る。第1の内部状態生成部は、外部から秘密鍵(IK)と初期値(IV)とを所定の周期で受信し、内蔵のキースケジュールアルゴリズムを実行して決定される内部状態を、ストリーム暗号の内部状態(擬似乱数)発生用に使用される、LFSR−A(2)とLFSR−B(4)のそれぞれに入力して初期攪拌を行い、当該初期攪拌終了後の内部状態を内部状態メモリ5に保存する。   The internal state generation unit 1 includes first and second internal state generation units. The first internal state generation unit receives the secret key (IK) and the initial value (IV) from the outside at a predetermined cycle, and executes the internal key schedule algorithm to determine the internal state determined by the stream cipher. Input to each of LFSR-A (2) and LFSR-B (4) used for generating an internal state (pseudorandom number) to perform initial stirring, and the internal state after completion of the initial stirring is stored in the internal state memory 5 Save to.

また、第2の内部状態生成部は、上記より短い周期で到来する初期値(IV)を受信し、当該初期値と内部状態メモリ5に保存された初期攪拌終了後の内部状態とを演算し、その結果を内部状態メモリ5に保持する。   The second internal state generation unit receives the initial value (IV) that arrives at a shorter cycle than the above, and calculates the initial value and the internal state after the completion of the initial stirring stored in the internal state memory 5. The result is held in the internal state memory 5.

なお、LFSR−B(4)により生成されるキーストリームは、キーストリームを生成する非線形関数発生器6の入力として供給されている。ここで、非線型関数発生器6は、入力されたキーストリームと、内部状態メモリ5に保持された内部状態とにより、ある非線形関数演算を実行して新たなキーストリームを生成する。   Note that the key stream generated by the LFSR-B (4) is supplied as an input of the nonlinear function generator 6 that generates the key stream. Here, the nonlinear function generator 6 generates a new key stream by executing a certain nonlinear function calculation based on the input key stream and the internal state held in the internal state memory 5.

一方、非線型関数発生器6の出力は内部状態メモリ5にも供給されており、更新された内部状態メモリ5の出力は非線形関数発生器6にフィードバック入力される。また、LFSR−A(2)は、クロック制御を行うクロックコントローラ3に対してキーストリームを出力している。クロックコントローラ3は、入力されたキーストリームに従いクロック(シフト量)を決定してLFSR−B(4)を制御する構成になっている。   On the other hand, the output of the nonlinear function generator 6 is also supplied to the internal state memory 5, and the updated output of the internal state memory 5 is fed back to the nonlinear function generator 6. The LFSR-A (2) outputs a key stream to the clock controller 3 that performs clock control. The clock controller 3 is configured to control the LFSR-B (4) by determining a clock (shift amount) according to the input key stream.

なお、非線形関数発生器6の出力であるキーストリームは、外部から供給される平文とXOR演算が実行され、暗号化されたテキストを出力する。ここでは、非線形関数発生器6とXOR演算器とを総称して暗号化処理部としている。暗号化処理部は、内部状態メモリ5に保持された内部状態を使用してキーストリームを生成し、当該キーストリームと外部から入力される平文とを演算して暗号化を行い、内部状態メモリ5に保持すべき内部状態を動的に更新する。   Note that the key stream that is the output of the nonlinear function generator 6 is subjected to an XOR operation with a plaintext supplied from the outside, and outputs an encrypted text. Here, the nonlinear function generator 6 and the XOR operator are collectively referred to as an encryption processing unit. The encryption processing unit generates a key stream using the internal state held in the internal state memory 5, performs encryption by calculating the key stream and plain text input from the outside, and performs internal encryption. The internal state to be held in is updated dynamically.

また、内部状態復元部7は、暗号化あるいは復号化が終了し、あるいは初期値(IV)の入力があった場合、内部状態メモリ5に逐一保持された内部状態を消去し、内部状態メモリ5に保存されている初期攪拌終了後の内部状態に復元する。   Further, when the encryption or decryption is completed or the initial value (IV) is input, the internal state restoring unit 7 erases the internal state held in the internal state memory 5 one by one, and the internal state memory 5 Restored to the internal state after completion of the initial stirring stored in

以下、図3に示すストリーム暗号装置の動作について詳細に説明する。まず、LFSE−A(2)、LFSR−B(4)への内部状態の設定にあたり、内部状態生成部1へ秘密鍵(IK:Initial Key)と初期値(IV:Initial Value)が入力される。このとき、内部状態生成部1(第1の内部状態生成部)は、所定のキースケジュールアルゴリズムに従い内部状態を決定し、LFSR−A(2)、LFSR−B(4)のそれぞれに内部状態(第1の擬似乱数列、第2の擬似乱数列)を入力して初期化処理を実行する。このとき、決定された内部状態を内部状態メモリ5に保存する。   Hereinafter, the operation of the stream encryption device shown in FIG. 3 will be described in detail. First, when setting the internal state in LFSE-A (2) and LFSR-B (4), a secret key (IK: Initial Key) and an initial value (IV: Initial Value) are input to the internal state generation unit 1. . At this time, the internal state generation unit 1 (first internal state generation unit) determines the internal state according to a predetermined key schedule algorithm, and the internal state (LFSR-A (2), LFSR-B (4)) The first pseudo random number sequence and the second pseudo random number sequence) are input to execute the initialization process. At this time, the determined internal state is stored in the internal state memory 5.

続いて、内部状態生成部1(第2の内部状態生成部)は、上記した初期化処理における周期よりも短い周期で到来する初期値を受信し、当該初期値と内部状態メモリ5に保存された初期攪拌終了後の内部状態とを演算し、その結果を暗号化処理用として内部状態メモリ5に保持して簡易初期化処理を実行する   Subsequently, the internal state generation unit 1 (second internal state generation unit) receives an initial value that arrives at a period shorter than the period in the initialization process described above, and is stored in the initial value and the internal state memory 5. The internal state after the completion of the initial stirring is calculated, and the result is stored in the internal state memory 5 for encryption processing and simple initialization processing is executed.

上記した簡易初期化処理終了の後、本発明の実施形態にかかわるストリーム暗号装置は、以下の手順に従って暗号化処理を実行する。
すなわち、LFSR−B(4)により出力されるキーストリームは、後述するクロックコントローラ3によるクロック制御を経て非線形関数発生器6の入力として供給される。非線型関数発生器6は、入力されたキーストリームと、内部状態メモリ5に保存された内部状態とにより、ある非線形関数演算を実行して新たなキーストリームを生成する。そして、非線型関数発生器6により生成されるキーストリームは、別途入力される平文とによりXOR演算が施され、このことにより暗号化テキストが生成される。
After the above-described simple initialization process, the stream cipher apparatus according to the embodiment of the present invention executes the encryption process according to the following procedure.
That is, the key stream output from the LFSR-B (4) is supplied as an input of the nonlinear function generator 6 through clock control by the clock controller 3 described later. The nonlinear function generator 6 generates a new key stream by executing a certain nonlinear function operation based on the input key stream and the internal state stored in the internal state memory 5. Then, the key stream generated by the non-linear function generator 6 is subjected to an XOR operation with a plaintext separately input, thereby generating an encrypted text.

なお、内部状態は上記した暗号化処理の過程で適宜更新される。すなわち、非線型関数発生器6の出力は内部状態メモリ5にも供給されており、内容が更新された内部状態メモリ5の出力は非線形関数発生器6にフィードバックされ入力されている。また、LFSR−A(2)は、クロック制御を行うクロックコントローラ3に対して内部状態(擬似乱数列)を出力している。   Note that the internal state is updated as appropriate during the above-described encryption process. That is, the output of the nonlinear function generator 6 is also supplied to the internal state memory 5, and the output of the internal state memory 5 whose contents are updated is fed back and input to the nonlinear function generator 6. The LFSR-A (2) outputs an internal state (pseudo-random number sequence) to the clock controller 3 that performs clock control.

クロックコントローラ3は、入力されたキーストリーム(擬似乱数列)に従いクロックを決定してLFSR−B(4)を制御する。具体的に、ここでは、LFSR−A(2)、LFSR−B(4)を1周期動作させている。その際、クロックコントローラ3は、次数2のガロア有限フィールド(GF2^N)を定義する多項式の根αに従い、LFSR−B(4)のフィードバックポリノミアル(図3中結線部分)のビットシフトにクロック制御(α^nを掛ける)を行う。ここで、nはクロックコントローラ3が決定したクロック数(シフト量)である。このことにより、1ワード内でのクロック制御が行なわれる。   The clock controller 3 determines the clock according to the input key stream (pseudo random number sequence) and controls the LFSR-B (4). Specifically, here, LFSR-A (2) and LFSR-B (4) are operated for one cycle. At that time, the clock controller 3 performs bit shift of the feedback polynomial (connected portion in FIG. 3) of LFSR-B (4) according to the root α of the polynomial defining the Galois finite field (GF2 ^ N) of degree 2. Perform clock control (multiply α ^ n). Here, n is the number of clocks (shift amount) determined by the clock controller 3. As a result, clock control within one word is performed.

最後に、暗号化処理が終了し、あるいは新規に初期値(IV)入力があった場合、内部状態復元部7は、内部状態メモリ5に保持された内部状態を消去し、内部状態メモリ5に保存されている初期攪拌終了後の内部状態に基づき、上記した簡易初期化処理以降の処理の繰り返し実行を指示する。   Finally, when the encryption process is completed or a new initial value (IV) is input, the internal state restoration unit 7 erases the internal state held in the internal state memory 5 and stores it in the internal state memory 5. Based on the stored internal state after the completion of the initial stirring, an instruction is given to repeatedly execute the processes after the simple initialization process.

以上説明のように本発明は、通常の初期化処理が終了した内部状態と、暗号化処理時の内部状態を独立して管理し、暗号化処理時、上記した簡易初期化処理を実行して内部状態を更新した後に暗号化処理を行い、暗号化処理終了後にその内部状態を消去して通常の初期化終了時の内部状態を復元することにより、頻繁に初期値が更新される環境にあっても、高速、かつ安全なストリーム暗号を実現するものである。   As described above, the present invention independently manages the internal state after normal initialization processing and the internal state during encryption processing, and executes the above-described simple initialization processing during encryption processing. After updating the internal state, perform encryption processing, erase the internal state after the end of encryption processing, and restore the internal state at the end of normal initialization, so that the initial value is updated frequently. However, a high-speed and secure stream cipher is realized.

本発明は、一定周期で初期値を送信し、途中から受信したユーザもストリーム暗号を用いて復元を行う放送データの暗号化の初期化処理に用いて特に顕著な効果が得られる。また、様々なストリーム暗号の評価に広く適用でき、ストリーム暗号を使用するようなブロードバンド事業や、携帯電話をはじめとするモバイル通信におけるシステム構築に応用が可能である。   The present invention is particularly effective when it is used for initialization processing of broadcast data encryption in which an initial value is transmitted at a fixed period and a user who has received it from the middle also restores it using stream cipher. In addition, it can be widely applied to the evaluation of various stream ciphers, and can be applied to a broadband business using stream ciphers and system construction in mobile communications including mobile phones.

本発明の実施形態にかかわるストリーム暗方法の各実行手順を説明するために引用したフローチャートである。It is the flowchart quoted in order to demonstrate each execution procedure of the stream darkening method concerning embodiment of this invention. 本発明により付加される簡易初期化処理の詳細手順を説明するために引用したフローチャートである。It is the flowchart quoted in order to demonstrate the detailed procedure of the simple initialization process added by this invention. 本発明の実施形態にかかわるストリーム暗化装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the stream darkening apparatus concerning embodiment of this invention.

符号の説明Explanation of symbols

1…内部状態生成部(第1、第2の内部状態生成部)、2、4…線形フィードバックレジスタ(LFSR−A,LFSR−B)、3…クロックコントローラ、5…内部状態メモリ、6…非線型関数発生器(暗号化処理部)、7…内部状態復元部

DESCRIPTION OF SYMBOLS 1 ... Internal state production | generation part (1st, 2nd internal state production | generation part) 2, 4 ... Linear feedback register (LFSR-A, LFSR-B), 3 ... Clock controller, 5 ... Internal state memory, 6 ... Non Linear function generator (encryption processing unit), 7 ... internal state restoration unit

Claims (2)

線形フィードバックレジスタを備え、前記線形フィードバックレジスタの出力に非線形関数演算を施してキーストリームを生成し、入力される平文を前記キーストリームにより暗号化するストリーム暗号方法であって、
外部から前記鍵情報と初期値とを所定の周期で受信し、所定のアルゴリズムに従い決定されるストリーム暗号の内部状態を前記線形フィードバックレジスタに入力して初期攪拌を行うと共に、前記初期攪拌終了後の内部状態を内部状態メモリに保存する初期化処理ステップと、
前記初期化処理ステップにおける周期よりも短い周期で到来する初期値を受信し、前記初期値と前記内部状態メモリに保存された前記初期攪拌終了後の内部状態とを演算して前記内部状態メモリに保持する簡易初期化処理ステップと、
前記内部状態メモリに保持された内部状態を使用してキーストリームを生成し、前記キーストリームと外部から入力される平文とを演算して暗号化を行い、前記内部状態を動的に更新する暗号化処理ステップと、
前記暗号化が終了し、もしくは前記初期値の入力があった場合、前記内部状態メモリに保持された内部状態を消去し、前記内部メモリに保存されている初期攪拌終了後の内部状態を復元して前記簡易初期化処理ステップ以降の処理ステップを繰り返し実行する後処理ステップと、
を有することを特徴とするストリーム暗号方法。
A stream encryption method comprising a linear feedback register, performing a non-linear function operation on an output of the linear feedback register to generate a key stream, and encrypting an input plaintext with the key stream;
The key information and the initial value are externally received at a predetermined cycle, and the internal state of the stream cipher determined according to a predetermined algorithm is input to the linear feedback register to perform initial stirring, and after the initial stirring is completed. An initialization process step to store the internal state in the internal state memory;
An initial value that arrives in a cycle shorter than the cycle in the initialization process step is received, and the initial value and the internal state after the completion of the initial stirring stored in the internal state memory are calculated and stored in the internal state memory A simple initialization process step to hold,
A cipher that generates a key stream using an internal state held in the internal state memory, performs encryption by calculating the key stream and plain text input from the outside, and dynamically updates the internal state Processing step,
When the encryption is completed or the initial value is input, the internal state stored in the internal state memory is deleted, and the internal state after the completion of the initial stirring stored in the internal memory is restored. A post-processing step for repeatedly executing the processing steps after the simple initialization processing step;
A stream encryption method characterized by comprising:
線形フィードバックレジスタを備え、前記線形フィードバックレジスタの出力に非線形関数演算を施してキーストリームを生成し、入力される平文を前記キーストリームにより暗号化するストリーム暗号装置であって、
外部から鍵情報と初期値とを所定の周期で受信し、所定のアルゴリズムに従い決定されるストリーム暗号の内部状態を前記線形フィードバックシフトレジスタに入力して初期攪拌を行うと共に、前記初期攪拌終了後の内部状態を内部状態メモリに保存する第1の内部状態生成部と、
前記所定の周期よりも短い周期で到来する初期値を受信し、前記初期値と前記内部状態メモリに保存された前記初期攪拌終了後の内部状態とを演算し、その結果を前記内部状態メモリに保持する第2の内部状態生成部と、
前記内部状態メモリに保持された内部状態を使用してキーストリームを生成し、前記キーストリームと外部から入力される平文とを演算して暗号化を行い、前記内部状態を動的に更新する暗号化処理部と、
前記暗号化処理部による暗号化が終了し、もしくは前記初期値の入力があった場合、前記内部状態メモリに保持された内部状態を消去し、前記内部状態メモリに保存されている初期攪拌終了後の内部状態を復元する内部状態復元部と、
を備えたことを特徴とするストリーム暗号装置。

A stream encryption device comprising a linear feedback register, performing a non-linear function operation on an output of the linear feedback register to generate a key stream, and encrypting an input plaintext with the key stream;
The key information and the initial value are received from the outside at a predetermined cycle, and the internal state of the stream cipher determined according to a predetermined algorithm is input to the linear feedback shift register for initial stirring, and after the initial stirring is completed. A first internal state generator for storing the internal state in an internal state memory;
An initial value that arrives at a cycle shorter than the predetermined cycle is received, the initial value and the internal state after the completion of the initial stirring stored in the internal state memory are calculated, and the result is stored in the internal state memory A second internal state generation unit to hold;
A cipher that generates a key stream using an internal state held in the internal state memory, performs encryption by calculating the key stream and plain text input from the outside, and dynamically updates the internal state The processing unit,
When the encryption by the encryption processing unit is completed or the initial value is input, the internal state held in the internal state memory is deleted, and after the initial agitation stored in the internal state memory is completed An internal state restoration unit for restoring the internal state of
A stream cipher apparatus comprising:

JP2005242051A 2005-08-24 2005-08-24 Stream cipher method and apparatus Expired - Fee Related JP4249166B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005242051A JP4249166B2 (en) 2005-08-24 2005-08-24 Stream cipher method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005242051A JP4249166B2 (en) 2005-08-24 2005-08-24 Stream cipher method and apparatus

Publications (2)

Publication Number Publication Date
JP2007060191A JP2007060191A (en) 2007-03-08
JP4249166B2 true JP4249166B2 (en) 2009-04-02

Family

ID=37923290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005242051A Expired - Fee Related JP4249166B2 (en) 2005-08-24 2005-08-24 Stream cipher method and apparatus

Country Status (1)

Country Link
JP (1) JP4249166B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5096794B2 (en) * 2007-05-17 2012-12-12 Kddi株式会社 Stream cipher encryption device, stream cipher decryption device, self-synchronization stream cipher encryption device, self-synchronization stream cipher decryption device, stream cipher encryption method, self-synchronization stream cipher encryption method And programs
JP5748634B2 (en) * 2011-10-25 2015-07-15 Kddi株式会社 Key sequence output device, stream cipher encryption device, stream cipher decryption device, key sequence output method, and program
JP6473874B2 (en) * 2015-07-22 2019-02-27 株式会社メガチップス Memory device, host device, and memory system
JP6697776B2 (en) * 2016-03-29 2020-05-27 国立研究開発法人産業技術総合研究所 Unique information generator
JP6876423B2 (en) * 2016-12-14 2021-05-26 Kddi株式会社 Internal state initializer, method and program in stream cipher
JP2020127141A (en) * 2019-02-05 2020-08-20 キヤノン株式会社 Information processor, information processing method and program

Also Published As

Publication number Publication date
JP2007060191A (en) 2007-03-08

Similar Documents

Publication Publication Date Title
JP4750105B2 (en) Keystream encryption apparatus and method, and program
JP5225414B2 (en) Cryptographic operation unit
JP5139578B2 (en) Cryptographic system including random number generator using finite field algorithm
US6510228B2 (en) Method and apparatus for generating encryption stream ciphers
US8781117B2 (en) Generating pseudo random bits from polynomials
JP4249166B2 (en) Stream cipher method and apparatus
US6252958B1 (en) Method and apparatus for generating encryption stream ciphers
GB2596763A (en) Cryptography using a cryptographic state
US20090323927A1 (en) Mechanism for chained output feedback encryption
JP2005527853A (en) Advanced Encryption Standard (AES) hardware cryptography engine
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
JP2010522477A (en) Method, computer program and apparatus for encrypting plaintext messages (simple and efficient one-pass authentication encryption method)
CA2389397A1 (en) Method and apparatus for efficient irregular synchronization of a stream cipher
KR100949538B1 (en) Apparatus and method for improving rate encryption and decryption using aes rijndael algorithm
CN110034918B (en) SM4 acceleration method and device
KR101440680B1 (en) Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same
JP2008276728A (en) Pseudorandom number generator and encryption device using the same
KR102479689B1 (en) Method and apparatus for processing low latency block encription
JP2018078610A5 (en)
JP4294500B2 (en) Stream cipher evaluation apparatus and stream cipher evaluation method
JP5818768B2 (en) Mask generation apparatus, information processing apparatus, method thereof, and program
Erdem et al. Use of Rijndael Block Cipher on J2ME Devices for encryption and hashing
CN115549892A (en) Protection of data processed by an encryption algorithm
JP5268413B2 (en) Disclosure restriction processing apparatus, data processing system, and program
JP2006078751A (en) Preliminary computing method for requested computing of public key code

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081216

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

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

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150123

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees