JP2005141282A - 文字データの暗号化プログラム - Google Patents

文字データの暗号化プログラム Download PDF

Info

Publication number
JP2005141282A
JP2005141282A JP2003373861A JP2003373861A JP2005141282A JP 2005141282 A JP2005141282 A JP 2005141282A JP 2003373861 A JP2003373861 A JP 2003373861A JP 2003373861 A JP2003373861 A JP 2003373861A JP 2005141282 A JP2005141282 A JP 2005141282A
Authority
JP
Japan
Prior art keywords
character
code
converted
character string
encrypted
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
JP2003373861A
Other languages
English (en)
Inventor
Shigemi Yamashita
繁実 山下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003373861A priority Critical patent/JP2005141282A/ja
Publication of JP2005141282A publication Critical patent/JP2005141282A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】 文字データを暗号化しても、文字データであることを前提とした処理が正常に行うことができる暗号化システムを提供することを目的とする。
【解決手段】 文字列を読み出して該文字列の文字セットを特定する手段と、特定した文字セットの中で文字種を分類する手段と、分類した文字種毎に文字列を構成する文字コードを0から連続するインデックスコードに変換する手段と、分類した文字種毎に変換したインデックスコードを暗号化する手段と、分類した文字種毎に暗号化したインデックスコードを文字コードに変換して変換した文字列を記憶する手段とを有する。
【選択図】 図1

Description

文字データの暗号化の技術に関する。
一般にデータを暗号化すると、文字データはバイナリデータとなってしまう。このため、通常暗号化されていない文字データを扱う処理において、単に文字データを暗号化してバイナリデータに置き換えてしまうと、文字データであることを前提とした処理が正常に動作しなくなってしまうことになる。例えば、コマンドの引数、ファイル名、メール本文、HTML文書、XML文書等が暗号化されると、文字データであることを前提とした処理が正常に動作しなくなってしまう。
そのため電子メールでは、暗号化した文字データを添付ファイルとし、文字データであることを前提とした処理を行わせず、暗号化していない文字データをメール本文に書いて、文字データを前提とした処理を行わせている。暗号化したデータであっても、文字データであることを前提とした処理を正常に行わせるには、暗号化したデータを更に文字データに変換する方法が考えられるが、電子メールの添付ファイルで使われるBASE64等のアルゴリズムを使うと、暗号化前のデータ量に対しデータ量が増大し、規定の範囲(メールサイズの最大値、コマンドバッファ長の最大値、DBのフィールド最大長)に収まらなくなってしまう場合がある。
即ち、暗号化したデータであっても、文字データを前提とした処理を正常に行うためには、暗号化したデータが暗号化前のデータと同じ文字セット(文字種)に収め、データの長さも変わらないことが求められる。
特開平11−203207号公報 特開平3−236084号公報
以上の点に鑑み本発明は、文字データを暗号化しても、文字データであることを前提とした処理が正常に行うことができる暗号化システムを提供することを目的とする。
上記課題を解決するために、本願発明は、文字セットを特定する手段と、特定した文字セットの中で文字種を分類する手段と、分類した文字種毎に文字コードを0から連続するインデックスコードに変換する手段と、分類した文字種毎に変換したインデックスコードを暗号化する手段と、分類した文字種毎に暗号化したインデックスコードを文字コードに変換する手段と、分類した文字種毎に文字コードが0から連続するインデックスコードに変換されて変換されたインデックスコードが暗号化されて暗号化されたインデックスコードが文字コードに変換された文字コードを0から連続するインデックスコードに逆変換する手段と、分類した文字種毎に逆変換したインデックスコードを復号化する手段と、分類した文字種毎に復号化したインデックスコードを文字コードに逆変換する手段を有する。
暗号化されたデータは、暗号化前と同じ文字種に変換され、データの長さも変化しないので、文字列であることを前提とした処理が正常に動作し、従来の処理に影響を与えることなく、文字データのデータ転送時の安全性を高めることができる。
図1は本発明の実施例の構成で、暗号化システム1は、入力文字列記憶部2と文字セット特定部3と文字種分類部4とインデックスコード変換部5と暗号化部6と文字列変換部7と出力文字列記憶部8と変換テーブル9から構成される。
入力文字列記憶部2は、本発明により暗号化する文字列を記憶する処理部である。
文字セット特定部3は、入力文字列記憶部2から暗号化しようとする文字列を読み出して、文字セットを特定する処理を行う。文字セットとしては、ASCII、Shift−JIS、UNICODE、EUCなどが挙げられる。
文字種分類部4は、特定した文字セットの中で文字種を分類する。文字種とは、文字セットShift−JISを例に挙げれば、印刷可能なASCII、半角カナ、JIS第一水準、JIS第ニ水準、後述する暗号化の対象外(タブや改行などの制御コード、本来文字コードに含まれないコード、CSV形式におけるカンマ等用途によっては暗号化の対象外になるもの)等が挙げられる。なお、この分類は、必ずしも固定的なものでなく暗号化対象の文字データの特性によって変わるものである。なお、例えばShift−JISでは1バイト系のコードと2バイト系のコードが混在しているが、別々の文字種として扱うので、本発明では1バイト系の文字コードと2バイト系の文字コードが混在していてもよい。
インデックスコード変換部5は、分類した文字種毎に、該当する文字コードを0から連続したインデックスコードに変換する。通常、文字コードは連続しているとは限らず、例えばShift−JISコードは飛び飛びになっているので、Shift−JISコードを直接暗号化して再びShift−JISコードの範囲に収めるのは、通常使用されている暗号アルゴリズムでは不可能である。文字種毎に、連続していない飛び飛びの文字コードを0から連続したインデックスコードに変換しておくのは、後述する暗号化処理が容易になるためであり、その理由を以下説明する。
実用化されている暗号化アルゴリズムは、暗号化の出力が0からある一定の上限値までの連続する整数となっている。暗号アルゴリズムの大雑把な分類とその代表的な暗号アルゴリズムは、
(a)DES:ブロック暗号。ブロック単位に暗号化(DESの場合8バイト)。
(b)RC4:ストリーム暗号。任意の長さのデータを暗号化。
(c)RSA:公開鍵暗号:任意のデータを暗号化するような一般的用途では使用せず、認証や暗号鍵の交換等、特殊な用途に用いる。
例えばDESは8バイト単位のブロック暗号化アルゴリズムなので、暗号化した出力データは、0(0x0000000000000000)〜2の64乗−1(0xffffffffffffffff)の範囲となる。RC4は、ストリーム暗号なので厳密には上限値は存在しないが、実装上は1バイト単位に処理しているので、出力データは0(0x00)〜255(0xff)となる。RSAは2つの大きな素数P、Qの積で割った余りの範囲が出力となるので、0〜P×Q−1となる。つまり、どのような暗号アルゴリズムであっても、出力は0から一定値までの連続した整数となる。インデックスコードを0から連続した整数に収めるということは、これら暗号化結果と足し算等の演算を施すと、数学で言う加法群を構成することが利点となる。なぜなら群は、常に逆演算(つまり復号)が常に可能だからである。インデックスコードが0から始まっていなかったり、途中でインデックスコードが跳んでいたりすると、この加法群を構成することができない。
以下、文字セットはASCII、文字種は英大字と数字を例に説明する。まず、インデックステーブルを使って変換する方法で説明する。図2は数字を変換するインデックステーブルであり、例えば数字2は文字コード0x32であり、これをインデックスコード0x03に変換する。図3は英大文字を変換するインデックステーブルであり、例えば英大文字Cは文字コード0x43であり、これをインデックスコード0x0dに変換する。次に線形演算によって変換する方法で説明する。数字の変換式を「文字コード−0x30=インデックスコード」とすると、数字2は文字コード0x32であり、0x32−0x30=0x02たるインデックスコードに変換する。英字の変換式を「文字コード−0x41=インデックスコード」とすると、英字Yは文字コード0x59であり、0x59−0x41=0x18たるインデックスコードに変換する。なお、復号化処理にあっては、上記と逆の動きをする。
暗号化部6は、文字種毎にインデックスコードを暗号化する。例えば、文字種が数字ならば、インデックスコードに鍵となるコードを加え10で割ったときの余った値を求めて暗号化する。他には、インデックスコードに鍵となるコードを加えテーブル(図示せず)を用いて暗号化する方法がある。もちろん、暗号化のやり方はこれらに捕われず、任意のアルゴリズムが使える。さらに、暗号化した結果がインデックスコードの範囲内(0からN)に収まるように、暗号化の手順にN+1で割った余りを求める手順を入れておく。または、テーブル(図示せず)を使ってインデックスコードの範囲内に収める手順を入れておく。なお、復号化処理にあっては、上記と逆の動きをする。
文字列変換部7は、文字種毎に暗号化されたインデックスコードを文字コードに変換する。変換方法は、インデックスコード変換部5における変換とは逆の変換になる。かかる変換によって最終的に任意の文字列が、文字種毎に文字列全体の長さが変わらずに暗号化されることになる。例えば、文字種数字について文字コード変換テーブル(図4)を使うと、インデックスコード0x07は文字コード0x35として文字‘5’に変換される。線形演算を使うと、変換式「インデックスコード+0x30=文字コード」に従って、0x07+0x30=0x37たる文字‘7’に変換される。文字種英大文字について文字コード変換テーブル(図5)を使うと、インデックスコード0x04は文字コード0x4bとして文字‘K’に変換される。線形演算を使うと、変換式「インデックスコード+0x41=文字コード」に従って、0x04+0x41=0x45たる文字‘E’に変換される。なお、復号化処理にあっては、上記と逆の動きをする。
文字列出力記憶部8は、文字列変換部7で変換された文字列を記憶する処理部である。
変換テーブル9は、インデックスコード変換部5や文字列変換部7で使われる変換テーブルを格納した記憶部であり、図2、図3、図4、図5が挙げられる。
次にフローチャート(図6)に従って暗号化処理について、文字セットASCIIの英大文字「DOG」を例に説明する。まず、文字セット特定部3は、暗号化する文字列を入力文字列記憶部2から読出し、該文字列の文字セット(ここでは‘ASCII’)を特定する(S1)。次に文字種分類部4は、特定した文字セットの中で文字種(‘英大文字’)を分類する(S2)。次にインデックスコード変換部5は、分類した文字種毎に該当する文字コード(DOG:‘0x444f47’)を英大文字のインデックス変換テーブル(図3)を使って、D:0x44を0x18に、O:0x4fを0x09に、G:0x47を0x00とそれぞれ変換し、その結果インデックスコード(‘0x180900’)に変換する(S3)。次に暗号化部6は、文字種毎に変換されたインデックスコードを暗号化する(ここでは‘0x050c0d’に暗号化されたとする)(S4)。次に、文字列変換部7は、文字種毎に暗号化されたインデックスコードを英大文字の文字コード変換テーブル(図5)を使って、0x05を0x5a:Zに、0x0cを0x46:Fに、0x0dを0x43:Cにそれぞれ変換し、その結果文字コード(‘0x5a4643’:ZFC)に変換し、出力文字列記憶部8に記憶する(S5)。そうすると、最終的に得られた「ZFC」はバラバラで意味のない文字列に、文字列の長さも変わらずに変換され、この文字列を入力元として、文字列であることを前提とした処理が正常に動作できることになる。
暗号化された文字コードの復号化処理は、上記フローと反対の処理を行うことになる(図7)。まず、文字セット特定部3は、復号化する文字列を入力文字列記憶部2から読出し、該文字列の文字セットを特定する(S6)。次に文字種分類部4は、特定した文字セットの中で文字種を分類する(S7)。次に文字列変換部7は、文字種毎にS5で変換された文字コードをインデックスコードに逆変換する(S8)。次に暗号化部6は、文字種毎に逆変換されたインデックスコードを復号化する(S9)。次にインデックスコード変換部5は、文字種毎に復号化したインデックスコードを文字コードに逆変換し、出力文字列記憶部8に記憶する(S10)。こうして元の意味のある文字列に戻されたことになる。
以上、1バイト系の文字を例に説明したが、2バイト系の文字であれば2バイト単位でインデックス化と暗号化を行う。例えば、文字セット‘Shift−JISコード’、文字種‘ひらがな’の文字列「つくえ」を例に挙げて説明する。文字列「つくえ」の文字コード‘82C2 82AD 82A6’が、図8の変換テーブルを使ってインデックスコード‘002F 000E 0007’に変換される。そしてここでは‘003F 0022 001A’に暗号化されたとする。次に、図9の文字コード変換テーブルを使って‘82DE 82C1 82B9’に文字変換され、最終的に得られた文字列は意味のない「むっせ」と変換され、この文字列を入力元として、文字列であることを前提とした処理が正常に動作できることになる。
本発明の実施例の構成 数字(ASCII)のインデックス変換テーブル 英大文字(ASCII)のインデックス変換テーブル 数字(ASCII)の文字コード変換テーブル 英大文字(ASCII)の文字コード変換テーブル 暗号化処理のフローチャート 復号化処理のフローチャート ひらがな(シフトJIS)のインデックス変換テーブル ひらがな(シフトJIS)の文字コード変換テーブル
符号の説明
1 本願発明の暗号化システム
2 入力文字列記憶部
3 文字セット特定部
4 文字種分類部
5 インデックスコード変換部
6 暗号化部
7 文字列変換部
8 出力文字列記憶部
9 変換テーブル

Claims (2)

  1. コンピュータを、
    文字列を読出して該文字列の文字セットを特定する手段、
    特定した文字セットの中で文字種を分類する手段、
    分類した文字種毎に、文字列を構成する文字コードを0から連続するインデックスコードに変換する手段、
    分類した文字種毎に、変換したインデックスコードを暗号化する手段、
    分類した文字種毎に、暗号化したインデックスコードを文字コードに変換して、変換した文字列を記憶する手段、
    として機能させることを特徴とする文字列暗号化プログラム。
  2. コンピュータを、
    文字列を読出して該文字列の文字セットを特定する手段、
    特定した文字セットの中で文字種を分類する手段、
    分類した文字種毎に、文字列を構成する文字コードが0から連続するインデックスコードに変換されて変換されたインデックスコードが暗号化されて暗号化されたインデックスコードが文字コードに変換された文字コードを、0から連続するインデックスコードに逆変換する手段、
    分類した文字種毎に、逆変換したインデックスコードを復号化する手段、
    分類した文字種毎に、復号化したインデックスコードを文字コードに逆変換して、逆変換した文字列を記憶する手段、
    として機能させることを特徴とする文字列復号化プログラム。

JP2003373861A 2003-11-04 2003-11-04 文字データの暗号化プログラム Pending JP2005141282A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003373861A JP2005141282A (ja) 2003-11-04 2003-11-04 文字データの暗号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003373861A JP2005141282A (ja) 2003-11-04 2003-11-04 文字データの暗号化プログラム

Publications (1)

Publication Number Publication Date
JP2005141282A true JP2005141282A (ja) 2005-06-02

Family

ID=34685758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003373861A Pending JP2005141282A (ja) 2003-11-04 2003-11-04 文字データの暗号化プログラム

Country Status (1)

Country Link
JP (1) JP2005141282A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065253A (ja) * 2005-08-31 2007-03-15 Fujitsu Broad Solution & Consulting Inc 文字コード暗号処理プログラム、および文字コード暗号処理方法
JP2008039844A (ja) * 2006-08-01 2008-02-21 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラムおよび暗号処理方法
JP2008152059A (ja) * 2006-12-19 2008-07-03 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラム、暗号処理方法および暗号処理装置
JP2009110179A (ja) * 2007-10-29 2009-05-21 Mizuho Information & Research Institute Inc テストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラム
KR100910303B1 (ko) 2009-01-09 2009-08-03 이순구 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
JP2010170547A (ja) * 2009-01-26 2010-08-05 Xerox Corp フォント入力に基づくパターン・フォント用認識エンジン
JP2012514353A (ja) * 2008-12-29 2012-06-21 ノーテル・ネットワークス・リミテッド 通信チャネルでの暗号化の存在を隠すための帯域効率的な方法及びシステム
JP2013073560A (ja) * 2011-09-29 2013-04-22 Dainippon Printing Co Ltd 文字コード変換方法およびシステム
JP2013098869A (ja) * 2011-11-02 2013-05-20 Chiba Inst Of Technology 音声システム
JP2014160353A (ja) * 2013-02-19 2014-09-04 International Business Maschines Corporation 難読化データをサーバに保持させる装置及び方法
JP5865565B2 (ja) * 2014-02-03 2016-02-17 A・Tコミュニケーションズ株式会社 文章認識装置、文章認識方法、及びプログラム
JP2017092929A (ja) * 2015-11-07 2017-05-25 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited フォーマット維持ベースマスキングシステムおよび方法
JP2019522269A (ja) * 2016-05-23 2019-08-08 インフォマティカ エルエルシー データ関連アプリケーションデータをマスキングする方法、装置、およびコンピュータ読み取り可能な媒体

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065253A (ja) * 2005-08-31 2007-03-15 Fujitsu Broad Solution & Consulting Inc 文字コード暗号処理プログラム、および文字コード暗号処理方法
JP2008039844A (ja) * 2006-08-01 2008-02-21 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラムおよび暗号処理方法
JP2008152059A (ja) * 2006-12-19 2008-07-03 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラム、暗号処理方法および暗号処理装置
JP4575416B2 (ja) * 2007-10-29 2010-11-04 みずほ情報総研株式会社 テストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラム
JP2009110179A (ja) * 2007-10-29 2009-05-21 Mizuho Information & Research Institute Inc テストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラム
JP2012514353A (ja) * 2008-12-29 2012-06-21 ノーテル・ネットワークス・リミテッド 通信チャネルでの暗号化の存在を隠すための帯域効率的な方法及びシステム
KR100910303B1 (ko) 2009-01-09 2009-08-03 이순구 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
WO2010079878A1 (ko) * 2009-01-09 2010-07-15 Lee Soon Goo 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
JP2010170547A (ja) * 2009-01-26 2010-08-05 Xerox Corp フォント入力に基づくパターン・フォント用認識エンジン
JP2013073560A (ja) * 2011-09-29 2013-04-22 Dainippon Printing Co Ltd 文字コード変換方法およびシステム
JP2013098869A (ja) * 2011-11-02 2013-05-20 Chiba Inst Of Technology 音声システム
JP2014160353A (ja) * 2013-02-19 2014-09-04 International Business Maschines Corporation 難読化データをサーバに保持させる装置及び方法
JP5865565B2 (ja) * 2014-02-03 2016-02-17 A・Tコミュニケーションズ株式会社 文章認識装置、文章認識方法、及びプログラム
CN105981089A (zh) * 2014-02-03 2016-09-28 At信息股份有限公司 文章识别装置、文章识别方法以及程序
US10360821B2 (en) 2014-02-03 2019-07-23 AT Communications Co., Ltd. Sentence recognition device, sentence recognition method, and recording medium
JP2017092929A (ja) * 2015-11-07 2017-05-25 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited フォーマット維持ベースマスキングシステムおよび方法
JP2019522269A (ja) * 2016-05-23 2019-08-08 インフォマティカ エルエルシー データ関連アプリケーションデータをマスキングする方法、装置、およびコンピュータ読み取り可能な媒体

Similar Documents

Publication Publication Date Title
JP2005141282A (ja) 文字データの暗号化プログラム
US8073140B2 (en) Encryption/decryption device, encryption/decryption method, and computer program
JP4989055B2 (ja) 文字コード暗号処理プログラム、および文字コード暗号処理方法
JPH04365240A (ja) 暗号化方式
US8600048B1 (en) Format-translating encryption systems
CN110704854B (zh) 针对文本数据保留格式的流式加密方法
US11902417B2 (en) Computer-implemented method of performing format-preserving encryption of a data object of variable size
CN103095449B (zh) 一种基于流密码的动态加密解密方法
Dileep et al. Identification of block ciphers using support vector machines
CN103873250A (zh) 一种密文生成方法、密文解密方法及加密解密装置
Sheela et al. Secured text communication using chaotic maps
Ahmad et al. Protection of the texts using Base64 and MD5
Reddy et al. A novel triple DES to enhance E-governance security
CN106817216A (zh) 一种基于Zlib库和AES算法的ZIP包解压方法
JP2011232604A (ja) 暗号化装置および暗号化方法
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
US7505586B2 (en) Method for computer-based encryption and decryption of data
CN100359494C (zh) 电子文件字符内码变换加密方法
KR101148560B1 (ko) 비트 조합 순서를 이용한 암호화 방법 및 장치
Shrivastava et al. Vlsi implementation of esf and qtl lightweight ciphers
Nascimento et al. A VHDL implementation of the Lightweight Cryptographic Algorithm HIGHT
Patro et al. Text-to-Image Encryption and Decryption Using Piece Wise Linear Chaotic Maps
Yadav et al. A Novel symmetric key cryptography using dynamic matrix approach
Goswami et al. A Symmetric Key Cryptographic Technique Based on Frame Rotation of an Even Ordered Square Matrix
Usama et al. Chaos-based secure data compression (CSDC)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090428