JP2001290707A - データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置 - Google Patents

データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置

Info

Publication number
JP2001290707A
JP2001290707A JP2000102910A JP2000102910A JP2001290707A JP 2001290707 A JP2001290707 A JP 2001290707A JP 2000102910 A JP2000102910 A JP 2000102910A JP 2000102910 A JP2000102910 A JP 2000102910A JP 2001290707 A JP2001290707 A JP 2001290707A
Authority
JP
Japan
Prior art keywords
file
data
constant
block
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000102910A
Other languages
English (en)
Inventor
Kazumi Mochizuki
一美 望月
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2000102910A priority Critical patent/JP2001290707A/ja
Publication of JP2001290707A publication Critical patent/JP2001290707A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 取り扱いが容易で、データの内容に拘らずフ
ァイルデータの機密性を確実に保護することができ、暗
号化ファイルの肥大化を防止できるようにする。 【解決手段】 n(任意の整数)バイトのブロックにフ
ァイルの先頭から連続して分割し、さらにこれらのブロ
ックをm個から成るグループに分割し、まず、このグル
ープを単位として一定のパターンでグループ内のブロッ
クの順序を攪乱する。攪乱パターンは、1グループを構
成するmブロックの並べ変えを行なうのに必要な順位の
情報を含み、所定の演算により抽出した定数鍵を用いて
発生される。さらに、nバイトの1ブロックを充分変換
処理できるだけのデータ幅を有するXOR定数を生成
し、各ブロックのデータに対して排他的論理和演算を加
えることにより暗号化ファイルイメージを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ファイルデータを
暗号化/復号化するデータ処理方法、データ処理プログ
ラムを格納したコンピュータ読取可能な記憶媒体、およ
びデータ処理装置に関するものである。
【0002】
【従来の技術】コンピュータなどのデータ処理装置の記
憶装置に保存されたファイルは、容易かつ短時間に複写
することができる。現在ではネットワーク化が進んでお
り、ファイルを格納したディレクトリを複数のコンピュ
ータで共有して利用するのは珍しくない。このようなネ
ットワーク環境では、あるホストのファイルに対して他
の端末から不正に閲覧や複写をされることがある。
【0003】OSの機能によっては、共有されるファイ
ル/ディレクトリの所有者や特定のグループのユーザ以
外がそのファイル/ディレクトリに対するアクセスを禁
止したり、ユーザ名やパスワードを照合することにより
ユーザを認証し、パーミッションのあるユーザ以外のア
クセスを禁止することができるが、それでも不正侵入さ
れた場合はファイルデータの機密性を完全に保障するこ
とはできない。
【0004】このようにファイルシステムの一部あるい
は全体に対するアクセス制限を行なうのは、小さなファ
イルのために記憶装置全体の利用が制限されるという問
題があり、用途によっては適さない場合もある。また、
このようなアクセス制限も、ファイルを書き込んだ記憶
媒体のみを持ち運ぶ途中での記憶媒体の紛失や盗難、あ
るいはコンピュータ自体が紛失や盗難にあった場合には
有効な保護とはなり得ない。
【0005】このような問題を解決する方法の1つとし
て、ファイルを暗号化する方法がある。平文のファイル
の場合は、ファイルにアクセスできた時点でファイルデ
ータの機密性が失なわれてしまうが、ファイルを暗号化
しておけば、ファイルデータの内容を有効に保護するこ
とができる。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
ファイルの暗号化は、通信で傍受された場合に解析され
ても復号できないようにすることを目的にしたものが多
く、主に文字を暗号化することを重視していたため、一
文字あるいは適当なデータブロックごとに文字内容を操
作して暗号化していた。この方式では文字コード以外の
データに対応できない場合が多く、数値データや画像デ
ータは正確に復号することが困難であった。加えて文字
ごとに手続きが違うために演算が複雑で処理に時間がか
かるため高速演算装置が必要となり、ハードウェアに依
存する大規模なものも多く見られる。
【0007】また、従来の暗号化では、ファイルサイズ
が数倍に大きくなるのが普通で、復号のための鍵情報な
どのために管理すべきファイルが複数になることも多
く、取り扱いは面倒なものにならざるを得なかった。
【0008】本発明の課題は上記の問題を解決し、取り
扱いが容易で、ファイルデータの機密性を確実に保護す
ることができ、データの内容には左右されることなく、
管理すべきファイルの数が少なくて済み、暗号化ファイ
ルの肥大化を防ぎ、また、エンコード前のファイルを削
除しても確実にファイルを復元することができるように
することにある。
【0009】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明においては、ファイルデータを暗号化/復
号化するデータ処理方法、データ処理プログラムを格納
したコンピュータ読取可能な記憶媒体、およびデータ処
理装置において、入力ファイルをnバイト(nは任意の
整数)のブロック、および前記ブロックのmブロック
(mは任意の整数)から成るグループに分割し、ランダ
ム演算により求めた定数鍵の値に基づき前記各グループ
内の各ブロックの順番を攪乱し、各ブロックデータと所
定のXOR定数との排他的論理和を取り、得られたデー
タを暗号化ファイルとして出力する暗号化処理を行なう
構成を採用した。
【0010】あるいはさらに、前記暗号化ファイルのデ
ータと前記XOR定数との排他的論理和を取り、続いて
前記定数鍵の値に基づき前記各グループ内の各ブロック
の順番を復元することにより、前記入力ファイルのファ
イルイメージを出力する復号化処理を行なう構成を採用
した。
【0011】あるいはさらに、前記XOR定数が、前記
定数鍵に所定の演算を加えることにより一意に求められ
る定数である構成を採用した。
【0012】あるいはさらに、前記出力ファイルの先頭
に格納されるヘッダ情報に、少なくとも前記定数鍵、あ
るいはさらに前記XOR定数が含まれる構成を採用し
た。
【0013】あるいはさらに、前記出力ファイルの先頭
に格納されるヘッダ情報に、前記暗号化処理、または復
号化処理の際に照合される認証情報として、ユーザパス
ワード、および、前記暗号化処理を実行したデータ装置
ないしプログラム製品固有のID番号が含まれる構成を
採用した。
【0014】あるいはさらに、前記認証情報が前記暗号
化処理により暗号化された上、前記ヘッダ情報に格納さ
れる構成を採用した。
【0015】あるいはさらに、前記のデータの1グルー
プを構成するブロック数mを前記入力ファイルのファイ
ルサイズに基づき決定する構成を採用した。
【0016】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
【0017】本発明が前提とするハードウェア構成は図
2に示すようにCPU1、ROM2、RAM3、記憶装
置4、ディスプレイ(CRT、LCDなどによる)5、
キーボード6を有するパーソナルコンピュータやワーク
ステーション、あるいはワードプロセッサ専用機などの
コンピュータシステムあるいはデータ処理装置である。
【0018】上記のうち、記憶装置4は基本的にはFD
D、HDD、MO、CD−RW、DVD−ROMなどの
読み書き可能な外部記憶デバイスであるものとする。
【0019】しかし、記憶装置4に格納された暗号化フ
ァイルのデコードのみ行なう場合は、記憶装置4は本発
明による暗号化ファイルが格納されたCD−ROMなど
の読み出し専用のデバイスであってもよい。あるいは、
後述の暗号化すべき入力ファイルを取り込むためのデバ
イスは、必ずしもディスクファイルである必要はなく、
シリアルポートや音声入出力ポートなどのデバイスファ
イルであってもよい。
【0020】本発明の暗号化および復号化は、CPU1
がROM3あるいは記憶装置4に格納された本発明の処
理を記述したプログラムをRAM3上にロードして実行
することにより行なわれ、記憶装置4に格納されたファ
イルに対して実行される。
【0021】図1は本実施形態によるファイル暗号化処
理の様子を示している。本実施形態においては、暗号化
されるファイルは、データファイル、実行ファイルなど
のバイナリファイルのいずれでもよい。また、データフ
ァイルの場合、テキストファイル、画像などのバイナリ
データのいずれでもよい。
【0022】以下、図1を参照して本発明の暗号化処理
の概要を説明する。
【0023】1)ファイルのブロック/グループへの分
割 CPU1は記憶装置4上の入力ファイルをRAM3上に
読み込んで、図1のように、n(任意の整数)バイトの
ブロックにファイルの先頭から連続して分割し、さらに
これらのブロックをm(任意の整数)個から成るグルー
プに分割する。図1中の丸数字はブロックを示してお
り、図示のように図1の例は1ブロック1バイト(n=
1)、1グループ5ブロック(m=5)の構成である。
【0024】本実施形態では、まず、このグループを単
位として一定のパターンでグループ内のブロックの順序
を攪乱することにより暗号化(エンコード)を行なう。
【0025】また、図1ではブロック長nを1バイト、
グループ長mを5個として記載してあるが、nは小さい
ほど、mは大きいほど機密性は良くなる。ランダムに求
める攪乱の鍵はmの階乗個存在するので、mの個数を増
やすことによって攪乱の鍵の数は飛躍的に増やすことが
可能である。
【0026】ブロック/グループへの分割処理は、ポイ
ンタデータの列を生成することによって行なうか、ある
いは後述の処理をブロック/グループ単位で実行するル
ープを実行することによっても実現でき、この分割処理
のプログラムにおける実装の様式は任意である。
【0027】2)定数鍵およびXOR定数の算出 各グループを構成する各ブロックを攪乱/再配置するた
めに、必要な1番からm番までのブロックを指定できる
情報を含む定数鍵を乱数演算から求め、更にこの定数鍵
から、後述の排他的論理和演算に用いるXOR定数を求
める。
【0028】定数鍵は、ファイルデータの1グループを
構成するmブロックの並べ変えを行なうのに必要な順位
の情報を含み、所定の演算により抽出できるものであれ
ばデータ形式はどんなものでもよい。たとえば、上のm
=5の例であれば、1〜5の数字を任意の順序でランダ
ム演算により発生させて得た数値データが考えられる。
【0029】XOR定数は、上記の定数鍵に所定の演算
(たとえば単に定数鍵から任意の桁を抽出するだけでも
よい)を加えることにより一意に求められる定数であれ
ばどのようなものであってもよい。このXOR定数は、
nバイトの1ブロックを充分変換処理できるだけのデー
タ幅を有するものとする。
【0030】XOR定数は定数鍵から求めるのではな
く、別の演算により求めるようにしてもよいが、上記の
ように定数鍵から求めたものを用いるようにすれば、定
数鍵のみを保存しておくだけで、復号化の際には所定の
演算を定数鍵に対して行なうことにより暗号化に用いら
れたのと同じXOR定数を再生し、復号化に用いること
ができる、という利点がある。
【0031】3)ブロック順序の攪乱 ファイル先頭より各グループごとに分割した個々のブロ
ックを上記の定数鍵により求めた順番でブロック順番を
入れ替えて攪乱を行う。図1ではそれぞれのグループ内
のブロック(1)(2)(3)(4)(5)の順番を
(3)(2)(5)(4)(1)の順番に変えている。
さらに、各ブロック(図1の例ではn=1バイト)のデ
ータと上述のXOR定数との排他的論理和をとり暗号化
ファイルとして記憶装置4に書き込む。この時必要に応
じて(たとえば元のファイルを全てRAM3あるいはO
Sが提供する仮想記憶に読み込めないような場合など)
テンポラリファイルを用いることができる。
【0032】上記のブロック順序の攪乱はファイル終端
のグループまで同じ手順で繰り返される。そして、最終
部分でグループに満たない部分はブロックの順番は変更
せずに排他的論理和のみを作用させて書き込みを行な
う。
【0033】4)認証情報の記録 以上がファイルの本体データ部分を暗号化する処理であ
るが、本実施形態ではさらに、順序攪乱および排他的論
理和演算による暗号化に用いた定数鍵(さらに必要であ
れば排他的論理和演算を行なったXOR定数)をヘッダ
情報などとしてファイルに格納しておく。また、復号化
(デコード)の際に役立てることができるように、いく
つかの認証情報を格納しておく。
【0034】すなわち、本実施形態では、使用者のパス
ワードも、同じ鍵を用いて同様に暗号化する。すなわ
ち、グループ単位でブロックの順序を変更し、さらにX
OR定数との排他的論理和をとる。また、暗号化すると
きに用いた装置に与えられた固有の番号と、上記の暗号
化で順序攪乱に用いた定数鍵とともにファイルの所定位
置、たとえばファイル先頭のヘッダ位置などに格納す
る。なお、XOR定数を別の演算に求めている場合はX
OR定数も保存する必要がある。このような情報をヘッ
ダ情報に書き込む場合は、3)の処理よりも先にヘッダ
情報を処理したほうが効率が良いのはいうまでもない。
【0035】なお、上記の暗号化するときに用いた装置
に与えられた固有の番号は、本発明を実施した暗号化プ
ログラムの製品番号などでよく、この部分も上述の暗号
化方式(あるいはより簡便なスクランブル処理でもよ
い)により適宜暗号化することができる。
【0036】上記のように、本実施形態の暗号化処理
は、 ・グループごとにデータブロックの順序攪乱を行なうこ
とによりファイル本体データを暗号化する。
【0037】・排他的論理和演算によりデータブロック
を暗号化する。 という2つの暗号化処理を行なう点に特徴がある。
【0038】これらの処理により、テキストファイルは
判読不能となり、実行ファイルは実行不能とすることが
でき、不正なアクセスがあっても当該の入力ファイルを
実際に利用できない暗号化状態に置くことができる。
【0039】また、上記の順序攪乱と、排他的論理和演
算による暗号化は、データの内容には左右されることな
く、また、暗号化ファイルを肥大化させることがなく、
データ転送先のアドレス決定処理と、通常のCPUに備
えられ各種コンピュータ言語のライブラリ関数などを介
して高速に利用可能な排他的論理和演算処理により実現
することができ、公知の種々の暗号化処理に比して低C
PU負荷で高速に実行できる。
【0040】また、復号化も、XOR定数を用いて、排
他的論理和演算(この処理が可逆演算であるのはいうま
でもない)を行ない、続いて定数鍵に基づき順序を復元
すれば良いだけであるため、データの内容には左右され
ることなく、暗号化時と同様に低CPU負荷で高速に実
行できる。
【0041】さらに、本実施形態では、 ・順序攪乱および排他的論理和演算による暗号化に用い
た定数鍵(さらに必要であれば排他的論理和演算を行な
ったXOR定数) ・ファイルの所定位置(通常ヘッダ部分)に格納された
認証情報、すなわちファイルの本体データと同様に攪乱
して暗号化された使用者のパスワード、および暗号化す
るときに用いた装置あるいはプログラムに与えられた固
有の番号 ・順序攪乱および排他的論理和演算による暗号化を作用
させたファイルの本体データ から成る暗号化ファイルを生成する点に特徴がある。
【0042】このようなヘッダ情報を格納するようにす
ると、暗号化処理後のファイルはこれらの容量だけ大き
くなるが、上記のようなヘッダ情報は数十バイトで構成
できるので、全体のサイズにはほとんど影響しない。そ
して、復号化のための鍵である定数鍵(あるいはさらに
XOR定数)がヘッダ情報としてファイルに含まれるた
め、エンコード前のファイルを削除しても確実にファイ
ルを復元することができ、従来方式のように鍵データを
格納したファイルを管理する必要がなく、ユーザの取り
扱い、管理が容易である、という利点がある。
【0043】本実施形態の暗号化によれば、ネットワー
ク経由で不正に侵入しファイルをコピーされた場合も本
発明の暗号化方式によりファイルが隠蔽状態におかれて
いる場合は、鍵データ(定数鍵あるいはさらにXOR定
数)の算出方式あるいは格納形式を突き止めるまではフ
ァイルを復元することはできない。
【0044】鍵データ(定数鍵あるいはさらにXOR定
数)をファイルに含めるのは不正アクセスに対する脆弱
性となり得るが、暗号化処理はランダムに求められた定
数鍵(あるいはさらにXOR定数)によってのみ行なわ
れ、暗号化を再度実行すれば、同じ入力ファイルでもブ
ロックの攪乱手順が毎回変更されるので、定数鍵の算出
方式をつき止めない限りは、実際には解析はかなり困難
であり、不正アクセスに対しては実用上ほぼ問題の無い
堅固さを得ることができる。
【0045】あるいはさらに、鍵データ(定数鍵あるい
はさらにXOR定数)自体の格納形式を工夫したり、適
当なスクランブル処理を行なったり、あるいは所定のマ
ジックナンバーとの数値演算を作用させた上ファイルに
含めておき、特定の復号化プログラムだけが鍵データを
解釈、利用できるようにしておけば、実用上はほぼ問題
の無い機密性を得ることができる。
【0046】また、本実施形態の暗号化はファイルをバ
イナリ処理により扱うため、どのようなファイルの形式
にも対応でき、文書や画像、データベースファイルなど
ファイル種類は関係なく使用することができる。
【0047】また、元のファイルを削除し、暗号化され
たファイルを元のファイル名と同名で保存すれば、通常
の方法では読み込むまで暗号化されているかどうかは判
別できず、不正コピーされてもデータファイルや実行フ
ァイルとして使用することは不可能となる。ファイルへ
のアクセス権の制限を用いていないファイル共有環境で
あっても、本発明の暗号化処理によりファイルを攪乱し
ておくだけで機密性を保持することを極めて簡便に行う
ことができる。
【0048】なお、上記実施形態において、ファイルの
ヘッダ情報はユーザパスワード及び暗号化を行なった装
置(あるいは暗号化を行なったプログラム製品)の固有
の番号と2個の認証情報を持っている。これらは暗号化
には直接関与しないが、本発明を実施する暗号化/復号
化プログラムが復号時の認証に利用できるものである。
【0049】すなわち、本発明を実施する暗号化/復号
化プログラムを、これらの認証情報が一致しない場合は
それ以上の暗号化/復号化処理を実行しないように構成
することができ、不正なファイルアクセスを防止するこ
とができる。
【0050】したがって、暗号化を行なったのと同じプ
ログラム製品を用いる限りは上記の2つの認証情報を知
らない限りは暗号化/復号化処理を行なうことはできな
い。
【0051】図3に本発明を実施したプログラム製品の
暗号化および復号化処理の一例を示す。
【0052】図3のプログラムは、たとえばパソコン/
ワークステーションなどのOS上でCPU1が実行可能
なプログラムとして、フロッピー(登録商標)ディス
ク、CD−ROMなどの任意の記憶媒体に格納して供給
することができる。以下、このプログラムに基いてCP
U1が実行する処理の流れを説明する。
【0053】図3のステップS1では、ライセンス情報
を取得する。このライセンス情報は、パソコン固有のI
D番号(あるいは製品のID番号)、ユーザ名から成る
ものとし、プログラム製品のインストール時などにその
プログラム製品固有のデータファイルとして、あるいは
OSの設定ファイル中などに自動的に格納される。
【0054】ユーザ名の情報、あるいはパソコン固有の
ID番号(あるいは製品のID番号)ファイルはユーザ
操作に応じて生成されるものとする。ステップS1では
このようなライセンス情報を格納したファイルの有無を
判断し、このファイルにアクセスできない場合には処理
を終了する。
【0055】ステップS2では、ステップS1で存在を
確認したファイルからパソコン固有のID番号(あるい
は製品のID番号)、ユーザ名の情報を取得する。
【0056】ステップS3では、メニュー表示やダイア
ログ表示などを行ない、ユーザに対して暗号化すべきフ
ァイル(指定ファイル)およびパスワードの入力を求め
る。図3の処理では、ステップS3で入力されたパスワ
ードは、後述の暗号化処理のヘッダ情報の生成の際に認
証情報として用いられる。
【0057】なお、図3の処理では、パソコン固有のI
D番号(あるいは製品のID番号)の方は、ユーザ入力
を求めずステップS1で存在を確認したライセンス情報
ファイルに格納されているものを用いるが、もちろん、
ステップS3の段階でこのID番号の入力を求め、それ
がライセンス情報として格納されたID番号と照合して
一致しなかった場合にはそれ以上の処理を中止するよう
にしてもよい。
【0058】ステップS4では、指定されたターゲット
のファイル属性をRAM4の所定領域に保存し、指定フ
ァイルの属性を書き込み可能な通常属性に変更するとと
もに、ファイルサイズを取得する。
【0059】続いて、ステップS5において、指定ファ
イルが既に本発明の暗号化処理により隠蔽されているか
どうかを判断する。この判断は、ヘッダ情報に含めた固
定文字列などの識別情報から得ることができる。
【0060】指定ファイルが既に本発明の暗号化処理に
より隠蔽されているものであればステップS14へ、そ
うでなければステップS7、すなわち指定ファイルを暗
号化する処理に移行する。
【0061】暗号化処理の場合、まずステップS7にお
いて、攪乱順序を指定する定数鍵を乱数演算により求め
る。また、得られた定数鍵からXOR定数を算出する。
さらに定数鍵は(XOR定数が別に格納される場合はそ
れも)、適当な方式によりスクランブルし、エンコード
することができる。
【0062】ステップS8では、ユーザパスワード、お
よびパソコン固有のID番号(あるいは製品のID番
号)を上述の方法により暗号化する。
【0063】この時の手順は、上述の通りまずブロック
順序の攪乱を行ない、続いてXOR定数による排他的論
理和演算を行なうことにより、ユーザパスワード、およ
びパソコン固有のID番号(あるいは製品のID番号)
を暗号化する。このようにヘッダ内の認証情報も暗号化
しておくことによって、より堅固なファイル内容の保護
を行なえる。
【0064】あるいはさらに、上記のパスワードやID
番号の部分は元々の文字列長が短いので、解読を難しく
するために本発明のブロック順序の攪乱とXOR定数に
よる排他的論理和演算の前に、順序攪乱したASCII
文字コードテーブルなどによりテーブル演算を行なうな
どの方法によりあらかじめエンコードを行なうようにし
てもよい。
【0065】ステップS9では、固定文字列の識別情
報、定数鍵(あるいはさらにXOR定数)、上記の演算
により得られたエンコードされたパスワード、ID番
号、などからなるヘッダ情報を記録する。
【0066】ステップS10では、ファイルサイズから
暗号化の際に1グループを構成するブロックサイズm
(前述の1グループを構成するブロック数mと同じ)を
決定する。この処理は指定ファイルの全体のサイズに応
じて動的に暗号化の際のブロックサイズmを決定するも
のである。たとえば、1〜数10kbに相当する定数値
でファイルサイズを除した値をブロックサイズとする処
理が考えられる。この場合、1〜数10kbに相当する
定数値以下のファイルのブロックサイズは1バイトとな
り、以後、指定ファイルが大きくなればこの定数値ごと
にブロック数が増加することになる。
【0067】このように、動的に暗号化の際のブロック
サイズmを決定することにより、指定ファイルのサイズ
が大きくなっても暗号化および復号化の処理時間を短縮
することができる。ただし、ブロックサイズmが大きく
なりすぎるのは危険であるので、適合な上限(たとえば
1〜数キロバイト)以上にブロックサイズmが大きくな
らないように制限するとよい。もちろん、復号化処理に
おいては、暗号化ファイルのサイズからブロックサイズ
mを求められるのはいうまでもない。
【0068】ステップS11、S12ではステップS7
で求めた定数鍵に基づく攪乱順序で指定ファイルの本体
データを分解、再構成してファイルに書き込む。この時
の手順は、上述した通り、まずブロック順序の攪乱を行
ない、続いてXOR定数による排他的論理和演算を行な
う。
【0069】ステップS13では、指定ファイルの属性
をリードオンリ属性に設定する。あるいは、エンコード
後のファイル属性は元のファイル属性と同じであっても
よいが、ユーザが不用意にエンコード済みのファイルを
編集したりするとそのファイルは復元不能となってしま
うので、エンコード後のファイル属性はリードオンリ属
性であるのが望ましい。
【0070】以上のようにして暗号化処理を行なうこと
ができる。
【0071】一方、ステップS6で指定ファイルが隠蔽
ファイル(本発明により暗号化済みのファイル)である
ことが判明した場合には、ステップS14において、フ
ァイルの先頭に格納されているヘッダ情報を読み出す。
【0072】続いてステップS15において、ステップ
S10と同様にファイルサイズから復号化の単位のブロ
ックサイズmを決定する。暗号化の時と同じアルゴリズ
ムを用いれば、暗号化の際に用いられたのと同じブロッ
クサイズmを求めることができる。
【0073】ステップS16、S17では、ステップS
14で読み出したヘッダ情報からユーザパスワード、お
よびパソコン固有のID番号(あるいは製品のID番
号)を取り出し、それぞれ復号化(デコード)する。こ
の復号化は、まずステップS14で読み出したヘッダ情
報中のXOR定数による排他的論理和演算を行ない、続
いて同ヘッダ情報中の定数鍵の情報に基づき攪乱された
ブロック順序を復元することにより行なわれる。ステッ
プS8で前述した通り、順序攪乱したASCII文字コ
ードテーブルなどによりテーブル演算を行なっている場
合はその処理も行なう。
【0074】ステップS18、S19では、ステップS
3で得たユーザパスワード、およびパソコン固有のID
番号(あるいは製品のID番号)と、ステップS16、
S17でデコードしたユーザパスワード、およびパソコ
ン固有のID番号(あるいは製品のID番号)とを照合
する。ステップS18においては、パソコン固有のID
番号(あるいは製品のID番号)が一致しない場合はス
テップS21においてファイル属性を元に戻して終了す
る。ステップS19でパスワードが一致しない場合は、
直ちに処理を終了させてもよいが、5回程度までは再試
行を許容するのが望ましい。
【0075】ステップS20では、ファイルの本体デー
タを復号化(デコード)する。復号化は、まずステップ
S14で読み出したXOR定数による排他的論理和演算
を行ない、続いて同ヘッダ情報中の定数鍵の情報に基づ
き攪乱されたブロック順序を復元することにより行なわ
れる。
【0076】そして、ステップS22で、デコードされ
たファイルを記憶装置4に格納し、ステップS23でフ
ァイル属性をアーカイブ属性に設定し、復号処理を終了
する。
【0077】本発明の暗号化および復号化プログラムは
以上のように実装することができる。
【0078】以上に示したように、パスワード、及びパ
ソコン固有のID番号(あるいは製品のID番号)のよ
うな複数の鍵を持つことにより、解読するにも時間を要
し、また、鍵データ(定数鍵あるいはさらにXOR定
数)が暗号化ごとに毎回変更されるため、パスワード自
体も同様に暗号化しておけばその解読も困難である。
【0079】ファイルを媒体や通信で転送する場合は、
あらかじめユーザパスワード、および暗号化を行なった
装置(あるいは暗号化を行なったプログラム製品)の固
有の番号の2つの鍵を別々に送付することにより通常の
場合と同様に復元することが可能であり、送付途中での
紛失や盗難の場合もその機密性は保持される。
【0080】また、ファイルのヘッダ情報に格納される
パソコンあるいはプログラム固有の番号は不変であるた
め、この番号を管理することにより、パスワード紛失の
サポート等の際にはファイルの所有者であるかどうかの
確認が容易で、不正に入手したファイルの判定も可能と
なる。
【0081】また、図3の手順によれば、ファイルサイ
ズに基づき動的に暗号化における順序攪乱の際のブロッ
クサイズを決定しているので、ファイルサイズに応じた
適切なブロックサイズを決定することができ、処理時間
を無闇に延長する問題を回避できる。
【0082】本発明の暗号化および復号化は、パーソナ
ルコンピュータやワークステーション、あるいはワード
プロセッサ専用機などのコンピュータシステムあるいは
データ処理装置において実施することができる。また、
本発明のプログラムは、CPUが実行可能なプログラム
として、フロッピーディスク、CD−ROMなどの任意
の記憶媒体に格納して供給することができる。
【0083】
【発明の効果】以上から明らかなように、本発明によれ
ば、ファイルデータを暗号化/復号化するデータ処理方
法、データ処理プログラムを格納したコンピュータ読取
可能な記憶媒体、およびデータ処理装置において、入力
ファイルをnバイト(nは任意の整数)のブロック、お
よび前記ブロックのmブロック(mは任意の整数)から
成るグループに分割し、ランダム演算により求めた定数
鍵の値に基づき前記各グループ内の各ブロックの順番を
攪乱し、各ブロックデータと所定のXOR定数との排他
的論理和を取り、得られたデータを暗号化ファイルとし
て出力する暗号化処理を行なう構成を採用することによ
り、入力ファイルを実際に利用できない暗号化状態に置
き、ファイルデータの機密性を確実に保護することがで
き、しかも、上記の順序攪乱と、排他的論理和演算によ
る暗号化は、データの内容には左右されることなく、ま
た、暗号化ファイルを肥大化させることがなく、データ
転送先のアドレス決定処理と、通常のCPUに備えられ
各種コンピュータ言語のライブラリ関数などを介して高
速に利用可能な排他的論理和演算処理により実現するこ
とができ、公知の種々の暗号化処理に比して低CPU負
荷で高速に実行できる、という優れた効果がある。
【0084】あるいはさらに、前記暗号化ファイルのデ
ータと前記XOR定数との排他的論理和を取り、続いて
前記定数鍵の値に基づき前記各グループ内の各ブロック
の順番を復元することにより、前記入力ファイルのファ
イルイメージを出力する復号化処理を行なう構成を採用
することにより、暗号化と同様、攪乱順序の復元と、排
他的論理和演算によるデータ転送先のアドレス決定処理
と、通常のCPUに備えられ各種コンピュータ言語のラ
イブラリ関数などを介して高速に利用可能な排他的論理
和演算処理により復号化を実現することができ、公知の
種々の復号化処理に比して低CPU負荷で高速に実行で
きる、という優れた効果がある。
【0085】あるいはさらに、前記XOR定数が、前記
定数鍵に所定の演算を加えることにより一意に求められ
る定数である構成を採用することにより、復号化の際に
は所定の演算を定数鍵に対して行なうことにより暗号化
に用いられたのと同じXOR定数を再生し、復号化に用
いることができ、XOR定数のための記憶スペースを節
約できる、という優れた効果がある。
【0086】あるいはさらに、前記出力ファイルの先頭
に格納されるヘッダ情報に、少なくとも前記定数鍵、あ
るいはさらに前記XOR定数が含まれる構成を採用する
ことにより、エンコード前のファイルを削除しても確実
にファイルを復元することができ、従来方式のように鍵
データを格納したファイルを管理する必要がなく、ユー
ザの取り扱い、管理が容易である、という優れた効果が
ある。
【0087】あるいはさらに、前記出力ファイルの先頭
に格納されるヘッダ情報に、前記暗号化処理、または復
号化処理の際に照合される認証情報として、ユーザパス
ワード、および、前記暗号化処理を実行したデータ装置
ないしプログラム製品固有のID番号が含まれる構成を
採用することにより、たとえばこれら認証情報をユーザ
入力と照合することにより、それ以上の暗号化処理、ま
たは復号化処理を許容/禁止するように制御することが
でき、不正なファイルアクセスを防止することができ、
さらに、データ装置ないしプログラム製品固有のID番
号によって当該ファイルの正当な所有者を特定できる、
という優れた効果がある。
【0088】あるいはさらに、前記認証情報が前記暗号
化処理により暗号化された上、前記ヘッダ情報に格納さ
れる構成を採用することにより、より堅固なファイル内
容の保護を行なえる、という優れた効果がある。
【0089】あるいはさらに、前記のデータの1グルー
プを構成するブロック数mを前記入力ファイルのファイ
ルサイズに基づき決定する構成を採用することにより、
動的に暗号化の際のブロックサイズmを決定することに
より、指定ファイルのサイズが大きくなっても暗号化お
よび復号化の処理時間を短縮できる、という優れた効果
がある。
【図面の簡単な説明】
【図1】本発明の暗号化方式の基本を示した説明図であ
る。
【図2】本発明の暗号化方式を実施可能なハードウェア
構成を示したブロック図である。
【図3】本発明を実施したプログラム製品のエンコード
およびデコード処理を示したフローチャート図である。
【符号の説明】
1 CPU 2 ROM 3 RAM 4 記憶装置 5 ディスプレイ 6 キーボード

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ファイルデータを暗号化/復号化するデ
    ータ処理方法において、 入力ファイルをnバイト(nは任意の整数)のブロッ
    ク、および前記ブロックのmブロック(mは任意の整
    数)から成るグループに分割し、 ランダム演算により求めた定数鍵の値に基づき前記各グ
    ループ内の各ブロックの順番を攪乱し、 各ブロックデータと所定のXOR定数との排他的論理和
    を取り、得られたデータを暗号化ファイルとして出力す
    る暗号化処理を行なう制御工程を有することを特徴とす
    るデータ処理方法。
  2. 【請求項2】 前記制御工程により、前記暗号化ファイ
    ルのデータと前記XOR定数との排他的論理和を取り、
    続いて前記定数鍵の値に基づき前記各グループ内の各ブ
    ロックの順番を復元することにより、前記入力ファイル
    のファイルイメージを出力する復号化処理を行なうこと
    を特徴とする請求項1に記載のデータ処理方法。
  3. 【請求項3】 前記XOR定数が、前記定数鍵に所定の
    演算を加えることにより一意に求められる定数であるこ
    とを特徴とする請求項1に記載のデータ処理方法。
  4. 【請求項4】 前記出力ファイルの先頭に格納されるヘ
    ッダ情報に、少なくとも前記定数鍵、あるいはさらに前
    記XOR定数が含まれることを特徴とする請求項2また
    は請求項3に記載のデータ処理方法。
  5. 【請求項5】 前記出力ファイルの先頭に格納されるヘ
    ッダ情報に、前記暗号化処理、または復号化処理の際に
    照合される認証情報として、ユーザパスワード、およ
    び、前記暗号化処理を実行したデータ装置ないしプログ
    ラム製品固有のID番号が含まれることを特徴とする請
    求項4に記載のデータ処理方法。
  6. 【請求項6】 前記認証情報が前記暗号化処理により暗
    号化された上、前記ヘッダ情報に格納されることを特徴
    とする請求項5に記載のデータ処理方法。
  7. 【請求項7】 前記のデータの1グループを構成するブ
    ロック数mを前記入力ファイルのファイルサイズに基づ
    き決定することを特徴とする請求項1に記載のデータ処
    理方法。
  8. 【請求項8】 ファイルデータを暗号化/復号化するデ
    ータ処理プログラムを格納したコンピュータ読取可能な
    記憶媒体において、 入力ファイルをnバイト(nは任意の整数)のブロッ
    ク、および前記ブロックのmブロック(mは任意の整
    数)から成るグループに分割し、 ランダム演算により求めた定数鍵の値に基づき前記各グ
    ループ内の各ブロックの順番を攪乱し、 各ブロックデータと所定のXOR定数との排他的論理和
    を取り、得られたデータを暗号化ファイルとして出力す
    る暗号化処理を行なう制御工程を格納したことを特徴と
    するデータ処理プログラムを格納したコンピュータ読取
    可能な記憶媒体。
  9. 【請求項9】 ファイルデータを暗号化/復号化するデ
    ータ処理装置において、 入力ファイルをnバイト(nは任意の整数)のブロッ
    ク、および前記ブロックのmブロック(mは任意の整
    数)から成るグループに分割し、 ランダム演算により求めた定数鍵の値に基づき前記各グ
    ループ内の各ブロックの順番を攪乱し、 各ブロックデータと所定のXOR定数との排他的論理和
    を取り、得られたデータを暗号化ファイルとして出力す
    る暗号化処理を行なう制御手段を有することを特徴とす
    るデータ処理装置。
JP2000102910A 2000-04-05 2000-04-05 データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置 Pending JP2001290707A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000102910A JP2001290707A (ja) 2000-04-05 2000-04-05 データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000102910A JP2001290707A (ja) 2000-04-05 2000-04-05 データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置

Publications (1)

Publication Number Publication Date
JP2001290707A true JP2001290707A (ja) 2001-10-19

Family

ID=18616696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000102910A Pending JP2001290707A (ja) 2000-04-05 2000-04-05 データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置

Country Status (1)

Country Link
JP (1) JP2001290707A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2382160A (en) * 2001-08-09 2003-05-21 Internet Extra Ltd System for encrypting multimedia files for transmission or storage as a set of data blocks in which the re-assembly order has been encrypted
JP2006151582A (ja) * 2004-11-29 2006-06-15 Toshiba Elevator Co Ltd エレベータ用データ伝送システム
WO2008026551A1 (fr) * 2006-08-31 2008-03-06 Sharp Kabushiki Kaisha Système de communication, programme, et support d'enregistrement
JP2008140104A (ja) * 2006-12-01 2008-06-19 Megachips Lsi Solutions Inc メモリシステム及びメモリアクセス方法
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム
JP2011041326A (ja) * 2002-12-19 2011-02-24 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
EP2438511A1 (en) * 2010-03-22 2012-04-11 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
JP2015045674A (ja) * 2013-08-27 2015-03-12 株式会社 日立産業制御ソリューションズ 暗号化システム、暗号化方法及びコンピュータプログラム
JP2015069192A (ja) * 2013-10-01 2015-04-13 富士電機株式会社 情報処理装置、暗号化方法
WO2015173905A1 (ja) * 2014-05-14 2015-11-19 三菱電機株式会社 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
JP2016522931A (ja) * 2013-05-03 2016-08-04 サイトリックス システムズ,インコーポレイテッド パスワードへの攻撃を阻害すること

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2382160A (en) * 2001-08-09 2003-05-21 Internet Extra Ltd System for encrypting multimedia files for transmission or storage as a set of data blocks in which the re-assembly order has been encrypted
JP2011041326A (ja) * 2002-12-19 2011-02-24 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
JP2006151582A (ja) * 2004-11-29 2006-06-15 Toshiba Elevator Co Ltd エレベータ用データ伝送システム
WO2008026551A1 (fr) * 2006-08-31 2008-03-06 Sharp Kabushiki Kaisha Système de communication, programme, et support d'enregistrement
JP2008140104A (ja) * 2006-12-01 2008-06-19 Megachips Lsi Solutions Inc メモリシステム及びメモリアクセス方法
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム
EP2438511A1 (en) * 2010-03-22 2012-04-11 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
EP2438511B1 (en) * 2010-03-22 2019-07-03 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
JP2016522931A (ja) * 2013-05-03 2016-08-04 サイトリックス システムズ,インコーポレイテッド パスワードへの攻撃を阻害すること
JP2015045674A (ja) * 2013-08-27 2015-03-12 株式会社 日立産業制御ソリューションズ 暗号化システム、暗号化方法及びコンピュータプログラム
JP2015069192A (ja) * 2013-10-01 2015-04-13 富士電機株式会社 情報処理装置、暗号化方法
WO2015173905A1 (ja) * 2014-05-14 2015-11-19 三菱電機株式会社 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
TWI565285B (zh) * 2014-05-14 2017-01-01 Mitsubishi Electric Corp A cryptographic device, a memory system, a decoding device, a cryptographic method, a decoding method, a cryptographic program product and a decoding program product
CN106463069A (zh) * 2014-05-14 2017-02-22 三菱电机株式会社 加密装置、存储系统、解密装置、加密方法、解密方法、加密程序以及解密程序
JPWO2015173905A1 (ja) * 2014-05-14 2017-04-20 三菱電機株式会社 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム

Similar Documents

Publication Publication Date Title
AU2002213436B2 (en) Method and apparatus for automatic database encryption
US7802112B2 (en) Information processing apparatus with security module
US7487366B2 (en) Data protection program and data protection method
US8392727B2 (en) System and method for transparent disk encryption
US8839003B2 (en) Information management system, information management method and apparatus, and encryption method and program
US8572372B2 (en) Method for selectively enabling access to file systems of mobile terminals
US20030208686A1 (en) Method of data protection
AU2002213436A1 (en) Method and apparatus for automatic database encryption
JP2005536951A (ja) デジタル機器においてデジタル文書にセキュリティ保護を施す装置、システムおよび方法
CN1263305A (zh) 数字数据文件加密装置和方法
JPH09179768A (ja) ファイル暗号化システム及びファイル復号化システム
JPH08335182A (ja) ファイル保護システム及びそのファイル保護システムを用いたソフトウエア利用システム及びそのソフトウエア利用システムに用いられる記録媒体
US20090077390A1 (en) Electronic file protection system having one or more removable memory devices
JP2001290707A (ja) データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置
US20090067624A1 (en) System and method of protecting content of an electronic file using a computer
JP2007108833A (ja) 複数パスワード記憶装置及びパスワード管理方法
JP2001092718A (ja) セキュリティ管理システム、記憶媒体アクセス方法、データ配布装置、及び携帯端末装置
CN101692266A (zh) 利用隐藏分区与cpu id的高强度文件加密保护方法
US8755521B2 (en) Security method and system for media playback devices
JP2006172351A (ja) リムーバブルメディア利用によるコンテンツの使用期限管理方法及びシステム
US20090077377A1 (en) System and method of protecting content of an electronic file for sending and receiving
JPH1124997A (ja) コンピュータで作成された記録ファイルの機密保持方法及び機密保持プログラムを記録したコンピュータ読み取り可能な記録媒体
US20090070580A1 (en) Portable electronic file protection system
CN1722052A (zh) 数字数据文件加密装置和方法
JP4338185B2 (ja) ファイルの暗号化・復号方法