JP3782351B2 - 可変長鍵暗号システム - Google Patents
可変長鍵暗号システム Download PDFInfo
- Publication number
- JP3782351B2 JP3782351B2 JP2001531254A JP2001531254A JP3782351B2 JP 3782351 B2 JP3782351 B2 JP 3782351B2 JP 2001531254 A JP2001531254 A JP 2001531254A JP 2001531254 A JP2001531254 A JP 2001531254A JP 3782351 B2 JP3782351 B2 JP 3782351B2
- Authority
- JP
- Japan
- Prior art keywords
- length
- symbol
- conversion
- encryption
- encryption key
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims description 377
- 238000000034 method Methods 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 65
- 238000001514 detection method Methods 0.000 claims description 39
- 239000002131 composite material Substances 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 5
- 101100457843 Schizosaccharomyces pombe (strain 972 / ATCC 24843) tit1 gene Proteins 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Images
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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- 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/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Description
【発明の属する技術分野】
本発明は暗号システムに関する。例えば、コンピュータネットワークを介した機密性を必要とする通信内容の暗号化および復号化、機密性を必要とする情報の記録メディアへの蓄積時の暗号化および読み出し時の復号化などに利用できる。
【0002】
【背景技術】
従来の暗号システムとしては、大別して秘密鍵暗号と公開鍵暗号があり、秘密鍵暗号はさらにストリーム暗号とブロック暗号に大別されて多くの方式が考案されている。
【0003】
秘密鍵暗号方式は、暗号鍵および復号鍵を共に秘密として当事者のみが保持し、暗号文を送る者が暗号鍵を用いて平文を暗号化し、当該暗号文を通信相手に送信し、通信相手は復号鍵を用いて暗号文を復号することにより平文を得る。ここで、暗号システムの強度を考えると、暗号鍵と復号鍵が秘密に保たれていることと、通信される暗号文をモニタする者が当該暗号文を学習して平文を得る規則を簡単に見つけることができないことの2点が重要なファクターとなる。前者の点については、通信当事者間で暗号鍵および復号鍵を共有するため最低1回は必要となる鍵配送を如何に安全に行なうかという点が重要になり、後者の点については、規則性が簡単に見つからないように規則の複雑性を高める工夫や、ハッシュ関数など規則性を持たないものを用いる工夫や、毎回用いる鍵や規則をランダムに変更する工夫など多様なものが開発されつつある。
【0004】
公開鍵暗号方式は、十分に大きい素数同士の積の値を素因数分解する困難性や、楕円曲線の解を求める困難性を利用し、暗号化のための暗号鍵を公開し、平文を送りたい者は当該公開された要素を用いて暗号文を作成し、正当な者のみが秘密鍵を用いて復号化するものである。公開鍵から秘密鍵を得るのは非常に困難であるという性質を利用してセキュリティを確保し、かつ、秘密鍵暗号方式で問題となる鍵配送自体が不要となり、その点でもセキュリティを向上させたものである。
【0005】
しかし、公開鍵暗号方式は、暗号化及び復号化に多大な計算時間を要するため、長い(おおよそ1000文字以上)の平文を取り扱うのは時間コストが非常にかかるため実用には不便である。
【0006】
従来知られている秘密鍵暗号方式では主にブロック暗号が用いられているが、これも暗号化及び復号化に長い計算時間を必要とし、長い平文を取り扱うのは同様に時間コストが非常にかかるため実用には不便である。また、従来秘密鍵暗号方式において標準的に良く用いられてきたDES暗号方式は原理的に解読され得ることが判明し、安全性に問題が生じている。
【0007】
一方、秘密鍵暗号方式のうちのストリーム暗号方式の中で、真性乱数列を暗号化鍵として用い、過去に1度使った鍵は2度と使わない方式(バーナム暗号方式)は暗号化及び復号化に要する時間も少なく、原理的に解読不可能であるが、暗号文と同じ長さの暗号化鍵をあらかじめ安全な手段で受信者に送っておく必要があるため、鍵配送の問題が生じる。この鍵配送のセキュリティ確保のためのコストがかかるため、この鍵配送コストを度外視しても高度な機密性を必要とする特殊な通信にしか用いられない。
【0008】
【発明の開示】
上記従来の暗号装置の問題点に鑑み、本発明の可変長鍵暗号システムは、ストリーム暗号方式の鍵生成メカニズムとして、真性乱数列と同程度の乱数性を持ち、即ち解読困難な性質を持ち、平文及び暗号文の長さにより必要な鍵が選択でき、かつ、送信者と受信者があらかじめ共通して保持すべき鍵生成のパラメータは暗号文と比べて小量で済む、セキュリティが高くかつ計算コストが小さい暗号システムを提供することを目的としている。
【0009】
上記目的を達成するために、本発明の可変長鍵暗号システムにおいては、まず、特定の長さの記号列をあらかじめ与えられた定数個以下しか持たない鍵生成メカニズムを用いる。与えられた定数がkであるとき、そのような鍵生成メカニズムをk疎言語と呼ぶ。
【0010】
1疎言語の可変長鍵生成装置を利用した本発明の可変長鍵暗号システムは、任意の長さの暗号化鍵を生成する可変長鍵生成処理部と、文字列の長さを検出するデータ列長さ検出処理部を備え、前記平文の暗号化においては、前記データ列長さ検出部が平文の長さを検出し、前記可変長鍵生成処理部が前記検出された平文長さに基づいて特定の長さの暗号化鍵をただ一つだけ生成してストリーム暗号処理に利用し、前記暗号文の復号化においては、前記データ列長さ検出処理部が暗号文の長さを検出し、前記可変長鍵生成処理部が検出された暗号文長さに基づいて前記暗号化に用いた特定の長さの暗号化鍵と同一の暗号鍵をただ一つだけ生成してストリーム復号処理に利用することを特徴とする。
【0011】
上記構成によれば、本発明の可変長鍵暗号システムにおいて、疎言語を発生させるために必要なパラメータは初期列、変換規則の組、変換規則選択関数のみである。これらはいずれも安全な手段で受信側に送る必要があるが、データ量は少量であるため、従来のストリーム暗号に比べてはるかに鍵配送が容易になる。また、暗号化鍵は使いすてにするため、暗号文のみから平文が解読される恐れはない。また、暗号化鍵生成は記号変換の繰り返しであり並列実行も可能だから少ない計算時間で鍵を生成することが出来る。ひとたび鍵が生成されれば暗号化及び復号化は加算と減算だけで行なわれるため極めて高速である。従って大量のデータの暗号化を高速に行なうことが出来る。
【0012】
2以上のkに対してk疎言語を可変長鍵生成装置として用いる本発明の可変長鍵暗号システムは、任意の長さの暗号化鍵を生成する可変長鍵生成処理部と、文字列の長さを検出するデータ列長さ検出処理部と、文字列とハッシュ関数値を対応づけるハッシュ関数を備え、前記平文の暗号化においては、前記データ列長さ検出処理部が平文の長さを検出し、前記可変長鍵生成処理部が検出された平文長さに基づいて特定の長さの暗号化鍵を所定数個以下生成してそのうち一つの暗号化鍵を選択してストリーム暗号処理に利用し、前記ハッシュ関数が前記暗号化する平文に対するハッシュ値を生成し、生成した暗号文と併せて前記ハッシュ値を送信し、前記暗号文の復号化においては、前記データ列長さ検出処理部が暗号文の長さを検出し、前記可変長鍵生成処理部が検出された暗号文長さに基づいて特定の長さの暗号化鍵を所定数個以下生成してストリーム復号処理に利用し、前記ハッシュ関数が前記復号された複数の平文それぞれに対するハッシュ値を生成し、前記送信されたハッシュ値と等しい平文を選択することを特徴とする。
【0013】
上記構成によれば、2以上のkに対してk疎言語を可変長鍵生成装置として用いるときは可能なk個の記号列のうち1つを用いて暗号化・復号化処理を行なうため、平文の特徴を小さな正の整数で表わすハッシュ関数を用い、k個の記号列のうち任意に選んだ一つを鍵として暗号化した暗号文とハッシュ関数値を受信者に送り、受信者は暗号文の長さから生成されるk個の記号列すべてについて鍵として復号化を行ない、得られた記号列からハッシュ関数値を求め、送られてきたハッシュ関数値と一致したものを平文として選ぶことができる。ハッシュ関数値自体の長さは極く短い(数十ビット程度)ため、従来用いられてきた真性乱数値を鍵とするストリーム暗号を用いても鍵配送の問題は生じない。
【0014】
乱数列と同じような性質を持つk疎言語を発生するために、初期列と変換規則の組及び変換規則選択関数を持つシステムを用いる。ここで初期列は、暗号化鍵と同じ記号からなる短い列である。変換規則は一つの記号を長さ1以上の記号列に変換する規則ですべての記号についてただ一つの規則が与えられている。そのような規則の組をいくつか持つ。変換規則選択関数は記号列の長さから変換規則の組の一つを選ぶ関数である。このシステムにおいて、一つの記号列はその長さから変換規則選択関数によって選ばれた変換規則の組の変換規則を、その記号列のすべての記号にあてはめて得られた記号列に変換される。初期列から上記の変換方式によって次々と記号列を変換して平文の長さと同じかそれ以上の長さの記号列が得られたときにそれを暗号化鍵とする。ここで述べた記号列変換システムは必ずk疎言語を発生することが数学的に証明される。変換規則選択関数には任意の複雑な関数を用いることが出来るため、解読を不可能にすることが出来る。
【0015】
上記のシステムの記号列生成能力をさらに高めるために、前記変換記号列生成処理部において、前記初期記号列を前記暗号化鍵に用いられる記号と当該記号とは異なる種類の記号との合成初期記号列とし、前記変換規則を前記暗号鍵に用いられる記号に対する記号変換規則と前記記号とは異なる種類の記号に対する記号変換規則との合成変換規則とし、前記合成初期記号列と前記合成変換規則を用いて記号変換を繰り返し、生成した記号列から前記暗号鍵に用いられる記号のみを抽出して暗号化鍵を生成する。
【0016】
また、変換記号列生成処理部において、前記初期記号列を前記暗号化鍵に用いられる記号とは異なる種類の記号の初期記号列とし、前記変換規則を前記暗号鍵に用いられる記号とは異なる種類の記号に対する記号変換規則とし、当該初期記号列と記号変換規則を用いて記号変換を繰り返し、生成された記号列の各記号を前記暗号化鍵に用いる記号に変換する第2の記号変換により前記暗号化鍵を生成する。
【0017】
このように冗長な記号を用いるために暗号強度が向上する。上記の方式においても必ずk疎言語を発生することが数学的に証明される。
【0018】
以上の暗号方式において、平文の長さと等しい暗号化鍵が生成されないときや平文の長さが既に過去に利用された長さであれば、記号変換を継続して過去の暗号化鍵として利用されていない長さの変換記号列を生成し、当該変換記号列のうち、平文の長さまでの部分を採用して平文の長さを超える部分については廃棄して前記暗号化鍵を生成する。このように一旦使った暗号化鍵の長さを使用済みとして送信者、受信者が共に記録しておくことにより同じ使用済み鍵を二度以上用いることを防止でき、セキュリティ強度向上を図ることができる。
【0019】
次に、本発明の可変長鍵暗号システムの処理ステップを実現する処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、任意の長さの暗号化鍵を生成する可変長暗号鍵生成処理ステップと、文字列の長さを検出するデータ列長さ検出処理ステップと、指定された暗号鍵を利用してストリーム暗号を生成するストリーム暗号生成処理ステップと、指定された暗号鍵を利用してストリーム暗号を復号するストリーム暗号復号処理ステップと、前記平文の暗号化において、前記可変長暗号鍵生成処理ステップが、前記データ列長さ検出処理ステップにおいて検出した平文長さに基づいて特定の長さの暗号化鍵を生成する処理と、前記ストリーム暗号生成処理ステップが前記可変長暗号鍵生成処理ステップにより生成した暗号鍵を用いてストリーム暗号を生成する暗号鍵生成処理ステップと、前記暗号文の復号化において、前記可変長暗号鍵生成処理ステップが、前記データ列長さ検出処理ステップにおいて検出した暗号文の長さに基づいて前記暗号化に用いた特定の長さの暗号化鍵と同一の暗号鍵を生成する処理と、前記ストリーム暗号復号処理ステップが前記可変長暗号鍵生成処理ステップにより生成した暗号鍵を用いてストリーム暗号を復号する暗号鍵復号処理ステップとを備えた記録媒体であることを特徴とする。
【0020】
上記記録媒体を提供することにより、当該記録媒体を読み取り可能なコンピュータ装置を用いて本発明の可変長鍵暗号システムを提供することができる。
【0021】
【発明の実施の形態】
以下、本発明の実施形態にかかる可変長鍵暗号システムについて、図面を参照しながら説明する。
【0022】
(実施形態1)
実施形態1の可変長鍵暗号システムは、1疎言語の可変長鍵生成装置を利用したものである。ここで、特定の長さの記号列をあらかじめ与えられた定数個以下しか持たない鍵生成メカニズムにおいて与えられた定数がkであるとき、そのような鍵生成メカニズムをk疎言語と呼ぶ。実施形態1では長さが指定されればその長さの暗号鍵を1つ(1通り)のみ生成するものである。
【0023】
図1は、本発明の実施形態1の可変長鍵暗号システムの構成例である。図1において、100は送信者側のシステム、つまり平文を暗号化するもの、200は受信者側のシステム、つまり暗号文を復号化して平文を生成するものである。300は送信者1と受信者2のデータをやりとりする通信路である。
【0024】
送信者システム100には、データ入力部10、データ列長さ検出処理部20、可変長鍵生成処理部30、ストリーム暗号化処理部40、通信インタフェース50が備えられている。なお、システムの制御に必要なコントローラ、メモリなどは図示を省略している。
【0025】
データ入力部10は、データの入出力を行なう部分である。暗号化にあたっては平文が入力される。
【0026】
データ列長さ検出処理部20は、与えられたデータ列の長さを検出する部分である。ここでは平文の長さを検出する。
【0027】
可変長鍵生成処理部30は、後述するように初期記号列と変換規則を用いて任意の長さの暗号鍵を生成する部分である。暗号鍵の長さは検出した平文の長さに基づいて生成する。可変長鍵生成処理部30は、変換規則保持部31、変換記号列生成処理部32、使用済み鍵リスト33、暗号鍵変換部34を備えている。
【0028】
変換規則保持部31が保持する変換規則の例を図2(a)に示す。図2(a)の例は、説明の便宜上、3つの記号A,a,bについての極めて簡単な例を示している。図2(a)の例の変換規則は、一部の記号“A”については長さ1のものが長さ2(“aA”)の記号列に変換されている。つまり、1回記号変換すると生成される記号列の長さが2倍になることが分かる。変換を多段階行なうことにより生成される記号列の長さを調整することができる。
【0029】
実際に用いる変換規則としては、記号種類を増やすことができ、またより複雑な変換規則を用意することが可能であることは言うまでもない。また、図2の例の変換規則は、一部の記号について長さを2倍の記号列に変換しているが、一部の記号に対してはそれ以上の3倍にしたりするなどの工夫も可能である。
【0030】
変換記号列生成処理部32は、初期記号列を変換規則保持部31が保持している変換規則を用いて任意の長さの変換記号列を生成する部分である。任意の長さの変換記号列を得るために変換記号列生成処理部32は、以下の4つの処理段階を持っている。
【0031】
第1の処理は、変換規則保持部31が保持している変換規則を用いて初期記号列を変換して平文の長さに達する変換記号列を得る処理である。例えば図2の変換規則と初期記号列Aを用いれば、図2(b)のように変換記号列が生成されて行く。記号変換が1回実行される度に変換記号列の長さが1ずつ増えて行く。データ列長さ検出処理部20により平文の長さが検出されているので、当該平文の長さに達するまで変換を繰り返して変換記号列の長さを増やして行く。いまデータ列長さ検出処理部20により検出した平文の長さを例えば“7”とすると、第1の処理によれば、変換規則を6回行なって長さ7の変換記号列“bababaA”が生成される。
【0032】
第2の処理は、第1の処理で生成した平文の長さに達した変換記号列が過去の暗号化鍵生成に利用されたものであるか否かをチェックし、既に過去に利用されていれば採用せず、過去に利用されていない記号変換列となるまで記号変換を継続する処理である。そのため、可変長鍵生成処理部30は、使用済み鍵リスト33を備え、過去に利用した変換記号列の長さの情報を保持しておき、第2の処理において参照する。本発明の可変長鍵暗号システムでは、暗号強度の向上、セキュリティ確保のため、一度用いた暗号鍵は二度と使わず使いきりにする。使いきりにすることにより、定型的な電子メールなど平文の長さが同じものを頻繁に送っても、毎回使用される暗号鍵が異なるので、当該暗号文通信をモニタする第3者がいても容易には暗号文を解読することができない。この例において、長さ7の変換記号列が既に過去に利用されていた場合、第2の処理において、記号変換が継続される。例えば、次段階の第7回目の変換処理による長さ8の記号変換列が過去に用いられたことのないものであれば、第2の処理により、当該長さ8の記号変換列“abababaA”が第2の処理の出力とされる。
【0033】
第3の処理は、第2の処理までで得られている平文の長さに達した変換記号列の長さが平文の長さを超えるものとなっている場合に、変換記号列の長さを平文の長さとなるように調整する処理である。変換規則の作り方により長さが1つきざみで増えるとは限らず、また、上記第2の処理により平文より長い長さ変換記号列が生成される場合もあり、かならずしも平文の長さと丁度同じ長さになるとは限らない。そこで、生成した変換記号列のうち、平文の長さまでの部分を採用し、平文の長さを超える部分については廃棄する処理を行なって平文と同一の長さの変換記号列を得る。この例では、第2の処理までで得られた長さ8の変換記号列から、平文の長さ7に相当する前半部分の7つの記号列を採用し、後半部分の残り1つの記号列を廃棄する。つまり第3の処理により得られた変換記号列は“abababa”となる。
【0034】
第4の処理は、暗号鍵変換部34を用いて、変換記号列生成処理部32が生成した変換記号列を暗号鍵として用いる記号列に変換する処理である。変換記号列生成処理部32が生成する変換記号列が当初から暗号鍵として用いる記号列であれば、当該第4の処理は必要ない。この例では、暗号鍵を“0”と“1”の2進数列とする。図2(c)に示されるように、A→“1”,a→“1”,b→“0”と変換すると暗号鍵“1010101”が得られる。
【0035】
変換記号列生成処理部32は、以上の4つの処理により平文の長さの変換記号列を生成する。可変長鍵生成処理部30は、変換記号列生成処理部32が生成した変換記号を暗号鍵として利用する。つまり図2の例では“1010101”を暗号鍵とする。
【0036】
ストリーム暗号化処理部40は、可変長鍵生成処理部30が生成した暗号鍵を用いて平文からストリーム暗号文を生成する部分である。ここでは、平文の各記号に対して暗号鍵の記号を加えあわせる。平文と暗号鍵の長さは同じなので平文の各文字に対応する暗号鍵の記号が加えられる。図2の例では長さ7の平文に対して対応する暗号鍵の7つの2進数列“1010101”が各々加えられる。
【0037】
通信インタフェース50は、ネットワーク300を介した通信のインタフェースを提供する部分であり、ストリーム暗号化処理部40が生成したストリーム暗号文を受信者システム200に対して送信する。なお、暗号化処理に使用した暗号鍵の長さに関する情報を使用済み鍵リスト33および後述する受信者システム200の使用済み鍵リスト33に内容を同期させつつ保持するために当該情報も通信し合う。
【0038】
次に、受信者システム200における復号化処理を説明する。
【0039】
受信者システム200は、データ入力部10、データ列長さ検出処理部20、可変長鍵生成処理部30、ストリーム暗号化処理部40、通信インタフェース50が備えられている。なお、システムの制御に必要なコントローラ、メモリなどは図示を省略している。
【0040】
データ入力部10は、データの入出力を行なう部分である。受信者システム200では、通信インタフェース50から受け取った暗号文を受け付ける。
【0041】
データ列長さ検出処理部20は、送信者システム100におけるデータ列長さ検出処理部20と同様、与えられた文字列の長さを検出する部分である。受信者システム200においては、受け取った暗号文の長さを検出する。
【0042】
可変長鍵生成処理部30は、送信者システム100における可変長鍵生成処理部30と同じものであり、初期記号列と変換規則を用いて任意の長さの復号に用いる鍵(つまり暗号鍵と同一のもの)を生成する部分である。受信者システム200では、暗号鍵の長さは検出した暗号文の長さに基づいて生成する。受信者システム200の可変長鍵生成処理部30も同様に、変換規則保持部31、変換記号列生成処理部32、使用済み鍵リスト33、暗号鍵変換部34を備えている。ここで、変換規則保持部31が保持する変換規則は、送信者システム100の変換規則保持部31が保持する変換規則と同一のものであり、事前に安全な方法で送信者システム100および受信者システム200相互に配送されているものとする。また、用いる初期記号列も送信者システム100が利用するものと同一であり、同様に事前に安全な方法で送信者システム100および受信者システム200相互に配送されているものとする。これらの配送には例えば、公開鍵暗号方式などを用いることができる。
【0043】
ここでは、変換規則保持部31が保持する変換規則は図2に示したものと同様のものである。送信者システム100の場合と同様、一部の記号について長さ1のものが長さ2の記号列に変換されており、1回記号変換すると生成される記号列の長さは1つずつ増えてゆく。変換を多段階行なうことにより生成される記号列の長さを調整することができる。
【0044】
変換記号列生成処理部32は、初期記号列を変換規則保持部31が保持している変換規則を用いて暗号文の長さの変換記号列を生成する部分である。暗号文の長さの変換記号列を得るために変換記号列生成処理部32は、以下の4つの処理段階を持っている。
【0045】
第1の処理は、変換規則保持部31が保持している変換規則を用いて初期記号列を変換して暗号文の長さに達する変換記号列を得る処理である。図2(a)の変換規則と初期記号列Aを用いれば、同様に、図2(b)のように変換記号列が生成されて行く。データ列長さ検出処理部20により暗号文の長さが検出されているので、当該暗号文の長さに達するまで変換を繰り返して変換記号列の長さを増やして行く。ここでは暗号文の長さは“7”であるので、第1の処理によれば、変換規則を6回行なって長さ7の変換記号列が生成される。
【0046】
第2の処理は、第1の処理で生成した暗号文の長さに達した変換記号列が過去の暗号化鍵生成に利用されたものであるか否かをチェックし、既に過去に利用されていれば採用せず、過去に利用されていない記号変換列となるまで記号変換を継続する処理である。そのため、可変長鍵生成処理部30は、使用済み鍵リスト33を備え、送信者システム100の使用済み鍵リスト33と履歴情報内容の同期をとりながら、過去に利用した変換記号列の長さの情報を保持しておき、第2の処理において参照する。ここでは、使用済み鍵リスト33の情報は送信者システム100の使用済み鍵リスト33と情報内容の同期が図られており、長さ7の変換記号列が既に過去に利用されていた旨が格納されており、当該記号列を用いることができないと判断される。この第2の処理において記号変換が継続される。次段階の長さ8の記号変換列は使用済み鍵リスト33には用いられた旨の情報が保持されておらず、第2の処理により、当該長さ8の記号変換列が第2の処理の出力とされる。
【0047】
第3の処理は、第2の処理までで得られている暗号文の長さに達した変換記号列の長さが暗号文の長さを超えるものとなっている場合に、変換記号列の長さを暗号文の長さとなるように調整する処理である。生成した変換記号列のうち、暗号文の長さまでの部分を採用し、暗号文の長さを超える部分については廃棄する処理を行なって暗号文と同一の長さの変換記号列を得る。図2の例では、第2の処理までで得られた長さ8の変換記号列から、暗号文の長さ7に相当する前半部分の7つの記号列を採用し、後半部分の残り1つの記号列を廃棄する。つまり第3の処理により得られた変換記号列は“abababa”となる。
【0048】
第4の処理は、暗号鍵変換部34を用いて、変換記号列生成処理部32が生成した変換記号列を暗号鍵として用いる記号列に変換する処理である。変換記号列生成処理部32が生成する変換記号列が当初から暗号鍵として用いる記号列であれば、当該第4の処理は必要ない。この例では、暗号鍵を“0”と“1”の2進数列とする。図2(c)に示されるように、A→“1”,a→“1”,b→“0”と変換すると暗号鍵“1010101”が得られる。
【0049】
変換記号列生成処理部32は、以上の4つの処理により暗号文の長さの変換記号列を生成する。可変長鍵生成処理部30は、変換記号列生成処理部32が生成した変換記号を暗号鍵として利用する。つまり送信者システム100と同様、受信者システム200においても暗号鍵“1010101”が生成される。
【0050】
このように、送信者システム100が用いた暗号鍵と同一の暗号鍵が受信者システム200においても得られる。
【0051】
ストリーム暗号化処理部40は、可変長鍵生成処理部30が生成した暗号鍵を用いてストリーム暗号文から平文を復号化する部分である。ここでは、ストリーム暗号文の各記号に対して暗号鍵の記号を差し引く。暗号文と暗号鍵の長さは同じなので暗号文の各記号に対応する暗号鍵の記号が差し引かれる。この例では長さ7の暗号文の各文字に対して対応する暗号鍵の7つの記号“1010101”が各々差し引かれ、平文が得られる。
【0052】
最後に以上の可変長鍵暗号システムの処理の流れをフローチャートとして表わす。当該フローチャートに記載された処理ステップを用いれば、本発明の可変長暗号処理を実行する方法が理解される。図3に送信者システム100における処理ステップ、図4に受信者システム200における処理ステップを記載した。
【0053】
図3のように、送信者システム100において、データ入力部10からの平文の入力処理(ステップS301)、データ列長さ検出処理部20による平文の長さ検出処理(ステップS302)、可変長鍵生成処理部30による第1の処理(ステップS303)、第2の処理(ステップS304)、変換記号列が過去に利用されていた場合の記号変換継続処理(ステップS305)、変換記号列が過去に利用されていないものである場合の第3の処理(ステップS306)、第4の処理(ステップS307)、ストリーム暗号処理部40によるストリーム暗号化処理(ステップS308)が実行される。
【0054】
同様に図4のように、受信者システム200において、通信インタフェース部50を介したデータ入力部10からの暗号文の入力処理(ステップS401)、データ列長さ検出処理部20による暗号文の長さ検出処理(ステップS402)、可変長鍵生成処理部30による第1の処理(ステップS403)、第2の処理(ステップS404)、変換記号列が過去に利用されていた場合の記号変換継続処理(ステップS405)、変換記号列が過去に利用されていないものである場合の第3の処理(ステップS406)、第4の処理(ステップS407)、ストリーム暗号処理部40によるストリーム暗号復号化処理(ステップS408)が実行される。
【0055】
以上の送信者システム100による暗号化処理および受信者システム200による復号化処理により、ストリーム暗号方式の暗号鍵を鍵配送することなく、平文の長さ、暗号文の長さに基づいて、暗号鍵を生成することができ、高いセキュリティを実現できる。疎言語を発生させるために必要なパラメータは初期列、変換規則の組のみである。暗号化鍵は使いすてにするため、暗号文のみから平文が解読される恐れはない。また、暗号化鍵生成は記号変換の繰り返しであり並列実行も可能だから少ない計算時間で鍵を生成することが出来る。ひとたび鍵が生成されれば暗号化及び復号化は加算と減算だけで行なわれるため極めて高速である。従って大量のデータの暗号化を高速に行なうことが出来る。
【0056】
(実施形態2)
実施形態2の可変長鍵暗号システムは、k(kは2以上の整数)疎言語の可変長鍵生成装置を利用したものである。実施形態1に比べ、変換規則の組を複数セット用意しておき、記号変換の際に動的に1組の変換規則を選び出して記号変換を行ない、どの変換規則の組を用いたかを識別するための情報として、ハッシュ関数を利用するものである。本実施形態2では、説明の便宜上、2疎言語の可変長鍵生成装置を説明する。
【0057】
図5は、本発明の実施形態2の可変長鍵暗号システムの構成例である。図5において、100aは送信者側のシステム、つまり平文を暗号化するもの、200aは受信者側のシステム、つまり暗号文を復号化して平文を生成するものである。300は送信者1と受信者2のデータをやりとりする通信路である。
【0058】
送信者システム100aには、データ入力部10、データ列長さ検出処理部20、可変長鍵生成処理部30a、ストリーム暗号化処理部40、通信インタフェース50が備えられている。なお、システムの制御に必要なコントローラ、メモリなどは図示を省略している。
【0059】
データ入力部10、データ列長さ検出処理部20、ストリーム暗号化処理部40、通信インタフェース50のそれぞれは、実施形態1で説明した送信者システム100において同一の番号を付した構成要素と同様のものであり、ここでの説明は適宜省略する。
【0060】
可変長鍵生成処理部30aは、後述するように初期記号列と変換規則を用いて任意の長さの暗号鍵を生成する部分であり、実施形態1と同様、検出した平文の長さに基づいて暗号鍵を生成するものであるが、本実施形態2の可変長鍵生成処理部30aは、変換規則保持部31a、変換記号列生成処理部32a、使用済み鍵リスト33、暗号鍵変換部34に加え、変換規則選択関数処理部35およびハッシュ関数処理部36を備えている。
【0061】
変換規則保持部31aは変換規則を保持する部分であるが、実施形態2では図6に示すように変換規則の組を複数セット保持している。図6の例は、説明の便宜上、1組あたり3つの記号についての簡単な変換規則の組とし、変換規則1と変換規則2の2組のみ保持している例を示している。実際に用いる変換規則としては、記号数を増やすことができ、また、セット数も多く持たせることができることは言うまでもない。図6の例の変換規則は、一部の記号については長さ1のものを長さ2の記号列に変換するものであるが、実施形態1と同様、変換前後で長さを3倍にしたりなどの工夫も可能である。
【0062】
変換規則選択関数処理部35は、変換規則保持部31aが保持している複数セットの変換規則の組から動的に1組の変換規則の組を選択するものである。変換規則選択関数には多様なものが想定できるが、ここでは、一例として平文の長さが素数の場合には“1”つまり変換規則1を選択し、素数でない場合には“2”つまり変換規則2を選択する関数とする。この関数によれば、原理的には素数の分布が解明されていない現在、変換規則1と変換規則2がどのように選択されるかという傾向を解明することはできない。本実施形態2でも例として平文の長さを7とすると、7は素数なので変換規則選択関数により変換規則1が選択される。
【0063】
可変長鍵生成処理部30aは、実施形態1と同様、選択された変換規則1と初期記号列を用いて変換記号列生成処理部32aにより平文の長さに応じた変換記号列を生成する。なお、実施形態2においても変換記号列生成処理部32aは、実施形態1で述べた第1の処理〜第4の処理を実行する。この例では選択された変換規則1は実施形態1で説明した図2(a)のものと同じであるので生成される記号列も図2(b)に示したものと同様になり、ここでは、変換記号“abababa”が生成されたものとする。可変長鍵生成処理部30aは、“1010101”を暗号鍵とする。
【0064】
ハッシュ関数処理部36は、変換記号列生成処理部32aにより生成された変換記号列を基にハッシュ関数を計算し、ハッシュ値を求める。セキュリティ強度向上のため、ハッシュ関数としては、規則性がなく見破られにくいものが好ましく、真性乱数列であることが好ましい。この例では、暗号鍵“1010101”に対してハッシュ値H1が計算されたものとする。
【0065】
ストリーム暗号化処理部40は、実施形態1と同様、可変長鍵生成処理部30aが生成した暗号鍵を用いて平文からストリーム暗号文を生成する部分である。ここでは、7文字の平文の各文字に対して対応する暗号鍵の7つの記号“1010101”が各々加えられる。
【0066】
通信インタフェース50は、ネットワーク300を介した通信のインタフェースを提供する部分である。実施形態2ではストリーム暗号化処理部40が生成したストリーム暗号文およびハッシュ関数値H1を受信者システム200aに対して送信する。なお、暗号化処理に使用した暗号鍵の長さに関する情報も使用済み鍵リスト33の内容を同期させるために通信する。
【0067】
次に、受信者システム200aにおける復号化処理を説明する。
【0068】
受信者システム200aは、データ入力部10、データ列長さ検出処理部20、可変長鍵生成処理部30a、ストリーム暗号化処理部40、通信インタフェース50が備えられている。なお、システムの制御に必要なコントローラ、メモリなどは図示を省略している。
【0069】
データ入力部10、データ列長さ検出処理部20、ストリーム暗号化処理部40、通信インタフェース50のそれぞれは、実施形態1で説明した受信者システム200において同一の番号を付した構成要素と同様のものであり、ここでの説明は適宜省略する。
【0070】
通信インタフェース50を介してデータ入力部10から暗号文とハッシュ値が受信される。この例ではハッシュ値はH1である。
【0071】
可変長鍵生成処理部30aは、初期記号列と変換規則を用いて任意の長さの復号に用いる鍵(つまり暗号鍵と同一のもの)を生成する部分であるが、本実施形態では変換規則の組が複数セットあり、どの変換規則の組を用いて生成した暗号鍵が正しいものかを決定する必要がある。
【0072】
可変長鍵生成処理部30aは、変換規則保持部31a、変換記号列生成処理部32a、使用済み鍵リスト33、暗号鍵変換部34に加え、ハッシュ関数処理部36を備えている。ここで、変換規則保持部31aが保持する変換規則の組の複数のセットそれぞれは、送信者システム100aの変換規則保持部31aが保持する変換規則の組の複数のセットそれぞれと同一のものであり、また、ハッシュ関数処理部36の保持するハッシュ関数は、送信者システム100aのハッシュ関数処理部36が保持するハッシュ関数と同一のものであり、事前に安全な方法で送信者システム100aおよび受信者システム200a相互に配送されているものとする。また、用いる初期記号列も送信者システム100aが利用するものと同一であり、同様に事前に安全な方法で送信者システム100aおよび受信者システム200a相互に配送されているものとする。
【0073】
変換記号列生成処理部32aは、初期記号列を変換規則保持部31aが保持している変換規則の組のそれぞれを用いて暗号文の長さの変換記号列を生成する。つまり、この例では、図6に示した変換規則1と初期記号列を用いて暗号鍵1を生成し、また、変換規則2と初期記号列を用いて暗号鍵2を生成する。なお、暗号鍵の生成は実施形態1で説明した第1の処理〜第3の処理を用いる点は同様である。変換規則1と初期記号列から第1の変換記号列“abababa”および第1の暗号鍵“1010101”が生成され、また、変換規則2と初期記号列から第2の変換記号列“bababab”および“0101010”が生成されたものとする。
【0074】
可変長鍵生成処理部230aは、ハッシュ関数処理部236を用いて生成されたそれぞれの暗号鍵からハッシュ値を求める。この例では第1の暗号鍵“1010101”からハッシュ値H1を生成し、第2の暗号鍵“0101010”からハッシュ値H2を生成したものとする。可変長鍵生成処理部30aは、生成したハッシュ値と送信者システム100aから送信されたハッシュ値とを比較して、正しいハッシュ値となったものを正しい暗号鍵として決定する。この例では同じハッシュ値H1となった暗号鍵1“1010101”が正しい暗号鍵であると決定する。
【0075】
ストリーム暗号化処理部40は、可変長鍵生成処理部30aが生成した暗号鍵を用いてストリーム暗号文から平文を復号化する。この例では、長さ7の暗号文に対して暗号鍵1の7つの記号“1010101”が各々差し引かれ、平文が得られる。
【0076】
以上の送信者システム100aによる暗号化処理および受信者システム200aによる復号化処理により、ストリーム暗号方式の暗号鍵を鍵配送することなく、平文の長さ、暗号文の長さに基づいて、暗号鍵を生成することができ、また、複数の変換規則の組から動的に1組の変換規則を選択して暗号化を行なうため、より高いセキュリティを実現できる。暗号化鍵は使いすてにするため、暗号文のみから平文が解読される恐れはない。また、復号化においても複数の暗号化鍵の生成は並列実行も可能であり少ない計算時間で暗号鍵を生成することが出来る。暗号化及び復号化は加算と減算だけで行なわれるため極めて高速である。従って大量のデータの暗号化を高速に行なうことが出来る。
【0077】
(実施形態3)
実施形態3の可変長鍵暗号システムは、変換規則を複数持ち、変換規則選択関数により記号変換の各段階において用いる変換規則を切り替えるものである。変換規則選択関数として記号変換の各段階において変換記号の長さに応じて変換規則を切り替える関数を採用する。本実施形態3では、変換記号の長さが素数か否かにより変換規則を切り替える例を示す。例として1疎言語の可変長鍵生成処理のものを説明する。
【0078】
実施形態3の可変長鍵暗号システムの構成自体は、実施形態2と同様のもので良く、図5に示すものである。本実施形態3の例は、変換規則選択関数として記号変換の各段階においてその記号列の長さが素数であるか否かを判断して変換規則を切り替えるものである。変換記号列の長さが素数であれば変換規則1を用い、変換記号列の長さが素数でなければ変換規則2を用いる。
【0079】
変換規則保持部31aは、図7(a)のように変換規則1と変換規則2の2つの変換規則を保持している。変換規則選択関数処理部35の持つ変換規則選択関数は、記号変換する各ステップで記号列の長さが素数であれば変換規則1を用い、素数でなければ変換規則2を用いるというものである。
【0080】
可変長鍵生成処理部30aは、その第1の処理において、図7(b)に示すようにAから始めて、各記号変換の段階において記号列の長さが素数であるか否かにより変換規則を切り替えて記号列を生成してゆく。この例では、平文の長さを7とすると、図7(b)のように初期記号列Aから生じる変換記号列の長さに基づいて用いられる変換規則が切り替えられてゆき、長さ7の変換記号列“babaabA”が得られる。なお、第2の処理〜第4の処理は実施形態2と同様であるのでここでの詳しい説明は省略する。この例では、使用済み鍵リスト33の情報を参照して長さ7の変換記号列は過去に利用されていることが検知され、長さ8の変換記号列“ababbaaA”を基に“10100111”に変換され、上位7ビットが暗号鍵“1010011”が生成され、この暗号鍵を基にストリーム暗号が生成される。
【0081】
受信者システムの可変長鍵生成処理部においても暗号文の長さ7に基づいて長さ7の変換記号列“babaabA”が生成され、使用済み鍵リストの情報を参照して長さ7の変換記号列は過去に利用されていることが検知され、長さ8の変換記号列“ababbaaA”を基に“10100111”が生成され、上位7ビット“1010011”が暗号鍵として生成される。この暗号鍵を基にストリーム暗号が復号され、平文が得られる。
【0082】
(実施形態4)
実施形態4の可変長鍵暗号システムは、実施形態3と同様、変換規則を複数持ち、変換規則選択関数により記号変換の各段階において用いる変換規則を切り替えるものであり、変換規則選択関数として記号変換の各段階において変換記号の長さに応じて変換規則を切り替える関数を採用したものである。本実施形態4では、変換記号の長さの剰余算の結果により変換規則を切り替える例を示す。例として1疎言語の可変長鍵生成処理のものを説明する。
【0083】
実施形態4の可変長鍵暗号システムの構成自体は、実施形態2と同様、図5に示すものである。本実施形態4の例は、変換規則選択関数として剰余算を用いるものである。
【0084】
変換規則保持部31aは、図8(a)のように変換規則1〜変換規則4までの4つの変換規則を保持している。変換規則選択関数処理部35の持つ変換規則選択関数は、xを記号列の長さとしたとき、3xmod5の剰余算の結果の番号の変換規則を用いるというものである。つまり、記号変換が行なわれ、記号列の長さが変化するごとにその長さの剰余算を行ない、得られる数値の番号の規則をもって次段階の記号変換を実行するものである。
【0085】
可変長鍵生成処理部30aは、その第1の処理において、図8(b)に示すように初期記号列ABCDから始めて、各記号変換の段階において記号列の長さの剰余算を実行してその結果により変換規則を切り替えて記号列を生成してゆく。第1回目の記号変換は、初期記号列ABCDは長さ4であり、3xmod5=1により変換規則1が採用され“aABCD”が得られる。次に、その変換記号列の長さは5であるので、3xmod5=3となり、変換規則3が採用され“bABcCD”となる。このように変換が進み、長さ7の“aABbCdD”が得られる。なお、第2の処理〜第4の処理は実施形態2と同様であるのでここでの説明は省略する。この例では、使用済み鍵リスト33の情報を参照して長さ7の変換記号列は過去に利用されていることが検知され、長さ8の変換記号列“bAbBaCcD”が生成され、図8(b)に示すように記号と数値の対応から数値に変換され、数値列“00011011”が生成される。上位7ビット分が抽出され、暗号鍵“0001101”が得られる。この暗号鍵を基にストリーム暗号が生成される。
【0086】
受信者システムの可変長鍵生成処理部においても暗号文の長さ7に基づいて長さ7の変換記号列“aABbCdD”が生成され、この例では、使用済み鍵リスト33の情報を参照して長さ7の変換記号列は過去に利用されていることが検知され、長さ8の変換記号列“bAbBaCcD”が生成され、数値列“00011011”が生成され、上位7ビットが抽出されて最終的に“0001101”の暗号鍵が生成される。この暗号鍵を基にストリーム暗号が復号され、平文が得られる。
【0087】
(実施形態5)
実施形態5の可変長鍵暗号システムは、初期記号列を暗号化鍵生成に利用される記号と当該記号とは異なるダミー記号との合成初期記号列とし、変換規則を暗号鍵生成に用いられる記号に対する記号変換規則と当該記号とは異なるダミー記号に対する記号変換規則との合成変換規則とし、合成初期記号列と合成変換規則を用いて記号変換を繰り返し、生成した記号列から暗号鍵生成に利用される記号のみを抽出して暗号化鍵を生成するものである。例として1疎言語のものを説明する。
【0088】
実施形態5の可変長鍵暗号システムの構成は、図9に示すものである。図9において、100bは送信者側のシステム、つまり平文を暗号化するもの、200bは受信者側のシステム、つまり暗号文を復号化して平文を生成するものである。300は送信者1と受信者2のデータをやりとりする通信路である。
【0089】
送信者システム100bには、データ入力部10、データ列長さ検出処理部20、可変長鍵生成処理部30b、ストリーム暗号化処理部40、通信インタフェース50が備えられている。なお、システムの制御に必要なコントローラ、メモリなどは図示を省略している。
【0090】
データ入力部10、データ列長さ検出処理部20、ストリーム暗号化処理部40、通信インタフェース50のそれぞれは、実施形態1で説明した送信者システム100において同一の番号を付した構成要素と同様のものであり、ここでの説明は適宜省略する。
【0091】
可変長鍵生成処理部30bは、変換規則保持部31b、変換記号列生成処理部32b、使用済み鍵リスト33、暗号鍵変換部34、変換規則選択関数処理部35、ハッシュ関数処理部36に加え、ダミー記号除去処理部37を備えている。
【0092】
ここで、ダミー記号除去処理部37は、変換記号列生成処理部32bが生成した変換記号列からダミー記号を除去して暗号鍵生成に関与する記号のみを抽出する部分である。
【0093】
実施形態5は、初期記号列として、最終的に暗号鍵記号生成に関与しないダミー記号を含むものを利用する。ここでは例として、実施形態4で用いた“ABCD”とするが、ここでBとbは最終的に暗号鍵記号生成に関与しないダミー記号とする。また、実施形態5は、変換規則の組を複数セット持つが、ダミー記号に関する変換規則も含むものである。例として、実施形態4と同様、変換規則保持部31bは、図10(a)のように変換規則1〜変換規則4までの4つの変換規則を保持しているが、この変換規則において、Bおよびbは最終的に暗号鍵生成に関与しないダミー記号であるものとする。
【0094】
変換規則選択関数処理部35の持つ変換規則選択関数は、実施形態4と同様、xを記号列の長さとしたとき、3xmod5の剰余算の結果の番号の変換規則を用いるというものとする。
【0095】
可変長鍵生成処理部30bは、実施形態4と同様、その第1の処理において、図10(b)に示すようにABCDから始めて、各記号変換の段階において記号列の長さの剰余算を実行してその結果により図10(a)に示した変換規則を切り替えて記号列を生成してゆく。
【0096】
本実施形態5では、実施形態2で説明した第2の処理の前に、以下の第5の処理を実行する。第5の処理とは、ダミー記号除去処理部37により、変換記号列生成処理部32bが生成した変換記号列からダミー記号を除去して暗号鍵生成に関与する記号のみを抽出し、当該変換記号列の長さが平文の長さに達していなければ、第1の処理を継続して記号変換を実行し、抽出した暗号鍵生成に関与する記号のみから構成される変換記号列の長さが平文の長さに達するまで記号変換を繰り返す処理である。この例では、平文の長さを7とすると、図10(b)のように第1の処理による変換記号列の長さが7の場合は“aABbCdD”、第5の処理によりダミー記号を除去すれば“aACdD”と長さは5となるので、第1の処理を継続実行する。長さ8の変換記号列“bAbBaCcD”は第5の処理によりダミー記号を除去すれば“AaCcD”と長さは5となるのでさらに第1の処理を継続実行する。長さ10の変換記号列“cbAcBbcCdD”まで求めるとダミー記号を除去したものは“cAccCdD”で長さは7となるので、第5の処理により“cAccCdD”が得られる。
【0097】
第2の処理〜第4の処理は、実施形態2と同様である。この例では、使用済み鍵リスト33には長さ7の変換記号列は使用されていなかったとする。最終的に“cAccCdD”が暗号鍵を構成する2進数に変換されて暗号鍵“1011001”が得られる。当該暗号鍵をもってストリーム暗号を生成する。
【0098】
受信者側のシステム200bの可変長鍵生成処理部においても、暗号鍵の長さ7を基に初期記号列“ABCD”から変換を始めて第1の処理から第5の処理を経て、“cAccCdD”から暗号鍵“1011001”が得られる。当該暗号鍵をもってストリーム暗号を復号し、平文を得る。
【0099】
(実施形態6)
本発明の可変長鍵暗号システムは、上記に説明した構成を実現する処理ステップを記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することにより、各種コンピュータを用いて構築することができる。本発明の可変長鍵暗号システムを実現する処理ステップを備えたプログラムを記録した記録媒体は、図11に図示した記録媒体の例に示すように、CD−ROM402やフレキシブルディスク403等の可搬型記録媒体401だけでなく、ネットワーク上にある記録装置内の記録媒体400や、コンピュータのハードディスクやRAM等の記録媒体405のいずれであっても良く、プログラム実行時には、プログラムはコンピュータ404上にローディングされ、主メモリ上で実行される。
【0100】
なお、本発明の可変長鍵暗号システムは、上記の発明の概念から逸脱することなく、上記の方法及び装置に種々の変更及び変形を成し得ることが理解されよう。従って、本発明は上記実施形態に限定されるものではないことに注意する必要がある。
産業上の利用可能性
本発明は、以上説明したように構成されているので以下に記載されるような効果を奏する。
【0101】
本発明の可変長鍵暗号システムでは、平文及び暗号文の長さにより暗号化及び復号化の鍵が選択されるので鍵配送の手数が不要になる。
【0102】
暗号化及び復号化装置が共通して持つべき秘密のパラメータは、可変長鍵生成処理部を構成するための初期列、変換規則の組、変換規則選択関数及びハッシュ関数値を暗号化するための真性乱数列である。これらはいずれも少ない情報量で表わすことが出来る。そのため、例えば公開鍵暗号方式を用いて安全かつ手軽に送ることが出来る。
【0103】
本発明の暗号システムでは鍵を使いすてにするため、暗号文のみから解読される恐れはない。任意に得られた鍵から可変長鍵生成処理部を推測することも、可変長鍵生成処理部を構成するパラメータの組み合わせが無限にあるため不可能である。従って本暗号システムの安全性は極めて高い。
【0104】
可変長鍵生成処理部による鍵生成は記号変換と変換規則選択関数の実行の繰り返しである。変換規則選択関数を計算が容易な関数にしておけば、鍵生成は高速に行なえる。
【0105】
ひとたび鍵が生成されれば暗号化は加算、復号化は減算のみで行なわれるため、極めて高速に実行できる。平文、暗号文及び鍵がいずれも0と1より成る場合は暗号化と復号化は共に排他的論理和演算により行なわれ、さらに高速に実行できる。
【0106】
暗号化と復号化装置は同じ構成要素、例えば可変長鍵生成処理部を含むため、実際に構築するのが簡単になる。
【図面の簡単な説明】
【図1】 本発明の実施形態1の可変長鍵暗号システムの構成例を示す図
【図2】 本発明の実施形態1の変換規則保持部31が保持する変換規則の例を示す図
【図3】 本発明の実施形態1の送信者システム100における処理ステップを示すフローチャート
【図4】 本発明の実施形態1の受信者システム200における処理ステップを示すフローチャート
【図5】 本発明の実施形態2の可変長鍵暗号システムの構成例を示す図
【図6】 本発明の実施形態2の変換規則保持部31aが保持する変換規則の例を示す図
【図7】 本発明の実施形態3の変換規則保持部31aが保持する変換規則の例を示す図
【図8】 本発明の実施形態4の変換規則保持部31aが保持する変換規則の例を示す図
【図9】 本発明の実施形態5の可変長鍵暗号システムの構成例を示す図
【図10】 本発明の実施形態5の変換規則保持部31bが保持する変換規則の例を示す図
【図11】 本発明の可変長鍵暗号システムの処理プログラムを記録した記録媒体の例を示す図
Claims (16)
- 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とし、復号化においては暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得るストリーム暗号処理を行う可変長鍵暗号システムにおいて、
任意の長さの暗号鍵を生成する可変長鍵生成処理部と、文字列の長さを検出するデータ列長さ検出処理部を備え、
前記可変長鍵生成処理部は、記号または記号列をその長さを上回る長さの記号列に変換する変換規則を保持する変換規則保持部と、初期記号列から前記変換規則を用いた記号変換を繰り返すことにより新たな記号列を生成する変換記号列生成処理部とを備え、
前記平文の暗号化においては、前記データ列長さ検出部が平文の長さを検出し、前記可変長鍵生成処理部が、前記初期記号列と変換規則とを用いて、前記検出された平文長さと同一の長さの記号列を生成し、生成された記号列に基づいて暗号鍵を生成してストリーム暗号処理に利用し、
前記暗号文の復号化においては、前記データ列長さ検出処理部が暗号文の長さを検出し、前記可変長鍵生成処理部が、前記検出された暗号文長さに基づき、前記平文の暗号化で用いられたものと同じ初期記号列と変換規則とを用いることにより、前記平文の暗号化で用いられた前記暗号鍵と同一の暗号鍵を生成してストリーム復号処理に利用する可変長鍵暗号システム。 - 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とし、復号化においては暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得るストリーム暗号処理を行う可変長鍵暗号システムにおいて、
任意の長さの暗号鍵を生成する可変長鍵生成処理部と、文字列の長さを検出するデータ列長さ検出処理部とを備え、
前記可変長鍵生成処理部は、記号または記号列をその長さを上回る長さの記号列に変換する変換規則の組を複数保持する変換規則保持部と、変換される記号列の長さに基づいて前記複数の変換規則の組から一つの変換規則の組を選択する変換規則選択関数処理部と、初期記号列から前記変換規則を用いた記号変換を繰り返して新たな記号列を生成する変換記号列生成処理部と、ハッシュ関数を用いて文字列からハッシュ値を求めるハッシュ関数処理部とを備え、
前記平文の暗号化においては、前記データ列長さ検出部が平文の長さを検出し、前記可変長鍵生成処理部が、前記初期記号列と前記変換規則選択関数処理部により選択された変換規則とを用いて、前記検出された平文長さと同一の長さの記号列を生成し、生成された記号列に基づいて暗号鍵を生成してストリーム暗号処理に利用し、前記ハッシュ関数処理部が前記ストリーム暗号処理に利用された暗号鍵のハッシュ値を生成し、生成した暗号文と併せて前記ハッシュ値を送信し、
前記暗号文の復号化においては、前記データ列長さ検出処理部が暗号文の長さを検出し、前記可変長鍵生成処理部が、前記平文の暗号化で用いられたものと同じ初期記号列と、前記複数の変換規則の組とを用いて、前記検出された暗号文長さと同一の長さの暗号鍵を複数個生成し、生成された前記複数個の暗号鍵のそれぞれに対するハッシュ値を生成し、前記送信されたハッシュ値と等しいハッシュ値を有する暗号鍵をストリーム復号処理に利用する可変長鍵暗号システム。 - 前記ハッシュ関数としてあらかじめ送信者と受信者が秘密保持する共通の真性乱数列を用いる請求項2に記載の可変長鍵暗号システム。
- 前記変換記号列生成処理部において、前記初期記号列を前記暗号鍵を構成する記号とは異なる種類の記号の初期記号列とし、前記変換規則を前記暗号鍵を構成する記号とは異なる種類の記号に対する記号変換規則とし、当該初期記号列と記号変換規則を用いて記号変換を繰り返し、
前記可変長鍵生成処理部が、前記変換記号列生成処理部により生成された記号列の各記号を前記暗号鍵を構成する記号に変換する第2の記号変換により前記暗号鍵を生成する暗号鍵変換部をさらに備えた、請求項1または2に記載の可変長鍵暗号システム。 - 前記変換記号列生成処理部において、前記初期記号列を前記暗号鍵生成に利用される記号と当該記号とは異なるダミー記号との合成初期記号列とし、前記変換規則を前記暗号鍵生成に用いられる記号に対する記号変換規則と前記記号とは異なるダミー記号に対する記号変換規則との合成変換規則とし、
前記合成初期記号列と前記合成変換規則を用いて記号変換を繰り返し、生成した記号列から前記暗号鍵生成に利用される記号のみを抽出して暗号鍵を生成する請求項1または2に記載の可変長鍵暗号システム。 - 前記変換記号列生成処理部が、平文の長さに達した生成した変換記号列の長さが既に過去の暗号鍵の生成に利用された長さであれば、記号変換を継続して過去の暗号鍵の生成に利用されていない長さの変換記号列を生成し、当該変換記号列のうち、平文の長さまでの部分を採用して平文の長さを超える部分については廃棄して前記暗号鍵を生成する請求項1〜5のいずれかに記載の可変長鍵暗号システム。
- 前記変換記号列生成処理部が、前記平文の長さに達した生成した変換記号列の長さが前記平文の長さを超えるものとなった場合に、当該変換記号列のうち、平文の長さまでの部分を採用して平文の長さを超える部分については廃棄して前記暗号鍵を生成する請求項1〜5のいずれかに記載の可変長鍵暗号システム。
- 前記変換記号列生成処理部が、過去に使われた暗号鍵の長さの履歴情報を記録する使用済み鍵リストを備えた請求項6に記載の可変長鍵暗号システム。
- 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とする第1のコンピュータと、前記第1のコンピュータから送信された暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得る第2のコンピュータとを備えた、ストリーム暗号処理を行う可変長鍵暗号システムにおいて、前記第1のコンピュータに暗号化処理を実行させるための処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理プログラムは、
前記第1のコンピュータへ入力された平文の長さを検出するデータ列長さ検出処理ステップと、
記号または記号列をその長さを上回る長さの記号列に変換する変換規則を保持した前記第1のコンピュータの変換規則保持メモリを参照し、初期記号列から前記変換規則を用いた記号変換を繰り返して前記データ列長さ検出処理ステップにより検出された平文の長さと同一の長さの記号列を生成し、生成された記号列に基づいて暗号鍵を生成し、前記第1のコンピュータのメモリに格納する暗号鍵生成処理ステップと、
前記メモリから暗号鍵を読み出して前記平文へ加えることによりストリーム暗号を生成するストリーム暗号生成処理ステップと、
前記ストリーム暗号を前記第2のコンピュータへ送信する送信ステップとを、
前記第1のコンピュータのプロセッサに実行させることを特徴とする、コンピュータ読取り可能な記録媒体。 - 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とする第1 のコンピュータと、前記第1のコンピュータから送信された暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得る第2のコンピュータとを備えた、ストリーム暗号処理を行う可変長鍵暗号システムにおいて、前記第2のコンピュータに復号化処理を実行させるための処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理プログラムは、
前記第1のコンピュータから受け取った暗号文の長さを検出するデータ列長さ検出処理ステップと、
記号または記号列をその長さを上回る長さの記号列に変換する変換規則であってかつ前記第1のコンピュータにおいて暗号化の際に用いられたものと同じ変換規則と、前記第1のコンピュータにおいて暗号化の際に用いられたものと同じ初期記号列とを保持した前記第2のコンピュータの変換規則保持メモリを参照し、前記検出された暗号文長さに基づき、前記初期記号列と前記変換規則とを用いることにより、前記平文の暗号化で用いられた前記暗号鍵と同一の暗号鍵を生成し、前記第2のコンピュータのメモリに格納する暗号鍵生成処理ステップと、
前記メモリから暗号鍵を読み出して前記平文から差し引くことにより前記暗号文を復号するストリーム暗号復号処理ステップとを、
前記第2のコンピュータのプロセッサに実行させることを特徴とする、コンピュータ読取り可能な記録媒体。 - 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とする第1のコンピュータと、前記第1のコンピュータから送信された暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得る第2のコンピュータとを備えた、ストリーム暗号処理を行う可変長鍵暗号システムにおいて、前記第1のコンピュータに暗号化処理を実行させるための処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理プログラムは、
前記第1のコンピュータへ入力された平文の長さを検出するデータ列長さ検出処理ステップと、
記号または記号列をその長さを上回る長さの記号列に変換する変換規則を複数組保持した前記第1のコンピュータの変換規則保持メモリを参照し、変換される記号列の長さに基づいて前記複数の変換規則の組から一つの変換規則の組を選択する変換規則選択関数処理ステップと、
前記変換規則選択関数処理ステップで選択した変換規則を用いて初期記号列から記号変換を繰り返すことにより、前記データ列長さ検出処理ステップにより検出された平文の長さと同一の長さの記号列を生成し、生成された記号列に基づいて暗号鍵を生成し、前記第1のコンピュータのメモリに格納する暗号鍵生成処理ステップと、
前記メモリに格納された暗号鍵を読み出して前記平文へ加えることによりストリーム暗号を生成するストリーム暗号生成処理ステップと、
前記メモリに格納された暗号鍵のハッシュ値をハッシュ関数により生成し、生成されたハッシュ値を前記ストリーム暗号と併せて前記第2のコンピュータへ送信する暗号送信処理ステップとを、
前記第1のコンピュータのプロセッサに実行させることを特徴とする、コンピュータ読取り可能な記録媒体。 - 平文と暗号鍵を1文字ずつ数値とみなして加え、その和を並べた列を暗号文とする第1のコンピュータと、前記第1のコンピュータから送信された暗号文を1文字ずつ数値とみなして暗号鍵を1文字ずつ数値とみなした値を引くことにより元の平文を得る第2のコンピュータとを備えた、ストリーム暗号処理を行う可変長鍵暗号システムにおいて、前記第2のコンピュータに復号化処理を実行させるための処理プログラムを記録したコンピュー タ読み取り可能な記録媒体であって、
前記処理プログラムは、
前記第1のコンピュータから暗号文とハッシュ値とを受信する受信処理ステップと、
前記第1のコンピュータから受信した暗号文の長さを検出するデータ列長さ検出処理ステップと、
記号または記号列をその長さを上回る長さの記号列に変換する変換規則であってかつ前記第1のコンピュータにおいて暗号化の際に用いられ得るものと同じ変換規則を複数組と、前記第1のコンピュータにおいて暗号化の際に用いられたものと同じ初期記号列とを保持した前記第2のコンピュータの変換規則保持メモリを参照し、前記初期記号列と前記複数組の変換規則とを用いて、前記データ列長さ検出処理ステップにより検出された暗号文の長さと同一の長さの暗号鍵を複数個生成し、前記第2のコンピュータのメモリに格納する暗号鍵生成処理ステップと、
前記複数個の暗号鍵のそれぞれに対するハッシュ値を生成し、前記第1のコンピュータから受信したハッシュ値と等しいハッシュ値を有する暗号鍵を前記メモリから読み出して前記平文から差し引くことにより、前記暗号文を復号するストリーム暗号復号処理ステップとを、
前記第2のコンピュータのプロセッサに実行させることを特徴とする、コンピュータ読み取り可能な記録媒体。 - 前記処理プログラムは、前記暗号鍵生成処理ステップにおいて、前記初期記号列を前記暗号鍵生成に利用される記号と当該記号とは異なるダミー記号との合成初期記号列とし、前記変換規則を前記暗号鍵生成に用いられる記号に対する記号変換規則と前記記号とは異なるダミー記号に対する記号変換規則との合成変換規則とし、前記合成初期記号列と前記合成変換規則を用いて記号変換を繰り返し、生成した記号列から前記暗号鍵生成に利用される記号のみを抽出して暗号鍵を生成する処理を前記プロセッサに実行させる、請求項9〜12のいずれかに記載の記録媒体。
- 前記処理プログラムは、前記暗号鍵生成処理ステップにおいて、過去に利用された暗号鍵に関する情報を記憶した使用済み鍵リストを参照し、平文の長さに達した生成した変換記号列の長さが既に過去の暗号鍵の生成に利用された長さであれば、記号変換を継続して過去の暗号鍵の生成に利用されていない長さの変換記号列を生成し、当該変換記号列のうち、平文の長さまでの部分を採用して平文の長さを超える部分については廃棄して前記暗号鍵を生成する処理を前記プロセッサに実行させる、請求項9〜13のいずれかに記載の記録媒体。
- 前記処理プログラムは、前記暗号鍵生成処理ステップにおいて、前記平文の長さに達した生成した変換記号列の長さが前記平文の長さを超えるものとなった場合に、当該変換記号列のうち、平文の長さまでの部分を採用して平文の長さを超える部分については廃棄して前記暗号鍵を生成する処理を前記プロセッサに実行させる、請求項9〜13のいずれかに記載の記録媒体。
- 前記処理プログラムは、前記暗号鍵生成処理ステップにおいて、過去に使われた暗号鍵の長さの履歴情報を含む使用済み鍵リストを記録したメモリを前記プロセッサに参照させる、請求項14に記載の記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1999/005803 WO2001030020A1 (fr) | 1999-10-20 | 1999-10-20 | Systeme de cryptage de cle a longueur variable |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3782351B2 true JP3782351B2 (ja) | 2006-06-07 |
Family
ID=14237062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001531254A Expired - Fee Related JP3782351B2 (ja) | 1999-10-20 | 1999-10-20 | 可変長鍵暗号システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7224795B2 (ja) |
EP (1) | EP1223707B1 (ja) |
JP (1) | JP3782351B2 (ja) |
DE (1) | DE69929251T2 (ja) |
WO (1) | WO2001030020A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101330071B1 (ko) | 2013-07-01 | 2013-11-18 | (주)아울시스템즈 | 데이터베이스의 숫자형 데이터의 보안 방법 및 장치 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0116016D0 (en) * | 2001-06-29 | 2001-08-22 | Simoco Digital Systems Ltd | Communications systems |
EP2824868A1 (fr) * | 2001-08-24 | 2015-01-14 | Thomson Licensing | Réseau numérique local, procédés d'installation de nouveux dispositifs et procédés de diffusion et de réception de données dans un tel réseau |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US7783765B2 (en) | 2001-12-12 | 2010-08-24 | Hildebrand Hal S | System and method for providing distributed access control to secured documents |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US8006280B1 (en) * | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US7260555B2 (en) | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
US20040220941A1 (en) * | 2003-04-30 | 2004-11-04 | Nielson Mark R. | Sorting variable length keys in a database |
US7212817B2 (en) * | 2003-04-30 | 2007-05-01 | Hewlett-Packard Development Company, L.P. | Partitioning a database keyed with variable length keys |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
CN100499451C (zh) * | 2003-08-26 | 2009-06-10 | 中兴通讯股份有限公司 | 网络通信安全处理器及其数据处理方法 |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US7707427B1 (en) | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
US8015416B2 (en) | 2004-11-19 | 2011-09-06 | Megachips Corporation | Memory information protection system and methods |
JP4119882B2 (ja) * | 2004-11-19 | 2008-07-16 | 株式会社メガチップス | メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ |
CA2594670C (en) | 2005-01-21 | 2014-12-23 | Certicom Corp. | Elliptic curve random number generation |
WO2007043297A1 (ja) * | 2005-10-11 | 2007-04-19 | Matsushita Electric Industrial Co., Ltd. | データ送信装置、及びデータ受信装置 |
JP4603499B2 (ja) * | 2006-03-22 | 2010-12-22 | Necパーソナルプロダクツ株式会社 | 自動更新システム、自動更新方法 |
JP2008113172A (ja) * | 2006-10-30 | 2008-05-15 | Hitachi Ltd | コンテンツ送信装置、コンテンツ受信装置及びコンテンツ暗号化方法 |
KR101405321B1 (ko) * | 2007-03-16 | 2014-06-27 | 재단법인서울대학교산학협력재단 | 키 연산 방법 및 이를 이용한 공유 키 생성 방법 |
US7929694B2 (en) * | 2007-05-31 | 2011-04-19 | Alcatel-Lucent Usa Inc. | Variable length private key generator and method thereof |
WO2009082356A1 (en) * | 2007-12-24 | 2009-07-02 | Nanyang Polytechnic | Method and system for securing wireless systems and devices |
DE102008010789B4 (de) * | 2008-02-22 | 2010-09-30 | Fachhochschule Schmalkalden | Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten |
JP5759932B2 (ja) * | 2012-05-24 | 2015-08-05 | 株式会社エヌ・ティ・ティ・データ | 鍵データ生成装置、鍵データ生成方法、及びプログラム |
US8744078B2 (en) * | 2012-06-05 | 2014-06-03 | Secure Channels Sa | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths |
US9465961B2 (en) * | 2012-12-18 | 2016-10-11 | Rambus Inc. | Methods and circuits for securing proprietary memory transactions |
US9690935B2 (en) * | 2012-12-31 | 2017-06-27 | Fireeye, Inc. | Identification of obfuscated computer items using visual algorithms |
JP6206866B2 (ja) | 2013-02-19 | 2017-10-04 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 難読化データをサーバに保持させる装置及び方法 |
US12028333B2 (en) | 2013-05-14 | 2024-07-02 | Kara Partners Llc | Systems and methods for variable-length encoding and decoding for enhancing computer systems |
US10057250B2 (en) * | 2013-05-14 | 2018-08-21 | Kara Partners Llc | Technologies for enhancing computer security |
US11411718B2 (en) * | 2020-06-12 | 2022-08-09 | The Boeing Company | Partial overlapping multi-key encryption of a data set |
CN111865573A (zh) * | 2020-06-22 | 2020-10-30 | 上海上实龙创智能科技股份有限公司 | 一种动态密码生成系统、生成方法、设备及存储介质 |
US11777714B2 (en) * | 2021-12-17 | 2023-10-03 | Watson Knox Williams, JR. | Matrix encryption—a symmetric key encryption technology |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2658065A1 (de) * | 1976-12-22 | 1978-07-06 | Ibm Deutschland | Maschinelles chiffrieren und dechiffrieren |
JPS62213444A (ja) * | 1986-03-14 | 1987-09-19 | Hitachi Ltd | デ−タ保護方式 |
JP2952885B2 (ja) * | 1989-04-19 | 1999-09-27 | 日本電気株式会社 | 鍵管理方式 |
EP0624013B1 (en) * | 1993-05-05 | 1998-12-02 | Zunquan Liu | Device and method for data encryption |
US5440640A (en) * | 1993-10-05 | 1995-08-08 | Arithmetica, Inc. | Multistream encryption system for secure communication |
US5454039A (en) * | 1993-12-06 | 1995-09-26 | International Business Machines Corporation | Software-efficient pseudorandom function and the use thereof for encryption |
UA41387C2 (uk) * | 1994-01-13 | 2001-09-17 | Сертко, Інк | Спосіб установлення вірогідного перевірюваного зв'язку, спосіб захищеного зв'язку, спосіб оновлення мікропрограмного забезпечення, спосіб здійснення шифрованого зв'язку та спосіб надання перевіреному на справжність пристрою права на проведення електронної транзакції |
US5425103A (en) * | 1994-03-14 | 1995-06-13 | Shaw; William Y. | Variable-key cryptography system |
US5799090A (en) * | 1995-09-25 | 1998-08-25 | Angert; Joseph C. | pad encryption method and software |
US5717756A (en) * | 1995-10-12 | 1998-02-10 | International Business Machines Corporation | System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys |
JPH1013407A (ja) * | 1996-06-25 | 1998-01-16 | Fukushima Nippon Denki Kk | スクランブルパターン設定方式 |
JP3086887B2 (ja) * | 1996-08-08 | 2000-09-11 | 株式会社ローレルインテリジェントシステムズ | 情報伝達方法、情報発信方法、情報再生方法及び通信装置 |
JP3854674B2 (ja) * | 1996-12-06 | 2006-12-06 | オリンパス株式会社 | 暗号通信装置 |
JPH1127256A (ja) * | 1997-07-07 | 1999-01-29 | Toyo Commun Equip Co Ltd | 楕円ストリーム暗号システム |
US20020124176A1 (en) * | 1998-12-14 | 2002-09-05 | Michael Epstein | Biometric identification mechanism that preserves the integrity of the biometric information |
-
1999
- 1999-10-20 EP EP99949335A patent/EP1223707B1/en not_active Expired - Lifetime
- 1999-10-20 JP JP2001531254A patent/JP3782351B2/ja not_active Expired - Fee Related
- 1999-10-20 DE DE69929251T patent/DE69929251T2/de not_active Expired - Lifetime
- 1999-10-20 WO PCT/JP1999/005803 patent/WO2001030020A1/ja active IP Right Grant
-
2002
- 2002-03-26 US US10/105,219 patent/US7224795B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101330071B1 (ko) | 2013-07-01 | 2013-11-18 | (주)아울시스템즈 | 데이터베이스의 숫자형 데이터의 보안 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US7224795B2 (en) | 2007-05-29 |
DE69929251T2 (de) | 2006-07-13 |
DE69929251D1 (de) | 2006-02-02 |
EP1223707B1 (en) | 2005-12-28 |
WO2001030020A1 (fr) | 2001-04-26 |
EP1223707A1 (en) | 2002-07-17 |
EP1223707A4 (en) | 2004-05-12 |
US20020101996A1 (en) | 2002-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3782351B2 (ja) | 可変長鍵暗号システム | |
JP3339688B2 (ja) | 非決定論的ミクスチャー発生器ストリーム暗号化システム | |
KR101246437B1 (ko) | 유한체 연산을 사용하는 랜덤 번호 발생기를 포함하는 암호 시스템 | |
Iyer et al. | A novel idea on multimedia encryption using hybrid crypto approach | |
JP4052480B2 (ja) | 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム | |
US7110539B1 (en) | Method and apparatus for encrypting and decrypting data | |
JPH08505275A (ja) | 暗号ストリームを発生させるための装置及び方法 | |
Reyad et al. | Key-based enhancement of data encryption standard for text security | |
Lamba | Design and analysis of stream cipher for network security | |
Asaad et al. | Partial image encryption using RC4 stream cipher approach and embedded in an image | |
Marton et al. | Randomness in digital cryptography: A survey | |
JP2000511755A (ja) | バイナリーコード情報を暗号化する方法 | |
CN107078900B (zh) | 基于可再现随机序列的密码系统 | |
WO2001043340A1 (en) | One's complement cryptographic combiner | |
CN108270565A (zh) | 一种数据混合加密方法 | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
Khan et al. | Robust symmetric cryptography using plain–text variant session key | |
Ojugo et al. | Cryptography: Salvaging exploitations against Data integrity | |
Kumar et al. | A comparative analysis of encryption algorithms for better utilization | |
Charru et al. | Improved Cryptography Algorithm to Enhanced Data Security | |
CN102474413A (zh) | 私钥压缩 | |
JPH09149025A (ja) | 暗号通信方法及び暗号通信システム | |
Amounas et al. | A novel approach for enciphering data based ecc using catalan numbers | |
JPH1084339A (ja) | ストリーム暗号による通信方法、ならびに通信システム | |
RU2291578C1 (ru) | Способ поточного шифрования данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140317 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |