JP2008135893A - 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム - Google Patents

使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム Download PDF

Info

Publication number
JP2008135893A
JP2008135893A JP2006319386A JP2006319386A JP2008135893A JP 2008135893 A JP2008135893 A JP 2008135893A JP 2006319386 A JP2006319386 A JP 2006319386A JP 2006319386 A JP2006319386 A JP 2006319386A JP 2008135893 A JP2008135893 A JP 2008135893A
Authority
JP
Japan
Prior art keywords
key
encryption
common key
auxiliary
auxiliary 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.)
Pending
Application number
JP2006319386A
Other languages
English (en)
Inventor
Kiyoto Yui
由井清人
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 JP2006319386A priority Critical patent/JP2008135893A/ja
Publication of JP2008135893A publication Critical patent/JP2008135893A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】暗号化の方式に共通鍵方式がある。共通鍵方式は送信人と受信人が常に共通鍵を持たなくてはならず、無限乱数式暗号を行うときには常に別途共通する鍵の情報をやり取りする必要があった。本発明は共通鍵とは別に使い捨ての補助鍵を用意し、この補助鍵を暗号文と一緒に配布して、鍵情報のやり取りを不要とする。
【解決手段】共通鍵方式の暗号化技術に関するものである。従来の共通鍵方式に補助鍵を加えて両者揃わないと文書を解読できないように工夫を加えている。この補助鍵は使い捨てできるものとし、補助鍵を暗号化した文書の一部として埋め込むようにする。これにより、暗号文の差出人は使用した補助鍵を暗号化した文書に結合して出す。受取人は受け取った暗号文に補助鍵がついてくるのですでに持っている共通鍵と補助鍵の組み合わせにより解読ができる。第三者は共通鍵を持っていないので解読できない。
【選択図】図2

Description

データの暗号化を行う装置、およびプログラムまたはプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。特に、少リ
ソースな、組込機器、家電品、携帯機器、小型情報端末、小型ゲーム端末機器に用いられる暗号化したデータの生成に関するものである。
従来、少ないリソースで乱数生成を実現しようとするもので、自装置内で乱数生成する手段が開示されている(特許文献1参照)。
外務省により公開している暗号の紹介のページである。有限乱数式、無限乱数式暗号を判りやすく紹介している。ここでは無限乱数式暗号は論理的に解読できな
いという事実を述べている(非特許文献2参照)。
このようにデータの暗号に対する強い要求があり、また暗号化の技術が発表されている。特に無限乱数式の暗号を文書ないしデータに適用する技術が待たれてい
た。
特願2006−181941
外務省大臣官房情報通信課 非常勤講師 奥村定夫「外交と暗号」http: //www.mofa.go.jp/mofaj/annai/shocho/e_seifu/toukou2004.html
データの暗号化においては、共通鍵方式と公開鍵方式に大別できる。
共通鍵方式は暗号文ないし暗号データの差出人と受取人が共通する鍵を持つ方式である。
公開鍵は文書を暗号化鍵を公開して誰でも利用できるように工夫した方式で、そのかわり文書の解読には秘密鍵が必要であるようにした方式である。
共通鍵方式は送信人と受信人が常に共通鍵を持たなくてはならず、無限乱数式暗号を行うときには常に双方で共通鍵を一致させないといけいない問題があった。
公開鍵方式はこの欠点は改善しているがコンピュータによる計算により解読できる可能性がると言われている。
本発明は共通鍵方式の欠点を回避し効率よく使用するためのものである。
本発明は、共通鍵方式に改良を加え、共通鍵と共に使用する補助鍵を用意する。そして共通鍵と補助鍵が揃わないと暗号を解読できないようにしたものである。
具体的には送信人と受信には常に固定した共通鍵を所有する。そして、暗号化する時にこの共通鍵と補助的に生成した補助鍵の2つにより暗号化を行う。
文書の暗号化は共通鍵と補助鍵の2つにより行う。この補助鍵は暗号化した文書の決められた所に書き込むものとする。
この文書を解読する者は文書の持つ補助鍵と共通鍵を持って始めて文書を解読する事ができる。補助鍵は文書を入手した者であれば見る事が出来るが、共通鍵が
ない限り解読が出来ない。
以上より事前に一度だけ共通鍵を送信人と受信人が揃えて用意すれば良く、以後、文書を暗号化するごとに補助鍵を生成し文書と共に配布すれば良く、従来の共
通鍵の欠点を回避することができる。
また暗号強度に関して言えば、無限乱数式を採用する事により強度の低下を心配する必要がないというメリットがある。
本発明の実施例について図面を用いて説明する。
特許文献1の実施例4において、文書の暗号化にn個の鍵を用意しその一つにその文書のクリエート時間を与えるという工夫を行っている。この工夫をさ
らに発展させクリエート時間を暗号化した文書ないしデータに追加するようにしたものである。
これは暗号化を行うプログラムおよび装置である。
図1に本発明の第1実施例のコンピュータシステムの電子機器としての全体構成図を示す。
情報処理装置S1011は計算機の全体制御、および各種プログラムを実行する中央処理装置(以下CPU)、各種プログラムやデータがロードされるメモリ
装 置S1013、ROMBIOSのS1012、アダプタS1015、S1016で構成されていて、それらはシステムバスS1014で接続される。
アダプタS1015を介してHDDのS1030のホストインタフェースS1020に接続する。アダプタS1016を介して装着可能なストレージデ
バイスを 接続するリーダライタS1019が接続する。
この実施例ではストレージデバイスとして、USB装置S1040を用いる。装置S1040はストレージデバイス機能を備える。なお、本実施例では記憶
装置 としてメモリディスク装置を例に説明するが、本実施例の効果を奏する範囲内であれば任意の装置でよい。
ROMBIOSのS1012には、HDDのS1030あるいはストレージデバイスなどのシステムブート可能デバイスから一つのデバイスを選択する手
段、当
該デバイスからシステムブートローダをメモリ装置S1013に読出す手段、読み出したシステムブートローダに分岐する手段(いわゆるシステムブート機
能) を備える。
HDDのS1030あるいは任意のストレージデバイスから読み出されたOSプログラムは、メモリ装置S1013に格納され、CPUにより実行される。
図2に本実施例の入出力を記述する。
S201は共通鍵である。ここには暗号化を行うルールを決定する情報を保持する。この共通鍵はnバイトの大きさとする。nは採用する暗号方式により
最適な値を取るものとする。
S202は補助鍵1である。ここには文書ないしデータを暗号化処理を行った時の時間情報を保持する。データのサイズは任意であるが通常のコンピュー
タ処理では4バイトである。本実施例では4バイトであり秒単位である。
S203には補助鍵2である。ここには、項番を保持する。補助鍵に時間を使用した時の欠点として同一時間に複数の暗号化処理が発生した場合の問題が
ある。同じ時間であるために、複数の文書において補助鍵1の値が同じになり好ましくない。本実施例では4バイトである。
補助鍵1が同じである場合、暗号化の規則が同一の複数の暗号文書が生まれる。この場合、無限乱数式つまり一回使った暗号化の規則は二度と使用しない
という約束が破られる。結果、暗号強度に劣化が生まれる。
補助鍵2はこの問題を回避するためのものである。同一コンピュータにおいて本実施例を使い暗号化するという制限の中で、同一時間の暗号化処理の要求
が出た時には、受付た順序により、ゼロ、1、2...と番号を振るものとする。
これにより、共通鍵、補助鍵1、補助鍵2の組み合わせにより常に異なる暗号化規則を提供するものである。
S204は暗号化した文書ないしデータである。ここには、S205により暗号化したデータが保存される。
S205は本実施例の暗号鍵である。内部に共通鍵と補助鍵1と補助鍵2を保持し合わせて一つの暗号鍵を構成する。暗号化はこのS205により行う。
暗号化は本実施例と組み合わせて使用する暗号化方式に従うものとする。本発明では暗号鍵の保持の仕方に対するものなので暗号化方式には触れないものとす
る。
S206は暗号化した文書ないしデータである。記憶装置およびファイルにはこの形式で保存する。内部に補助鍵1と補助鍵2と実際の暗号文を保持して
いる。
本出願図3に本実施例の処理の流れを記述する。
この流れ図の特殊記号、各種表記はコンピュータ言語であるC言語に従う。
文中、特に宣言のない変数においてメモリのアドレスを参照する変数の型はC言語のポインタ型とし、そうでない変数はint型変数とする。
%・・・剰余計算を示す記号である。
^ ・・・排他的論理輪を示す記号である。
++ ・・・インクリメント、値を一つ増加を意味する記号である。
[n ] ・・・配列を意味する記号である。nは配列の添字である。
* ・・・アドレス型変数の前に記す場合は、変数の示すアドレス上の値を示す。
0x・・・16進法の数値であることを示す。
本実施例は基本制御ソフトより実行し、変換をかけたいファイルを指定する。変換したいファイルを読み変換をし、変換結果をファイルとして記憶装置に
保存す る。
本実施例の示すアプリケーションに一回かけると暗号化を行う。生成結果を再度本アプリケーションにかけると復号を行うものである。
S311では初期化処理を行う。ここでは変数iの確保をはじめ本プログラムが必要とする各種処理を行う。
S312で変換元のファイル名を入力している。これは、ディスク上のファイル名パスを対話形式で当アプリケーションの実行者に質問するものである。ここ
で指定したファイルを変換の対象とする。
S313では、本実施例が作動するコンピュータS1011の任意の記憶領域より、共通鍵となる情報を読み込みS201に格納する。
S314では実際に暗号・復号するファイルをオープンする。
S315は、このファイルを暗号化するのか復号化するのかの判定を行う。
本実施例では指定したファイル名にて判定するものとする。ファイル名の最後が”.enc”の文字列で終わる時には、このファイルが暗号化されているものと

て復号処理をするものとする。
暗号化する場合はS316のへ流れる。
S316では変換先のファイルをオープンしている。ファイル名はS312で取得した変換元のファイル名に”.enc”の文字列を最後に結合して行う。すで
に同名のファイルがある時は、それを消し新規にオープンする。
S317では補助鍵1を設定する。ここではS202に現在時間を設定する。
S318では補助鍵2を設定する。ここではS203に番号を書き込む。通常はゼロが入る。同一時間に同じ暗号化が起きた場合は要求を受け付けた順にゼロ、
1、2と番号を上げて格納する。
S319では補助鍵1を変換先ファイルに書き込む。具体的にはS202の情報をファイルに書き込む。書き込みはシーケンシャルにて行う。なお本実施例の
ファイルの読み書きはすべてシーケンシャルにて行う。
S320では補助鍵2を変換先ファイルに書き込む。具体的にはS203の情報をファイルに書き込む。
S321では変換先のファイルをオープンしている。ファイル名はS312で取得した変換元のファイル名の末尾の”.enc”の文字列除去したファイル名に
て行う。すでに同名のファイルがある時は、それを消し新規にオープンする。
S322では補助鍵1を読み取る。具体的には変換元ファイルからシーケンシャルに読み取り、S202に保持する。
S323では補助鍵2を読み取る。具体的には変換元ファイルからシーケンシャルに読み取り、S203に保持する。
S324は永久ループである。変数iをループカウンタとしてループする。
S325で変換元ファイルを1バイト読み取る。本実施例では構造を簡素化するために1バイト単位で読み取っている。もちろんnバイト単位としても良い。
S326ではリード成功の判定をしている。永久ループで回っているのでファイルの最後に来たときエラーとなり、Noの処理としてS329に流れる。
読み取りに成功した時はS327に流れる。
S327では読み取ったデータに変換をかける。この変換はデータが平文の場合は暗号化となり、データが暗号化の場合は復号となる暗号方式である。データを
変換する時の鍵はS205を使用する。

本実施例では変換の方式を規定するものではないが、一般的な方法としてS205をシードとする乱数列を生成して、先頭の一バイトずつ取り出し、この取り出
した乱数値と排他的論理輪を取り変換をかけるて行うことができる。変換データの最初のnバイト目には乱数列の最初のnバイトを排他的論理輪を取り変換すれ
ば良い。
S328では変換先ファイルに書き込みを行う。書き込みを行うデータはS327で変換を行ったデータである。
S329では変換先ファイルをクローズしている。同様に変換元ファイルをクローズしている。
ホストとなる装置を示した説明図である。 実施例1の入出力をあらわした図である。 実施例1の処理の流れをあらわした図である。
符号の説明
S1011…中央処理装置(CPU)。
S1012…ROMBIOS。
S1013…メモリ装置。
S1014,S10017,S10018…システムバス。
S1015,S10016…アダプタ。
S1020…ホストI/F。
S1030…HDD。
S1019…リーダライタ。
S1040…USB装置。

Claims (3)

  1. n個の暗号鍵を持ち、暗号化したデータに暗号鍵の一つ以上を添付して出力することを特徴とする暗号装置。
  2. 請求項1の暗号化装置において、暗号化したデータに添付する暗号鍵として暗号化を行った際の時間情報を持たせた事を特徴とする暗号化装置。
  3. 請求項2の暗号化装置において、暗号化したデータに添付する鍵として時間情報と共に項番も合わせて添付することを特徴とする暗号化装置。
JP2006319386A 2006-11-27 2006-11-27 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム Pending JP2008135893A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006319386A JP2008135893A (ja) 2006-11-27 2006-11-27 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006319386A JP2008135893A (ja) 2006-11-27 2006-11-27 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2008135893A true JP2008135893A (ja) 2008-06-12

Family

ID=39560439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006319386A Pending JP2008135893A (ja) 2006-11-27 2006-11-27 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2008135893A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079192A (ja) * 2010-10-05 2012-04-19 Nippon Telegr & Teleph Corp <Ntt> 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置
KR101189683B1 (ko) 2012-04-04 2012-10-11 주식회사 시큐브 개인 정보 보호 문서 암호화 전송 시스템, 장치 및 방법
CN114401426A (zh) * 2021-12-31 2022-04-26 珠海迈科智能科技股份有限公司 一种动态密钥的生成方法及其系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079192A (ja) * 2010-10-05 2012-04-19 Nippon Telegr & Teleph Corp <Ntt> 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置
KR101189683B1 (ko) 2012-04-04 2012-10-11 주식회사 시큐브 개인 정보 보호 문서 암호화 전송 시스템, 장치 및 방법
CN114401426A (zh) * 2021-12-31 2022-04-26 珠海迈科智能科技股份有限公司 一种动态密钥的生成方法及其系统
CN114401426B (zh) * 2021-12-31 2023-05-05 珠海迈科智能科技股份有限公司 一种动态密钥的生成方法及其系统

Similar Documents

Publication Publication Date Title
CN107924448A (zh) 硬件实施的单向密码术
JP2005130028A (ja) 暗号キー並びにこれを用いた暗号化装置及び復号化装置
CN110084599A (zh) 密钥处理方法、装置、设备和存储介质
JP4027482B2 (ja) 暗号復元を行う翻訳装置およびその方法
KR100352782B1 (ko) 소프트웨어 암호화 방법, 소프트웨어 암호화 시스템 및 소프트웨어 복호화 시스템
CN102521535A (zh) 通过特定指令集来进行相关运算的信息安全协处理器
JP2007233426A (ja) アプリケーション実行装置
WO2008001918A1 (fr) Dispositif de production de nombres aléatoires, dispositif de chiffrement/déchiffrement utilisant un tel dispositif, programme et support d&#39;enregistrement de programme
CN109409101A (zh) 数据加密的方法及终端设备
CN114390317B (zh) 面向流式传输视频的加密方法及系统
JP2007108833A (ja) 複数パスワード記憶装置及びパスワード管理方法
JP2008135893A (ja) 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム
KR101043255B1 (ko) Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법
JP4818279B2 (ja) プログラム処理装置、プログラム処理方法及びプログラム
JP4592337B2 (ja) データ記憶装置
US20220014381A1 (en) Message authentication code (mac) generation for live migration of encrypted virtual machiness
CN113158203B (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
JP4222132B2 (ja) ソフトウェア提供方法及びシステム
KR20080112082A (ko) 데이터 암호화방법, 암호화데이터 재생방법
CN109657480A (zh) 一种文件处理方法、设备及计算机可读存储介质
CN111814182A (zh) 一种文件加密方法、解密方法、设备及存储介质
JP2008310678A (ja) 記憶装置、情報機器、及びコンテンツ変換方法
JPH10275115A (ja) データ暗号化保存方法及びシステム装置
JP5539024B2 (ja) データ暗号化装置およびその制御方法
JP6012355B2 (ja) 制御機器、制御システム、データ格納方法及びプログラム