JP2000112351A - 平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体 - Google Patents
平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体Info
- Publication number
- JP2000112351A JP2000112351A JP10279151A JP27915198A JP2000112351A JP 2000112351 A JP2000112351 A JP 2000112351A JP 10279151 A JP10279151 A JP 10279151A JP 27915198 A JP27915198 A JP 27915198A JP 2000112351 A JP2000112351 A JP 2000112351A
- Authority
- JP
- Japan
- Prior art keywords
- plaintext
- random number
- pseudo
- character
- number sequence
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【課題】 盗難などにより、元の平文と、この平文を暗
号化した暗号文とが分かっても、秘密パスワードが解読
される恐れをほぼゼロにして、重要な書類などを安全に
伝送させる。 【解決手段】 送受信装置3に送信対象となる平文が入
力されたとき、送受信装置3によって予め入力されてい
る秘密パスワードを使用したNGDp暗号化/復号化ア
ルゴリズムを使用し、平文を暗号化して、暗号文を作成
し、この暗号文を受けた送受信装置4によって、予め設
定されている秘密パスワードを使用したNGDp暗号化
/復号化アルゴリズムを使用し、平文を復号化させ、こ
れによって得られた平文(送信元の送受信装置3に入力
された平文)をフロッピーディスク19などに格納させ
て、受信者に渡す。
号化した暗号文とが分かっても、秘密パスワードが解読
される恐れをほぼゼロにして、重要な書類などを安全に
伝送させる。 【解決手段】 送受信装置3に送信対象となる平文が入
力されたとき、送受信装置3によって予め入力されてい
る秘密パスワードを使用したNGDp暗号化/復号化ア
ルゴリズムを使用し、平文を暗号化して、暗号文を作成
し、この暗号文を受けた送受信装置4によって、予め設
定されている秘密パスワードを使用したNGDp暗号化
/復号化アルゴリズムを使用し、平文を復号化させ、こ
れによって得られた平文(送信元の送受信装置3に入力
された平文)をフロッピーディスク19などに格納させ
て、受信者に渡す。
Description
【0001】
【発明の属する技術分野】本発明は、疑似乱数列を使用
して平文を暗号化/復号化する暗号化/復号化アルゴリ
ズムを基本とした平文暗号化/復号化方法、平文暗号化
/復号化装置、平文暗号化/復号化アルゴリズムを記録
したコンピュータ読み取り可能な記録媒体に関する。
して平文を暗号化/復号化する暗号化/復号化アルゴリ
ズムを基本とした平文暗号化/復号化方法、平文暗号化
/復号化装置、平文暗号化/復号化アルゴリズムを記録
したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】公衆電話回線、ISDN回線などの公衆
回線、あるいはインターネットなどの通信回線などを介
してテキスト形式の平文などを伝送する場合、伝送途中
で平文が盗み見られたり、改ざんされたりする恐れがあ
ることから、解読方法が確立されていない暗号化/復号
化アルゴリズム、または解読が極めて難しい暗号化/復
号化アルゴリズム、例えば共通キー方式の暗号化/復号
化アルゴリズム、あるいは公開キー方式の暗号化/復号
化アルゴリズムなどを使用して送信対象となる平文を暗
号化し、これによって得られた暗号文を通信回線などを
介して送信先に送信して復号化させ、元の平文を復元さ
せることが多い。
回線、あるいはインターネットなどの通信回線などを介
してテキスト形式の平文などを伝送する場合、伝送途中
で平文が盗み見られたり、改ざんされたりする恐れがあ
ることから、解読方法が確立されていない暗号化/復号
化アルゴリズム、または解読が極めて難しい暗号化/復
号化アルゴリズム、例えば共通キー方式の暗号化/復号
化アルゴリズム、あるいは公開キー方式の暗号化/復号
化アルゴリズムなどを使用して送信対象となる平文を暗
号化し、これによって得られた暗号文を通信回線などを
介して送信先に送信して復号化させ、元の平文を復元さ
せることが多い。
【0003】図10はこのような暗号化/復号化アルゴ
リズムのうち、共通キー方式に属する疑似乱数アルゴリ
ズムを使用した暗号化/復号化システムの一例を示すブ
ロック図である。
リズムのうち、共通キー方式に属する疑似乱数アルゴリ
ズムを使用した暗号化/復号化システムの一例を示すブ
ロック図である。
【0004】この図に示す暗号化/復号化システム10
1では、複数の送受信装置102a、102bのいずれ
か、例えば送受信装置102aに送信対象となる平文が
入力されたとき、この平文の文字数と、予め設定されて
いる秘密パスワードとに対応する疑似乱数列を作成した
後、この疑乱数列の各疑似乱数と、平文の各文字との排
他的論理和をとって暗号文字を作成する処理を繰り返し
行い、平文を構成する全ての文字に対する暗号化処理が
完了したとき、各暗号文字を暗号文にまとめて、通信回
線103上に送出し、送信先となる送受信装置102b
に伝送する。
1では、複数の送受信装置102a、102bのいずれ
か、例えば送受信装置102aに送信対象となる平文が
入力されたとき、この平文の文字数と、予め設定されて
いる秘密パスワードとに対応する疑似乱数列を作成した
後、この疑乱数列の各疑似乱数と、平文の各文字との排
他的論理和をとって暗号文字を作成する処理を繰り返し
行い、平文を構成する全ての文字に対する暗号化処理が
完了したとき、各暗号文字を暗号文にまとめて、通信回
線103上に送出し、送信先となる送受信装置102b
に伝送する。
【0005】また、暗号文を受信した送受信装置102
bでは、通信回線103を介して暗号文を受信したと
き、この暗号文の暗号文字数と、予め設定されている秘
密パスワードとに対応する疑似乱数列を作成した後、こ
の疑乱数列の各疑似乱数を使用して暗号文の各暗号文字
を復号化し、送信元の送受信装置102aに入力された
平文を復元する。
bでは、通信回線103を介して暗号文を受信したと
き、この暗号文の暗号文字数と、予め設定されている秘
密パスワードとに対応する疑似乱数列を作成した後、こ
の疑乱数列の各疑似乱数を使用して暗号文の各暗号文字
を復号化し、送信元の送受信装置102aに入力された
平文を復元する。
【0006】
【発明が解決しようとする課題】ところで、このような
疑似乱数アルゴリズムを使用した暗号化/復号化システ
ム101では、秘密パスワードから作成される疑似乱数
列を利用して平文を構成する各文字を暗号化しているこ
とから、元の平文と、この平文を暗号化した暗号文とが
わかってしまうと、秘密パスワードが解読されてしまう
恐れがある。
疑似乱数アルゴリズムを使用した暗号化/復号化システ
ム101では、秘密パスワードから作成される疑似乱数
列を利用して平文を構成する各文字を暗号化しているこ
とから、元の平文と、この平文を暗号化した暗号文とが
わかってしまうと、秘密パスワードが解読されてしまう
恐れがある。
【0007】特に、ワープロファイル、表計算ファイル
などのうち、WordファイルやBMPファイルなどの
ように、テキスト形式で記述された平文と、この平文の
レイアウト情報などが記述されたヘッダ情報とを持つデ
ータを暗号化すると、ヘッダ情報から秘密パスワードが
逆算されて、暗号文を解読されてしまう恐れがある。
などのうち、WordファイルやBMPファイルなどの
ように、テキスト形式で記述された平文と、この平文の
レイアウト情報などが記述されたヘッダ情報とを持つデ
ータを暗号化すると、ヘッダ情報から秘密パスワードが
逆算されて、暗号文を解読されてしまう恐れがある。
【0008】本発明は上記の事情に鑑み、請求項1、
4、7では、盗難などにより、元の文字列と、この文字
列を暗号化した暗号文とが分かっても、秘密パスワード
が解読される恐れをほぼゼロにすることができ、これに
よって重要な書類などを安全に伝送させることができる
平文暗号化/復号化方法、平文暗号化/復号化装置、お
よび平文暗号化/復号化アルゴリズムを記録したコンピ
ュータ読み取り可能な記録媒体を提供することを目的と
している。
4、7では、盗難などにより、元の文字列と、この文字
列を暗号化した暗号文とが分かっても、秘密パスワード
が解読される恐れをほぼゼロにすることができ、これに
よって重要な書類などを安全に伝送させることができる
平文暗号化/復号化方法、平文暗号化/復号化装置、お
よび平文暗号化/復号化アルゴリズムを記録したコンピ
ュータ読み取り可能な記録媒体を提供することを目的と
している。
【0009】請求項2、5、8では、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして疑似乱数列を構成する各疑似乱数の偏り、
揺らぎなどを解析しても、秘密パスワードが解読される
恐れをほぼゼロにすることができ、これによって重要な
書類などを安全に伝送させることができる平文暗号化/
復号化方法、平文暗号化/復号化装置、および平文暗号
化/復号化アルゴリズムを記録したコンピュータ読み取
り可能な記録媒体を提供することを目的としている。
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして疑似乱数列を構成する各疑似乱数の偏り、
揺らぎなどを解析しても、秘密パスワードが解読される
恐れをほぼゼロにすることができ、これによって重要な
書類などを安全に伝送させることができる平文暗号化/
復号化方法、平文暗号化/復号化装置、および平文暗号
化/復号化アルゴリズムを記録したコンピュータ読み取
り可能な記録媒体を提供することを目的としている。
【0010】請求項3、6、9では、平文を構成する各
文字を文字単位または文字列単位でスクランブルして、
盗難などにより、平文を暗号化/復号化する際に使用し
ている秘密パスワードが知られ、使用しているスクラン
ブル前の疑似乱数列が分かった場合でも、暗号文の解読
を困難にし、これによって重要な書類などを安全に伝送
させることができる平文暗号化/復号化方法、平文暗号
化/復号化装置、および平文暗号化/復号化アルゴリズ
ムを記録したコンピュータ読み取り可能な記録媒体を提
供することを目的としている。
文字を文字単位または文字列単位でスクランブルして、
盗難などにより、平文を暗号化/復号化する際に使用し
ている秘密パスワードが知られ、使用しているスクラン
ブル前の疑似乱数列が分かった場合でも、暗号文の解読
を困難にし、これによって重要な書類などを安全に伝送
させることができる平文暗号化/復号化方法、平文暗号
化/復号化装置、および平文暗号化/復号化アルゴリズ
ムを記録したコンピュータ読み取り可能な記録媒体を提
供することを目的としている。
【0011】
【課題を解決するための手段】上記の目的を達成するた
めに本発明は、請求項1では、入力された平文を暗号化
/復号化する方法であって、予め設定されている秘密パ
スワードを使用して疑似乱数列を発生し、スクランブル
用パターンを生成するパターン生成処理と、前記秘密パ
スワードを使用して疑似乱数列を発生し、前記秘密パス
ワードに対応する疑似乱数列を生成する疑似乱数列生成
処理と、前記パターン生成処理で生成されたスクランブ
ル用パターンを使用して前記疑似乱数列生成処理で生成
された前記疑似乱数列をスクランブルするとともに、こ
のスクランブル処理で得られたスクランブル疑似乱数列
を使用して、入力された平文を文字単位または文字列単
位で暗号化して暗号文を生成する処理、または入力され
た暗号文を文字単位または文字列単位で復号化して元の
平文に復元する暗号化/復号化処理とを備えたことを特
徴としている。
めに本発明は、請求項1では、入力された平文を暗号化
/復号化する方法であって、予め設定されている秘密パ
スワードを使用して疑似乱数列を発生し、スクランブル
用パターンを生成するパターン生成処理と、前記秘密パ
スワードを使用して疑似乱数列を発生し、前記秘密パス
ワードに対応する疑似乱数列を生成する疑似乱数列生成
処理と、前記パターン生成処理で生成されたスクランブ
ル用パターンを使用して前記疑似乱数列生成処理で生成
された前記疑似乱数列をスクランブルするとともに、こ
のスクランブル処理で得られたスクランブル疑似乱数列
を使用して、入力された平文を文字単位または文字列単
位で暗号化して暗号文を生成する処理、または入力され
た暗号文を文字単位または文字列単位で復号化して元の
平文に復元する暗号化/復号化処理とを備えたことを特
徴としている。
【0012】請求項2では、請求項1に記載の平文暗号
化/復号化方法において、前記パターン生成処理は、前
記秘密パスワードを構成する各文字をそのまま使用して
疑似乱数列を発生し、ORパスーワードパターンを作成
するとともに、前記秘密パスワードを構成する各文字を
反転した各文字列を使用して疑似乱数列を発生し、反転
ORパスーワードパターンを作成した後、これらORパ
スーワードパターン、反転ORパスーワードパターンに
基づき、前記スクランブル用パターンを生成することを
特徴としている。
化/復号化方法において、前記パターン生成処理は、前
記秘密パスワードを構成する各文字をそのまま使用して
疑似乱数列を発生し、ORパスーワードパターンを作成
するとともに、前記秘密パスワードを構成する各文字を
反転した各文字列を使用して疑似乱数列を発生し、反転
ORパスーワードパターンを作成した後、これらORパ
スーワードパターン、反転ORパスーワードパターンに
基づき、前記スクランブル用パターンを生成することを
特徴としている。
【0013】請求項3では、請求項1、2のいずれかに
記載の平文暗号化/復号化方法において、前記暗号化/
復号化処理は、スクランブル処理で得られたスクランブ
ル疑似乱数列を使用して、入力された平文を文字単位ま
たは文字列単位で暗号化して暗号文を生成する処理また
は入力された暗号文を文字単位または文字列単位で復号
化して元の平文を復元する際、入力された平文の各文字
または文字列の位置を入れ替えて、元の平文を暗号化ま
たは元の平文の復元化を行うことを特徴としている。
記載の平文暗号化/復号化方法において、前記暗号化/
復号化処理は、スクランブル処理で得られたスクランブ
ル疑似乱数列を使用して、入力された平文を文字単位ま
たは文字列単位で暗号化して暗号文を生成する処理また
は入力された暗号文を文字単位または文字列単位で復号
化して元の平文を復元する際、入力された平文の各文字
または文字列の位置を入れ替えて、元の平文を暗号化ま
たは元の平文の復元化を行うことを特徴としている。
【0014】請求項4では、入力された平文を暗号化/
復号化する際に使用される平文暗号化/復号化装置にお
いて、予め設定されている秘密パスワードを使用して疑
似乱数列を発生し、スクランブル用パターンを生成する
パターン生成処理部と、前記秘密パスワードを使用して
疑似乱数列を発生し、前記秘密パスワードに対応する疑
似乱数列を生成する疑似乱数列生成処理部と、前記パタ
ーン生成処理部で生成されたスクランブル用パターンを
使用して前記疑似乱数列生成処理部で生成された前記疑
似乱数列をスクランブルするとともに、このスクランブ
ル処理で得られたスクランブル疑似乱数列を使用して、
入力された平文を文字単位または文字列単位で暗号化し
て暗号文を生成する処理または入力された暗号文を文字
単位または文字列単位で復号化して元の平文に復元する
暗号化/復号化処理部とを備えたことを特徴としてい
る。
復号化する際に使用される平文暗号化/復号化装置にお
いて、予め設定されている秘密パスワードを使用して疑
似乱数列を発生し、スクランブル用パターンを生成する
パターン生成処理部と、前記秘密パスワードを使用して
疑似乱数列を発生し、前記秘密パスワードに対応する疑
似乱数列を生成する疑似乱数列生成処理部と、前記パタ
ーン生成処理部で生成されたスクランブル用パターンを
使用して前記疑似乱数列生成処理部で生成された前記疑
似乱数列をスクランブルするとともに、このスクランブ
ル処理で得られたスクランブル疑似乱数列を使用して、
入力された平文を文字単位または文字列単位で暗号化し
て暗号文を生成する処理または入力された暗号文を文字
単位または文字列単位で復号化して元の平文に復元する
暗号化/復号化処理部とを備えたことを特徴としてい
る。
【0015】請求項5では、請求項4に記載の平文暗号
化/復号化装置において、前記パターン生成処理部は、
前記秘密パスワードを構成する各文字をそのまま使用し
て疑似乱数列を発生し、ORパスーワードパターンを作
成するとともに、前記秘密パスワードを構成する各文字
を反転した各文字列を使用して疑似乱数列を発生し、反
転ORパスーワードパターンを作成した後、これらOR
パスーワードパターン、反転ORパスーワードパターン
に基づき、前記スクランブル用パターンを生成すること
を特徴としている。
化/復号化装置において、前記パターン生成処理部は、
前記秘密パスワードを構成する各文字をそのまま使用し
て疑似乱数列を発生し、ORパスーワードパターンを作
成するとともに、前記秘密パスワードを構成する各文字
を反転した各文字列を使用して疑似乱数列を発生し、反
転ORパスーワードパターンを作成した後、これらOR
パスーワードパターン、反転ORパスーワードパターン
に基づき、前記スクランブル用パターンを生成すること
を特徴としている。
【0016】請求項6では、請求項4、5のいずれかに
記載の平文暗号化/復号化装置において、前記暗号化/
復号化処理部は、スクランブル処理で得られたスクラン
ブル疑似乱数列を使用して、入力された平文を文字単位
または文字列単位で暗号化して暗号文を生成する処理ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元する際、入力された平文の各文
字または文字列の位置を入れ替えて、元の平文を暗号化
または元の平文の復元化を行うことを特徴としている。
記載の平文暗号化/復号化装置において、前記暗号化/
復号化処理部は、スクランブル処理で得られたスクラン
ブル疑似乱数列を使用して、入力された平文を文字単位
または文字列単位で暗号化して暗号文を生成する処理ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元する際、入力された平文の各文
字または文字列の位置を入れ替えて、元の平文を暗号化
または元の平文の復元化を行うことを特徴としている。
【0017】請求項7では、入力された平文を暗号化/
復号化するアルゴリズムを記録したコンピュータ読み取
り可能な記録媒体であって、予め設定されている秘密パ
スワードを使用して疑似乱数列を発生させ、スクランブ
ル用パターンを生成させるパターン生成処理と、前記秘
密パスワードを使用して疑似乱数列を発生させ、前記秘
密パスワードに対応する疑似乱数列を生成させる疑似乱
数列生成処理と、前記パターン生成処理で生成されたス
クランブル用パターンを使用して前記疑似乱数列生成処
理で生成された前記疑似乱数列をスクランブルさせると
ともに、このスクランブル処理で得られたスクランブル
疑似乱数列を使用して、入力された平文を文字単位また
は文字列単位で暗号化して暗号文を生成させる処理、ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元させる暗号化/復号化処理とか
ら成ることを特徴としている。
復号化するアルゴリズムを記録したコンピュータ読み取
り可能な記録媒体であって、予め設定されている秘密パ
スワードを使用して疑似乱数列を発生させ、スクランブ
ル用パターンを生成させるパターン生成処理と、前記秘
密パスワードを使用して疑似乱数列を発生させ、前記秘
密パスワードに対応する疑似乱数列を生成させる疑似乱
数列生成処理と、前記パターン生成処理で生成されたス
クランブル用パターンを使用して前記疑似乱数列生成処
理で生成された前記疑似乱数列をスクランブルさせると
ともに、このスクランブル処理で得られたスクランブル
疑似乱数列を使用して、入力された平文を文字単位また
は文字列単位で暗号化して暗号文を生成させる処理、ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元させる暗号化/復号化処理とか
ら成ることを特徴としている。
【0018】請求項8では、請求項7に記載の平文暗号
化/復号化アルゴリズムを記録したコンピュータ読み取
り可能な記録媒体において、前記パターン生成処理は、
前記秘密パスワードを構成する各文字をそのまま使用し
て疑似乱数列を発生し、ORパスーワードパターンを作
成するとともに、前記秘密パスワードを構成する各文字
を反転した各文字列を使用して疑似乱数列を発生し、反
転ORパスーワードパターンを作成した後、これらOR
パスーワードパターン、反転ORパスーワードパターン
に基づき、前記スクランブル用パターンを生成すること
を特徴としている。
化/復号化アルゴリズムを記録したコンピュータ読み取
り可能な記録媒体において、前記パターン生成処理は、
前記秘密パスワードを構成する各文字をそのまま使用し
て疑似乱数列を発生し、ORパスーワードパターンを作
成するとともに、前記秘密パスワードを構成する各文字
を反転した各文字列を使用して疑似乱数列を発生し、反
転ORパスーワードパターンを作成した後、これらOR
パスーワードパターン、反転ORパスーワードパターン
に基づき、前記スクランブル用パターンを生成すること
を特徴としている。
【0019】請求項9では、請求項7、8のいずれかに
記載の平文暗号化/復号化アルゴリズムを記録したコン
ピュータ読み取り可能な記録媒体において、前記暗号化
/復号化処理は、スクランブル処理で得られたスクラン
ブル疑似乱数列を使用して、入力された平文を文字単位
または文字列単位で暗号化して暗号文を生成する処理ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元する際、入力された平文の各文
字または文字列の位置を入れ替えて、元の平文を暗号化
または元の平文の復元化を行うことを特徴としている。
記載の平文暗号化/復号化アルゴリズムを記録したコン
ピュータ読み取り可能な記録媒体において、前記暗号化
/復号化処理は、スクランブル処理で得られたスクラン
ブル疑似乱数列を使用して、入力された平文を文字単位
または文字列単位で暗号化して暗号文を生成する処理ま
たは入力された暗号文を文字単位または文字列単位で復
号化して元の平文を復元する際、入力された平文の各文
字または文字列の位置を入れ替えて、元の平文を暗号化
または元の平文の復元化を行うことを特徴としている。
【0020】上記の構成により、請求項1、4、7で
は、予め設定されている秘密パスワードを使用して疑似
乱数列を発生し、スクランブル用パターンを生成すると
ともに、秘密パスワードを使用して疑似乱数列を発生
し、秘密パスワードに対応する疑似乱数列を生成し、さ
らに生成されたスクランブル用パターンを使用して疑似
乱数列をスクランブルするとともに、このスクランブル
処理で得られたスクランブル疑似乱数列を使用して、入
力された平文を文字単位または文字列単位で暗号化して
暗号文を生成する、または入力された暗号文を文字単位
または文字列単位で復号化して元の平文に復元する。こ
れにより、盗難などで、元の文字列と、この文字列を暗
号化した暗号文とが分かっても、秘密パスワードが解読
される恐れをほぼゼロにし、重要な書類などを安全に伝
送させる。
は、予め設定されている秘密パスワードを使用して疑似
乱数列を発生し、スクランブル用パターンを生成すると
ともに、秘密パスワードを使用して疑似乱数列を発生
し、秘密パスワードに対応する疑似乱数列を生成し、さ
らに生成されたスクランブル用パターンを使用して疑似
乱数列をスクランブルするとともに、このスクランブル
処理で得られたスクランブル疑似乱数列を使用して、入
力された平文を文字単位または文字列単位で暗号化して
暗号文を生成する、または入力された暗号文を文字単位
または文字列単位で復号化して元の平文に復元する。こ
れにより、盗難などで、元の文字列と、この文字列を暗
号化した暗号文とが分かっても、秘密パスワードが解読
される恐れをほぼゼロにし、重要な書類などを安全に伝
送させる。
【0021】請求項2、5、8では、秘密パスワードを
構成する各文字をそのまま使用して疑似乱数列を発生
し、ORパスーワードパターンを作成するとともに、秘
密パスワードを構成する各文字を反転した各文字列を使
用して疑似乱数列を発生し、反転ORパスーワードパタ
ーンを作成した後、これらORパスーワードパターン、
反転ORパスーワードパターンに基づき、スクランブル
用パターンを生成する。これにより、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして疑似乱数列を構成する各疑似乱数の偏り、
揺らぎなどを解析しても、秘密パスワードが解読される
恐れをほぼゼロにし、重要な書類などを安全に伝送させ
る。
構成する各文字をそのまま使用して疑似乱数列を発生
し、ORパスーワードパターンを作成するとともに、秘
密パスワードを構成する各文字を反転した各文字列を使
用して疑似乱数列を発生し、反転ORパスーワードパタ
ーンを作成した後、これらORパスーワードパターン、
反転ORパスーワードパターンに基づき、スクランブル
用パターンを生成する。これにより、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして疑似乱数列を構成する各疑似乱数の偏り、
揺らぎなどを解析しても、秘密パスワードが解読される
恐れをほぼゼロにし、重要な書類などを安全に伝送させ
る。
【0022】請求項3、6、9では、スクランブル処理
で得られたスクランブル疑似乱数列を使用して、入力さ
れた平文を文字単位または文字列単位で暗号化して暗号
文を生成する処理または入力された暗号文を文字単位ま
たは文字列単位で復号化して元の平文を復元する際、入
力された平文の各文字または文字列の位置を入れ替えて
元の平文を暗号化、または元の平文の復元化する。これ
により、平文を構成する各文字を文字単位または文字列
単位でスクランブルして、盗難などにより、平文を暗号
化/復号化する際に使用している秘密パスワードが知ら
れ、使用しているスクランブル前の疑似乱数列が分かっ
た場合でも、暗号文の解読を困難にし、これによって重
要な書類などを安全に伝送させる。
で得られたスクランブル疑似乱数列を使用して、入力さ
れた平文を文字単位または文字列単位で暗号化して暗号
文を生成する処理または入力された暗号文を文字単位ま
たは文字列単位で復号化して元の平文を復元する際、入
力された平文の各文字または文字列の位置を入れ替えて
元の平文を暗号化、または元の平文の復元化する。これ
により、平文を構成する各文字を文字単位または文字列
単位でスクランブルして、盗難などにより、平文を暗号
化/復号化する際に使用している秘密パスワードが知ら
れ、使用しているスクランブル前の疑似乱数列が分かっ
た場合でも、暗号文の解読を困難にし、これによって重
要な書類などを安全に伝送させる。
【0023】
【発明の実施の形態】図1は本発明が適用された平文暗
号化/復号化システムの一例を示すブロック図である。
号化/復号化システムの一例を示すブロック図である。
【0024】この図に示す平文暗号化/復号化システム
1は、フロッピーディスク2などの記録媒体を介して、
送信対象となる平文が入力されたとき、予め入力されて
いる秘密パスワードを使用した暗号化/復号化アルゴリ
ズム(以下、このアルゴリズムを発明者の名前を採って
命名された『NGDp暗号化/復号化アルゴリズム』と
称する。)を使用し、平文を暗号化して、暗号文を作成
し、また暗号文を受信したとき、予め入力されている秘
密パスワードを使用したNGDp暗号化/復号化アルゴ
リズムを使用して、暗号文を復号化し、元の平文を復元
する2つの送受信装置3、4と、公衆電話回線、ISD
N回線などの公衆回線、あるいはインターネットなどの
通信回線などによって構成され、各送受信装置3、4の
一方から暗号文が出力されたとき、これを取り込んで各
送受信装置3、4の他方に伝送する通信回線5とを備え
ており、各送受信装置3、4のいずれか、例えば送受信
装置3に送信対象となる平文が入力されたとき、送受信
装置3によって予め入力されている秘密パスワードを使
用したNGDp暗号化/復号化アルゴリズムを使用し、
平文を暗号化して、暗号文を作成し、これを通信回線5
上に送出して、送受信装置4に伝送するとともに、この
送受信装置4によって、予め設定されている秘密パスワ
ードを使用したNGDp暗号化/復号化アルゴリズムを
使用し、平文を復号化させ、これによって得られた平文
(送信元の送受信装置3に入力された平文)をフロッピ
ーディスク19などに格納させて、受信者に渡す。
1は、フロッピーディスク2などの記録媒体を介して、
送信対象となる平文が入力されたとき、予め入力されて
いる秘密パスワードを使用した暗号化/復号化アルゴリ
ズム(以下、このアルゴリズムを発明者の名前を採って
命名された『NGDp暗号化/復号化アルゴリズム』と
称する。)を使用し、平文を暗号化して、暗号文を作成
し、また暗号文を受信したとき、予め入力されている秘
密パスワードを使用したNGDp暗号化/復号化アルゴ
リズムを使用して、暗号文を復号化し、元の平文を復元
する2つの送受信装置3、4と、公衆電話回線、ISD
N回線などの公衆回線、あるいはインターネットなどの
通信回線などによって構成され、各送受信装置3、4の
一方から暗号文が出力されたとき、これを取り込んで各
送受信装置3、4の他方に伝送する通信回線5とを備え
ており、各送受信装置3、4のいずれか、例えば送受信
装置3に送信対象となる平文が入力されたとき、送受信
装置3によって予め入力されている秘密パスワードを使
用したNGDp暗号化/復号化アルゴリズムを使用し、
平文を暗号化して、暗号文を作成し、これを通信回線5
上に送出して、送受信装置4に伝送するとともに、この
送受信装置4によって、予め設定されている秘密パスワ
ードを使用したNGDp暗号化/復号化アルゴリズムを
使用し、平文を復号化させ、これによって得られた平文
(送信元の送受信装置3に入力された平文)をフロッピ
ーディスク19などに格納させて、受信者に渡す。
【0025】この場合、各送受信装置3、4はそれぞれ
各種の情報処理を行うCPU回路6と、このCPU回路
6の作業エリアなどして使用されるRAM回路7と、C
PU回路6で使用される各種基本プログラム、定数デー
タなどが格納されるROM回路8と、各種のキーを有
し、オペレータによって操作されたとき、操作内容に応
じた各種指令、各種データを生成するキーボード9と、
このキーボード9から出力される各種指令、各種データ
を取り込んでCPU回路6に供給するキーボードインタ
フェース回路10と、CPU回路6から出力される表示
データを取り込んで表示信号を生成するCRTインタフ
ェース回路11と、このCRTインタフェース回路11
から出力される表示信号に応じた画面を表示する表示器
12と、CPU回路6の通信処理を行う通信回路13
と、予め入力されている秘密パスワードが格納されると
ともに、NGDp暗号化/復号化アルゴリズムを実行す
るプログラム、通信プログラムなどが格納されるハード
ディスク機構14と、このハードディスク機構14とC
PU回路6とを接続するハードディスクインタフェース
回路15と、フロッピーディスク2が挿入されたとき、
このフロッピーディスク2に対するデータの読み出し、
データの書き込みを行うフロッピーディスク機構16
と、このフロッピーディスク機構16とCPU回路6と
を接続するフロッピーディスクインタフェース回路17
とを備えている。
各種の情報処理を行うCPU回路6と、このCPU回路
6の作業エリアなどして使用されるRAM回路7と、C
PU回路6で使用される各種基本プログラム、定数デー
タなどが格納されるROM回路8と、各種のキーを有
し、オペレータによって操作されたとき、操作内容に応
じた各種指令、各種データを生成するキーボード9と、
このキーボード9から出力される各種指令、各種データ
を取り込んでCPU回路6に供給するキーボードインタ
フェース回路10と、CPU回路6から出力される表示
データを取り込んで表示信号を生成するCRTインタフ
ェース回路11と、このCRTインタフェース回路11
から出力される表示信号に応じた画面を表示する表示器
12と、CPU回路6の通信処理を行う通信回路13
と、予め入力されている秘密パスワードが格納されると
ともに、NGDp暗号化/復号化アルゴリズムを実行す
るプログラム、通信プログラムなどが格納されるハード
ディスク機構14と、このハードディスク機構14とC
PU回路6とを接続するハードディスクインタフェース
回路15と、フロッピーディスク2が挿入されたとき、
このフロッピーディスク2に対するデータの読み出し、
データの書き込みを行うフロッピーディスク機構16
と、このフロッピーディスク機構16とCPU回路6と
を接続するフロッピーディスクインタフェース回路17
とを備えている。
【0026】そして、各送信装置3、4のいずれか、例
えば図2に示すように、送受信装置3に送信対象となる
平文が入力されたとき、送受信装置3によって、NGD
p暗号化/復号化アルゴリズムを使用して、図3の
(a)に示すように、平文の文字数と、秘密パスワード
とに対応する疑似乱数列を作成するとともに、秘密パス
ワードに対応するORパスワードパターン、反転ORパ
スワードパターンを使用して、図3の(b)に示すよう
に、疑似乱数列を構成する各疑似乱数の使用順序と、暗
号文字の配置とを決定して、図3の(a)に示す疑似乱
数列の各疑似乱数を図3の(c)に示すように、入れ替
えながら、これらの各疑似乱数と、平文の各文字との排
他的論理和をとって暗号文を作成し、これを通信回線5
を介し、送信先となる送受信装置4に伝送する。
えば図2に示すように、送受信装置3に送信対象となる
平文が入力されたとき、送受信装置3によって、NGD
p暗号化/復号化アルゴリズムを使用して、図3の
(a)に示すように、平文の文字数と、秘密パスワード
とに対応する疑似乱数列を作成するとともに、秘密パス
ワードに対応するORパスワードパターン、反転ORパ
スワードパターンを使用して、図3の(b)に示すよう
に、疑似乱数列を構成する各疑似乱数の使用順序と、暗
号文字の配置とを決定して、図3の(a)に示す疑似乱
数列の各疑似乱数を図3の(c)に示すように、入れ替
えながら、これらの各疑似乱数と、平文の各文字との排
他的論理和をとって暗号文を作成し、これを通信回線5
を介し、送信先となる送受信装置4に伝送する。
【0027】また、通信回線5を介して、暗号文を受信
した送受信装置4によって、暗号文の暗号文字数と、予
め設定されている秘密パスワードとに対応する疑似乱数
列を作成するとともに、秘密パスワードに対応するOR
パスワードパターン、反転ORパスワードパターンを使
用して、疑似乱数列を構成する各疑似乱数の使用順序
と、文字の配置とを決定して、暗号文中の各暗号文字を
入れ替えながら、疑似乱数列を構成する各疑似乱数を入
れ替えて、各疑似乱数に基づき、暗号文の各暗号文字を
復号化し、送信元の送受信装置3に入力された平文を復
元する。
した送受信装置4によって、暗号文の暗号文字数と、予
め設定されている秘密パスワードとに対応する疑似乱数
列を作成するとともに、秘密パスワードに対応するOR
パスワードパターン、反転ORパスワードパターンを使
用して、疑似乱数列を構成する各疑似乱数の使用順序
と、文字の配置とを決定して、暗号文中の各暗号文字を
入れ替えながら、疑似乱数列を構成する各疑似乱数を入
れ替えて、各疑似乱数に基づき、暗号文の各暗号文字を
復号化し、送信元の送受信装置3に入力された平文を復
元する。
【0028】次に、図4に示すNGDp処理フローで使
用される変数表、図5〜図9に示すフローチャートを参
照しながら、上述した暗号化/復号化システムで使用さ
れるNGDp暗号化/復号化アルゴリズムのうち、NG
Dp暗号化アルゴリズムについて、詳細に説明する。
用される変数表、図5〜図9に示すフローチャートを参
照しながら、上述した暗号化/復号化システムで使用さ
れるNGDp暗号化/復号化アルゴリズムのうち、NG
Dp暗号化アルゴリズムについて、詳細に説明する。
【0029】まず、各送受信装置3、4のいずれか、例
えば送受信装置3によって、秘密パスワードから疑似乱
数列を作成して、入力された平文を暗号化するときに
は、図5のフローチャートに示すように、フロッピーデ
ィスク2などを介して送信対象となる平文が取り込まれ
て、ハードディスク機構14に一時的に記憶されるとと
もに(ステップST1)、暗号化の準備となるORパス
ワードパターン値設定処理が開始される(ステップST
2)。
えば送受信装置3によって、秘密パスワードから疑似乱
数列を作成して、入力された平文を暗号化するときに
は、図5のフローチャートに示すように、フロッピーデ
ィスク2などを介して送信対象となる平文が取り込まれ
て、ハードディスク機構14に一時的に記憶されるとと
もに(ステップST1)、暗号化の準備となるORパス
ワードパターン値設定処理が開始される(ステップST
2)。
【0030】このORパスワードパターン値設定処理で
は、図6のフローチャートに示すように、秘密パスワー
ドから得られる疑似乱数列を示す疑似乱数の基数“A”
と、秘密パスワードの文字位置を示すインデックス“i
dx”とがゼロに初期化された後(ステップST1
1)、インデックス“idx”が順次、インクリメント
されながら、秘密パスワードを構成する各文字が先頭位
置から順次、1文字ずつ選択されて、疑似乱数の基数
“A”に追記形式で入力される(ステップST12、S
T13)。
は、図6のフローチャートに示すように、秘密パスワー
ドから得られる疑似乱数列を示す疑似乱数の基数“A”
と、秘密パスワードの文字位置を示すインデックス“i
dx”とがゼロに初期化された後(ステップST1
1)、インデックス“idx”が順次、インクリメント
されながら、秘密パスワードを構成する各文字が先頭位
置から順次、1文字ずつ選択されて、疑似乱数の基数
“A”に追記形式で入力される(ステップST12、S
T13)。
【0031】そして、秘密パスワードを構成する最後の
文字が疑似乱数の基数“A”に入力されると(ステップ
ST12)、この疑似乱数の基数“A”の値が引数にさ
れて、疑似乱数作成コマンド“Srand”が実行さ
れ、これによって得られた疑似乱数列がRAM回路7に
一時記憶された後(ステップST14)、パターンビッ
ト作成用ループカウンタ“Roopidx”がゼロに初
期化されるとともに(ステップST15)、RAM回路
7内に形成されたパターンテーブルがオープンされて、
このパターンテーブルが書き込み可能状態、読み込み可
能状態にされる(ステップST16)。
文字が疑似乱数の基数“A”に入力されると(ステップ
ST12)、この疑似乱数の基数“A”の値が引数にさ
れて、疑似乱数作成コマンド“Srand”が実行さ
れ、これによって得られた疑似乱数列がRAM回路7に
一時記憶された後(ステップST14)、パターンビッ
ト作成用ループカウンタ“Roopidx”がゼロに初
期化されるとともに(ステップST15)、RAM回路
7内に形成されたパターンテーブルがオープンされて、
このパターンテーブルが書き込み可能状態、読み込み可
能状態にされる(ステップST16)。
【0032】次いで、乱数取得コマンド“Ran
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が1つ選択
されて、これが疑似乱数パターンビット“Ptbit”
に入力されるとともに(ステップST17、ST1
9)、この疑似乱数パターンビット“Ptbit”がパ
ターンテーブルの先頭番地に書き込まれた後、パターン
ビット作成用ループカウンタ“Roopidx”の値が
“1”だけインクリメントされて(ステップST1
9)、このパターンビット作成用ループカウンタ“Ro
opidx”の値がハードディスク機構14に一時記憶
されている平文の文字数と一致したかどうかがチェツク
される(ステップST17)。
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が1つ選択
されて、これが疑似乱数パターンビット“Ptbit”
に入力されるとともに(ステップST17、ST1
9)、この疑似乱数パターンビット“Ptbit”がパ
ターンテーブルの先頭番地に書き込まれた後、パターン
ビット作成用ループカウンタ“Roopidx”の値が
“1”だけインクリメントされて(ステップST1
9)、このパターンビット作成用ループカウンタ“Ro
opidx”の値がハードディスク機構14に一時記憶
されている平文の文字数と一致したかどうかがチェツク
される(ステップST17)。
【0033】そして、パターンビット作成用ループカウ
ンタ“Roopidx”の値がハードディスク機構14
に一時記憶されている平文の文字数より小さければ(ス
テップST17)、これらが一致するまで、上述した乱
数取得コマンド“Rand()”を使用した疑似乱数の
選択処理、疑似乱数パターンビット“Ptbit”に対
する入力処理、パターンテーブルに対する書き込み処
理、パターンビット作成用ループカウンタ“Roopi
dx”のインクリメント処理が繰り返し、行われて、R
AM回路7に一時記憶されている疑似乱数列を構成する
先頭疑似乱数以降の各疑似乱数が順次、1つずつ選択さ
れ、これが疑似乱数パターンビット“Ptbit”に入
力されるとともに、この疑似乱数パターンビット“Pt
bit”がパターンテーブルの先頭番地以降の各番地に
順次、書き込まれる(ステップST17〜ST19)。
ンタ“Roopidx”の値がハードディスク機構14
に一時記憶されている平文の文字数より小さければ(ス
テップST17)、これらが一致するまで、上述した乱
数取得コマンド“Rand()”を使用した疑似乱数の
選択処理、疑似乱数パターンビット“Ptbit”に対
する入力処理、パターンテーブルに対する書き込み処
理、パターンビット作成用ループカウンタ“Roopi
dx”のインクリメント処理が繰り返し、行われて、R
AM回路7に一時記憶されている疑似乱数列を構成する
先頭疑似乱数以降の各疑似乱数が順次、1つずつ選択さ
れ、これが疑似乱数パターンビット“Ptbit”に入
力されるとともに、この疑似乱数パターンビット“Pt
bit”がパターンテーブルの先頭番地以降の各番地に
順次、書き込まれる(ステップST17〜ST19)。
【0034】この後、パターンビット作成用ループカウ
ンタ“Roopidx”の値と、ハードディスク機構1
4に一時記憶されている平文の文字数とが一致したとき
(ステップST17)、パターンテーブルがクローズさ
れて、このパターンテーブルが書き込み禁止状態、読み
込み禁止状態にされ、ORパスワードパターン値設定処
理が終了する(ステップST20)。
ンタ“Roopidx”の値と、ハードディスク機構1
4に一時記憶されている平文の文字数とが一致したとき
(ステップST17)、パターンテーブルがクローズさ
れて、このパターンテーブルが書き込み禁止状態、読み
込み禁止状態にされ、ORパスワードパターン値設定処
理が終了する(ステップST20)。
【0035】次いで、図5のフローチャートに示すよう
に、暗号化の準備となる反転ORパスワードパターン値
設定処理が開始されて(ステップST3)、図7のフロ
ーチャートに示すように、秘密パスワードから得られる
疑似乱数の基数“B”と、秘密パスワードの文字位置を
示すインデックス“idx”とがゼロに初期化された後
(ステップST21)、インデックス“idx”が順
次、インクリメントされながら、秘密パスワードを構成
する各文字が先頭位置から順次、1文字ずつ選択される
とともに、この文字が反転されて、反転文字“TMP”
に入力された後、この反転文字“TMP”が疑似乱数の
基数“B”に追記形式で入力される(ステップST2
2、ST23)。
に、暗号化の準備となる反転ORパスワードパターン値
設定処理が開始されて(ステップST3)、図7のフロ
ーチャートに示すように、秘密パスワードから得られる
疑似乱数の基数“B”と、秘密パスワードの文字位置を
示すインデックス“idx”とがゼロに初期化された後
(ステップST21)、インデックス“idx”が順
次、インクリメントされながら、秘密パスワードを構成
する各文字が先頭位置から順次、1文字ずつ選択される
とともに、この文字が反転されて、反転文字“TMP”
に入力された後、この反転文字“TMP”が疑似乱数の
基数“B”に追記形式で入力される(ステップST2
2、ST23)。
【0036】そして、秘密パスワードを構成する文字列
中にある最後の文字が疑似乱数の基数“B”に入力され
ると(ステップST22)、この疑似乱数の基数“B”
の値が引数にされて、疑似乱数作成コマンド“Sran
d”が実行され、これによって得られた疑似乱数列がR
AM回路7に一時記憶された後(ステップST24)、
パターンビット作成用ループカウンタ“Roopid
x”がゼロに初期化されるとともに(ステップST2
5)、RAM回路7内に形成されたパターンBテーブル
がオープンされて、このパターンBテーブルが書き込み
可能状態、読み込み可能状態にされる(ステップST2
6)。
中にある最後の文字が疑似乱数の基数“B”に入力され
ると(ステップST22)、この疑似乱数の基数“B”
の値が引数にされて、疑似乱数作成コマンド“Sran
d”が実行され、これによって得られた疑似乱数列がR
AM回路7に一時記憶された後(ステップST24)、
パターンビット作成用ループカウンタ“Roopid
x”がゼロに初期化されるとともに(ステップST2
5)、RAM回路7内に形成されたパターンBテーブル
がオープンされて、このパターンBテーブルが書き込み
可能状態、読み込み可能状態にされる(ステップST2
6)。
【0037】次いで、乱数取得コマンド“Ran
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が1つ選択
されて、これが疑似乱数パターンビット“Ptbit”
に入力されるとともに(ステップST27、ST2
8)、この疑似乱数パターンビット“Ptbit”がパ
ターンBテーブルの先頭番地に書き込まれた後、パター
ンビット作成用ループカウンタ“Roopidx”の値
が“1”だけインクリメントされて(ステップST2
9)、このパターンビット作成用ループカウンタ“Ro
opidx”の値がハードディスク機構14に一時記憶
されている平文の文字数と一致したかどうかがチェツク
される(ステップST27)。
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が1つ選択
されて、これが疑似乱数パターンビット“Ptbit”
に入力されるとともに(ステップST27、ST2
8)、この疑似乱数パターンビット“Ptbit”がパ
ターンBテーブルの先頭番地に書き込まれた後、パター
ンビット作成用ループカウンタ“Roopidx”の値
が“1”だけインクリメントされて(ステップST2
9)、このパターンビット作成用ループカウンタ“Ro
opidx”の値がハードディスク機構14に一時記憶
されている平文の文字数と一致したかどうかがチェツク
される(ステップST27)。
【0038】そして、パターンビット作成用ループカウ
ンタ“Roopidx”の値がハードディスク機構14
に一時記憶されている平文の文字数より小さければ(ス
テップST27)、これらが一致するまで、上述した乱
数取得コマンド“Rand()”を使用した疑似乱数の
選択処理、疑似乱数パターンビット“Ptbit”に対
する入力処理、パターンBテーブルに対する書き込み処
理、パターンビット作成用ループカウンタ“Roopi
dx”のインクリメント処理が繰り返し、行われて、R
AM回路7に一時記憶されている疑似乱数列を構成する
先頭疑似乱数以降の各疑似乱数が順次、1つずつ選択さ
れ、これが疑似乱数パターンビット“Ptbit”に入
力されるとともに、この疑似乱数パターンビット“Pt
bit”がパターンBテーブルの先頭番地以降の各番地
に順次、書き込まれる(ステップST27〜ST2
9)。
ンタ“Roopidx”の値がハードディスク機構14
に一時記憶されている平文の文字数より小さければ(ス
テップST27)、これらが一致するまで、上述した乱
数取得コマンド“Rand()”を使用した疑似乱数の
選択処理、疑似乱数パターンビット“Ptbit”に対
する入力処理、パターンBテーブルに対する書き込み処
理、パターンビット作成用ループカウンタ“Roopi
dx”のインクリメント処理が繰り返し、行われて、R
AM回路7に一時記憶されている疑似乱数列を構成する
先頭疑似乱数以降の各疑似乱数が順次、1つずつ選択さ
れ、これが疑似乱数パターンビット“Ptbit”に入
力されるとともに、この疑似乱数パターンビット“Pt
bit”がパターンBテーブルの先頭番地以降の各番地
に順次、書き込まれる(ステップST27〜ST2
9)。
【0039】この後、パターンビット作成用ループカウ
ンタ“Roopidx”の値と、ハードディスク機構1
4に一時記憶されている平文の文字数とが一致したとき
(ステップST27)、パターンBテーブルがクローズ
されて、このパターンBテーブルが書き込み禁止状態、
読み込み禁止状態にされ、反転ORパスワードパターン
値設定処理が終了する(ステップST30)。
ンタ“Roopidx”の値と、ハードディスク機構1
4に一時記憶されている平文の文字数とが一致したとき
(ステップST27)、パターンBテーブルがクローズ
されて、このパターンBテーブルが書き込み禁止状態、
読み込み禁止状態にされ、反転ORパスワードパターン
値設定処理が終了する(ステップST30)。
【0040】この後、図5のフローチャートに示すよう
に、暗号化を行う際に必要な疑似乱数列を作成する疑似
乱数基数作成処理が開始されて(ステップST4)、図
8のフローチャートに示すように、予め設定されている
疑似乱数作成コマンド“Srand”が用意されるとと
もに、秘密パスワードの文字位置を示すインデックス
“idx”と、疑似乱数を得るのに必要な疑似乱数の基
数“R”とがゼロに初期化される(ステップST31、
ST32)。
に、暗号化を行う際に必要な疑似乱数列を作成する疑似
乱数基数作成処理が開始されて(ステップST4)、図
8のフローチャートに示すように、予め設定されている
疑似乱数作成コマンド“Srand”が用意されるとと
もに、秘密パスワードの文字位置を示すインデックス
“idx”と、疑似乱数を得るのに必要な疑似乱数の基
数“R”とがゼロに初期化される(ステップST31、
ST32)。
【0041】この後、秘密パスワードを構成する各文字
のうち、インデックス“idx”の値で示される位置に
ある文字が選択され、この文字の文字コード(例えば、
文字が“A”であれば、“41H”)で示される回数だ
け、ループするのに必要なカウンタ“J”がゼロに初期
化された後、初期化された疑似乱数の基数“R”の値が
引数にされて、疑似乱数作成コマンド“Srand”が
実行され、これによって得られた疑似乱数の基数“R”
に対応する疑似乱数列が初期値として、RAM回路7に
一時記憶される(ステップST33、ST34)。
のうち、インデックス“idx”の値で示される位置に
ある文字が選択され、この文字の文字コード(例えば、
文字が“A”であれば、“41H”)で示される回数だ
け、ループするのに必要なカウンタ“J”がゼロに初期
化された後、初期化された疑似乱数の基数“R”の値が
引数にされて、疑似乱数作成コマンド“Srand”が
実行され、これによって得られた疑似乱数の基数“R”
に対応する疑似乱数列が初期値として、RAM回路7に
一時記憶される(ステップST33、ST34)。
【0042】次いで、乱数取得コマンド“Ran
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が選択さ
れ、これが疑似乱数の基数“R”に入力され、さらにカ
ウンタ“J”が“1”だけインクリメントされた後(ス
テップST36)、カウンタ“J”の値と、秘密パスワ
ードを構成する各文字のうち、インデックス“idx”
で指定された位置にある文字の値(文字コードで示され
る値)とが一致したかどうかがチェツクされる(ステッ
プST35)。
d()”が実行されて、RAM回路7に一時記憶されて
いる疑似乱数列中の先頭位置にある疑似乱数が選択さ
れ、これが疑似乱数の基数“R”に入力され、さらにカ
ウンタ“J”が“1”だけインクリメントされた後(ス
テップST36)、カウンタ“J”の値と、秘密パスワ
ードを構成する各文字のうち、インデックス“idx”
で指定された位置にある文字の値(文字コードで示され
る値)とが一致したかどうかがチェツクされる(ステッ
プST35)。
【0043】そして、カウンタ“J”の値が秘密パスワ
ードの各文字のうち、インデックス“idx”で指定さ
れた文字の文字コード値より小さければ(ステップST
35)、これらが一致するまで、上述した乱数取得コマ
ンド“Rand()”を使用した疑似乱数の選択処理、
疑似乱数の基数“R”の更新処理、カウンタ“J”のイ
ンクリメント処理、繰り返し、行われて、疑似乱数の基
数“R”が更新される(ステップST35、ST3
6)。
ードの各文字のうち、インデックス“idx”で指定さ
れた文字の文字コード値より小さければ(ステップST
35)、これらが一致するまで、上述した乱数取得コマ
ンド“Rand()”を使用した疑似乱数の選択処理、
疑似乱数の基数“R”の更新処理、カウンタ“J”のイ
ンクリメント処理、繰り返し、行われて、疑似乱数の基
数“R”が更新される(ステップST35、ST3
6)。
【0044】この後、カウンタ“J”の値と、秘密パス
ワードの各文字のうち、インデックス“idx”で指定
された文字の文字コード値とが一致したとき(ステップ
ST35)、秘密パスワードの文字位置を示すインデッ
クス“idx”が“1”だけインクリメントされて、秘
密パスワードを構成する次の文字が指定されるとともに
(ステップST37)、このインデックス“idx”の
値が秘密パスワードの文字数と一致したかどうかがチェ
ツクされる(ステップST33)。
ワードの各文字のうち、インデックス“idx”で指定
された文字の文字コード値とが一致したとき(ステップ
ST35)、秘密パスワードの文字位置を示すインデッ
クス“idx”が“1”だけインクリメントされて、秘
密パスワードを構成する次の文字が指定されるとともに
(ステップST37)、このインデックス“idx”の
値が秘密パスワードの文字数と一致したかどうかがチェ
ツクされる(ステップST33)。
【0045】そして、このインデックス“idx”の値
が秘密パスワードの文字数より小さければ(ステップS
T33)、上述したカウンタ“J”の初期化処理、秘密
パスワードを構成する前の文字を処理したときに得られ
た疑似乱数の基数“R”を引数とする疑似乱数作成コマ
ンド“Srand”の実行処理、疑似乱数の基数“R”
の更新処理、カウンタ“J”のインクリメント処理、イ
ンデックス“idx”のインクリメント処理が順次、が
繰り返されて、RAM回路7に記憶されている疑似乱数
の基数“R”が更新される(ステップST33〜ST3
7)。
が秘密パスワードの文字数より小さければ(ステップS
T33)、上述したカウンタ“J”の初期化処理、秘密
パスワードを構成する前の文字を処理したときに得られ
た疑似乱数の基数“R”を引数とする疑似乱数作成コマ
ンド“Srand”の実行処理、疑似乱数の基数“R”
の更新処理、カウンタ“J”のインクリメント処理、イ
ンデックス“idx”のインクリメント処理が順次、が
繰り返されて、RAM回路7に記憶されている疑似乱数
の基数“R”が更新される(ステップST33〜ST3
7)。
【0046】次いで、秘密パスワードを構成する最後の
文字に対し、上述した処理が終了したとき(ステップS
T33)、RAM回路7に記憶されている疑似乱数列の
基数“R”が平文を暗号化する際の疑似乱数列に決定さ
れて、疑似乱数基数作成処理が終了する。
文字に対し、上述した処理が終了したとき(ステップS
T33)、RAM回路7に記憶されている疑似乱数列の
基数“R”が平文を暗号化する際の疑似乱数列に決定さ
れて、疑似乱数基数作成処理が終了する。
【0047】この後、図5のフローチャートに示すよう
に、暗号化処理が開始されて(ステップST5)、図9
のフローチャートに示すように、RAM回路7に作成さ
れているパターンテーブルと、パターンBテーブルと、
平文を記憶させているハードディスク機構14とがオー
プンされて、これらパターンテーブル、パターンBテー
ブル、ハードディスク機構14が書き込み可能状態、読
み込み可能状態にされる(ステップST41)。
に、暗号化処理が開始されて(ステップST5)、図9
のフローチャートに示すように、RAM回路7に作成さ
れているパターンテーブルと、パターンBテーブルと、
平文を記憶させているハードディスク機構14とがオー
プンされて、これらパターンテーブル、パターンBテー
ブル、ハードディスク機構14が書き込み可能状態、読
み込み可能状態にされる(ステップST41)。
【0048】次いで、ハードディスク機構14に記憶さ
れている平文中にある文字列のうち、1回の暗号化処理
で処理可能な分(予め指定された平文サイズに対応する
分)の文字列が読み出され(ステップST42)、これ
が暗号化を行うのに必要な中間情報“TMP平文”に入
力されるとともに、今回の処理される平文の1文字分
(または、数文字分)の文字列を示すインデックス
“I”がゼロに初期化された後(ステップST43、S
T44)、パターンテーブルに格納されている疑似乱数
パターンビット“Ptbit”と、パターンBテーブル
に格納されている疑似乱数パターンビット“Ptbi
t”とが読み出され(ステップST45、ST46)、
各疑似乱数パターンビット“Ptbit”同士が乗算さ
れるとともに、この乗算結果が予め設定されている定数
“1000”で除算されて、その余りがスクランブルを
かける際に使用するインデックス“パターンidx”に
入力される。
れている平文中にある文字列のうち、1回の暗号化処理
で処理可能な分(予め指定された平文サイズに対応する
分)の文字列が読み出され(ステップST42)、これ
が暗号化を行うのに必要な中間情報“TMP平文”に入
力されるとともに、今回の処理される平文の1文字分
(または、数文字分)の文字列を示すインデックス
“I”がゼロに初期化された後(ステップST43、S
T44)、パターンテーブルに格納されている疑似乱数
パターンビット“Ptbit”と、パターンBテーブル
に格納されている疑似乱数パターンビット“Ptbi
t”とが読み出され(ステップST45、ST46)、
各疑似乱数パターンビット“Ptbit”同士が乗算さ
れるとともに、この乗算結果が予め設定されている定数
“1000”で除算されて、その余りがスクランブルを
かける際に使用するインデックス“パターンidx”に
入力される。
【0049】さらに、スクランブルをかける際のループ
回数を示すカウンタ“J”がゼロに初期化されるととも
に、今回の文字列をスクランブル配置するときに使用さ
れる変数“配置フラグ配列”(スクランブルをかける
際、配置済みを検知するのに必要な変数)が初期化され
た後(ステップST47)、カウンタ“J”の値がイン
デックス“パターンidx”と一致するまで、乱数取得
コマンド“Rand()”が実行されて、RAM回路7
に記憶されている疑似乱数列(上述した疑似乱数基数作
成処理で得られた疑似乱数列)を構成する各疑似乱数が
先頭位置から順次、1つずつ繰り返し、選択されて、疑
似乱数の基数“R”に入力される(ステップST48、
ST49)。
回数を示すカウンタ“J”がゼロに初期化されるととも
に、今回の文字列をスクランブル配置するときに使用さ
れる変数“配置フラグ配列”(スクランブルをかける
際、配置済みを検知するのに必要な変数)が初期化され
た後(ステップST47)、カウンタ“J”の値がイン
デックス“パターンidx”と一致するまで、乱数取得
コマンド“Rand()”が実行されて、RAM回路7
に記憶されている疑似乱数列(上述した疑似乱数基数作
成処理で得られた疑似乱数列)を構成する各疑似乱数が
先頭位置から順次、1つずつ繰り返し、選択されて、疑
似乱数の基数“R”に入力される(ステップST48、
ST49)。
【0050】そして、カウンタ“J”の値がインデック
ス“パターンidx”と一致したとき(ステップST4
8)、最後に得られた疑似乱数の基数“R”と、平文サ
イズとに基づき、変数“配置フラグ配列”の内容が吟味
されて、この疑似乱数の基数“R”で示される配置場所
が既に配置状態になっているかどうかが判定され、この
疑似乱数の基数“R”で示される配置場所が既に配置状
態になっていれば(ステップST50)、上述した疑似
乱数の読み出し処理が再度、実行されて、前回までの処
理で文字が配置されていない場所を示す疑似乱数の基数
“R”が見つけ出される(ステップST50、ST5
1)。
ス“パターンidx”と一致したとき(ステップST4
8)、最後に得られた疑似乱数の基数“R”と、平文サ
イズとに基づき、変数“配置フラグ配列”の内容が吟味
されて、この疑似乱数の基数“R”で示される配置場所
が既に配置状態になっているかどうかが判定され、この
疑似乱数の基数“R”で示される配置場所が既に配置状
態になっていれば(ステップST50)、上述した疑似
乱数の読み出し処理が再度、実行されて、前回までの処
理で文字が配置されていない場所を示す疑似乱数の基数
“R”が見つけ出される(ステップST50、ST5
1)。
【0051】次いで、文字が配置されていない場所を示
す疑似乱数の基数“R”が見つかったとき(ステップS
T50)、中間情報“TMP平文”に格納されている文
字列のうち、今回、処理対象に選択された1文字分(ま
たは、数文字分)の文字列(インデックス“I”に対応
する平文の文字列)と、今回、使用された疑似乱数の基
数“R”との排他的論理和が求められて、暗号文字列が
作成され、これがRAM回路7内に設けられている暗号
文エリアの疑似乱数の基数“R”に対応する配置場所に
一時記憶された後(ステップST52)、インデックス
“I”が“1”だけインクリメントされるとともに、変
数“配置フラグ配列”のうち、今回の処理で使用された
疑似乱数の基数“R”に対応する部分が使用済みを示す
“1”にされる(ステップST53)。
す疑似乱数の基数“R”が見つかったとき(ステップS
T50)、中間情報“TMP平文”に格納されている文
字列のうち、今回、処理対象に選択された1文字分(ま
たは、数文字分)の文字列(インデックス“I”に対応
する平文の文字列)と、今回、使用された疑似乱数の基
数“R”との排他的論理和が求められて、暗号文字列が
作成され、これがRAM回路7内に設けられている暗号
文エリアの疑似乱数の基数“R”に対応する配置場所に
一時記憶された後(ステップST52)、インデックス
“I”が“1”だけインクリメントされるとともに、変
数“配置フラグ配列”のうち、今回の処理で使用された
疑似乱数の基数“R”に対応する部分が使用済みを示す
“1”にされる(ステップST53)。
【0052】以下、中間情報“TMP平文”に格納され
ている文字列のうち、1文字分(または、数文字分)単
位で、次の文字列が選択されて、上述した暗号化処理が
繰り返し、行われて、暗号文エリアの未使用場所に文字
列に対応する暗号文字列が順次、一時記憶される(ステ
ップST45〜ST53)。
ている文字列のうち、1文字分(または、数文字分)単
位で、次の文字列が選択されて、上述した暗号化処理が
繰り返し、行われて、暗号文エリアの未使用場所に文字
列に対応する暗号文字列が順次、一時記憶される(ステ
ップST45〜ST53)。
【0053】そして、中間情報“TMP平文”に格納さ
れている最後の文字列について、上述した暗号化処理が
終了したとき(ステップST45)、暗号文エリアに一
時記憶されている平文(暗号化済みの平文)が暗号文と
して、表示器12上に表示されるととも、キーボード9
からの指示に基づき、通信回線5上に送出されて、通信
先となる送受信装置4に伝送される(ステップST5
4)。
れている最後の文字列について、上述した暗号化処理が
終了したとき(ステップST45)、暗号文エリアに一
時記憶されている平文(暗号化済みの平文)が暗号文と
して、表示器12上に表示されるととも、キーボード9
からの指示に基づき、通信回線5上に送出されて、通信
先となる送受信装置4に伝送される(ステップST5
4)。
【0054】以下、ハードディスク機構14に記憶され
ている平文のうち、未だ暗号化処理していない文字列が
残っていれば、残っている文字列のうち、1回の暗号化
処理で処理可能な分だけが、読み出されて、上述した処
理が繰り返され、これによって得られた暗号文として、
表示器12上に表示されるととも、キーボード9の指示
に基づき、通信回線5上に送出されて、通信先となる送
受信装置4に伝送される(ステップST42〜ST5
4)。
ている平文のうち、未だ暗号化処理していない文字列が
残っていれば、残っている文字列のうち、1回の暗号化
処理で処理可能な分だけが、読み出されて、上述した処
理が繰り返され、これによって得られた暗号文として、
表示器12上に表示されるととも、キーボード9の指示
に基づき、通信回線5上に送出されて、通信先となる送
受信装置4に伝送される(ステップST42〜ST5
4)。
【0055】そして、ハードディスク機構14に記憶さ
れている平文を構成する全ての文字列について、暗号化
処理が終了したとき(ステップST43)、パターンテ
ーブルと、パターンBテーブルと、平文を記憶させてい
るハードディスク機構14とがクローズされて、これら
パターンテーブル、パターンBテーブル、ハードディス
ク機構14が書き込み禁止状態、読み込み禁止状態にさ
れ、暗号化処理が終了する(ステップST55)。
れている平文を構成する全ての文字列について、暗号化
処理が終了したとき(ステップST43)、パターンテ
ーブルと、パターンBテーブルと、平文を記憶させてい
るハードディスク機構14とがクローズされて、これら
パターンテーブル、パターンBテーブル、ハードディス
ク機構14が書き込み禁止状態、読み込み禁止状態にさ
れ、暗号化処理が終了する(ステップST55)。
【0056】また、このようなNGDp暗号化アルゴリ
ズムに対応するNGDp復号化アルゴリズムは、上述し
たNGDp暗号化アルゴリズムと同一またはほぼ同じ手
順で構成されており、NGDp暗号化アルゴリズムによ
って暗号化された暗号文が入力されたとき、この暗号文
を構成する各暗号文字の数と、予め設定されている秘密
パスワード(この秘密パスワードは、暗号化時に使用さ
れた秘密パスワードと同じ秘密パスワード)とを使用し
て、ORパスワードパターン値設定処理、反転ORパス
ワードパターン値設定処理、疑似乱数基数作成処理、復
号化処理を順次、行って、暗号文に含まれている各暗号
文字を復号化し、元の平文を復元する。
ズムに対応するNGDp復号化アルゴリズムは、上述し
たNGDp暗号化アルゴリズムと同一またはほぼ同じ手
順で構成されており、NGDp暗号化アルゴリズムによ
って暗号化された暗号文が入力されたとき、この暗号文
を構成する各暗号文字の数と、予め設定されている秘密
パスワード(この秘密パスワードは、暗号化時に使用さ
れた秘密パスワードと同じ秘密パスワード)とを使用し
て、ORパスワードパターン値設定処理、反転ORパス
ワードパターン値設定処理、疑似乱数基数作成処理、復
号化処理を順次、行って、暗号文に含まれている各暗号
文字を復号化し、元の平文を復元する。
【0057】このように、この実施の形態では、各送受
信装置3、4のいずれか、例えば送受信装置3に送信対
象となる平文が入力されたとき、送受信装置3によって
予め入力されている秘密パスワードを使用したNGDp
暗号化/復号化アルゴリズムを使用し、平文を暗号化し
て、暗号文を作成し、これを通信回線5上に送出して、
送受信装置4に伝送するとともに、この送受信装置4に
よって、予め設定されている秘密パスワードを使用した
NGDp暗号化/復号化アルゴリズムを使用し、平文を
復号化させ、これによって得られた平文(送信元の送受
信装置3に入力された平文)をフロッピーディスク19
などに格納させて、受信者に渡すようにしているので、
疑似乱数基数作成処理で作成された疑似乱数列をスクラ
ンブルするとともに、平文を構成する各文字を1文字単
位または数文字単位で、スクランブルすることができ、
これによって盗難などにより、元の平文と、この平文を
暗号化した暗号文とが分かっても、秘密パスワードが解
読される恐れをほぼゼロにして、重要な書類などを安全
に伝送させることができる(請求項1、4の効果)。
信装置3、4のいずれか、例えば送受信装置3に送信対
象となる平文が入力されたとき、送受信装置3によって
予め入力されている秘密パスワードを使用したNGDp
暗号化/復号化アルゴリズムを使用し、平文を暗号化し
て、暗号文を作成し、これを通信回線5上に送出して、
送受信装置4に伝送するとともに、この送受信装置4に
よって、予め設定されている秘密パスワードを使用した
NGDp暗号化/復号化アルゴリズムを使用し、平文を
復号化させ、これによって得られた平文(送信元の送受
信装置3に入力された平文)をフロッピーディスク19
などに格納させて、受信者に渡すようにしているので、
疑似乱数基数作成処理で作成された疑似乱数列をスクラ
ンブルするとともに、平文を構成する各文字を1文字単
位または数文字単位で、スクランブルすることができ、
これによって盗難などにより、元の平文と、この平文を
暗号化した暗号文とが分かっても、秘密パスワードが解
読される恐れをほぼゼロにして、重要な書類などを安全
に伝送させることができる(請求項1、4の効果)。
【0058】この際、開始値を“32bit×256”
にし、採用値を“32bit”にすることにより、次式
に示ように、“4,722,366,480,670,
620,000,000”通りのパターンを得ることが
できることから、元の平文と、この平文を暗号化した暗
号文とが解読されて、秘密パスワードが逆算される可能
性をほぼゼロにすることができる。
にし、採用値を“32bit”にすることにより、次式
に示ように、“4,722,366,480,670,
620,000,000”通りのパターンを得ることが
できることから、元の平文と、この平文を暗号化した暗
号文とが解読されて、秘密パスワードが逆算される可能
性をほぼゼロにすることができる。
【0059】 (32bit×256)×(32bit) =4,722,366,480,670,620,000,000 …(1) また、この実施の形態では、疑似乱数基数作成処理で作
成された疑似乱数列をスクランブルするとともに、平文
を構成する各文字を1文字単位または数文字単位で、ス
クランブルするとき、ORパスワードパターン値設定処
理で得られた疑似乱数パターンビット“Ptbit”
と、反転ORパスワードパターン値設定処理で得られた
疑似乱数パターンビット“Ptbit”と乗算して、そ
の余りを使用して、疑似乱数の基数“R”を得るように
しているので、平文を構成する各文字を暗号化する際に
使用する疑似乱数列を均一にスクランブルすることがで
き、これによって疑似乱数列を構成する各疑似乱数の偏
り、揺らぎなどを解析しても、秘密パスワードが解読さ
れる恐れをほぼゼロにすることができ、これによって重
要な書類などを安全に伝送させることができる(請求項
2、5の効果)。
成された疑似乱数列をスクランブルするとともに、平文
を構成する各文字を1文字単位または数文字単位で、ス
クランブルするとき、ORパスワードパターン値設定処
理で得られた疑似乱数パターンビット“Ptbit”
と、反転ORパスワードパターン値設定処理で得られた
疑似乱数パターンビット“Ptbit”と乗算して、そ
の余りを使用して、疑似乱数の基数“R”を得るように
しているので、平文を構成する各文字を暗号化する際に
使用する疑似乱数列を均一にスクランブルすることがで
き、これによって疑似乱数列を構成する各疑似乱数の偏
り、揺らぎなどを解析しても、秘密パスワードが解読さ
れる恐れをほぼゼロにすることができ、これによって重
要な書類などを安全に伝送させることができる(請求項
2、5の効果)。
【0060】また、この実施の形態では、疑似乱数基数
作成処理で作成された疑似乱数列をスクランブルして得
られた配置を使用して、平文を構成する各文字を文字単
位または文字列単位で、スクランブルするようにしてい
るので、盗難などにより、平文を暗号化/復号化する際
に使用している秘密パスワードが知られて、使用してい
るスクランブル前の疑似乱数列が分かった場合でも、暗
号文の解読を困難にし、これによって重要な書類などを
安全に伝送させることができる(請求項3、6の効
果)。
作成処理で作成された疑似乱数列をスクランブルして得
られた配置を使用して、平文を構成する各文字を文字単
位または文字列単位で、スクランブルするようにしてい
るので、盗難などにより、平文を暗号化/復号化する際
に使用している秘密パスワードが知られて、使用してい
るスクランブル前の疑似乱数列が分かった場合でも、暗
号文の解読を困難にし、これによって重要な書類などを
安全に伝送させることができる(請求項3、6の効
果)。
【0061】《他の実施の形態》なお、光磁気記録媒体
や、フロッピーディスク、光ディスクなどの記録媒体に
上述したNGDp暗号化/復号化アルゴリズムを実現す
るプログラムを記憶させ、この記録媒体を介して、通常
の送受信装置3、4にNGDp暗号化/復号化アルゴリ
ズムを実現させるようにすることも可能である。
や、フロッピーディスク、光ディスクなどの記録媒体に
上述したNGDp暗号化/復号化アルゴリズムを実現す
るプログラムを記憶させ、この記録媒体を介して、通常
の送受信装置3、4にNGDp暗号化/復号化アルゴリ
ズムを実現させるようにすることも可能である。
【0062】このように構成することにより、疑似乱数
基数作成処理で作成された疑似乱数列をスクランブルす
るとともに、平文を構成する各文字を1文字単位または
数文字単位でスクランブルすることができ、これによっ
て盗難などにより、元の平文と、この平文を暗号化した
暗号文とが分かっても、秘密パスワードが解読される恐
れをほぼゼロにして、重要な書類などを安全に伝送させ
ることができる(請求項7の効果)。
基数作成処理で作成された疑似乱数列をスクランブルす
るとともに、平文を構成する各文字を1文字単位または
数文字単位でスクランブルすることができ、これによっ
て盗難などにより、元の平文と、この平文を暗号化した
暗号文とが分かっても、秘密パスワードが解読される恐
れをほぼゼロにして、重要な書類などを安全に伝送させ
ることができる(請求項7の効果)。
【0063】また、ORパスワードパターン値設定処理
で得られた疑似乱数パターンビット“Ptbit”と、
反転ORパスワードパターン値設定処理で得られた疑似
乱数パターンビット“Ptbit”と乗算して、その余
りを使用して、疑似乱数の基数“R”をスクランブル
し、このスクランブル結果を使用して、疑似乱数基数作
成処理で作成された疑似乱数列をスクランブルするとと
もに、平文を構成する各文字を1文字単位または数文字
単位でスクランブルすることにより、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルすることができ、これによって疑似乱数列を構
成する各疑似乱数の偏り、揺らぎなどを解析しても、秘
密パスワードが解読される恐れをほぼゼロにすることが
できるとともに、盗難などにより、平文を暗号化/復号
化する際に使用している秘密パスワードが知られて、使
用しているスクランブル前の疑似乱数列が分かった場合
でも、暗号文の解読を困難にし、これによって重要な書
類などを安全に伝送させることができる(請求項8、9
の効果)。
で得られた疑似乱数パターンビット“Ptbit”と、
反転ORパスワードパターン値設定処理で得られた疑似
乱数パターンビット“Ptbit”と乗算して、その余
りを使用して、疑似乱数の基数“R”をスクランブル
し、このスクランブル結果を使用して、疑似乱数基数作
成処理で作成された疑似乱数列をスクランブルするとと
もに、平文を構成する各文字を1文字単位または数文字
単位でスクランブルすることにより、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルすることができ、これによって疑似乱数列を構
成する各疑似乱数の偏り、揺らぎなどを解析しても、秘
密パスワードが解読される恐れをほぼゼロにすることが
できるとともに、盗難などにより、平文を暗号化/復号
化する際に使用している秘密パスワードが知られて、使
用しているスクランブル前の疑似乱数列が分かった場合
でも、暗号文の解読を困難にし、これによって重要な書
類などを安全に伝送させることができる(請求項8、9
の効果)。
【0064】さらに、上述した実施の形態では、ハード
ディスク機構14に上述したNGDp暗号化/復号化ア
ルゴリズムを実現するプログラムを格納するようにして
いるが、送受信装置3、4に設けられたROM回路8内
にプログラムを格納しておいても良い。
ディスク機構14に上述したNGDp暗号化/復号化ア
ルゴリズムを実現するプログラムを格納するようにして
いるが、送受信装置3、4に設けられたROM回路8内
にプログラムを格納しておいても良い。
【0065】このようにすることにより、工場から送受
信装置3、4を出荷する段階で、NGDp暗号化/復号
化アルゴリズムの機能を持たせることができる。
信装置3、4を出荷する段階で、NGDp暗号化/復号
化アルゴリズムの機能を持たせることができる。
【0066】
【発明の効果】以上説明したように本発明によれば、請
求項1、4、7では、盗難などにより、元の文字列と、
この文字列を暗号化した暗号文とが分かっても、秘密パ
スワードが解読される恐れをほぼゼロにすることがで
き、これによって重要な書類などを安全に伝送させるこ
とができる。
求項1、4、7では、盗難などにより、元の文字列と、
この文字列を暗号化した暗号文とが分かっても、秘密パ
スワードが解読される恐れをほぼゼロにすることがで
き、これによって重要な書類などを安全に伝送させるこ
とができる。
【0067】請求項2、5、8では、平文を構成する各
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして、疑似乱数列を構成する各疑似乱数の偏
り、揺らぎなどを解析しても、秘密パスワードが解読さ
れる恐れをほぼゼロにすることができ、これによって重
要な書類などを安全に伝送させることができる。
文字を暗号化する際に使用する疑似乱数列を均一にスク
ランブルして、疑似乱数列を構成する各疑似乱数の偏
り、揺らぎなどを解析しても、秘密パスワードが解読さ
れる恐れをほぼゼロにすることができ、これによって重
要な書類などを安全に伝送させることができる。
【0068】請求項3、6、9では、平文を構成する各
文字を文字単位または文字列単位でスクランブルして、
盗難などにより、平文を暗号化/復号化する際に使用し
ている秘密パスワードが知られ、使用しているスクラン
ブル前の疑似乱数列が分かった場合でも、暗号文の解読
を困難にし、これによって重要な書類などを安全に伝送
させることができる。
文字を文字単位または文字列単位でスクランブルして、
盗難などにより、平文を暗号化/復号化する際に使用し
ている秘密パスワードが知られ、使用しているスクラン
ブル前の疑似乱数列が分かった場合でも、暗号文の解読
を困難にし、これによって重要な書類などを安全に伝送
させることができる。
【図1】本発明が適用された平文暗号化/復号化システ
ムの一例を示すブロック図である。
ムの一例を示すブロック図である。
【図2】図1に示す平文暗号化/復号化システムで行わ
れる暗号化処理、復号化処理の概要を模式的に示す説明
図である。
れる暗号化処理、復号化処理の概要を模式的に示す説明
図である。
【図3】図1に示す平文暗号化/復号化システムの暗号
化処理で行われる疑似乱数の入れ替え動作例を模式的に
示す説明図である。
化処理で行われる疑似乱数の入れ替え動作例を模式的に
示す説明図である。
【図4】図1に示す平文暗号化/復号化システムで行わ
れるNGDp暗号化処理の変数表を示す図である。
れるNGDp暗号化処理の変数表を示す図である。
【図5】図1に示す平文暗号化/復号化システムで行わ
れるNGDp暗号化処理の概要例を示すフローチャート
である。
れるNGDp暗号化処理の概要例を示すフローチャート
である。
【図6】図5に示すORパスワードパターン値設定処理
の詳細な内容を示すフローチャートである。
の詳細な内容を示すフローチャートである。
【図7】図5に示す反転ORパスワードパターン値設定
処理の詳細な内容を示すフローチャートである。
処理の詳細な内容を示すフローチャートである。
【図8】図5に示す疑似乱数基数作成処理の詳細な内容
を示すフローチャートである。
を示すフローチャートである。
【図9】図5に示す暗号化処理の詳細な内容を示すフロ
ーチャートである。
ーチャートである。
【図10】従来から知られている暗号化/復号化システ
ムの一例を示すブロック図である。
ムの一例を示すブロック図である。
1:平文暗号化/復号化システム 2:フロッピーディスク 3、4:送受信装置 5:通信回線 6:CPU回路(パターン生成処理部、疑似乱数列生成
処理部、暗号化/復号化処理部) 7:RAM回路 8:ROM回路 9:キーボード 10:キーボードインタフェース回路 11:CRTインタフェース回路 12:表示器 13:通信回路 14:ハードディスク機構 15:ハードディスクインタフェース回路 16:フロッピーディスク機構 17:フロッピーディスクインタフェース回路 19:フロッピーディスク
処理部、暗号化/復号化処理部) 7:RAM回路 8:ROM回路 9:キーボード 10:キーボードインタフェース回路 11:CRTインタフェース回路 12:表示器 13:通信回路 14:ハードディスク機構 15:ハードディスクインタフェース回路 16:フロッピーディスク機構 17:フロッピーディスクインタフェース回路 19:フロッピーディスク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北橋 克佳 東京都港区芝浦一丁目1番1号 株式会社 東芝本材事務所内 (72)発明者 奈良 貞則 東京都港区新橋2丁目16番1 ニュー新橋 ビル 日本エンジニアリング株式会社内
Claims (9)
- 【請求項1】 入力された平文を暗号化/復号化する方
法であって、 予め設定されている秘密パスワードを使用して疑似乱数
列を発生し、スクランブル用パターンを生成するパター
ン生成処理と、 前記秘密パスワードを使用して疑似乱数列を発生し、前
記秘密パスワードに対応する疑似乱数列を生成する疑似
乱数列生成処理と、 前記パターン生成処理で生成されたスクランブル用パタ
ーンを使用して前記疑似乱数列生成処理で生成された前
記疑似乱数列をスクランブルするとともに、このスクラ
ンブル処理で得られたスクランブル疑似乱数列を使用し
て、入力された平文を文字単位または文字列単位で暗号
化して暗号文を生成する処理、または入力された暗号文
を文字単位または文字列単位で復号化して元の平文に復
元する暗号化/復号化処理と、 を備えたことを特徴とする平文暗号化/復号化方法。 - 【請求項2】 請求項1に記載の平文暗号化/復号化方
法において、 前記パターン生成処理は、前記秘密パスワードを構成す
る各文字をそのまま使用して疑似乱数列を発生し、OR
パスーワードパターンを作成するとともに、前記秘密パ
スワードを構成する各文字を反転した各文字列を使用し
て疑似乱数列を発生し、反転ORパスーワードパターン
を作成した後、これらORパスーワードパターン、反転
ORパスーワードパターンに基づき、前記スクランブル
用パターンを生成する、 ことを特徴とする平文暗号化/復号化方法。 - 【請求項3】 請求項1、2のいずれかに記載の平文暗
号化/復号化方法において、 前記暗号化/復号化処理は、スクランブル処理で得られ
たスクランブル疑似乱数列を使用して、入力された平文
を文字単位または文字列単位で暗号化して暗号文を生成
する処理または入力された暗号文を文字単位または文字
列単位で復号化して元の平文を復元する際、入力された
平文の各文字または文字列の位置を入れ替えて、元の平
文を暗号化または元の平文の復元化を行う、 ことを特徴とする平文暗号化/復号化方法。 - 【請求項4】 入力された平文を暗号化/復号化する際
に使用される平文暗号化/復号化装置において、 予め設定されている秘密パスワードを使用して疑似乱数
列を発生し、スクランブル用パターンを生成するパター
ン生成処理部と、 前記秘密パスワードを使用して疑似乱数列を発生し、前
記秘密パスワードに対応する疑似乱数列を生成する疑似
乱数列生成処理部と、 前記パターン生成処理部で生成されたスクランブル用パ
ターンを使用して前記疑似乱数列生成処理部で生成され
た前記疑似乱数列をスクランブルするとともに、このス
クランブル処理で得られたスクランブル疑似乱数列を使
用して、入力された平文を文字単位または文字列単位で
暗号化して暗号文を生成する処理または入力された暗号
文を文字単位または文字列単位で復号化して元の平文に
復元する暗号化/復号化処理部と、 を備えたことを特徴とする平文暗号化/復号化装置。 - 【請求項5】 請求項4に記載の平文暗号化/復号化装
置において、 前記パターン生成処理部は、前記秘密パスワードを構成
する各文字をそのまま使用して疑似乱数列を発生し、O
Rパスーワードパターンを作成するとともに、前記秘密
パスワードを構成する各文字を反転した各文字列を使用
して疑似乱数列を発生し、反転ORパスーワードパター
ンを作成した後、これらORパスーワードパターン、反
転ORパスーワードパターンに基づき、前記スクランブ
ル用パターンを生成する、 ことを特徴とする平文暗号化/復号化装置。 - 【請求項6】 請求項4、5のいずれかに記載の平文暗
号化/復号化装置において、 前記暗号化/復号化処理部は、スクランブル処理で得ら
れたスクランブル疑似乱数列を使用して、入力された平
文を文字単位または文字列単位で暗号化して暗号文を生
成する処理または入力された暗号文を文字単位または文
字列単位で復号化して元の平文を復元する際、入力され
た平文の各文字または文字列の位置を入れ替えて、元の
平文を暗号化または元の平文の復元化を行う、 ことを特徴とする平文暗号化/復号化装置。 - 【請求項7】 入力された平文を暗号化/復号化するア
ルゴリズムを記録したコンピュータ読み取り可能な記録
媒体であって、 予め設定されている秘密パスワードを使用して疑似乱数
列を発生させ、スクランブル用パターンを生成させるパ
ターン生成処理と、 前記秘密パスワードを使用して疑似乱数列を発生させ、
前記秘密パスワードに対応する疑似乱数列を生成させる
疑似乱数列生成処理と、 前記パターン生成処理で生成されたスクランブル用パタ
ーンを使用して前記疑似乱数列生成処理で生成された前
記疑似乱数列をスクランブルさせるとともに、このスク
ランブル処理で得られたスクランブル疑似乱数列を使用
して、入力された平文を文字単位または文字列単位で暗
号化して暗号文を生成させる処理、または入力された暗
号文を文字単位または文字列単位で復号化して元の平文
を復元させる暗号化/復号化処理と、 から成る平文暗号化/復号化アルゴリズムを記録したコ
ンピュータ読み取り可能な記録媒体。 - 【請求項8】 請求項7に記載の平文暗号化/復号化ア
ルゴリズムを記録したコンピュータ読み取り可能な記録
媒体において、 前記パターン生成処理は、前記秘密パスワードを構成す
る各文字をそのまま使用して疑似乱数列を発生し、OR
パスーワードパターンを作成するとともに、前記秘密パ
スワードを構成する各文字を反転した各文字列を使用し
て疑似乱数列を発生し、反転ORパスーワードパターン
を作成した後、これらORパスーワードパターン、反転
ORパスーワードパターンに基づき、前記スクランブル
用パターンを生成する、 ことを特徴とする平文暗号化/復号化アルゴリズムを記
録したコンピュータ読み取り可能な記録媒体。 - 【請求項9】 請求項7、8のいずれかに記載の平文暗
号化/復号化アルゴリズムを記録したコンピュータ読み
取り可能な記録媒体において、 前記暗号化/復号化処理は、スクランブル処理で得られ
たスクランブル疑似乱数列を使用して、入力された平文
を文字単位または文字列単位で暗号化して暗号文を生成
する処理または入力された暗号文を文字単位または文字
列単位で復号化して元の平文を復元する際、入力された
平文の各文字または文字列の位置を入れ替えて、元の平
文を暗号化または元の平文の復元化を行う、 ことを特徴とする平文暗号化/復号化アルゴリズムを記
録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10279151A JP2000112351A (ja) | 1998-09-30 | 1998-09-30 | 平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10279151A JP2000112351A (ja) | 1998-09-30 | 1998-09-30 | 平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000112351A true JP2000112351A (ja) | 2000-04-21 |
Family
ID=17607166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10279151A Withdrawn JP2000112351A (ja) | 1998-09-30 | 1998-09-30 | 平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000112351A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008026915A (ja) * | 2007-08-27 | 2008-02-07 | Matsushita Electric Ind Co Ltd | 通信装置、通信方法、通信システム及びプログラム |
JP2009213139A (ja) * | 2008-03-05 | 2009-09-17 | Samsung Electronics Co Ltd | パスワードシステム |
CN111984987A (zh) * | 2020-09-01 | 2020-11-24 | 上海梅斯医药科技有限公司 | 一种用于电子病历脱敏及还原的方法、装置、系统和介质 |
CN115114895A (zh) * | 2022-08-26 | 2022-09-27 | 华控清交信息科技(北京)有限公司 | 一种合并报表的方法、装置和可读存储介质 |
-
1998
- 1998-09-30 JP JP10279151A patent/JP2000112351A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008026915A (ja) * | 2007-08-27 | 2008-02-07 | Matsushita Electric Ind Co Ltd | 通信装置、通信方法、通信システム及びプログラム |
JP2009213139A (ja) * | 2008-03-05 | 2009-09-17 | Samsung Electronics Co Ltd | パスワードシステム |
CN111984987A (zh) * | 2020-09-01 | 2020-11-24 | 上海梅斯医药科技有限公司 | 一种用于电子病历脱敏及还原的方法、装置、系统和介质 |
CN111984987B (zh) * | 2020-09-01 | 2024-04-02 | 上海梅斯医药科技有限公司 | 一种用于电子病历脱敏及还原的方法、装置、系统和介质 |
CN115114895A (zh) * | 2022-08-26 | 2022-09-27 | 华控清交信息科技(北京)有限公司 | 一种合并报表的方法、装置和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3747520B2 (ja) | 情報処理装置及び情報処理方法 | |
KR100308322B1 (ko) | 특별한암호화기능들을사용하여데이터의강력한암호화또는해독화를수행하는방법및장치 | |
US20030084308A1 (en) | Memory encryption | |
EP0002579A1 (en) | A method of creating a secure data file | |
US7702110B2 (en) | Electronic document protection system and method | |
JPH11272561A (ja) | 記憶媒体のデータ保護方法、その装置及びその記憶媒体 | |
JP2000151576A (ja) | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 | |
Purnama | An analysis of encryption and decryption application by using one time pad algorithm | |
US7841014B2 (en) | Confidential information processing method, confidential information processor, and content data playback system | |
WO2007001075A1 (ja) | 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造 | |
JP2000172548A (ja) | 電子データ管理方法,装置およびそのプログラム記録媒体 | |
JP2006253746A (ja) | データ処理装置、データ処理システム、及びデータ処理方法 | |
JP2005521295A (ja) | 暗号化鍵の隠蔽及び回復の方法及びシステム | |
JP2004208088A (ja) | デバイス鍵復号化装置、デバイス鍵暗号化装置、デバイス鍵暗号復号化装置、デバイス鍵復号化方法、デバイス鍵暗号化方法、デバイス鍵暗号復号化方法、及びそのプログラム | |
US8024583B2 (en) | Confidential information processing host device and confidential information processing method | |
JP4119882B2 (ja) | メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ | |
JP2007181011A (ja) | データ共有装置 | |
JP2000112351A (ja) | 平文暗号化/復号化方法、平文暗号化/復号化装置、および平文暗号化/復号化アルゴリズムを記録したコンピュータ読み込み可能な記録媒体 | |
JP2008312156A (ja) | 情報処理装置、暗号化処理方法及び暗号化処理プログラム | |
JPH11161167A (ja) | 暗号化装置およびその方法ならびに暗号化プログラムを記録した記録媒体 | |
JP2011010170A (ja) | 電子機器及びその不正利用防止方法 | |
JPH07140896A (ja) | ファイル暗号方法及びその装置 | |
CN111008837B (zh) | 区块链账户私钥恢复方法、装置、计算机设备及存储介质 | |
JP2004023122A (ja) | Icカードを利用した暗号システム | |
JP2005354602A (ja) | データ記憶装置及び暗号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040722 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040722 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060110 |