JP2004048256A - Encryption method, encryption system, and storage medium - Google Patents

Encryption method, encryption system, and storage medium Download PDF

Info

Publication number
JP2004048256A
JP2004048256A JP2002201277A JP2002201277A JP2004048256A JP 2004048256 A JP2004048256 A JP 2004048256A JP 2002201277 A JP2002201277 A JP 2002201277A JP 2002201277 A JP2002201277 A JP 2002201277A JP 2004048256 A JP2004048256 A JP 2004048256A
Authority
JP
Japan
Prior art keywords
encryption
information
format conversion
error
data
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
Application number
JP2002201277A
Other languages
Japanese (ja)
Inventor
Kenji Sakagami
坂上 健二
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics Corp
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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2002201277A priority Critical patent/JP2004048256A/en
Publication of JP2004048256A publication Critical patent/JP2004048256A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption method, an encryption system, and a storage medium capable of reducing the processing time of encryption / decryption so as to enhance the versatility of protection strength without the need for exclusive hardware. <P>SOLUTION: The encryption system is configured such that information to be encrypted is format-converted, thereafter an error correction code is generated and part bits of the information after the format conversion are revised to generate encrypted information. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、ディジタル情報を暗号化する暗号化方法、暗号化システム及び暗号化されたディジタル情報を記憶する記憶メディアに関する。
【0002】
【従来の技術】
従来、ディジタル情報の暗号化/復号化を高速に実行するには、採用する暗号化のアルゴリズムにもよるが、複雑で膨大なデータ処理を行わなければならないため、極めて大規模な専用のハードウェアを必要としていた。また、専用のハードウェアを用いる場合に、構成が固定化されるため、暗号化されたディジタル情報を不正解読から保護する保護強度は、採用する暗号化アルゴリズムに依存し、柔軟に保護強度をシステムの要求仕様に応じて可変にして最適化することが困難であった。
【0003】
一方、マイクロプロセッサを組み込んだ機器においてソフトウェアによりディジタル情報の暗号化を行う場合には、処理内容が複雑かつ膨大になるため、処理するためのプログラムが大規模にならざるを得なかった。さらに、ソフトウェアにより処理するため、専用のハードウェアにより処理する場合に比べて、極めて多くの時間を要し、現実的でなかった。
【0004】
【発明が解決しようとする課題】
以上説明したように、ディジタル情報における従来の暗号化/復号化において、専用のハードウェアを用いる場合には、構成が大型化するするとともにコストが増大し、容易に導入することが難しかった。また、保護強度を容易かつ柔軟に変更することができず、保護強度の最適化を図ることが困難であるといった不具合を招いていた。
【0005】
一方、ソフトウェアで処理する場合には、処理プログラムが膨大になるとともに、極めて多くの処理時間を要して非現実的であるといった不具合を招いていた。
【0006】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、専用のハードウェアを用いることなく、暗号化/複合化の処理時間を短縮し、保護強度の可変性を高めた暗号化方法、暗号化システム及び記憶メディアを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する第1の手段は、被暗号情報のフォーマットを変換する第1のステップと、前記第1のステップのフォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する誤り訂正符号を生成する第2のステップと、前記誤り検出訂正機能の訂正可能範囲内で、前記第1のステップのフォーマット変換で得られた情報の一部ビットを変更し、変更後の情報を暗号化情報とし、該暗号化情報を復号解凍する際の解読情報を、前記第2のステップで生成した誤り訂正符号とする第3のステップとを有することを特徴とする。
【0008】
第2の手段は、システムの制御中枢となり、ソフトウェアにより被暗号情報をフォーマット変換するホストコントローラと、前記ホストコントローラが実行したフォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する誤り訂正符号を生成し、前記誤り検出訂正機能の訂正可能範囲内で、前記ホストコントローラが実行したフォーマット変換で得られた情報の一部ビットを変更し、変更後の情報を暗号化情報とし、前記誤り訂正符号を解読情報として前記暗号化情報を復号解凍するECC&暗号/復号ブロックと、前記ホストコントローラの制御の下に、前記ECC&暗号/復号ブロックで得られた暗号化情報を記憶し、記憶された暗号化情報を前記ECC&暗号/復号ブロックに与える記憶メディアとを有することを特徴とする。
【0009】
第3の手段は、被暗号情報のフォーマットを変換し、フォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する第1の誤り訂正符号を生成し、前記誤り検出訂正機能の訂正可能範囲内で、前記フォーマット変換で得られた情報の一部ビットを変更して得られる暗号化情報と、前記フォーマット変換で得られた情報に対して生成された第1の誤り訂正符号と、前記暗号化情報に対して生成された第2の誤り訂正符号と、前記第1の誤り訂正符号に対して生成された第3の誤り訂正符号とが記憶されることを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【0011】
図1はこの発明の一実施形態に係る暗号化方法の手順を示す図である。この実施形態は、暗号化しようとするオリジナルデータに、簡易な暗号化として、圧縮とスクランブルといったフォーマット変換を施し、誤り検出訂正機能の1つである、例えばリードソロモンの手法に基づく4シンボル(1シンボル=10ビット)の誤り検出訂正機能のECC(error correcting code )機能を用いて、フォーマット変換されたデータに、nビットのビット誤り(データ変更)を加えて暗号化するようにしている。
【0012】
図1において、まず、暗号化の対象となる被暗号情報のオリジナルデータDATAを所定の圧縮アルゴリズムにより圧縮して、圧縮データDATA1 を生成する(ステップS11)。次に、圧縮データDATA1 を所定のスクランブルアルゴリズムによりスクランブルをかけ、スクランブルデータDATA2 を生成する(ステップS12)。このように、オリジナルデータDATAに対して簡易な暗号化として圧縮とスクランブルを施してフォーマット変換する。このフォーマット変換は、ソフトウェアにより処理する。また、圧縮ならびにスクランブルのアルゴリズムは、それぞれ複数用意され、用意された中から任意に選択できるものとする。選択した圧縮又はスクランブルのアルゴリズムを識別するために、それぞれのアルゴリズムの識別子を圧縮キイP_KEY 、スクランブルキイS_KEY とする。
【0013】
また、フォーマット変換として、圧縮とスクランブルの双方を行わず、いずれか一方だけを行うようにしてもよい。さらに、圧縮あるいはスクランブル処理は、採用するアルゴリズムよって比較的小型な構成で実現できるのであれば、ハードウェアにより処理するようにしてもよい。
【0014】
次に、フォーマット変換されたデータDATA2 に対して、上記ECC機能においてビット誤りを自動訂正する機能を備えたECC符号を生成する(ステップS13)。生成したECC符号をコンテンツ(オリジナルデータ)毎にユニークなコンテンツユニークキイE_CODE_KEYとする。次に、データDATA2 のデータフィールドに対してランダムに、nビットのビット誤り(n=最大で4シンボル=40ビット)を意図的に行う(ステップS14)。これにより、オリジナルデータDATAを暗号化して、暗号化データDATA3 を生成する。ここで、ランダムなデータフィールドの選択は、乱数を介在させ、例えばフリーランさせたバイナリ・カウンタのカウント値を用いて乱数を発生させる。
【0015】
このような暗号化手順において、データのオーナー(アクセス権所有者)は暗号解読キイとして、圧縮キイP_KEY 、スクランブルキイS_KEY 、コンテンツユニークキイE_CODE_KEYを用いる。圧縮キイP_KEY 、スクランブルキイS_KEY は、この暗号化手順を実現するシステムの機器固有のシステムキイとして使用され、コンテンツユニークキイE_CODE_KEYは、コンテンツ毎にユニークなキイとして使用される。
【0016】
上記暗号化の手順において、フォーマット変換を行わずに、オリジナルデータに対して直接ビット誤りを加えた場合には、容易にオリジナルデータの類推、復元解凍が可能となる。このため、この実施形態においては、オリジナルデータのフォーマット変換として、圧縮とスクランブルを行い、データの保護強度が低下することを防止している。
【0017】
上記暗号化の手順におけるフォーマット変換の圧縮データは、数ビットのエラーが発生すると、エラーが発生したビット位置以降のデータの解凍復元ができなくなる。これを利用して、圧縮データに対してビットエラーを付加することで解凍キイが無い場合の不正な解凍復元の難易度を高めることができる。さらに、データの保護強度を高める目的で、フォーマット変換されたデータにランダムにビット誤りを付加する前処理として、圧縮データにバイト単位でバイトアドレスを付加し、バイトアドレスの並び順にスクランブルをかける。この後、スクランブルが施されたデータに4シンボル(=40ビット)のビットエラーを付加するが、1シンボルは連続した10ビットとなる。
【0018】
ここで、例えば16バイトのデータにスクランブルをかけずに連続した10ビットのビット誤りを付加すると、ビット誤りが付加された2バイトの部分は必ず連続アドレスとなり、元のデータに対して4個所のアドレス領域が変更されたことになる。これに対して、元のデータにバイト単位でスクランブルをかけると、アドレスの不連続な16バイトのデータにビット誤りを付加することができるため、上述した変更アドレスの領域を8個所に分散させることができる。さらに、元のデータに4ビット単位でスクランブルをかけた場合には、変更アドレス領域は12個所に分散させることが可能となり、1ビット単位でスクランブルをかけると変更アドレス領域は40個所に分散させることができるようになる。この結果、スクランブル前の圧縮データのアドレスで見ると、40ビットのビット誤り(データ変更)を圧縮データのアドレス全域にわたって分散させることができる。
【0019】
このように、上記実施形態では、ソフトウェアによりフォーマット変換を行い、ECC機能をハードウェアにより実現しているので、構成の小型化、処理時間の短縮を達成することができる。また、ECC機能は既存のハードウェアを使用して実現できるので、専用のハードウェアを用意する必要はなくなる。また、フォーマット変換の圧縮ならびにスクランブルを複数用意して選択できるようにし、かつ、ECC機能の能力を変更することで、不正解読の保護強度を、容易かつ柔軟に変更することができる。
【0020】
さらに、乱数を用いる暗号化アルゴリズムを採用しているので、不正解読のためのデータ補正パターンが膨大になるため、暗号保護強度の極めて高い、高信頼性の暗号化を実現できる。また、暗号化システムにおいて、既存のECC符号生成器、復号器のハードウェア資源、あるいはソフトウェア資源を備えるものであれば、これを流用して強度の高い暗号化、復号化機能を付加できるので、システムのコストパフォーマンスを著しく向上できる。
【0021】
上記の実施形態では、オリジナルのデータにビット誤りを付加する前に圧縮、スクランブル処理を行っているが、数ビットのビット誤りでデータの復元が困難となるフォーマットの変換手法であれば、他のフォーマット変換でもよく、例えば、排他的論理和を使ったアルゴリズムによる単純な暗号化などが挙げられる。
【0022】
また、上記実施形態で説明した暗号化の一連の手順を、複数回繰り返し行うようにしてもよい。すなわち、暗号化されたデータDATA3 をオリジナルデータDATAとして再び同じ処理を行う。この場合には、ハードウェアやソフトウェアの変更を何ら加えることなく、繰り返す回数に応じてデータの保護強度を高めることができる。
【0023】
図2は図1に示す暗号化方法により暗号化された暗号化データ(DATA3 )を復元解凍する復元手順を示す図である。
【0024】
図2において、まずコンテンツユニークキイE_CODE_KEYを用いて暗号化されたデータDATA3 のビット誤りを訂正し、ビット誤りが訂正されたデータDETA2 を得る(ステップS21)。次に、スクランブルキイS_KEY を用いてデータDATA2 のスクランブルを解除(デスクランブル)し、スクランブルが解除されたデータDATA1 を得る(ステップS22)。続いて、圧縮キイP_KEY を用いてデータDATA1 の圧縮を解凍し、オリジナルデータDATA を得る(ステップS23)。
【0025】
図3は図1に示す暗号化方法で得られた暗号化データを様々な記憶メディア31、例えばフラッシュメモリカード等に保存する手順を示す図である。この実施形態の特徴とするところは、図1に示す暗号化方法により暗号化データDATA3 を記憶メディア31に保存するために、暗号化データDATA3 ならびにそのECC符号となるコンテンツユニークキイE_CODE_KEYのそれぞれに対して、ECC符号を生成し(ステップS31,S32)、暗号化データDATA3 のECC符号ECC_CODE(DATA)とコンテンツユニークキイのECC符号ECC_CODE(KEY) を得る。そして、暗号化データDATA3 、コンテンツユニークキイE_CODE_KEY、ECC符号ECC_CODE(DATA)ならびにECC符号ECC_CODE(KEY)を記憶メディア31に保存する。
【0026】
このような実施形態にあっては、暗号化データDATA3 及び/又はコンテンツユニークキイE_CODE_KEYが、例えばデータ化け等により変化した場合であっても、記憶メディア31に保存されたECC符号を用いて復元することが可能となり、記憶メディアに保存する際のデータの保護を図ることができる。
図4は図3に示す手順で記憶メディアに保存されたデータを読み出して復元解凍する際の手順を示す図である。
【0027】
図4において、記憶メディア31に保存された暗号化データDATA3 ならびにコンテンツユニークキイE_CODE_KEYが、例えばDATA3’ 、E_CODE_KEY’に変化したとすると、記憶メディア31から読み出された暗号化データDATA3’ は、対応するECC符号ECC_CODE(DATA)を用いてビット誤りが訂正され(ステップS41)、保存される前の正しい暗号化データDATA3 が得られ、記憶メディア31から読み出されたコンテンツユニークキイE_CODE_KEY’ は、対応するECC符号ECC_CODE(KEY) を用いてビット誤りが訂正され(ステップS42)、保存される前の正しいコンテンツユニークキイE_CODE_KEYが得られる。その後は、図2に示す復号解凍の手順と同様である。
【0028】
図5はこの発明の他の実施形態に係る暗号化方法の手順を示す図である。
【0029】
この実施形態の特徴とするところは、図1に示す実施形態に比べて、図1に示すステップ11の圧縮処理、ステップ12のスクランブル処理、ならびにステップS14のビット誤りの付加において、それそれのデータを複数、例えば4個のブロックに分割し、それぞれのブロック毎に独立してそれぞれの処理を行うようにしたことにある。
【0030】
ここで、4シンボルのビット誤り(データ変更)がデータの特定のバイトアドレス領域に集中し、かつそのアドレスがデータの末端である場合を考える。このような暗号化データを正規のキイ無しで復号解凍しようとした場合に、圧縮キイ、スクランブルキイの全組み合わせを与えることで、コンテンツユニークキイがなくともデータの末端アドレス領域を除く大半のデータが復号されてしまい、保護強度が劣化する。
【0031】
このような劣化を防ぐことを目的として、この実施形態が提案されている。例えばオリジナルデータのサイズを512バイトとした場合に、このデータを1ブロック128バイトとして4ブロックに分割し、ブロック毎にデータを圧縮し(ステップS51)、圧縮して得られたデータDATA1 に対してブロック毎にスクランブルをかける(ステップS52)。続いて、得られたデータの4ブロックをマージしたデータDATA2 のECC符号E_CODE_KEYを求める(ステップS53)。次に、データDATA2 に対して、ブロック毎にランダムに1シンボル(=10ビット)分のビット誤りを加えて、4ブロックのデータ全体で4シンボルのビット誤りを加え、暗号化データDATA3 を得る(ステップS54)。
【0032】
このような実施形態にあっては、ビット誤りのデータ変更領域が分割された4つのブロックに分散されているため、先に述べたようにコンテンツユニークキイがない状態でデータ末尾以外のデータが不正に復号解凍される現象を防止することができる。また、図1の実施形態と同様に図5に示す手順を複数回繰り返して実行することにより、データの保護強度をさらに高めることができる。
【0033】
図6は図3、図4の実施形態に示す暗号化/復号化方法を実施する一実施形態に係る暗号化システムの構成を示す図である。
【0034】
図6において、この実施形態の暗号化システムは、ホストコントローラ61、ECC&暗号復号ブロック62ならびに記憶メディア63を備えて構成されている。ホストコントローラ61は、例えばCPUやメモリを備えたマイクロコンピュータシステムで構成され、ECC&暗号/復号ブロックと記憶メディア63を制御する制御中枢として機能し、ソフトウェアによりオリジナルデータのフォーマット変換を行う。ホストコントローラ61は、ライトプロテクト信号(WP)、アドレスラッチイネーブル信号(ALE)、コマンドラッチイネーブル信号(CLE)、リードイネーブル信号(RE)、ライトイネーブル信号(WE)を用いてECC&暗号/復号ブロック61ならびに記憶メディア63の動作を制御し、I/Oバス64を介してデータ、アドレス、コマンドがホストコントローラ61、ECC&暗号/復号ブロック62、記憶メディア63間で入出力される。
【0035】
ECC&暗号/復号ブロック62は、図3、図4に示すフォーマット変換処理以外の処理を実行する。記憶メディア63は、例えばフラッシュメモリ、スマートメディア、メモリスティック等様々な形態のものが適用可能である。
【0036】
この実施形態では、コンテンツユニークキイE_CODE_KEYも暗号化データとペアで記憶メディア63に格納される。また、圧縮キイP_KEY 、スクランブルキイS_KEY のシステムキイは、システム毎にユニークなので、システム側が保持し、非公開とする。コンテンツユニークキイE_CODE_KEYのアクセス権は、アプリケーションレベルで保護機構を設け、一般的にはコンテンツユニークキイE_CODE_KEYをアクセスするための他のキイを別途準備する。
【0037】
【発明の効果】
以上説明したように、この発明によれば、被暗号化情報をフォーマット変換した後、誤り訂正符号を生成し、フォーマット変換後の情報の一部ビットを変更して暗号化情報を作成するようにしたので、専用のハードウェアを用いることなく、暗号化/複合化の処理時間を短縮し、保護強度を容易かつ柔軟に変更することができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係る暗号化方法の手順を示す図である。
【図2】図1に示す手順で暗号化された暗号化データを復号する手順を示す図である。
【図3】図1に示す手順で暗号化された暗号化データを記憶メディアに保存する手順を示す図である。
【図4】図3で示す手順で記憶メディアに保存されたデータを読み出して復号する手順を示す図である。
【図5】この発明の他の実施形態に係る暗号化方法の手順を示す図である。
【図6】図3、図4の実施形態に示す暗号化/復号化方法を実施する一実施形態に係る暗号化システムの構成を示す図である。
【符号の説明】
S11〜S14,S21〜S23,S31〜S32,S41〜S42,S51〜S54 処理ステップ
31,63 記憶メディア
61 ホストコントローラ
62 ECC&暗号/復号ブロック
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encryption method for encrypting digital information, an encryption system, and a storage medium for storing encrypted digital information.
[0002]
[Prior art]
Conventionally, in order to perform high-speed encryption / decryption of digital information, it is necessary to perform complicated and enormous data processing, depending on the encryption algorithm employed. Needed. In addition, when dedicated hardware is used, the configuration is fixed, so the protection strength for protecting the encrypted digital information from unauthorized decryption depends on the encryption algorithm used, and the protection strength can be flexibly adjusted by the system. It is difficult to optimize the variable according to the required specifications.
[0003]
On the other hand, when digital information is encrypted by software in a device incorporating a microprocessor, the processing content is complicated and enormous, so that the program for processing must be large. Further, since the processing is performed by software, it takes an extremely long time as compared with the case of processing by dedicated hardware, which is not practical.
[0004]
[Problems to be solved by the invention]
As described above, in the conventional encryption / decryption of digital information, when dedicated hardware is used, the configuration becomes large, the cost increases, and it is difficult to easily introduce the configuration. In addition, the protection strength cannot be easily and flexibly changed, which causes a problem that it is difficult to optimize the protection strength.
[0005]
On the other hand, when the processing is performed by software, the processing program becomes enormous, and it takes an extremely long processing time to cause an unrealistic problem.
[0006]
Therefore, the present invention has been made in view of the above, and an object of the present invention is to reduce the processing time of encryption / decryption without using dedicated hardware and reduce the variability of protection strength. It is to provide an enhanced encryption method, an encryption system and a storage medium.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a first means for solving the problem includes a first step of converting the format of the information to be encrypted, and an error in the information obtained by the format conversion of the first step. A second step of generating an error correction code for detecting and correcting a bit error in the detection and correction function, and a part of information obtained by the format conversion of the first step within a correctable range of the error detection and correction function. A third step in which bits are changed, the changed information is used as encryption information, and decryption information when decrypting and decompressing the encryption information is used as the error correction code generated in the second step. It is characterized by.
[0008]
The second means is a control center of the system, and a host controller for format-converting the encrypted information by software, and a bit error in the error detection and correction function for the information obtained by the format conversion executed by the host controller. Generate an error correction code for detection and correction, change some bits of the information obtained by the format conversion performed by the host controller within the correctable range of the error detection and correction function, and encrypt the changed information. And an ECC & encryption / decryption block for decrypting and decompressing the encrypted information using the error correction code as decryption information, and encryption information obtained by the ECC & encryption / decryption block under the control of the host controller. Storage medium for providing stored encryption information to the ECC & encryption / decryption block Characterized in that it has a.
[0009]
The third means converts a format of the information to be encrypted, and generates a first error correction code for detecting and correcting a bit error in an error detection and correction function with respect to the information obtained by the format conversion. Encrypted information obtained by changing some bits of the information obtained by the format conversion within a correctable range of the correction function, and a first error generated for the information obtained by the format conversion. A correction code, a second error correction code generated for the encrypted information, and a third error correction code generated for the first error correction code are stored. I do.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0011]
FIG. 1 is a diagram showing a procedure of an encryption method according to an embodiment of the present invention. In this embodiment, original data to be encrypted is subjected to format conversion such as compression and scrambling as simple encryption, and four symbols (1) based on, for example, the Reed-Solomon method, which is one of error detection and correction functions. Using an ECC (error correcting code) function of an error detection and correction function of a symbol (10 bits), an n-bit bit error (data change) is added to the format-converted data for encryption.
[0012]
In FIG. 1, first, original data DATA of information to be encrypted to be encrypted is compressed by a predetermined compression algorithm to generate compressed data DATA1 (step S11). Next, the compressed data DATA1 is scrambled by a predetermined scrambling algorithm to generate scrambled data DATA2 (step S12). In this manner, the original data DATA is subjected to compression and scrambling as simple encryption and format conversion. This format conversion is processed by software. Also, it is assumed that a plurality of compression and scrambling algorithms are prepared, respectively, and can be arbitrarily selected from the prepared ones. In order to identify the selected compression or scrambling algorithm, the identifiers of the respective algorithms are referred to as a compression key P_KEY and a scramble key S_KEY.
[0013]
Further, as the format conversion, only one of the compression and the scrambling may be performed without performing both. Further, the compression or scramble processing may be performed by hardware if it can be realized with a relatively small configuration by the adopted algorithm.
[0014]
Next, an ECC code having a function of automatically correcting a bit error in the ECC function is generated for the format-converted data DATA2 (step S13). The generated ECC code is set as a unique content key E_CODE_KEY unique to each content (original data). Next, an n-bit bit error (n = 4 symbols at maximum = 40 bits) is intentionally performed on the data field of the data DATA2 at random (step S14). Thus, the original data DATA is encrypted to generate the encrypted data DATA3. Here, the selection of a random data field involves the interposition of a random number, for example, using a count value of a free-running binary counter to generate a random number.
[0015]
In such an encryption procedure, the data owner (owner of the access right) uses a compression key P_KEY, a scramble key S_KEY, and a content unique key E_CODE_KEY as a decryption key. The compression key P_KEY and the scramble key S_KEY are used as device-specific system keys for implementing the encryption procedure, and the content unique key E_CODE_KEY is used as a unique key for each content.
[0016]
In the above encryption procedure, when a bit error is directly added to the original data without performing the format conversion, analogy of the original data and restoration / decompression can be easily performed. For this reason, in this embodiment, compression and scrambling are performed as the format conversion of the original data to prevent the protection strength of the data from being reduced.
[0017]
When an error of several bits occurs in the compressed data of the format conversion in the above encryption procedure, it becomes impossible to decompress and restore data after the bit position where the error occurred. By making use of this, by adding a bit error to the compressed data, it is possible to increase the difficulty of illegal decompression and restoration when there is no decompression key. Furthermore, for the purpose of increasing the protection strength of the data, as a pre-process of randomly adding a bit error to the format-converted data, a byte address is added to the compressed data in byte units, and scrambling is performed in the order of the byte addresses. Thereafter, a bit error of 4 symbols (= 40 bits) is added to the scrambled data, but one symbol is a continuous 10 bits.
[0018]
Here, for example, if a continuous 10-bit bit error is added to the 16-byte data without scrambling, the 2-byte portion to which the bit error has been added always becomes a continuous address, and four locations of the original data are added. The address area has been changed. On the other hand, if the original data is scrambled in byte units, a bit error can be added to 16-byte data having discontinuous addresses, so that the above-mentioned changed address area is distributed to eight locations. Can be. Further, when the original data is scrambled in 4-bit units, the changed address area can be dispersed in 12 places. When the original data is scrambled in 1-bit units, the changed address area is dispersed in 40 places. Will be able to As a result, when viewed from the address of the compressed data before scrambling, a 40-bit bit error (data change) can be dispersed over the entire address of the compressed data.
[0019]
As described above, in the above-described embodiment, since the format conversion is performed by software and the ECC function is realized by hardware, the configuration can be reduced in size and the processing time can be reduced. Further, since the ECC function can be realized using existing hardware, there is no need to prepare dedicated hardware. Further, by preparing and selecting a plurality of format conversion compressions and scrambles and changing the capability of the ECC function, it is possible to easily and flexibly change the protection strength against unauthorized decryption.
[0020]
Furthermore, since an encryption algorithm using a random number is employed, a large number of data correction patterns are used for unauthorized decryption, and therefore, highly reliable encryption with extremely high encryption protection strength can be realized. In addition, if the encryption system has hardware resources or software resources of the existing ECC code generator and decoder, the encryption system can be diverted to add a strong encryption / decryption function. The cost performance of the system can be significantly improved.
[0021]
In the above embodiment, compression and scrambling are performed before adding a bit error to the original data. However, if a format conversion method that makes it difficult to restore the data due to several bits of bit error, another format conversion method is used. Format conversion may also be used. For example, simple encryption using an algorithm using exclusive OR may be used.
[0022]
Also, a series of encryption procedures described in the above embodiment may be repeated a plurality of times. That is, the same processing is performed again using the encrypted data DATA3 as the original data DATA. In this case, the protection strength of data can be increased according to the number of repetitions without making any change in hardware or software.
[0023]
FIG. 2 is a diagram showing a restoration procedure for restoring and decompressing the encrypted data (DATA3) encrypted by the encryption method shown in FIG.
[0024]
In FIG. 2, first, the bit error of the encrypted data DATA3 is corrected using the content unique key E_CODE_KEY to obtain data DETA2 in which the bit error has been corrected (step S21). Next, the data DATA2 is descrambled (descrambled) using the scramble key S_KEY to obtain the descrambled data DATA1 (step S22). Subsequently, the compression of the data DATA1 is decompressed using the compression key P_KEY to obtain the original data DATA (step S23).
[0025]
FIG. 3 is a diagram showing a procedure for storing the encrypted data obtained by the encryption method shown in FIG. 1 in various storage media 31, for example, a flash memory card or the like. The feature of this embodiment is that, in order to store the encrypted data DATA3 on the storage medium 31 by the encryption method shown in FIG. Then, an ECC code is generated (steps S31 and S32), and an ECC code ECC_CODE (DATA) of the encrypted data DATA3 and an ECC code ECC_CODE (KEY) of the content unique key are obtained. Then, the encrypted data DATA3, the content unique key E_CODE_KEY, the ECC code ECC_CODE (DATA), and the ECC code ECC_CODE (KEY) are stored in the storage medium 31.
[0026]
In such an embodiment, even if the encrypted data DATA3 and / or the content unique key E_CODE_KEY has changed due to, for example, data corruption, the data is restored using the ECC code stored in the storage medium 31. This makes it possible to protect data when the data is stored in the storage medium.
FIG. 4 is a diagram showing a procedure for reading out data stored in the storage medium and restoring and decompressing the data in the procedure shown in FIG.
[0027]
In FIG. 4, when the encrypted data DATA3 and the content unique key E_CODE_KEY stored in the storage medium 31 are changed to, for example, DATA3 ′ and E_CODE_KEY ′, the encrypted data DATA3 ′ read from the storage medium 31 The bit error is corrected using the ECC code ECC_CODE (DATA) (step S41), the correct encrypted data DATA3 before being stored is obtained, and the content unique key E_CODE_KEY ′ read from the storage medium 31 The bit error is corrected using the ECC code ECC_CODE (KEY) to be performed (step S42), and a correct content unique key E_CODE_KEY before being stored is obtained. After that, the procedure is the same as the decoding and decompression procedure shown in FIG.
[0028]
FIG. 5 is a diagram showing a procedure of an encryption method according to another embodiment of the present invention.
[0029]
The feature of this embodiment is that, in comparison with the embodiment shown in FIG. 1, the compression processing in step 11, the scrambling processing in step 12, and the addition of bit errors in step S 14 shown in FIG. Is divided into a plurality of, for example, four blocks, and each block is independently processed.
[0030]
Here, a case is considered where bit errors (data changes) of four symbols are concentrated in a specific byte address area of data and the address is at the end of the data. When attempting to decrypt and decompress such encrypted data without a legitimate key, by giving all combinations of compression key and scramble key, most data except for the end address area of the data can be obtained without the content unique key. It will be decrypted and the protection strength will be degraded.
[0031]
This embodiment has been proposed for the purpose of preventing such deterioration. For example, when the size of the original data is 512 bytes, this data is divided into 4 blocks each having 128 bytes, and the data is compressed for each block (step S51). Scrambling is performed for each block (step S52). Subsequently, an ECC code E_CODE_KEY of the data DATA2 obtained by merging four blocks of the obtained data is obtained (step S53). Next, a bit error of one symbol (= 10 bits) is randomly added to the data DATA2 for each block, and a bit error of four symbols is added to the entire data of the four blocks to obtain encrypted data DATA3 ( Step S54).
[0032]
In such an embodiment, since the data change area of the bit error is distributed in the divided four blocks, data other than the data end is illegal without the content unique key as described above. Can be prevented. Also, by repeating the procedure shown in FIG. 5 a plurality of times as in the embodiment of FIG. 1, the protection strength of data can be further increased.
[0033]
FIG. 6 is a diagram showing a configuration of an encryption system according to an embodiment for performing the encryption / decryption method shown in the embodiment of FIGS.
[0034]
In FIG. 6, the encryption system according to this embodiment includes a host controller 61, an ECC & encryption / decryption block 62, and a storage medium 63. The host controller 61 is composed of, for example, a microcomputer system having a CPU and a memory, functions as a control center for controlling the ECC & encryption / decryption block and the storage medium 63, and performs format conversion of original data by software. The host controller 61 uses the write protect signal (WP), the address latch enable signal (ALE), the command latch enable signal (CLE), the read enable signal (RE), and the write enable signal (WE) to perform the ECC & encryption / decryption block 61. Also, the operation of the storage medium 63 is controlled, and data, addresses, and commands are input and output between the host controller 61, the ECC & encryption / decryption block 62, and the storage medium 63 via the I / O bus 64.
[0035]
The ECC & encryption / decryption block 62 executes processing other than the format conversion processing shown in FIGS. As the storage medium 63, various forms such as a flash memory, a smart media, and a memory stick can be applied.
[0036]
In this embodiment, the content unique key E_CODE_KEY is also stored in the storage medium 63 as a pair with the encrypted data. Also, since the system keys of the compression key P_KEY and the scramble key S_KEY are unique for each system, they are held by the system and kept private. For the access right of the content unique key E_CODE_KEY, a protection mechanism is provided at an application level, and another key for accessing the content unique key E_CODE_KEY is generally separately prepared.
[0037]
【The invention's effect】
As described above, according to the present invention, after the information to be encrypted is format-converted, an error correction code is generated, and some bits of the information after the format conversion are changed to generate the encrypted information. Therefore, the processing time for encryption / decryption can be reduced without using dedicated hardware, and the protection strength can be easily and flexibly changed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a procedure of an encryption method according to an embodiment of the present invention.
FIG. 2 is a diagram showing a procedure for decrypting the encrypted data encrypted by the procedure shown in FIG.
FIG. 3 is a diagram showing a procedure for saving the encrypted data encrypted by the procedure shown in FIG. 1 in a storage medium.
FIG. 4 is a diagram showing a procedure for reading and decoding data stored in a storage medium according to the procedure shown in FIG. 3;
FIG. 5 is a diagram showing a procedure of an encryption method according to another embodiment of the present invention.
FIG. 6 is a diagram showing a configuration of an encryption system according to an embodiment for performing the encryption / decryption method shown in the embodiment of FIGS. 3 and 4;
[Explanation of symbols]
S11 to S14, S21 to S23, S31 to S32, S41 to S42, S51 to S54 Processing steps 31, 63 Storage medium 61 Host controller 62 ECC & encryption / decryption block

Claims (8)

被暗号情報のフォーマットを変換する第1のステップと、
前記第1のステップのフォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する誤り訂正符号を生成する第2のステップと、
前記誤り検出訂正機能の訂正可能範囲内で、前記第1のステップのフォーマット変換で得られた情報の一部ビットを変更し、変更後の情報を暗号化情報とし、該暗号化情報を復号解凍する際の解読情報を、前記第2のステップで生成した誤り訂正符号とする第3のステップと
を有することを特徴とする暗号化方法。
A first step of converting the format of the encrypted information;
A second step of generating an error correction code for detecting and correcting a bit error in the error detection and correction function with respect to the information obtained by the format conversion in the first step;
Within the correctable range of the error detection and correction function, some bits of information obtained by the format conversion in the first step are changed, the changed information is used as encryption information, and the encrypted information is decrypted and decompressed. And a third step in which the decryption information at the time of decryption is used as the error correction code generated in the second step.
前記第1のステップ、第2のステップならびに第3のステップからなる一連の処理を複数回繰り返して実行する
ことを特徴とする請求項1記載の暗号化方法。
2. The encryption method according to claim 1, wherein a series of processes including the first step, the second step, and the third step is repeatedly performed a plurality of times.
前記第1のステップのフォーマット変換は、複数のアルゴリズムの中から択一的に選択されてなる
ことを特徴とする請求項1又は2記載の暗号化方法。
3. The encryption method according to claim 1, wherein the format conversion in the first step is selected from a plurality of algorithms.
前記被暗号情報は、複数のブロックに分割され、分割された複数のブロック毎に独立してフォーマット変換、ならびに一部ビットの変更が実行される
ことを特徴とする請求項1又は2記載の暗号化方法。
3. The cipher according to claim 1, wherein the encrypted information is divided into a plurality of blocks, and format conversion and partial bit change are executed independently for each of the plurality of divided blocks. Method.
前記第1のステップのフォーマット変換は、情報を圧縮する圧縮処理、ビットの配列を変更するスクランブル処理、又は前記圧縮処理とスクランブル処理である
ことを特徴とする請求項1又は2記載の暗号化方法。
3. The encryption method according to claim 1, wherein the format conversion in the first step is a compression process for compressing information, a scramble process for changing a bit arrangement, or the compression process and a scramble process. .
前記第3のステップで変更される一部ビットは、乱数に基づいて決定される
ことを特徴とする請求項1,2又は4記載の暗号化方法。
5. The encryption method according to claim 1, wherein some bits changed in the third step are determined based on random numbers.
システムの制御中枢となり、ソフトウェアにより被暗号情報をフォーマット変換するホストコントローラと、
前記ホストコントローラが実行したフォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する誤り訂正符号を生成し、前記誤り検出訂正機能の訂正可能範囲内で、前記ホストコントローラが実行したフォーマット変換で得られた情報の一部ビットを変更し、変更後の情報を暗号化情報とし、前記誤り訂正符号を解読情報として前記暗号化情報を復号解凍するECC&暗号/復号ブロックと、
前記ホストコントローラの制御の下に、前記ECC&暗号/復号ブロックで得られた暗号化情報を記憶し、記憶された暗号化情報を前記ECC&暗号/復号ブロックに与える記憶メディアと
を有することを特徴とする暗号化システム。
A host controller that becomes the control center of the system and converts the format of the encrypted information by software;
For the information obtained by the format conversion performed by the host controller, an error correction code for detecting and correcting a bit error in an error detection and correction function is generated, and the host controller is controlled within a correctable range of the error detection and correction function. An ECC & encryption / decryption block for changing some bits of the information obtained by the format conversion performed by the above, making the changed information into encryption information, and using the error correction code as decryption information to decrypt and decompress the encryption information; ,
A storage medium for storing the encryption information obtained by the ECC & encryption / decryption block under the control of the host controller, and providing the stored encryption information to the ECC & encryption / decryption block. Encryption system.
被暗号情報のフォーマットを変換し、フォーマット変換で得られた情報に対して、誤り検出訂正機能においてビット誤りを検出訂正する第1の誤り訂正符号を生成し、前記誤り検出訂正機能の訂正可能範囲内で、前記フォーマット変換で得られた情報の一部ビットを変更して得られる暗号化情報と、
前記フォーマット変換で得られた情報に対して生成された第1の誤り訂正符号と、
前記暗号化情報に対して生成された第2の誤り訂正符号と、
前記第1の誤り訂正符号に対して生成された第3の誤り訂正符号とが記憶されることを特徴とする記憶メディア。
A format of the information to be encrypted is converted, and a first error correction code for detecting and correcting a bit error in the error detection and correction function is generated for the information obtained by the format conversion, and a correction range of the error detection and correction function is generated. Within, encryption information obtained by changing some bits of the information obtained by the format conversion,
A first error correction code generated for the information obtained by the format conversion,
A second error correction code generated for the encrypted information;
A storage medium storing a first error correction code and a third error correction code generated for the first error correction code.
JP2002201277A 2002-07-10 2002-07-10 Encryption method, encryption system, and storage medium Withdrawn JP2004048256A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002201277A JP2004048256A (en) 2002-07-10 2002-07-10 Encryption method, encryption system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002201277A JP2004048256A (en) 2002-07-10 2002-07-10 Encryption method, encryption system, and storage medium

Publications (1)

Publication Number Publication Date
JP2004048256A true JP2004048256A (en) 2004-02-12

Family

ID=31707863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002201277A Withdrawn JP2004048256A (en) 2002-07-10 2002-07-10 Encryption method, encryption system, and storage medium

Country Status (1)

Country Link
JP (1) JP2004048256A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096728A (en) * 2005-09-28 2007-04-12 Kyocera Corp Communication apparatus, communication system, and information transmitting method
JP2007122336A (en) * 2005-10-27 2007-05-17 Kddi Corp Method for distributed storage of data, terminal, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096728A (en) * 2005-09-28 2007-04-12 Kyocera Corp Communication apparatus, communication system, and information transmitting method
JP2007122336A (en) * 2005-10-27 2007-05-17 Kddi Corp Method for distributed storage of data, terminal, and program

Similar Documents

Publication Publication Date Title
US10560258B2 (en) Architecture and instruction set for implementing advanced encryption standard (AES)
US8799679B2 (en) Message authentication code pre-computation with applications to secure memory
US5479512A (en) Method and apparatus for performing concryption
JP4146934B2 (en) Encryption apparatus and encryption method
US20090125726A1 (en) Method and Apparatus of Providing the Security and Error Correction Capability for Memory Storage Devices
US20030084308A1 (en) Memory encryption
US8428251B2 (en) System and method for stream/block cipher with internal random states
US20110314301A1 (en) Systems and methods for hardware key encryption
US10050645B2 (en) Joint encryption and error correction encoding
WO2019031026A1 (en) Encryption device, encryption method, decryption device, and decryption method
US8677123B1 (en) Method for accelerating security and management operations on data segments
KR101687492B1 (en) Storing method of data dispersively and credential processing unit
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
JP2004048256A (en) Encryption method, encryption system, and storage medium
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
US20220179567A1 (en) Memory system and method of managing encryption key
US7707431B2 (en) Device of applying protection bit codes to encrypt a program for protection
US20060177054A1 (en) Data processing apparatus, data recording apparatus, data playback apparatus, and data storage method
JP4791971B2 (en) Data reproduction method and data processing apparatus
JPH0744375A (en) Ciphered data processor
CN117648719A (en) Data security method and system
GB2419261A (en) Device and method of applying a parity to encrypt data for protection

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004