JP3092567B2 - 暗号鍵の生成方法および装置 - Google Patents

暗号鍵の生成方法および装置

Info

Publication number
JP3092567B2
JP3092567B2 JP09314567A JP31456797A JP3092567B2 JP 3092567 B2 JP3092567 B2 JP 3092567B2 JP 09314567 A JP09314567 A JP 09314567A JP 31456797 A JP31456797 A JP 31456797A JP 3092567 B2 JP3092567 B2 JP 3092567B2
Authority
JP
Japan
Prior art keywords
circuit
output
key
linear function
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09314567A
Other languages
English (en)
Other versions
JPH11136229A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP09314567A priority Critical patent/JP3092567B2/ja
Priority to EP98120404A priority patent/EP0913964A3/en
Priority to US09/182,014 priority patent/US6278780B1/en
Publication of JPH11136229A publication Critical patent/JPH11136229A/ja
Application granted granted Critical
Publication of JP3092567B2 publication Critical patent/JP3092567B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Telephone Function (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は暗号鍵の生成方法お
よび装置、さらに詳しくは通信装置や情報処理装置にお
いて採用され、許可されていない者が通信データや記録
媒体の内容を読み取ることを困難にするために、送信デ
ータ系列に擬似乱数を排他的論理和で足し込むストリー
ム暗号の擬似乱数発生に関する。
【0002】
【従来の技術】秘密鍵暗号と呼ばれる暗号には、ブロッ
ク暗号と呼ばれるものとストリーム暗号と呼ばれるもの
とがある。前者は例えば64ビットの固定長のデータ
(平文と呼ぶ)に対して予め決められた変換を施して6
4ビットの固定長のデータ(暗号文と呼ぶ)を出力する
ものであり、後者は擬似乱数発生器の出力する乱数系列
(鍵系列と呼ぶ)を入力されるデータ系列(平文系列と
呼ぶ)に排他的論理和で加算して、得られたデータ系列
(暗号文系列と呼ぶ)を出力するものである。
【0003】そしてストリーム暗号の擬似乱数発生器
は、一般に複数の線形フィードバック・シフトレジスタ
や非線形フィードバック・シフトレジスタを組み合わせ
て構成されている。なお以下では、線形フィードバック
・シフトレジスタと非線形フィードバック・シフトレジ
スタのことを単にフィードバック・シフトレジスタと総
称する。
【0004】また、暗号学的に安全な擬似乱数を生成す
る方法として、公開鍵暗号のような一方向性関数を用い
て擬似乱数を生成する方法が知られている。なお一方向
性関数とは、関数f(x)の計算は容易であるが、f
(x)からxすなわち関数の出力から関数の入力を推定
することが困難な関数である。
【0005】図5は、従来の暗号学的に安全な擬似乱数
発生器の基本構成を示す機能ブロック図である。図5に
おいて、外部から与えられたnビットのデータ(初期状
態)が入力端子405から入力される。一方向性関数回
路101では、予め入力端子104に供給されている変
換パラメータ(公開鍵など)に基づいて、セレクタ20
1の出力するnビットのデータに、予め決められた一方
向性関数(公開鍵暗号関数など)を施してnビットの変
換結果を出力する。また、一方向性関数回路101の出
力の最下位ビットが、擬似乱数として出力端子508か
ら出力される。レジスタ202は、入力端子210から
クロック信号が供給されると、一方向性関数101回路
のnビット出力を保持する。またレジスタ202は、保
持しているnビットをセレクタ201に供給する。
【0006】そして、入力端子210から1個目のクロ
ックを供給する際には、入力端子211に0を供給し、
それ以降は、入力端子211に1を供給すると、クロッ
クが供給されるごとに、出力端子508から新しい擬似
乱数が出力される。
【0007】なお、以上で述べた従来技術については、
例えばシュナイア著「アプライド・クリプトグラフィ
ー」(Bruce Schneier, Applied Cryptography: Protoco
ls,Algorithms, and Source Code in C, 2nd Edition,
John Wiley & Sons, 1996)などの書籍に詳しい解説があ
る。なお本発明は、ストリーム暗号の擬似乱数発生器の
初期状態の設定方法に関するものであり、擬似乱数発生
器の構成とは関係が無いので、擬似乱数発生器の詳しい
解説は省略する。
【0008】
【発明が解決しようとする課題】さて、標準的なブロッ
ク暗号の暗号鍵の長さは64ビットであるのに対して、
多くのストリーム暗号の擬似乱数発生器は、64ビット
よりも多い内部状態を持っている。なぜなら、複数のフ
ィードバック・シフトレジスタを組み合わせて構築され
る擬似乱数発生器の場合には、コリレーション・アタッ
ク(correlation attack)という解読方法を防ぐために、
それぞれのフィードバック・シフトレジスタの段数を十
分に大きくしなければならないが、そうすると、フィー
ドバック・シフトレジスタの内部状態のビット数の合計
が、多くの場合、64ビットを超えてしまうからであ
る。
【0009】なお、コリレーション・アタックについて
は、例えば、シーゲンザラー著「コリレーション・イミ
ュニティ・オブ・コンバイニング・ファンクションズ・
フォア・クリプトグラフィック・アプリケーションズ」
(T.Siegenthaler,.Correlation-Immunity of Nonlinear
Combining Functions for CryptographicApplication
s., IEEE Trans. on Info. Theory, Vol IT-31, No.5,
1984)に詳しい解説がある。
【0010】このため暗号鍵の長さが64ビットに規定
されたシステムにストリーム暗号を組み込む場合には、
外部から与えらた64ビットの暗号鍵(以下では外部鍵
と呼ぶ)から、フィードバック・シフトレジスタの内部
状態の初期値(以下では内部鍵と呼ぶ)を生成する必要
があった。
【0011】然しながら、ストリーム暗号の場合には、
一般に、コリレーション・アタックによって一部の内部
鍵の値が推定され得るので、簡単な方法で外部鍵から内
部鍵を生成していたのでは、コリレーション・アタック
で一部の内部鍵が推定され、さらに推定された内部鍵か
ら他の内部鍵も推定され得るという問題があった。
【0012】一方、安全性を確保するために一方向性関
数を用いた従来の擬似乱数発生方法によって内部鍵を生
成すると、内部鍵を生成するのに時間がかかり過ぎると
いう問題があった。なぜなら、一方向性関数を1回施す
ごとに1ビットの擬似乱数しか生成できないが、一般
に、一方向性関数の演算には多くの計算時間を必要とす
るからである。
【0013】本発明はかかる問題点を解決するためにな
されたものであり、ストリーム暗号の擬似乱数発生器の
ための、高速で安全な暗号鍵生成方法および装置を提供
することを目的としている。
【0014】
【課題を解決するための手段】本発明に係わる暗号鍵の
生成方法は、入力された外部鍵(外部から与えられた暗
号鍵:ビットデータ)に対してストリーム暗号の擬似乱
数の初期状態(内部鍵)を生成するに際して、入力され
た第一の外部鍵に予め定められた第一の非線形関数を施
して変換結果を出力する1段目の非線形関数回路及び前
段の変換結果に対して前記第一の非線形関数を施して変
換結果を出力する2段目以降のm−1個の非線形関数回
路を有する第一のm段の非線形関数手段と、入力された
第二の外部鍵に予め定められた第二の非線形関数を施し
て変換結果を出力する1段目の非線形関数回路及び前段
の変換結果に対して前記第二の非線形関数を施して変換
結果を出力する2段目以降のm−1個の非線形関数回路
を有する第二のm段の非線形関数手段と、前記第一のm
段の非線形関数手段のi(1≦i≦m)段目の非線形関
数回路の出力と、前記第二のm段の非線形関数手段のm
−i+1段目の非線形関数回路の出力とのビット毎の論
理演算してその結果を出力するm個の論理回路からなる
論理演算手段とを準備し、前記第一及び第二の外部鍵を
夫々前記第一及び第二のm段の非線形関数手段の1段目
の非線形関数回路へ夫々入力せしめ、前記第一のm段の
非線形関数手段のi段目の非線形関数回路の出力と、前
記第二のm段の非線形関数手段のm−i+1段目の非線
形関数回路の出力とのビット毎の論理演算を、前記論理
演算手段の各論理回路により演算せしめ、前記m個の論
理回路の各出力を暗号鍵(内部鍵)として導出するよう
にしたことを特徴とする。
【0015】また、入力された外部鍵に対してストリー
ム暗号の擬似乱数の初期状態(内部鍵)を生成するに際
して、第一の外部鍵に対して予め定められた第一の一方
向性関数を施して変換結果を出力する第一の変換手段
と、第二の外部鍵に対して予め定められた第二の一方向
性関数を施して変換結果を出力する第二の変換手段と、
2つ入力のビット毎の論理演算を行ってその計算結果を
出力する論理演算手段とを準備し、入力された前記第一
の外部鍵に対して前記第一の一方向性関数を前記第一の
変換手段によりi(1≦i≦m)回施して第一の変換結
果を得、入力された前記第二の外部鍵に対して前記第二
の一方向性関数を前記第二の変換手段によりm−i+1
回施して第二の変換結果を得、これ等第一及び第二の変
換結果のビット毎の、前記論理演算手段による計算結果
をi番目の内部鍵として導出するようにしたことを特徴
とする。
【0016】また、前記ビットごとの論理計算結果は、
排他的論理和であることを特徴とする。
【0017】また本発明の暗号鍵の生成装置は、入力さ
れた外部鍵に対してストリーム暗号の擬似乱数の初期状
態(内部鍵)を出力する暗号鍵の生成装置において、非
線形関数回路がm(m>2)段接続されて、1段目の非
線形関数回路は入力された第1の外部鍵に予め決められ
た第1の非線形関数を施して変換結果を出力し、2段目
以降の非線形関数回路は前段の非線形関数回路の出力に
前記第1の非線形関数を施して出力する第1の非線形関
数回路の組と、同じく非線形関数回路がm(m>2)段
接続されて、1段目の非線形関数回路は入力された第2
の外部鍵に予め決められた第2の非線形関数を施して変
換結果を出力し、2段目以降の非線形関数回路は前段の
非線形関数回路の出力に前記第2の非線形関数を施して
出力する第2の非線形関数回路の組と、前記第1の非線
形関数回路の組のi(1≦i≦m)段目の非線形関数回
路の変換結果と、前記第2の非線形関数回路の組のm−
i+1段目の非線形関数回路の変換結果とを、ビットご
とに論理計算を行い計算結果を前記内部鍵として出力す
るm個の論理回路とを備えたことを特徴とする。
【0018】また、入力される第1の外部鍵または第1
のレジスタの出力を制御信号により切り換えて第1の非
線形関数回路へ出力する第1のセレクタと、前記第1の
セレクタからの出力に予め決められた第1の非線形関数
を施して変換結果を論理回路と前記第1のレジスタへ出
力する前記第1の非線形関数回路と、クロック信号によ
り前記第1の非線形関数回路の出力を保持すると共に、
保持している前記第1の非線形関数回路の出力を前記第
1のセレクタに入力する前記第1のレジスタと、入力さ
れる第2の外部鍵または第2のレジスタの出力を制御信
号により切り換えて第2の非線形関数回路へ出力する第
2のセレクタと、前記第2のセレクタからの出力に予め
決められた第2の非線形関数を施して変換結果をバッフ
ァ回路と前記第2のレジスタへ出力する前記第2の非線
形関数回路と、クロック信号により前記第2の非線形関
数回路の出力を保持すると共に、保持している前記第2
の非線形関数回路の出力を前記第2のセレクタに入力す
る前記第2のレジスタと、クロック信号を基準として所
定のタイミングで所定のアドレスに前記第2の非線形関
数回路の出力の書き込みを行い、また所定のタイミング
で所定のアドレスの読み出しを行って前記論理回路に出
力する前記バッファ回路とを備え、前記論理回路でビッ
トごとに論理計算を行い計算結果を前記内部鍵として出
力することを特徴とする。
【0019】また、入力される外部鍵またはレジスタの
出力を制御信号により切り換えて非線形関数回路へ出力
するセレクタと、前記セレクタからの出力に予め決めら
れた非線形関数を施して変換結果を論理回路とバッファ
回路と前記レジスタとに出力する非線形関数回路と、ク
ロック信号により前記非線形関数回路の出力を保持する
と共に、保持している前記非線形関数回路の出力を前記
セレクタに入力する前記レジスタと、クロック信号を基
準として所定のタイミングで所定のアドレスに前記非線
形関数回路の出力の書き込みを行い、また所定のタイミ
ングで所定のアドレスを読み出して前記論理回路に出力
する前記バッファ回路とを備え、前記論理回路でビット
ごとに論理計算を行い計算結果を前記内部鍵として出力
することを特徴とする。
【0020】また前記非線形関数回路には、一方向性関
数回路が用いられることを特徴とする。
【0021】また前記論理回路には、排他的論理和回路
が用いられることを特徴とする。
【0022】さらに前記バッファ回路には、LIFO
(ラスト・イン・ファースト・アウト)バッファが用い
られることを特徴とする。
【0023】本発明の暗号鍵の生成方法および装置は上
述のように構成されることにより、非線形関数を組み合
わせて、互いに独立と見做せる内部鍵を生成することが
できるようになる。また非線形関数の出力がすべて内部
鍵として使用できるようになる。
【0024】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の第1の実施形態
の基本構成を示す機能ブロック図である。図1におい
て、外部から与えられた2nビットの外部鍵のうち、n
ビットが入力端子105から入力され、残りのnビット
が入力端子107から入力される。m個の一方向性関数
回路1011 〜101m により、予め入力端子104に
供給されている変換パラメータ(公開鍵)に基づいて、
入力されたnビットのデータに予め決められた一方向性
関数(公開鍵暗号関数)を施して、nビットの変換結果
を出力する第1の一方向性関数回路の組が構成されてお
り、一方向性関数回路1011 が入力端子105から入
力されたnビットに対して一方向性関数を施し、一方向
性関数回路101i(i=2,・・・,m)が一方向性関数回路10
i-1 の出力に一方向性関数を施すように構成されてい
る。
【0025】また、m個の一方向性関数回路1021
102m により、予め入力端子106に供給されている
変換パラメータ(公開鍵)に基づいて、入力されたnビ
ットのデータに予め決められた一方向性関数(公開鍵暗
号関数)を施してnビットの変換結果を出力する第2の
一方向性関数回路の組が構成されており、一方向性関数
回路1021 が入力端子107から入力されたnビット
に対して一方向性関数を施し、一方向性関数回路102
i(i=2,・・・,m) が一方向性関数回路102i-1の出力に
一方向性関数を施すように構成されている。そして、排
他的論理和回路103 i(i=2,・・・,m) は、一方向性関数
回路101i と一方向性関数回路102m-i+1 の出力の
ビットごとの排他的論理和を計算し、nビットの計算結
果をi番目の内部鍵として出力端子108i から出力す
るように構成されている。
【0026】本実施形態の暗号鍵の生成装置は以上のよ
うに構成され、入力された外部鍵に対してストリーム暗
号の擬似乱数の初期状態(内部鍵)生成するので、外部
鍵を知らない暗号解読者が、たとえ仮に何らかの手段で
出力端子108K から出力された内部鍵を求め、さらに
その内部鍵から一方向性関数回路101K と、一方向性
関数回路102m-k+1 の出力を求めることができたとし
ても、他の内部鍵の値を求めることを困難にできる。す
なわち一方向性関数の性質によって、一方向性関数回路
101K の出力からは、一方向性関数回路101K+1
一方向性関数回路101k+2 ,・・・,一方向性関数回
路101m の出力しか求められず、また一方向性関数回
路102K-i+1 の出力からは、一方向性関数回路102
K-i ,・・・,一方向性関数回路1021 の出力しか求
められないので、k以外のiに対しては、排他的論理和
回路103i の入力の一方しか求められず、従って外部
鍵も内部鍵も知らない第三者が内部鍵の推定を極めて困
難にできる。
【0027】すなわち外部鍵の一部(X)が入力端子1
04から入力され、また外部鍵の残りの一部(Y)が入
力端子107から入力される。そしてXが一方向性関数
回路1011 で暗号化されてX1 が生成され、さらにX
i が一方向性関数回路101i で暗号化されてXi+1
生成される。またYが一方向性関数回路1021 で暗号
化されてY1 が生成され、さらにYi が一方向性関数回
路102i で暗号化されてYi+1 が生成される。そして
i とYm-i+1 のビットごとの排他的論理和103i
計算され、この計算結果が内部鍵Ki として出力端子1
08i から出力されることになるので、Ki は互いに独
立と見做せ、暗号解読者が何らかの方法で1つの出力端
子108K から出力された内部鍵を入手し、さらにその
内部鍵から一方向性関数回路101K と一方向性関数回
路102m-K+1 の出力を求めることができたとしても、
他の内部鍵の値を求めることが極めて困難であり、解読
困難な暗号鍵を生成することができる。
【0028】なお実際には、出力端子108K から出力
された内部鍵から、一方向性関数回路101K と一方向
性関数回路102m-k-1 の出力を求めることさえ困難で
あるから、たとえ複数の内部鍵を求めることができたと
しても、他の内部鍵を求めることは困難である。
【0029】また高速に内部鍵の生成が行えるようにな
る。すなわち一方向性関数を用いた従来の擬似乱数発生
器の場合には、一方向性関数回路の出力のうち一部のビ
ット(1ビット程度)しか擬似乱数、すなわち内部鍵と
して使えなかったが、本実施形態では一方向性関数の出
力をすべて内部鍵として使うことができ、このため一方
向性関数回路を用いた従来の擬似乱数発生器よりも、約
n倍高速に擬似乱数(内部鍵)を生成できるようにな
る。
【0030】図2は、本発明の第2の実施形態の基本構
成を示す機能ブロック図である。図2において、外部か
ら与えられた2nビットの外部鍵のうち、nビットが入
力端子105から入力され、残りのnビットが入力端子
107から入力される。第1の一方向性関数回路101
は、予め入力端子104に供給されている変換パラメー
タ(公開鍵)に基づいて、第1のセレクタ201の出力
するnビットのデータに予め決められた一方向性関数
(公開鍵暗号関数)を施してnビットの変換結果を出力
する。
【0031】第1のレジスタ202は、入力端子210
からクロック信号が供給されると、第1の一方向性関数
回路101のnビット出力を保持する。また第1のレジ
スタ202は、保持しているnビットを第1のセレクタ
201に供給する。第1のセレクタ201は、入力端子
211に供給される制御信号が1ならば左側の入力(す
なわち第1のレジスタ202の出力)を選択して出力
し、入力端子211に供給される制御信号が0ならば右
側の入力(すなわち入力端子105に供給される外部
鍵)を選択して出力する。
【0032】第2の一方向性関数回路102は、予め入
力端子106に供給されている変換パラメータ(公開
鍵)に基づいて、第2のセレクタ205の出力するnビ
ットのデータに予め決められた一方向性関数(公開鍵暗
号関数)を施してnビットの変換結果を出力する。第2
のレジスタ204は、入力端子210からクロック信号
が供給されると、第2の一方向性関数回路102のnビ
ット出力を保持する。また第2のレジスタ204は、保
持しているnビットを第2のセレクタ205に供給す
る。第2のセレクタ205は、入力端子211に供給さ
れる制御信号が1ならば左側の入力(すなわち第2のレ
ジスタ204の出力)を選択して出力し、入力端子21
1に供給される制御信号が0ならば右側の入力(すなわ
ち入力端子107に供給される外部鍵)を選択して出力
する。
【0033】ラスト・イン・ファースト・アウト・バッ
ファ(LIFOバッファ)203は、良く知られている
ようにメモリとアドレスカウンタで構成され、入力端子
212に供給される制御信号が0の時に入力端子210
にクロック信号が供給されると、アドレスカウンタのカ
ウント値Aを0に初期化し、入力端子212に供給され
る制御信号が1で入力端子213に供給される値が0の
時に入力端子210にクロック信号が供給されると、第
2の一方向性関数回路102の出力をメモリのA番地に
記憶してAを1だけ増やし、入力端子212に供給され
る制御信号が1で入力端子213に供給される値が1の
時に、入力端子210にクロック信号が供給されると、
Aを1だけ減らして、A番地目の記憶内容を排他的論理
和回路103に供給する。排他的論理和回路103は、
第1の一方向性関数回路101とLIFOバッファ20
3の出力のビットごとの排他的論理和を計算し、nビッ
トの計算結果を内部鍵として出力端子108から出力す
るように構成されている。
【0034】図3は、本発明の第2の実施形態の動作を
示すフローチャートである。図3において、まず予め2
nビットの外部鍵のそれぞれnビットを入力端子105
と入力端子107に供給しておき、また予め入力端子1
04と入力端子106に変換パラメータ(公開鍵)を供
給しておく。そして入力端子212に0を供給し、入力
端子210からクロック信号を1個供給してLIFOバ
ッファを初期化し(ステップ310)、次に入力端子2
12には1を供給し、入力端子213には0を供給し
て、LIFOバッファを書き込みモードにする(ステッ
プ320)。
【0035】次に、入力端子211に0を供給して第2
のセレクタ205に右側の入力(すなわち入力端子10
7に供給される外部鍵の入力)を選択して出力させ、入
力端子210にクロック信号を1個供給する(ステップ
330)。次に、入力端子211に制御信号1を供給し
て第2のセレクタ205に左側の入力(すなわち第2の
レジスタ204の出力)を選択して出力させ、入力端子
210にクロック信号をm−1個供給する(ステップ3
40)。
【0036】次に入力端子212には1を供給し、入力
端子213には1を供給して、LIFOバッファ203
を読出しモードにし(ステップ350)、次に入力端子
211に制御信号0を供給して、第1のセレクタ201
に右側の入力(すなわち入力端子105に供給される外
部鍵)を選択して出力させ、入力端子210からクロッ
ク信号を1個供給する(ステップ360)。
【0037】次に、入力端子211に制御信号1を供給
して第1のセレクタ201に左側の入力(すなわち第1
のレジスタ202の出力)を選択して出力させ、入力端
子210にクロック信号をm−1個供給する(ステップ
370)。このように動作させることにより、ステップ
360から以降、入力端子210にクロック信号が1個
供給されるごとに、出力端子108から1個づつ内部鍵
が出力される。
【0038】なお、上記実施形態1及び実施形態2で
は、外部から2nビットの外部鍵を与えることとして説
明しているが、外部からnビットの外部鍵を与えて、そ
れを入力端子105と入力端子107に供給しても良
く、またnビットよりも短い外部鍵に予め決められたデ
ータを付加してnビットに拡大した外部鍵を供給しても
良い。また、排他的論理和回路103の代わりに別の回
路を用いても構わないし、さらに出力端子108から出
力する内部鍵の長さをnビットよりも少なくしても良
い。
【0039】図4は、本発明の第3の実施形態の基本構
成を示す機能ブロック図である。この第3の実施形態
は、上述の第2の実施形態の第1の一方向性関数回路1
01と第2の一方向性関数回路102とを等価にし、入
力端子104に供給される変換パラメータ(公開鍵)と
入力端子106に供給される変換パラメータ(公開鍵)
を等しくし、外部鍵の長さをnビットとすると共に、そ
の外部鍵を入力端子105と入力端子107の両方に供
給するものと等価な構成としたものである。
【0040】図4に示す第3の実施形態においては、外
部から与えられたnビットの外部鍵が入力端子405か
ら入力されて、その外部鍵がセレクタ201に供給され
ることとなり、LIFOバッファ203には一方向性関
数回路101の出力を供給することで、図2に示す第2
の実施形態に比べ、第2のレジスタ204,第2の一方
向性関数回路102,第2のセレクタ205が不要とな
る。
【0041】なおこの第3の実施形態の動作は、上述の
第2の実施形態の動作と同様であり、その説明は省略す
る。また、この第3の実施形態でもnビットの外部鍵を
入力端子405に供給することとしているが、nビット
よりも短い外部鍵に予め決められたデータを付加してn
ビットに拡大したものを入力端子405に供給すること
としても良い。また排他的論理和回路103の替わりに
別の論理回路を用いても構わないし、出力端子108か
ら出力する内部鍵の長さをnビットよりも少なくしても
良いことは上述の実施形態1及び実施形態2と同様であ
る。
【0042】また、以上の実施形態の説明においては、
一方向性関数を用いているが、高度な安全性が要求され
ていない用途においては、数学的に厳密な意味で一方向
性関数でなくても、逆関数の計算に時間のかかる非線形
関数を用いても良い。
【0043】
【発明の効果】以上説明したように本発明の暗号鍵の生
成方法および装置は、一方向性関数を組み合わせて、互
いに独立と見做せる内部鍵を生成することができるの
で、暗号解読者が何らかの方法で1つの出力端子108
K から出力された内部鍵を入手し、さらにその内部鍵か
ら一方向性関数101K と一方向性関数102m-K+1
出力をもとめることができたとしても、他の内部鍵の値
を求めることが困難な暗号鍵を生成できる。また一方向
性関数の出力がすべて内部鍵として使用できるため、暗
号鍵の生成を一方向性関数を用いた従来の乱数発生器よ
り、約n倍高速に生成できる等の効果がある。
【図面の簡単な説明】
【図1】本発明の暗号鍵生成装置の第1の実施形態を示
す機能ブロック図である。
【図2】本発明の暗号鍵生成装置の第2の実施形態を示
す機能ブロック図である。
【図3】第2の実施形態の動作を示すフローチャートで
ある。
【図4】本発明の暗号鍵生成装置の第3の実施形態を示
す機能ブロック図である。
【図5】従来の暗号学的に安全な擬似乱数発生器の基本
構成を示す機能ブロック図である。
【符号の説明】
101,102 一方向性関数回路 103 排他的論理和回路 201,205 セレクタ 202,204 レジスタ 203 LIFOバッファ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−179726(JP,A) T.Siegenthaler,“D ecrypting a Class of Stream Ciphers Using Ciphertext O nly,”IEEE Transact ions on Computers, Vol.C−34,No.1,(Jan 1985),pp.81−85 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力された外部鍵(外部から与えられた
    暗号鍵:ビットデータ)に対してストリーム暗号の擬似
    乱数の初期状態(内部鍵)を生成するに際して、 入力された第一の外部鍵に予め定められた第一の非線形
    関数を施して変換結果を出力する1段目の非線形関数回
    路及び前段の変換結果に対して前記第一の非線形関数を
    施して変換結果を出力する2段目以降のm−1個の非線
    形関数回路を有する第一のm段の非線形関数手段と、 入力された第二の外部鍵に予め定められた第二の非線形
    関数を施して変換結果を出力する1段目の非線形関数回
    路及び前段の変換結果に対して前記第二の非線形関数を
    施して変換結果を出力する2段目以降のm−1個の非線
    形関数回路を有する第二のm段の非線形関数手段と、 前記第一のm段の非線形関数手段のi(1≦i≦m)段
    目の非線形関数回路の出力と、前記第二のm段の非線形
    関数手段のm−i+1段目の非線形関数回路の出力との
    ビット毎の論理演算を行ってその結果を出力するm個の
    論理回路からなる論理演算手段とを準備し、 前記第一及び第二の外部鍵を夫々前記第一及び第二のm
    段の非線形関数手段の1段目の非線形関数回路へ夫々入
    力せしめ、前記第一のm段の非線形関数手段のi段目の
    非線形関数回路の出力と、前記第二のm段の非線形関数
    手段のm−i+1段目の非線形関数回路の出力とのビッ
    ト毎の論理演算を、前記論理演算手段の各論理回路によ
    り演算せしめ、前記m個の論理回路の各出力を暗号鍵
    (内部鍵)として導出するようにした ことを特徴とする
    暗号鍵の生成方法。
  2. 【請求項2】 入力された外部鍵に対してストリーム暗
    号の擬似乱数の初期状態(内部鍵)を生成するに際し
    て、 第一の外部鍵に対して予め定められた第一の一方向性関
    数を施して変換結果を出力する第一の変換手段と、 第二の外部鍵に対して予め定められた第二の一方向性関
    数を施して変換結果を出力する第二の変換手段と、 2つ入力のビット毎の論理演算を行ってその計算結果を
    出力する論理演算手段とを準備し、 入力された前記第一の外部鍵に対して前記第一の一方向
    性関数を前記第一の変換手段によりi(1≦i≦m)回
    施して第一の変換結果を得、 入力された前記第二の外部鍵に対して前記第二の一方向
    性関数を前記第二の変換手段によりm−i+1回施して
    第二の変換結果を得、 これ等第一及び第二の変換結果のビット毎の、前記論理
    演算手段による計算結果をi番目の内部鍵として導出す
    るようにした ことを特徴とする暗号鍵の生成方法。
  3. 【請求項3】 前記ビットごとの論理計算結果は、排他
    的論理和であることを特徴とする請求項1または請求項
    2記載の暗号鍵の生成方法。
  4. 【請求項4】 入力された外部鍵に対してストリーム暗
    号の擬似乱数の初期状態(内部鍵)を出力する暗号鍵の
    生成装置において、 非線形関数回路がm(m>2)段接続されて、1段目の
    非線形関数回路は入力された第1の外部鍵に予め決めら
    れた第1の非線形関数を施して変換結果を出力し、2段
    目以降の非線形関数回路は前段の非線形関数回路の出力
    に前記第1の非線形関数を施して出力する第1の非線形
    関数回路の組と、 同じく非線形関数回路がm(m>2)段接続されて、1
    段目の非線形関数回路は入力された第2の外部鍵に予め
    決められた第2の非線形関数を施して変換結果を出力
    し、2段目以降の非線形関数回路は前段の非線形関数回
    路の出力に前記第2の非線形関数を施して出力する第2
    の非線形関数回路の組と、 前記第1の非線形関数回路の組のi(1≦i≦m)段目
    の非線形関数回路の変換結果と、前記第2の非線形関数
    回路の組のm−i+1段目の非線形関数回路の変換結果
    とを、ビットごとに論理計算を行い計算結果を前記内部
    鍵として出力するm個の論理回路とを備えたことを特徴
    とする暗号鍵の生成装置。
  5. 【請求項5】 入力された外部鍵に対してストリーム暗
    号の擬似乱数の初期状態(内部鍵)を出力する暗号鍵の
    生成装置において、 入力される第1の外部鍵または第1のレジスタの出力を
    制御信号により切り換えて第1の非線形関数回路へ出力
    する第1のセレクタと、 前記第1のセレクタからの出力に予め決められた第1の
    非線形関数を施して変換結果を論理回路と前記第1のレ
    ジスタへ出力する前記第1の非線形関数回路と、 クロック信号により前記第1の非線形関数回路の出力を
    保持すると共に、保持している前記第1の非線形関数回
    路の出力を前記第1のセレクタに入力する前記第1のレ
    ジスタと、 入力される第2の外部鍵または第2のレジスタの出力を
    制御信号により切り換えて第2の非線形関数回路へ出力
    する第2のセレクタと、 前記第2のセレクタからの出力に予め決められた第2の
    非線形関数を施して変換結果をバッファ回路と前記第2
    のレジスタへ出力する前記第2の非線形関数回路と、 クロック信号により前記第2の非線形関数回路の出力を
    保持すると共に、保持している前記第2の非線形関数回
    路の出力を前記第2のセレクタに入力する前記第2のレ
    ジスタと、 クロック信号を基準として所定のタイミングで所定のア
    ドレスに前記第2の非線形関数回路の出力の書き込みを
    行い、また所定のタイミングで所定のアドレスの読み出
    しを行って前記論理回路に出力する前記バッファ回路と
    を備え、 前記論理回路でビットごとに論理計算を行い計算結果を
    前記内部鍵として出力することを特徴とする暗号鍵の生
    成装置。
  6. 【請求項6】 入力された外部鍵に対してストリーム暗
    号の擬似乱数の初期状態(内部鍵)を出力する暗号鍵の
    生成装置において、 入力される外部鍵またはレジスタの出力を制御信号によ
    り切り換えて非線形関数回路へ出力するセレクタと、 前記セレクタからの出力に予め決められた非線形関数を
    施して変換結果を論理回路とバッファ回路と前記レジス
    タとに出力する非線形関数回路と、 クロック信号により前記非線形関数回路の出力を保持す
    ると共に、保持している前記非線形関数回路の出力を前
    記セレクタに入力する前記レジスタと、 クロック信号を基準として所定のタイミングで所定のア
    ドレスに前記非線形関数回路の出力の書き込みを行い、
    また所定のタイミングで所定のアドレスを読み出して前
    記論理回路に出力する前記バッファ回路とを備え、 前記論理回路でビットごとに論理計算を行い計算結果を
    前記内部鍵として出力することを特徴とする暗号鍵の生
    成装置。
  7. 【請求項7】 前記非線形関数回路には、一方向性関数
    回路が用いられることを特徴とする請求項4,請求項5
    または請求項6記載の暗号鍵の生成装置。
  8. 【請求項8】 前記論理回路には、排他的論理和回路が
    用いられることを特徴とする請求項4,請求項5または
    請求項6記載の暗号鍵の生成装置。
  9. 【請求項9】 前記バッファ回路には、LIFO(ラス
    ト・イン・ファースト・アウト)バッファが用いられる
    ことを特徴とする請求項5または請求項6記載の暗号鍵
    の生成装置。
JP09314567A 1997-10-31 1997-10-31 暗号鍵の生成方法および装置 Expired - Fee Related JP3092567B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP09314567A JP3092567B2 (ja) 1997-10-31 1997-10-31 暗号鍵の生成方法および装置
EP98120404A EP0913964A3 (en) 1997-10-31 1998-10-28 A method of and an apparatus for generating internal crypto-keys
US09/182,014 US6278780B1 (en) 1997-10-31 1998-10-29 Method of and an apparatus for generating internal crypto-keys

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09314567A JP3092567B2 (ja) 1997-10-31 1997-10-31 暗号鍵の生成方法および装置

Publications (2)

Publication Number Publication Date
JPH11136229A JPH11136229A (ja) 1999-05-21
JP3092567B2 true JP3092567B2 (ja) 2000-09-25

Family

ID=18054842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09314567A Expired - Fee Related JP3092567B2 (ja) 1997-10-31 1997-10-31 暗号鍵の生成方法および装置

Country Status (3)

Country Link
US (1) US6278780B1 (ja)
EP (1) EP0913964A3 (ja)
JP (1) JP3092567B2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7362775B1 (en) 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US5745569A (en) * 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US5889868A (en) 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7730317B2 (en) * 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
NL1012581C2 (nl) * 1999-07-13 2001-01-16 Koninkl Kpn Nv Werkwijze voor het beschermen van een draagbare kaart.
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
US6961427B1 (en) * 1999-11-23 2005-11-01 General Instrument Corporation Methods and apparatus for keystream generation
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
AT412747B (de) 2002-03-05 2005-06-27 Rene-Michael Mag Cordes Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und endschlüsselung von daten beliebiger länge
US20070195960A1 (en) * 2002-04-12 2007-08-23 General Dynamics Advanced Information Systems Apparatus and method for encrypting data
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
KR100940202B1 (ko) * 2002-08-29 2010-02-10 삼성전자주식회사 일방향 함수를 사용하여 계층적으로 암호화하는 장치 및방법
US7427117B2 (en) * 2004-05-27 2008-09-23 Silverbrook Research Pty Ltd Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7757086B2 (en) * 2004-05-27 2010-07-13 Silverbrook Research Pty Ltd Key transportation
US7549718B2 (en) * 2004-05-27 2009-06-23 Silverbrook Research Pty Ltd Printhead module having operation controllable on basis of thermal sensors
US8117449B2 (en) * 2007-12-27 2012-02-14 Mastercard International, Inc. Method to detect man-in-the-middle (MITM) or relay attacks
US8364976B2 (en) * 2008-03-25 2013-01-29 Harris Corporation Pass-through adapter with crypto ignition key (CIK) functionality
US9207911B2 (en) * 2009-07-31 2015-12-08 Cassy Holdings Llc Modular uncertainty random value generator and method
US9825761B2 (en) * 2010-04-06 2017-11-21 King Saud University Systems and methods improving cryptosystems with biometrics
US10515567B2 (en) * 2010-06-01 2019-12-24 Ternarylogic Llc Cryptographic machines with N-state lab-transformed switching devices
US11336425B1 (en) 2010-06-01 2022-05-17 Ternarylogic Llc Cryptographic machines characterized by a Finite Lab-Transform (FLT)
WO2016096000A1 (en) * 2014-12-17 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Stream ciphering technique
WO2020186125A1 (en) 2019-03-13 2020-09-17 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
CN113919012B (zh) * 2021-08-31 2024-03-19 温州大学 基于序列密码的强puf抗机器学习攻击方法及电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5420928A (en) * 1994-01-25 1995-05-30 Bell Communications Research, Inc. Pseudo-random generator
US5608801A (en) * 1995-11-16 1997-03-04 Bell Communications Research, Inc. Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T.Siegenthaler,"Decrypting a Class of Stream Ciphers Using Ciphertext Only,"IEEE Transactions on Computers,Vol.C−34,No.1,(Jan 1985),pp.81−85

Also Published As

Publication number Publication date
US6278780B1 (en) 2001-08-21
EP0913964A3 (en) 2002-02-06
JPH11136229A (ja) 1999-05-21
EP0913964A2 (en) 1999-05-06

Similar Documents

Publication Publication Date Title
JP3092567B2 (ja) 暗号鍵の生成方法および装置
JP4127472B2 (ja) データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体
KR100435052B1 (ko) 암호화장치
CA2337306C (en) Method and apparatus for symmetric-key encryption
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
JP4369618B2 (ja) 高速復号化を備えた暗号システムおよび方法
Nevelsteen et al. Software performance of universal hash functions
JP3022439B2 (ja) 擬似乱数発生方法および装置
US20110255689A1 (en) Multiple-mode cryptographic module usable with memory controllers
US5696826A (en) Method and apparatus for encrypting and decrypting information using a digital chaos signal
US6097815A (en) Method of and an apparatus for generating pseudo-random numbers
WO2005073842A1 (ja) 擬似乱数生成装置および擬似乱数生成プログラム
JPS5873257A (ja) 暗号化装置
US7058178B2 (en) Synchronous stream cipher
JP3180836B2 (ja) 暗号通信装置
JPH08179690A (ja) プロダクト暗号装置
WO2003090185A1 (en) Key generation device, encoding/decoding device, and key generation method
Ghazi et al. Robust and efficient dynamic stream cipher cryptosystem
JP2000209195A (ja) 暗号通信システム
JP2002217898A (ja) 擬似乱数生成システム
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
JPH1117673A (ja) 共通鍵暗号通信方法及びその通信ネットワーク
JP2727955B2 (ja) 公開鍵暗号装置
JP2864813B2 (ja) 暗号化装置及び復号化装置
JPH04335730A (ja) 暗号送信装置、暗号受信装置、暗号通信システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees