図面 (/)

技術 暗号化装置、プログラム、及び暗号化方法

出願人 株式会社メガチップス
発明者 高須宣行
出願日 2016年3月31日 (4年8ヶ月経過) 出願番号 2016-072107
公開日 2017年10月5日 (3年2ヶ月経過) 公開番号 2017-184147
状態 特許登録済
技術分野 暗号化・復号化装置及び秘密通信
主要キーワード 乱雑度 乱数配列 自己循環 動き認識 ピッチ値 各画像ライン 基本ベクトル 暗号化対象領域
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年10月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

簡易な構成及び処理によって画像データを暗号化することが可能な暗号化装置を得る。

解決手段

暗号化回路22は、初期ベクトルD11に基づいて、乱数配列である基本ベクトルD14を生成する基本ベクトル生成回路41と、基本ベクトルD14と、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報D12とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクD15を生成する画像マスク生成回路42と、画像マスクD15の各マスク値と画像データD16の各画素値との排他的論理和演算することにより、暗号化画像データD100を生成するXOR演算回路43と、を備える。

概要

背景

複数の回路基板間動画像の画像データを転送する場合、回路基板間の配線上で画像データが抜き取られる可能性がある。そこで、送信側の回路基板で画像データを暗号化することによって暗号化画像データを送信し、受信側の回路基板で暗号化画像データを復号化することによって、回路基板間で転送される画像データを保護することができる。

なお、下記特許文献1には、鍵データと情報データとの排他的論理和によって暗号文を生成するストリーム暗号方式において、前回の暗号文中から取り出した一部のデータに基づいて鍵データを生成し、当該鍵データによって次回の情報データを暗号化する暗号化装置が開示されている。

概要

簡易な構成及び処理によって画像データを暗号化することが可能な暗号化装置を得る。暗号化回路22は、初期ベクトルD11に基づいて、乱数配列である基本ベクトルD14を生成する基本ベクトル生成回路41と、基本ベクトルD14と、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報D12とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクD15を生成する画像マスク生成回路42と、画像マスクD15の各マスク値と画像データD16の各画素値との排他的論理和を演算することにより、暗号化画像データD100を生成するXOR演算回路43と、を備える。

目的

本発明はかかる問題を解決するために成されたものであり、簡易な構成及び処理によって画像データを暗号化することが可能な、暗号化装置、プログラム、及び暗号化方法を得ることを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ストリーム暗号方式によって画像データを暗号化する暗号化装置であって、初期ベクトルに基づいて、乱数配列である基本ベクトルを生成する基本ベクトル生成回路と、前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する画像マスク生成回路と、前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和演算することにより、暗号化画像データを生成する暗号化画像データ生成回路と、を備える、暗号化装置。

請求項2

前記画像マスク生成回路は、暗号化強度を設定するための強度設定情報に基づいて、前記基本ベクトルの全データ長のうち前記マスク値の生成のために使用する有効データ長を異ならせることにより、前記マスク値の乱雑度可変に設定する、請求項1に記載の暗号化装置。

請求項3

前記座標情報によって、画像の1フレーム内に複数の前記暗号化対象領域を指定可能であり、前記強度設定情報によって、複数の前記暗号化対象領域毎に異なる暗号化強度を設定可能である、請求項2に記載の暗号化装置。

請求項4

前記基本ベクトル生成回路は、画像の1フレームのデータサイズ未満のデータ長を有する前記基本ベクトルを生成し、前記画像マスク生成回路は、画像ライン毎に異なる順序で前記基本ベクトルの乱数配列を並び替えることによって、前記画像マスクの各ラインのマスク値を設定する、請求項1〜3のいずれか一つに記載の暗号化装置。

請求項5

前記基本ベクトル生成回路は、2のべき乗のバイト長を有する前記基本ベクトルを生成し、前記画像マスク生成回路は、前記基本ベクトルの乱数配列を並び替えるために画像ライン毎に異なるオフセット値及びピッチ値を設定し、前記ピッチ値を、2のべき乗でない値に設定する、請求項4に記載の暗号化装置。

請求項6

あるフレームに関して生成された前記暗号化画像データに基づいて、次のフレームに関する前記初期ベクトルを生成する初期ベクトル生成回路をさらに備える、請求項1〜5のいずれか一つに記載の暗号化装置。

請求項7

コンピュータを、初期ベクトルに基づいて、乱数配列である基本ベクトルを生成する基本ベクトル生成手段、前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する画像マスク生成手段、及び、前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成する暗号化画像データ生成手段、として機能させるためのプログラム

請求項8

(A)初期ベクトルに基づいて、乱数配列である基本ベクトルを生成するステップと、(B)前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成するステップと、(C)前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成するステップと、を備える、暗号化方法

技術分野

0001

本発明は、動画像の画像データを暗号化するための暗号化装置プログラム、及び暗号化方法に関する。

背景技術

0002

複数の回路基板間で動画像の画像データを転送する場合、回路基板間の配線上で画像データが抜き取られる可能性がある。そこで、送信側の回路基板で画像データを暗号化することによって暗号化画像データを送信し、受信側の回路基板で暗号化画像データを復号化することによって、回路基板間で転送される画像データを保護することができる。

0003

なお、下記特許文献1には、鍵データと情報データとの排他的論理和によって暗号文を生成するストリーム暗号方式において、前回の暗号文中から取り出した一部のデータに基づいて鍵データを生成し、当該鍵データによって次回の情報データを暗号化する暗号化装置が開示されている。

先行技術

0004

国際公開番号WO2004/086672号

発明が解決しようとする課題

0005

回路基板間で動画像の画像データを転送する場合、AES等のブロック暗号方式によって画像データの全てを暗号化したのでは、処理時間及び回路規模の増大を招くとともに、画像データの通信以外に共通鍵交換が必要になるため処理が複雑化する。

0006

本発明はかかる問題を解決するために成されたものであり、簡易な構成及び処理によって画像データを暗号化することが可能な、暗号化装置、プログラム、及び暗号化方法を得ることを目的とするものである。

課題を解決するための手段

0007

本発明の第1の態様に係る暗号化装置は、ストリーム暗号方式によって画像データを暗号化する暗号化装置であって、初期ベクトルに基づいて、乱数配列である基本ベクトルを生成する基本ベクトル生成回路と、前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する画像マスク生成回路と、前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成する暗号化画像データ生成回路と、を備えることを特徴とするものである。

0008

第1の態様に係る暗号化装置によれば、画像マスク生成回路は、基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する。そして、暗号化画像データ生成回路は、画像マスクの各マスク値と画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成する。これにより、画像のフレーム全体のうち画像マスクがかけられた暗号化対象領域のみの画像データを暗号化することができる。秘匿の必要性が高い重要な画像部分を暗号化対象領域として指定することにより、回路基板間で画像データを転送する場合であっても、重要な画像部分が抜き取られることを効果的に防止できる。また、暗号化画像データを受信した復号化装置では、暗号化装置と同一のアルゴリズムによって同一の画像マスクを生成し、当該画像マスクと暗号化画像データとの排他的論理和を演算することによって、暗号化画像データを復号化することができる。従って、暗号化装置は復号化装置に対して暗号化画像データのみを送信すれば足り、暗号化装置と復号化装置との間で鍵の交換は不要となる。その結果、AES等のブロック暗号方式によって画像データの全てを暗号化する場合と比較すると、簡易な構成及び処理によって画像データを暗号化することが可能となる。

0009

本発明の第2の態様に係る暗号化装置は、第1の態様に係る暗号化装置において特に、前記画像マスク生成回路は、暗号化強度を設定するための強度設定情報に基づいて、前記基本ベクトルの全データ長のうち前記マスク値の生成のために使用する有効データ長を異ならせることにより、前記マスク値の乱雑度可変に設定することを特徴とするものである。

0010

第2の態様に係る暗号化装置によれば、画像マスク生成回路は、暗号化強度を設定するための強度設定情報に基づいて、基本ベクトルの全データ長のうちマスク値の生成のために使用する有効データ長を異ならせることにより、マスク値の乱雑度を可変に設定する。暗号化強度を高く設定した場合には、マスク値の乱雑度が高くなるため暗号化対象領域の攪拌度は高くなり、一方、暗号化強度を低く設定した場合には、マスク値の乱雑度が低くなるため暗号化対象領域の攪拌度は低くなる。従って、暗号化対象領域として指定する画像部分の秘匿の必要性等に応じて、暗号化対象領域の攪拌度を任意に設定することが可能となる。

0011

本発明の第3の態様に係る暗号化装置は、第2の態様に係る暗号化装置において特に、前記座標情報によって、画像の1フレーム内に複数の前記暗号化対象領域を指定可能であり、前記強度設定情報によって、複数の前記暗号化対象領域毎に異なる暗号化強度を設定可能であることを特徴とするものである。

0012

第3の態様に係る暗号化装置によれば、座標情報によって、画像の1フレーム内に複数の暗号化対象領域を指定でき、また、強度設定情報によって、複数の暗号化対象領域毎に異なる暗号化強度を設定できる。従って、暗号化対象領域として指定する各画像部分の秘匿の必要性等に応じて、各暗号化対象領域の攪拌度を任意に設定することが可能となる。例えば、秘匿の必要性が高い重要な画像部分には、高い暗号化強度を設定するとともに、課金誘導等のために元の画像が大まかに推測されるのが望ましい画像部分には、低い暗号化強度を設定することができる。

0013

本発明の第4の態様に係る暗号化装置は、第1〜第3のいずれか一つの態様に係る暗号化装置において特に、前記基本ベクトル生成回路は、画像の1フレームのデータサイズ未満のデータ長を有する前記基本ベクトルを生成し、前記画像マスク生成回路は、画像ライン毎に異なる順序で前記基本ベクトルの乱数配列を並び替えることによって、前記画像マスクの各ラインのマスク値を設定することを特徴とするものである。

0014

第4の態様に係る暗号化装置によれば、基本ベクトル生成回路は、画像の1フレームのデータサイズ未満のデータ長を有する基本ベクトルを生成し、画像マスク生成回路は、基本ベクトルの乱数配列を並び替えることによって画像マスクの各ラインのマスク値を設定する。従って、1フレームのデータサイズに相当するデータ長の基本ベクトルを生成する必要がないため、回路構成及び処理の簡略化を図ることができる。また、画像マスク生成回路は、画像ライン毎に異なる順序で基本ベクトルの乱数配列を並び替える。一般に画像データは隣接する画像ライン間で相関が高いため、画像ライン毎に乱数配列順序を異ならせることによってその相関が低くなり、その結果、画像マスクにおけるマスク値の乱雑度を高めることができる。

0015

本発明の第5の態様に係る暗号化装置は、第4の態様に係る暗号化装置において特に、前記基本ベクトル生成回路は、2のべき乗のバイト長を有する前記基本ベクトルを生成し、前記画像マスク生成回路は、前記基本ベクトルの乱数配列を並び替えるために画像ライン毎に異なるオフセット値及びピッチ値を設定し、前記ピッチ値を、2のべき乗でない値に設定することを特徴とするものである。

0016

第5の態様に係る暗号化装置によれば、画像マスク生成回路は、マスク値を生成するにあたり、画像ライン毎に異なるオフセット値及びピッチ値を設定する。これにより、画像ライン毎に異なる順序で基本ベクトルの乱数配列を簡易に並び替えることができる。また、基本ベクトル生成回路は、2のべき乗のバイト長を有する基本ベクトルを生成し、画像マスク生成回路は、ピッチ値を2のべき乗でない値に設定する。これにより、マスク値を生成する際に基本ベクトルの特定のバイトのみが繰り返し使用されることを回避でき、その結果、マスク値の乱雑度を高めることができる。

0017

本発明の第6の態様に係る暗号化装置は、第1〜第5のいずれか一つの態様に係る暗号化装置において特に、あるフレームに関して生成された前記暗号化画像データに基づいて、次のフレームに関する前記初期ベクトルを生成する初期ベクトル生成回路をさらに備えることを特徴とするものである。

0018

第6の態様に係る暗号化装置によれば、初期ベクトル生成回路は、あるフレームに関して生成された暗号化画像データに基づいて、次のフレームに関する初期ベクトルを生成する。このように、フレーム毎に初期ベクトルを更新することによって基本ベクトルも更新されるため、画像データのフレーム毎に新たな基本ベクトルを用いて画像データを適切に暗号化することが可能となる。また、自己循環によって初期ベクトルを更新するため、暗号化装置と復号化装置との間で初期ベクトルを同期させるための通信は不要となり、通信量を削減することが可能となる。

0019

本発明の第7の態様に係るプログラムは、コンピュータを、初期ベクトルに基づいて、乱数配列である基本ベクトルを生成する基本ベクトル生成手段、前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する画像マスク生成手段、及び、前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成する暗号化画像データ生成手段、として機能させるためのプログラムである。

0020

第7の態様に係るプログラムによれば、画像マスク生成手段は、基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成する。そして、暗号化画像データ生成手段は、画像マスクの各マスク値と画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成する。これにより、画像のフレーム全体のうち画像マスクがかけられた暗号化対象領域のみの画像データを暗号化することができる。秘匿の必要性が高い重要な画像部分を暗号化対象領域として指定することにより、回路基板間で画像データを転送する場合であっても、重要な画像部分が抜き取られることを効果的に防止できる。また、暗号化画像データを受信した復号化装置では、暗号化装置と同一のアルゴリズムによって同一の画像マスクを生成し、当該画像マスクと暗号化画像データとの排他的論理和を演算することによって、暗号化画像データを復号化することができる。従って、暗号化装置は復号化装置に対して暗号化画像データのみを送信すれば足り、暗号化装置と復号化装置との間で鍵の交換は不要となる。その結果、AES等のブロック暗号方式によって画像データの全てを暗号化する場合と比較すると、簡易な構成及び処理によって画像データを暗号化することが可能となる。

0021

本発明の第8の態様に係る暗号化方法は、(A)初期ベクトルに基づいて、乱数配列である基本ベクトルを生成するステップと、(B)前記基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、前記暗号化対象領域内の画素毎のマスク値が設定された画像マスクを生成するステップと、(C)前記画像マスクの各マスク値と前記画像データの各画素値との排他的論理和を演算することにより、暗号化画像データを生成するステップと、を備えることを特徴とするものである。

0022

第8の態様に係る暗号化方法によれば、ステップ(B)では、基本ベクトルと、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクが生成される。そして、ステップ(C)では、画像マスクの各マスク値と画像データの各画素値との排他的論理和を演算することにより、暗号化画像データが生成される。これにより、画像のフレーム全体のうち画像マスクがかけられた暗号化対象領域のみの画像データを暗号化することができる。秘匿の必要性が高い重要な画像部分を暗号化対象領域として指定することにより、回路基板間で画像データを転送する場合であっても、重要な画像部分が抜き取られることを効果的に防止できる。また、暗号化画像データを受信した復号化装置では、暗号化装置と同一のアルゴリズムによって同一の画像マスクを生成し、当該画像マスクと暗号化画像データとの排他的論理和を演算することによって、暗号化画像データを復号化することができる。従って、暗号化装置は復号化装置に対して暗号化画像データのみを送信すれば足り、暗号化装置と復号化装置との間で鍵の交換は不要となる。その結果、AES等のブロック暗号方式によって画像データの全てを暗号化する場合と比較すると、簡易な構成及び処理によって画像データを暗号化することが可能となる。

発明の効果

0023

本発明によれば、簡易な構成及び処理によって画像データを暗号化することが可能となる。

図面の簡単な説明

0024

本発明の実施の形態に係るデータ処理システムの構成を示す図である。
暗号化回路による画像データの暗号化の一例を示す図である。
暗号化回路の構成を示す図である。
基本ベクトルから画像マスクを生成する手法を説明するための図である。
暗号化回路の動作を説明するためのフローチャートである。
復号化回路の構成を示す図である。
復号化回路の動作を説明するためのフローチャートである。
暗号化回路及び復号化回路の機能をCPUによって実現する場合の構成を示す図である。

実施例

0025

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。

0026

図1は、本発明の実施の形態に係るデータ処理システム1の構成を示す図である。図1に示すようにデータ処理システム1は、配線Lを介して接続された送信側回路基板11と受信側回路基板12とを備えている。例えば、受信側回路基板12は、データ処理システム1におけるメインデータ処理を実行する回路基板であり、送信側回路基板11は、グラフィックス等のサブのデータ処理を実行する回路基板である。

0027

送信側回路基板11は、いずれもバスに接続された、CPU21、暗号化回路22、記憶部23、DMA(Direct Memory Access)回路24、及びインタフェース回路25を有している。記憶部23には、非暗号の動画像の画像データが格納されている。なお、暗号化回路22は、DMA回路24の機能の一部としてDMA回路24内に設けても良い。送信側回路基板11は、記憶部23から読み出した画像データを暗号化回路22で暗号化することによって暗号化画像データを生成し、その暗号化画像データを、配線Lを介して受信側回路基板12に送信する。

0028

受信側回路基板12は、いずれもバスに接続された、CPU31、復号化回路32、記憶部33、DMA回路34、及びインタフェース回路35を有している。なお、復号化回路32は、DMA回路34の機能の一部としてDMA回路34内に設けても良い。受信側回路基板12は、送信側回路基板11から受信した暗号化画像データを復号化回路32で復号化することによって非暗号の画像データを復元し、その画像データを記憶部33に格納する。

0029

図2は、暗号化回路22による画像データの暗号化の一例を示す図である。暗号化回路22においては、フレーム全体のうち暗号化すべき領域を設定するための座標情報D12によって、フレーム内に一以上の暗号化対象領域を任意に設定することができる。暗号化対象領域のサイズとしては、フレームサイズ未満のサイズを設定することができる。但し、フレームサイズと同じサイズを設定することにより、フレーム全体を暗号化対象領域として設定することもできる。図2に示した例では、「ABCDE」のロゴが表示されたフレームのうち「B」及び「D」に対応する画像部分が暗号化対象領域R1,R2として設定されている。なお、暗号化回路22においては、フレームの左上角原点として、フレームの横軸(x軸)に沿ったx座標と、縦軸(y軸)に沿ったy座標とによって、各画素の位置が規定される。

0030

また、暗号化回路22においては、暗号化強度を設定するための強度設定情報D13によって、暗号化対象領域における画像の攪拌度を任意に設定することができる。図2に示した例では、暗号化対象領域R1に対しては高い暗号化強度が設定されており、その攪拌度は高いため、「B」の文字は全く識別できない。また、暗号化対象領域R2に対しては低い暗号化強度が設定されており、その攪拌度は低いため、大まかに推測できる程度に「D」の文字が識別できる。また、暗号化対象領域R1,R2以外の非暗号化対象領域R0に関しては、画像は攪拌されていない。

0031

図3は、暗号化回路22の構成を示す図である。図3接続関係で示すように、暗号化回路22は、基本ベクトル生成回路41、画像マスク生成回路42、XOR演算回路43、初期ベクトル生成回路44、入力回路45、及び出力回路46を備えて構成されている。本実施の形態の例において、暗号化回路22は、OFBモードによるストリーム暗号方式を使用し、通常のOFB構成に必要な基本ベクトル生成回路41及びXOR演算回路43に、画像マスク生成回路42及び初期ベクトル生成回路44を追加した構成を有している。

0032

基本ベクトル生成回路41は、初期ベクトルD11,D17に基づいて、乱数配列である基本ベクトルD14を生成する。初期ベクトルD11,D17及び基本ベクトルD14のデータ長は予め定められており、本実施の形態の例では、初期ベクトルD11,D17のデータ長は8バイト、基本ベクトルD14のデータ長は2048バイトとする。つまり、基本ベクトルD14は2048バイト長の乱数配列であり、本明細書では、2048バイトの中の特定の1バイトの乱数を表すときは、N[n](nは0〜2047)と表記する。基本ベクトルD14のデータ長は、画像の1フレームのデータサイズよりも十分に小さい。

0033

基本ベクトル生成回路41は、任意の暗号アルゴリズムによって、8バイト長の初期ベクトルD11,D17から2048バイト長の基本ベクトルD14を生成する。例えば、8バイト長の初期ベクトルD11,D17に対してblowfishを256回実行することにより、2048バイト長の基本ベクトルD14を生成する。但し、AES等の他の暗号アルゴリズムを用いても良い。基本ベクトル生成回路41は、1フレームに対して1つの基本ベクトルD14を生成し、その基本ベクトルD14を画像マスク生成回路42に入力する。

0034

画像マスク生成回路42は、基本ベクトルD14に基づいて、画素毎のマスク値が設定された画像マスクD15を生成する。画像マスク生成回路42には、暗号化対象領域の座標情報D12と強度設定情報D13とが入力される。座標情報D12及び強度設定情報D13は、画像の重要度等に応じてユーザが任意に設定しても良いし、外部システムによって自動設定されても良い。例えば、監視カメラシステムにおける顔認識動き認識の結果に基づいてこれらの情報が自動設定されても良い。

0035

強度設定情報D13によって暗号化強度Mを設定することができ、本実施の形態の例では、暗号化強度Mの最大値は基本ベクトルD14のデータ長に相当する「2048」であり、最小値は「0」である。

0036

説明の簡単化のため、本実施の形態の例では、暗号化強度Mの値は「2048」「8」「0」のいずれかに設定されるものとする。暗号化強度Mの値が「2048」である場合には、2048バイト長の基本ベクトルD14の全長を使ってマスク値を設定できるため、マスク値の乱雑度は高くなる。暗号化強度Mの値が「8」である場合には、基本ベクトルD14内の特定の8バイト(例えば先頭8バイト)を使ってマスク値を設定するため、マスク値の乱雑度は低くなる。また、暗号化強度Mの値が「0」である場合には、マスク値は「0」となり、画像データは暗号化されない。つまり、画像マスク生成回路42は、強度設定情報D13に基づいて、基本ベクトルD14の全データ長のうち画像マスクD15の生成のために使用する有効データ長を異ならせることにより、マスク値の乱雑度を可変に設定する。

0037

図4は、一つの画像ラインに関して、画像マスク生成回路42によって基本ベクトルD14から画像マスクD15を生成する手法を説明するための図である。図4には、暗号化強度Mが「8」に設定された場合の例を示している。暗号化強度Mが「8」に設定されているため、基本ベクトルD14の有効データ長は、バイトB0からバイトB7までの8バイトである。

0038

画像マスク生成回路42は、y軸に沿って並ぶ画像ライン毎に、ピッチ値P及びオフセット値Qを設定する。具体的に、画像マスク生成回路42は、下記式に従い、各画像ラインのピッチ値P(y)及びオフセット値Q(y)を、隣接する画像ラインの設定値とは異なる値に設定する。

0039

P(y)=N[(y+P(y−1))%M]
Q(y)=N[(y+Q(y−1))%M]
但し、
P(−1)=0
Q(−1)=1

0040

また、画像マスク生成回路42は、上記式で求めたピッチ値P(y)が2のべき乗の値である場合には、例えばそのピッチ値P(y)に「1」を加算することにより、2のべき乗でない値に設定する。

0041

画像マスク生成回路42は、設定されたピッチ値P(y)及びオフセット値Q(y)に基づいて、基本ベクトルD14の乱数配列を並び替えることによって、画像マスクD15を生成する。具体的に、画像マスク生成回路42は、下記式に従い、座標(x,y)に位置する画素に対するマスク値MASK(x,y,M)を設定する。暗号化強度Mによって、基本ベクトルD14の有効データ長が設定される。

0042

MASK(x,y,M)=N[(P(y)*x+Q(y))%M]

0043

図4に示した例では、ピッチ値Pは「3」、オフセット値Qは「2」に設定されている。従って、基本ベクトルD14の先頭バイトB0から2バイトずれた位置にあるバイトB2が、画像マスクD15の先頭バイトとなる。また、基本ベクトルD14においてバイトB2から3バイト離れた位置にあるバイトB5が、画像マスクD15の2番目のバイトとなる。同様に、基本ベクトルD14において3バイトずつ離れた位置にあるバイト(末尾に到達すると先頭に戻る)を順番に並べることにより、画像マスクD15が生成される。画像マスクD15の各バイトが、各画素に対応するマスク値MASKとなる。例えば、図4に示した画像マスクD15がかけられる画像ラインの第0列(x=0)には、第0番目のマスク値としてバイトB2が適用され、第1列(x=1)には、第1番目のマスク値としてバイトB5が適用される。画像マスク生成回路42は、生成した画像マスクD15を、XOR演算回路43に入力する。

0044

XOR演算回路43は、画像マスクD15の各マスク値と、入力回路45から入力された画像データD16の各画素値との排他的論理和を演算する。これにより、各画素値が暗号化される。XOR演算回路43は、画像データD16に含まれる全ての画素に対して上記と同様の演算を順に実行し、これにより、暗号化画像データD100が生成される。暗号化画像データD100は、出力回路46から出力され、受信側回路基板12に向けて送信される。また、暗号化画像データD100は、初期ベクトル生成回路44に入力される。

0045

初期ベクトル生成回路44は、あるフレームに関して生成された暗号化画像データD100に基づいて、次のフレームに関する初期ベクトルD17を生成する。例えば、暗号化画像データD100のうち、予め定められた特定の8バイト(例えば先頭8バイト)を抽出することにより、初期ベクトルD17を生成する。

0046

図5は、暗号化回路22の動作を説明するためのフローチャートである。シーケンス先頭フレームが入力されて暗号化処理が開始されると、まずステップSP10において初期ベクトルD11が決定される。最初の初期ベクトルD11としては、予め規定された乱数値が使用される。

0047

次にステップSP11において基本ベクトル生成回路41は、初期ベクトルD11に基づいて基本ベクトルD14を生成する。

0048

次にステップSP12において画像マスク生成回路42は、第0行目(y=0)の画像ラインに関するピッチ値P(0)及びオフセット値Q(0)を設定する。

0049

次にステップSP13において画像マスク生成回路42は、基本ベクトルD14と、座標情報D12及び強度設定情報D13とに基づいて、第0行目の画像ラインに属する第0列目(x=0)の画素に関するマスク値MASK(0,0,M)を設定する。

0050

次にステップSP14においてXOR演算回路43は、画像マスク生成回路42から入力されたマスク値(0,0,M)と、入力回路45から入力された座標(0,0)の画素値との排他的論理和を演算することにより、座標(0,0)の画素値を暗号化する。

0051

次にステップSP15において出力回路46は、座標(0,0)の暗号化画素値を出力する。

0052

座標xを更新することにより、第0行目の画像ラインに属する全ての画素に対して、ステップSP13〜SP15の処理が順番に実行される。

0053

第0行目の画像ラインに対する処理が完了すると、第1行目(y=1)の画像ラインに対して同様の処理が実行される。同様に、座標yを更新することにより、フレーム内の全ての画像ラインに対して、ステップSP12〜SP15の処理が順番に実行される。フレーム内の全ての画素に対する処理が完了することにより、先頭フレームに関する暗号化処理が終了する。

0054

次のフレームに関する暗号化処理においては、初期ベクトルD11に代えて初期ベクトルD17が使用される。初期ベクトル生成回路44は、先頭フレームに関する暗号化処理の過程でXOR演算回路43が出力した暗号化画素値を保持しており、フレーム全体の暗号化画素値の中から予め定められた特定領域(例えば先頭8バイト)の暗号化画素値を抽出することにより、次のフレームに対する初期ベクトルD17を生成する。

0055

図6は、復号化回路32の構成を示す図である。図6の接続関係で示すように、復号化回路32は、基本ベクトル生成回路51、画像マスク生成回路52、XOR演算回路53、初期ベクトル生成回路54、入力回路55、及び出力回路56を備えて構成されている。XOR演算回路53及び初期ベクトル生成回路54には入力回路55から暗号化画像データD100が入力される点、及び、XOR演算回路53からは復号化された画像データD26が出力される点が、暗号化回路22と異なる。

0056

基本ベクトル生成回路51は、初期ベクトルD11,D17と同様の初期ベクトルD21,D27に基づいて、基本ベクトルD14と同様の基本ベクトルD24を生成する。

0057

画像マスク生成回路52は、基本ベクトルD24に基づいて、画像マスクD15と同様の画像マスクD25を生成する。また、画像マスク生成回路52には、座標情報D12及び強度設定情報D13と同様の座標情報D22及び強度設定情報D23が入力される。

0058

XOR演算回路53は、画像マスクD25の各マスク値と、入力回路55から入力された暗号化画像データD100の各画素値との排他的論理和を演算する。これにより、各画素値が復号化される。XOR演算回路53は、暗号化画像データD100に含まれる全ての画素に対して上記と同様の演算を順に実行し、これにより、画像データD16と同様の非暗号の画像データD26を生成する。

0059

初期ベクトル生成回路54は、あるフレームに関する暗号化画像データD100に基づいて、初期ベクトルD17と同様の、次のフレームに関する初期ベクトルD27を生成する。

0060

図7は、復号化回路32の動作を説明するためのフローチャートである。シーケンスの先頭フレームが入力されて復号化処理が開始されると、まずステップSP20において初期ベクトルD21が決定される。

0061

次にステップSP21において基本ベクトル生成回路51は、初期ベクトルD21に基づいて基本ベクトルD24を生成する。

0062

次にステップSP22において画像マスク生成回路52は、画像マスク生成回路42と同様に、第0行目(y=0)の画像ラインに関するピッチ値P(0)及びオフセット値Q(0)を設定する。

0063

次にステップSP23において画像マスク生成回路52は、画像マスク生成回路42と同様に、基本ベクトルD24と、座標情報D22及び強度設定情報D23とに基づいて、第0行目の画像ラインに属する第0列目(x=0)の画素に関するマスク値MASK(0,0,M)を設定する。

0064

次にステップSP24においてXOR演算回路53は、画像マスク生成回路52から入力されたマスク値(0,0,M)と、入力回路55から入力された座標(0,0)の暗号化画素値との排他的論理和を演算することにより、座標(0,0)の画素値を復号化する。

0065

次にステップSP25において出力回路56は、復号化された座標(0,0)の画素値を出力する。

0066

座標xを更新することにより、第0行目の画像ラインに属する全ての画素に対して、ステップSP23〜SP25の処理が順番に実行される。

0067

第0行目の画像ラインに対する処理が完了すると、第1行目(y=1)の画像ラインに対して同様の処理が実行される。同様に、座標yを更新することにより、フレーム内の全ての画像ラインに対して、ステップSP22〜SP25の処理が順番に実行される。フレーム内の全ての画素に対する処理が完了することにより、先頭フレームに関する復号化処理が終了する。

0068

次のフレームに関する復号化処理においては、初期ベクトルD21に代えて初期ベクトルD27が使用される。初期ベクトル生成回路54は、先頭フレームに関する復号化処理の過程で入力回路55が出力した暗号化画素値を保持しており、初期ベクトル生成回路44と同様に、フレーム全体の暗号化画素値の中から特定領域の暗号化画素値を抽出することにより、次のフレームに対する初期ベクトルD27を生成する。

0069

なお、図3,6では、暗号化回路22及び復号化回路32をハードウェアによって構成する例を示したが、暗号化回路22及び復号化回路32の機能をコンピュータによるソフトウェア処理によって実現しても良い。図8は、暗号化回路22及び復号化回路32の機能をCPU21,31によって実現する場合の構成を示す図である。CPU21は、RAM26から読み出したプログラム27を実行することにより、図3に示した基本ベクトル生成回路41、画像マスク生成回路42、XOR演算回路43、及び初期ベクトル生成回路44と同等の、基本ベクトル生成手段、画像マスク生成手段、XOR演算手段、及び初期ベクトル生成手段として機能する。換言すれば、プログラム27は、CPU21を、基本ベクトル生成手段、画像マスク生成手段、XOR演算手段、及び初期ベクトル生成手段として機能させるためのプログラムである。同様に、CPU31は、RAM36から読み出したプログラム37を実行することにより、図6に示した基本ベクトル生成回路51、画像マスク生成回路52、XOR演算回路53、及び初期ベクトル生成回路54と同等の、基本ベクトル生成手段、画像マスク生成手段、XOR演算手段、及び初期ベクトル生成手段として機能する。換言すれば、プログラム37は、CPU31を、基本ベクトル生成手段、画像マスク生成手段、XOR演算手段、及び初期ベクトル生成手段として機能させるためのプログラムである。

0070

このように本実施の形態に係る暗号化回路22によれば、画像マスク生成回路42は、基本ベクトルD14と、画像のフレームサイズ未満の暗号化対象領域を指定するための座標情報D12とに基づいて、暗号化対象領域内の画素毎のマスク値が設定された画像マスクD15を生成する。そして、XOR演算回路43(暗号化画像データ生成回路)は、画像マスクD15の各マスク値と画像データD16の各画素値との排他的論理和を演算することにより、暗号化画像データD100を生成する。これにより、画像のフレーム全体のうち画像マスクD15がかけられた暗号化対象領域のみの画像データを暗号化することができる。秘匿の必要性が高い重要な画像部分を暗号化対象領域として指定することにより、回路基板11,12間で画像データを転送する場合であっても、重要な画像部分が抜き取られることを効果的に防止できる。また、暗号化画像データD100を受信した復号化回路32では、暗号化回路22と同一のアルゴリズムによって同一の画像マスクD25を生成し、当該画像マスクD25と暗号化画像データD100との排他的論理和を演算することによって、暗号化画像データD100を復号化することができる。従って、暗号化回路22は復号化回路32に対して暗号化画像データD100のみを送信すれば足り、暗号化回路22と復号化回路32との間で鍵の交換は不要となる。その結果、AES等のブロック暗号方式によって画像データの全てを暗号化する場合と比較すると、簡易な構成及び処理によって画像データを暗号化することが可能となる。

0071

また、本実施の形態に係る暗号化回路22によれば、画像マスク生成回路42は、暗号化強度Mを設定するための強度設定情報D13に基づいて、基本ベクトルD14の全データ長のうちマスク値の生成のために使用する有効データ長を異ならせることにより、マスク値の乱雑度を可変に設定する。暗号化強度Mを高く設定した場合には、マスク値の乱雑度が高くなるため暗号化対象領域の攪拌度は高くなり、一方、暗号化強度Mを低く設定した場合には、マスク値の乱雑度が低くなるため暗号化対象領域の攪拌度は低くなる。従って、暗号化対象領域として指定する画像部分の秘匿の必要性等に応じて、暗号化対象領域の攪拌度を任意に設定することが可能となる。

0072

また、本実施の形態に係る暗号化回路22によれば、座標情報D12によって、画像の1フレーム内に複数の暗号化対象領域を指定でき、また、強度設定情報D13によって、複数の暗号化対象領域毎に異なる暗号化強度Mを設定できる。従って、暗号化対象領域として指定する各画像部分の秘匿の必要性等に応じて、各暗号化対象領域の攪拌度を任意に設定することが可能となる。例えば、秘匿の必要性が高い重要な画像部分には、高い暗号化強度を設定するとともに、課金誘導等のために元の画像が大まかに推測されるのが望ましい画像部分には、低い暗号化強度を設定することができる。

0073

また、本実施の形態に係る暗号化回路22によれば、基本ベクトル生成回路41は、画像の1フレームのデータサイズ未満のデータ長を有する基本ベクトルD14を生成し、画像マスク生成回路42は、基本ベクトルD14の乱数配列を並び替えることによって画像マスクD15の各ラインのマスク値を設定する。従って、1フレームのデータサイズに相当するデータ長の基本ベクトルを生成する必要がないため、回路構成及び処理の簡略化を図ることができる。また、画像マスク生成回路42は、画像ライン毎に異なる順序で基本ベクトルD14の乱数配列を並び替える。一般に画像データは隣接する画像ライン間で相関が高いため、画像ライン毎に乱数の配列順序を異ならせることによってその相関が低くなり、その結果、画像マスクD15におけるマスク値の乱雑度を高めることができる。

0074

また、本実施の形態に係る暗号化回路22によれば、画像マスク生成回路42は、マスク値を生成するにあたり、画像ライン毎に異なるオフセット値Q及びピッチ値Pを設定する。これにより、画像ライン毎に異なる順序で基本ベクトルD14の乱数配列を簡易に並び替えることができる。また、基本ベクトル生成回路41は、2のべき乗のバイト長を有する基本ベクトルD14を生成し、画像マスク生成回路42は、ピッチ値Pを2のべき乗でない値に設定する。これにより、マスク値を生成する際に基本ベクトルD14の特定のバイトのみが繰り返し使用されることを回避でき、その結果、マスク値の乱雑度を高めることができる。

0075

また、本実施の形態に係る暗号化回路22によれば、初期ベクトル生成回路44は、あるフレームに関して生成された暗号化画像データD100に基づいて、次のフレームに関する初期ベクトルD17を生成する。このように、フレーム毎に初期ベクトルD17を更新することによって基本ベクトルD14も更新されるため、画像データD16のフレーム毎に新たな基本ベクトルD14を用いて画像データD16を適切に暗号化することが可能となる。また、自己循環によって初期ベクトルD17を更新するため、暗号化回路22と復号化回路32との間で初期ベクトルD17,D27を同期させるための通信は不要となり、通信量を削減することが可能となる。

0076

22暗号化回路
41基本ベクトル生成回路
42画像マスク生成回路
43 XOR演算回路
44初期ベクトル生成回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ