JP2003271054A - データ暗号化装置及びデータ復号化装置 - Google Patents
データ暗号化装置及びデータ復号化装置Info
- Publication number
- JP2003271054A JP2003271054A JP2002070938A JP2002070938A JP2003271054A JP 2003271054 A JP2003271054 A JP 2003271054A JP 2002070938 A JP2002070938 A JP 2002070938A JP 2002070938 A JP2002070938 A JP 2002070938A JP 2003271054 A JP2003271054 A JP 2003271054A
- Authority
- JP
- Japan
- Prior art keywords
- data
- partial data
- conversion
- unit
- partial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】
【課題】 SPN構造の暗号化方式において、暗号化及
び復号化両方の機能を備えた回路を実装する場合であっ
ても、回路規模の増大を抑制することができるデータ暗
号化装置及びデータ復号化装置を提供する事を目的とす
る。 【解決手段】 データ変換部に、逆変換がそれ自身と等
価である変換を用いることで、暗号化と復号化とで同じ
データ変換部を用いることが出来る。これにより、暗号
化及び復号化両方の機能を備えた回路を実装する場合に
も回路規模の増大を抑制することが出来る。
び復号化両方の機能を備えた回路を実装する場合であっ
ても、回路規模の増大を抑制することができるデータ暗
号化装置及びデータ復号化装置を提供する事を目的とす
る。 【解決手段】 データ変換部に、逆変換がそれ自身と等
価である変換を用いることで、暗号化と復号化とで同じ
データ変換部を用いることが出来る。これにより、暗号
化及び復号化両方の機能を備えた回路を実装する場合に
も回路規模の増大を抑制することが出来る。
Description
【0001】
【発明の属する技術分野】本発明は、データ暗号化装置
及びデータ復号化装置に関する。
及びデータ復号化装置に関する。
【0002】
【従来の技術】近年のディジタル通信の普及に伴い、健
全な産業の発展やプライバシー保護の観点から、ディジ
タル通信におけるデータの機密性の確保が重要視されて
きている。データの機密性を確保する方法として、デー
タ暗号化方式がある。データ暗号化方式は、容易に解読
されない為の高い安全性が要求される。
全な産業の発展やプライバシー保護の観点から、ディジ
タル通信におけるデータの機密性の確保が重要視されて
きている。データの機密性を確保する方法として、デー
タ暗号化方式がある。データ暗号化方式は、容易に解読
されない為の高い安全性が要求される。
【0003】暗号化方式の例として、ブロック暗号化方
式がある。ブロック暗号化方式は、平文を所定サイズの
ブロックに分割し、ブロック毎に非線形変換を施して暗
号文を生成する。ブロック暗号化方式は、非線形変換を
用いることにより、高い安全性を実現する。ブロック暗
号化方式の具体例は、Serpent方式及びHierocrypt-3方
式などである。
式がある。ブロック暗号化方式は、平文を所定サイズの
ブロックに分割し、ブロック毎に非線形変換を施して暗
号文を生成する。ブロック暗号化方式は、非線形変換を
用いることにより、高い安全性を実現する。ブロック暗
号化方式の具体例は、Serpent方式及びHierocrypt-3方
式などである。
【0004】図16にブロック暗号化方式の一例を示
す。同図に示すブロック暗号化方式は、4個のデータ変
換部800a〜800d及びデータ拡散部801から構
成される。32ビットのブロックに分割された平文は、
32ビット毎にデータ変換部800a〜800dに入力
される。各データ変換部は、入力された32ビットデー
タに非線形変換を施して、その結果をデータ拡散部80
1に出力する。データ拡散部801は、各データ変換部
から32ビットデータを受け取り、4個の32ビットデ
ータを攪乱する攪乱処理を施す。データ拡散部801
は、攪乱処理を施した各32ビットデータを結合したも
のを暗号文として出力する。
す。同図に示すブロック暗号化方式は、4個のデータ変
換部800a〜800d及びデータ拡散部801から構
成される。32ビットのブロックに分割された平文は、
32ビット毎にデータ変換部800a〜800dに入力
される。各データ変換部は、入力された32ビットデー
タに非線形変換を施して、その結果をデータ拡散部80
1に出力する。データ拡散部801は、各データ変換部
から32ビットデータを受け取り、4個の32ビットデ
ータを攪乱する攪乱処理を施す。データ拡散部801
は、攪乱処理を施した各32ビットデータを結合したも
のを暗号文として出力する。
【0005】通常は、上記のデータ変換部800a〜8
00d及びデータ拡散部801の処理を複数回繰り返し
行い、暗号文を生成する。この様な構造はSPN構造と
呼ばれる。上記のブロック暗号化方式により暗号化され
た暗号文は、図17に示す4個のデータ逆変換部901
a〜901d及びデータ逆拡散部900により、以下に
示す様にして復号化される。
00d及びデータ拡散部801の処理を複数回繰り返し
行い、暗号文を生成する。この様な構造はSPN構造と
呼ばれる。上記のブロック暗号化方式により暗号化され
た暗号文は、図17に示す4個のデータ逆変換部901
a〜901d及びデータ逆拡散部900により、以下に
示す様にして復号化される。
【0006】128ビットは32ビットのブロックに分
割され、データ逆拡散部900に入力される。データ逆
拡散部900は、データ拡散部801の逆変換を行い、
4個の32ビットデータをデータ逆変換部901a〜9
01dに出力する。各データ逆変換部は、入力された3
2ビットデータに前記データ変換部800a〜800d
が行う変換の逆変換を施して、その結果をデータ逆拡散
部900に出力する。データ逆拡散部900は、各デー
タ逆変換部から32ビットデータを受け取り、4個の3
2ビットデータに前記データ拡散部801が行う変換の
逆変換を施す。データ逆拡散部900は、32ビットデ
ータを結合したものを出力する。上記のデータ逆拡散部
900及びデータ逆変換部901a〜901dの処理を
暗号化の処理と同回数行うことにより、平文を生成す
る。
割され、データ逆拡散部900に入力される。データ逆
拡散部900は、データ拡散部801の逆変換を行い、
4個の32ビットデータをデータ逆変換部901a〜9
01dに出力する。各データ逆変換部は、入力された3
2ビットデータに前記データ変換部800a〜800d
が行う変換の逆変換を施して、その結果をデータ逆拡散
部900に出力する。データ逆拡散部900は、各デー
タ逆変換部から32ビットデータを受け取り、4個の3
2ビットデータに前記データ拡散部801が行う変換の
逆変換を施す。データ逆拡散部900は、32ビットデ
ータを結合したものを出力する。上記のデータ逆拡散部
900及びデータ逆変換部901a〜901dの処理を
暗号化の処理と同回数行うことにより、平文を生成す
る。
【0007】
【発明が解決しようとする課題】上記の様に、SPN構
造を有する暗号化方式では、暗号化と復号化とでそれぞ
れ処理の異なるデータ変換部及びデータ拡散部を用い
る。具体的には、復号化では暗号化の逆変換処理を行
う。従って、暗号化及び復号化の両方を行う回路を実装
する場合、暗号化或いは復号化のみの回路を実装する場
合と比べて2倍の回路規模が必要となりコストの増大に
つながる。
造を有する暗号化方式では、暗号化と復号化とでそれぞ
れ処理の異なるデータ変換部及びデータ拡散部を用い
る。具体的には、復号化では暗号化の逆変換処理を行
う。従って、暗号化及び復号化の両方を行う回路を実装
する場合、暗号化或いは復号化のみの回路を実装する場
合と比べて2倍の回路規模が必要となりコストの増大に
つながる。
【0008】本発明は、上記問題点に鑑みなされたもの
であり、暗号化及び復号化両方の機能を備えた回路を実
装する場合であっても、回路規模の増大を抑制すること
ができるデータ暗号化及びデータ復号化装置を提供する
事を目的とする。
であり、暗号化及び復号化両方の機能を備えた回路を実
装する場合であっても、回路規模の増大を抑制すること
ができるデータ暗号化及びデータ復号化装置を提供する
事を目的とする。
【0009】
【課題を解決するための手段】上記目的を解決するため
に、本発明は、Nビット長(Nは正整数)の平文を暗号化
してNビット長の暗号文を生成するデータ暗号化装置で
あって、Nビット長の平文をM個のBビット長(N=M
×B)の第1部分データに分割し、前記M個の第1部分
データのそれぞれに、逆変換がそれ自身と等価であるデ
ータ変換を施し、M個の第2部分データを生成し、前記
M個の第2部分データに、逆変換が存在する攪乱処理を
施して攪乱し、M個の第3部分データを生成し、前記M
個の第3部分データのそれぞれに、前記第1変換手段で
用いた前記データ変換を施し、M個の第4部分データを
生成し、前記M個の第4部分データを結合し、Nビット
長の暗号文を生成ことを特徴とする。
に、本発明は、Nビット長(Nは正整数)の平文を暗号化
してNビット長の暗号文を生成するデータ暗号化装置で
あって、Nビット長の平文をM個のBビット長(N=M
×B)の第1部分データに分割し、前記M個の第1部分
データのそれぞれに、逆変換がそれ自身と等価であるデ
ータ変換を施し、M個の第2部分データを生成し、前記
M個の第2部分データに、逆変換が存在する攪乱処理を
施して攪乱し、M個の第3部分データを生成し、前記M
個の第3部分データのそれぞれに、前記第1変換手段で
用いた前記データ変換を施し、M個の第4部分データを
生成し、前記M個の第4部分データを結合し、Nビット
長の暗号文を生成ことを特徴とする。
【0010】ここで、前記データ暗号化装置は、前記第
1部分データを上位B/2ビット長である第1ブロック
データと下位B/2ビット長である第2ブロックデータ
とに分割し、前記第1ブロックデータと前記第2ブロッ
クデータとを相互に複数回攪乱する攪乱処理を施し、上
位B/2ビッと長である第3ブロックデータと下位B/2
ビット長である第4ブロックデータとを生成し、前記第
3ブロックデータと前記第4ブロックデータの上位と下
位とをを入れ替えて結合し前記第2部分データを生成す
ることを特徴とする。
1部分データを上位B/2ビット長である第1ブロック
データと下位B/2ビット長である第2ブロックデータ
とに分割し、前記第1ブロックデータと前記第2ブロッ
クデータとを相互に複数回攪乱する攪乱処理を施し、上
位B/2ビッと長である第3ブロックデータと下位B/2
ビット長である第4ブロックデータとを生成し、前記第
3ブロックデータと前記第4ブロックデータの上位と下
位とをを入れ替えて結合し前記第2部分データを生成す
ることを特徴とする。
【0011】また、本発明は、Nビット長(Nは正整数)
のデータを暗号化及び復号化してNビット長のデータを
生成するデータ暗号復号化装置であって、Nビット長の
データをM個のBビット長(N=M×B)の第1部分デー
タに分割し、前記M個の第1部分データのそれぞれに、
逆変換がそれ自身と等価であるデータ変換を施し、M個
の第2部分データを生成し、暗号化又は復号化に応じ
て、前記M個の第2部分データの入力先を切り替え、暗
号化の場合、前記M個の第2部分データの入力を受け付
け、逆変換が存在する攪乱処理を施し、M個の第3部分
データを生成し、復号化の場合、前記M個の第2部分デ
ータの入力を受け付け、前記第1攪乱手段における攪乱
処理の逆変換処理を施し、M個の第4部分データを生成
し、前記M個の第3部分データ及び前記M個の第4部分
データのそれぞれに前記データ変換を施し、M個の第5
部分データを生成し、前記M個の第5部分データを結合
し、Nビット長のデータを生成することを特徴とする。
のデータを暗号化及び復号化してNビット長のデータを
生成するデータ暗号復号化装置であって、Nビット長の
データをM個のBビット長(N=M×B)の第1部分デー
タに分割し、前記M個の第1部分データのそれぞれに、
逆変換がそれ自身と等価であるデータ変換を施し、M個
の第2部分データを生成し、暗号化又は復号化に応じ
て、前記M個の第2部分データの入力先を切り替え、暗
号化の場合、前記M個の第2部分データの入力を受け付
け、逆変換が存在する攪乱処理を施し、M個の第3部分
データを生成し、復号化の場合、前記M個の第2部分デ
ータの入力を受け付け、前記第1攪乱手段における攪乱
処理の逆変換処理を施し、M個の第4部分データを生成
し、前記M個の第3部分データ及び前記M個の第4部分
データのそれぞれに前記データ変換を施し、M個の第5
部分データを生成し、前記M個の第5部分データを結合
し、Nビット長のデータを生成することを特徴とする。
【0012】
【発明の実施の形態】本発明に掛かる実施の形態とし
て、暗号通信システム1について図面を用いて説明す
る。図1は、暗号通信システム1の構成を示す図であ
る。同図に示す様に、暗号通信システム1は、受信装置
10、記録媒体11、コンテンツ配信装置12及び放送
衛星13から構成される。
て、暗号通信システム1について図面を用いて説明す
る。図1は、暗号通信システム1の構成を示す図であ
る。同図に示す様に、暗号通信システム1は、受信装置
10、記録媒体11、コンテンツ配信装置12及び放送
衛星13から構成される。
【0013】コンテンツ配信装置12は、具体的にはデ
ィジタル放送装置であり、放送衛星13を介して、暗号
化したディジタルコンテンツをディジタル放送波に乗せ
て放送する。受信装置10は、コンテンツ配信装置12
から放送衛星13を介して放送されるディジタル放送波
を受信し、受信したディジタル放送波から暗号化された
ディジタルコンテンツを抽出し、抽出したディジタルコ
ンテンツを復号する。受信装置10は、更に、復号した
ディジタルコンテンツを別の鍵を用いて再暗号化し、再
暗号化したディジタルコンテンツを記録媒体11に書き
込む。
ィジタル放送装置であり、放送衛星13を介して、暗号
化したディジタルコンテンツをディジタル放送波に乗せ
て放送する。受信装置10は、コンテンツ配信装置12
から放送衛星13を介して放送されるディジタル放送波
を受信し、受信したディジタル放送波から暗号化された
ディジタルコンテンツを抽出し、抽出したディジタルコ
ンテンツを復号する。受信装置10は、更に、復号した
ディジタルコンテンツを別の鍵を用いて再暗号化し、再
暗号化したディジタルコンテンツを記録媒体11に書き
込む。
【0014】1.受信装置10の構成
ここでは、受信装置10の構成について説明する。図2
は、受信装置10の構成を示すブロック図である。同図
に示す様に、受信装置10は、受信部101、データ記
憶部102、鍵入力部103、鍵記憶部104、制御部
105、暗復号化部106、入出力部107及びアンテ
ナ108から構成される。
は、受信装置10の構成を示すブロック図である。同図
に示す様に、受信装置10は、受信部101、データ記
憶部102、鍵入力部103、鍵記憶部104、制御部
105、暗復号化部106、入出力部107及びアンテ
ナ108から構成される。
【0015】受信装置10は、具体的には、マイクロプ
ロセッサ、ROM、RAM、キー操作部、通信部及びア
ンテナ等から構成されるコンピュータシステムである。
前記RAMには、コンピュータプログラムが記憶されて
いる。前記マイクロプロセッサが、前記コンピュータプ
ログラムに従って動作することにより受信装置10は、
その機能を達成する。
ロセッサ、ROM、RAM、キー操作部、通信部及びア
ンテナ等から構成されるコンピュータシステムである。
前記RAMには、コンピュータプログラムが記憶されて
いる。前記マイクロプロセッサが、前記コンピュータプ
ログラムに従って動作することにより受信装置10は、
その機能を達成する。
【0016】(1)受信部101
受信部101は、アンテナ108を介してコンテンツ配
信装置12からディジタル放送波を受信する。受信部1
01は、更に、受信したディジタル放送波から、暗号化
されたディジタルコンテンツである暗号文データC1を
抽出し、抽出した暗号文データC1をデータ記憶部10
2へ書き込む。
信装置12からディジタル放送波を受信する。受信部1
01は、更に、受信したディジタル放送波から、暗号化
されたディジタルコンテンツである暗号文データC1を
抽出し、抽出した暗号文データC1をデータ記憶部10
2へ書き込む。
【0017】ここで、暗号文データC1は、コンテンツ
配信装置12が平文データPを1280ビットの鍵デー
タK1を用いて暗号化したデータである。 (2)データ記憶部102 データ記憶部102は、受信部101が出力する暗号文
データC1を記憶する。また、データ記憶部102は、
暗復号化部106が出力する平文データPを記憶する。
配信装置12が平文データPを1280ビットの鍵デー
タK1を用いて暗号化したデータである。 (2)データ記憶部102 データ記憶部102は、受信部101が出力する暗号文
データC1を記憶する。また、データ記憶部102は、
暗復号化部106が出力する平文データPを記憶する。
【0018】(3)鍵入力部103
鍵入力部103は、暗号文データC1を平文データPに
復号するために用いられる1280ビットの鍵データK
1の入力を受け付け、受け付けた鍵データK1を鍵記憶部
104へ書き込む。また、鍵入力部103は、鍵データ
K1により復号した平文データPを暗号文データC2に再
暗号化するために用いられる1280ビットの鍵データ
K2の入力を受け付け、受け付けた鍵データK2を鍵記憶
部104へ書き込む。
復号するために用いられる1280ビットの鍵データK
1の入力を受け付け、受け付けた鍵データK1を鍵記憶部
104へ書き込む。また、鍵入力部103は、鍵データ
K1により復号した平文データPを暗号文データC2に再
暗号化するために用いられる1280ビットの鍵データ
K2の入力を受け付け、受け付けた鍵データK2を鍵記憶
部104へ書き込む。
【0019】ここで、鍵データK1と鍵データK2とは異
なるデータである。 (4)鍵記憶部104 鍵記憶部104は、鍵入力部103から鍵データK1と
鍵データK2とを受け取り、受け取った鍵データK1と鍵
データK2とを記憶する。 (5)制御部105 制御部105は、暗号文を復号化するとき鍵制御部20
1に対して、鍵記憶部104が記憶している鍵データK
1を読み出す指示を出力する。更に、制御部105は、
データ記憶部102に記憶されている暗号文データC1
を上位から128ビットずつの部分データに分割し、上
位から部分データを読み出し、読み出した128ビット
の部分データを暗復号化部106に出力する。また、制
御部105は、切替部220が内部に記憶しているフラ
グを「1」に設定する。
なるデータである。 (4)鍵記憶部104 鍵記憶部104は、鍵入力部103から鍵データK1と
鍵データK2とを受け取り、受け取った鍵データK1と鍵
データK2とを記憶する。 (5)制御部105 制御部105は、暗号文を復号化するとき鍵制御部20
1に対して、鍵記憶部104が記憶している鍵データK
1を読み出す指示を出力する。更に、制御部105は、
データ記憶部102に記憶されている暗号文データC1
を上位から128ビットずつの部分データに分割し、上
位から部分データを読み出し、読み出した128ビット
の部分データを暗復号化部106に出力する。また、制
御部105は、切替部220が内部に記憶しているフラ
グを「1」に設定する。
【0020】同様に、制御部105は、平文を暗号化す
るとき鍵制御部201に対して、鍵記憶部104が記憶
している鍵データK2を読み出す指示を出力する。更
に、制御部105は、データ記憶部102に記憶されて
いる平文Pを上位から128ビットずつの部分データに
分割し、上位から部分データを読み出し、読み出した1
28ビットの部分データを暗復号化部106に出力す
る。また、制御部105は、切替部が記憶しているフラ
グを「0」に設定する。
るとき鍵制御部201に対して、鍵記憶部104が記憶
している鍵データK2を読み出す指示を出力する。更
に、制御部105は、データ記憶部102に記憶されて
いる平文Pを上位から128ビットずつの部分データに
分割し、上位から部分データを読み出し、読み出した1
28ビットの部分データを暗復号化部106に出力す
る。また、制御部105は、切替部が記憶しているフラ
グを「0」に設定する。
【0021】(6)暗復号化部106
暗復号化部106は、データ記憶部102に記憶されて
いる暗号文データC1を読み出し、読み出した暗号文デ
ータC1を、鍵記憶部104が記憶している鍵データK1
を用いて平文データPに復号する。このとき、暗復号化
部106は、暗号文データC1を128ビットずつ読み
出し、128ビット毎に復号化処理を行う。更に、暗復
号化部106は、復号化して生成した平文データPをデ
ータ記憶部102に出力する。
いる暗号文データC1を読み出し、読み出した暗号文デ
ータC1を、鍵記憶部104が記憶している鍵データK1
を用いて平文データPに復号する。このとき、暗復号化
部106は、暗号文データC1を128ビットずつ読み
出し、128ビット毎に復号化処理を行う。更に、暗復
号化部106は、復号化して生成した平文データPをデ
ータ記憶部102に出力する。
【0022】暗復号化部106は、データ記憶部102
に記憶されている平文データPを読み出し、読み出した
平文データPを、鍵記憶部104が記憶している鍵デー
タK 2を用いて暗号文データC2に暗号化する。このとき
も復号化処理と同様に、暗復号化部106は、平文デー
タPを128ビットずつ読み出し、128ビット毎に暗
号化処理を行う。更に、暗復号化部106は、再暗号化
して生成した暗号文データC2を入出力部107に出力
する。
に記憶されている平文データPを読み出し、読み出した
平文データPを、鍵記憶部104が記憶している鍵デー
タK 2を用いて暗号文データC2に暗号化する。このとき
も復号化処理と同様に、暗復号化部106は、平文デー
タPを128ビットずつ読み出し、128ビット毎に暗
号化処理を行う。更に、暗復号化部106は、再暗号化
して生成した暗号文データC2を入出力部107に出力
する。
【0023】以下では、暗復号化部106の詳細につい
て説明する。 <暗復号化部106の構成>図3は、暗復号化部106
の構成を示すブロック図である。同図に示す様に、暗復
号化部106は、鍵制御部201、第1データ攪乱部2
02、段数制御部203及び第2データ攪乱部204か
ら構成される。
て説明する。 <暗復号化部106の構成>図3は、暗復号化部106
の構成を示すブロック図である。同図に示す様に、暗復
号化部106は、鍵制御部201、第1データ攪乱部2
02、段数制御部203及び第2データ攪乱部204か
ら構成される。
【0024】鍵制御部201は、制御部105からの指
示を受け付け、鍵記憶部104が記憶している鍵データ
K1を読み出す。鍵制御部201は、読み出した128
0ビットの鍵データK1を上位から128ビット毎の部
分鍵データK10,K11,・・・,K19に分割する。
鍵制御部201は、128ビットのデータが第1データ
攪乱部202に1度目に入力された場合、部分鍵データ
K10を第1データ攪乱部202に出力する。以下、デ
ータが繰り返し第1データ攪乱部202に入力される都
度、K11,K12,・・・と順に出力し、最後にK19を出
力する。
示を受け付け、鍵記憶部104が記憶している鍵データ
K1を読み出す。鍵制御部201は、読み出した128
0ビットの鍵データK1を上位から128ビット毎の部
分鍵データK10,K11,・・・,K19に分割する。
鍵制御部201は、128ビットのデータが第1データ
攪乱部202に1度目に入力された場合、部分鍵データ
K10を第1データ攪乱部202に出力する。以下、デ
ータが繰り返し第1データ攪乱部202に入力される都
度、K11,K12,・・・と順に出力し、最後にK19を出
力する。
【0025】同様にして、鍵制御部201は、制御部1
05から指示を受け付け、鍵記憶部104が記憶してい
る鍵データK2を読み出す。鍵制御部201は、読み出
した1280ビットの鍵データK2を上位から128ビ
ット毎の部分鍵データK20,K21,・・・,K29に分割
する。鍵制御部201は、128ビットのデータが第1
データ攪乱部202に1度目に入力された場合、部分鍵
データK20を第1データ攪乱部202に出力する。以
下、データが繰り返し第1データ攪乱部202に入力さ
れる都度、K21,K22,・・・と順に出力し、最後にK2
9を出力する。
05から指示を受け付け、鍵記憶部104が記憶してい
る鍵データK2を読み出す。鍵制御部201は、読み出
した1280ビットの鍵データK2を上位から128ビ
ット毎の部分鍵データK20,K21,・・・,K29に分割
する。鍵制御部201は、128ビットのデータが第1
データ攪乱部202に1度目に入力された場合、部分鍵
データK20を第1データ攪乱部202に出力する。以
下、データが繰り返し第1データ攪乱部202に入力さ
れる都度、K21,K22,・・・と順に出力し、最後にK2
9を出力する。
【0026】第1データ攪乱部202は、データ記憶部
102から128ビットのデータを受け取る。また、第
1データ攪乱部202は、鍵制御部201から128ビ
ットの部分鍵データを受け取る。第1データ攪乱部20
2は入力された128ビットのデータに非線形変換を施
し、その後、前記部分鍵データを用いて線形変換を施
す。第1データ攪乱部202は、前記線形変換後の12
8ビットのデータを、段数制御部203へ出力する。第
1データ攪乱部202についての詳細は後述する。
102から128ビットのデータを受け取る。また、第
1データ攪乱部202は、鍵制御部201から128ビ
ットの部分鍵データを受け取る。第1データ攪乱部20
2は入力された128ビットのデータに非線形変換を施
し、その後、前記部分鍵データを用いて線形変換を施
す。第1データ攪乱部202は、前記線形変換後の12
8ビットのデータを、段数制御部203へ出力する。第
1データ攪乱部202についての詳細は後述する。
【0027】段数制御部203は、第1データ攪乱部2
02から、128ビットのデータを受け取る。段数制御
部203は、更に、第1データ攪乱部202から128
ビットのデータが入力される毎に、何度目に入力された
データであるかをカウントする。段数制御部203は、
カウント数が10に達した場合、当該データを第2デー
タ攪乱部204へ出力し、カウント数が10未満である
場合、当該データを第1データ攪乱部に出力する。
02から、128ビットのデータを受け取る。段数制御
部203は、更に、第1データ攪乱部202から128
ビットのデータが入力される毎に、何度目に入力された
データであるかをカウントする。段数制御部203は、
カウント数が10に達した場合、当該データを第2デー
タ攪乱部204へ出力し、カウント数が10未満である
場合、当該データを第1データ攪乱部に出力する。
【0028】第2データ攪乱部204は、段数制御部2
03から128ビットのデータを受け取り、受け取った
データに非線形変換を施す。前記非線形変換後のデータ
が暗号文データC2なら、入出力部107へ出力し、平
文データPなら、データ記憶部102に出力する。第2
データ攪乱部204の構成を図4に示す。図4に示す様
に、第2データ攪乱部204は、データ変換部210
e、データ変換部210f、データ変換部210g及び
データ変換部210hから構成される。データ変換部2
10e〜210hの詳細は後述する。
03から128ビットのデータを受け取り、受け取った
データに非線形変換を施す。前記非線形変換後のデータ
が暗号文データC2なら、入出力部107へ出力し、平
文データPなら、データ記憶部102に出力する。第2
データ攪乱部204の構成を図4に示す。図4に示す様
に、第2データ攪乱部204は、データ変換部210
e、データ変換部210f、データ変換部210g及び
データ変換部210hから構成される。データ変換部2
10e〜210hの詳細は後述する。
【0029】なお、説明の便宜上、第2データ攪乱部2
04は独立した構成要素として図面に示されているが、
実際には、第2データ攪乱部204のデータ変換部21
0e、データ変換部210f、データ変換部210g及
びデータ変換部210hは、図5に示す第1データ攪乱
部202のデータ変換部210a、データ変換部210
b、データ変換部210c及びデータ変換部210dと
回路を共有する。
04は独立した構成要素として図面に示されているが、
実際には、第2データ攪乱部204のデータ変換部21
0e、データ変換部210f、データ変換部210g及
びデータ変換部210hは、図5に示す第1データ攪乱
部202のデータ変換部210a、データ変換部210
b、データ変換部210c及びデータ変換部210dと
回路を共有する。
【0030】<第1データ攪乱部202の構成>ここで
は、第1データ攪乱部202の構成について説明する。
図5は、第1データ攪乱部202の構成を示す図であ
る。同図に示す様に、第1データ攪乱部202は、デー
タ変換部210a、データ変換部210b、データ変換
部210c、データ変換部210d、切替部220、第
1データ拡散部230及び第2データ拡散部240から
構成される。
は、第1データ攪乱部202の構成について説明する。
図5は、第1データ攪乱部202の構成を示す図であ
る。同図に示す様に、第1データ攪乱部202は、デー
タ変換部210a、データ変換部210b、データ変換
部210c、データ変換部210d、切替部220、第
1データ拡散部230及び第2データ拡散部240から
構成される。
【0031】データ記憶部102から読み出した128
ビットのデータは、上位から32ビット毎のブロックデ
ータに分割され、それぞれ、データ変換部210a、デ
ータ変換部210b、データ変換部210c及びデータ
変換部210dへ入力する。データ変換部210a、デ
ータ変換部210b、データ変換部210c及びデータ
変換部210dは、それぞれ32ビットのブロックデー
タを受け取り、受け取った32ビットのブロックデータ
に非線形変換を施し、その結果を切替部220に出力す
る。データ変換部の詳細は後述する。
ビットのデータは、上位から32ビット毎のブロックデ
ータに分割され、それぞれ、データ変換部210a、デ
ータ変換部210b、データ変換部210c及びデータ
変換部210dへ入力する。データ変換部210a、デ
ータ変換部210b、データ変換部210c及びデータ
変換部210dは、それぞれ32ビットのブロックデー
タを受け取り、受け取った32ビットのブロックデータ
に非線形変換を施し、その結果を切替部220に出力す
る。データ変換部の詳細は後述する。
【0032】切替部220は、データ変換部210a、
データ変換部210b、データ変換部210c及びデー
タ変換部210dのそれぞれから32ビットのブロック
データを受け取る。切替部220は、各データ変換部か
ら受け取ったブロックデータの出力先を示すフラグを記
憶している。フラグは「0」又は「1」の何れかに設定
されており、「0」は、受け取ったブロックデータを第
1データ拡散部230へ出力することを示し、「1」
は、受け取ったブロックデータを第2データ拡散部24
0へ出力することを示す。また、切替部220は制御部
105と接続されており、制御部105から指示を受け
付けると、フラグの設定を替えて記憶する。
データ変換部210b、データ変換部210c及びデー
タ変換部210dのそれぞれから32ビットのブロック
データを受け取る。切替部220は、各データ変換部か
ら受け取ったブロックデータの出力先を示すフラグを記
憶している。フラグは「0」又は「1」の何れかに設定
されており、「0」は、受け取ったブロックデータを第
1データ拡散部230へ出力することを示し、「1」
は、受け取ったブロックデータを第2データ拡散部24
0へ出力することを示す。また、切替部220は制御部
105と接続されており、制御部105から指示を受け
付けると、フラグの設定を替えて記憶する。
【0033】切替部220は、32ビットのブロックデ
ータを受け取ると、内部に記憶しているフラグを読み、
フラグが「0」のとき、受け取った4個のブロックデー
タを第1データ拡散部230に出力し、フラグが「1」
のとき、受け取った4個のブロックデータを第2データ
拡散部240に出力する。第1データ拡散部230は、
平文データPを暗号文データC2に変換する暗号化処理
で用いられ、切替部220を介してデータ変換部210
a、データ変換部210b、データ変換部210c及び
データ変換部210dのそれぞれから32ビットのブロ
ックデータを受け取る。また、第1データ拡散部230
は、鍵制御部201と接続されており、鍵制御部201
から部分鍵データを受け取る。第1データ拡散部230
は、各データ変換部から受け取ったデータに前記部分鍵
データを用いて線形変換を施し、その結果を段数制御部
203へ出力する。
ータを受け取ると、内部に記憶しているフラグを読み、
フラグが「0」のとき、受け取った4個のブロックデー
タを第1データ拡散部230に出力し、フラグが「1」
のとき、受け取った4個のブロックデータを第2データ
拡散部240に出力する。第1データ拡散部230は、
平文データPを暗号文データC2に変換する暗号化処理
で用いられ、切替部220を介してデータ変換部210
a、データ変換部210b、データ変換部210c及び
データ変換部210dのそれぞれから32ビットのブロ
ックデータを受け取る。また、第1データ拡散部230
は、鍵制御部201と接続されており、鍵制御部201
から部分鍵データを受け取る。第1データ拡散部230
は、各データ変換部から受け取ったデータに前記部分鍵
データを用いて線形変換を施し、その結果を段数制御部
203へ出力する。
【0034】第2データ拡散部240は、暗号文データ
C1を平文データPに変換する復号化処理で用いられ。
切替部220を介してデータ変換部210a、データ変
換部210b、データ変換部210c及びデータ変換部
210dのそれぞれから32ビットのブロックデータを
受け取る。また、第2データ拡散部240は、鍵制御部
201と接続されており、鍵制御部201から部分鍵デ
ータを受け取る。第2データ拡散部240は、各データ
変換部から受け取ったデータに前記部分鍵データK1を
用いて線形変換を施し、その結果を段数制御部203へ
出力する。
C1を平文データPに変換する復号化処理で用いられ。
切替部220を介してデータ変換部210a、データ変
換部210b、データ変換部210c及びデータ変換部
210dのそれぞれから32ビットのブロックデータを
受け取る。また、第2データ拡散部240は、鍵制御部
201と接続されており、鍵制御部201から部分鍵デ
ータを受け取る。第2データ拡散部240は、各データ
変換部から受け取ったデータに前記部分鍵データK1を
用いて線形変換を施し、その結果を段数制御部203へ
出力する。
【0035】第1データ拡散部230及び第2データ拡
散部240についての詳細は後述する。 <データ変換部210aの構成>図6は、データ変換部
210aの構成を示す図である。図6に示す様に、デー
タ変換部210aは、データ攪乱部300a、データ攪
乱部300b及びデータ攪乱部300cから構成され
る。データ変換部210aにおける処理はインボルーシ
ョンであり、インボルーションとは、処理を2回繰り返
すと元のデータが復元される性質である。
散部240についての詳細は後述する。 <データ変換部210aの構成>図6は、データ変換部
210aの構成を示す図である。図6に示す様に、デー
タ変換部210aは、データ攪乱部300a、データ攪
乱部300b及びデータ攪乱部300cから構成され
る。データ変換部210aにおける処理はインボルーシ
ョンであり、インボルーションとは、処理を2回繰り返
すと元のデータが復元される性質である。
【0036】データ変換部210aに入力した32ビッ
トのブロックデータは、上位16ビット及び下位16ビ
ットの2つのブロックデータに分割され、データ攪乱部
300aに入力する。データ攪乱部300aに入力した
データは、処理を施された後出力される。データ攪乱部
300aから出力されたデータは、データ攪乱部300
bに入力され、処理を施された後出力される。データ攪
乱部300bから出力されたデータは、データ攪乱部3
00cに入力され、処理を施された後出力される。デー
タ攪乱部300cから出力されたデータの上位16ビッ
トと下位16ビットとを入れ替えて結合した32ビット
のデータが、データ変換部210aの出力データとな
る。
トのブロックデータは、上位16ビット及び下位16ビ
ットの2つのブロックデータに分割され、データ攪乱部
300aに入力する。データ攪乱部300aに入力した
データは、処理を施された後出力される。データ攪乱部
300aから出力されたデータは、データ攪乱部300
bに入力され、処理を施された後出力される。データ攪
乱部300bから出力されたデータは、データ攪乱部3
00cに入力され、処理を施された後出力される。デー
タ攪乱部300cから出力されたデータの上位16ビッ
トと下位16ビットとを入れ替えて結合した32ビット
のデータが、データ変換部210aの出力データとな
る。
【0037】なお、データ変換部210b、データ変換
部210c、データ変換部210d、データ変換部21
0e、データ変換部210f、データ変換部210g及
びデータ変換部210hの構成は、データ変換部210
aと同じであるため、説明を省略する。図7は、データ
攪乱部300aの構成を示す図である。
部210c、データ変換部210d、データ変換部21
0e、データ変換部210f、データ変換部210g及
びデータ変換部210hの構成は、データ変換部210
aと同じであるため、説明を省略する。図7は、データ
攪乱部300aの構成を示す図である。
【0038】図7に示す様に、データ攪乱部300a
は、データ置換部301及びデータ融合部302から構
成される。データ攪乱部300aに入力する32ビット
ブロックデータを2分割した上位16ビットを第1入力
データF0、下位16ビットを第2入力データF1とす
る。第1入力データF0は、データ融合部302に入力
される。第2入力データF1は、第1出力データH0と
して出力されるとともにデータ置換部301に入力され
る。
は、データ置換部301及びデータ融合部302から構
成される。データ攪乱部300aに入力する32ビット
ブロックデータを2分割した上位16ビットを第1入力
データF0、下位16ビットを第2入力データF1とす
る。第1入力データF0は、データ融合部302に入力
される。第2入力データF1は、第1出力データH0と
して出力されるとともにデータ置換部301に入力され
る。
【0039】データ置換部301は、入力された前記F
1に対してデータ置換処理を行い、データGを出力す
る。データ置換部301から出力されたデータGは、デ
ータ融合部302に入力される。データ融合部302
は、入力されたデータGと第1入力データF0との対応
するビット毎に排他的論理和演算を行い、演算結果を第
2出力データH1として出力する。前記第1出力データ
H0は、上位16ビットのデータであり、前記第2出力
データH1は、下位16ビットのデータである。
1に対してデータ置換処理を行い、データGを出力す
る。データ置換部301から出力されたデータGは、デ
ータ融合部302に入力される。データ融合部302
は、入力されたデータGと第1入力データF0との対応
するビット毎に排他的論理和演算を行い、演算結果を第
2出力データH1として出力する。前記第1出力データ
H0は、上位16ビットのデータであり、前記第2出力
データH1は、下位16ビットのデータである。
【0040】なお、データ攪乱部300b及びデータ攪
乱部300cの構成は、データ攪乱部300aと同じで
あるため説明を省略する。図8は、データ置換部301
の構成を示す図である。図8に示す様に、データ置換部
301は、テーブル置換部401a及びテーブル置換部
401bから構成される。データ置換部301に入力さ
れた前記第2入力データF1は、上位8ビット及び下位
8ビットに分割され、上位8ビットは、テーブル置換部
401aに入力し、下位8ビットはテーブル置換部40
1bに入力する。
乱部300cの構成は、データ攪乱部300aと同じで
あるため説明を省略する。図8は、データ置換部301
の構成を示す図である。図8に示す様に、データ置換部
301は、テーブル置換部401a及びテーブル置換部
401bから構成される。データ置換部301に入力さ
れた前記第2入力データF1は、上位8ビット及び下位
8ビットに分割され、上位8ビットは、テーブル置換部
401aに入力し、下位8ビットはテーブル置換部40
1bに入力する。
【0041】テーブル置換部401a及びテーブル置換
部401bは、256個の記憶場所に異なる8ビットデ
ータが格納された換字テーブルデータを予め記憶してい
る。テーブル置換部401a及びテーブル置換部401
bは、入力された8ビットデータが示す記憶場所に格納
された8ビットデータを読み出し、読み出した8ビット
データを出力する。なお、テーブル置換部401a及び
テーブル置換部401bでは、同一の換字テーブルデー
タを用いる。また、具体的にはこの換字テーブルデータ
としては、盛合志帆,青木和麻呂,神田雅透,高嶋洋
一,松本勉著『既知のブロック暗号攻撃に対する安全性
を考慮したS−boxの構成法』(電子情報通信学会技
術研究報告,ISEC98−13)に記載の8ビット×
256のデータを用いる。
部401bは、256個の記憶場所に異なる8ビットデ
ータが格納された換字テーブルデータを予め記憶してい
る。テーブル置換部401a及びテーブル置換部401
bは、入力された8ビットデータが示す記憶場所に格納
された8ビットデータを読み出し、読み出した8ビット
データを出力する。なお、テーブル置換部401a及び
テーブル置換部401bでは、同一の換字テーブルデー
タを用いる。また、具体的にはこの換字テーブルデータ
としては、盛合志帆,青木和麻呂,神田雅透,高嶋洋
一,松本勉著『既知のブロック暗号攻撃に対する安全性
を考慮したS−boxの構成法』(電子情報通信学会技
術研究報告,ISEC98−13)に記載の8ビット×
256のデータを用いる。
【0042】<第1データ拡散部230の構成>ここで
は、図9を用いて第1データ拡散部230の構成につい
て説明する。第1データ拡散部230は、10個の論理
和部501、論理和部502、・・・、論理和部510か
ら構成される。第1データ拡散部230は、切替部22
0を介してデータ変換部210aから32ビットデータ
I0を受け取り、データ変換部210bから32ビット
データI1を受け取り、データ変換部210cから32
ビットデータI2を受け取り、データ変換部210dか
ら32ビットデータI3を受け取る。更に、第1データ
拡散部230は、鍵制御部201から128ビットの部
分鍵データを受け取り、受け取った部分鍵データを、上
位から32ビットずつに分割する。分割した32ビット
データを上位からK0、K1、K2、K3とする。
は、図9を用いて第1データ拡散部230の構成につい
て説明する。第1データ拡散部230は、10個の論理
和部501、論理和部502、・・・、論理和部510か
ら構成される。第1データ拡散部230は、切替部22
0を介してデータ変換部210aから32ビットデータ
I0を受け取り、データ変換部210bから32ビット
データI1を受け取り、データ変換部210cから32
ビットデータI2を受け取り、データ変換部210dか
ら32ビットデータI3を受け取る。更に、第1データ
拡散部230は、鍵制御部201から128ビットの部
分鍵データを受け取り、受け取った部分鍵データを、上
位から32ビットずつに分割する。分割した32ビット
データを上位からK0、K1、K2、K3とする。
【0043】論理和部501は、I0とK0との入力を
受け付け、I0とK0との対応するビット毎の排他的論
理和演算を行う。論理和部501は、演算結果を論理和
部505及び論理和部509に出力する。論理和部50
2は、I1とK1との入力を受け付け、I1とK1との
対応するビット毎の排他的論理和演算を行う。論理和部
502は、演算結果を論理和部505に出力する。
受け付け、I0とK0との対応するビット毎の排他的論
理和演算を行う。論理和部501は、演算結果を論理和
部505及び論理和部509に出力する。論理和部50
2は、I1とK1との入力を受け付け、I1とK1との
対応するビット毎の排他的論理和演算を行う。論理和部
502は、演算結果を論理和部505に出力する。
【0044】論理和部503は、I2とK2との入力を
受け付け、I2とK2との対応するビット毎の排他的論
理和演算を行う。論理和部503は、演算結果を論理和
部506に出力する。論理和部504は、I3とK3と
の入力を受け付け、I3とK3との対応するビット毎の
排他的論理和演算を行う。論理和部504は、演算結果
を論理和部506及び論理和部510に出力する。
受け付け、I2とK2との対応するビット毎の排他的論
理和演算を行う。論理和部503は、演算結果を論理和
部506に出力する。論理和部504は、I3とK3と
の入力を受け付け、I3とK3との対応するビット毎の
排他的論理和演算を行う。論理和部504は、演算結果
を論理和部506及び論理和部510に出力する。
【0045】論理和部505は、論理和部501の演算
結果及び論理和部502の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
505は、演算結果を論理和部507及び論理和部50
8に出力する。論理和部506は、論理和部503の演
算結果及び論理和部504の演算結果の入力を受け付
け、対応するビット毎の排他的論理和演算を行う。論理
和部506は、演算結果を論理和部507に出力する。
結果及び論理和部502の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
505は、演算結果を論理和部507及び論理和部50
8に出力する。論理和部506は、論理和部503の演
算結果及び論理和部504の演算結果の入力を受け付
け、対応するビット毎の排他的論理和演算を行う。論理
和部506は、演算結果を論理和部507に出力する。
【0046】論理和部507は、論理和部505の演算
結果及び論理和部506の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
507は、演算結果を論理和部508及び論理和部51
0に出力するとともに、出力データJ2として出力す
る。論理和部508は、論理和部505の演算結果及び
論理和部507の演算結果の入力を受け付け、対応する
ビット毎の排他的論理和演算を行う。論理和部508
は、演算結果を論理和部509に出力するとともに、出
力データJ1として出力する。
結果及び論理和部506の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
507は、演算結果を論理和部508及び論理和部51
0に出力するとともに、出力データJ2として出力す
る。論理和部508は、論理和部505の演算結果及び
論理和部507の演算結果の入力を受け付け、対応する
ビット毎の排他的論理和演算を行う。論理和部508
は、演算結果を論理和部509に出力するとともに、出
力データJ1として出力する。
【0047】論理和部509は、論理和部501の演算
結果及び論理和部508の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
509は、演算結果を出力データJ0として出力する。
論理和部510は、論理和部504の演算結果及び論理
和部507の演算結果の入力を受け付け、対応するビッ
ト毎の排他的論理和演算を行う。論理和部510は、演
算結果を出力データJ3として出力する。
結果及び論理和部508の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
509は、演算結果を出力データJ0として出力する。
論理和部510は、論理和部504の演算結果及び論理
和部507の演算結果の入力を受け付け、対応するビッ
ト毎の排他的論理和演算を行う。論理和部510は、演
算結果を出力データJ3として出力する。
【0048】上記の演算をまとめると、出力データJ
0、J1、J2及びJ3は、 J0=K0(+)K2(+)K3(+)I0(+)I2(+)I3 ・・・(式1) J1=K2(+)K3(+)I2(+)I3 ・・・(式2) J2=K0(+)K1(+)K2(+)K3(+)I0 (+)I1(+)I2(+)I3 ・・・(式3) J3=K0(+)K1(+)K2(+)I0(+)I1(+)I2 ・・・(式4) と表される。但し、(+)は、対応するビット毎の排他
的論理和演算を表す。
0、J1、J2及びJ3は、 J0=K0(+)K2(+)K3(+)I0(+)I2(+)I3 ・・・(式1) J1=K2(+)K3(+)I2(+)I3 ・・・(式2) J2=K0(+)K1(+)K2(+)K3(+)I0 (+)I1(+)I2(+)I3 ・・・(式3) J3=K0(+)K1(+)K2(+)I0(+)I1(+)I2 ・・・(式4) と表される。但し、(+)は、対応するビット毎の排他
的論理和演算を表す。
【0049】なお、第1データ攪乱部202は、第1デ
ータ拡散部230の出力データJ0、J1、J2、J3
をこの順序で結合した128ビットデータを出力する。
第1データ拡散部230は、切替部220及び鍵制御部
201からデータ及び部分鍵データを受け取る都度、上
記の処理を行う。 <第2データ拡散部240の構成>ここでは、図10を
用いて第2データ拡散部240の構成について説明す
る。第2データ拡散部240は、10個の論理和部60
1、論理和部602、・・・、論理和部610から構成さ
れる。
ータ拡散部230の出力データJ0、J1、J2、J3
をこの順序で結合した128ビットデータを出力する。
第1データ拡散部230は、切替部220及び鍵制御部
201からデータ及び部分鍵データを受け取る都度、上
記の処理を行う。 <第2データ拡散部240の構成>ここでは、図10を
用いて第2データ拡散部240の構成について説明す
る。第2データ拡散部240は、10個の論理和部60
1、論理和部602、・・・、論理和部610から構成さ
れる。
【0050】第2データ拡散部240は、切替部220
を介してデータ変換部210aから32ビットデータL
0を受け取り、データ変換部210bから32ビットデ
ータL1を受け取り、データ変換部210cから32ビ
ットデータL2を受け取り、データ変換部210dから
32ビットデータL3を受け取る。第2データ拡散部2
40は、更に、鍵制御部201から128ビットの部分
鍵データを受け取り、受け取った部分鍵データを、上位
から32ビットずつに分割する。分割した32ビットデ
ータを上位からK0、K1、K2、K3とする。
を介してデータ変換部210aから32ビットデータL
0を受け取り、データ変換部210bから32ビットデ
ータL1を受け取り、データ変換部210cから32ビ
ットデータL2を受け取り、データ変換部210dから
32ビットデータL3を受け取る。第2データ拡散部2
40は、更に、鍵制御部201から128ビットの部分
鍵データを受け取り、受け取った部分鍵データを、上位
から32ビットずつに分割する。分割した32ビットデ
ータを上位からK0、K1、K2、K3とする。
【0051】論理和部601は、L0とL1との入力を
受け付け、L0とL1との対応するビット毎の排他的論
理和演算を行う。論理和部601は、演算結果を論理和
部605及び論理和部610に出力する。論理和部60
2は、L2とL3との入力を受け付け、L2とL3との
対応するビット毎の排他的論理和演算を行う。論理和部
602は、演算結果を論理和部606及び論理和部60
7に出力する。
受け付け、L0とL1との対応するビット毎の排他的論
理和演算を行う。論理和部601は、演算結果を論理和
部605及び論理和部610に出力する。論理和部60
2は、L2とL3との入力を受け付け、L2とL3との
対応するビット毎の排他的論理和演算を行う。論理和部
602は、演算結果を論理和部606及び論理和部60
7に出力する。
【0052】論理和部603は、L1とL2との入力を
受け付け、L1とL2との対応するビット毎の排他的論
理和演算を行う。論理和部603は、演算結果を論理和
部604及び論理和部605に出力する。論理和部60
4は、L2と論理和部603の演算結果との入力を受け
付け、対応するビット毎の排他的論理和演算を行う。論
理和部604は、演算結果を論理和部606に出力す
る。
受け付け、L1とL2との対応するビット毎の排他的論
理和演算を行う。論理和部603は、演算結果を論理和
部604及び論理和部605に出力する。論理和部60
4は、L2と論理和部603の演算結果との入力を受け
付け、対応するビット毎の排他的論理和演算を行う。論
理和部604は、演算結果を論理和部606に出力す
る。
【0053】論理和部605は、論理和部601の演算
結果及び論理和部603の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
605は、演算結果を論理和部609に出力する。論理
和部606は、論理和部602の演算結果及び論理和部
604の演算結果の入力を受け付け、対応するビット毎
の排他的論理和演算を行う。論理和部606は、演算結
果を論理和部508に出力する。
結果及び論理和部603の演算結果の入力を受け付け、
対応するビット毎の排他的論理和演算を行う。論理和部
605は、演算結果を論理和部609に出力する。論理
和部606は、論理和部602の演算結果及び論理和部
604の演算結果の入力を受け付け、対応するビット毎
の排他的論理和演算を行う。論理和部606は、演算結
果を論理和部508に出力する。
【0054】論理和部607は、K3と論理和部602
の演算結果との入力を受け付け、対応するビット毎の排
他的論理和演算を行う。論理和部607は、演算結果を
出力データM3として出力する。論理和部608は、K
2と論理和部606の演算結果との入力を受け付け、対
応するビット毎の排他的論理和演算を行う。論理和部6
08は、演算結果を出力データM2として出力する。
の演算結果との入力を受け付け、対応するビット毎の排
他的論理和演算を行う。論理和部607は、演算結果を
出力データM3として出力する。論理和部608は、K
2と論理和部606の演算結果との入力を受け付け、対
応するビット毎の排他的論理和演算を行う。論理和部6
08は、演算結果を出力データM2として出力する。
【0055】論理和部609は、K1と論理和部605
の演算結果との入力を受け付け、対応するビット毎の排
他的論理和演算を行う。論理和部609は、演算結果を
出力データM1として出力する。論理和部610は、K
0と論理和部601の演算結果との入力を受け付け、対
応するビット毎の排他的論理和演算を行う。論理和部6
10は、演算結果を出力データM0として出力する。
の演算結果との入力を受け付け、対応するビット毎の排
他的論理和演算を行う。論理和部609は、演算結果を
出力データM1として出力する。論理和部610は、K
0と論理和部601の演算結果との入力を受け付け、対
応するビット毎の排他的論理和演算を行う。論理和部6
10は、演算結果を出力データM0として出力する。
【0056】上記の演算をまとめると、出力データM
0、M1、M2及びM3は、 M0=K0(+)L0(+)L1 ・・・(式5) M1=K1(+)L0(+)L2 ・・・(式6) M2=K2(+)L1(+)L3 ・・・(式7) M3=K3(+)L2(+)L3 ・・・(式8) と表される。但し、(+)は、ビット毎の排他的論理和
演算を表す。
0、M1、M2及びM3は、 M0=K0(+)L0(+)L1 ・・・(式5) M1=K1(+)L0(+)L2 ・・・(式6) M2=K2(+)L1(+)L3 ・・・(式7) M3=K3(+)L2(+)L3 ・・・(式8) と表される。但し、(+)は、ビット毎の排他的論理和
演算を表す。
【0057】なお、第1データ攪乱部202は、第2デ
ータ拡散部240の出力データM0、M1、M2、M3
をこの順序で結合した128ビットデータを出力する。
第2データ拡散部240は、切替部220及び鍵制御部
201からデータ及び部分鍵データを受け取る都度、上
記の処理を行う。 (7)入出力部107 入出力部107は、具体的にはDVD−RAMドライブ
ユニットであり、暗復号化部106が暗号化したディジ
タルコンテンツを記録媒体11に書き込む。ここで、記
録媒体481は、具体的にはDVD−RAMディスクで
ある。
ータ拡散部240の出力データM0、M1、M2、M3
をこの順序で結合した128ビットデータを出力する。
第2データ拡散部240は、切替部220及び鍵制御部
201からデータ及び部分鍵データを受け取る都度、上
記の処理を行う。 (7)入出力部107 入出力部107は、具体的にはDVD−RAMドライブ
ユニットであり、暗復号化部106が暗号化したディジ
タルコンテンツを記録媒体11に書き込む。ここで、記
録媒体481は、具体的にはDVD−RAMディスクで
ある。
【0058】2.受信装置10の動作
<全体の動作>ここでは、図11から図13に示すフロ
ーチャートを用いて、受信装置10の動作について説明
する。受信装置10の受信部101は、アンテナ108
及び放送衛星13を介してコンテンツ配信装置12から
コンテンツである平文データPを暗号化した暗号文デー
タC1を受信し(ステップS101)、受信した暗号文
データC1をデータ記憶部102に出力する。データ記
憶部102は、暗号文データC1を受け取り、受け取っ
た暗号文データC1を記憶する(ステップS102)。
ーチャートを用いて、受信装置10の動作について説明
する。受信装置10の受信部101は、アンテナ108
及び放送衛星13を介してコンテンツ配信装置12から
コンテンツである平文データPを暗号化した暗号文デー
タC1を受信し(ステップS101)、受信した暗号文
データC1をデータ記憶部102に出力する。データ記
憶部102は、暗号文データC1を受け取り、受け取っ
た暗号文データC1を記憶する(ステップS102)。
【0059】次に、鍵入力部103は、暗号文データC
1を平文データPに復号するための復号鍵を示す鍵デー
タK1の入力を受け付ける。鍵入力部103は、入力さ
れた鍵データK1を鍵記憶部104に出力し、鍵記憶部
104は、鍵データK1を記憶する(ステップS10
3)。暗復号化部106は、鍵データK1を用いて暗号
化データC1を平文データPに復号する処理を行う(ス
テップS104)。
1を平文データPに復号するための復号鍵を示す鍵デー
タK1の入力を受け付ける。鍵入力部103は、入力さ
れた鍵データK1を鍵記憶部104に出力し、鍵記憶部
104は、鍵データK1を記憶する(ステップS10
3)。暗復号化部106は、鍵データK1を用いて暗号
化データC1を平文データPに復号する処理を行う(ス
テップS104)。
【0060】続いて、鍵入力部103は、暗復号化部1
06が復号した平文データPを暗号文データC2に再暗
号化するための暗号鍵を示す鍵データK2の入力を受け
付ける。鍵入力部103は、入力された鍵データK2を
鍵記憶部104に出力し、鍵記憶部104は、鍵データ
K2を記憶する(ステップS105)。暗復号化部10
6は、鍵データK2を用いて平文データPを暗号文デー
タC2に暗号化する処理を行う(ステップS106)。
06が復号した平文データPを暗号文データC2に再暗
号化するための暗号鍵を示す鍵データK2の入力を受け
付ける。鍵入力部103は、入力された鍵データK2を
鍵記憶部104に出力し、鍵記憶部104は、鍵データ
K2を記憶する(ステップS105)。暗復号化部10
6は、鍵データK2を用いて平文データPを暗号文デー
タC2に暗号化する処理を行う(ステップS106)。
【0061】次に、入出力部107が、暗号文データC
2を記録媒体11に書き込む(ステップS107)。 <復号化処理の動作>ここでは、図12に示すフローチ
ャートを用いて受信装置10における復号化処理の動作
について説明する。なお、ここで示す動作は、図11の
フローチャートにおけるステップS104の詳細であ
る。
2を記録媒体11に書き込む(ステップS107)。 <復号化処理の動作>ここでは、図12に示すフローチ
ャートを用いて受信装置10における復号化処理の動作
について説明する。なお、ここで示す動作は、図11の
フローチャートにおけるステップS104の詳細であ
る。
【0062】制御部105は、データ記憶部102に記
憶されている暗号文データC1の上位から128ビット
を読み出し、読み出した128ビットのブロックデータ
を暗復号化部106の第1データ攪乱部202に出力す
る(ステップS201)。次に制御部105は、鍵記憶
部104に記憶されている鍵データK1を暗復号化部1
06の鍵制御部201に出力し、鍵制御部201は、鍵
データK1を10個の128ビットの部分鍵データに分
割する(ステップS202)。鍵制御部201は、上位
から部分鍵データを第1データ攪乱部202に出力し
て、第1データ攪乱部202は、ブロックデータに部分
鍵データを用いて復号化処理を行う(ステップS20
3)。次に、暗復号化部106の段数制御部203は、
第1データ攪乱部202における処理回数が10回に達
したか否か判断し(ステップS204)、処理回数が1
0回出ない場合は(ステップS204でNO)、ステッ
プS203に戻る。処理回数が10回である場合は(ス
テップS204でYES)、第1データ攪乱部202か
ら出力される128ビットのブロックデータを第2デー
タ攪乱部204に出力し、第2データ攪乱部204にお
ける処理と行い(ステップS205)処理を続ける。
憶されている暗号文データC1の上位から128ビット
を読み出し、読み出した128ビットのブロックデータ
を暗復号化部106の第1データ攪乱部202に出力す
る(ステップS201)。次に制御部105は、鍵記憶
部104に記憶されている鍵データK1を暗復号化部1
06の鍵制御部201に出力し、鍵制御部201は、鍵
データK1を10個の128ビットの部分鍵データに分
割する(ステップS202)。鍵制御部201は、上位
から部分鍵データを第1データ攪乱部202に出力し
て、第1データ攪乱部202は、ブロックデータに部分
鍵データを用いて復号化処理を行う(ステップS20
3)。次に、暗復号化部106の段数制御部203は、
第1データ攪乱部202における処理回数が10回に達
したか否か判断し(ステップS204)、処理回数が1
0回出ない場合は(ステップS204でNO)、ステッ
プS203に戻る。処理回数が10回である場合は(ス
テップS204でYES)、第1データ攪乱部202か
ら出力される128ビットのブロックデータを第2デー
タ攪乱部204に出力し、第2データ攪乱部204にお
ける処理と行い(ステップS205)処理を続ける。
【0063】<暗号化処理の動作>ここでは、図13に
示すフローチャートを用いて受信装置10における暗号
化処理の動作について説明する。なお、ここで示す動作
は、図11のフローチャートにおけるステップS106
の詳細である。制御部105は、データ記憶部102に
記憶されている平文データPの上位から128ビットを
読み出し、読み出した128ビットのブロックデータを
暗復号化部106の第1データ攪乱部202に出力する
(ステップS301)。次に制御部105は、鍵記憶部
104に記憶されている鍵データK2を暗復号化部10
6の鍵制御部201に出力し、鍵制御部201は、鍵デ
ータK2を10個の128ビットの部分鍵データに分割
する(ステップS302)。鍵制御部201は、上位か
ら部分鍵データを第1データ攪乱部202に出力して、
第1データ攪乱部202は、ブロックデータに部分鍵デ
ータを用いて暗号化処理を行う(ステップS303)。
次に、暗復号化部106の段数制御部203は、第1デ
ータ攪乱部202における処理回数が10回に達したか
否か判断し(ステップS304)、処理回数が10回出
ない場合は(ステップS304でNO)、ステップS2
03に戻る。処理回数が10回である場合は(ステップ
S304でYES)、第1データ攪乱部202から出力
される128ビットのブロックデータを第2データ攪乱
部204に出力し、第2データ攪乱部204における処
理と行い(ステップS305)処理を続ける。
示すフローチャートを用いて受信装置10における暗号
化処理の動作について説明する。なお、ここで示す動作
は、図11のフローチャートにおけるステップS106
の詳細である。制御部105は、データ記憶部102に
記憶されている平文データPの上位から128ビットを
読み出し、読み出した128ビットのブロックデータを
暗復号化部106の第1データ攪乱部202に出力する
(ステップS301)。次に制御部105は、鍵記憶部
104に記憶されている鍵データK2を暗復号化部10
6の鍵制御部201に出力し、鍵制御部201は、鍵デ
ータK2を10個の128ビットの部分鍵データに分割
する(ステップS302)。鍵制御部201は、上位か
ら部分鍵データを第1データ攪乱部202に出力して、
第1データ攪乱部202は、ブロックデータに部分鍵デ
ータを用いて暗号化処理を行う(ステップS303)。
次に、暗復号化部106の段数制御部203は、第1デ
ータ攪乱部202における処理回数が10回に達したか
否か判断し(ステップS304)、処理回数が10回出
ない場合は(ステップS304でNO)、ステップS2
03に戻る。処理回数が10回である場合は(ステップ
S304でYES)、第1データ攪乱部202から出力
される128ビットのブロックデータを第2データ攪乱
部204に出力し、第2データ攪乱部204における処
理と行い(ステップS305)処理を続ける。
【0064】3.コンテンツ配信装置12の構成
コンテンツ配信装置12は、具体的にはディジタル放送
装置であり、放送衛星13を介して、暗号化したディジ
タルコンテンツをディジタル放送波に乗せて放送する。
ここで、暗号化したディジタルコンテンツとは具体的
に、前記受信装置10が受信する暗号文データC1であ
る。
装置であり、放送衛星13を介して、暗号化したディジ
タルコンテンツをディジタル放送波に乗せて放送する。
ここで、暗号化したディジタルコンテンツとは具体的
に、前記受信装置10が受信する暗号文データC1であ
る。
【0065】コンテンツ配信装置12は、受信装置10
の暗復号化部106と同じ暗復号化部を有し、平文デー
タPを1280ビットの鍵データK1を用いて暗号文デ
ータC1に暗号化し、暗号文データC1を放送衛星13を
介して受信装置10に送信する。 4.その他の変形例 (1)暗号化処理と復号化処理との関係 ここでは、受信装置10の暗復号化部106が行う暗号
化処理と復号化処理との関係について説明する。
の暗復号化部106と同じ暗復号化部を有し、平文デー
タPを1280ビットの鍵データK1を用いて暗号文デ
ータC1に暗号化し、暗号文データC1を放送衛星13を
介して受信装置10に送信する。 4.その他の変形例 (1)暗号化処理と復号化処理との関係 ここでは、受信装置10の暗復号化部106が行う暗号
化処理と復号化処理との関係について説明する。
【0066】図4に示すデータ変換部110a〜110
d、図5に示すデータ変換部120a〜120d及び図
6に示すデータ変換部210a〜210dが行う処理
は、全て同一の処理である。また、前記各データ変換部
が行う処理は、インボルーション(involutio
n)という性質を有する。インボルーションとは、デー
タ変換部の処理を2回繰り返すと元のデータが復元され
る性質を言う。
d、図5に示すデータ変換部120a〜120d及び図
6に示すデータ変換部210a〜210dが行う処理
は、全て同一の処理である。また、前記各データ変換部
が行う処理は、インボルーション(involutio
n)という性質を有する。インボルーションとは、デー
タ変換部の処理を2回繰り返すと元のデータが復元され
る性質を言う。
【0067】先ず、「128ビットのデータXを上位か
ら32ビットずつに分割し、分割した各ブロックに対し
て前記データ変換部によるデータ変換を行い、それらの
出力を連結して128ビットデータYとする」という一
連の操作を、 Y=F(X) として表す。このとき、前記インボルーションの性質か
ら、 X=F(F(X)) ・・・(式9) が成り立つ。
ら32ビットずつに分割し、分割した各ブロックに対し
て前記データ変換部によるデータ変換を行い、それらの
出力を連結して128ビットデータYとする」という一
連の操作を、 Y=F(X) として表す。このとき、前記インボルーションの性質か
ら、 X=F(F(X)) ・・・(式9) が成り立つ。
【0068】次に、第1データ拡散部230の出力と第
2データ拡散部240の入力及び部分鍵データが等しい
場合、即ち、(式1)〜(式8)において、J0=L
0,J1=L1,J2=L2,J3=L3かつK0〜K
1が共通とした場合、第2データ拡散部240の出力M
0〜M3は、 M0=K0(+)J0(+)J1 ・・・(式10) M1=K1(+)J0(+)J2 ・・・(式11) M2=K2(+)J1(+)J3 ・・・(式12) M3=K3(+)J2(+)J3 ・・・(式13) となる。ここで、(式10)〜(式13)に(式1)〜
(式4)を代入して、整理すると、 M0=I0,M1=I1,M2=I2,M3=I3 となる。このことから、第1データ拡散部230と第2
データ拡散部240は、部分鍵データが等しい場合は逆
変換の関係にあることがわかる。
2データ拡散部240の入力及び部分鍵データが等しい
場合、即ち、(式1)〜(式8)において、J0=L
0,J1=L1,J2=L2,J3=L3かつK0〜K
1が共通とした場合、第2データ拡散部240の出力M
0〜M3は、 M0=K0(+)J0(+)J1 ・・・(式10) M1=K1(+)J0(+)J2 ・・・(式11) M2=K2(+)J1(+)J3 ・・・(式12) M3=K3(+)J2(+)J3 ・・・(式13) となる。ここで、(式10)〜(式13)に(式1)〜
(式4)を代入して、整理すると、 M0=I0,M1=I1,M2=I2,M3=I3 となる。このことから、第1データ拡散部230と第2
データ拡散部240は、部分鍵データが等しい場合は逆
変換の関係にあることがわかる。
【0069】ここで、「128ビットのデータXを上位
から32ビットずつに分割した後、部分鍵データKとと
もに第1データ拡散部230に入力し、その出力を連結
して128ビットデータYとする」という一連の操作
を、 Y=G1(K,X) とし、「128ビットのデータXを上位から32ビット
ずつに分割した後、部分鍵データKとともに第2データ
拡散部240に入力し、その出力を連結して128ビッ
トデータYとする」という一連の操作を、 Y=G2(K,X) とすると、上記のことから、 X=G2(K,G1(K,X)) ・・・(式14) が成り立つ。
から32ビットずつに分割した後、部分鍵データKとと
もに第1データ拡散部230に入力し、その出力を連結
して128ビットデータYとする」という一連の操作
を、 Y=G1(K,X) とし、「128ビットのデータXを上位から32ビット
ずつに分割した後、部分鍵データKとともに第2データ
拡散部240に入力し、その出力を連結して128ビッ
トデータYとする」という一連の操作を、 Y=G2(K,X) とすると、上記のことから、 X=G2(K,G1(K,X)) ・・・(式14) が成り立つ。
【0070】以上を基に、受信装置10の暗復号化部1
06が行う暗号化処理と復号化処理との関係について説
明する。入力される128ビット平文Pに対して、暗復
号化部106では以下の処理によって128ビット暗号
文Cが計算される。 T0=G1(K0,F(P)) ・・・(式15) T1=G1(K1,F(T0)) ・・・(式16) T2=G1(K2,F(T1)) ・・・(式17) ・・・ T9=G1(K9,F(T8)) ・・・(式18) C=F(T9) ・・・(式19) 次に、上記暗号文Cに対して、暗復号化部106では、
以下の処理によって128ビット復号文Dが計算され
る。但し、暗号化と復号化とで同じ部分鍵データK0、
・・・、K9が使用されるものとする。
06が行う暗号化処理と復号化処理との関係について説
明する。入力される128ビット平文Pに対して、暗復
号化部106では以下の処理によって128ビット暗号
文Cが計算される。 T0=G1(K0,F(P)) ・・・(式15) T1=G1(K1,F(T0)) ・・・(式16) T2=G1(K2,F(T1)) ・・・(式17) ・・・ T9=G1(K9,F(T8)) ・・・(式18) C=F(T9) ・・・(式19) 次に、上記暗号文Cに対して、暗復号化部106では、
以下の処理によって128ビット復号文Dが計算され
る。但し、暗号化と復号化とで同じ部分鍵データK0、
・・・、K9が使用されるものとする。
【0071】
U0=G2(K9,F(C)) ・・・(式20)
U1=G2(K8,F(U0)) ・・・(式21)
U2=G2(K7,F(U1)) ・・・(式22)
・・・
U9=G2(K0,F(U8)) ・・・(式23)
D=F(U9) ・・・(式24)
ここで、(式20)に(式19)を代入すると、
U0=G2(K9,F(F(T9)))
となり、(式9)より
U0=G2(K9,T9)
となる。次に上式に、(式18)を代入して、
U0=G2(K9,G1(K9,F(T8)))
となり、(式14)より、
U0=T8
となる。(式21)に上式を代入して、
U1=G2(K8,F(T8))
となる。以下、同様の式変形を順次行うと、最終的に、
P=D
が得られる。即ち、鍵データが同一の場合、受信装置1
0の暗復号化部106が行う暗号化処理と復号化処理と
は逆変換の関係にあることがわかる。
0の暗復号化部106が行う暗号化処理と復号化処理と
は逆変換の関係にあることがわかる。
【0072】(2)上記実施の形態では、ディジタルコ
ンテンツの伝送路としてディジタル放送を用いている
が、伝送経路はこれに限定されないのは勿論である。例
えば、伝送経路として、インターネット、携帯電話網、
ケーブルテレビ網、地上波ディジタル放送網、DVD等
の記録媒体による配信等も本発明に含まれる。 (3)上記実施の形態におけるディジタルコンテンツ
は、ディジタル化された映画、音楽、静止画、動画、ゲ
ームソフト、コンピュータプログラム、各種データなど
である。
ンテンツの伝送路としてディジタル放送を用いている
が、伝送経路はこれに限定されないのは勿論である。例
えば、伝送経路として、インターネット、携帯電話網、
ケーブルテレビ網、地上波ディジタル放送網、DVD等
の記録媒体による配信等も本発明に含まれる。 (3)上記実施の形態におけるディジタルコンテンツ
は、ディジタル化された映画、音楽、静止画、動画、ゲ
ームソフト、コンピュータプログラム、各種データなど
である。
【0073】(4)上記実施の形態におけるデータ変換
部は、図6、図7及び図8に示す構成を有するが、本発
明のデータ変換部はこれに限定されず、インボルーショ
ンの性質を持つものであれば他の構成であってもよい。 (5)上記実施の形態における第1データ拡散部及び第
2データ拡散部は、図9及び図10に示す構成を有して
いるが、本発明の第1データ拡散部及び第2、データ拡
散部はこれに限定されず、逆変換が存在する構成であれ
ば他の構成であってもよい。
部は、図6、図7及び図8に示す構成を有するが、本発
明のデータ変換部はこれに限定されず、インボルーショ
ンの性質を持つものであれば他の構成であってもよい。 (5)上記実施の形態における第1データ拡散部及び第
2データ拡散部は、図9及び図10に示す構成を有して
いるが、本発明の第1データ拡散部及び第2、データ拡
散部はこれに限定されず、逆変換が存在する構成であれ
ば他の構成であってもよい。
【0074】(6)上記実施の形態において、平文P、
暗号文C1及び暗号文C2は1280ビットであるが、デ
ータサイズはこれに限定されず、如何なるデータサイズ
であってもよい。 (7)上記実施の形態の鍵データK1及び鍵データK2は
1280ビットであるが、1280ビットよりも小さな
サイズの鍵データから、乱数生成装置によって生成され
るデータを用いる構成としてもよい。
暗号文C1及び暗号文C2は1280ビットであるが、デ
ータサイズはこれに限定されず、如何なるデータサイズ
であってもよい。 (7)上記実施の形態の鍵データK1及び鍵データK2は
1280ビットであるが、1280ビットよりも小さな
サイズの鍵データから、乱数生成装置によって生成され
るデータを用いる構成としてもよい。
【0075】(8)さらに、上記実施の形態では、デー
タ変換部、第1データ拡散部及び第2データ拡散部の処
理を32ビット単位としているが、このデータサイズに
限定されず他のデータサイズを用いるデータ変換部、第
1データ拡散部及び第2データ拡散部であっても本発明
に含まれる。その一例を図14及び図15を用いて説明
する。
タ変換部、第1データ拡散部及び第2データ拡散部の処
理を32ビット単位としているが、このデータサイズに
限定されず他のデータサイズを用いるデータ変換部、第
1データ拡散部及び第2データ拡散部であっても本発明
に含まれる。その一例を図14及び図15を用いて説明
する。
【0076】図14に示したデータ攪乱部350は、デ
ータ攪乱部300aと同様に、データ置換部311とデ
ータ融合部312とから構成されるが、データ攪乱部3
00aとは異なりデータが64ビット単位で処理され
る。データ攪乱部350に入力した64ビットのデータ
は上位32ビットと下位32ビットとに分割され、上位
32ビットはデータ融合部312に入力され、下位32
ビットはデータ置換部311に入力される。データ置換
部311は図15に示す様に、テーブル置換部501a
とテーブル置換部501bとから構成され、上位16ビ
ットがテーブル置換部501a部に入力され、下位16
ビットがテーブル置換部501bに入力される。テーブ
ル置換部501a及びテーブル置換部501bではそれ
ぞれ置換テーブルを用いた置換処理が行われる。データ
置換部311から出力される32ビットのデータはデー
タ融合部312へ入力されると共に、データ攪乱部35
0の出力データの上位32ビットとして出力される。デ
ータ融合部312では、入力される上位32ビットデー
タとデータ置換部311から出力された32ビットデー
タとの対応するビット毎に排他的論理和演算を行い、そ
の演算結果がデータ攪乱部350の出力データの下位3
2ビットとして出力される。
ータ攪乱部300aと同様に、データ置換部311とデ
ータ融合部312とから構成されるが、データ攪乱部3
00aとは異なりデータが64ビット単位で処理され
る。データ攪乱部350に入力した64ビットのデータ
は上位32ビットと下位32ビットとに分割され、上位
32ビットはデータ融合部312に入力され、下位32
ビットはデータ置換部311に入力される。データ置換
部311は図15に示す様に、テーブル置換部501a
とテーブル置換部501bとから構成され、上位16ビ
ットがテーブル置換部501a部に入力され、下位16
ビットがテーブル置換部501bに入力される。テーブ
ル置換部501a及びテーブル置換部501bではそれ
ぞれ置換テーブルを用いた置換処理が行われる。データ
置換部311から出力される32ビットのデータはデー
タ融合部312へ入力されると共に、データ攪乱部35
0の出力データの上位32ビットとして出力される。デ
ータ融合部312では、入力される上位32ビットデー
タとデータ置換部311から出力された32ビットデー
タとの対応するビット毎に排他的論理和演算を行い、そ
の演算結果がデータ攪乱部350の出力データの下位3
2ビットとして出力される。
【0077】(9)本発明は、上記に示す方法であると
してもよい。また、これらの方法をコンピュータにより
実現するコンピュータプログラムであるとしてもよい
し、前記コンピュータプログラムからなるデジタル信号
であるとしてもよい。また、本発明は、前記コンピュー
タプログラム又は前記デジタル信号をコンピュータ読み
取り可能な記録媒体、例えば、フレキシブルディスク、
ハードディスク、CD―ROM、MO、DVD、DVD
−ROM、DVD−RAM、半導体メモリなど、に記録
したものとしてもよい。また、これらの記録媒体に記録
されている前記コンピュータプログラム又は前記デジタ
ル信号であるとしてもよい。
してもよい。また、これらの方法をコンピュータにより
実現するコンピュータプログラムであるとしてもよい
し、前記コンピュータプログラムからなるデジタル信号
であるとしてもよい。また、本発明は、前記コンピュー
タプログラム又は前記デジタル信号をコンピュータ読み
取り可能な記録媒体、例えば、フレキシブルディスク、
ハードディスク、CD―ROM、MO、DVD、DVD
−ROM、DVD−RAM、半導体メモリなど、に記録
したものとしてもよい。また、これらの記録媒体に記録
されている前記コンピュータプログラム又は前記デジタ
ル信号であるとしてもよい。
【0078】また、本発明は、前記コンピュータプログ
ラム又は前記デジタル信号を、電気通信回線、無線又は
有線通信回線、インターネットを代表とするネットワー
ク等を経由して伝送するものとしてもよい。また、本発
明は、マイクロプロセッサとメモリとを備えたコンピュ
ータシステムであって、前記メモリは、上記コンピュー
タプログラムを記憶しており、前記マイクロプロセッサ
は、前記コンピュータプログラムに従って動作するとし
てもよい。
ラム又は前記デジタル信号を、電気通信回線、無線又は
有線通信回線、インターネットを代表とするネットワー
ク等を経由して伝送するものとしてもよい。また、本発
明は、マイクロプロセッサとメモリとを備えたコンピュ
ータシステムであって、前記メモリは、上記コンピュー
タプログラムを記憶しており、前記マイクロプロセッサ
は、前記コンピュータプログラムに従って動作するとし
てもよい。
【0079】また、前記プログラム又は前記デジタル信
号を前記記録媒体に記録して移送することにより、又は
前記プログラム又は前記デジタル信号を前記ネットワー
ク等を経由して移送することにより、独立した他のコン
ピュータシステムにより実施するとしてもよい。(1
0)上記実施の形態及び上記変形例をそれぞれ組み合わ
せるとしてもよい。
号を前記記録媒体に記録して移送することにより、又は
前記プログラム又は前記デジタル信号を前記ネットワー
ク等を経由して移送することにより、独立した他のコン
ピュータシステムにより実施するとしてもよい。(1
0)上記実施の形態及び上記変形例をそれぞれ組み合わ
せるとしてもよい。
【0080】
【発明の効果】以上説明したように、本発明は、Nビッ
ト長(Nは正整数)の平文を暗号化してNビット長の暗号
文を生成するデータ暗号化装置であって、Nビット長の
平文をM個のBビット長(N=M×B)の第1部分データ
に分割する分割手段と、前記M個の第1部分データのそ
れぞれに、逆変換がそれ自身と等価であるデータ変換を
施し、M個の第2部分データを生成する第1変換手段
と、前記M個の第2部分データに、逆変換が存在する攪
乱処理を施して攪乱し、M個の第3部分データを生成す
る攪乱手段と、前記M個の第3部分データのそれぞれ
に、前記第1変換手段で用いた前記データ変換を施し、
M個の第4部分データを生成する第2変換手段と、前記
M個の第4部分データを結合し、Nビット長の暗号文を
生成する結合手段とを備える。
ト長(Nは正整数)の平文を暗号化してNビット長の暗号
文を生成するデータ暗号化装置であって、Nビット長の
平文をM個のBビット長(N=M×B)の第1部分データ
に分割する分割手段と、前記M個の第1部分データのそ
れぞれに、逆変換がそれ自身と等価であるデータ変換を
施し、M個の第2部分データを生成する第1変換手段
と、前記M個の第2部分データに、逆変換が存在する攪
乱処理を施して攪乱し、M個の第3部分データを生成す
る攪乱手段と、前記M個の第3部分データのそれぞれ
に、前記第1変換手段で用いた前記データ変換を施し、
M個の第4部分データを生成する第2変換手段と、前記
M個の第4部分データを結合し、Nビット長の暗号文を
生成する結合手段とを備える。
【0081】この構成によると、第1変換手段及び第2
変換手段に、逆変換がそれ自身と等価であるデータ変換
を用いることで、本発明のデータ暗号化装置で暗号化さ
れた暗号文を復号する場合、第1変換手段及び第2変換
手段を用いることが出来る。ここで、前記第1変換手段
は、前記第1部分データを上位B/2ビット長である第
1ブロックデータと下位B/2ビット長である第2ブロ
ックデータとに分割する分割部と、前記第1ブロックデ
ータと前記第2ブロックデータとを相互に複数回攪乱す
る攪乱処理を施し、上位B/2ビッと長である第3ブロ
ックデータと下位B/2ビット長である第4ブロックデ
ータとを生成する攪乱部と、前記第3ブロックデータと
前記第4ブロックデータの上位と下位とをを入れ替えて
結合し前記第2部分データを生成する入替部とを備える
ように構成してもよい。
変換手段に、逆変換がそれ自身と等価であるデータ変換
を用いることで、本発明のデータ暗号化装置で暗号化さ
れた暗号文を復号する場合、第1変換手段及び第2変換
手段を用いることが出来る。ここで、前記第1変換手段
は、前記第1部分データを上位B/2ビット長である第
1ブロックデータと下位B/2ビット長である第2ブロ
ックデータとに分割する分割部と、前記第1ブロックデ
ータと前記第2ブロックデータとを相互に複数回攪乱す
る攪乱処理を施し、上位B/2ビッと長である第3ブロ
ックデータと下位B/2ビット長である第4ブロックデ
ータとを生成する攪乱部と、前記第3ブロックデータと
前記第4ブロックデータの上位と下位とをを入れ替えて
結合し前記第2部分データを生成する入替部とを備える
ように構成してもよい。
【0082】この構成によると、入替部が第3データ及
び第4データの上位と下位とを入れ替えることにより、
第1変換手段及び第2変換手段におけるデータ変換は、
逆変換がそれ自身と等価になる。そのため、本発明のデ
ータ暗号化装置で暗号化された暗号文を復号する場合、
第1変換手段及び第2変換手段を用いることが出来る。
び第4データの上位と下位とを入れ替えることにより、
第1変換手段及び第2変換手段におけるデータ変換は、
逆変換がそれ自身と等価になる。そのため、本発明のデ
ータ暗号化装置で暗号化された暗号文を復号する場合、
第1変換手段及び第2変換手段を用いることが出来る。
【0083】ここで、前記攪乱部は、入力される下位デ
ータに置換処理を施して出力する置換部と、入力される
上位データと置換部が出力するデータとを融合して出力
する融合部とを備え、前記置換部の出力を上位データと
して前記融合部に出力し、前記融合部の出力を下位デー
タとして前記置換部に出力し、前記置換部及び前記融合
部の処理を複数回施した後に出力される上位データを前
記第3ブロックデータとし、下位データを前記第4ブロ
ックデータとするように構成してもよい。
ータに置換処理を施して出力する置換部と、入力される
上位データと置換部が出力するデータとを融合して出力
する融合部とを備え、前記置換部の出力を上位データと
して前記融合部に出力し、前記融合部の出力を下位デー
タとして前記置換部に出力し、前記置換部及び前記融合
部の処理を複数回施した後に出力される上位データを前
記第3ブロックデータとし、下位データを前記第4ブロ
ックデータとするように構成してもよい。
【0084】この構成によると、前記置換部及び前記融
合部の処理が複数回施されるため、データの攪乱率が高
い暗号化が可能になる。ここで、前記データ暗号化装置
は、前記第1変換手段における前記データ変換と前記攪
乱手段における前記攪乱処理とを複数回繰り返して行う
ように構成してもよい。
合部の処理が複数回施されるため、データの攪乱率が高
い暗号化が可能になる。ここで、前記データ暗号化装置
は、前記第1変換手段における前記データ変換と前記攪
乱手段における前記攪乱処理とを複数回繰り返して行う
ように構成してもよい。
【0085】この構成によると、さらに、データの攪乱
率の高い暗号化が可能になる。また、本発明は、前記デ
ータ暗号化装置により暗号化されたNビット長(Nは正
整数)の暗号文を復号化し、Nビット長の平文を生成す
るデータ復号化装置であって、Nビット長の暗号文をM
個のBビット長(N=M×B)の第1部分データに分割す
る分割手段と、前記M個の第1部分データのそれぞれ
に、逆変換がそれ自身と等価であるデータ変換を施し、
M個の第2部分データを生成する第1変換手段と、前記
M個の第2部分データに、前記データ暗号化装置の攪乱
手段における攪乱処理の逆変換を施して、M個の第3部
分データを生成する逆攪乱手段と、前記M個の第3部分
データのそれぞれに、前記第1データ変換手段で用いた
データ変換を施し、M個の第4部分データを生成する第
2変換手段と、前記M個の第4部分データを結合し、N
ビット長の平文を生成する結合手段とを備える。
率の高い暗号化が可能になる。また、本発明は、前記デ
ータ暗号化装置により暗号化されたNビット長(Nは正
整数)の暗号文を復号化し、Nビット長の平文を生成す
るデータ復号化装置であって、Nビット長の暗号文をM
個のBビット長(N=M×B)の第1部分データに分割す
る分割手段と、前記M個の第1部分データのそれぞれ
に、逆変換がそれ自身と等価であるデータ変換を施し、
M個の第2部分データを生成する第1変換手段と、前記
M個の第2部分データに、前記データ暗号化装置の攪乱
手段における攪乱処理の逆変換を施して、M個の第3部
分データを生成する逆攪乱手段と、前記M個の第3部分
データのそれぞれに、前記第1データ変換手段で用いた
データ変換を施し、M個の第4部分データを生成する第
2変換手段と、前記M個の第4部分データを結合し、N
ビット長の平文を生成する結合手段とを備える。
【0086】この構成によると、前記データ暗号化装置
により暗号化されたデータを復号化するとき、前記第1
変換手段と前記第2変換手段とを前記データ暗号化装置
と共有することができる。ここで、Nビット長(Nは正
整数)のデータを暗号化及び復号化してNビット長のデ
ータを生成するデータ暗号復号化装置であって、Nビッ
ト長のデータをM個のBビット長(N=M×B)の第1部
分データに分割する分割手段と、前記M個の第1部分デ
ータのそれぞれに、逆変換がそれ自身と等価であるデー
タ変換を施し、M個の第2部分データを生成する第1変
換手段と、暗号化又は復号化に応じて、前記M個の第2
部分データの入力先を切り替える切替手段と、暗号化の
場合、前記M個の第2部分データの入力を受け付け、逆
変換が存在する攪乱処理を施し、M個の第3部分データ
を生成する攪乱手段と、復号化の場合、前記M個の第2
部分データの入力を受け付け、前記攪乱手段における攪
乱処理の逆変換処理を施し、M個の第4部分データを生
成する逆攪乱手段と、前記M個の第3部分データ及び前
記M個の第4部分データのそれぞれに、前記第1変換手
段で用いた前記データ変換を施し、M個の第5部分デー
タを生成する第2変換手段と、前記M個の第5部分デー
タを結合し、Nビット長のデータを生成する結合手段と
を備える。
により暗号化されたデータを復号化するとき、前記第1
変換手段と前記第2変換手段とを前記データ暗号化装置
と共有することができる。ここで、Nビット長(Nは正
整数)のデータを暗号化及び復号化してNビット長のデ
ータを生成するデータ暗号復号化装置であって、Nビッ
ト長のデータをM個のBビット長(N=M×B)の第1部
分データに分割する分割手段と、前記M個の第1部分デ
ータのそれぞれに、逆変換がそれ自身と等価であるデー
タ変換を施し、M個の第2部分データを生成する第1変
換手段と、暗号化又は復号化に応じて、前記M個の第2
部分データの入力先を切り替える切替手段と、暗号化の
場合、前記M個の第2部分データの入力を受け付け、逆
変換が存在する攪乱処理を施し、M個の第3部分データ
を生成する攪乱手段と、復号化の場合、前記M個の第2
部分データの入力を受け付け、前記攪乱手段における攪
乱処理の逆変換処理を施し、M個の第4部分データを生
成する逆攪乱手段と、前記M個の第3部分データ及び前
記M個の第4部分データのそれぞれに、前記第1変換手
段で用いた前記データ変換を施し、M個の第5部分デー
タを生成する第2変換手段と、前記M個の第5部分デー
タを結合し、Nビット長のデータを生成する結合手段と
を備える。
【0087】この構成によると、前記暗号復号化装置
は、第1変換手段及び第2変換手段を暗号化と復号化の
両処理において共有することができ、暗号化と復号化と
で異なる変換手段を有する装置と比較して回路規模を縮
小することができる。
は、第1変換手段及び第2変換手段を暗号化と復号化の
両処理において共有することができ、暗号化と復号化と
で異なる変換手段を有する装置と比較して回路規模を縮
小することができる。
【図1】暗号通信システム1の構成を示す構成図であ
る。
る。
【図2】受信装置10の構成を示すブロック図である。
【図3】暗復号化部106の構成を示すブロック図であ
る。
る。
【図4】第2データ攪乱部204の構成を示すブロック
図である。
図である。
【図5】第1データ攪乱部202の構成を示すブロック
図である。
図である。
【図6】データ変換部210aの構成を示す図である。
【図7】データ攪乱部300aの構成を示す図である。
【図8】データ置換部301の構成を示す図である。
【図9】第1データ拡散部230の構成を示す図であ
る。
る。
【図10】第2データ拡散部240の構成を示す図であ
る。
る。
【図11】受信装置10の全体の動作を示すフローチャ
ートである。
ートである。
【図12】暗復号化部106の復号化処理の動作を示す
フローチャートであり図11のフローチャートにおける
ステップS104の詳細である。
フローチャートであり図11のフローチャートにおける
ステップS104の詳細である。
【図13】暗復号化部106の暗号化処理の動作を示す
フローチャートであり図11のフローチャートにおける
ステップS106の詳細である。
フローチャートであり図11のフローチャートにおける
ステップS106の詳細である。
【図14】本発明の変形例であるデータ攪乱部350の
構成を示す図である。
構成を示す図である。
【図15】本発明の変形例であるデータ置換部311の
構成を示す図である。
構成を示す図である。
【図16】従来のブロック暗号化方式で用いられる暗号
化回路の一部を示す図である。
化回路の一部を示す図である。
【図17】従来のブロック暗号化方式で暗号化されたデ
ータを復号化する復号化回路の一部を示す図である。
ータを復号化する復号化回路の一部を示す図である。
【符号の説明】
1 暗号通信システム
10 受信装置
11 記録媒体
12 コンテンツ配信装置
13 放送衛星
101 受信部
102 データ記憶部
103 鍵入力部
104 鍵記憶部
105 制御部
106 暗復号化部
107 入出力部
108 アンテナ
110a〜110d データ変換部
111 データ拡散部
120a〜120d データ変換部
201 鍵制御部
203 段数制御部
202 データ攪乱部
204 データ攪乱部
210a〜210h データ変換部
211 データ拡散部
220 切替部
230 第1データ拡散部
240 第2データ拡散部
300a〜300c データ攪乱部
301 データ置換部
302 データ融合部
311 データ置換部
312 データ融合部
350 データ攪乱部
401a、401bテーブル置換部
481 記録媒体
501〜510 論理和部
601〜610 論理和部
501a、501bテーブル置換部
800a〜800d データ変換部
801 データ拡散部
900a〜900d データ逆変換部
901 データ逆拡散部
Claims (22)
- 【請求項1】 Nビット長(Nは正整数)の平文を暗号化
してNビット長の暗号文を生成するデータ暗号化装置で
あって、 Nビット長の平文をM個のBビット長(N=M×B)の第
1部分データに分割する分割手段と、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換手段と、 前記M個の第2部分データに、逆変換が存在する攪乱処
理を施して攪乱し、M個の第3部分データを生成する攪
乱手段と、 前記M個の第3部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第4部分デ
ータを生成する第2変換手段と、 前記M個の第4部分データを結合し、Nビット長の暗号
文を生成する結合手段とを備えることを特徴とするデー
タ暗号化装置。 - 【請求項2】 前記第1変換手段は、 前記第1部分データを上位B/2ビット長である第1ブ
ロックデータと下位B/2ビット長である第2ブロック
データとに分割する分割部と、 前記第1ブロックデータと前記第2ブロックデータとを
複数回攪乱する攪乱処理を施し、上位B/2ビット長で
ある第3ブロックデータと下位B/2ビット長である第
4ブロックデータとを生成する攪乱部と、 前記第3ブロックデータと前記第4ブロックデータの上
位と下位とを入れ替えて結合し前記第2部分データを生
成する入替部とを備えることを特徴とする請求項1に記
載のデータ暗号化装置。 - 【請求項3】 前記攪乱部は、 入力される下位データに置換処理を施して出力する置換
部と、 入力される上位データと前記置換部が出力するデータと
を融合して出力する融合部とを備え、 前記置換部の出力を上位データとして前記融合部に入力
し、前記融合部の出力を下位データとして前記置換部に
入力し、前記置換部及び前記融合部の処理を複数回施し
た後に出力される上位データを前記第3ブロックデータ
とし、下位データを前記第4ブロックデータとすること
を特徴とする請求項2に記載のデータ暗号化装置。 - 【請求項4】 前記第1変換手段が前記データ変換を、
前記攪乱手段が前記攪乱処理を、それぞれ複数回繰り返
して行うことを特徴とする請求項1に記載のデータ暗号
化装置。 - 【請求項5】 Nビット長(Nは正整数)の平文を暗号化
してNビット長の暗号文を生成するデータ暗号化装置で
あって、 Nビット長の平文をM個のBビット長(N=M×B)の第
1部分データに分割する分割手段と、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、続いて、逆変換が
存在する攪乱処理を施す一連の処理を複数回繰り返し行
い、M個の第2部分データを生成する第1変換手段と、 前記第1変換手段における一連の処理の処理回数を計数
し、計数した処理回数が所定の数に一致したとき前記M
個の第2部分データを第2変換手段に出力する段数制御
手段と、 前記M個の第2部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第3部分デ
ータを生成する第2変換手段と、 前記M個の第3部分データを結合し、Nビット長の暗号
文を生成する結合手段とを備えることを特徴とするデー
タ暗号化装置。 - 【請求項6】 請求項1に記載のデータ暗号化装置によ
り暗号化されたNビット長(Nは正整数)の暗号文を復号
化し、Nビット長の平文を生成するデータ復号化装置で
あって、 Nビット長の暗号文をM個のBビット長(N=M×B)の
第1部分データに分割する分割手段と、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換手段と、 前記M個の第2部分データに、前記データ暗号化装置の
攪乱手段における攪乱処理の逆変換を施して、M個の第
3部分データを生成する逆攪乱手段と、 前記M個の第3部分データのそれぞれに、前記第1変換
手段で用いたデータ変換を施し、M個の第4部分データ
を生成する第2変換手段と、 前記M個の第4部分データを結合し、Nビット長の平文
を生成する結合手段とを備えることを特徴とするデータ
復号化装置。 - 【請求項7】 前記第1変換手段は、 前記第1部分データを上位B/2ビット長である第1ブ
ロックデータと下位B/2ビット長である第2ブロック
データとに分割する分割部と、 前記第1ブロックデータと前記第2ブロックデータとを
攪乱する攪乱処理を施し、上位B/2ビット長である第
3ブロックデータと下位B/2ビット長である第4ブロ
ックデータとを生成する攪乱部と、 前記第3ブロックデータと前記第4ブロックデータとを
入れ替えて結合し前記第2部分データを生成する入替部
とを備えることを特徴とする請求項5に記載のデータ復
号化装置。 - 【請求項8】 前記攪乱部は、 入力される下位データに置換処理を施して出力する置換
部と、 入力される上位データと前記置換部が出力するデータと
を融合して出力する融合部とを備え、 前記置換部の出力を上位データとして前記融合部に入力
し、前記融合部の出力を下位データとして前記置換部に
入力し、前記置換部及び前記融合部の処理を複数回施し
た後に出力される上位データを前記第3ブロックデータ
とし、下位データを前記第4ブロックデータとすること
を特徴とする請求項6に記載のデータ復号化装置。 - 【請求項9】 請求項5に記載のデータ暗号化装置によ
り暗号化されたNビット長(Nは正整数)の暗号文を復号
化し、Nビット長の平文を生成するデータ復号化装置で
あって、 Nビット長の暗号文をM個のBビット長(N=M×B)の
第1部分データに分割する分割手段と、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、続いて、前記デー
タ暗号化装置の第1変換手段における攪乱処理の逆変換
を施す一連の処理を複数回繰り返し行い、M個の第2部
分データを生成する第1変換手段と、 前記第1変換手段における一連の処理の処理回数を計数
し、計数した処理回数が所定の数に一致したとき前記M
個の第2部分データを第2変換手段に出力する段数制御
手段と、 前記M個の第2部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第3部分デ
ータを生成する第2変換手段と、 前記M個の第3部分データを結合し、Nビット長の平文
を生成する結合手段とを備えることを特徴とするデータ
復号化装置。 - 【請求項10】 Nビット長(Nは正整数)のデータを暗
号化又は復号化してNビット長のデータを生成するデー
タ暗号復号化装置であって、 Nビット長のデータをM個のBビット長(N=M×B)の
第1部分データに分割する分割手段と、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換手段と、 暗号化又は復号化に応じて、前記M個の第2部分データ
の入力先を切り替える切替手段と、 暗号化の場合、前記M個の第2部分データの入力を受け
付け、逆変換が存在する攪乱処理を施し、M個の第3部
分データを生成する攪乱手段と、 復号化の場合、前記M個の第2部分データの入力を受け
付け、前記攪乱手段における攪乱処理の逆変換処理を施
し、M個の第4部分データを生成する逆攪乱手段と、 前記M個の第3部分データ及び前記M個の第4部分デー
タのそれぞれに、前記第1変換手段で用いた前記データ
変換を施し、M個の第5部分データを生成する第2変換
手段と、 前記M個の第5部分データを結合し、Nビット長のデー
タを生成する結合手段とを備えることを特徴とするデー
タ暗号復号化装置。 - 【請求項11】 請求項1に記載のデータ暗号化装置
と、 請求項6に記載のデータ復号化装置とから構成されるデ
ータ通信システム。 - 【請求項12】 請求項5に記載のデータ暗号化装置
と、 請求項9に記載のデータ復号化装置とから構成されるデ
ータ通信システム。 - 【請求項13】 Nビット長(Nは正整数)のデータを暗
号化又は復号化してNビット長のデータを生成するデー
タ暗号復号化装置であって、 Nビット長のデータをM個のBビット長(N=M×B)の
第1部分データに分割する分割手段と、 暗号化又は復号化に応じて、前記M個の第1部分データ
の入力先を第1変換手段又は第2変換手段に切り替える
切替手段と、 暗号化の場合、前記M個の第1部分データのそれぞれ
に、逆変換がそれ自身と等価であるデータ変換を施し、
続いて、逆変換が存在する攪乱処理を施す一連の処理を
複数回繰り返し行い、M個の第2部分データを生成する
第1変換手段と、 復号化の場合、前記M個の第1部分データのそれぞれ
に、逆変換がそれ自身と等価であるデータ変換を施し、
続いて、前記攪乱処理の逆変換を施す一連の処理を複数
回繰り返し行い、M個の第3部分データを生成する第2
変換手段と、 前記第1変換手段及び前記第2変換手段における一連の
処理の処理回数を計数し、計数した処理回数が所定の数
に一致したとき、前記M個の第2部分データ及び前記M
個の第3部分データを第3変換手段に出力する段数制御
手段と、 前記M個の第2部分データ及び前記M個の第3部分デー
タのそれぞれに、前記第1変換手段及び前記第2変換手
段で用いた前記データ変換を施し、M個の第4部分デー
タを生成する第3変換手段と、 前記M個の第4部分データを結合し、Nビット長のデー
タを生成する結合手段とを備えることを特徴とするデー
タ暗号復号化装置。 - 【請求項14】 Nビット長(Nは正整数)の平文を暗号
化してNビット長の暗号文を生成するデータ暗号化装置
で用いられるデータ暗号化方法であって、 Nビット長の平文をM個のBビット長(N=M×B)の第
1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、逆変換が存在する攪乱処
理を施して攪乱し、M個の第3部分データを生成する攪
乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第4部分デ
ータを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の暗号
文を生成する結合ステップとを含むことを特徴とするデ
ータ暗号化方法。 - 【請求項15】 Nビット長(Nは正整数)の平文を暗号
化してNビット長の暗号文を生成するデータ暗号化装置
で用いられるデータ暗号化プログラムであって、 Nビット長の平文をM個のBビット長(N=M×B)の第
1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、逆変換が存在する攪乱処
理を施して攪乱し、M個の第3部分データを生成する攪
乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第4部分デ
ータを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の暗号
文を生成する結合ステップとを含むことを特徴とするデ
ータ暗号化プログラム。 - 【請求項16】 Nビット長(Nは正整数)の平文を暗号
化してNビット長の暗号文を生成するデータ暗号化装置
で用いられるデータ暗号化プログラムを記録しているコ
ンピュータ読み取り可能な記録媒体であって、 前記データ暗号化プログラムは、 Nビット長の平文をM個のBビット長(N=M×B)の第
1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、逆変換が存在する攪乱処
理を施して攪乱し、M個の第3部分データを生成する攪
乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1変換
手段で用いた前記データ変換を施し、M個の第4部分デ
ータを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の暗号
文を生成する結合ステップとを含むことを特徴とするデ
ータ暗号化プログラム。 - 【請求項17】 請求項1に記載のデータ暗号化装置に
より暗号化されたNビット長(Nは正整数)の暗号文を復
号化し、Nビット長の平文を生成するデータ復号化装置
で用いられるデータ復号化方法であって、 Nビット長の暗号文をM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、前記データ暗号化装置の
攪乱手段における攪乱処理の逆変換を施して、M個の第
3部分データを生成する逆攪乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1デー
タ変換手段で用いたデータ変換を施し、M個の第4部分
データを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の平文
を生成する結合ステップとを含むことを特徴とするデー
タ復号化方法。 - 【請求項18】 請求項1に記載のデータ暗号化装置に
より暗号化されたNビット長(Nは正整数)の暗号文を復
号化し、Nビット長の平文を生成するデータ復号化装置
で用いられるデータ復号化プログラムであって、 Nビット長の暗号文をM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、前記データ暗号化装置の
攪乱手段における攪乱処理の逆変換を施して、M個の第
3部分データを生成する逆攪乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1デー
タ変換手段で用いたデータ変換を施し、M個の第4部分
データを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の平文
を生成する結合ステップとを含むことを特徴とするデー
タ復号化プログラム。 - 【請求項19】 請求項1に記載のデータ暗号化装置に
より暗号化されたNビット長(Nは正整数)の暗号文を復
号化し、Nビット長の平文を生成するデータ復号化装置
で用いられるデータ復号化プログラムを記録したコンピ
ュータ読み取り可能な記録媒体であって、 前記データ復号化プログラムは、 Nビット長の暗号文をM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 前記M個の第2部分データに、前記データ暗号化装置の
攪乱手段における攪乱処理の逆変換を施して、M個の第
3部分データを生成する逆攪乱ステップと、 前記M個の第3部分データのそれぞれに、前記第1デー
タ変換手段で用いたデータ変換を施し、M個の第4部分
データを生成する第2変換ステップと、 前記M個の第4部分データを結合し、Nビット長の平文
を生成する結合ステップ段とを含むことを特徴とするデ
ータ復号化プログラム。 - 【請求項20】 Nビット長(Nは正整数)のデータを暗
号化又は復号化してNビット長のデータを生成するデー
タ暗号復号化装置で用いられるデータ暗号復号化方法で
あって、 Nビット長のデータをM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 暗号化又は復号化に応じて、前記M個の第2部分データ
の入力先を切り替える切替ステップと、 暗号化の場合、前記M個の第2部分データの入力を受け
付け、逆変換が存在する攪乱処理を施し、M個の第3部
分データを生成する攪乱ステップと、 復号化の場合、前記M個の第2部分データの入力を受け
付け、前記攪乱手段における攪乱処理の逆変換処理を施
し、M個の第4部分データを生成する逆攪乱ステップ
と、 前記M個の第3部分データ及び前記M個の第4部分デー
タのそれぞれに、前記第1変換手段で用いた前記データ
変換を施し、M個の第5部分データを生成する第2変換
ステップと、 前記M個の第5部分データを結合し、Nビット長のデー
タを生成する結合ステップとを含むことを特徴とするデ
ータ暗号復号化方法。 - 【請求項21】 Nビット長(Nは正整数)のデータを暗
号化又は復号化してNビット長のデータを生成するデー
タ暗号復号化装置で用いられるデータ暗号復号化プログ
ラムであって、 Nビット長のデータをM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 暗号化又は復号化に応じて、前記M個の第2部分データ
の入力先を切り替える切替ステップと、 暗号化の場合、前記M個の第2部分データの入力を受け
付け、逆変換が存在する攪乱処理を施し、M個の第3部
分データを生成する攪乱ステップと、 復号化の場合、前記M個の第2部分データの入力を受け
付け、前記攪乱手段における攪乱処理の逆変換処理を施
し、M個の第4部分データを生成する逆攪乱ステップ
と、 前記M個の第3部分データ及び前記M個の第4部分デー
タのそれぞれに、前記第1変換手段で用いた前記データ
変換を施し、M個の第5部分データを生成する第2変換
ステップと、 前記M個の第5部分データを結合し、Nビット長のデー
タを生成する結合ステップとを含むことを特徴とするデ
ータ暗号復号化プログラム。 - 【請求項22】 Nビット長(Nは正整数)のデータを暗
号化又は復号化してNビット長のデータを生成するデー
タ暗号復号化装置で用いられるデータ暗号復号化プログ
ラムを記録しているコンピュータ読み取り可能な記録媒
体あって、 前記データ暗号復号化プログラムは、 Nビット長のデータをM個のBビット長(N=M×B)の
第1部分データに分割する分割ステップと、 前記M個の第1部分データのそれぞれに、逆変換がそれ
自身と等価であるデータ変換を施し、M個の第2部分デ
ータを生成する第1変換ステップと、 暗号化又は復号化に応じて、前記M個の第2部分データ
の入力先を切り替える切替ステップ段と、 暗号化の場合、前記M個の第2部分データの入力を受け
付け、逆変換が存在する攪乱処理を施し、M個の第3部
分データを生成する攪乱ステップと、 復号化の場合、前記M個の第2部分データの入力を受け
付け、前記攪乱手段における攪乱処理の逆変換処理を施
し、M個の第4部分データを生成する逆攪乱ステップ
と、 前記M個の第3部分データ及び前記M個の第4部分デー
タのそれぞれに、前記第1変換手段で用いた前記データ
変換を施し、M個の第5部分データを生成する第2変換
ステップと、 前記M個の第5部分データを結合し、Nビット長のデー
タを生成する結合ステップとを含むことを特徴とするデ
ータ暗号復号化プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070938A JP2003271054A (ja) | 2002-03-14 | 2002-03-14 | データ暗号化装置及びデータ復号化装置 |
US10/373,700 US20030174835A1 (en) | 2002-03-14 | 2003-02-27 | Data encryption device, data decryption device, and data encryption/decryption device |
EP03005370A EP1347595A1 (en) | 2002-03-14 | 2003-03-12 | Data encryption/decryption device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070938A JP2003271054A (ja) | 2002-03-14 | 2002-03-14 | データ暗号化装置及びデータ復号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003271054A true JP2003271054A (ja) | 2003-09-25 |
Family
ID=27785037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002070938A Pending JP2003271054A (ja) | 2002-03-14 | 2002-03-14 | データ暗号化装置及びデータ復号化装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20030174835A1 (ja) |
EP (1) | EP1347595A1 (ja) |
JP (1) | JP2003271054A (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0328012D0 (en) * | 2003-12-03 | 2004-01-07 | Oxford Semiconductor Ltd | Data distribution method and apparatus |
US20050147244A1 (en) * | 2003-12-30 | 2005-07-07 | Alexander Moldovyan | Method for cryptographic transformation of binary data blocks |
US7599490B2 (en) * | 2004-03-03 | 2009-10-06 | Harris Corporation | Method and apparatus for data encryption |
US7623660B1 (en) * | 2004-07-20 | 2009-11-24 | Xilinx, Inc. | Method and system for pipelined decryption |
US7702099B2 (en) * | 2005-06-30 | 2010-04-20 | Chiou-Haun Lee | Multipoint synchronous diffused encryption/decryption method |
WO2016050287A1 (en) | 2014-09-30 | 2016-04-07 | Nec Europe Ltd. | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
TWI554908B (zh) * | 2015-11-03 | 2016-10-21 | 澧達科技股份有限公司 | 資料加密系統 |
US11838402B2 (en) | 2019-03-13 | 2023-12-05 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
CN112235111B (zh) * | 2020-12-17 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及计算机可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275265A (en) * | 1978-10-02 | 1981-06-23 | Wisconsin Alumni Research Foundation | Complete substitution permutation enciphering and deciphering circuit |
US5101432A (en) * | 1986-03-17 | 1992-03-31 | Cardinal Encryption Systems Ltd. | Signal encryption |
JP3053527B2 (ja) * | 1993-07-30 | 2000-06-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置 |
US5970142A (en) * | 1996-08-26 | 1999-10-19 | Xilinx, Inc. | Configuration stream encryption |
US6708273B1 (en) * | 1997-09-16 | 2004-03-16 | Safenet, Inc. | Apparatus and method for implementing IPSEC transforms within an integrated circuit |
JP2001308843A (ja) * | 2000-04-19 | 2001-11-02 | Nec Commun Syst Ltd | 暗号復号化装置 |
JP3851115B2 (ja) * | 2001-06-28 | 2006-11-29 | 富士通株式会社 | 暗号回路 |
JP2003098959A (ja) * | 2001-09-21 | 2003-04-04 | Toshiba Corp | 暗号処理装置 |
DE60313118D1 (de) * | 2003-02-04 | 2007-05-24 | Sgs Thomson Microelectronics | Halbleiterschaltkreis zur Entschlüsselung |
-
2002
- 2002-03-14 JP JP2002070938A patent/JP2003271054A/ja active Pending
-
2003
- 2003-02-27 US US10/373,700 patent/US20030174835A1/en not_active Abandoned
- 2003-03-12 EP EP03005370A patent/EP1347595A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1347595A1 (en) | 2003-09-24 |
US20030174835A1 (en) | 2003-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563556B2 (en) | Architecture and instruction set for implementing advanced encryption standard (AES) | |
JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
KR100426460B1 (ko) | 비밀키가해독된경우의피해규모를억제할수있는암호통신시스템 | |
US6917684B1 (en) | Method of encryption and decryption with block number dependant key sets, each set having a different number of keys | |
US7336783B2 (en) | Cryptographic systems and methods supporting multiple modes | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
JP2006511151A (ja) | ストリーム処理装置及び方法 | |
JP2010239174A (ja) | 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置 | |
US7447311B2 (en) | Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system | |
CN101138193A (zh) | 数据处理设备 | |
JP2003318874A (ja) | コンテンツ著作権保護装置、そのプログラム及びその方法 | |
JP2003271054A (ja) | データ暗号化装置及びデータ復号化装置 | |
JP2000115162A (ja) | セキュア通信装置及び記憶装置 | |
JP3526522B2 (ja) | 暗号通信システム | |
US20050232414A1 (en) | Block encoding method and block encoding/decoding circuit | |
JPH10164028A (ja) | データ通信方法 | |
JP4658150B2 (ja) | 暗号化方法および復号方法 | |
JPH0777933A (ja) | ネットワークデータ暗号化装置 | |
JP2004109177A (ja) | コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法 | |
JP3642246B2 (ja) | 鍵情報生成方法、鍵情報生成装置、コンテンツ情報暗号化方法、コンテンツ情報暗号化装置、コンテンツ情報復号化方法、コンテンツ情報復号化装置、コンテンツ情報記録媒体、コンテンツ情報伝送方法 | |
JP3846148B2 (ja) | コンテンツ情報復号化方法、コンテンツ情報復号化装置 | |
JPH10210026A (ja) | 秘密鍵伝送方式 | |
JPH1139794A (ja) | 暗号データ復号装置 | |
JP2001203685A (ja) | 乱数表を用いた暗号化によるデータ送信方式およびデータ交換方式 | |
JPH048034A (ja) | 復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080304 |