JP3364200B2 - 暗号化方法、暗号化装置、復号化方法及び復号化装置 - Google Patents

暗号化方法、暗号化装置、復号化方法及び復号化装置

Info

Publication number
JP3364200B2
JP3364200B2 JP2000261732A JP2000261732A JP3364200B2 JP 3364200 B2 JP3364200 B2 JP 3364200B2 JP 2000261732 A JP2000261732 A JP 2000261732A JP 2000261732 A JP2000261732 A JP 2000261732A JP 3364200 B2 JP3364200 B2 JP 3364200B2
Authority
JP
Japan
Prior art keywords
unit
state
data
encryption
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000261732A
Other languages
English (en)
Other versions
JP2001142394A (ja
Inventor
誠 館林
薫 横田
基司 大森
文彦 佐野
直樹 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Toshiba Corp
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Toshiba Corp
Priority to JP2000261732A priority Critical patent/JP3364200B2/ja
Publication of JP2001142394A publication Critical patent/JP2001142394A/ja
Application granted granted Critical
Publication of JP3364200B2 publication Critical patent/JP3364200B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、平文を暗号化して
暗号文を生成し、また生成された暗号文を復号して元の
平文を生成する暗号処理技術に関する。
【0002】
【従来の技術】近年、重要な情報を他人に知られないよ
うに、情報を暗号化して送信する暗号通信が普及し、よ
り安全性の高い暗号化方式が求められるようになってき
ている。特開平11−7239号公報によると、暗号化
の安全性をより高めることを目的とするデータ暗号化装
置が開示されている。
【0003】前記データ暗号化装置は、外部から受け取
った平文を複数の平文ブロックに分割し、各平文ブロッ
ク毎に鍵データを用いて暗号化して暗号化ブロック生成
する。各平文ブロックの暗号化において、最初の平文ブ
ロックを暗号化する際には、外部から取得した鍵データ
を用いる。2番目以降の、平文ブロックを暗号化する際
には、1つ前の暗号化で得られる暗号文ブロックを用い
て鍵データを更新し、更新された鍵データを用いる。
【0004】各平文ブロックの暗号化は次のようにして
おこなう。前記データ暗号化装置は、部分鍵生成部と第
1〜第8暗号化部を有している。部分鍵生成部は、鍵デ
ータを用いて、第1〜第8の部分鍵を生成する。ここ
で、第1〜第8の部分鍵はそれぞれ異なる鍵である。第
1暗号化部は、第1の部分鍵に基づいて、平文ブロック
から第1中間ブロックを生成する。第2暗号化部は、第
2の部分鍵に基づいて、第1中間ブロックから第2中間
ブロックを生成する。第3〜7暗号化部は、同様にそれ
ぞれ第3〜7の部分鍵に基づいて、第2〜6中間ブロッ
クから第3〜7中間ブロックを生成する。第8暗号化部
は、第8の部分鍵に基づいて、第7中間ブロックから暗
号文ブロックを生成する。
【0005】このように、平文ブロック毎に異なる鍵デ
ータを用いて平文ブロックを暗号化するので、同一の鍵
で暗号化された平文−暗号文のペアを集めることは困難
である。このため、差分解読法や線形解読法などの既知
平文攻撃に対する安全性が強化されている。
【0006】
【発明が解決しようとする課題】しかしながら、前記デ
ータ暗号化装置の部分鍵生成部は、平文ブロックの暗号
化毎に多数の異なる部分鍵を生成するので、暗号化の処
理速度が低下するという問題がある。そこで、本発明は
かかる問題点に鑑みてなされたものであり、既知平文攻
撃に対する高い安全性を保ちつつ、暗号化処理速度の低
下が少ない暗号化装置、暗号化方法、復号化装置、復号
化方法及び暗号化プログラム若しくは復号化プログラム
を記録している記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、複数のブロックから構成される平文デー
タを暗号化する暗号化装置で用いられる暗号化方法であ
って、前記暗号化装置は、ブロック取得手段と、判断手
段と、鍵生成手段と、暗号化手段とを備え、前記ブロッ
ク取得手段により、外部から繰り返し順次ブロックを取
得するブロック取得ステップと、前記判断手段により、
ブロックの取得回数に応じて、第1状態か又は第2状態
かを判断する判断ステップと、前記鍵生成手段により、
第1状態と判断される場合に、所定数のそれぞれ異なる
部分鍵から構成される第1群を生成し、第2状態と判断
される場合に、前記所定数より少ない数のそれぞれ異な
る部分鍵から構成される第2群を生成する鍵生成ステッ
プと、前記暗号化手段により、取得したブロックを、前
記所定数の変換過程を順次介して、暗号化する暗号化ス
テップとを含み、前記暗号化ステップは、第1状態と判
断される場合に、前記所定数の変換過程はそれぞれ前記
第1群を構成する複数の部分鍵に対応し、前記所定数の
変換過程のそれぞれにおいて、前記第1群内の対応する
部分鍵を用い、第2状態と判断される場合に、前記所定
数の変換過程のそれぞれは、前記第2群を構成する複数
の部分鍵のいずれかに対応し、前記所定数の変換過程の
それぞれにおいて、前記第2群内の対応する部分鍵を用
いることを特徴とする。
【0008】ここで、前記暗号化方法において、前記判
断ステップは、前記取得回数が、所定の周期数の倍数で
ある場合に、第1状態であると判断し、その他の場合
に、第2状態であると判断するように構成してもよい。
ここで、前記暗号化装置は、鍵初期値を記憶している初
期値記憶手段を含み、前記暗号化方法において、前記暗
号化ステップは、取得したブロックを、前記所定数の変
換過程を順次介して、変換して暗号化ブロックを生成
し、前記鍵生成ステップは、第1状態と判断される場合
に、前記鍵初期値を用いて前記第1群を生成し、第2状
態と判断される場合に、前記鍵初期値と直前に生成され
た暗号化ブロックとを用いて前記第2群を生成するよう
に構成してもよい。
【0009】また、本発明は、複数の暗号文ブロックか
ら構成される暗号文データを復号化する復号化装置で用
いられる復号化方法であって、前記復号化装置は、ブロ
ック取得手段と、判断手段と、鍵生成手段と、復号化手
段とを備え、前記ブロック取得手段により、外部から繰
り返し順次暗号文ブロックを取得するブロック取得ステ
ップと、前記判断手段により、暗号文ブロックの取得回
数に応じて、第1状態か又は第2状態かを判断する判断
ステップと、前記鍵生成手段により、第1状態と判断さ
れる場合に、所定数のそれぞれ異なる部分鍵から構成さ
れる第1群を生成し、第2状態と判断される場合に、前
記所定数より少ない数のそれぞれ異なる部分鍵から構成
される第2群を生成する鍵生成ステップと、前記復号化
手段により、取得した暗号文ブロックを、前記所定数の
変換過程を順次介して、復号化する復号化ステップとを
含み、前記復号化ステップは、第1状態と判断される場
合に、前記所定数の変換過程はそれぞれ前記第1群を構
成する複数の部分鍵に対応し、前記所定数の変換過程の
それぞれにおいて、前記第1群内の対応する部分鍵を用
い、第2状態と判断される場合に、前記所定数の変換過
程のそれぞれは、前記第2群を構成する複数の部分鍵の
いずれかに対応し、前記所定数の変換過程のそれぞれに
おいて、前記第2群内の対応する部分鍵を用いること
特徴とする。
【0010】ここで、前記復号化方法において、前記判
断ステップは、前記取得回数が、所定の周期数の倍数で
ある場合に、第1状態であると判断し、その他の場合
に、第2状態であると判断するように構成してもよい。
ここで、前記復号化装置は、鍵初期値を記憶している初
期値記憶手段を含み、前記鍵生成ステップは、第1状態
と判断される場合に、前記鍵初期値を用いて前記第1群
を生成し、第2状態と判断される場合に、前記鍵初期値
と直前に取得した暗号化ブロックとを用いて前記第2群
を生成するように構成してもよい。
【0011】
【発明の実施の形態】本発明の1の実施の形態としての
暗号通信システム5について説明する。 1 暗号通信システム5の構成 暗号通信システム5は、図1に示すように、送信装置1
と受信装置2と伝送路3とから構成され、送信装置1と
受信装置2とは、伝送路3を介して接続されている。
【0012】送信装置1と受信装置2とは、それぞれ同
一の暗号化鍵データEKをあらかじめ有している。送信
装置1は、前記暗号化鍵データEKを用いて平文データ
Pを暗号化変換して暗号文データCを生成し、生成した
暗号文データCを受信装置2へ、伝送路3を介して送信
する。受信装置2は、暗号文データCを受信し、受信し
た前記暗号文データCを前記暗号化鍵データEKを用い
て復号変換して復号文データDを生成する。ここで、復
号変換は、前記暗号化変換の逆変換である。復号変換に
より得られる復号文データDは、前記平文データPと同
一である。 1.1 送信装置1及び受信装置2の構成 (1)送信装置1の構成 送信装置1は、図1に示すように、平文データ記憶部1
2と暗号化鍵データ記憶部13とデータ暗号化部10と
送信部11とから構成されている。
【0013】平文データ記憶部12は、平文データPを
予め記憶している。平文データPは、64ビット以上の
ディジタル情報であり、ディジタル符号化された音声情
報又は画像情報を一例とする。暗号化鍵データ記憶部1
3は、64ビットの暗号化鍵データEKを予め記憶して
いる。暗号化鍵データEKは、予め送信装置1と受信装
置2との間で予め定めていたものである。
【0014】データ暗号化部10は、平文データ記憶部
12から平文データPを読み出し、暗号化鍵データ記憶
部13から暗号化鍵データEKを読み出し、読み出した
暗号化鍵データEKを用いて読み出した平文データを暗
号化変換して暗号文データCを生成し、生成した暗号文
データCを送信部11へ出力する。データ暗号化部10
の詳細については、後述する。
【0015】送信部11は、暗号文データCを受け取
り、受け取った暗号文データCに対して並列to直列変
換、変調及び増幅を施して信号を生成し、生成した信号
を伝送路3を介して受信装置2へ送信する。 (2)受信装置2の構成 受信装置2は、図1に示すように、復号文データ記憶部
22と暗号化鍵データ記憶部23とデータ復号化部20
と受信部21とから構成されている。
【0016】受信部21は、伝送路3を介して、送信装
置1の送信部11から信号を受信し、受信した信号に対
して復調及び直列to並列変換を施して暗号文データC
を生成し、生成した暗号文データCをデータ復号化部2
0へ出力する。暗号化鍵データ記憶部23は、64ビッ
トの暗号化鍵データEKを予め記憶している。暗号化鍵
データEKは、送信装置1の暗号化鍵データ記憶部13
が記憶している暗号化鍵データEKと同一である。
【0017】データ復号化部20は、暗号文データCを
受け取り、暗号化鍵データ記憶部23から暗号化鍵デー
タEKを読み出し、受け取った暗号文データCを読み出
した暗号化鍵データEKを用いて復号変換して復号文デ
ータDを生成し、生成した復号文データDを復号文デー
タ記憶部22へ書き込む。ここで、前記復号変換は、デ
ータ暗号化部10の暗号化変換の逆変換である。復号変
換により得られる復号文データDは、前記平文データP
と同一である。データ復号化部20の詳細については、
後述する。
【0018】復号文データ記憶部22は、復号文データ
Dを記憶する。 1.2 データ暗号化部10の構成 データ暗号化部10は、図2に示すように、暗号化部1
00と、部分鍵データ生成部101と、排他的論理和部
102と、データ変換部103と、レジスタ部104
と、カウンタ部105と、部分鍵データ生成制御部10
6と、レジスタ制御部107と、ブロック分割部108
と、ブロック結合部109と、鍵取得部110と、鍵記
憶部111とから構成される。 (1)ブロック分割部108 ブロック分割部108は、平文データ記憶部12から平
文データPを読み出し、読み出した平文データPをブロ
ック単位に先頭から複数の平文ブロックPt (t=0、
1、・・・)に分割する。各平文ブロックPt は、64
ビット長である。ブロック分割部108は、各平文ブロ
ックPt を順次暗号化部100へ出力する。全ての平文
ブロックの出力が完了すると、出力完了を示す情報をブ
ロック結合部109へ出力する。 (2)鍵取得部110 鍵取得部110は、暗号化鍵データ記憶部13から暗号
化鍵データEKを読み出し、読み出した暗号化鍵データ
EKを鍵記憶部111へ書き込む。 (3)鍵記憶部111 鍵記憶部111は、暗号化鍵データEKを記憶する。 (4)暗号化部100 暗号化部100は、図3に示すように、第1暗号化部1
00a、第2暗号化部100b、・・・、第15暗号化
部100c、第16暗号化部100dを含んでいる。
【0019】第1暗号化部100aは、ブロック分割部
108から平文ブロックPt を受け取り、部分鍵データ
生成部101から第1部分鍵データSK0 を受け取る。
第1部分鍵データSK0 は、32ビット長である。第1
暗号化部100aは、第1部分鍵データSK0 を用い
て、受け取った前記平文ブロックPt に暗号化変換を施
して第1中間ブロックを生成し、生成した第1中間ブロ
ックを第2暗号化部100bへ出力する。
【0020】前記暗号化変換は、FEAL(Fast
Data Encipherment Algorit
hm)暗号方式のデータ暗号化部分を用いる。FEAL
暗号方式は、ブロック暗号方式として知られている。第
2〜第15暗号化部は、それぞれ、第1〜第14暗号化
部から第1〜第14中間ブロックを受け取り、部分鍵デ
ータ生成部101から第2〜第15部分鍵データSK1
〜SK14を受け取る。第2〜第15部分鍵データSK1
〜SK14は、それぞれ32ビット長である。第2〜第1
5暗号化部は、それぞれ、第2〜第15部分鍵データS
1 〜SK14を用いて、受け取った前記第1〜第14中
間ブロックに暗号化変換を施して第2〜第15中間ブロ
ックを生成し、生成した第2〜第15中間ブロックを第
3〜第16暗号化部へ出力する。
【0021】第16暗号化部100dは、第15暗号化
部100cから第15中間ブロックを受け取り、部分鍵
データ生成部101から第16部分鍵データSK15を受
け取る。第16部分鍵データSK15は、32ビット長で
ある。第16暗号化部100dは、第16部分鍵データ
SK15を用いて、受け取った前記第15中間ブロックに
暗号化変換を施して暗号文ブロックCt を生成する。 (式7) Ct =Enc(Pt 、SK0t ) ここで、Enc(Pt 、SK0t )は、平文ブロックP
t を、t番目の暗号化において生成された部分鍵データ
の集合SK0t (SK0 〜SK15)を用いて暗号化する
ことを示す。
【0022】第16暗号化部100dは、生成した暗号
文ブロックCt をブロック結合部109へ出力する。暗
号化部100は、生成した暗号文ブロックCt をブロッ
ク結合部109へ出力すると、1個の平文ブロックの暗
号化を完了したことを示す完了情報をカウンタ部105
へ出力する。 (5)レジスタ部104 レジスタ部104は、64ビット長の初期値IVと64
ビット長の保管データR0t を記憶する領域を備えてお
り、あらかじめ保管データR0t として初期値IVを記
憶している。
【0023】レジスタ部104は、第16暗号化部10
0dから暗号文ブロックCt を受け取る。また、レジス
タ部104は、レジスタ制御部107から制御信号を受
け取る。受け取った制御信号が「0」である場合に、第
16暗号化部100dから暗号文ブロックCt を受け取
ったときに、保管データR0t として受け取った前記暗
号文ブロックCt を記憶する。受け取った制御信号が
「1」である場合に、初期値IVを読み出し、読み出し
た初期値IVを保管データR0t として記憶する。
【0024】言い換えると、レジスタ部104は、T×
n(n=0、1、・・・)ブロック目の平文ブロックP
t (t=T×n)を暗号化するサイクルにおいて、保管
データR0t を予め設定されている初期値IVで初期化
する。ここで、Tは、後述するように、予め定められた
所定周期である。また、上記T×n(n=0、1、・・
・)ブロック目以外の平文ブロックPt (t≠T×n)
を暗号化するサイクルにおいて、受け取った前記暗号文
ブロックCt を保管データR0t として記憶する。 (6)データ変換部103 データ変換部103は、レジスタ部104から64ビッ
ト長の保管データR0 t を読み出す。暗号化部100
が、t個目の平文ブロックPt を暗号化するときには、
以下に示す64ビットデータR0t を読み出す。 (式1) t≠T×k(k=0、1、・・・)の場合 R0t =Ct-1 (式2) t=T×k(k=0、1、・・・)の場合 R0t =IV 次に、読み出した保管データR0t に対して所定のデー
タ変換処理fを施し、 (式3) S0t =f(R0t ) を生成する。
【0025】ここで、f(X)は入力データXに対し
て、前記所定のデータ変換処理fを行って得られたデー
タを示し、前記所定のデータ変換処理fを、64ビット
データの上位方向への13ビットローテートシフトとす
る。次に、データ変換部103は、64ビットの変換結
果であるデータS0t を排他的論理和部102へ出力す
る。 (7)排他的論理和部102 排他的論理和部102は、データ変換部103から64
ビットデータS0t を受け取り、鍵記憶部111から暗
号化鍵データEKを読み出す。
【0026】排他的論理和部102は、受け取った前記
64ビットデータS0t と読み出した前記暗号化鍵デー
タEKとに対して、ビット毎に排他的論理和演算を施し
て、64ビットの入力鍵データIK0t を生成する。 (式4) IK0t =S0t (+)EK ここで、「(+)」はビット毎の排他的論理和演算を表
す。
【0027】次に、生成した入力鍵データIK0t を部
分鍵データ生成部101へ出力する。 (8)部分鍵データ生成部101 部分鍵データ生成部101は、部分鍵データ生成制御部
106から制御信号を受け取り、排他的論理和部102
から入力鍵データIK0t を受け取る。前記制御信号
は、予め定められた所定周期Tに対してT×n(n=
0、1、・・・)ブロック目の平文ブロックを暗号化す
る場合であるか、その他の場合であるかを示している。
ここで、前記所定の周期Tを210とする。
【0028】部分鍵データ生成部101は、2個の異な
る部分鍵生成処理(タイプA及びタイプB)を有してい
る。タイプAの部分鍵生成処理は、処理量が多く(処理
負荷が大きい)、タイプBの部分鍵生成処理は、処理量
が少ない(処理負荷が小さい)。部分鍵データ生成部1
01は、受け取った前記制御信号に従って前記2個の部
分鍵生成処理のうちから1個を選択し、入力鍵データI
K0t を用いて、選択された部分鍵データ生成処理を行
って、16個の32ビットの部分鍵データ(第1〜第1
6部分鍵データSK0 〜SK15)を生成する。 (式5) t≠T×k(k=0、1、・・・)の場合 SK0t =KGB(IK0t ) ここで、KGB(X)は、入力鍵データXに基づいて、
タイプBの部分鍵生成処理により生成された16個の部
分鍵データを示す。ここで、前記16個の部分鍵データ
は、2種類の部分鍵データからなる。 (式6) t=T×k(k=0、1、・・・)の場合 SK0t =KGA(IK0t ) ここで、KGA(X)は、入力鍵データXに基づいて、
タイプAの部分鍵生成処理により生成された16個の部
分鍵データを示す。ここで、前記16個の部分鍵データ
は、それぞれ異なる。
【0029】部分鍵データ生成部101は、生成した1
6個の第1〜第16部分鍵データSK0 〜SK15をそれ
ぞれ暗号化部100の第1〜第16暗号化部へ出力す
る。図6に、カウンタ部105のカウント値と、部分鍵
データ生成部101が受け取る入力鍵データと、部分鍵
データ生成部101が用いる部分鍵生成タイプとの関係
を示す。この図に示すように、カウント値が0の場合に
は、入力鍵データは、暗号化鍵データEKと初期値IV
とを用いて生成され、タイプAの部分鍵生成処理が用い
られる。カウント値が1〜210−1の場合には、入力鍵
データは、暗号化鍵データEKと1つ前に生成された暗
号化ブロックとを用いて生成され、タイプBの部分鍵生
成処理が用いられる。
【0030】部分鍵データ生成部101は、図3に示す
ように、データ乱数化部301、乱数化データ保管部3
02及び段数制御部303から構成される。 (a)データ乱数化部301 データ乱数化部301は、段数制御部303から64ビ
ットのデータを受け取り、受け取ったデータに対して所
定のデータ乱数化処理を施して、32ビット部分鍵デー
タSK及び64ビット乱数化データを生成し、生成した
32ビット部分鍵データSKを乱数化データ保管部30
2へ出力し、生成した64ビット乱数化データを段数制
御部303へ出力する。
【0031】データ乱数化部301は、図4に示すよう
に、分離部301a、排他的論理和部301b、データ
攪乱部301c及び結合部301dから構成される。 (分離部301a)分離部301aは、段数制御部30
3から64ビットのデータを受け取り、受け取った64
ビットのデータを上位32ビットのデータA1と下位3
2ビットのデータA0とに分離し、データA1を排他的
論理和部301b及びデータ攪乱部301cへ出力し、
データA0を結合部301d及びデータ攪乱部301c
へ出力する。 (データ攪乱部301c)データ攪乱部301cは、分
離部301aからデータA0とデータA1とを受け取
り、データA0とデータA1とに排他的論理和を施して
32ビットデータを得、得られた32ビットデータを4
個の8ビットデータに分離し、各8ビットデータに所定
の置換を施して、それぞれ8ビットデータを生成する。
ここで、前記所定の置換では、それぞれ0から255ま
でのアドレス値を付与された256個の8ビットデータ
を記憶しているテーブルを用いる。次に、データ攪乱部
301cは、生成された前記4個の8ビットデータを結
合して32ビットデータを生成し、生成した32ビット
データ中の特定のビットを他のビットと入れ換えて新た
に32ビットデータC1を生成して、生成した32ビッ
トデータC1を排他的論理和部301bへ出力する。 (排他的論理和部301b)排他的論理和部301b
は、分離部301aからデータA1を受け取り、データ
攪乱部301cから32ビットデータC1を受け取り、
データA1とデータC1とに排他的論理和を施して32
ビットの部分鍵データB0を生成し、生成した部分鍵デ
ータB0を乱数化データ保管部302と結合部301d
とへ出力する。 (結合部301d)結合部301dは、分離部301a
からデータA0を受け取り、排他的論理和部301bか
ら部分鍵データB0を受け取り、データA0を上位と
し、部分鍵データB0を下位として、データA0と部分
鍵データB0とを結合して64ビットの乱数化データを
生成し、生成した乱数化データを段数制御部303へ出
力する。 (b)段数制御部303 段数制御部303は、以下に示すようにして、データ乱
数化部301に対して、乱数化処理を繰り返すよう制御
する。
【0032】段数制御部303は、データ乱数化部30
1により合計で何回のデータ乱数化処理が行われるかを
示す処理回数と、処理の繰返回数とを記憶する領域を備
えている。段数制御部303は、排他的論理和部102
から入力鍵データを受け取り、又はデータ乱数化部30
1から64ビットの乱数化データを受け取る。さらに、
部分鍵データ生成制御部106から制御信号を受け取
る。受け取った制御信号が「1」である場合に、前記繰
返回数を16回とし、受け取った制御信号「0」である
場合に、前記繰返回数を2回とする。また、前記制御信
号を受け取ると、処理回数を0回に初期化する。
【0033】段数制御部303は、入力鍵データ又は乱
数化データを受け取ると、処理回数に1の値を加算し、
加算して得られた処理回数と繰返回数とを比較し、処理
回数と繰返回数とが等しければ、受け取った入力鍵デー
タ又は乱数化データをデータ乱数化部301へ出力し、
繰り返し処理を終了する。処理回数が繰返回数より小さ
ければ、受け取った入力鍵データ又は乱数化データをデ
ータ乱数化部301へ出力し、さらに、上記処理を繰り
返す。
【0034】なお、段数制御部303は、前記繰り返し
のうち、初回においては、受け取った入力鍵データをデ
ータ乱数化部301へ出力する。繰り返しのうち、2回
目以降においては、受け取った乱数化データをデータ乱
数化部301へ出力する。上記のように、段数制御部3
03は、データ乱数化部301に対して、2回又は16
回乱数化処理を繰り返すように制御する。従って、所定
周期Tに対してT×n(n=0、1、・・・)ブロック
目の平文ブロックを暗号化する場合に、繰り返しによ
り、データ乱数化部301は、16個の部分鍵データを
乱数化データ保管部302へ出力し、その他の場合に、
2個の部分鍵データを乱数化データ保管部302へ出力
する。 (c)乱数化データ保管部302 乱数化データ保管部302は、部分鍵データ生成制御部
106から制御信号を受け取る。また、乱数化データ保
管部302は、データ乱数化部301から16個の部分
鍵データを順次受け取り、又は2個の部分鍵データを順
次受け取る。ここで、順次受け取った16個の部分鍵デ
ータをそれぞれSK0 〜SK15とし、順次受け取った2
個の部分鍵データをSK0 及びSK1 とする。次に、乱
数化データ保管部302は、受け取った16個の部分鍵
データSK0 〜SK15又は2個の部分鍵データSK0
びSK1 を記憶する。
【0035】受け取った制御信号が「1」である場合
に、乱数化データ保管部302は、図5(a)に示すよ
うに、記憶している部分鍵データSK0 〜SK15を読み
出して、読み出した部分鍵データSK0 〜SK15をそれ
ぞれ暗号化部100の第1〜第16暗号化部へ出力す
る。また、受け取った制御信号が「0」である場合に、
乱数化データ保管部302は、図5(b)に示すよう
に、記憶している部分鍵データSK0 及びSK1 を読み
出して、SK14=SK12=SK10=SK8 =SK6 =S
4 =SK2 =SK0とし、SK15=SK13=SK11
SK9 =SK7 =SK5 =SK3 =SK1 とし、部分鍵
データSK0 〜SK15をそれぞれ暗号化部100の第1
〜第16暗号化部へ出力する。
【0036】ここで、部分鍵データSK0 〜SK15はそ
れぞれ第1〜第16部分鍵データである。 (9)カウンタ部105 カウンタ部105は、内部にカウント値を記憶する領域
を備えており、カウント値は、初期値0で初期化されて
いる。
【0037】カウンタ部105は、暗号化部100から
1個の平文ブロックの暗号化を完了したことを示す完了
情報を受け取り、完了情報を受け取ると、カウント値に
1を加算する。ここで、カウンタ部105は、カウント
値(210−1)に1を加算すと、カウント値を0に更新
する。 (10)部分鍵データ生成制御部106 部分鍵データ生成制御部106は、カウンタ部105の
カウント値を読み出し、読み出したカウント値が0のと
きには、部分鍵データ生成部101へ制御信号「1」を
出力し、0以外のときには制御信号「0」を出力する。 (11)レジスタ制御部107 レジスタ制御部107は、カウンタ部105のカウント
値を読み出し、読み出したカウンタ部105のカウント
値が0のときには、レジスタ部104へ制御信号「1」
を出力し、カウント値が0以外のときには、制御信号
「0」を出力する。 (12)ブロック結合部109 ブロック結合部109は、暗号化部100から暗号文ブ
ロックCt を順次受け取り、また、ブロック分割部10
8から出力完了を示す情報を受け取る。
【0038】出力完了を示す情報を受け取ると、ブロッ
ク結合部109は、既に受け取った全ての暗号文ブロッ
クCt (t=0、1、2、・・・)を受け取った順序で
結合して、暗号文データCを生成し、生成した暗号文デ
ータCを送信部11へ出力する。 1.3 データ復号化部20の構成 データ復号化部20は、図7に示すように、復号化部2
00と、部分鍵データ生成部201と、排他的論理和部
202と、データ変換部203と、レジスタ部204
と、カウンタ部205と、部分鍵データ生成制御部20
6と、レジスタ制御部207と、ブロック分割部208
と、ブロック結合部209と、鍵取得部210と、鍵記
憶部211とから構成される。
【0039】データ復号化部20の部分鍵データ生成部
201、排他的論理和部202、データ変換部203、
レジスタ部204、カウンタ部205、部分鍵データ生
成制御部206、レジスタ制御部207、鍵取得部21
0及び鍵記憶部211は、それぞれ、データ暗号化部1
0の部分鍵データ生成部101、排他的論理和部10
2、データ変換部103、レジスタ部104、カウンタ
部105、部分鍵データ生成制御部106、レジスタ制
御部107、鍵取得部110及び鍵記憶部111と同様
の構成を有するので、以下において、異なる点を中心に
して説明する。 (1)ブロック分割部208 ブロック分割部208は、受信部21から暗号文データ
Cを受け取り、受け取った暗号文データCを複数の暗号
文ブロックCt (t=0、1、2、・・・)に分割す
る。各暗号文ブロックCt は、64ビット長である。ブ
ロック分割部208は、各暗号文ブロックCt を順次復
号化部200へ出力する。
【0040】また、ブロック分割部208は、1つ前の
暗号文ブロックCt-1 を順次レジスタ部204へ出力す
る。なお、初回に暗号文ブロックC0 を復号化部200
へ出力するタイミングにおいては、ブロック分割部20
8は、レジスタ部204へは何も出力しない。全ての暗
号文ブロックの出力が完了すると、ブロック分割部20
8は、出力完了を示す情報をブロック結合部209へ出
力する。 (2)復号化部200 復号化部200は、FEAL暗号方式のデータ復号化部
分を用いるものとする。
【0041】復号化部200は、第1〜第16復号化部
(図示していない)を含んでいる。第1復号化部は、ブ
ロック分割部208から暗号文ブロックCt を受け取
り、部分鍵データ生成部201から第1部分鍵データS
0 を受け取る。第1部分鍵データSK0 は、32ビッ
ト長である。第1復号化部は、第1部分鍵データSK 0
を用いて、受け取った前記暗号文ブロックCt に復号化
変換を施して第1中間ブロックを生成し、生成した第1
中間ブロックを第2復号化部へ出力する。
【0042】ここで、復号化変換は、FEAL暗号方式
のデータ復号化部分を用いるものとする。第2〜第15
復号化部は、それぞれ、第1〜第14復号化部から第1
〜第14中間ブロックを受け取り、部分鍵データ生成部
201から第2〜第15部分鍵データSK1 〜SK14
受け取る。第2〜第15部分鍵データSK1 〜SK
14は、それぞれ32ビット長である。第2〜第15復号
化部は、それぞれ、第2〜第15部分鍵データSK1
SK14を用いて、受け取った前記第1〜第14中間ブロ
ックに復号化変換を施して第2〜第15中間ブロックを
生成し、生成した第2〜第15中間ブロックを第3〜第
16復号化部へ出力する。
【0043】第16復号化部は、第15復号化部から第
15中間ブロックを受け取り、部分鍵データ生成部20
1から第16部分鍵データSK15を受け取る。第16部
分鍵データは、32ビット長である。第16復号化部
は、第16部分鍵データSK15を用いて、受け取った前
記第15中間ブロックに復号化変換を施して平文ブロッ
クDt を生成する。 (式14) Dt =Dec(Ct 、SK1t ) ここで、Dec(Ct 、SK1t )は、暗号文ブロック
t を、t番目の復号において生成された部分鍵データ
の集合SK1t (SK0 〜SK15)を用いて復号化する
ことを示す。
【0044】第16復号化部は、生成した平文ブロック
t をブロック結合部209へ出力する。復号化部10
0は、生成した平文ブロックDt をブロック結合部20
9へ出力すると、1個の平文ブロックの復号化を完了し
たことを示す完了情報をカウンタ部205へ出力する。 (3)カウンタ部205 カウンタ部205は、復号化部200から1個の暗号文
ブロックCt の復号化を完了したことを示す完了情報を
受け取り、完了情報を受け取ると、カウント値に1を加
算する。 (4)レジスタ部204 レジスタ部204は、64ビット長の初期値IVと64
ビット長の保管データを記憶する領域を備えており、あ
らかじめ保管データとして初期値IVを記憶している。
【0045】レジスタ部204は、ブロック分割部20
8から一つ前の暗号文ブロックCt- 1 を受け取る。ま
た、レジスタ部204は、レジスタ制御部207から制
御信号を受け取る。受け取った制御信号が「0」である
場合に、ブロック分割部208から暗号文ブロックC
t-1 を受け取ったときに、復号化部200でのデータ復
号化処理が終わり、平文ブロックDt-1 が出力された後
に、保管データとして受け取った前記暗号文ブロックC
t-1 を記憶する。受け取った制御信号が「1」である場
合に、初期値IVを読み出し、読み出した初期値IVを
保管データとして記憶する。
【0046】言い換えると、レジスタ部204は、T×
n(n=0、1、・・・)ブロック目の平文ブロックを
復号化する場合に、レジスタの内容を予め設定されてい
る初期値IVで初期化する。その他の場合に、一つ前の
暗号文ブロックCt-1 を保管する。なお、Tは、既に述
べたように、予め定められた所定周期である。 (5)ブロック結合部209 ブロック結合部209は、復号化部200から平文ブロ
ックDt を順次受け取り、また、ブロック分割部208
から出力完了を示す情報を受け取る。
【0047】出力完了を示す情報を受け取ると、ブロッ
ク結合部209は、既に受け取った全ての平文ブロック
t (t=0、1、2、・・・)を受け取った順序で結
合して、平文データDを生成し、生成した平文データD
を復号文データ記憶部22へ書き込む。 (6)データ変換部203 データ変換部203は、レジスタ部204から64ビッ
ト長の保管データを読み出す。復号化部100が、t個
目の暗号文ブロックCt を復号化するときには、以下に
示す64ビットの保管データR1t を読み出す。 (式8) t≠T×k(k=0、1、・・・)の場合 R1t =Ct-1 (式9) t=T×k(k=0、1、・・・)の場合 R1t =IV 次に、データ変換部203は、読み出した保管データR
t に対して所定のデータ変換処理fを施し、 (式10) S1t =f(R1t ) を生成する。
【0048】ここで、f(X)は入力データXに対し
て、データ変換部203でのデータ変換処理fを行った
結果の値を表す。 (7)排他的論理和部202 排他的論理和部202は、データ変換部203から64
ビットデータS1t を受け取り、入力鍵データIK1t
を生成する。 (式11) IK1t =S1t (+)EK (8)部分鍵データ生成部201 部分鍵データ生成部201は、16個の32ビットの部
分鍵データ(第1〜第16部分鍵データSK0 〜S
15)を生成する。 (式12) t≠T×k(k=0、1、・・・)の場合 SK1t =KGB(IK1t ) ここで、KGB(X)は、入力鍵データXに基づいて、
タイプBの部分鍵生成処理により生成された16個の部
分鍵データを示す。ここで、前記16個の部分鍵データ
は、2種類の部分鍵データからなる。 (式13) t=T×k(k=0、1、・・・)の場合 SK1t=KGA(IK1t) ここで、KGA(X)は、入力鍵データXに基づいて、
タイプAの部分鍵生成処理により生成された16個の部
分鍵データを示す。ここで、前記16個の部分鍵データ
は、それぞれ異なる。 2 暗号通信システム5の動作 暗号通信システム5の動作について説明する。 2.1 送信装置1の動作 送信装置1の動作について説明する。 (1)送信装置1全体の概要動作 送信装置1全体の概要動作について、図8に示すフロー
チャートを用いて説明する。
【0049】カウンタ部105は、カウント値を0に設
定し、レジスタ部104は、保管データを初期値IVに
設定し、ブロック分割部108は、平文データ記憶部1
2から平文データを読み出し(ステップS101)、鍵
取得部110は、暗号化鍵データ記憶部13から暗号化
鍵データを読み出し、読み出した暗号化鍵データを鍵記
憶部111へ書き込み(ステップS102)、ブロック
分割部108は、読み出した平文データを複数の平文ブ
ロックに分割する(ステップS103)。
【0050】ブロック分割部108は、各平文ブロック
を暗号化部100へ出力し、暗号化部100は、ブロッ
ク分割部108から平文ブロックを受け取り、受け取っ
た平文ブロックを暗号化して暗号文ブロックを生成し、
生成した暗号文ブロックをブロック結合部109へ出力
する(ステップS104)。全ての平文ブロックの暗号
化が完了していなければ(ステップS105)、ステッ
プS104へ戻る。
【0051】ブロック分割部108は、全ての平文ブロ
ックの出力が完了すると(ステップS105)、出力完
了を示す情報をブロック結合部109へ出力し、ブロッ
ク結合部109は、既に受け取った全ての暗号文ブロッ
クを受け取った順序で結合して、暗号文データを生成
し、生成した暗号文データを送信部11へ出力する(ス
テップS106)。
【0052】送信部11は、暗号文データを受け取り、
受け取った暗号文データに対して並列to直列変換、変
調及び増幅を施して信号を生成し、生成した信号を伝送
路3を介して受信装置2へ送信する(ステップS10
7)。 (2)データ暗号化部10の動作 データ暗号化部10の動作について、図9に示すフロー
チャートを用いて説明する。
【0053】データ変換部103は、レジスタ部104
から64ビット長の保管データを読み出し(ステップS
121)、読み出した保管データに対して所定のデータ
変換処理を施し、変換結果の64ビットデータを排他的
論理和部102へ出力する(ステップS122)。排他
的論理和部102は、データ変換部103から64ビッ
トデータを受け取り、鍵記憶部111から暗号化鍵デー
タを読み出し、受け取った前記64ビットデータと読み
出した前記暗号化鍵データとに対して、ビット毎に排他
的論理和演算を施して、64ビット長の入力鍵データを
生成し、生成した入力鍵データを部分鍵データ生成部1
01へ出力する(ステップS123)。
【0054】部分鍵データ生成部101は、入力鍵デー
タを用いて複数の部分鍵データを生成し、生成した複数
の部分鍵データを暗号化部100の第1〜第16暗号化
部へそれぞれ出力する(ステップS124)。暗号化部
100は、ブロック分割部108から平文ブロックを受
け取り(ステップS125)、複数の部分鍵データを用
いて平文ブロックを暗号化して暗号化ブロックを生成し
(ステップS126)、カウンタ部105は、カウント
値を加算し(ステップS127)、暗号化部100は、
暗号化ブロックをブロック結合部109へ出力する(ス
テップS128)。
【0055】また、部分鍵データ生成制御部106は、
カウンタ部105のカウント値を読み出し、読み出した
カウント値が0のときには(ステップS141)、部分
鍵データ生成部101へ制御信号「1」を出力し(ステ
ップS143)、0以外のときには(ステップS14
1)、制御信号「0」を出力する(ステップS14
2)。
【0056】また、レジスタ制御部107は、カウンタ
部105のカウント値を読み出し、読み出したカウンタ
部105のカウント値が0のときには(ステップS15
1)、レジスタ部104へ制御信号「1」を出力し(ス
テップS153)、カウント値が0以外のときには(ス
テップS151)、制御信号「0」を出力する(ステッ
プS152)。
【0057】また、レジスタ部104は、レジスタ制御
部107から受け取った制御信号を用いて、記憶処理を
行う(ステップS161)。 (3)カウンタ部105の動作 カウンタ部105の動作について、図10に示すフロー
チャートを用いて説明する。
【0058】カウンタ部105は、暗号化部100から
1個の平文ブロックの暗号化を完了したことを示す完了
情報を受け取ると、カウント値に1を加算する(ステッ
プS181)。加算結果が210となれば(ステップS1
82)、カウント値を0に更新する(ステップS18
3)。 (4)レジスタ部104の動作 レジスタ部104の動作について、図11に示すフロー
チャートを用いて説明する。
【0059】レジスタ部104は、レジスタ制御部10
7から制御信号を受け取り、受け取った制御信号が
「0」である場合に(ステップS201)、第16暗号
化部100dから暗号文ブロックを受け取ったときに、
保管データとして受け取った前記暗号文ブロックを記憶
する(ステップS202)。受け取った制御信号が
「1」である場合に(ステップS201)、初期値IV
を読み出し、読み出した初期値IVを保管データとして
記憶する(ステップS203)。 (5)部分鍵データ生成部101の動作 部分鍵データ生成部101の動作について、図12〜図
13に示すフローチャートを用いて説明する。
【0060】部分鍵データ生成部101の段数制御部3
03は、部分鍵データ生成制御部106から制御信号を
受け取り、受け取った制御信号が「1」である場合に
(ステップS221)、前記繰返回数を16回とし(ス
テップS223)、受け取った制御信号「0」である場
合に(ステップS221)、前記繰返回数を2回とする
(ステップS222)。また、前記制御信号を受け取る
と、処理回数iを0回とする(ステップS224)。
【0061】段数制御部303は、入力鍵データ又は乱
数化データを受け取ると、繰り返しのうち、初回におい
ては(ステップS225)、入力鍵データをデータ乱数
化部301へ出力する(ステップS227)。繰り返し
のうち、2回目以降においては(ステップS225)、
乱数化データをデータ乱数化部301へ出力する(ステ
ップS226)。データ乱数化部301は、データ乱数
化処理を施して部分鍵データと乱数化データとを生成し
(ステップS228)、乱数化データ保管部302は、
部分鍵データを記憶する(ステップS229)。次に、
段数制御部303は、処理回数iに1の値を加算し(ス
テップS230)、加算して得られた処理回数と繰返回
数とを比較し、処理回数が繰返回数より小さければ(ス
テップS231)、ステップS225へ戻って、上記処
理を繰り返す。処理回数と繰返回数とが等しければ(ス
テップS231)、繰り返し処理を終了し、次に、乱数
化データ保管部302は、部分鍵データ生成制御部10
6から制御信号を受け取り、受け取った制御信号が
「1」である場合に(ステップS232)、乱数化デー
タ保管部302は、記憶している部分鍵データSK0
SK15を読み出して、読み出した部分鍵データSK0
SK15をそれぞれ暗号化部100の第1〜第16暗号化
部へ出力する(ステップS235)。また、受け取った
制御信号が「0」である場合に(ステップS232)、
乱数化データ保管部302は、記憶している部分鍵デー
タSK0 及びSK1 を読み出して、SK14=SK12=S
10=SK 8 =SK6 =SK4 =SK2 =SK0 とし、
SK15=SK13=SK11=SK9 =SK7 =SK5 =S
3 =SK1 とし、部分鍵データSK0 〜SK15をそれ
ぞれ暗号化部100の第1〜第16暗号化部へ出力する
(ステップS233〜S234)。 (6)データ乱数化部301の動作 データ乱数化部301の動作について、図14に示すフ
ローチャートを用いて説明する。
【0062】分離部301aは、段数制御部303から
64ビットのデータを受け取り、受け取った64ビット
のデータを上位32ビットのデータA1と下位32ビッ
トのデータA0とに分離し、データA1を排他的論理和
部301b及びデータ攪乱部301cへ出力し、データ
A0を結合部301d及びデータ攪乱部301cへ出力
する(ステップS251)。
【0063】データ攪乱部301cは、分離部301a
からデータA0とデータA1とを受け取り、データA0
とデータA1とに排他的論理和を施して32ビットデー
タを得、得られた32ビットデータを4個の8ビットデ
ータに分離し、各8ビットデータに所定の置換を施し
て、それぞれ8ビットデータを生成し、生成された前記
4個の8ビットデータを結合して32ビットデータを生
成し、生成した32ビットデータ中の特定のビットを他
のビットと入れ換えて新たに32ビットデータC1を生
成して、生成した32ビットデータC1を排他的論理和
部301bへ出力する(ステップS252)。
【0064】排他的論理和部301bは、分離部301
aからデータA0を受け取り、データ攪乱部301cか
ら32ビットデータC1を受け取り、データA0とデー
タC1とに排他的論理和を施して32ビットの部分鍵デ
ータB0を生成し、生成した部分鍵データB0を乱数化
データ保管部302と結合部301dへ出力する(ステ
ップS253)。
【0065】結合部301dは、分離部301aからデ
ータA0を受け取り、排他的論理和部301bから部分
鍵データB0を受け取り、データA0を上位とし、部分
鍵データB0を下位として、データA0と部分鍵データ
B0とを結合して64ビットの乱数化データを生成し、
生成した乱数化データを段数制御部303へ出力する
(ステップS254)。 2.2 受信装置2の動作 受信装置2の動作について説明する。 (1)受信装置2全体の概要動作 受信装置2全体の概要動作は、送信装置1全体の概要動
作と類似しているので、図8に示すフローチャートと対
比して説明する。
【0066】受信装置2の受信部21は、伝送路3を介
して送信装置1の送信部11から信号を受信し、受信し
た信号に対して復調、直列to並列変換を施して、暗号
文を生成し、カウンタ部205は、カウント値を0に設
定し、レジスタ部204は、保管データを初期値IVに
設定し、ブロック分割部208は、受信部21から暗号
文データを受け取り(ステップS101に相当)、鍵取
得部210は、暗号化鍵データ記憶部23から暗号化鍵
データを読み出し、読み出した暗号化鍵データを鍵記憶
部211へ書き込み(ステップS102に相当)、ブロ
ック分割部208は、受け取った暗号文データを複数の
暗号文ブロックに分割する(ステップS103に相
当)。
【0067】ブロック分割部208は、各暗号文ブロッ
クを順次復号化部200へ出力し、復号化部200は、
ブロック分割部208から暗号文ブロックを受け取り、
受け取った暗号文ブロックを復号化して平文ブロックを
生成し、生成した平文ブロックをブロック結合部209
へ出力する(ステップS104に相当)。全ての暗号文
ブロックの暗号化が完了していなければ(ステップS1
05に相当)、再度復号を繰り返す。
【0068】ブロック分割部208は、全ての暗号文ブ
ロックの出力が完了すると(ステップS105に相
当)、出力完了を示す情報をブロック結合部209へ出
力し、ブロック結合部209は、既に受け取った全ての
平文ブロックを受け取った順序で結合して、平文データ
を生成し(ステップS106に相当)、生成した平文デ
ータを復号文データ記憶部22へ書き込む(ステップS
107に相当)。 (2)データ復号化部20の動作 データ復号化部20の動作は、データ暗号化部10の動
作と類似しているので、図9に示すフローチャートと対
比して説明する。
【0069】データ変換部203は、レジスタ部204
から64ビット長の保管データを読み出し(ステップS
121に相当)、読み出した保管データに対して所定の
データ変換処理を施し、変換結果の64ビットデータを
排他的論理和部202へ出力する(ステップS122に
相当)。排他的論理和部202は、データ変換部203
から64ビットデータを受け取り、鍵記憶部211から
暗号化鍵データを読み出し、受け取った前記64ビット
データと読み出した前記暗号化鍵データとに対して、ビ
ット毎に排他的論理和演算を施して、64ビット長の入
力鍵データを生成し、生成した入力鍵データを部分鍵デ
ータ生成部201へ出力する(ステップS123に相
当)。
【0070】部分鍵データ生成部201は、入力鍵デー
タを用いて複数の部分鍵データを生成し、生成した複数
の部分鍵データを復号化部200の第1〜第16復号化
部へそれぞれ出力する(ステップS124に相当)。復
号化部200は、ブロック分割部208から暗号文ブロ
ックを受け取り(ステップS125に相当)、複数の部
分鍵データを用いて暗号文ブロックを復号化して平文ブ
ロックを生成し(ステップS126に相当)、カウンタ
部205は、カウント値を加算し(ステップS127に
相当)、復号化部200は、平文ブロックをブロック結
合部209へ出力する(ステップS128に相当)。
【0071】また、部分鍵データ生成制御部206の動
作は、図9のフローチャートのステップS141〜S1
43に示す部分鍵データ生成制御部106の動作と同じ
であるので、説明を省略する。また、レジスタ制御部2
07の動作は、図9のフローチャートのステップS15
1〜S153に示すレジスタ制御部107の動作と同じ
であるので、説明を省略する。
【0072】また、レジスタ部204は、レジスタ制御
部207から受け取った制御信号を用いて、記憶処理を
行う(図9のフローチャートのステップS161と同
じ)。 (3)カウンタ部205の動作 カウンタ部205の動作は、カウンタ部105の動作と
類似しているので、図10に示すフローチャートと対比
して説明する。
【0073】カウンタ部205は、復号化部200から
1個の暗号文ブロックの復号化を完了したことを示す完
了情報を受け取ると、カウント値に1を加算する(ステ
ップS181に相当)。加算結果が210となれば(ステ
ップS182に相当)、カウント値を0に更新する(ス
テップS183に相当)。 (4)レジスタ部204の動作 レジスタ部204の動作は、レジスタ部104の動作と
類似しているので、図11に示すフローチャートと対比
して説明する。
【0074】レジスタ部204は、レジスタ制御部20
7から制御信号を受け取り、受け取った制御信号が
「0」である場合に(ステップS201に相当)、ブロ
ック分割部208から1つ前の暗号文ブロックを受け取
ったときに、保管データとして受け取った前記暗号文ブ
ロックを記憶する(ステップS202に相当)。受け取
った制御信号が「1」である場合に(ステップS201
に相当)、初期値IVを読み出し、読み出した初期値I
Vを保管データとして記憶する(ステップS203に相
当)。 (5)部分鍵データ生成部201の動作 部分鍵データ生成部201の動作は、部分鍵データ生成
部101の動作と類似している。図12〜図13に示す
フローチャートとの相違点を中心として説明する。
【0075】ステップS235において、乱数化データ
保管部302は、記憶している部分鍵データSK0 〜S
15を読み出して、部分鍵データSK0 〜SK15をそれ
ぞれ復号化部200の第1〜第16復号化部へ出力す
る。また、ステップS233〜S234において、乱数
化データ保管部302は、記憶している部分鍵データS
0 及びSK1 を読み出して、SK14=SK12=SK10
=SK8 =SK6 =SK4 =SK2 =SK0 とし、SK
15=SK13=SK11=SK9 =SK7 =SK5 =SK3
=SK1 とし、部分鍵データSK0 〜SK15をそれぞれ
復号化部200の第1〜第16復号化部へ出力する。 (6)データ乱数化部301の動作 部分鍵データ生成部201のデータ乱数化部301の動
作は、図14のフローチャートに示す部分鍵データ生成
部101のデータ乱数化部301の動作と同じであるの
で説明を省略する。 3 平文と復号文との一致 データ暗号化部10により64ビットの暗号化鍵データ
を用いて平文ブロック列P0 、P1 、・・・を暗号化し
て得られた暗号文ブロック列C0 、C1 、・・・を、デ
ータ復号化部20により前記暗号化鍵データと同一の6
4ビットの暗号化鍵データを用いて復号して得られた平
文ブロック列D0 、D1 、・・・は、平文ブロック列P
0 、P1 、・・・に等しくなる。次にそのことを示す。
【0076】(式1)及び(式2)並びに(式8)及び
(式9)より、 (式15) R0t =R1t (t=0、1、・・・) が成り立つ。(式15)並びに(式3)及び(式10)
から、 (式16) S0t =S1t (t=0、1、・・・) が成り立つ。次に、(式16)並びに(式4)及び(式
11)とから、 (式17) IK0t =IK1t (t=0、1、・・・) が成り立つ。よって、この(式17)、(式5)及び
(式6)、並びに(式12)及び(式13)から (式18) SK0t =SK1t (t=0、1、・・・) が成り立つ。ここで、(式7)及び(式14)から、 (式19) Dt =Dec(Enc(Pt 、SK0t )、SK1t ) (t=0、1、・・・) が成り立つが、Enc,Decについては、任意の64
ビットデータα,βについて、以下のような関係式(式
20)が成り立つ。 (式20) α=Dec(Enc(α、β)、β) よって、(式19)、(式20)及び(式18)から、 Dt =Pt が成り立つことがいえる。 4 安全性と暗号化処理速度性能の評価 (1)安全性の評価 本実施の形態において、t≠(210)×k(k=0、
1、・・・)なる平文ブロックPt の暗号化では、暗号
化部100に入力される32ビット×16の部分鍵デー
タSK0 、・・・、SK15については、SK0 =SK0
=・・・=SK14及びSK1 =SK3 =・・・=SK15
であることから、SK0 、SK1 、・・・、SK15の値
がすべて異なる従来例の場合と比べて既知平文攻撃に対
する安全性は弱くなる。
【0077】しかしながら、しかし、それらの平文ブロ
ックの暗号化で用いられる入力鍵データIK0tは、 IK0t=EK(+)Ct-1 となり、その中で同じIK0tを用いて暗号化されてい
る平文ブロックを大量に収集することは、Ct-1 が264
通りの値を取りうることからほとんど不可能に近いとい
える。よって、この方法による既知平文攻撃は成功しな
い。
【0078】また、t=(210)×k(k=0、1、・
・・)なる平文ブロックPt の暗号化では、暗号化部1
00に入力される32ビット×16の部分鍵データSK
0 、・・・、SK15は、全て異なる値となるように生成
されるので、この方法による既知平文攻撃の安全性は、
従来例の場合と全く同じになる。 (2)暗号化処理速度性能の評価 次にデータ暗号化部10の暗号化処理速度性能について
述べる。
【0079】t≠(210)×k(k=0、1、・・・)
なる平文ブロックPt の暗号化では、部分鍵データ生成
部101は、実質は32ビット×2の部分鍵データを生
成する簡便な処理によって部分鍵生成データ32ビット
×16を生成しているので、各ブロック毎に部分鍵デー
タを生成することによる、暗号化処理速度の低下は、従
来例の場合よりも少なくて済む。 5 その他の変形例 なお、本発明を上記の実施の形態に基づいて説明してき
たが、本発明は上記の実施の形態に限定されないのはも
ちろんである。以下のような場合も本発明に含まれる。 (1)本実施の形態においては、排他的論理和部102
(202)は、データ変換部103(203)の64ビ
ット出力データと、暗号化鍵データとの融合手段とし
て、ビット毎の排他的論理和演算を用いているが、これ
はビット毎の排他的論理和でなくても、同様な効果が得
られる。 (2)本実施の形態においては、データ変換部103
(203)から出力される変換データは64ビットとし
ているが、これは64ビットである必要はない。例え
ば、暗号化鍵データが56ビットである場合には、出力
データが56ビットとなるようなデータ変換部を用いれ
ば良い。 (3)本実施の形態においては、レジスタ部104(2
04)に1つ前の暗号化で生成される暗号文データを入
力しているが、これは1つ前の暗号化の処理過程で得ら
れる64ビットの値であれば何でもよい。例えば、暗号
化の処理過程で得られる第1中間ブロック、第2中間ブ
ロックなどを用いるとしてもよい。さらにこの値は、6
4ビットである必要はなく、64ビット以下、例えば4
0ビットであってもよい。この場合には、データ変換部
103(203)は、40ビットのデータを受け取り、
データ変換を施して40ビットのデータを生成し、鍵記
憶部111は、40ビットの暗号化鍵データを記憶し、
排他的論理和部102は、40ビットのデータと40ビ
ットのデータとの間に排他的論理和を施して40ビット
の入力鍵データを生成し、部分鍵データ生成部101
は、16個の20ビットの部分鍵データを生成し、暗号
化部100の第1〜第16暗号化部は、暗号化におい
て、それぞれ20ビットの部分鍵データを用いるとして
もよい。 (4)本実施の形態においては、暗号化部100におい
て、FEAL暗号方式を用いているが、これはブロック
暗号方式であれば何でもよい。例えば、DES(Dat
a Encryption Standard)暗号方
式である。
【0080】また、部分鍵データ生成部101は、本実
施形態に用いた構成に限定されるものではなく、64ビ
ットの入力鍵データから、32ビット×16の部分鍵デ
ータを生成するものであればよい。 (5)部分鍵データ生成部101で用いる異なる2種類
の暗号化処理は、本実施の形態に用いた様な乱数化の処
理量を異ならせる構成に限定されるものではなく、制御
信号“1”が入力された時に選択される暗号化処理が、
制御信号“0”が入力された時に選択される暗号化処理
よりも処理負荷の大きいものであれば何でもよい。
【0081】例えば、部分鍵データ生成部は、2個の部
分鍵データを作成する代わりに、16個の部分鍵データ
の前半16ビットを異なるものとして作成し、後半16
ビットは、作成された前半16ビットを基にして作成し
てもよい。このようにしても、鍵生成の負荷を軽減する
ことができる。また、部分鍵データ生成部は、2個の部
分鍵データを作成する代わりに、3個、4個、5個な
ど、16個より少ない部分鍵データを作成し、暗号化部
の第1〜第16暗号化部は、それぞれ、これらの16個
より少ない部分鍵データのいずれれかを用いるとしても
よい。 (6)カウンタ部105(205)はカウント値(210
−1)を0に更新するものとしているが、これは、(2
10−1)という値に制限されるものではなく、任意の正
の整数であれば何でもよいし、0への更新を行わなくて
もよい。
【0082】また、本実施の形態では、64ビットの暗
号化鍵データを装置内に保管しているが、最初の暗号化
に用いる64ビットの暗号化鍵データだけを最初に保管
しておき、残りの各平文ブロックの暗号化で用いられる
入力鍵データを平文ブロックとともに、暗号化して伝送
するようにしてもよい。また、入力鍵データを更新する
度に、例えば、Diffie−Hellman方式など
の公開鍵暗号方式を用いて、入力鍵データデータを配送
し、共有するようにしてもよい。 (7)本発明は、上記に示す方法であるとしてもよい。
また、これらの方法をコンピュータにより実現するコン
ピュータプログラムであるとしてもよいし、前記コンピ
ュータプログラムからなるデジタル信号であるとしても
よい。
【0083】また、本発明は、前記コンピュータプログ
ラム又は前記デジタル信号をコンピュータ読み取り可能
な記録媒体、例えば、フロッピー(登録商標)ディス
ク、ハードディスク、CD―ROM、MO、DVD、D
VD−ROM、DVD−RAM、半導体メモリなど、に
記録したものとしてもよい。また、これらの記録媒体に
記録されている前記コンピュータプログラム又は前記デ
ジタル信号であるとしてもよい。
【0084】また、本発明は、前記コンピュータプログ
ラム又は前記デジタル信号を、電気通信回線、無線又は
有線通信回線、インターネットを代表とするネットワー
ク等を経由して伝送するものとしてもよい。また、本発
明は、マイクロプロセッサとメモリとを備えたコンピュ
ータシステムであって、前記メモリは、上記コンピュー
タプログラムを記憶しており、前記マイクロプロセッサ
は、前記コンピュータプログラムに従って動作するとし
てもよい。
【0085】また、前記プログラム又は前記デジタル信
号を前記記録媒体に記録して移送することにより、又は
前記プログラム又は前記デジタル信号を前記ネットワー
ク等を経由して移送することにより、独立した他のコン
ピュータシステムにより実施するとしてもよい。 (8)上記実施の形態及び上記変形例をそれぞれ組み合
わせるとしてもよい。
【0086】
【発明の効果】上記の目的を達成するために、本発明
は、複数のブロックから構成される平文データを暗号化
する暗号化装置で用いられる暗号化方法であって、前記
暗号化装置は、ブロック取得手段と、判断手段と、鍵生
成手段と、暗号化手段とを備え、前記ブロック取得手段
により、外部から繰り返し順次ブロックを取得するブロ
ック取得ステップと、前記判断手段により、ブロックの
取得回数に応じて、第1状態か又は第2状態かを判断す
る判断ステップと、前記鍵生成手段により、第1状態と
判断される場合に、所定数のそれぞれ異なる部分鍵から
構成される第1群を生成し、第2状態と判断される場合
に、前記所定数より少ない数のそれぞれ異なる部分鍵か
ら構成される第2群を生成する鍵生成ステップと、前記
暗号化手段により、取得したブロックを、前記所定数の
変換過程を順次介して、暗号化する暗号化ステップとを
含み、前記暗号化ステップは、第1状態と判断される場
合に、前記所定数の変換過程はそれぞれ前記第1群を構
成する複数の部分鍵に対応し、前記所定数の変換過程の
それぞれにおいて、前記第1群内の対応する部分鍵を用
い、第2状態と判断される場合に、前記所定数の変換過
程のそれぞれは、前記第2群を構成する複数の部分鍵の
いずれかに対応し、前記所定数の変換過程のそれぞれに
おいて、前記第2群内の対応する部分鍵を用いる。
【0087】この方法によると、第2状態において、第
1状態において生成する部分鍵の数より少ない部分鍵を
生成するので、ブロック毎の暗号化において、処理速度
の低下を抑えることができるという効果がある。ここ
で、前記暗号化方法において、前記判断ステップは、前
記取得回数が、所定の周期数の倍数である場合に、第1
状態であると判断し、その他の場合に、第2状態である
と判断するように構成してもよい。
【0088】この方法によると、前記取得回数が、所定
の周期数の倍数である場合に、第1状態であると判断
し、その他の場合に、第2状態であると判断するので、
ブロック毎の暗号化において、第2状態が生成される頻
度は、第1状態が生成される頻度より多くなる。これに
より、複数のブロックから構成される平文全体の暗号化
において、処理速度の低下を抑えることができるという
効果がある。
【0089】ここで、前記暗号化装置は、鍵初期値を記
憶している初期値記憶手段を含み、前記暗号化方法にお
いて、前記暗号化ステップは、取得したブロックを、前
記所定数の変換過程を順次介して、変換して暗号化ブロ
ックを生成し、前記鍵生成ステップは、第1状態と判断
される場合に、前記鍵初期値を用いて前記第1群を生成
し、第2状態と判断される場合に、前記鍵初期値と直前
に生成された暗号化ブロックとを用いて前記第2群を生
成するように構成してもよい。
【0090】この方法によると、平文ブロック毎に異な
る鍵データを用いて平文ブロックを暗号化するので、同
一の鍵で暗号化された平文−暗号文のペアを集めること
は困難となり、差分解読法や線形解読法などの既知平文
攻撃に対する安全性が強化されるという効果がある。ま
た、本発明は、複数の暗号文ブロックから構成される暗
号文データを復号化する復号化装置で用いられる復号化
方法であって、前記復号化装置は、ブロック取得手段
と、判断手段と、鍵生成手段と、復号化手段とを備え、
前記ブロック取得手段により、外部から繰り返し順次暗
号文ブロックを取得するブロック取得ステップと、前記
判断手段により、暗号文ブロックの取得回数に応じて、
第1状態か又は第2状態かを判断する判断ステップと、
前記鍵生成手段により、第1状態と判断される場合に、
所定数のそれぞれ異なる部分鍵から構成される第1群を
生成し、第2状態と判断される場合に、前記所定数より
少ない数のそれぞれ異なる部分鍵から構成される第2群
を生成する鍵生成ステップと、前記復号化手段により、
取得した暗号文ブロックを、前記所定数の変換過程を順
次介して、復号化する復号化ステップとを含み、前記復
号化ステップは、第1状態と判断される場合に、前記所
定数の変換過程はそれぞれ前記第1群を構成する複数の
部分鍵に対応し、前記所定数の変換過程のそれぞれにお
いて、前記第1群内の対応する部分鍵を用い、第2状態
と判断される場合に、前記所定数の変換過程のそれぞれ
は、前記第2群を構成する複数の部分鍵のいずれかに対
応し、前記所定数の変換過程のそれぞれにおいて、前記
第2群内の対応する部分鍵を用いるように構成してもよ
い。
【0091】この方法によると、第2状態において、第
1状態において生成する部分鍵の数より少ない部分鍵を
生成するので、暗号文ブロック毎の復号化において、処
理速度の低下を抑えることができるという効果がある。
ここで、前記復号化方法において、前記判断ステップ
は、前記取得回数が、所定の周期数の倍数である場合
に、第1状態であると判断し、その他の場合に、第2状
態であると判断するように構成してもよい。
【0092】この方法によると、前記取得回数が、所定
の周期数の倍数である場合に、第1状態であると判断
し、その他の場合に、第2状態であると判断するので、
暗号文ブロック毎の復号化において、第2状態が生成さ
れる頻度は、第1状態が生成される頻度より多くなる。
これにより、複数の暗号文ブロックから構成される暗号
文全体の復号化において、処理速度の低下を抑えること
ができるという効果がある。
【0093】ここで、前記復号化装置は、鍵初期値を記
憶している初期値記憶手段を含み、前記鍵生成ステップ
は、第1状態と判断される場合に、前記鍵初期値を用い
て前記第1群を生成し、第2状態と判断される場合に、
前記鍵初期値と直前に取得した暗号化ブロックとを用い
て前記第2群を生成するように構成してもよい。この方
法によると、暗号文ブロック毎に異なる鍵データを用い
て暗号文ブロックを復号化するので、同一の鍵で暗号化
された暗号文−復号文のペアを集めることは困難とな
り、差分解読法や線形解読法などの既知平文攻撃に対す
る安全性が強化されるという効果がある。
【0094】このように、本発明は、従来と同程度の安
全性を確保しながら、従来よりも高速な暗号処理を実現
するものであり、特にマルチメディア技術の進展が望ま
れる今日における画像情報等のリアルタイム秘密通信等
に好適であり、その実用効果は極めて大きい。
【図面の簡単な説明】
【図1】本発明の1の実施の形態としての暗号通信シス
テム5の構成を示すブロック図でる。
【図2】送信装置1のデータ暗号化部10の構成を示す
ブロック図である。
【図3】暗号化部100及び部分鍵データ生成部101
の構成を示すブロック図である。
【図4】データ乱数化部301の構成を示すブロック図
である。
【図5】部分鍵データ生成部101により生成された複
数の部分鍵データが暗号化部100の第1〜第16暗号
化部のいずれにより用いられるかを示す概念図である。 (a)部分鍵生成タイプがAの場合を示す。 (b)部分鍵生成タイプがBの場合を示す。
【図6】カウント値と入力鍵データと部分鍵生成タイプ
との対応を示す。
【図7】受信装置2のデータ復号化部20の構成を示す
ブロック図である。
【図8】送信装置1の全体の概要動作を示すフローチャ
ートである。
【図9】送信装置1のデータ暗号化部10の動作を示す
フローチャートである。
【図10】データ暗号化部10のカウンタ部105の動
作を示すフローチャートである。
【図11】データ暗号化部10のレジスタ部104の動
作を示すフローチャートである。
【図12】データ暗号化部10の部分鍵データ生成部1
01の動作を示すフローチャートである。図13に続
く。
【図13】データ暗号化部10の部分鍵データ生成部1
01の動作を示すフローチャートである。図12から続
く。
【図14】部分鍵データ生成部101のデータ乱数化部
301の動作を示すフローチャートである。
【符号の説明】
1 送信装置 2 受信装置 3 伝送路 5 暗号通信システム 10 データ暗号化部 11 送信部 12 平文データ記憶部 13 暗号化鍵データ記憶部 20 データ復号化部 21 受信部 22 復号文データ記憶部 23 暗号化鍵データ記憶部 100 暗号化部 100 復号化部 101 部分鍵データ生成部 102 排他的論理和部 103 データ変換部 104 レジスタ部 105 カウンタ部 106 部分鍵データ生成制御部 107 レジスタ制御部 108 ブロック分割部 109 ブロック結合部 110 鍵取得部 111 鍵記憶部 200 復号化部 201 部分鍵データ生成部 202 排他的論理和部 203 データ変換部 204 レジスタ部 205 カウンタ部 206 部分鍵データ生成制御部 207 レジスタ制御部 208 ブロック分割部 209 ブロック結合部 210 鍵取得部 211 鍵記憶部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大森 基司 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 佐野 文彦 東京都府中市東芝町1番地 株式会社東 芝 府中工場内 (72)発明者 遠藤 直樹 東京都府中市東芝町1番地 株式会社東 芝 府中工場内 (56)参考文献 特開2001−13870(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 610

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のブロックから構成される平文デー
    タを暗号化する暗号化装置で用いられる暗号化方法であ
    って、前記暗号化装置は、ブロック取得手段と、判断手段と、
    鍵生成手段と、暗号化手段とを備え、 前記ブロック取得手段により、 外部から繰り返し順次ブ
    ロックを取得するブロック取得ステップと、前記判断手段により、 ブロックの取得回数に応じて、第
    1状態か又は第2状態かを判断する判断ステップと、前記鍵生成手段により、 第1状態と判断される場合に、
    所定数のそれぞれ異なる部分鍵から構成される第1群を
    生成し、第2状態と判断される場合に、前記所定数より
    少ない数のそれぞれ異なる部分鍵から構成される第2群
    を生成する鍵生成ステップと、前記暗号化手段により、 取得したブロックを、前記所定
    数の変換過程を順次介して、暗号化する暗号化ステップ
    とを含み、 前記暗号化ステップは、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いることを特徴
    とする暗号化方法。
  2. 【請求項2】 前記暗号化方法において、 前記判断ステップは、前記取得回数が、所定の周期数の
    倍数である場合に、第1状態であると判断し、その他の
    場合に、第2状態であると判断することを特徴とする請
    求項1に記載の暗号化方法。
  3. 【請求項3】 前記暗号化装置は、鍵初期値を記憶して
    いる初期値記憶手段を含み、 前記暗号化方法において、 前記暗号化ステップは、取得したブロックを、前記所定
    数の変換過程を順次介して、変換して暗号化ブロックを
    生成し、 前記鍵生成ステップは、第1状態と判断される場合に、
    前記鍵初期値を用いて前記第1群を生成し、第2状態と
    判断される場合に、前記鍵初期値と直前に生成された暗
    号化ブロックとを用いて前記第2群を生成することを特
    徴とする請求項1に記載の暗号化方法。
  4. 【請求項4】 複数のブロックから構成される平文デー
    タを暗号化する暗号化装置であって、 外部から繰り返し順次ブロックを取得するブロック取得
    手段と、 ブロックの取得回数に応じて、第1状態か又は第2状態
    かを判断する判断手段と、 第1状態と判断される場合に、所定数のそれぞれ異なる
    部分鍵から構成される第1群を生成し、第2状態と判断
    される場合に、前記所定数より少ない数のそれぞれ異な
    る部分鍵から構成される第2群を生成する鍵生成手段
    と、 取得したブロックを、前記所定数の変換過程を順次介し
    て、暗号化する暗号化手段とを含み、 前記暗号化手段は、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いることを特徴
    とする暗号化装置。
  5. 【請求項5】 複数のブロックから構成される平文デー
    タを暗号化するコンピュータで用いられる暗号化プログ
    ラムを記録しているコンピュータ読み取り可能な記録媒
    体であって、前記コンピュータは、ブロック取得手段と、判断手段
    と、鍵生成手段と、暗号化手段とを備え、 前記暗号化プログラムは、前記ブロック取得手段により、 外部から繰り返し順次ブ
    ロックを取得するブロック取得ステップと、前記判断手段により、 ブロックの取得回数に応じて、第
    1状態か又は第2状態かを判断する判断ステップと、前記鍵生成手段により、 第1状態と判断される場合に、
    所定数のそれぞれ異なる部分鍵から構成される第1群を
    生成し、第2状態と判断される場合に、前記所定数より
    少ない数のそれぞれ異なる部分鍵から構成される第2群
    を生成する鍵生成ステップと、前記暗号化手段により、 取得したブロックを、前記所定
    数の変換過程を順次介して、暗号化する暗号化ステップ
    とを含み、 前記暗号化ステップは、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いることを特徴
    とする記録媒体。
  6. 【請求項6】 複数の暗号文ブロックから構成される暗
    号文データを復号化する復号化装置で用いられる復号化
    方法であって、前記復号化装置は、ブロック取得手段と、判断手段と、
    鍵生成手段と、復号化手段とを備え、 前記ブロック取得手段により、 外部から繰り返し順次暗
    号文ブロックを取得するブロック取得ステップと、前記判断手段により、 暗号文ブロックの取得回数に応じ
    て、第1状態か又は第2状態かを判断する判断ステップ
    と、前記鍵生成手段により、 第1状態と判断される場合に、
    所定数のそれぞれ異なる部分鍵から構成される第1群を
    生成し、第2状態と判断される場合に、前記所定数より
    少ない数のそれぞれ異なる部分鍵から構成される第2群
    を生成する鍵生成ステップと、前記復号化手段により、 取得した暗号文ブロックを、前
    記所定数の変換過程を順次介して、復号化する復号化ス
    テップとを含み、 前記復号化ステップは、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いるを特徴とす
    る復号化方法。
  7. 【請求項7】 前記復号化方法において、 前記判断ステップは、前記取得回数が、所定の周期数の
    倍数である場合に、第1状態であると判断し、その他の
    場合に、第2状態であると判断するを特徴とする請求項
    6に記載の復号化方法。
  8. 【請求項8】 前記復号化装置は、鍵初期値を記憶して
    いる初期値記憶手段を含み、 前記鍵生成ステップは、第1状態と判断される場合に、
    前記鍵初期値を用いて前記第1群を生成し、第2状態と
    判断される場合に、前記鍵初期値と直前に取得した暗号
    化ブロックとを用いて前記第2群を生成するを特徴とす
    る請求項6に記載の復号化方法。
  9. 【請求項9】 複数の暗号文ブロックから構成される暗
    号文データを復号化する復号化装置であって、 外部から繰り返し順次暗号文ブロックを取得するブロッ
    ク取得手段と、 暗号文ブロックの取得回数に応じて、第1状態か又は第
    2状態かを判断する判断手段と、 第1状態と判断される場合に、所定数のそれぞれ異なる
    部分鍵から構成される第1群を生成し、第2状態と判断
    される場合に、前記所定数より少ない数のそれぞれ異な
    る部分鍵から構成される第2群を生成する鍵生成手段
    と、 取得した暗号文ブロックを、前記所定数の変換過程を順
    次介して、復号化する復号化手段とを含み、 前記復号化手段は、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いることを特徴
    とする復号化装置。
  10. 【請求項10】 複数の暗号文ブロックから構成される
    暗号文データを復号化するコンピュータで用いられる復
    号化プログラムを記録しているコンピュータ読み取り可
    能な記録媒体であって、前記コンピュータは、ブロック取得手段と、判断手段
    と、鍵生成手段と、復号化手段とを備え、 前記復号化プログラムは、前記ブロック取得手段により、 外部から繰り返し順次暗
    号文ブロックを取得するブロック取得ステップと、前記判断手段により、 暗号文ブロックの取得回数に応じ
    て、第1状態か又は第2状態かを判断する判断ステップ
    と、前記鍵生成手段により、 第1状態と判断される場合に、
    所定数のそれぞれ異なる部分鍵から構成される第1群を
    生成し、第2状態と判断される場合に、前記所定数より
    少ない数のそれぞれ異なる部分鍵から構成される第2群
    を生成する鍵生成ステップと、前記復号化手段により、 取得した暗号文ブロックを、前
    記所定数の変換過程を順次介して、復号化する復号化ス
    テップとを含み、 前記復号化ステップは、 第1状態と判断される場合に、前記所定数の変換過程は
    それぞれ前記第1群を構成する複数の部分鍵に対応し、
    前記所定数の変換過程のそれぞれにおいて、前記第1群
    内の対応する部分鍵を用い、 第2状態と判断される場合に、前記所定数の変換過程の
    それぞれは、前記第2群を構成する複数の部分鍵のいず
    れかに対応し、前記所定数の変換過程のそれぞれにおい
    て、前記第2群内の対応する部分鍵を用いることを特徴
    とする記録媒体。
JP2000261732A 1999-08-31 2000-08-30 暗号化方法、暗号化装置、復号化方法及び復号化装置 Expired - Lifetime JP3364200B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000261732A JP3364200B2 (ja) 1999-08-31 2000-08-30 暗号化方法、暗号化装置、復号化方法及び復号化装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-245277 1999-08-31
JP24527799 1999-08-31
JP2000261732A JP3364200B2 (ja) 1999-08-31 2000-08-30 暗号化方法、暗号化装置、復号化方法及び復号化装置

Publications (2)

Publication Number Publication Date
JP2001142394A JP2001142394A (ja) 2001-05-25
JP3364200B2 true JP3364200B2 (ja) 2003-01-08

Family

ID=17131294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000261732A Expired - Lifetime JP3364200B2 (ja) 1999-08-31 2000-08-30 暗号化方法、暗号化装置、復号化方法及び復号化装置

Country Status (9)

Country Link
US (1) US6917684B1 (ja)
EP (1) EP1081888B1 (ja)
JP (1) JP3364200B2 (ja)
CN (2) CN100595816C (ja)
BR (1) BR0003884B1 (ja)
CA (1) CA2316636C (ja)
DE (1) DE60024941T8 (ja)
RU (1) RU2257677C2 (ja)
SG (1) SG87160A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565546B2 (en) * 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7039614B1 (en) * 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US7124303B2 (en) * 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US7747853B2 (en) * 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
EP1396142B8 (en) * 2001-06-12 2005-06-08 International Business Machines Corporation Method of authenticating a plurality of files linked to a text document
WO2003034425A1 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7155012B2 (en) 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7292690B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
JP4150886B2 (ja) * 2002-04-19 2008-09-17 ソニー株式会社 暗号化復号化演算装置およびデータ受信装置
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US20040088539A1 (en) * 2002-11-01 2004-05-06 Infante Steven D. System and method for securing digital messages
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
EP1610490A1 (fr) * 2004-06-21 2005-12-28 France Telecom Procédé et dispositif de chiffrement ou déchiffrement de données
US20060018627A1 (en) * 2004-07-20 2006-01-26 Canon Kabushiki Kaisha Image reproducing apparatus and image reproducing method
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
JP2007013506A (ja) * 2005-06-29 2007-01-18 N-Crypt Inc 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
WO2008066671A2 (en) * 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
JP5024999B2 (ja) * 2007-09-28 2012-09-12 東芝ソリューション株式会社 暗号管理装置、暗号管理方法、暗号管理プログラム
JP4993733B2 (ja) * 2007-09-28 2012-08-08 東芝ソリューション株式会社 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
CN101887713B (zh) * 2009-05-13 2012-01-25 深圳市文鼎创数据科技有限公司 字库的加密方法及装置
US8611540B2 (en) * 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
JP5225414B2 (ja) * 2011-03-08 2013-07-03 株式会社東芝 暗号演算装置
US9774443B2 (en) * 2015-03-04 2017-09-26 Apple Inc. Computing key-schedules of the AES for use in white boxes
GB2544453A (en) * 2015-09-14 2017-05-24 Creme Software Ltd System for secure analysis of datasets
CN105790930A (zh) * 2016-04-29 2016-07-20 南京酷派软件技术有限公司 用于移动终端的信息加密方法、信息加密装置和移动终端
RU2694336C1 (ru) * 2018-05-08 2019-07-11 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ аутентифицированного шифрования
CN111212026A (zh) * 2019-11-21 2020-05-29 深圳壹账通智能科技有限公司 基于区块链的数据处理方法、装置及计算机设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229818A (en) * 1978-12-29 1980-10-21 International Business Machines Corporation Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system
US5081676A (en) * 1990-10-04 1992-01-14 Chou Wayne W Method and apparatus for protecting multiple copies of computer software from unauthorized use
GB2267419B (en) * 1992-05-29 1996-11-27 Toshiba Kk Data processing apparatus
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
US5825889A (en) * 1996-10-15 1998-10-20 Ericsson Inc. Use of duplex cipher algorithms for satellite channels with delay
TW367465B (en) * 1997-04-23 1999-08-21 Matsushita Electric Ind Co Ltd Cryptographic processing apparatus cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
DE19724072C2 (de) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体

Also Published As

Publication number Publication date
US6917684B1 (en) 2005-07-12
CA2316636C (en) 2007-05-15
EP1081888A3 (en) 2002-07-17
DE60024941D1 (de) 2006-01-26
DE60024941T2 (de) 2006-06-29
DE60024941T8 (de) 2006-08-10
JP2001142394A (ja) 2001-05-25
BR0003884B1 (pt) 2014-04-15
RU2257677C2 (ru) 2005-07-27
CN100595816C (zh) 2010-03-24
CN1822538A (zh) 2006-08-23
CA2316636A1 (en) 2001-02-28
BR0003884A (pt) 2001-04-03
CN100592681C (zh) 2010-02-24
EP1081888A2 (en) 2001-03-07
SG87160A1 (en) 2002-03-19
EP1081888B1 (en) 2005-12-21
CN1286457A (zh) 2001-03-07

Similar Documents

Publication Publication Date Title
JP3364200B2 (ja) 暗号化方法、暗号化装置、復号化方法及び復号化装置
JP3901909B2 (ja) 暗号化装置およびプログラムを記録した記録媒体
US9584323B2 (en) Compressing encrypted data without the encryption key
JP2862030B2 (ja) 暗号化方式
JP4170620B2 (ja) デジタル・ビデオ・コンテンツ伝送の暗号化および解読の方法および装置
US7221756B2 (en) Constructions of variable input length cryptographic primitives for high efficiency and high security
US7801307B2 (en) Method of symmetric key data encryption
JP2001274786A (ja) コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
JP2000162965A (ja) 暗復号装置及び記憶媒体
JP2003023421A (ja) 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
US7251326B2 (en) Method and apparatus for data encryption
CA2414261A1 (en) Method of encryption using multi-key process to create a variable-length key
CN102187617A (zh) 密码系统
JP3769804B2 (ja) 解読化方法および電子機器
JPH1185018A (ja) 暗号処理用半導体集積回路及び暗号アルゴリズム変更方法
JP2001142395A (ja) 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
JP2001016197A (ja) 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法
JP3190648B2 (ja) データ暗号化装置及びその方法
JP3642246B2 (ja) 鍵情報生成方法、鍵情報生成装置、コンテンツ情報暗号化方法、コンテンツ情報暗号化装置、コンテンツ情報復号化方法、コンテンツ情報復号化装置、コンテンツ情報記録媒体、コンテンツ情報伝送方法
Usman et al. A data specific comparative study for choosing best cryptographic technique
Kumar et al. Enhanced cost effective symmetric key algorithm for small amount of data
JP2000019958A (ja) 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体
JPH06138820A (ja) 暗号化装置及び暗号復号装置
JPH10187036A (ja) 暗号装置、暗号方法、送受信装置、および、送受信方法
JPH11298468A (ja) 暗号変換装置,復号変換装置及び暗号通信方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3364200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101025

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111025

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111025

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121025

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121025

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131025

Year of fee payment: 11

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

EXPY Cancellation because of completion of term