(57)【要約】【課題】暗文を復号せずに部分的に更新する技術において、暗号化や複合化の際に使用するメモリの使用効率を向上できる技術を提供すること。【解決手段】暗号復号装置３のフラッシュメモリ１３は、第１領域と第２領域とを有する。第１領域では、暗文を保持する。また、第２領域では、書換データと書換データの直後の直後データとを復号化するための復号用情報ＣＩ１、ＣＩ２を保持する。このような構成により、第１領域に保持された書換データを復号する場合には、第２領域に保持された、書換データを復号化するための復号用情報を用いて、書換データの復号を行うことができる。また、第１領域に保持された直後データを復号する場合には、第２領域に保持された、直後データを復号化するための復号用情報を用いて、直後データの復号を行うことができる。【選択図】図８
2020187184.tif 000002
【特許請求の範囲】
【請求項１】
平文の暗号化と暗文の復号化とが可能な暗号復号処理部（２５）と、
少なくとも前記暗文を保持するように構成された記憶部（１３）と、
を備え、
前記暗号復号処理部は、
前記平文を、暗号化に必要な入力情報を用いてブロック単位で連鎖的に暗号化するように構成された暗号部（２７）と、
前記暗文を、復号化に必要な入力情報を用いてブロック単位で連鎖的に復号化するように構成された復号部（２９）と、
前記暗文の一部を他の暗文である書換データによって書き換えるように構成された書換部（３１）と、
を有し、
前記記憶部は、
前記書換データによる書換後の前記暗文を保持するように構成された第１領域（Ｄ１）と、
前記書換データを復号化するための復号用情報と、前記書換データの復号化に続いて復号化する暗文を示す直後データがある場合に当該直後データを復号化するための復号用情報と、を保持するように構成された第２領域（Ｄ２）と、
を有している、
暗号復号装置。
【請求項２】
請求項１に記載の暗号復号装置であって、
前記書換データの復号用情報は、前記第１領域に保持されている前記暗文において前記書換データが保持されている位置を示す位置情報と、前記位置情報に対応して設定された前記復号化に必要な入力情報と、であり、
前記直後データの復号用情報は、前記第１領域に保持されている前記暗文において前記直後データが保持されている位置を示す位置情報と、前記位置情報に対応して設定された前記復号化に必要な入力情報と、である、
暗号復号装置。
【請求項３】
請求項２に記載の暗号復号装置であって、
前記復号用情報は、前記復号化する順番に従って配置されている、
暗号復号装置。
【請求項４】
請求項１から３のいずれか１項に記載の暗号復号装置であって、
前記第１領域に保持されている前記暗文の一部を書き換える際に、前記第２領域に前記復号用情報を保持するように構成された（Ｓ１１０）、
暗号復号装置。
【請求項５】
請求項１から４のいずれか１項に記載の暗号復号装置であって、
前記第１領域に保持されている前記書換データを含む前記暗文を復号する際に、前記第２領域に記憶されている前記復号用情報を用いて前記復号を行うように構成されている（Ｓ３１０、Ｓ３２０、Ｓ３３０）、
暗号復号装置。
【請求項６】
請求項１から５のいずれか１項に記載の暗号復号装置であって、
前記第１領域に保持されている前記暗文の一部を書き換える場合に、当該書き換えの対象となる前記暗文の領域が、既に書き換えられた領域と重複するときには、第２領域に保持されている前回の前記復号用情報を、今回の前記復号用情報によって上書きするように構成されている、
暗号復号装置。
【請求項７】
請求項１から６のいずれか１項に記載の暗号復号装置であって、
前記第１領域に保持されている前記暗文の一部を書き換える前に、前記第２領域に新たに前記復号用情報を書き込むことができる残りの領域があるか否かを判定するように構成されている（Ｓ１２０）、
暗号復号装置。
【請求項８】
請求項７に記載の暗号復号装置であって、
前記第２領域に前記残りの領域がない場合には、外部から前記第１領域の全領域分を書き換える送信データを受信する処理と、前記第２領域をリセットする処理と、を実施した後に、前記第１領域の全領域を前記送信データによって書き換えるように構成されている（Ｓ１５０、Ｓ１６０）、
暗号復号装置。
【請求項９】
請求項７に記載の暗号復号装置であって、
前記第２領域に前記残りの領域がない場合には、前記第２領域に保持されている前記復号用情報を用いて、前記第１領域の全領域分の前記暗文を復号した後に、当該復号したデータを再度暗号化し、前記第２領域をリセットした後に、前記第１領域の前記再度暗号化した暗文に対して部分的な書き換えを実施するように構成されている（Ｓ４５０、Ｓ４６０、Ｓ４７０）、
暗号復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、暗号化および復号化が可能な暗号復号装置に関する。
【背景技術】
【０００２】
従来、平文の暗号化および暗文（即ち、暗号文）の復号化の技術として、例えば、ＡＥＳーＣＢＣの技術が知られている。
このＡＥＳは、例えば固定長の１２８ビットのデータを１ブロックとし、共通鍵を用いて、ブロック単位で暗号化処理および復号化処理を行うブロック暗号方式である。なお、ＡＥＳとは、Advanced Encryption Standardの略である。
【０００３】
また、ＣＢＣは、ブロック暗号方式の操作モードである暗号文ブロック連鎖方式を示している。このＣＢＣでは、ブロック単位で暗号化や復号化を行う際に、暗号化や復号化を行うブロックの直前の所定のデータ等を用いて、連鎖的に暗号化や復号化を行うものである。なお、ＣＢＣとは、Cipher Block Chainingの略である。
【０００４】
さらに、近年では、このＡＥＳ−ＣＢＣを用いた技術として、暗文を部分的に書き換える技術が知られている。この技術とは、特許文献１に記載のように、チェーンでつながった暗文を、復号せずに部分的に更新するとともに、正しく復号しようとする技術である。
【０００５】
詳しくは、この技術とは、暗号時に暗文に一定間隔で未使用ブロックを挿入し、復号時に未使用ブロックを除去することでチェーンを切り離し、暗文を部分的に更新し正しく復号しようとする技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１６７２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した従来技術では、予め更新領域を想定して暗号データ領域、即ち暗文を記憶するメモリの記憶領域を、いくつかのブロックに分割しておく必要がある。つまり、予め各ブロック間にデータの未使用領域を挿入して、各ブロックを分割する必要がある。
【０００８】
そのため、更新箇所が更新の対象となるブロックに対して小さい場合でも、ブロック全体を書き換える必要があり、本来更新不要な箇所も書き換えなければならないという問題がある。
【０００９】
この対策として、予め分割するブロックを小さくする方法が考えられる。しかし、このようにブロックを小さく分割すると、ブロックを分割するためのメモリの未使用領域が増えるため、メモリ効率が悪くなるという問題がある。
【００１０】
本開示の一つの局面は、暗文を復号せずに部分的に更新する技術において、暗号化や複合化の際に使用するメモリの使用効率（即ち、メモリ効率）を向上できる技術を提供することにある。
【課題を解決するための手段】
【００１１】
本開示の一態様は、平文の暗号化と暗文の復号化とが可能な暗号復号処理部（２５）と、少なくとも暗文を保持するように構成された記憶部（１３）と、を備えている。
このうち、暗号復号処理部は、暗号部（２７）と復号部（２９）と書換部（３１）とを備えている。
【００１２】
暗号部は、平文を、暗号化に必要な入力情報を用いてブロック単位で連鎖的に暗号化する。
復号部は、暗文を、復号化に必要な入力情報を用いてブロック単位で連鎖的に復号化する。
【００１３】
書換部は、暗文の一部を他の暗文である書換データによって書き換える。
また、記憶部は、第１領域（Ｄ１）と第２領域（Ｄ２）とを有する。
第１領域では、書換データによる書換後の暗文を保持する。
【００１４】
第２領域では、書換データを復号化するための復号用情報を保持する。さらに、書換データの復号化に続いて復号化する暗文を示す直後データがある場合には、その直後データを復号化するための復号用情報を保持する。
【００１５】
このような構成により、第１領域に保持された書換データを復号する場合には、第２領域に保持された、書換データを復号化するための復号用情報を用いて、書換データの復号を行うことができる。また、第１領域に保持された直後データを復号する場合には、第２領域に保持された、直後データを復号化するための復号用情報を用いて、直後データの復号を行うことができる。
【００１６】
なお、第１領域において、書換データの直後に直後データが無い場合には、第２領域に、直後データを復号化するための復号用情報を保持しなくともよい。
そのため、従来のように、暗文の一部を書換データで書き換える（即ち、更新する）場合に、予め暗号データ領域に未使用領域を挿入してブロックを分割する必要がない。しかも、更新の対象となるブロックを小さくする必要がないので、ブロックを分割するためのメモリの未使用領域を過度に増やす必要がない。
【００１７】
よって、書換データを書き換える領域を更新箇所に限定することが可能であり、しかも、暗号化や複合化に使用するメモリの使用効率（即ち、メモリ効率）が向上するという効果がある。
【００１８】
つまり、本開示の一態様は、上述した構成によって、暗文を復号せずに部分的に更新する技術において、暗号化や復号化の際に使用するメモリの使用効率を向上できるという顕著な効果を奏する。
【００１９】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態における暗号復号システムを示すブロック図。
【図２】第１実施形態の暗号復号処理部の構成を示すブロック図。
【図３】ＡＥＳ−ＣＢＣ暗号化アルゴリズムを示す説明図。
【図４】ＡＥＳ−ＣＢＣ復号化アルゴリズムを示す説明図。
【図５】外部装置から送信される送信データを示す説明図。
【図６】フラッシュメモリにおける記憶領域の構成を示す説明図。
【図７】第１実施形態にて第１領域に対して設定される各書換対象領域の位置等を示す説明図。
【図８】第１実施形態にて１回目の書き換えを実施する際に第２領域に保持される復号用情報等を示す説明図。
【図９】復号用情報の構成を示す説明図。
【図１０】第１実施形態にて２回目の書き換えを実施する際に第２領域に保持される復号用情報等を示す説明図。
【図１１】第１実施形態の書き換え処理を示すフローチャート。
【図１２】第１実施形態の部分書き換え判定処理を示すフローチャート。
【図１３】第２領域が枯渇している状態を例示する説明図。
【図１４】第１実施形態の復号処理を示すフローチャート。
【図１５】第２実施形態にて第１領域に対して設定される各書換対象領域の位置等を示す説明図。
【図１６】第２実施形態にて１回目の書き換えを実施する際に第２領域に保持される復号用情報等を示す説明図。
【図１７】第２実施形態にて２回目の書き換えを実施する際に第２領域に保持される復号用情報等を示す説明図。
【図１８】第３実施形態の書き換え処理を示すフローチャート。
【発明を実施するための形態】
【００２１】
以下に、本開示の実施形態を、図面を参照しながら説明する。
［１．第１実施形態］
［１−１．全体構成］
まず、本第１実施形態の暗号復号装置を備えた全体のシステム（即ち、暗号復号システム）について説明する。
【００２２】
図１に示すように、本第１実施形態における暗号復号システム１は、暗号復号装置３と、暗号復号装置３に電気的に接続される外部装置５と、を備えている。
暗号複合装置３は、平文データ（即ち、平文）の暗号化と、暗号データ（即ち、暗文）の復号化と、が可能な電子制御装置である。
【００２３】
また、この暗号複合装置３は、暗文の一部を、暗文の状態の書換データによって書き換え可能な装置である。
一方、外部装置５は、暗文の一部を書換データによって書き換える際に、その書換データを、例えばケーブル等の通信線７を介して、暗号復号装置３に送信が可能な電子制御装置（例えば、パソコン）である。
【００２４】
なお、この外部装置５は、書換データ以外に、例えば暗号復号装置３からの要求によって、例えば暗文の全体を、暗号復号装置３に送信することも可能である。
［１−２．暗号復号装置］
次に、暗号復号装置３について詳細に説明する。
【００２５】
図１に示すように、暗号復号装置３は、暗号化や復号化等の処理を行うマイコン１１と、マイコン１１の外部メモリ（即ち、記憶部）であるフラッシュメモリ１３と、マイコン１１とフラッシュメモリ１３とを接続する通信線（即ち、通信バス）１５と、を備えている。
ている。
【００２６】
マイコン１１は、ＣＰＵ１７、ＲＯＭ１９、ＲＡＭ２１、データフラッシュ２３等を備えた周知のマイクロコンピュータである。
＜暗号復号処理部＞
図２に示すように、マイコン１１は、ＣＰＵ１７がプログラムを実行することで実現される機能的な構成として、暗号復号処理部２５を有しており、この暗号復号処理部２５は、暗号部２７と復号部２９と書換部３１とを有している。
【００２７】
暗号復号処理部２５は、例えばＡＥＳ−ＣＢＣアルゴリズムを用いて、平文の暗号化と暗文の復号化とを行うことができる。
暗号部２７では、平文を、暗号化に必要な入力情報を用いてブロック単位で連鎖的に暗号化する。
【００２８】
ここで、ＡＥＳ−ＣＢＣ暗号化アルゴリズムについて簡単に説明する。
図３に示すように、ＡＥＳ−ＣＢＣ暗号化アルゴリズムでは、周知のように、暗号化対象の平文のブロックを暗号化する場合には、入力情報として、前記暗号化対象の平文のブロックの直前の暗号化されたブロック（即ち、暗文のブロック）を用いる。つまり、前記平文のブロックと前記暗文のブロックとの排他的論理和を求める。
【００２９】
さらに、その排他的論理和に対して、共通鍵（即ち、Ｋｅｙ）を用いて暗号化の処理を行う。そして、このような暗号化によって暗文を得る処理を、各暗号化対象のブロック毎に、各ブロックが配列される順番にしたがって、チェーンのように（即ち、連鎖的に）順次実施する。
【００３０】
なお、図３及び後述する図４では、各ブロックの平文をＰｌａｉｎｔｅｘｔ、各ブロックの暗文をＣｉｐｈｅｒｔｅｘｔ、暗号化をｅｎｃｒｙｐｔｉｏｎで示している。
ここで、最初の平文のブロックには、直前の暗文のブロックがないので、最初の平文のブロックの入力情報として、初期化ベクトルであるＩＶを用いる。なお、ＩＶは、Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  Ｖｅｃｔｏｒの略である。
【００３１】
復号部２９では、暗文を、復号化に必要な入力情報を用いてブロック単位で連鎖的に復号化する。
ここで、ＡＥＳ−ＣＢＣ復号化アルゴリズムについて簡単に説明する。
【００３２】
図４に示すように、ＡＥＳ−ＣＢＣ復号化アルゴリズムでは、周知のように、復号化対象の暗文のブロックを復号化する場合には、その暗文のブロックを共通鍵を用いて復号化する処理を行う。
【００３３】
そして、入力情報として、前記復号化対象の暗文のブロックの直前の暗文のブロックを用い、前記復号化の処理を行ったブロックとの排他的論理和をとることにより、平文のブロックを得る。そして、このような復号化によって平文を得る処理を、各復号化対象のブロック毎に、各ブロックが配列される順番にしたがって、チェーンのように（即ち、連鎖的に）順次実施する。
【００３４】
なお、図４では、復号化をｄｅｃｒｙｐｔｉｏｎで示している。
ここでは、最初の暗文のブロックには、直前の暗文のブロックがないので、最初の暗文のブロックの入力情報として、初期化ベクトルであるＩＶを用いる。
【００３５】
また、以下では、各ブロックの暗号化および複合化に用いる各入力情報、詳しくは排他的論理和を求める際の各入力情報を、初期化ベクトルであるＩＶを用いて総称することがある。
【００３６】
ここで、ブロックとは、暗号化対象となる平文の単位、または、復号化対象の暗文の単位を示している。なお、各ブロックサイズは、例えば１２８バイトであるので、ＩＶのサイズも１２８バイトであるが、他のブロックサイズを採用することも可能である。
【００３７】
書換部３１では、暗文の一部を他の暗文である書換データによって書き換える。
ここで、外部装置５から送信される書換データを含む送信データ、即ち、書換データと当該書換データの書き換えに必要なデータとを含む送信データの構成例について説明する。
【００３８】
図５に示すように、送信データは、ＯＡ、ＣＴ、ＩＶ、ＤＳを有している。
ＯＡは、暗号化された書換データの書換開始位置を示す位置データである。つまり、後述するフラッシュメモリ１３の第１領域において、書換データの書き換えを開始する位置を示すデータであるアドレス（即ち、オフセットアドレス）である。なお、ＯＡは、Ｏｆｆｓｅｔ  Ａｄｄｒｅｓｓの略である。
【００３９】
ＣＴは、暗号化された書換データ自体を示している。なお、ＣＴは、Ｃｉｐｈｅｒ  Ｔｅｘｔの略である。
ＩＶは、上述した初期化ベクトルを示している。つまり、書換データを復号する際に、排他的論理和を求めるために使用する入力情報である。
【００４０】
ＤＳは、書換データのデータの大きさ（即ち、データサイズ）を示している。なお、ＤＳは、Ｄａｔａ  Ｓｉｚｅの略である。
＜フラッシュメモリ＞
次に、フラッシュメモリ１３について説明する。
【００４１】
図６に示すように、フラッシュメモリ１３は、各種のデータを保持する（即ち、記憶する）記憶領域（即ち、ＫＲ）を有しており、この記憶領域は、第１領域（即ち、Ｄ１）と第２領域（即ち、Ｄ２）とを有している。
【００４２】
第１領域は、暗号化されたデータである暗文を保持する領域である。なお、この暗文に、暗号化されたデータである書換データが含まれる場合には、第１領域には、書換データを含む暗文が保持される。
【００４３】
第２領域は、第１領域に保持された暗文、即ち書換データを含む暗文を復号化する際に用いられる復号用情報を保持する領域である。この第２領域には、後に詳述するように、書換データを復号化する際に用いられる復号用情報、即ち書換データの復号用の復号用情報が保持されている。また、書換データの直後の暗文のブロック（即ち、直後データ）を復号化する際に用いられる復号用情報、即ち直後データの復号用の復号用情報も保持されている。
【００４４】
なお、フラッシュメモリ１３の第１領域と第２領域とにおいては、データを保持する位置はアドレス（例えば、オフセットアドレス）によって規定されており、データを保持する順番は、予め設定されたアドレスの順番に従って定まっている。
【００４５】
［１−３．書換動作］
次に、本第１実施形態にて実施される処理の要部、すなわち、フラッシュメモリ１３の第１領域に書換データを書き込む際の手順について説明する。
【００４６】
ここでは、第１領域に対して、複数回（例えば２回）書き込みを実施する場合を例に挙げて説明する。なお、書き込みを実施する領域は、重ならないとする。
＜１回目の書き換えの際の動作＞
まず、１回目の書換データの書き換えの際の動作について説明する。
【００４７】
図７に示すように、暗文が保持されている第１領域に対して１回目の書換データを書き込む領域、即ち１回目の書換対象領域が設定されている。なお、この１回目の書換対象領域とは、図７において、斜めの実線で示される領域である。
【００４８】
また、図７には、２回目の書換対象領域も記載されているが、図７から明らかなように、１回目の書換対象領域とは重なっていない。なお、この２回目の書換対象領域とは、図７において、斜めの破線で示される領域である。
【００４９】
そして、前記図５に示すような送信データが、外部装置５から受信された場合には、送信データに基づいて、図８に示すように、復号用情報としてＣＩ１、ＣＩ２を第２領域に書き込んで保持する。
【００５０】
この復号用情報のうち、ＣＩ１が書換データの復号用の復号用情報に該当し、ＣＩ２が直後データの復号用の復号用情報に該当する。なお、直後データとは、第１領域において、１回目の書換対象領域（従って、書換後領域）に引き続いて、１回目の書換対象領域の直後の領域に保持されている暗文のブロックである。この直後データの先頭のオフセットアドレスは、１回目の書換対象領域内の最後のオフセットアドレスの次のオフセットアドレスである。
【００５１】
ここで、復号用情報とは、図９に示すように、あるＯＡとそのＯＡに対応したＩＶとを一対のデータ（即ち、１組のセットの情報）として保持したものである。図９では、このセットの情報を、Ｃｈａｉｎ  Ｉｎｆｏ（即ち  ＣＩ）で示している。なお、ＣＩの順番は、＃１、＃２等の番号で示されるが、図８では簡易的に、ＣＩ１、ＣＩ２で表示している。
【００５２】
なお、前記ＣＩは各ＯＡ毎に設定されるので、ＣＩが複数ある場合には、ＯＡの順番に従って、複数のＣＩが順次配列されている。つまり、複数のＣＩからなる全体のデータ構造は、ＯＡの順番にＣＩが配列されたリスト構造となっている。
【００５３】
次に、復号用情報ＣＩ１、ＣＩ２の構成と、復号用情報ＣＩ１、ＣＩ２を第２領域に保持する方法について詳しく説明する。
図８に示すように、まず、第１領域の１回目の書換対象領域に、１回目の書換データを書き込む。なお、図８では、１回目の書換データが書き換えられた領域（即ち、１回目の書換後領域）を示している。
【００５４】
詳しくは、１回目の書換データを含む１回目の送信データには、第１領域における１回目の書換データを書き込む位置（即ち、ＯＡ１）が含まれているので、第１領域に対して、このＯＡ１から所定のデータサイズ分だけ書換データを書き込む。
【００５５】
そして、この１回目の書換データの書き換えの際に、ＯＡ１に対応したＣＩ１を第２領域に保持する。つまり、１回目の送信データには、ＯＡ１と、書き換えデータを復号化する際に必要な１回目の初期ベクトルであるＩＶ１と、が含まれているので、このＯＡ１とＩＶ１とを、書換データの復号用情報ＣＩ１として第２領域に保持する。
【００５６】
なお、図８では、便宜的にＩＶ１が１回目の書換後領域の直前に記載されているが、実際には、ＩＶ１は１回目の送信データに含まれているものである。
なお、ＣＩ１、ＣＩ２等は、書き換える順番に従って、一定のデータの並び順に沿って、即ちアドレス（例えば、オフセットアドレス）順に従って、順番に配列されている。
【００５７】
また、復号用情報ＣＩ２は、書換データの次の暗文のブロック（即ち、直後データ）を復号化するために用いられるものである。
このＣＩ２には、直後データの先頭のオフセットアドレスであるＯＡ２と、その直後データを復号化するための初期化ベクトルであるＩＶ２が含まれている。
【００５８】
このＩＶ２とは、書換データに書き換える前の暗文のブロック、詳しくは、１回目の書換対象領域における最後のブロックの暗文データである。
＜２回目の書き換えの際の動作＞
次に、２回目の書換データの書き換えの際の動作について説明する。
【００５９】
２回目の書換データの書き換えは、外部装置５から受信した２回目の送信データを用いて、図７に示す２回目の書換対象領域に対して実施される。なお、２回目の送信データの構成は、図５に示す送信データと同様な構成である。
【００６０】
この２回目の送信データには、書換開始位置を示すオフセットアドレスであるＯＡ３と、２回目の書換データを復号する際に用いる初期化ベクトルＩＶ３と、が含まれている。
次に、復号用情報ＣＩ３、ＣＩ４を第２領域に保持する方法について、詳しく説明する。
【００６１】
図１０に示すように、第２領域の２回目の書換対象領域に、２回目の書換データを書き込む。なお、図１０では、２回目の書換データが書き換えられた領域（即ち、２回目の書換後領域）を示している。
【００６２】
詳しくは、２回目の書換データを含む２回目の送信データには、第１領域における２回目の書換データを書き込む位置（即ち、ＯＡ３）が含まれているので、第２領域に対して、このＯＡ３から所定のデータサイズ分だけ書換データを書き込む。
【００６３】
なお、図１０では、便宜的にＩＶ３が２回目の書換後領域の直前に記載されているが、実際には、ＩＶ３は２回目の送信データに含まれているものである。
そして、この２回目の書換データの書き換えの際に、ＯＡ３に対応したＣＩ３を第２領域に保持する。つまり、２回目の送信データには、ＯＡ３と、書換データを復号化する際に必要な２回目の初期ベクトルであるＩＶ３と、が含まれているので、このＯＡ３とＩＶ３とを、復号用情報ＣＩ３として第２領域に書き込んで保持する。なお、復号用情報ＣＩ３は、アドレス順に、復号用情報ＣＩ２の後に書き込まれる。
【００６４】
そして、復号用情報ＣＩ３を第２領域に保持した後に、復号用情報ＣＩ４も第２領域に保持する。詳しくは、復号用情報ＣＩ３の後の位置に、復号用情報ＣＩ４を保持する。
この復号用情報ＣＩ４は、書換データの次の暗文のブロック（即ち、直後データ）を復号化するために用いられるものである。
【００６５】
この復号用情報ＣＩ４には、直後データの先頭のオフセットアドレスであるＯＡ４と、直後データを復号化するための初期化ベクトルであるＩＶ４が含まれている。
このＩＶ４とは、書換データに書き換える前の暗文のブロック、詳しくは、２回目の書換対象領域内における最後のブロックの暗文データである。
【００６６】
従って、上述した処理によって、１回目の書換データを復号化するための復号用情報Ｃ１、１回目の書換データの直後の直後データを復号化するための復号用情報Ｃ２、２回目の書換データを復号化するための復号用情報Ｃ３、２回目の書換データの直後の直後データを復号化するための復号用情報Ｃ４が、データの書き込みの順番に従って、順次第２領域に保持される。
【００６７】
［１−４．マイコンの処理］
次に、マイコン１１にて実施される処理について説明する
＜書き換え処理＞
まず、第１領域に保持された暗文を書換データを用いて書き換える際の処理（即ち、書き換え処理）について、図１１のフローチャートに基づいて説明する。
【００６８】
なお、１回目の書き換えの際の処理と、２回目の書き換えの際の処理とは、基本的な処理は同様であるので、ここでは、１回目の書き換えの際のＣＩ等の記号を用いて説明する。
図１１に示すように、ステップ（以下、Ｓ）１００では、外部装置５から送信された書換データと、第１領域に保持されている暗文とから、書換データや書換データの直後の暗号ブロック（即ち、直後データ）を復号化する際に必要な、ＯＡ１、ＩＶ１、ＯＡ２、ＩＶ２を取得する。
【００６９】
なお、上述したように、ＯＡ１、ＩＶ１は受信した送信データに含まれるデータである。また、ＯＡ２は直後データから分かる情報、即ち直後データの先頭のオフセットアドレスであり、ＩＶ２は直後データの直前の領域、即ち１回目の書換対象領域内の最後のブロックにおける書き換え前のブロックの暗号データである。
【００７０】
続くＳ１１０では、書換データの復号用情報ＣＩ１としてＯＡ１、ＩＶ１を保持し、直後データの復号用情報ＣＩ２としてＯＡ２、ＩＶ２を保持する。
続くＳ１２０では、後に詳述するように、部分書き換えの可否の判断を行うための処理を行う。つまり、第１領域に保持されている暗文に対して、その一部を書換データで書き換えることが可能か否かを判定するための部分書き換え判定処理を実施する。
【００７１】
続くＳ１３０では、前記Ｓ１２０での部分書き換え判定処理の結果に基づいて、例えば、判定結果に応じて設定されるフラグ等に基づいて、部分書き換えが可能か否かを判定する。ここで肯定判断されるとＳ１４０に進み、一方否定判断されるとＳ１５０に進み。
【００７２】
Ｓ１４０では、部分書き換えが可能であるので、書換データを用いて、第１領域の暗文において所定の書換対象位置（例えば、１回目の書込対象位置）に対して、書き換えを実施して、一旦本処理を終了する。
【００７３】
一方、Ｓ１５０では、部分書き換えができない状態であるので、第２領域をリセットする。つまり、第２領域に保持されている復号用情報を消去する。
続くＳ１６０では、第１領域の全領域を更新し、一旦本処理を終了する。つまり、書換データを用いて第１領域の一部を書き換えるのではなく、現時点における最新の暗文、即ち書き換える内容を含む全ての暗文を、外部装置５等に要求することによって取得し、その最新の暗文を用いて、第１領域の全暗文を更新する。
【００７４】
なお、２回目の書き換えの際の処理では、２回目の書換データに応じて、１回目の書き換えと同様に、それぞれ復号用情報ＣＩ３、ＣＩ４が設定されるので、２回目の書き換えの際の処理の説明は省略する。
【００７５】
＜部分書き換え判定処理＞
次に、前記Ｓ１２０にて実施される部分書き換え判定処理について、図１２のフローチャート等に基づいて説明する。
【００７６】
図１２に示すように、Ｓ２００では、第２領域に保持された復号用情報のサーチを開始する。つまり、後述するＳ２１０の判定等の処理を、各復号用情報ＣＩ＃Ｎの配置の順番、従ってアドレスの順番に従って実施するので、そのために、復号用情報を順次検索する処理を開始する。なお、ＣＩ＃Ｎとは、ＣＩ１、ＣＩ２・・等の総称であり、Ｎは整数である。
【００７７】
続くＳ２１０では、今回の書換対象範囲に復号用情報ＣＩ＃Ｎが存在するか否かを判定する。ここで肯定判断されるとＳ２７０に進み、一方否定判断されるとＳ２２０に進む。
この判定は、例えば後述する第２実施形態に記載のように、今回の書換対象範囲が、過去の書換対象範囲（従って、過去の書換後範囲）と重なっているか否かを判定するための処理である。
【００７８】
つまり、今回の書換対象範囲に、過去の書き換えの際に保持した復号用情報が存在するか否か、言い換えれば、今回の書換対象範囲に、過去の書き換えの際に保持した復号用情報によって示される範囲が重複するか否かを判定する処理である。
【００７９】
Ｓ２７０では、今回の書換対象範囲に存在する復号用情報ＣＩ＃Ｎを削除し、Ｓ２５０に進む。
一方、Ｓ２２０では、第２領域が枯渇しているか否か、つまり、第２領域に追加の復号用情報を書き込む余地（即ち、残りの領域）があるか否かを判定する。ここで肯定判断されるとＳ２３０に進み、一方否定判断されるとＳ２６０に進む。
【００８０】
例えば図１３に示すように、第２領域に、ＣＩ１、ＣＩ２・・ＣＩｎ−１、ＣＩｎのように復号用情報が保持されており、新たに復号用情報を書き込む余地がない場合には、第２領域が枯渇したと判定する。なお、ｎは整数である。
【００８１】
この図１３では、第２領域の状態や、追加の書換データを書き込む追加の書換対象領域等を示している。なお、この追加の書換データに対応した追加の復号用情報ＣＩｎ+１、ＣＩｎ+２は、第２領域が枯渇している場合には書き込まれないが、枯渇していない場合には、ＣＩｎ+１には、ＯＡｎ+１、ＩＶｎ+１が保持され、ＣＩｎ+２には、ＯＡｎ+２、ＩＶｎ+２が保持される。
【００８２】
Ｓ２６０では、第２領域が枯渇しているので、部分書き換えができないと判断して、例えばそのことを示すフラグを設定して、一旦本処理を終了する。
一方、Ｓ２３０では、第２領域が枯渇していないので、部分書き換えができると判断して、例えばそのことを示すフラグを設定し、第２領域に復号用情報を書き込む処理を実施する。
【００８３】
詳しくは、今回追加する復号用情報を、例えばＣＩtemp1、ＣＩtemp2とした場合、第２領域に、ＣＩtemp1、ＣＩtemp2をソートして追加する。つまり、第２領域には、アドレスの順番に従って各復号用情報を保持しているので、ＣＩtemp1、ＣＩtemp2のアドレスに応じて、適切な位置にＣＩtemp1、ＣＩtemp2を書き込む。なお、ＣＩtemp1は書換データを復号するための復号用情報であり、ＣＩtemp2は書換えデータの直後の直後データを復号するための復号用情報である。
【００８４】
続くＳ２４０では、Ｎに１を加算する。
続くＳ２５０では、サーチが完了したか否かを判定する。なお、サーチが完了した否かは、第２領域において最後に配置された復号用情報に達したか否かによって判断することができる。ここで肯定判断されると一旦本処理を終了し、一方否定判断されるとＳ２１０に戻る。
【００８５】
＜復号処理＞
次に、第１領域に保持された書換データを含む暗文の復号化を行う処理について、図１４のフローチャートに基づいて説明する。
【００８６】
図１４に示すように、Ｓ３００では、第２領域に保持されている復号用情報ＣＩ＃Ｎのサーチを開始する。
続くＳ３１０では、復号で使用する、あるブロックの暗文ＣｎのＯＡと、復号用情報ＣＩ＃ＮのＯＡと、が一致するか否かを判定する。ここで肯定判断されるとＳ３２０に進み、一方否定判断されるとＳ３３０に進む。
【００８７】
なお、復号に使用するブロックの暗文Ｃｎとは、初期化ベクトルに対応する暗文Ｃｎであり、例えばあるブロックの暗文Ｃｎを復号化する場合には、その直前のブロックの暗文Ｃｎ−１が初期化ベクトルとして用いられる。
【００８８】
Ｓ３２０では、復号で使用する暗文ＣｎをＣＩ＃ＮのＩＶで更新する。
つまり、前記図４に示すように、あるブロックの暗文Ｃｎを復号する場合には、直前のブロックの暗文Ｃｎ−１の情報が必要であるが、書き換えによって、例えば図４に示す切断位置で暗文が切断されている場合には、直前のブロックの暗文が使用できない。そのため、直前のブロックの暗文に代わりにＣＩ＃ＮのＩＶを採用する。
【００８９】
続くＳ３３０では、復号の対象の暗文の復号処理を実施する。
例えば、前記Ｓ３２０にて、復号で使用するブロックの暗文ＣｎがＣＩ＃ＮのＩＶで更新された場合には、更新されたブロックの暗文を用いて、暗文である例えば書換データの復号を行う。
【００９０】
一方、Ｓ３１０で、復号で使用するブロックの暗文ＣｎのＯＡと復号用情報ＣＩ＃ＮのＯＡとが一致しないと判定された場合には、復号に使用するブロックの暗文Ｃｎの更新が不要であるので、通常と同様に、復号対象のブロックの暗文に対して、復号用情報として、直前のブロックの暗文を用いて復号を行う。
【００９１】
続くＳ３４０では、Ｎに１を加算する。
続くＳ３５０では、サーチが完了したか否かを判定する。ここで肯定判断されると一旦本処理を終了し、一方否定判断されるとＳ３１０に戻る。
【００９２】
［１−５．効果］
（１ａ）本第１実施形態では、フラッシュメモリ１３は、第１領域と第２領域とを有する。第１領域では、暗文を保持する。また、第２領域では、書換データと書換データの直後の直後データとを復号化するための復号用情報ＣＩ１、ＣＩ２を保持する。
【００９３】
このような構成により、第１領域に保持された書換データを復号する場合には、第２領域に保持された、書換データを復号化するための復号用情報を用いて、書換データの復号を行うことができる。また、第１領域に保持された直後データを復号する場合には、第２領域に保持された、直後データを復号化するための復号用情報を用いて、直後データの復号を行うことができる。
【００９４】
そのため、従来のように、暗文の一部を書換データで書き換える（即ち、更新する）場合に、予め暗号データ領域に未使用領域を挿入してブロックを分割する必要がない。しかも、更新の対象となるブロックを小さくする必要がないので、ブロックを分割するためのメモリの未使用領域を増やす必要がない。
【００９５】
よって、書換データを書き換える領域を更新箇所に限定することが可能であり、しかも、暗号化や複合化に使用するフラッシュメモリ１３の使用効率（即ち、メモリ効率）が向上するという効果がある。
【００９６】
つまり、本第１実施形態は、上述した構成によって、暗文を復号せずに部分的に更新する技術において、暗号化や復号化の際に使用するフラッシュメモリ１３の使用効率を向上できるという顕著な効果を奏する。
【００９７】
なお、従来技術では、暗号化や複合化のプログラムとデータ構造とを一致させる必要があるが、本第２実施形態では、そのような対応が不要であるという利点がある。
（１ｂ）本第１実施形態では、書換データの復号用情報として、第１領域に保持されている暗文において書換データが保持されている位置を示す位置情報（例えば、オフセットアドレスＯＡ１）と、その位置情報に対応して設定された復号化に必要な入力情報（例えば、初期化ベクトルＩＶ１）と、を採用できる。
【００９８】
また、直後データの復号用情報として、第１領域に保持されている暗文において直後データが保持されている位置を示す位置情報（例えば、オフセットアドレスＯＡ２）と、その位置情報に対応して設定された復号化に必要な入力情報（例えば、初期化ベクトルＩＶ２）と、を採用できる。
【００９９】
従って、これらの復号用情報を用いて、書換データや直後データを容易に復号化することができる。
（１ｂ）本第１実施形態では、各復号用情報は復号化する順番に従って配置されており、第２領域の各復号用情報は全体としてリスト構造を有している。
【０１００】
従って、書換データを含む書き換え後の全体の暗文を復号化する際には、復号化に必要なデータ（即ち、復号用情報）の参照を、高速に実施することができる。
（１ｃ）本第１実施形態では、第１領域に保持されている暗文の一部を書き換える際に、第２領域に書換デーや直後データの復号用情報を保持する。
【０１０１】
従って、暗文を書き換える際に、第２領域に、書換デーや直後データの復号用情報を、少ないデータ量で、容易に且つ確実に保持することができる。
（１ｄ）本第１実施形態では、第１領域に保持されている書換データを含む暗文を復号する際に、第２領域に記憶されている復号用情報を用いて復号を行う。
【０１０２】
従って、少ないデータ量の復号用情報を用いて、迅速に復号化を行うことができる。
（１ｅ）本第１実施形態では、第１領域に保持されている暗文の一部を書き換える前に、第２領域に追加で復号用情報を書き込むことができる残りの領域があるか否かを判定する。  この判定を実施することにより、判定結果に応じた処理によって、第２領域が枯渇した以降も継続的に部分書き換えを実施することが可能となる。
【０１０３】
（１ｆ）本第１実施形態では、第２領域に残りの領域がない場合には、外部から第１領域の全領域分を書き換える送信データを受信する。そして、第２領域をリセットした後に、第１領域の全領域を送信データによって書き換える。
【０１０４】
これによって、第２領域が枯渇した以降も継続的に部分書き換えを実施できるため、第２領域を十分に確保できない構成においても、部分書き換えを容易に実現できる。従って、暗号復号装置３において、最低限のロジックおよびスペックで、本開示を実現することができる。
【０１０５】
［１−６．文言の対応関係］
前記第１実施形態の、暗号復号装置３、外部装置５、フラッシュメモリ１３、暗号復号処理部２５、暗号部２７、復号部２９、書換部３１、第１領域Ｄ１、第２領域Ｄ２が、それぞれ、本開示の、暗号復号装置、外部装置、記憶部、暗号復号処理部、暗号部、復号部、書換部、第１領域、第２領域に相当する。
【０１０６】
［２．第２実施形態］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、以下では主として第１実施形態との相違点について説明する。なお、第１実施形態と同じ符号は、同一構成を示すものであって、先行する説明を参照する。
【０１０７】
本第２実施形態では、１回目の書換対象領域と２回目の書換対象領域とが重なっており、この点が第１実施形態と異なるので、異なる点を中心にして説明する。
＜１回目の書き換えの際の動作＞
まず、１回目の書換データの書き換えの際の動作について説明する。
【０１０８】
図１５に示すように、第１実施形態と同様に、暗文が保持されている第１領域に対して１回目の書換データを書き込む領域、即ち１回目の書換対象領域が設定されている。なお、この１回目の書換対象領域とは、図１５において、斜めの実線で示される領域である。
【０１０９】
また、図１５には、２回目の書換対象領域も記載されているが、この２回目の書換対象領域は、１回目の書換対象領域と一部が重なっている。なお、２回目の書換対象領域とは、図１５において、斜めの破線で示される領域である。
【０１１０】
そして、前記図５に示すような送信データが、外部装置５から受信された場合には、送信データに基づいて、図１６に示すように、復号用情報としてＣＩ１、ＣＩ２を第２領域に保持する。
【０１１１】
なお、復号用情報ＣＩ１、ＣＩ２を第２領域に保持する方法は、第１実施形態と同様である。
＜２回目の書き換えの際の動作＞
次に、２回目の書換データの書き換えの際の動作について説明する。
【０１１２】
２回目の書換データの書き換えは、外部装置５から受信した２回目の送信データを用いて、図１６に示す２回目の書換対象領域に対して実施される。
特に本第２実施形態では、２回目の書換対象領域の一部、例えば先頭のオフセットアドレスで示される領域を含む前半の領域は、１回目の書換対象領域と重なっている。
【０１１３】
この２回目の送信データには、新たな復号用情報Ｃ２として、２回目の書換データの書換開始位置を示すオフセットアドレスＯＡ３と、２回目の書換データを復号する際に用いる初期化ベクトルＩＶ３と、が含まれている。
【０１１４】
従って、ここでは、図１７に示すように、２回目の送信データに含まれる復号用情報ＣＩ２のＯＡ２、ＩＶ２を用いて、既に第２領域に保持されているＣＩ２のＯＡ２、ＩＶ２を書き換える。即ち、既に第２領域に保持されているＣＩ２のＯＡ２、ＩＶ２を、２回目の送信データに含まれる復号用情報ＣＩ２のＯＡ２、ＩＶ２を用いて上書きする。
【０１１５】
そして、復号用情報ＣＩ２を第２領域に上書きして保持した後に、復号用情報ＣＩ３も第２領域に保持する。詳しくは、復号用情報ＣＩ２の後の位置に、復号用情報ＣＩ３を保持する。
【０１１６】
この復号用情報ＣＩ３は、２回目の書換データの次の暗文のブロック（即ち、直後データ）を復号化するために用いられるものである。
この復号用情報ＣＩ３には、直後データの先頭のオフセットアドレスＯＡ３と、直後データを復号化するための初期化ベクトルＩＶ３が含まれている。
【０１１７】
このＩＶ３とは、書換データに書き換える前の暗文のブロック、詳しくは、２回目の書換対象領域内における最後のブロックの暗文データである。
従って、上述した処理によって、１回目の書換データ（詳しくは、その前半部分）を復号化するための復号用情報Ｃ１、２回目の書換データを復号化するための復号用情報Ｃ２、２回目の書換データの直後の直後データを復号化するための復号用情報Ｃ３が、データの書き込みの順番に従って、順次第２領域に保持される。
【０１１８】
この結果、第２領域には、復号用情報として、ＯＡ１およびＩＶ１を含むＣＩ１と、上書されたＯＡ２およびＩＶ２を含むＣＩ２と、ＯＡ３およびＩＶ３を含むＣＩ３が保持されることになる。
【０１１９】
つまり、ＣＩ１は、１回目の書換対象領域（即ち、書換後領域）の先頭のオフセットアドレスＯＡ１に対応した復号用情報であり、ＣＩ２は、２回目の書換対象領域（即ち、書換後領域）の先頭のオフセットアドレスＯＡ２に対応した復号用情報であり、ＣＩ３は、２回目の書換対象領域（即ち、書換後領域）の直後の直後データのブロックのオフセットアドレスＯＡ３に対応した復号用情報である。
【０１２０】
本第２実施形態は、前記第１実施形態と同様な効果を奏する。
また、本第２実施形態では、上述したように、第１領域に保持されている暗文の一部を書き換える場合に、当該書き換えの対象となる暗文の領域が、既に書き換えられた領域と重複するときには、第２領域に保持されている前回の復号用情報を、今回の復号用情報によって上書きする。
【０１２１】
従って、書換対象領域が重なる場合でも、復号に必要な最小限の復号用情報を好適に保持できる。そのため、本第２実施形態では、第２領域を有効活用できるので、第２領域の枯渇頻度が少なくなる。その結果、全体として、書き換えの時間等の処理時間を短縮できるという利点がある。
【０１２２】
［３．第３実施形態］
第３実施形態は、基本的な構成は第１実施形態と同様であるため、以下では主として第１実施形態との相違点について説明する。なお、第１実施形態と同じ符号は、同一構成を示すものであって、先行する説明を参照する。
【０１２３】
本第３実施形態では、第１実施形態とは、書き換え処理が異なるので、この異なる点を中心にして説明する。
＜書き換え処理＞
なお、１回目の書き換えの際の処理と２回目の書き換えの際の処理とは、基本的な処理は同様であるので、ここでは、１回目の書き換えの際のＣＩ等の記号を用いて説明する。
【０１２４】
図１８に示すように、Ｓ４００では、外部装置５から送信された書換データと、第１領域に保持されている暗文とから、書換データや書換データの直後の暗号ブロック（即ち、直後データ）を復号化する際に必要な、ＯＡ１、ＩＶ１、ＯＡ２、ＩＶ２を取得する。
【０１２５】
続くＳ４１０では、復号用情報ＣＩ１としてＯＡ１、ＩＶ１を保持し、復号用情報ＣＩ２としてＯＡ２、ＩＶ２を保持する。
続くＳ４２０では、上述した部分書き換えの可否の判断を行うための処理、即ち部分書き換え判定処理を実施する。
【０１２６】
続くＳ４３０では、前記Ｓ４２０での部分書き換え判定処理の結果に基づいて、部分書き換えが可能か否かを判定する。ここで肯定判断されるとＳ４４０に進み、一方否定判断されるとＳ４５０に進み。
【０１２７】
Ｓ４４０では、部分書き換えが可能であるので、書換データを用いて、第１領域の暗文の所定の書換対象位置（例えば、１回目の書込対象位置）に対して、書き換えを実施して、一旦本処理を終了する。
【０１２８】
一方、Ｓ４５０では、部分書き換えができない状態であるので、今までに第２領域に保持されている復号用情報等を用いて、第１領域の全領域を復号する。
続くＳ４６０では、Ｓ４５０にて復号した第１領域の全領域のデータを暗号化する。
【０１２９】
続くＳ４７０では、第２領域をリセットする。つまり、第２領域に保持されている復号用情報を消去し、Ｓ４２０に戻る。
本第３実施形態は、前記第１実施形態と同様な効果を奏する。
【０１３０】
また、本第３実施形態は、上述したように、第２領域に残りの領域がない場合には、第２領域に保持されている復号用情報を用いて、第１領域の全領域分の暗文を復号する。その後、当該復号したデータを再度暗号化し、第２領域をリセット。そして、第１領域の再度暗号化した暗文に対して、必要に応じて、部分的な書き換えを実施する。
【０１３１】
従って、本第３実施形態では、第２領域が枯渇した以降も継続的に部分書き換えを実施できるため、第２領域を十分に確保できない構成においても、部分書き換えを容易に実現できる。
【０１３２】
さらに、本第３実施形態では、前記第１実施形態のように、外部から第１領域の全領域を書き換えるデータを受信する必要がないので、第２領域の枯渇時の書き換え処理を高速に行うことができるという利点がある。
【０１３３】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１３４】
（４ａ）前記各実施形態では、書き換え動作を複数回実施したが、１回でもよい。
（４ｂ）例えば書換対象領域が、第１領域の最後に達している場合には、復号用情報としては、第２領域に、書換データの先頭のアドレスに対応した復号用情報のみを保持してもよい。
【０１３５】
（４ｃ）本開示に記載の暗号復号装置である電子制御装置（即ち、ＥＣＵ）及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のＥＣＵ及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。
【０１３６】
もしくは、本開示に記載のＥＣＵ及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。
【０１３７】
また、ＥＣＵに含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【０１３８】
（４ｄ）前記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【０１３９】
（４ｅ）また、上述したＥＣＵの他、当該ＥＣＵを構成要素とするシステム、当該ＥＣＵとしてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体など、種々の形態で本開示を実現することもできる。
【符号の説明】
【０１４０】
３：暗号復号装置、５：外部装置、１３：フラッシュメモリ、２５：暗号復号処理部、２７：暗号部、２９：復号部、３１：書換部、Ｄ１：第１領域、Ｄ２：第２領域
【図１】
2020187184.tif 000003
【図２】
2020187184.tif 000004
【図３】
2020187184.tif 000005
【図４】
2020187184.tif 000006
【図５】
2020187184.tif 000007
【図６】
2020187184.tif 000008
【図７】
2020187184.tif 000009
【図８】
2020187184.tif 000010
【図９】
2020187184.tif 000011
【図１０】
2020187184.tif 000012
【図１１】
2020187184.tif 000013
【図１２】
2020187184.tif 000014
【図１３】
2020187184.tif 000015
【図１４】
2020187184.tif 000016
【図１５】
2020187184.tif 000017
【図１６】
2020187184.tif 000018
【図１７】
2020187184.tif 000019
【図１８】
2020187184.tif 000020