JP2007013503A - Encryption device and method and decryption device and method - Google Patents

Encryption device and method and decryption device and method Download PDF

Info

Publication number
JP2007013503A
JP2007013503A JP2005190755A JP2005190755A JP2007013503A JP 2007013503 A JP2007013503 A JP 2007013503A JP 2005190755 A JP2005190755 A JP 2005190755A JP 2005190755 A JP2005190755 A JP 2005190755A JP 2007013503 A JP2007013503 A JP 2007013503A
Authority
JP
Japan
Prior art keywords
data
encrypted
encryption
generating
ciphertext
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.)
Granted
Application number
JP2005190755A
Other languages
Japanese (ja)
Other versions
JP4644053B2 (en
Inventor
Kazuhiro Fukuda
和宏 福田
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.)
Seiko Precision Inc
Original Assignee
Seiko Precision Inc
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 Seiko Precision Inc filed Critical Seiko Precision Inc
Priority to JP2005190755A priority Critical patent/JP4644053B2/en
Publication of JP2007013503A publication Critical patent/JP2007013503A/en
Application granted granted Critical
Publication of JP4644053B2 publication Critical patent/JP4644053B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption method using an encryption block chain where it is difficult to decode/presume an encrypted sentence by generating a different encrypted sentence each time even from the same plaintext. <P>SOLUTION: A random number is added before a plaintext, and it is encrypted by an encryption block chain system so that encrypted sentence strings to be generated from the same plaintext A<SB>m</SB>are different. A bit operation is added to the encryption processing result of a block A<SB>i-1</SB>before it is used for the encryption processing of the next block A<SB>i</SB>, so that the relevancy between random number or an encrypted sentence B<SB>0</SB>of the random number and generated encrypted sentence series B<SB>1</SB>, B<SB>2</SB>to B<SB>n</SB>can be made difficult to understand. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、平文を暗号文列にする暗号化装置及び方法と、暗号文列を平文に戻す復号化装置及び方法に関する。   The present invention relates to an encryption apparatus and method for converting plaintext into a ciphertext string, and a decryption apparatus and method for converting a ciphertext string back into plaintext.

従来から暗号化方式として、例えば、秘密鍵または公開鍵を用いて平文を暗号化する方式などが知られている。この方式は平文を一定のブロックに区切り、ブロック単位で鍵により暗号化する。また、ブロックベースの暗号強度を高めるために、暗号ブロック連鎖方式(CBC)、暗号フィードバック方式(CFB)、出力フィードバック方式(OFB)を使用することが、例えば、特許文献1等に開示されている。   Conventionally, as an encryption method, for example, a method of encrypting plaintext using a secret key or a public key is known. This method divides plaintext into fixed blocks and encrypts them with a key in block units. Further, for example, Patent Document 1 discloses that a cipher block chaining method (CBC), a cipher feedback method (CFB), and an output feedback method (OFB) are used to increase block-based cipher strength. .

これらの方式では、前のブロックの暗号処理の結果が次のブロックの暗号処理に使用される。そのため、各ブロックの暗号化データが数珠繋ぎの状態となり、あるブロックの暗号化データは過去の暗号処理全体に依存されるため暗号解読が困難となる。又、特許文献1においては、暗号ブロック連鎖方式による暗号化方法において、暗号モードの設定情報を含む暗号鍵に基づいて、複数の異なる暗号ブロック連鎖による暗号化アルゴリズムが選択できる暗号化装置により、暗号利用モードの暗号化アルゴリズムの設定を行い、上記暗号鍵により復号化を行う。
特開2001−177518号公報
In these methods, the result of the encryption process of the previous block is used for the encryption process of the next block. For this reason, the encrypted data of each block is connected in a daisy chain, and the encrypted data of a certain block is dependent on the entire past encryption process, so that decryption becomes difficult. Also, in Patent Document 1, in an encryption method using an encryption block chain method, an encryption device that can select an encryption algorithm using a plurality of different encryption block chains based on an encryption key including encryption mode setting information The encryption algorithm for the use mode is set, and decryption is performed using the encryption key.
JP 2001-177518 A

従来の暗号化方式では、同一内容の平文を暗号化して生成される暗号文列は同一となってしまう。例えば、ABCDという平文を暗号化するとEFGHという暗号文列が生成されるとすると、ABCDを暗号化すると毎回EFGHという暗号文列が生成される。そのため、例えば、ABCDという平文がある個人や機器を表すIDである場合、暗号文列EFGHの解読ができなくても、第3者にある個人や機器が特定されてしまう虞がある。特許文献1においても、暗号モードを選択することにより、秘匿性の高い暗号化、復号化装置及び方法が提供されているが、上述の問題は解決されていない。   In the conventional encryption method, ciphertext strings generated by encrypting plaintext having the same content are the same. For example, if a plaintext ABCD is encrypted and a ciphertext string EFGH is generated, a ciphertext string EFGH is generated every time ABCD is encrypted. Therefore, for example, in the case of an ID representing an individual or a device having a plain text ABCD, even if the ciphertext string EFGH cannot be decrypted, there is a possibility that an individual or device existing in a third party may be specified. Patent Document 1 also provides a highly confidential encryption / decryption device and method by selecting an encryption mode, but the above-described problem has not been solved.

この発明は上記実情に鑑みてなされたものであり、解読、推定、特定、等が困難な暗号化方法と該暗号化の手法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide an encryption method and an encryption method that are difficult to decipher, estimate, specify, and the like.

上記目的を達成するため、本発明の第1の観点にかかる暗号化装置は、
暗号化対象の平文を所定サイズのブロックに分割し、先のブロックの暗号化処理の結果を用いて次のブロックのデータを操作し、操作後のデータを暗号化する処理を順次繰り返すことにより、前記平文を暗号化する暗号化装置であって、
乱数を発生させて第1のデータを生成する手段と、
予め定められている第2のデータを記憶する手段と、
を備え、
前記第1のデータを前記第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する処理を繰り返す、
ことを特徴とする。
In order to achieve the above object, an encryption apparatus according to the first aspect of the present invention provides:
By dividing the plaintext to be encrypted into blocks of a predetermined size, operating the data of the next block using the result of the encryption processing of the previous block, and sequentially repeating the process of encrypting the data after the operation, An encryption device for encrypting the plaintext,
Means for generating random numbers to generate first data;
Means for storing predetermined second data;
With
The first data is operated using the second data, and the 0th operation data obtained by encrypting the first data is encrypted to generate the 0th encrypted data. By operating the block data (i is a natural number) using the (i-1) th encrypted data to generate the i-th operation data and encrypting the i-th operation data, repeat the process of generating the encrypted data of i,
It is characterized by that.

前記暗号化装置は、例えば、第iの暗号化データを生成する際に、第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて第iのブロックのデータを操作して、暗号化してもよい。   For example, when generating the i-th encrypted data, the encryption device performs a predetermined operation corresponding to the data on the (i-1) -th encrypted data, and the (i-1) th after the operation. The data of the i-th block may be manipulated using the encrypted data of).

上記目的を達成するため、本発明の第2の観点にかかる復号化装置は、
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を順次繰り返すことにより、前記暗号文を復号化する復号化装置であって、前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのブロックの暗号化データを操作して、復号化する、
ことを特徴とする。
In order to achieve the above object, a decoding device according to the second aspect of the present invention provides:
The ciphertext composed of 0th to nth (n is a natural number) encrypted data of a predetermined size is decrypted with the ith (i is a natural number equal to or less than n) encrypted data to generate ith data. A decryption device for decrypting the ciphertext by sequentially repeating the process of generating the i-th decrypted data by manipulating the i-th data using the (i-1) -th encrypted data And when generating the i-th decoded data,
A predetermined operation corresponding to the data is performed on the (i-1) -th encrypted data, and the encrypted data of the i-th block is operated using the (i-1) -th encrypted data after the operation. And decrypt
It is characterized by that.

上記目的を達成するため、本発明の第3の観点にかかる暗号化方法は、
乱数を発生させて生成した第1のデータを所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、暗号化対象の平文の第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成するステップを繰り返す、
ことを特徴とする。
In order to achieve the above object, an encryption method according to a third aspect of the present invention includes:
The first data generated by generating a random number is operated using predetermined second data, and the zeroth operation data obtained by encrypting the first data is encrypted to obtain the zeroth encrypted data. Thereafter, the i-th operation data is generated by manipulating the data of the i-th (i is a natural number) block of the plaintext to be encrypted using the (i-1) -th encrypted data. Repeating the step of generating the i-th encrypted data by encrypting the i-th operation data;
It is characterized by that.

上記目的を達成するため、本発明の第4の観点にかかる復号化方法は、
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、第i(iはn以下の自然数)の暗号化データを復号化して、前記第iのデータを生成し、第(i−1)の暗号化データを用いて第iのデータを操作して、第iの復号化データを生成する処理を、順次繰り返しすことにより、前記暗号文を復号化する復号化方法であって、
前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのブロックの暗号化データを操作して、前記第iの復号化データを生成する、
ことを特徴とする。
In order to achieve the above object, a decoding method according to the fourth aspect of the present invention includes:
The i-th data is generated by decrypting the i-th (i is a natural number equal to or less than n) encrypted data of ciphertext composed of 0th to n-th (n is a natural number) encrypted data of a predetermined size. And decrypting the ciphertext by sequentially repeating the process of generating the i-th decrypted data by manipulating the i-th data using the (i-1) -th encrypted data A method of
When generating the i th decoded data,
A predetermined operation corresponding to the data is performed on the (i-1) -th encrypted data, and the encrypted data of the i-th block is operated using the (i-1) -th encrypted data after the operation. And generating the i th decoded data,
It is characterized by that.

上記目的を達成するため、本発明の第5の観点にかかる暗号化プログラムは、
コンピュータに、
乱数を発生させて生成した第1のデータを所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、
以後、暗号化対象データの第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する手順を繰り返す処理、
を実行させることを特徴とする。
In order to achieve the above object, an encryption program according to the fifth aspect of the present invention provides:
On the computer,
The first data generated by generating a random number is operated using predetermined second data, and the zeroth operation data obtained by encrypting the first data is encrypted to obtain the zeroth encrypted data. Generate and
Thereafter, the i-th operation data is generated by operating the data of the i-th (i is a natural number) block of the data to be encrypted using the (i-1) -th encrypted data. A process of repeating the procedure of generating the i-th encrypted data by encrypting the data;
Is executed.

上記目的を達成するため、本発明の第6の観点にかかる復号化プログラムは、
コンピュータに、
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、第i(iはn以下の自然数)の暗号化データを復号化し、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を順次繰り返し、前記暗号文を復号化する処理であって、
前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して前記第iの復号化データを生成する、
処理を実行させる、
ことを特徴とする。
In order to achieve the above object, a decryption program according to the sixth aspect of the present invention provides:
On the computer,
Decrypting i-th (i is a natural number equal to or less than n) encrypted data for ciphertext consisting of 0th to n-th (n is a natural number) encrypted data of a predetermined size to generate i-th data; A process of operating the i-th data using the (i-1) -th encrypted data to sequentially generate the i-th decrypted data and decrypting the ciphertext,
When generating the i th decoded data,
A predetermined operation corresponding to the data is performed on the (i-1) -th encrypted data, and the i-th data is operated using the (i-1) -th encrypted data after the operation. generate decrypted data for i,
To execute the process,
It is characterized by that.

本発明によれば、同一の平文から生成された暗号文であっても、その結果は互いに異なるものとなり、元の平文を解読、推定、特定することなどが困難となり、信頼度が高い暗号化技術を提供することができる。一方、復号時には、ほとんど負担の増加なく、暗号文を復号することができる。   According to the present invention, even ciphertexts generated from the same plaintext have different results, making it difficult to decipher, estimate and identify the original plaintext, and to provide highly reliable encryption Technology can be provided. On the other hand, at the time of decryption, the ciphertext can be decrypted with almost no increase in burden.

以下、この発明の実施の形態に係る暗号化装置及び方法及び復号装置及び方法を説明する。
(実施形態1)
Hereinafter, an encryption apparatus and method and a decryption apparatus and method according to embodiments of the present invention will be described.
(Embodiment 1)

この発明の実施形態1に係る暗号通信システム10は、図1に示すように、ネットワークNWに接続された端末装置T1と端末装置T2とを備え、端末装置T1が任意のデータ(平文)を暗号化してネットワークNWを介して端末装置T2に暗号化データを送信し、端末装置T2がこれを受信して復号化する。   As shown in FIG. 1, the cryptographic communication system 10 according to Embodiment 1 of the present invention includes a terminal device T1 and a terminal device T2 connected to a network NW, and the terminal device T1 encrypts arbitrary data (plain text). The encrypted data is transmitted to the terminal device T2 via the network NW, and the terminal device T2 receives and decrypts it.

端末装置T1は、例えば、通常のコンピュータ装置から構成され、入力部20、プロセッサ30、メモリ40、通信部50などを備え、平文を暗号化して暗号文を生成し、生成した暗号文をネットワークNWを介して端末装置T2に送信する。   The terminal device T1 is composed of, for example, a normal computer device, and includes an input unit 20, a processor 30, a memory 40, a communication unit 50, and the like. The terminal device T1 encrypts plaintext to generate ciphertext, and the generated ciphertext is transmitted to the network NW. Is transmitted to the terminal device T2.

入力部20は、例えば、USB(Universal Serial Bus)装置や、キーボード、マウス、各種ドライブ装置(FDドライブ、CD−ROMドライブ等の入力デバイス)から構成され、種々の指示などと共に暗号化対象の平文を入力する。   The input unit 20 includes, for example, a USB (Universal Serial Bus) device, a keyboard, a mouse, and various drive devices (input devices such as an FD drive and a CD-ROM drive), and plain text to be encrypted along with various instructions. Enter.

プロセッサ30は、マイクロプロセッサ、DSP(Digital Signal Processor)等から構成され、メモリ40に記憶されている動作プログラムに従って動作する。この実施の形態においては、特に、プロセッサ30は、入力部20から入力された平文をメモリ40に記憶し、さらに、メモリ40に記憶されている暗号化プログラム43によりこの平文を暗号化し、これを通信部50を介して端末装置T2に送信する。プロセッサ30の具体的な動作は後述する。   The processor 30 includes a microprocessor, a DSP (Digital Signal Processor), and the like, and operates according to an operation program stored in the memory 40. In this embodiment, in particular, the processor 30 stores the plaintext input from the input unit 20 in the memory 40, and further encrypts this plaintext using the encryption program 43 stored in the memory 40. The data is transmitted to the terminal device T2 via the communication unit 50. Specific operations of the processor 30 will be described later.

メモリ40は、RAM(Random Access Memory),ROM(Read Only Memory)、ハードディスク装置などから構成され、プロセッサ30のワークエリアとして機能とすると共に、暗号化のための暗号鍵41、初期ベクトル42、暗号化プログラム43、乱数プログラム44等を格納する。ワークエリアには、例えば、入力された平文、生成された暗号文、暗号化の生成過程にある各種データが記憶される。   The memory 40 includes a RAM (Random Access Memory), a ROM (Read Only Memory), a hard disk device, and the like. The memory 40 functions as a work area of the processor 30, and includes an encryption key 41 for encryption, an initial vector 42, a cipher. Storing a computer program 43, a random number program 44, and the like. In the work area, for example, input plaintext, generated ciphertext, and various data in the encryption generation process are stored.

暗号鍵41は、任意のデータを暗号化するための共通鍵・秘密鍵である。
初期ベクトル42は、予め設定された、例えば、m(mは任意の自然数)バイト長の固定データである。
暗号化プログラム43は、プロセッサ30を制御し、平文を後述するプロセスで暗号化するためのプログラムである。暗号化プログラム43の詳細は後述する。
乱数プログラム44は、プロセッサ30により実行され、例えば、4バイト長の乱数を発生させるプログラムである。
The encryption key 41 is a common key / secret key for encrypting arbitrary data.
The initial vector 42 is fixed data having a preset length, for example, m (m is an arbitrary natural number) bytes.
The encryption program 43 is a program for controlling the processor 30 and encrypting plaintext by a process described later. Details of the encryption program 43 will be described later.
The random number program 44 is a program that is executed by the processor 30 to generate, for example, a 4-byte long random number.

通信部50は、たとえば、モデム装置などの通信装置から構成され、ネットワークNWに接続され、端末装置T2に暗号化されたデータを送信する。   The communication unit 50 is composed of a communication device such as a modem device, for example, is connected to the network NW, and transmits encrypted data to the terminal device T2.

端末装置T2は、例えば、通常のコンピュータ装置から構成され、通信部60、プロセッサ70、メモリ80、出力部90を備え、端末装置T1から送信された暗号文を復号化して平文を生成し、出力する。   The terminal device T2 is composed of, for example, a normal computer device, and includes a communication unit 60, a processor 70, a memory 80, and an output unit 90. The terminal device T2 generates plaintext by decrypting the ciphertext transmitted from the terminal device T1. To do.

通信部60は、たとえば、モデムなどの通信装置から構成され、ネットワークNWに接続され、端末装置T1から暗号化されたデータを受信する。   The communication unit 60 includes a communication device such as a modem, is connected to the network NW, and receives encrypted data from the terminal device T1.

プロセッサ70は、マイクロプロセッサ、DSP(Digital Signal Processor)等から構成され、メモリ80に記憶されている動作プログラムに従って動作する。この実施の形態においては、特に、プロセッサ70は、通信部60を介して受信した暗号文をメモリ80に記憶し、さらに、メモリ80に記憶されている復号化プログラム82によりこの暗号文を復号化し、復号化して得られた平文を出力部90を介して出力する。プロセッサ70の具体的な動作は後述する。   The processor 70 includes a microprocessor, a DSP (Digital Signal Processor), and the like, and operates according to an operation program stored in the memory 80. In this embodiment, in particular, the processor 70 stores the ciphertext received via the communication unit 60 in the memory 80, and further decrypts the ciphertext by the decryption program 82 stored in the memory 80. The plaintext obtained by the decryption is output via the output unit 90. Specific operation of the processor 70 will be described later.

メモリ80は、RAM、ROM、ハードディスクなどから構成され、プロセッサ70のワークエリアとして機能すると共に、復号化のための復号鍵81、復号化プログラム82等を格納する。ワークエリアには、受信した暗号文、復号化された平文、復号化の過程における各種データが記憶される。   The memory 80 includes a RAM, a ROM, a hard disk, and the like, functions as a work area for the processor 70, and stores a decryption key 81 for decryption, a decryption program 82, and the like. In the work area, received ciphertext, decrypted plaintext, and various data in the process of decryption are stored.

復号鍵81は、受信したデータを復号化するための暗号鍵であり、暗号鍵41と同一のものである。
復号化プログラム82は、プロセッサ70を制御し、受信した暗号文を復号化する。
The decryption key 81 is an encryption key for decrypting received data, and is the same as the encryption key 41.
The decryption program 82 controls the processor 70 to decrypt the received ciphertext.

出力部90は、プロセッサ70が復号化して生成された平文を出力する。   The output unit 90 outputs the plain text generated by the processor 70 decrypting it.

次に、上記構成を有する暗号通信システム10の動作を図2(暗号化処理)及び図4(復号化処理)に示すフローチャート、及び、図3(暗号化処理)及び図5(復号化処理)に示す処理ダイアグラム、を参照しながら説明する。   Next, operations of the cryptographic communication system 10 having the above-described configuration are shown in FIG. 2 (encryption process) and FIG. 4 (decryption process), and FIG. 3 (encryption process) and FIG. 5 (decryption process). The processing diagram will be described with reference to FIG.

暗号化処理は端末装置T1において行われ、復号化処理は端末装置T2において行われる。   The encryption process is performed in the terminal device T1, and the decryption process is performed in the terminal device T2.

(暗号化処理)
前提として、暗号化対象の平文が端末装置T1の入力部20から入力され、メモリ40に格納されているものとする。また、プロセッサ30に、入力された平文の暗号化と端末装置T2への送信が指示されたものとする。
(Encryption processing)
It is assumed that the plaintext to be encrypted is input from the input unit 20 of the terminal device T1 and stored in the memory 40. It is assumed that the processor 30 is instructed to encrypt the input plaintext and transmit it to the terminal device T2.

指示に応答して、プロセッサ30は、図2のフローチャートに示す処理手順(図3に示す処理)を開始し、最初に、乱数プログラム44を起動して、例えば、mバイト長(初期ベクトルと同一データ長)の乱数Fを発生させる(ステップS1)。   In response to the instruction, the processor 30 starts the processing procedure shown in the flowchart of FIG. 2 (the processing shown in FIG. 3), first starts the random number program 44, and has, for example, an m-byte length (the same as the initial vector). A random number F of (data length) is generated (step S1).

次に、プロセッサ30は、生成した乱数Fとメモリ40に記憶されている初期ベクトル42との排他的論理和(XOR)をとる(ステップS2)。
次に、プロセッサ30は、その結果を暗号鍵41を用いて暗号化プログラム43により暗号化して、暗号文B0を生成し、メモリ40に記憶する(ステップS3)。
Next, the processor 30 performs an exclusive OR (XOR) of the generated random number F and the initial vector 42 stored in the memory 40 (step S2).
Next, the processor 30, the result is encrypted by the encryption program 43 by using the encryption key 41 to generate the ciphertext B 0, it is stored in the memory 40 (step S3).

続いて、プロセッサ30は、暗号文B0にビット操作を施し、次ブロック暗号化用ビット列Hを生成し、メモリ40に記憶する(ステップS4)。ビット操作としては、暗号文B0の結果に応じてビット操作の規則を変える。例えば、下位4ビットに着目し、“0”だったら暗号文B0の各ビットデータを反転する、“1”だったら特定ビットのビットデータを反転する、“2”だったら左方向に所定ビット数ローテイトする、“3”だったら右方向に所定ビット数ローテイトする等のように処理する。ビット操作の内容自体は任意である。なお、ビット操作に限らず、暗号文B0の結果に応じて所定の加算操作、減算操作をするようにしてもよいが、その場合、後述する復号化の際の操作(ステップT1、T4)では、暗号文に加算操作をした場合には減算操作をするなど、暗号化の際に施した操作を元に戻すような操作を施す。 Subsequently, the processor 30 performs a bit operation to the ciphertext B 0, generates the following block encryption bit string H 0, is stored in the memory 40 (step S4). As the bit operation, the bit operation rule is changed according to the result of the ciphertext B 0 . For example, paying attention to the lower 4 bits, if “0”, each bit data of the ciphertext B 0 is inverted, if “1”, the bit data of a specific bit is inverted, and if “2”, the predetermined bit is left Rotate several times, and if it is “3”, perform processing such as rotating a predetermined number of bits to the right. The content of the bit operation itself is arbitrary. In addition, not only the bit operation but also a predetermined addition operation or subtraction operation may be performed according to the result of the ciphertext B 0 , but in that case, an operation at the time of decryption to be described later (steps T 1 and T 4) Then, when an addition operation is performed on the ciphertext, an operation for returning the operation performed at the time of encryption, such as a subtraction operation, is performed.

次に、プロセッサ30は、平文を逐次的に暗号化するためのカウント値iを1にセットする(ステップS5)。   Next, the processor 30 sets a count value i for sequentially encrypting plaintext to 1 (step S5).

次いで、カウント値iが、平文を暗号化する単位であるmバイトのブロックに分割したときの、ブロック数n以下か否かを判定する(ステップS6)。当初は、カウント値iが1であり、n以下であるので(ステップS6:YES)、処理はステップS7に進む。   Next, it is determined whether or not the count value i is equal to or less than the block number n when divided into m-byte blocks, which are units for encrypting plaintext (step S6). Initially, since the count value i is 1 and is equal to or less than n (step S6: YES), the process proceeds to step S7.

ステップS7で、プロセッサ30は、メモリ40に記憶した暗号化用ビット列Hi−1(最初はステップS4で求めたH)と、メモリ40に記憶した平文の第i番目のmバイトのブロックA(最初は先頭mバイトのブロックA)との排他的論理和C(最初は、C)を求める(ステップS7)。 In step S <b> 7, the processor 30 reads the encryption bit string H i−1 (initially H 0 obtained in step S <b> 4) stored in the memory 40 and the block A of the plaintext i-th m bytes stored in the memory 40. An exclusive OR C i (initially C 1 ) with i (initially the first m-byte block A 1 ) is obtained (step S7).

次に、プロセッサ30は、排他的論理和Cを、暗号鍵41を用いて暗号化プログラム43により暗号化することにより、平文の第iブロックA(最初は、第1ブロックA)の暗号文B(最初はB)を生成し、メモリ40に記憶する(ステップS8)。 Next, the processor 30 encrypts the exclusive OR C i by the encryption program 43 using the encryption key 41, so that the plaintext i-th block A i (initially the first block A 1 ) is encrypted. A ciphertext B i (initially B 1 ) is generated and stored in the memory 40 (step S8).

次いで、プロセッサ30は、暗号文B(最初はB)にビット操作を施し、
次ブロック暗号化用のビット列H(最初はH)を生成し、メモリ40に記憶する(ステップS9)。
続いて、カウント値iを1だけインクリメントして(ステップS10)、ステップS6に戻る。
The processor 30 then performs a bit operation on the ciphertext B i (initially B 1 ),
A bit string H i (initially H 1 ) for next block encryption is generated and stored in the memory 40 (step S9).
Subsequently, the count value i is incremented by 1 (step S10), and the process returns to step S6.

以後、同様の動作を繰り返して、平文のブロックAを暗号化して暗号文Bを求め、これにビット操作を施してビット列Hを求めて、このビット列Hと次のブロックAi+1との排他的論理和Ci+1を求め、これを、暗号鍵41を用いて暗号化プログラム43により暗号化して、暗号文Bi+1を求める処理を繰り返す。 Thereafter, by repeating the same operation, obtains the encrypted B i by encrypting the blocks A i of the plaintext, seeking a bit string H i subjected to this bit manipulation, and the bit string H i and the next block A i + 1 obtains an exclusive OR C i + 1 of this, encrypted by the encryption program 43 using the encryption key 41, and repeats the process for obtaining the ciphertext B i + 1.

平文の最後のブロックAを暗号化して暗号文Bを求めると、ステップS6で、カウント値i>全ブロック数nと判別され、今回の暗号化の処理を終了する。 When encrypting the last block A n plaintext obtaining the encrypted B n, in step S6, it is determined that the count value i> total number of blocks n, ends the processing of this encryption.

その後、プロセッサ30は、記憶部40に格納された暗号文B〜Bを、通信部50を介して端末装置T2に送信する。 Thereafter, the processor 30, the ciphertext B 0 .about.B n stored in the storage unit 40, via the communication unit 50 to the terminal device T2.

(復号化処理)
次に、端末装置T2が端末装置T1から受信した暗号文を復号化して、元の平文を生成する手順を説明する。
まず、前提として、通信部60が復号化対象の暗号文(前述のB0からB)を端末装置T1から受信し、プロセッサ70が、これをメモリ80に格納したものとする。また、プロセッサ70に、受信した暗号文列の復号化が指示されたものとする。
(Decryption process)
Next, the procedure in which the terminal device T2 decrypts the ciphertext received from the terminal device T1 and generates the original plaintext will be described.
First, as a premise, it is assumed that the communication unit 60 receives the ciphertext (B 0 to B n described above) to be decrypted from the terminal device T1, and the processor 70 stores it in the memory 80. It is assumed that the processor 70 is instructed to decrypt the received ciphertext string.

指示に応答して、プロセッサ70は、図4のフローチャートに示す処理手順(図5に示す処理)を開始し、最初にメモリ80から、暗号文の先頭ブロックB0を読み出し、暗号化の際と同じ規則のビット操作を施し、ビット列Hを生成し、メモリ80に記憶する(ステップT1)。なお、このビット列Hは、図2のステップS4で生成した暗号化用ビット列H0に等しいものとなる。なお、暗号文の先頭ブロックB0を復号化する必要はない。 In response to the instruction, the processor 70 starts the processing procedure shown in the flowchart of FIG. 4 (the processing shown in FIG. 5), first reads the first block B 0 of the ciphertext from the memory 80, and performs the encryption. performing bit manipulation of the same rule, to generate a bit string H 0, it is stored in the memory 80 (step T1). This bit string H 0 is equal to the encryption bit string H 0 generated in step S4 of FIG. It is not necessary to decrypt the first block B 0 of the ciphertext.

次に、プロセッサ70は、暗号文を逐次的に復号化するためのカウント値iを1にセットする(ステップT2)。
次に、プロセッサ70は、iが暗号文の最終ブロック番号n以下であるか否かを判定する(ステップT3)。なお、暗号化された平文のブロック数をnとすれば、この平文にステップS1で生成された乱数Fが付加されているので、暗号文のブロック数は(n+1)となる。暗号文のブロックの番号が0(B)から開始するため、最終ブロック番号はnとなる。
Next, the processor 70 sets a count value i for sequentially decrypting the ciphertext to 1 (step T2).
Next, the processor 70 determines whether i is equal to or less than the final block number n of the ciphertext (step T3). If the number of encrypted plaintext blocks is n, the random number F generated in step S1 is added to this plaintext, so the number of ciphertext blocks is (n + 1). Since the ciphertext block number starts from 0 (B 0 ), the final block number is n.

カウント値iが最終ブロック番号n以下の場合(ステップT3:YES)、プロセッサ70は、メモリ80から、暗号文の次のブロックB(当初は、ブロックB)を読み出し、暗号化の際と同じ規則のビット操作を施して、ビット列H(当初は、ビット列H)を生成し、メモリ80に記憶する(ステップT4)。 When the count value i is less than or equal to the final block number n (step T3: YES), the processor 70 reads the next block B i (initially block B 1 ) of the ciphertext from the memory 80, and at the time of encryption The bit operation of the same rule is performed to generate a bit string H i (initially, bit string H 1 ) and store it in the memory 80 (step T4).

次いで、プロセッサ70は、暗号文の第iブロックBを復号鍵81を用いて復号化プログラム82により復号することによりビット列C(当初は、ビット列C)を生成する(ステップT5)。 Next, the processor 70 generates the bit string C i (initially the bit string C 1 ) by decrypting the i-th block B i of the ciphertext by the decryption program 82 using the decryption key 81 (step T5).

次に、プロセッサ70は、暗号文の第iブロックBから復号されたビット列C(当初はC1)とメモリ80に記憶しておいたビット列Hi−1(当初は、H)との排他的論理和をとり、これを復号化した平文A(当初は、A1)としてメモリ40に記憶する(ステップT6)。 Next, the processor 70 decodes the bit string C i (initially C 1 ) decrypted from the i-th block B i of the ciphertext and the bit string H i-1 (initially H 0 ) stored in the memory 80. Are stored in the memory 40 as plain text A i (initially A1) obtained by decrypting the logical sum (step T6).

プロセッサ70は、カウンタiを1つインクリメントし(ステップT7)、ステップT3に戻る。   The processor 70 increments the counter i by 1 (step T7), and returns to step T3.

以後、同様の動作を繰り返して、暗号文のブロックBを復号化鍵を用いて復号してビット列Cを求め、このビット列Cと、暗号文のブロックBi−1をビット操作して得られたビット列Hi−1との論理和求めて、平文のブロックAi+1に復号化する処理を繰り返す。 Thereafter, by repeating the same operation to obtain the bit sequence C i is decrypted using a decryption key blocks B i of the ciphertext, and the bit sequence C i, the block B i-1 of the ciphertext bit manipulation The process of obtaining a logical sum with the obtained bit string H i−1 and decrypting it into a plaintext block A i + 1 is repeated.

プロセッサ70は、暗号文の最後のブロックBを復号して平文のブロックAに復号化すると、ステップT3で、カウント値i>全ブロック数nと判別され、今回の復号化のフローを終了する。 When the processor 70 decrypts the last block Bn of the ciphertext and decrypts it into the plaintext block An , it is determined in step T3 that the count value i> the total number of blocks n, and the current decryption flow ends. To do.

以上の処理により、メモリ80には、復号化された平文Aが記憶される。
プロセッサ70は、必要に応じて、出力部90から復号した平文Aを出力する。
Through the above processing, the decrypted plaintext A is stored in the memory 80.
The processor 70 outputs the decrypted plaintext A from the output unit 90 as necessary.

以上説明したように、端末装置T1では、平文の先頭に乱数値を付加して、暗号ブロック連鎖方式で暗号化しているので、同一の平文を暗号化する場合でもその結果は毎回ことなったものとなる。従って、平文が個人や機器等の対象を表すIDであっても、第三者が対象を特定することが困難となる。さらに、上述のビット操作をすることにより、B〜Bの関連性を見えにくくして平文そのものを推定することも困難となる。 As described above, since the terminal device T1 adds a random value to the head of the plaintext and encrypts it using the cipher block chaining method, even when the same plaintext is encrypted, the result is different every time. It becomes. Therefore, even if the plain text is an ID representing an object such as an individual or a device, it is difficult for a third party to specify the object. Furthermore, by performing the above bit operation, it becomes difficult to estimate the plaintext itself by making the relevance of B 1 to B n difficult to see.

一方、端末装置T2では、受信した暗号文のうち、乱数を用いて生成された部分は、後続する暗号文の復号には使用するが、その値自体は使用しないので、乱数値を知らなくても正常に暗号文を復号することができる。   On the other hand, in the terminal device T2, the portion generated using the random number in the received ciphertext is used for decrypting the subsequent ciphertext, but the value itself is not used. Can successfully decrypt the ciphertext.

従って、以上の構成を有する暗号通信システム10によれば、従来の暗号ブロック連絡方式に比して、処理負担はほとんど変化がなく、より信頼性の高い暗号・復号方式が得られる。   Therefore, according to the cryptographic communication system 10 having the above configuration, the processing load hardly changes compared to the conventional cryptographic block communication method, and a more reliable encryption / decryption method can be obtained.

(実施形態2)
実施形態1では、暗号化処理において、平文のブロックAを暗号化して暗号文のブロックBを求め、これにビット操作を施してビット列Hを求めて、このビット列Hと平文の次のブロックAi+1との論理和Ci+1を求め、これを暗号鍵41を用いて暗号化して、暗号文のブロックBi+1を求める処理を繰り返している。しかし、この発明はこれに限定されず、暗号文のブロックBにビット操作を施す処理を行わないで、この暗号文ブロックBと次のブロックAi+1との論理和Ci+1を求め、これを暗号鍵41を用いた暗号化プログラム43により暗号化して、暗号文Bi+1を求める構成とすることも可能である。この場合、図6に示すように、ステップS7において、Bi−1とAとの排他的論理和Cを求め、ステップS4とS9を削除する。同様に、図7に示すように、ステップT6でビット列Cと暗号文ブロックBi−1との排他的論理和をとり、ステップT1とT4とを除去する。
(Embodiment 2)
In Embodiment 1, in the encryption process, obtains the block B i of the ciphertext by encrypting the blocks A i of the plaintext, seeking a bit string H i subjected to this bit manipulation, the bit string H i and the plaintext following The process of obtaining the logical sum C i + 1 with the block A i + 1 and encrypting it with the encryption key 41 to obtain the ciphertext block B i + 1 is repeated. However, the invention is not limited to this, without performing the process for performing bit operations on blocks B i of the ciphertext to obtain the logical sum C i + 1 of the ciphertext block B i and the next block A i + 1, which Can be encrypted by the encryption program 43 using the encryption key 41 to obtain the ciphertext B i + 1 . In this case, as shown in FIG. 6, in step S7, an exclusive OR C i of B i−1 and A i is obtained, and steps S4 and S9 are deleted. Similarly, as shown in FIG. 7, in step T6, the bit string C i and the ciphertext block B i-1 are exclusive ORed, and steps T1 and T4 are removed.

この実施形態では、理解を容易にするため、端末装置T1で平文を暗号化し、端末装置T2で復号化する構成について説明したが、暗号化と復号化を一つの端末装置で行う構成とすることも可能である。   In this embodiment, in order to facilitate understanding, a configuration has been described in which plaintext is encrypted by the terminal device T1 and decrypted by the terminal device T2. However, the encryption and decryption are performed by one terminal device. Is also possible.

この発明は、暗号化通信に使用する暗号に限定されず、種々の暗号・復号化に利用可能である。   The present invention is not limited to encryption used for encrypted communication, and can be used for various encryption / decryption.

また、上記実施の形態においては、端末装置T1は、暗号化対象の平文をメモリ40に一旦蓄積してから暗号化し、暗号化処理終了後に、端末装置T2に送信した。この発明は、これに限定されず、例えば、端末装置T1(プロセッサ30)は、例えば、入力部20から暗号化対象の平文のブロックが順次供給される場合には、供給されたブロックを逐次暗号化するように構成してもよい。また、端末装置T1(プロセッサ30)は、例えば、平文のブロックを暗号化する度に、通信部50を介して、
これを端末装置T2に送信するように構成してもよい。同様に、例えば、端末装置T2(プロセッサ70)は、例えば、入力部20から暗号化対象の平文のブロックが順次供給される場合には、供給されたブロックを逐次暗号化するように構成してもよい。また、端末装置T1(プロセッサ30)は、例えば、平文のブロックを暗号化する度に、通信部50を介して、これを端末装置T2に送信するように構成してもよい。
Further, in the above embodiment, the terminal device T1 temporarily stores the plaintext to be encrypted in the memory 40, encrypts it, and transmits it to the terminal device T2 after the encryption process is completed. The present invention is not limited to this. For example, when the plaintext block to be encrypted is sequentially supplied from the input unit 20, the terminal device T1 (processor 30) sequentially encrypts the supplied block. You may comprise so that it may become. Further, the terminal device T1 (processor 30), for example, every time a plaintext block is encrypted, via the communication unit 50,
You may comprise so that this may be transmitted to terminal device T2. Similarly, for example, when the plaintext block to be encrypted is sequentially supplied from the input unit 20, for example, the terminal device T2 (processor 70) is configured to sequentially encrypt the supplied block. Also good. Further, for example, the terminal device T1 (processor 30) may be configured to transmit this to the terminal device T2 via the communication unit 50 every time a plaintext block is encrypted.

なお、上述のように、この発明の暗号化装置及び/又は復号化装置は、専用装置に限定されず、一般のコンピュータ(プロセッサを含む)を用いて実現可能である。この場合には、必要な固定データ等と共に上記の処理を実行するコンピュータプログラム(暗号化プログラム、復号化プログラム)を適宜の手法でコンピュータにインストールして実行させればよい。   As described above, the encryption device and / or decryption device of the present invention is not limited to a dedicated device, and can be realized using a general computer (including a processor). In this case, a computer program (encryption program, decryption program) that executes the above-described processing together with necessary fixed data may be installed and executed on the computer by an appropriate method.

本発明の実施の形態に係る暗号通信システムの構成図である。It is a block diagram of the encryption communication system which concerns on embodiment of this invention. 図1に示す端末装置T1が実行する暗号化処理のフローチャートである。It is a flowchart of the encryption process which the terminal device T1 shown in FIG. 1 performs. 図1に示す端末装置T1が実行する暗号化処理の処理ダイアグラムである。It is a process diagram of the encryption process which the terminal device T1 shown in FIG. 1 performs. 図1に示す端末装置T2が実行する復号化処理のフローチャートである。It is a flowchart of the decoding process which the terminal device T2 shown in FIG. 1 performs. 図1に示す端末装置T2が実行する復号化処理の処理ダイアグラムである。It is a process diagram of the decoding process which the terminal device T2 shown in FIG. 1 performs. 第2実施形態に係る暗号化処理の処理ダイアグラムである。It is a process diagram of the encryption process which concerns on 2nd Embodiment. 第2実施形態に係る復号化処理の処理ダイアグラムである。It is a process diagram of the decoding process which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

10 暗号通信システム
20 入力部
30 プロセッサ
40 メモリ
50 通信部
41 暗号鍵
42 初期ベクトル
43 暗号化プログラム
44 乱数プログラム
50 通信部
60 通信部
70 プロセッサ
80 メモリ
81 復号鍵
82 復号化プログラム
90 出力部
DESCRIPTION OF SYMBOLS 10 Encryption communication system 20 Input part 30 Processor 40 Memory 50 Communication part 41 Encryption key 42 Initial vector 43 Encryption program 44 Random number program 50 Communication part 60 Communication part 70 Processor 80 Memory 81 Decryption key 82 Decryption program 90 Output part

Claims (7)

暗号化対象の平文を所定サイズのブロックに分割し、先のブロックの暗号化処理の結果を用いて次のブロックのデータを操作し、操作後のデータを暗号化する処理を順次繰り返すことにより、前記平文を暗号化する暗号化装置であって、
乱数を発生させて第1のデータを生成する手段と、
予め定められている第2のデータを記憶する手段と、
を備え、
前記第1のデータを前記第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する処理を繰り返す、
ことを特徴とする暗号化装置。
By dividing the plaintext to be encrypted into blocks of a predetermined size, operating the data of the next block using the result of the encryption processing of the previous block, and sequentially repeating the process of encrypting the data after the operation, An encryption device for encrypting the plaintext,
Means for generating random numbers to generate first data;
Means for storing predetermined second data;
With
The first data is operated using the second data, and the 0th operation data obtained by encrypting the first data is encrypted to generate the 0th encrypted data. By operating the block data (i is a natural number) using the (i-1) th encrypted data to generate the i-th operation data and encrypting the i-th operation data, repeat the process of generating the encrypted data of i,
An encryption device characterized by that.
前記暗号化装置は、
前記第iの暗号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのブロックのデータを操作して、前記平文を暗号化する、
ことを特徴とする請求項1に記載の暗号化装置。
The encryption device is:
When generating the i-th encrypted data,
A predetermined operation according to the data is performed on the (i-1) th encrypted data, and the data of the ith block is operated using the (i-1) th encrypted data after the operation. , Encrypt the plaintext,
The encryption apparatus according to claim 1, wherein:
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、
第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を、順次繰り返すことにより、前記暗号文を復号化する復号化装置であって、
前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成する、
ことを特徴とする復号化装置。
For ciphertext consisting of 0th to nth (n is a natural number) encrypted data of a predetermined size,
Decrypting the i-th (i is a natural number less than or equal to n) encrypted data to generate the i-th data, and operating the i-th data using the (i-1) -th encrypted data, A decryption device that decrypts the ciphertext by sequentially repeating the process of generating the i-th decrypted data,
When generating the i th decoded data,
A predetermined operation corresponding to the data is performed on the (i-1) -th encrypted data, and the i-th data is operated using the (i-1) -th encrypted data after the operation, Generating i th decoded data,
A decoding device characterized by the above.
乱数を発生させて生成した第1のデータを所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、暗号化対象の平文の第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成するステップを繰り返す、
ことを特徴とする暗号化方法。
The first data generated by generating a random number is operated using predetermined second data, and the zeroth operation data obtained by encrypting the first data is encrypted to obtain the zeroth encrypted data. Thereafter, the i-th operation data is generated by manipulating the data of the i-th (i is a natural number) block of the plaintext to be encrypted using the (i-1) -th encrypted data. Repeating the step of generating the i-th encrypted data by encrypting the i-th operation data;
An encryption method characterized by the above.
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を、順次繰り返すことにより、前記暗号文を復号化する復号化方法であって、
前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成する、
ことを特徴とする復号化方法。
The ciphertext composed of 0th to nth (n is a natural number) encrypted data of a predetermined size is decrypted with the ith (i is a natural number equal to or less than n) encrypted data to generate ith data. Decrypting the ciphertext by sequentially repeating the process of generating the i-th decrypted data by manipulating the i-th data using the (i-1) -th encrypted data A method,
When generating the i th decoded data,
A predetermined operation corresponding to the data is performed on the (i-1) -th encrypted data, and the i-th data is operated using the (i-1) -th encrypted data after the operation, Generating i th decoded data,
A decoding method characterized by the above.
コンピュータに、
乱数を発生させて生成した第1のデータを所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、
以後、暗号化対象データの第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する手順を繰り返す処理、
を実行させることを特徴とする暗号化プログラム。
On the computer,
The first data generated by generating a random number is operated using predetermined second data, and the zeroth operation data obtained by encrypting the first data is encrypted to obtain the zeroth encrypted data. Generate and
Thereafter, the i-th operation data is generated by operating the data of the i-th (i is a natural number) block of the data to be encrypted using the (i-1) -th encrypted data. A process of repeating the procedure of generating the i-th encrypted data by encrypting the data;
An encryption program characterized in that is executed.
コンピュータに、
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、第i(iはn以下の自然数)の暗号化データを復号化し、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を順次繰り返し、前記暗号文を復号化する処理であって、
前記第iの復号化データを生成する際に、前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して前記第iの復号化データを生成する処理、
を実行させることを特徴とする復号化プログラム。
On the computer,
Decrypting i-th (i is a natural number equal to or less than n) encrypted data for ciphertext consisting of 0th to n-th (n is a natural number) encrypted data of a predetermined size to generate i-th data; A process of operating the i-th data using the (i-1) -th encrypted data to sequentially generate the i-th decrypted data and decrypting the ciphertext,
When generating the i-th decrypted data, the (i-1) encrypted data is subjected to a predetermined operation according to the data, and the (i-1) encrypted data after the operation is Processing to generate the i-th decoded data by operating the i-th data,
A decryption program characterized by causing
JP2005190755A 2005-06-29 2005-06-29 Encryption apparatus and method, decryption apparatus and method Active JP4644053B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005190755A JP4644053B2 (en) 2005-06-29 2005-06-29 Encryption apparatus and method, decryption apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005190755A JP4644053B2 (en) 2005-06-29 2005-06-29 Encryption apparatus and method, decryption apparatus and method

Publications (2)

Publication Number Publication Date
JP2007013503A true JP2007013503A (en) 2007-01-18
JP4644053B2 JP4644053B2 (en) 2011-03-02

Family

ID=37751415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005190755A Active JP4644053B2 (en) 2005-06-29 2005-06-29 Encryption apparatus and method, decryption apparatus and method

Country Status (1)

Country Link
JP (1) JP4644053B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151689A (en) * 2010-01-22 2011-08-04 Fujitsu Ltd Information processing apparatus and information processing method
JP2012168274A (en) * 2011-02-10 2012-09-06 Dainippon Printing Co Ltd Encryption method, decryption method, encryption apparatus, decryption apparatus and encryption/decryption system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728405A (en) * 1993-07-14 1995-01-31 Nec Corp Ciphering preprocessor and deciphering postprocessor for cipher chain
JPH0728407A (en) * 1993-07-14 1995-01-31 Nec Corp Ciphering preprocessor and deciphering postprocessor by cipher
WO1996002992A1 (en) * 1994-07-15 1996-02-01 Ntt Mobile Communications Network Inc. Signal transmitting method and communication system
JP2001331102A (en) * 2000-03-14 2001-11-30 Sony Corp Device and method for data transmission, device and method for decoding data, and transmission system
JP2002074905A (en) * 2000-08-25 2002-03-15 Sony Corp Data sending device, data decryption device, data sending method, data decryption method, and transmission system
JP2004325677A (en) * 2003-04-23 2004-11-18 Sony Corp Encryption processing device, encryption processing method, and computer program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728405A (en) * 1993-07-14 1995-01-31 Nec Corp Ciphering preprocessor and deciphering postprocessor for cipher chain
JPH0728407A (en) * 1993-07-14 1995-01-31 Nec Corp Ciphering preprocessor and deciphering postprocessor by cipher
WO1996002992A1 (en) * 1994-07-15 1996-02-01 Ntt Mobile Communications Network Inc. Signal transmitting method and communication system
JP2001331102A (en) * 2000-03-14 2001-11-30 Sony Corp Device and method for data transmission, device and method for decoding data, and transmission system
JP2002074905A (en) * 2000-08-25 2002-03-15 Sony Corp Data sending device, data decryption device, data sending method, data decryption method, and transmission system
JP2004325677A (en) * 2003-04-23 2004-11-18 Sony Corp Encryption processing device, encryption processing method, and computer program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151689A (en) * 2010-01-22 2011-08-04 Fujitsu Ltd Information processing apparatus and information processing method
JP2012168274A (en) * 2011-02-10 2012-09-06 Dainippon Printing Co Ltd Encryption method, decryption method, encryption apparatus, decryption apparatus and encryption/decryption system

Also Published As

Publication number Publication date
JP4644053B2 (en) 2011-03-02

Similar Documents

Publication Publication Date Title
JP4905000B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
JP5060119B2 (en) Cryptographic processing program, cryptographic processing method, and cryptographic processing apparatus
JP2008523728A (en) Method and apparatus for improving the speed of encryption processing
WO2019114122A1 (en) Encryption method for login information, device, electronic device, and medium
CN109714368B (en) Message encryption and decryption method and device, electronic equipment and computer readable storage medium
WO2012157279A1 (en) Order-preserving encryption system, device, method, and program
JP5992651B2 (en) ENCRYPTION METHOD, PROGRAM, AND SYSTEM
EP0996250A2 (en) Efficient block cipher method
JP4644053B2 (en) Encryption apparatus and method, decryption apparatus and method
CN114640443B (en) Online engineering quotation safety interaction method and system
JP4857230B2 (en) Pseudorandom number generator and encryption processing device using the same
JP2009288616A (en) Secret sharing method, program and device
JP4287397B2 (en) Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program
JP2002510058A (en) Method for cryptographic conversion of binary data blocks
JP6631989B2 (en) Encryption device, control method, and program
JP5586758B1 (en) Dynamic encryption key generation system
JP2005309148A (en) Data converter and the data conversion method
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
JP2008185616A (en) Secret key ciphering method, secret key ciphering device and computer program
JP5818768B2 (en) Mask generation apparatus, information processing apparatus, method thereof, and program
JP2007295342A (en) Cipher communication system
JP2006133380A (en) Decoding system, decoding program, and cipher communication system
JP2001358709A (en) Enciphering device, decoding device, methods for the sames and recording medium
JPH10322317A (en) Data conversion device, data transmission device and data restoration device
JPH09230788A (en) Encoding method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4644053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250