JP2008205753A - 信号処理装置 - Google Patents

信号処理装置 Download PDF

Info

Publication number
JP2008205753A
JP2008205753A JP2007038744A JP2007038744A JP2008205753A JP 2008205753 A JP2008205753 A JP 2008205753A JP 2007038744 A JP2007038744 A JP 2007038744A JP 2007038744 A JP2007038744 A JP 2007038744A JP 2008205753 A JP2008205753 A JP 2008205753A
Authority
JP
Japan
Prior art keywords
key information
generation unit
processing unit
original data
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007038744A
Other languages
English (en)
Other versions
JP5435845B2 (ja
JP2008205753A5 (ja
Inventor
Fumiaki Tsukasaki
史明 塚嵜
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.)
MegaChips Corp
Original Assignee
MegaChips LSI Solutions Inc
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 MegaChips LSI Solutions Inc filed Critical MegaChips LSI Solutions Inc
Priority to JP2007038744A priority Critical patent/JP5435845B2/ja
Priority to US12/018,618 priority patent/US9058507B2/en
Publication of JP2008205753A publication Critical patent/JP2008205753A/ja
Publication of JP2008205753A5 publication Critical patent/JP2008205753A5/ja
Application granted granted Critical
Publication of JP5435845B2 publication Critical patent/JP5435845B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】リソースの追加を最小限に抑えつつ、暗号化及び復号化のための複数のキー情報を扱うことを可能とすることにより、セキュリティ性の高い信号処理装置を得る。
【解決手段】暗号化キー22の元となる元データ20が、メモリセルアレイ7から読み出されて、バッファ領域51に格納されている。暗号化キー生成部52は、バッファ領域51から読み出した元データ20を、所定の生成ルール21に基づいて様々に加工することにより、複数の暗号化キー22を生成する。暗号化処理部53は、暗号化キー生成部52によって生成された複数の暗号化キー22のうち、コマンドD1毎に異なる暗号化キー22を用いて、各コマンドD1を暗号化することにより、暗号化されたコマンドD2を生成する。
【選択図】図2

Description

本発明は、信号処理装置に関し、特に、メモリシステムにおける暗号化装置及び復号化装置に関する。
暗号化及び復号化に用いるキー情報が記述されたデータテーブルを、半導体メモリのメモリセルアレイ内に記憶し、データテーブルのインデックス値の指定によってキー情報を読み出して、そのキー情報を用いて暗号化及び復号化を行う信号処理装置が、下記特許文献1に開示されている。
特開2006−164236号公報
セキュリティ性を向上するためには、コマンド単位又はデータ単位でキー情報の内容を変更することが望ましい。ところで、上記特許文献1に開示された信号処理装置によると、データテーブルがメモリセルアレイ内に記憶されている。また、データテーブル内に複数のキー情報を記述すると、キー情報の数に比例してデータテーブル全体の容量が大きくなる。そのため、データテーブルを記憶するためにメモリセルアレイ内に確保すべき領域が大きくなり、それに伴って、データを記憶しておくための領域の記憶容量が小さくなってしまう。
本発明はかかる事情に鑑みて成されたものであり、リソースの追加を最小限に抑えつつ、暗号化及び復号化のための複数のキー情報を扱うことを可能とすることにより、セキュリティ性の高い信号処理装置を得ることを目的とする。
第1の発明に係る信号処理装置は、キー情報の元となる元データが記憶された記憶部から読み出した前記元データを、所定のルールに基づいて様々に加工することにより、複数のキー情報を生成するキー情報生成部と、前記キー情報生成部によって生成された前記複数のキー情報のうち、異なるキー情報を用いて、各ビット列を暗号化することにより、暗号化されたビット列を生成する処理部とを備える。
第2の発明に係る信号処理装置は、キー情報の元となる元データが記憶された記憶部から読み出した前記元データを、所定のルールに基づいて様々に加工することにより、複数のキー情報を生成するキー情報生成部と、暗号化された各ビット列を、前記キー情報生成部によって生成された前記複数のキー情報のうち、異なるキー情報を用いて復号化することにより、復号化されたビット列を生成する処理部とを備える。
第3の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報生成部は、前記処理部が参照可能なバッファ領域を有しており、前記キー情報生成部は、生成された前記複数のキー情報がインデックス値を用いてキー情報毎に区分して並べられたキー情報テーブルを作成し、当該キー情報テーブルを前記バッファ領域に格納することを特徴とする。
第4の発明に係る信号処理装置は、第3の発明に係る信号処理装置において特に、前記処理部は、所定のパラメータによって前記インデックス値を指定することにより、当該インデックス値に対応するキー情報を前記バッファ領域から読み出し、前記キー情報生成部は、前記処理部から入力した前記パラメータを加工することにより他のパラメータに変更する加工部をさらに有することを特徴とする。
第5の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記処理部は、前記キー情報生成部から入力したキー情報を加工することにより他のキー情報に変更する加工部を有することを特徴とする。
第6の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報生成部は、生成可能な前記複数のキー情報のうちの一部のキー情報群を、前記処理部が使用可能なキー情報として設定し、前記処理部は、前記キー情報群の中から使用する特定のキー情報を指定するために、前記キー情報生成部に対して所定のパラメータを入力し、前記キー情報生成部は、前記パラメータと、前記複数のキー情報の中における前記キー情報群の設定情報とに基づいて、前記キー情報群の中から前記特定のキー情報を選択して前記処理部に入力することを特徴とする。
第7の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報は第1のデータ長を有しており、前記元データは、前記第1のデータ長よりも長い第2のデータ長を有しており、前記キー情報生成部は、前記第2のデータ長の中から第1のデータ長分の部分データを抽出することにより、前記キー情報を生成し、前記キー情報生成部は、前記部分データを抽出する箇所を異ならせることにより、前記複数のキー情報を生成することを特徴とする。
第8の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報生成部は、前記元データのビット配列をシャッフルすることにより、前記複数のキー情報を生成することを特徴とする。
第9の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報生成部は、前記元データのビット配列の少なくとも一部分を、前記元データの特定部分のビット配列で置換することにより、前記複数のキー情報を生成することを特徴とする。
第10の発明に係る信号処理装置は、第1又は第2の発明に係る信号処理装置において特に、前記キー情報生成部は、所定のビット列を用いて、前記元データに対して所定の演算を行うことにより、前記処理部における今回の処理で使用するキー情報を生成することを特徴とする。
第1の発明に係る信号処理装置によれば、キー情報の元となる元データが記憶部に記憶されており、キー情報生成部は、記憶部から読み出した元データを様々に加工することによって、複数のキー情報を生成する。そして、処理部は、異なるキー情報を用いて、各ビット列を暗号化する。従って、記憶部には複数のキー情報を記憶する必要がないため、リソースの追加を最小限に抑えつつ、複数のキー情報を扱うことが可能となり、セキュリティ性を高めることができる。
第2の発明に係る信号処理装置によれば、キー情報の元となる元データが記憶部に記憶されており、キー情報生成部は、記憶部から読み出した元データを様々に加工することによって、複数のキー情報を生成する。そして、処理部は、暗号化された各ビット列を、異なるキー情報を用いて復号化する。従って、記憶部には複数のキー情報を記憶する必要がないため、リソースの追加を最小限に抑えつつ、複数のキー情報を扱うことが可能となり、セキュリティ性を高めることができる。
第3の発明に係る信号処理装置によれば、キー情報生成部は、複数のキー情報が記述されたキー情報テーブルを作成し、当該キー情報テーブルをバッファ領域に格納する。従って、キー情報を変更する際には、その時点で新たにキー情報を生成する必要はなく、キー情報テーブルの中から他のキー情報を選択すれば足りる。その結果、処理の高速化を図ることができる。
第4の発明に係る信号処理装置によれば、キー情報生成部が有する加工部は、処理部から入力したパラメータを加工することにより他のパラメータに変更する。従って、処理部から出力されたパラメータが第三者によって解読された場合であっても、そのパラメータは加工部によって他のパラメータに変更されるため、セキュリティ性を向上することができる。
第5の発明に係る信号処理装置によれば、処理部が有する加工部は、キー情報生成部から入力したキー情報を加工することにより他のキー情報に変更する。従って、キー情報生成部から出力されたキー情報が第三者によって解読された場合であっても、そのキー情報は加工部によって他のキー情報に変更されるため、セキュリティ性を向上することができる。
第6の発明に係る信号処理装置によれば、キー情報生成部は、処理部から入力されたパラメータと、複数のキー情報の中におけるキー情報群の設定情報とに基づいて、キー情報群の中から使用する特定のキー情報を選択する。従って、キー情報テーブルを格納するためのバッファ領域をキー情報生成部が具備する必要がないため、信号処理装置全体として装置構成の簡略化を図ることができる。
第7の発明に係る信号処理装置によれば、一の元データから複数のキー情報を簡易かつ確実に生成することができる。
第8の発明に係る信号処理装置によれば、一の元データから複数のキー情報を簡易かつ確実に生成することができる。
第9の発明に係る信号処理装置によれば、一の元データから複数のキー情報を簡易かつ確実に生成することができる。
第10の発明に係る信号処理装置によれば、一の元データから複数のキー情報を簡易かつ確実に生成することができる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
実施の形態1.
図1は、本発明の実施の形態1に係る信号処理装置1の全体構成を示すブロック図である。信号処理装置1は、ホストコンピュータ2と半導体メモリ3とを備えて構成されている。半導体メモリ3は、例えば、ホストコンピュータ2に着脱自在に接続可能なメモリカードである。
図1に示すように、ホストコンピュータ2は、CPU4、処理部5,6、送信部10、及び受信部11を備えて構成されている。半導体メモリ3は、メモリセルアレイ7、処理部8,9、受信部12、及び送信部13を備えて構成されている。
以下、メモリセルアレイ7に記憶されているデータをホストコンピュータ2によって読み出す場合を例にとり、本発明の内容を説明する。但し、本発明は、メモリセルアレイ7からのデータの読み出しのみならず、メモリセルアレイ7へのデータの書き込み等の他の処理にも適用可能である。
図1を参照して、CPU4は、データの読み出しに関するコマンドD1を出力する。コマンドD1は、処理部5に入力される。処理部5は、コマンドD1に対して後述の暗号化処理を施して、暗号化されたコマンドD2を出力する。コマンドD2は、送信部10と、半導体メモリ3の受信部12とをこの順に経由して、処理部8に入力される。処理部8は、コマンドD2に対して後述の復号化処理を施して、復号化されたコマンドD3を出力する。復号化されたコマンドD3は、メモリセルアレイ7に入力される。詳細には、復号化されたコマンドD3は、図示しないアクセスコントローラに入力され、アクセスコントローラは、コマンドD3を解析して、Read要求とアドレスとをメモリセルアレイ7に入力する。
メモリセルアレイ7からは、コマンドD3に記述されているアドレスに対応するデータD4が読み出される。データD4は、処理部9に入力される。処理部9は、データD4に対して後述の暗号化処理を施して、暗号化されたデータD5を出力する。データD5は、送信部13と、ホストコンピュータ2の受信部11とをこの順に経由して、処理部6に入力される。処理部6は、データD5に対して後述の復号化処理を施して、復号化されたデータD6を出力する。データD6はCPU4に入力される。
図2は、本実施の形態1に係る信号処理装置1に関して、図1に示した処理部5の構成を示すブロック図である。処理部5は、バッファ領域51、暗号化キー生成部52、及び暗号化処理部53を備えて構成されている。バッファ領域51には、暗号化キー(暗号化キー情報)の元となる1個の元データ20と、元データ20を加工して暗号化キーを生成するための生成ルール21とが記憶されている。元データ20及び生成ルール21は、後述の図3に示すように半導体メモリ3のメモリセルアレイ7内に予め記憶されており、信号処理装置1の電源投入直後に、元データ20及び生成ルール21がメモリセルアレイ7から読み出されて、バッファ領域51にコピーされる。このとき、元データ20自体及び生成ルール21自体をコピーするのではなく、元データ20及び生成ルール21を作成するために必要となる情報を、メモリセルアレイ7からホストコンピュータ2に送信し、これらの情報に基づいて、ホストコンピュータ2内で元データ20及び生成ルール21を作成して、バッファ領域51内に格納しても良い。あるいは、元データ20及び生成ルール21を、ホストコンピュータ2内のROM等の不揮発性メモリ(図示しない)内に予め記憶しておき、信号処理装置1の電源投入直後に、その不揮発性メモリからバッファ領域51に元データ20及び生成ルール21を読み出しても良い。この場合は、半導体メモリ3からホストコンピュータ2へ元データ20及び生成ルール21を送信する必要がないため、セキュリティ性の向上を図ることができる。
暗号化キー生成部52は、バッファ領域51から元データ20及び生成ルール21を読み出し、生成ルール21に基づいて元データ20を様々に加工することにより、複数の暗号化キー22を生成する。生成ルール21として規定されている元データ20の加工方式については、後述する。
複数の暗号化キー22は、暗号化処理部53に順に入力される。また、暗号化処理部53には、図1に示したCPU4からコマンドD1が入力されている。暗号化処理部53は、暗号化キー22を用いてコマンドD1を暗号化することにより、暗号化されたコマンドD2を出力する。このとき、異なるコマンドD1毎に異なる暗号化キー22が使用される。コマンドD1のデータ長が例えば8バイトである場合には、8バイト長のビット列(この場合はコマンド)毎に異なる暗号化キー22が使用されることになる。
図3は、本実施の形態1に係る信号処理装置1に関して、図1に示した処理部8及びメモリセルアレイ7の構成を示すブロック図である。メモリセルアレイ7には、図示しないデータのほかに、元データ20及び生成ルール21が記憶されている。処理部8は、復号化キー生成部82及び復号化処理部83を備えて構成されている。
復号化キー生成部82は、メモリセルアレイ7から元データ20及び生成ルール21を読み出し、生成ルール21に基づいて元データ20を様々に加工することにより、複数の復号化キー22(暗号化キー22に等しい)を生成する。生成ルール21として規定されている元データ20の加工方式については、後述する。
複数の復号化キー22は、復号化処理部83に順に入力される。また、復号化処理部83には、図1に示した受信部12からコマンドD2が入力されている。復号化処理部83は、復号化キー22を用いてコマンドD2を復号化することにより、復号化されたコマンドD3を出力する。このとき、異なるコマンドD2毎に異なる復号化キー22が使用される。コマンドD2のデータ長が例えば8バイトである場合には、8バイト長のビット列(この場合はコマンド)毎に異なる復号化キー22が使用されることになる。
図4は、本実施の形態1に係る信号処理装置1に関して、図1に示した処理部9及びメモリセルアレイ7の構成を示すブロック図である。メモリセルアレイ7には、図示しないデータのほかに、暗号化キー(暗号化キー情報)の元となる1個の元データ30と、元データ30を加工して暗号化キーを生成するための生成ルール31とが記憶されている。処理部9は、暗号化キー生成部92及び暗号化処理部93を備えて構成されている。なお、元データ30は元データ20と兼用しても良く、生成ルール31は生成ルール21と兼用しても良い。
暗号化キー生成部92は、メモリセルアレイ7から元データ30及び生成ルール31を読み出し、生成ルール31に基づいて元データ30を様々に加工することにより、複数の暗号化キー32を生成する。生成ルール31として規定されている元データ30の加工方式については、後述する。
複数の暗号化キー32は、暗号化処理部93に順に入力される。また、暗号化処理部93には、図1に示したメモリセルアレイ7からデータD4が入力されている。暗号化処理部93は、暗号化キー32を用いてデータD4を暗号化することにより、暗号化されたデータD5を出力する。このとき、異なるデータD4毎に異なる暗号化キー32が使用される。データD4のデータ長が例えば8バイトである場合には、8バイト長のビット列(この場合はデータ)毎に異なる暗号化キー32が使用されることになる。
図5は、本実施の形態1に係る信号処理装置1に関して、図1に示した処理部6の構成を示すブロック図である。処理部6は、バッファ領域61、復号化キー生成部62、及び復号化処理部63を備えて構成されている。バッファ領域61には、元データ30と生成ルール31とが記憶されている。上記と同様に、元データ30及び生成ルール31は、予めバッファ領域61に記憶されていても良いし、あるいは、メモリセルアレイ7内に記憶されている元データ30及び生成ルール31(図4参照)を、信号処理装置1の電源投入直後にメモリセルアレイ7からバッファ領域61にコピーしても良い。このとき、元データ30自体及び生成ルール31自体をコピーするのではなく、元データ30及び生成ルール31を作成するために必要となる情報を、メモリセルアレイ7からホストコンピュータ2に送信し、これらの情報に基づいて、ホストコンピュータ2内で元データ30及び生成ルール31を作成して、バッファ領域61内に格納しても良い。
復号化キー生成部62は、バッファ領域61から元データ30及び生成ルール31を読み出し、生成ルール31に基づいて元データ30を様々に加工することにより、複数の復号化キー32(暗号化キー32に等しい)を生成する。生成ルール31として規定されている元データ30の加工方式については、後述する。
複数の復号化キー32は、復号化処理部63に順に入力される。また、復号化処理部63には、図1に示した受信部11からデータD5が入力されている。復号化処理部63は、復号化キー32を用いてデータD5を復号化することにより、復号化されたデータD6を出力する。このとき、異なるデータD5毎に異なる復号化キー32が使用される。データD5のデータ長が例えば8バイトである場合には、8バイト長のビット列(この場合はデータ)毎に異なる復号化キー32が使用されることになる。
図6は、図2に示した暗号化キー生成部52によって暗号化キー22を生成するための、元データ20の加工方式の第1の例を説明するための図である。図6に示した例では、暗号化キー22のデータ長は16バイトである。また、元データ20のデータ長は、暗号化キー22のデータ長よりも長く、図6に示した例では26バイトである。
暗号化キー生成部52は、元データ20の26バイトのデータ長の中から16バイト分の部分データを抽出することにより、16バイト長の暗号化キー22を生成する。その際、暗号化キー生成部52は、元データ20の中から部分データを抽出する箇所を段階的に異ならせることにより、互いに異なる複数の暗号化キー22A〜22Kを生成する。例えば、暗号化キー22Aは、元データ20の第0バイト(左端)から第15バイトを抽出したものであり、暗号化キー22Bは、元データ20の第1バイトから第16バイトを抽出したものである。
具体的には、暗号化キー生成部52は、CPU4からコマンドD1を受信した回数を計数するカウンタ(図示しない)を有している。カウンタの値が例えば「0」である場合は、暗号化キー生成部52は、元データ20の先頭アドレスを読み出し開始アドレスに設定する。これにより、元データ20の先頭アドレスから順に16バイト分の部分データが読み出され、暗号化キー22Aが抽出される。また、カウンタの値が例えば「1」である場合は、暗号化キー生成部52は、元データ20の先頭アドレスに1バイトを加算したアドレスを、読み出し開始アドレスに設定する。これにより、元データ20の先頭アドレスに1バイトを加算したアドレスから順に16バイト分の部分データが読み出され、暗号化キー22Bが抽出される。
なお、図6に示した例では部分データの抽出箇所を1バイト単位でシフトさせたが、シフトの単位は1バイトに限らず、1ビット、複数ビット、又は複数バイトであっても良い。また、図6には、連続する16バイト分の部分データを抽出して暗号化キー22とする例が示されているが、これに限らず、不連続の複数の部分データを抽出し、これらを結合することによって、16バイト長の暗号化キー22を生成することも可能である。例えば、元データ20の最初の10バイト長の第1部分データと、最後の6バイト長の第2部分データとを抽出し、これら第1部分データ及び第2部分データを繋げることによって、16バイト長の暗号化キー22を生成しても良い。
図6に示した例では、暗号化キー22のデータ長が16バイトであるため、従来の方法によって11種類の暗号化キー22を準備するためには、16*11=176バイト分の記憶容量を、メモリセルアレイ7内に確保する必要がある。これに対して、図6に示した方法によると、メモリセルアレイ7内に確保すべき記憶容量は16+10=26バイト分で足りるため、容量を大幅に削減することができる。
図6と同様の方法によって、図3に示した復号化キー生成部82は複数の復号化キー22を生成可能であり、図4に示した暗号化キー生成部92は複数の暗号化キー32を生成可能であり、図5に示した復号化キー生成部62は複数の復号化キー32を生成可能である。
図7,8は、図2に示した暗号化キー生成部52によって暗号化キー22を生成するための、元データ20の加工方式の第2の例を説明するための図である。図7,8に示した例では、元データ20は、第0バイトK0から第7バイトK7までの、合計8バイトから成る。同様に、暗号化キー22のデータ長も8バイトである。
暗号化キー生成部52は、元データ20のビット配列を1バイト単位で区分して、区分されたバイトの配列順序を並び替える(つまりシャッフルする)ことにより、暗号化キー22を生成する。
図7に示した例では、暗号化キー生成部52は、元データ20のビット配列を1バイト単位で左側にシフトすることにより、互いに異なる複数の暗号化キー22A〜22Hを生成する。左側へのシフトによって左端から溢れたバイトは、右端に移動される。例えば、暗号化キー22Aの構成は、先頭から順にバイトK0→K1→K2→K3→K4→K5→K6→K7であり、暗号化キー22Bの構成は、先頭から順にバイトK1→K2→K3→K4→K5→K6→K7→K0である。
具体的には、暗号化キー生成部52は、CPU4からコマンドD1を受信した回数を計数するカウンタ(図示しない)を有している。カウンタの値が例えば「0」である場合は、元データ20の先頭アドレス(バイトK0)から順に読み出されることにより、暗号化キー22Aが生成される。また、カウンタの値が例えば「1」である場合は、暗号化キー生成部52は、元データ20の先頭アドレスに1バイトを加算したアドレスを、読み出し開始アドレスに設定する。これにより、元データ20の先頭アドレスに1バイトを加算したアドレス(バイトK1)から順に読み出される。そして、元データ20の最終アドレスまで読み出しが進んだ時点で、暗号化キー22のデータ長が8バイト長に満たない場合には、元データ20の先頭アドレスに戻り、8バイト長となるまで読み出しを継続する。これにより、暗号化キー22Bが生成される。
図8に示した例では、暗号化キー生成部52は、元データ20のビット配列を1バイト単位でランダムに並び替えることにより、互いに異なる複数の暗号化キー22A〜22Dを生成する。
なお、図7,8に示した例では元データ20のビット配列を1バイト単位で区分してシャッフルしたが、区分の単位は1バイトに限らず、1ビット、複数ビット、又は複数バイトであっても良い。
図7,8に示した例では、暗号化キー22のデータ長が8バイトであるため、従来の方法によってN種類(Nは2以上の自然数)の暗号化キー22を準備するためには、8*Nバイト分の記憶容量を、メモリセルアレイ7内に確保する必要がある。これに対して、図7,8に示した方法によると、メモリセルアレイ7内に確保すべき記憶容量は、元データ20の8バイト分で足りるため、容量を大幅に削減することができる。
図7,8と同様の方法によって、図3に示した復号化キー生成部82は複数の復号化キー22を生成可能であり、図4に示した暗号化キー生成部92は複数の暗号化キー32を生成可能であり、図5に示した復号化キー生成部62は複数の復号化キー32を生成可能である。
図9は、図2に示した暗号化キー生成部52によって暗号化キー22を生成するための、元データ20の加工方式の第3の例を説明するための図である。図9に示した例では、元データ20は、第0バイトK0から第7バイトK7までの、合計8バイトから成る。同様に、暗号化キー22のデータ長も8バイトである。
暗号化キー生成部52は、元データ20のビット配列の一部分又は全部を、元データ20の特定の部分のビット配列で置換(つまりコピー)することにより、暗号化キー22を生成する。
暗号化キー22Aは、元データ20の第0バイトK0から第7バイトK7までの全バイトを、元データ20のバイトK0で置換したものである。具体的には、暗号化キー22Aの第0バイトK0を生成する時は、読み出しアドレスをそのまま用いて読み出しを行うことにより、元データ20の第0バイトK0を読み出す。また、暗号化キー22Aの例えば第1バイトK1を生成する時は、読み出しアドレスから1バイト分を減じたアドレスを用いて読み出しを行うことにより、元データ20の第0バイトK0を読み出す。同様に、暗号化キー22Aの例えば第2バイトK2を生成する時は、読み出しアドレスから2バイト分を減じたアドレスを用いて読み出しを行うことにより、元データ20の第0バイトK0を読み出す。暗号化キー22Aの第3バイトK3〜第7バイトK7についても、上記と同様のアドレス変換を行うことにより、暗号化キー22Aの全てのバイトは、元データ20の第0バイトK0となる。
同様に、暗号化キー22Bは、元データ20の第0バイトK0から第7バイトK7までの全バイトを、元データ20の第2バイトK2で置換したものである。
暗号化キー22Cは、元データ20の第0バイトK0から第3バイトK3までを、元データ20の第1バイトK1で置換し、元データ20の第4バイトK4から第7バイトK7までを、元データ20の第4バイトK4で置換したものである。同様に、暗号化キー22Dは、元データ20の第0バイトK0から第3バイトK3までを、元データ20の第3バイトK3で置換し、元データ20の第4バイトK4から第7バイトK7までを、元データ20の第6バイトK6で置換したものである。
暗号化キー22Eは、元データ20の第0バイトK0及び第1バイトK1を、元データ20の第0バイトK0で置換し、元データ20の第2バイトK2及び第3バイトK3を、元データ20の第2バイトK2で置換し、元データ20の第4バイトK4及び第5バイトK5を、元データ20の第4バイトK4で置換し、元データ20の第6バイトK6及び第7バイトK7を、元データ20の第6バイトK6で置換したものである。同様に、暗号化キー22Fは、元データ20の第0バイトK0及び第1バイトK1を、元データ20の第1バイトK1で置換し、元データ20の第2バイトK2及び第3バイトK3を、元データ20の第3バイトK3で置換し、元データ20の第4バイトK4及び第5バイトK5を、元データ20の第5バイトK5で置換し、元データ20の第6バイトK6及び第7バイトK7を、元データ20の第7バイトK7で置換したものである。
なお、図9に示した例では元データ20のビット配列を1バイト単位で区分して置換したが、区分の単位は1バイトに限らず、1ビット、複数ビット、又は複数バイトであっても良い。
図9に示した例では、暗号化キー22のデータ長が8バイトであるため、従来の方法によってN種類の暗号化キー22を準備するためには、8*Nバイト分の記憶容量を、メモリセルアレイ7内に確保する必要がある。これに対して、図9に示した方法によると、メモリセルアレイ7内に確保すべき記憶容量は元データ20の8バイト分で足りるため、容量を大幅に削減することができる。
図9と同様の方法によって、図3に示した復号化キー生成部82は複数の復号化キー22を生成可能であり、図4に示した暗号化キー生成部92は複数の暗号化キー32を生成可能であり、図5に示した復号化キー生成部62は複数の復号化キー32を生成可能である。
図10は、図2に示した暗号化キー生成部52によって暗号化キー22を生成するための、元データ20の加工方式の第4の例を説明するための図である。図10に示した例では、元データ20は、第0バイトK0から第7バイトK7までの、合計8バイトから成る。また、データD5も、第0バイトL0から第7バイトL7までの、合計8バイトから成る。同様に、暗号化キー22のデータ長も8バイトである。データD5は、過去の処理(例えば前回の読み出し処理)によって半導体メモリ3からホストコンピュータ2に送られたデータである(図1参照)。
暗号化キー生成部52は、図1に示した処理部9によって過去に処理されたデータD5を用いて、元データ20に対して所定の演算を行うことにより、処理部9における今回の処理で使用する暗号化キー22を生成する。
図10を参照して、暗号化キー22Aは、元データ20の各バイトK0〜K7とデータD5の各バイトL0〜L7とで排他的論理和演算をそれぞれ行い、各バイト毎の演算結果を順に並べてバイトM0〜M7としたものである。
暗号化キー22Bは、元データ20の第0バイトK0とデータD5の第0バイトL0とで排他的論理和演算を行い、その演算結果を第0バイトM0とし、残りの第1バイト〜第7バイトには、元データ20の第1バイトK1〜第7バイトK7を使用したものである。
暗号化キー22Cは、元データ20の第1バイトK1とデータD5の第1バイトL1とで排他的論理和演算を行い、その演算結果を第1バイトM1とし、残りの第0バイト及び第2バイト〜第7バイトには、元データ20の第0バイトK0及び第2バイトK2〜第7バイトK7を使用したものである。
暗号化キー22Dは、元データ20の各バイトK0〜K7とデータD5の各バイトL0〜L7とで論理和演算をそれぞれ行い、各バイト毎の演算結果を順に並べてバイトN0〜N7としたものである。
暗号化キー22Eは、元データ20の第0バイトK0とデータD5の第0バイトL0とで論理和演算を行い、その演算結果を第0バイトN0とし、残りの第1バイト〜第7バイトには、元データ20の第1バイトK1〜第7バイトK7を使用したものである。
なお、図10に示した例では元データ20のビット配列を1バイト単位で区分して演算を行ったが、区分の単位は1バイトに限らず、1ビット、複数ビット、又は複数バイトであっても良い。また、前回処理したデータD5を用いて演算を行ったが、前回処理したコマンドD2を用いて演算を行っても良い。さらに、過去に処理されたデータD5又は過去に処理されたコマンドD2を用いる代わりに、今回の処理において疑似乱数生成回路によって疑似乱数を生成し、その生成された疑似乱数のビット列を用いて、元データ20との演算を行っても良い。
図10に示した例では、暗号化キー22のデータ長が8バイトであるため、従来の方法によってN種類の暗号化キー22を準備するためには、8*Nバイト分の記憶容量を、メモリセルアレイ7内に確保する必要がある。これに対して、図10に示した方法によると、メモリセルアレイ7内に確保すべき記憶容量は元データ20の8バイト分で足りるため、容量を大幅に削減することができる。
図10と同様の方法によって、図3に示した復号化キー生成部82は複数の復号化キー22を生成可能であり、図4に示した暗号化キー生成部92は複数の暗号化キー32を生成可能であり、図5に示した復号化キー生成部62は複数の復号化キー32を生成可能である。
本実施の形態1に係る信号処理装置1によれば、暗号化キー22,32の元となる元データ20,30がメモリセルアレイ7に記憶されており、暗号化キー生成部52,92は、メモリセルアレイ7から読み出した元データ20,30を様々に加工することによって、複数の暗号化キー22,32をそれぞれ生成する。そして、暗号化処理部53,93は、コマンドD1毎及びデータD4毎に異なる暗号化キー22,32を用いて、各コマンドD1及び各データD4を暗号化する。従って、メモリセルアレイ7には複数の暗号化キー22及び複数の暗号化キー32を記憶する必要がないため、リソースの追加を最小限に抑えつつ、複数の暗号化キー22及び複数の暗号化キー32を扱うことが可能となり、セキュリティ性を高めることができる。
同様に、本実施の形態1に係る信号処理装置1によれば、復号化キー22,32の元となる元データ20,30がメモリセルアレイ7に記憶されており、復号化キー生成部62,82は、メモリセルアレイ7から読み出した元データ20,30を様々に加工することによって、複数の復号化キー22,32を生成する。そして、復号化処理部63,83は、暗号化されたコマンドD2及びデータD5を、コマンドD2毎及びデータD5毎に異なる復号化キー22,32を用いて復号化する。従って、メモリセルアレイ7には複数の復号化キー22及び複数の復号化キー32を記憶する必要がないため、リソースの追加を最小限に抑えつつ、複数の復号化キー22及び複数の復号化キー32を扱うことが可能となり、セキュリティ性を高めることができる。
実施の形態2.
図11は、本発明の実施の形態2に係る信号処理装置1に関して、図1に示した処理部5の構成を示すブロック図である。処理部5は、図2に示した上記実施の形態1と同様のバッファ領域51、暗号化キー生成部52、及び暗号化処理部53に加えて、暗号化処理部53が参照可能なバッファ領域54を備えて構成されている。
信号処理装置1の電源投入直後、暗号化キー生成部52は、バッファ領域51から元データ20及び生成ルール21を読み出し、生成ルール21に基づいて元データ20を様々に加工することにより、複数の暗号化キー22を生成する。暗号化キー22の生成手法については、上記実施の形態1で説明した通りである。その後、暗号化キー生成部52は、生成した複数の暗号化キー22に基づいて、後述のキー情報テーブル23を作成し、そのキー情報テーブル23をバッファ領域54内に格納する。
図12は、本発明の実施の形態2に係る信号処理装置1に関して、図1に示した処理部8及びメモリセルアレイ7の構成を示すブロック図である。図12に示したメモリセルアレイ7は、図3に示した上記実施の形態1に係るメモリセルアレイ7と同様である。また、処理部8は、図3に示した上記実施の形態1と同様の復号化キー生成部82及び復号化処理部83に加えて、復号化処理部83が参照可能なバッファ領域84を備えて構成されている。
信号処理装置1の電源投入直後、復号化キー生成部82は、メモリセルアレイ7から元データ20及び生成ルール21を読み出し、生成ルール21に基づいて元データ20を様々に加工することにより、複数の復号化キー22を生成する。復号化キー22の生成手法については、上記実施の形態1で説明した通りである。その後、復号化キー生成部82は、生成した複数の復号化キー22に基づいて、後述のキー情報テーブル23を作成し、そのキー情報テーブル23をバッファ領域84内に格納する。
図13は、キー情報テーブル23を示す図である。キー情報テーブル23には、複数のキー情報A0〜Anが記述されている。キー情報A0〜Anは、暗号化キー生成部52が作成したキー情報テーブル23にあっては暗号化キーであり、復号化キー生成部82が作成したキー情報テーブル23にあっては復号化キーである。キー情報A0〜Anは、インデックス値によって各キー情報毎に区分して並べられている。
図11を参照して、暗号化処理部53は、パラメータ24によって、キー情報テーブル23のインデックス値を指定する。キー情報テーブル23からは、指定されたインデックス値に対応する暗号化キー22が読み出され、暗号化処理部53に入力される。コマンドD1毎に異なるパラメータ24を用いることにより、コマンドD1毎に異なる暗号化キー22を用いて暗号化処理を行うことができる。
図12を参照して、復号化処理部83は、パラメータ24によって、キー情報テーブル23のインデックス値を指定する。キー情報テーブル23からは、指定されたインデックス値に対応する復号化キー22が読み出され、復号化処理部83に入力される。コマンドD2毎に異なるパラメータ24を用いることにより、コマンドD2毎に異なる復号化キー22を用いて復号化処理を行うことができる。
図14は、本発明の実施の形態2に係る信号処理装置1に関して、図1に示した処理部9及びメモリセルアレイ7の構成を示すブロック図である。図14に示したメモリセルアレイ7は、図4に示した上記実施の形態1に係るメモリセルアレイ7と同様である。また、処理部9は、図4に示した上記実施の形態1と同様の暗号化キー生成部92及び暗号化処理部93に加えて、暗号化処理部93が参照可能なバッファ領域94を備えて構成されている。
信号処理装置1の電源投入直後、暗号化キー生成部92は、メモリセルアレイ7から元データ30及び生成ルール31を読み出し、生成ルール31に基づいて元データ30を様々に加工することにより、複数の暗号化キー32を生成する。暗号化キー32の生成手法については、上記実施の形態1で説明した通りである。その後、暗号化キー生成部92は、生成した複数の暗号化キー32に基づいて、後述のキー情報テーブル33を作成し、そのキー情報テーブル33をバッファ領域94内に格納する。
図15は、本発明の実施の形態2に係る信号処理装置1に関して、図1に示した処理部6の構成を示すブロック図である。処理部6は、図5に示した上記実施の形態1と同様のバッファ領域61、復号化キー生成部62、及び復号化処理部63に加えて、復号化処理部63が参照可能なバッファ領域64を備えて構成されている。
信号処理装置1の電源投入直後、復号化キー生成部62は、バッファ領域61から元データ30及び生成ルール31を読み出し、生成ルール31に基づいて元データ30を様々に加工することにより、複数の復号化キー32を生成する。復号化キー32の生成手法については、上記実施の形態1で説明した通りである。その後、復号化キー生成部62は、生成した複数の復号化キー32に基づいて、後述のキー情報テーブル33を作成し、そのキー情報テーブル33をバッファ領域64内に格納する。
図16は、キー情報テーブル33を示す図である。キー情報テーブル33には、複数のキー情報B0〜Bnが記述されている。キー情報B0〜Bnは、暗号化キー生成部92が作成したキー情報テーブル33にあっては暗号化キーであり、復号化キー生成部62が作成したキー情報テーブル33にあっては復号化キーである。キー情報B0〜Bnは、インデックス値によって各キー情報毎に区分して並べられている。
図14を参照して、暗号化処理部93は、パラメータ34によって、キー情報テーブル33のインデックス値を指定する。キー情報テーブル33からは、指定されたインデックス値に対応する暗号化キー32が読み出され、暗号化処理部93に入力される。データD4毎に異なるパラメータ34を用いることにより、データD4毎に異なる暗号化キー32を用いて暗号化処理を行うことができる。
図15を参照して、復号化処理部63は、パラメータ34によって、キー情報テーブル33のインデックス値を指定する。キー情報テーブル33からは、指定されたインデックス値に対応する復号化キー32が読み出され、復号化処理部63に入力される。データD5毎に異なるパラメータ34を用いることにより、データD5毎に異なる復号化キー32を用いて復号化処理を行うことができる。
本実施の形態2に係る信号処理装置1によれば、上記実施の形態1と同様の効果に加えて、以下の効果を得ることができる。つまり、暗号化キー生成部52及び復号化キー生成部82は、複数のキー情報A0〜Anが記述されたキー情報テーブル23を作成し、当該キー情報テーブル23をバッファ領域54,84に格納する。従って、処理すべきコマンドD1,D2が更新されて、暗号化キー22及び復号化キー22を変更する際には、その時点で新たに暗号化キー22及び復号化キー22を生成する必要はなく、キー情報テーブル23の中から他の暗号化キー22及び復号化キー22を選択すれば足りる。その結果、処理の高速化を図ることができる。
同様に、暗号化キー生成部92及び復号化キー生成部62は、複数のキー情報B0〜Bnが記述されたキー情報テーブル33を作成し、当該キー情報テーブル33をバッファ領域64,94に格納する。従って、処理すべきデータD4,D5が更新されて、暗号化キー32及び復号化キー32を変更する際には、その時点で新たに暗号化キー32及び復号化キー32を生成する必要はなく、キー情報テーブル33の中から他の暗号化キー32及び復号化キー32を選択すれば足りる。その結果、処理の高速化を図ることができる。
図17は、図11に示した処理部5の変形例を示すブロック図である。図17には、処理部5の一部の構成のみが示されている。図11に示した例では、暗号化処理部53から出力されたパラメータ24がそのままキー情報テーブル23に入力された。これに対し、図17に示した変形例では、暗号化処理部53から出力されたパラメータ24は、加工部41に入力され、加工部41によって他のパラメータ24aに変更される。そして、加工部41から出力されたパラメータ24aがキー情報テーブル23に入力され、パラメータ24aによって指定されたインデックス値に対応する暗号化キー22aがキー情報テーブル23から読み出されて、暗号化処理部53に入力される。
図18は、図12に示した処理部8の変形例を示すブロック図である。図18には、処理部8の一部の構成のみが示されている。図12に示した例では、復号化処理部83から出力されたパラメータ24がそのままキー情報テーブル23に入力された。これに対し、図18に示した変形例では、復号化処理部83から出力されたパラメータ24は、加工部42に入力され、加工部42によって他のパラメータ24aに変更される。そして、加工部42から出力されたパラメータ24aがキー情報テーブル23に入力され、パラメータ24aによって指定されたインデックス値に対応する復号化キー22aがキー情報テーブル23から読み出されて、復号化処理部83に入力される。
図19は、図14に示した処理部9の変形例を示すブロック図である。図19には、処理部9の一部の構成のみが示されている。図14に示した例では、暗号化処理部93から出力されたパラメータ34がそのままキー情報テーブル33に入力された。これに対し、図19に示した変形例では、暗号化処理部93から出力されたパラメータ34は、加工部43に入力され、加工部43によって他のパラメータ34aに変更される。そして、加工部43から出力されたパラメータ34aがキー情報テーブル33に入力され、パラメータ34aによって指定されたインデックス値に対応する暗号化キー32aがキー情報テーブル33から読み出されて、暗号化処理部93に入力される。
図20は、図15に示した処理部6の変形例を示すブロック図である。図20には、処理部6の一部の構成のみが示されている。図15に示した例では、復号化処理部63から出力されたパラメータ34がそのままキー情報テーブル33に入力された。これに対し、図20に示した変形例では、復号化処理部63から出力されたパラメータ34は、加工部44に入力され、加工部44によって他のパラメータ34aに変更される。そして、加工部44から出力されたパラメータ34aがキー情報テーブル33に入力され、パラメータ34aによって指定されたインデックス値に対応する復号化キー32aがキー情報テーブル33から読み出されて、復号化処理部63に入力される。
加工部41〜44によるパラメータ24,34の加工の手法としては、例えば、図6〜10に示したような、シフト、シャッフル、コピー、又は演算等、任意の手法を使用することができる。
本実施の形態2の変形例に係る信号処理装置1によれば、加工部41は、暗号化処理部53から入力したパラメータ24を加工することにより、他のパラメータ24aに変更する。従って、暗号化処理部53から出力されたパラメータ24が漏洩し、第三者によって解読された場合であっても、そのパラメータ24は加工部41によって他のパラメータ24aに変更されるため、セキュリティ性を高めることができる。他の加工部42〜44についても、同様の効果を得ることができる。
なお、以上の説明では、元データ20及び生成ルール21に基づいて暗号化キー生成部52及び復号化キー生成部82によってキー情報テーブル23が作成され、元データ30及び生成ルール31に基づいて暗号化キー生成部92及び復号化キー生成部62によってキー情報テーブル33が作成され、加工部41〜44は、このようにして作成されたキー情報テーブル23,33を前提として、パラメータの変更処理を行う例について述べた。本実施の形態2の変形例に係る信号処理装置1は、この例に限らず、以下のような変形例にも適用可能である。
図21は、メモリセルアレイ7の変形例を示す図である。図21に示したメモリセルアレイ7には、図1に示したデータD4に相当するデータ19が記憶されている。また、図21に示したメモリセルアレイ7には、元データ20,30及び生成ルール21,31の代わりに、キー情報テーブル18が記憶されている。つまり、図21に示した変形例では、元データ20,30及び生成ルール21,31に基づいてキー情報テーブル23,33が作成されるのではなく、複数のキー情報が記述されたキー情報テーブル18が予め作成されて、メモリセルアレイ7に記憶されている。
加工部41〜44は、図21に示したような、予めメモリセルアレイ7に記憶されているキー情報テーブル18を対象としても、上記と同様にパラメータの変更処理を行うことが可能であり、同様の効果を得ることができる。
実施の形態3.
本実施の形態3では、上記実施の形態1,2の変形例について説明する。
図22は、図2,11に示した処理部5の変形例を示すブロック図である。図22には、処理部5の一部の構成のみが示されている。図2に示した例では、暗号化キー生成部52から出力された暗号化キー22が、そのまま暗号化処理部53に入力された。同様に、図11に示した例では、バッファ領域54から出力された暗号化キー22が、そのまま暗号化処理部53に入力された。これに対し、図22に示した変形例では、暗号化キー生成部52(又はバッファ領域54)から出力された暗号化キー22は、加工部71に入力され、加工部71によって他の暗号化キー22bに変更される。そして、加工部71から出力された暗号化キー22bが暗号化処理部53に入力され、暗号化処理部53は、入力された暗号化キー22bを用いてコマンドD1を暗号化する。
図23は、図3,12に示した処理部8の変形例を示すブロック図である。図23には、処理部8の一部の構成のみが示されている。図3に示した例では、復号化キー生成部82から出力された復号化キー22が、そのまま復号化処理部83に入力された。同様に、図12に示した例では、バッファ領域84から出力された復号化キー22が、そのまま復号化処理部83に入力された。これに対し、図23に示した変形例では、復号化キー生成部82(又はバッファ領域84)から出力された復号化キー22は、加工部72に入力され、加工部72によって他の復号化キー22bに変更される。そして、加工部72から出力された復号化キー22bが復号化処理部83に入力され、復号化処理部83は、入力された復号化キー22bを用いてコマンドD2を復号化する。
図24は、図4,14に示した処理部9の変形例を示すブロック図である。図24には、処理部9の一部の構成のみが示されている。図4に示した例では、暗号化キー生成部92から出力された暗号化キー32が、そのまま暗号化処理部93に入力された。同様に、図14に示した例では、バッファ領域94から出力された暗号化キー32が、そのまま暗号化処理部93に入力された。これに対し、図24に示した変形例では、暗号化キー生成部92(又はバッファ領域94)から出力された暗号化キー32は、加工部73に入力され、加工部73によって他の暗号化キー32bに変更される。そして、加工部73から出力された暗号化キー32bが暗号化処理部93に入力され、暗号化処理部93は、入力された暗号化キー32bを用いてデータD4を暗号化する。
図25は、図5,15に示した処理部6の変形例を示すブロック図である。図25には、処理部6の一部の構成のみが示されている。図5に示した例では、復号化キー生成部62から出力された復号化キー32が、そのまま復号化処理部63に入力された。同様に、図15に示した例では、バッファ領域64から出力された復号化キー32が、そのまま復号化処理部63に入力された。これに対し、図25に示した変形例では、復号化キー生成部62(又はバッファ領域64)から出力された復号化キー32は、加工部74に入力され、加工部74によって他の復号化キー32bに変更される。そして、加工部74から出力された復号化キー32bが復号化処理部63に入力され、復号化処理部63は、入力された復号化キー32bを用いてデータD5を復号化する。
加工部71〜74による暗号化キー22,32及び復号化キー22,32の加工の手法としては、例えば、図6〜10に示したような、シフト、シャッフル、コピー、又は演算等、任意の手法を使用することができる。
本実施の形態3に係る信号処理装置1によれば、加工部71は、暗号化キー生成部52から入力した暗号化キー22を加工することにより、他の暗号化キー22bに変更する。従って、暗号化キー生成部52から出力された暗号化キー22が漏洩し、第三者によって解読された場合であっても、その暗号化キー22は加工部71によって他の暗号化キー22bに変更されるため、セキュリティ性を向上することができる。他の加工部72〜74についても、同様の効果を得ることができる。
実施の形態4.
本実施の形態4では、上記実施の形態2の変形例について説明する。
図26は、本発明の実施の形態4に係る信号処理装置1に関して、図1に示した処理部5の構成を示すブロック図である。図11に示した構成からバッファ領域54が省略されている。その他の構成は、図11と同様である。
図27は、図6に対応させて、暗号化キー生成部52によって生成される複数の暗号化キー22を示す図である。図27に示した例では、暗号化キー生成部52は、合計11個の暗号化キー22A〜22Kを生成可能である。本実施の形態4では、暗号化キー生成部52は、生成可能な暗号化キー22A〜22Kのうちの一部の暗号化キーを、暗号化処理部53が使用可能な暗号化キーとして設定する。図27に示した例では、合計6個の暗号化キー22D〜22Iが、使用可能な暗号化キーとして設定されている。
また、暗号化キー生成部52は、暗号化キー22A〜22Kの中における暗号化キー22D〜22Iの位置情報を保持する。図27に示した例では、暗号化キー22Aの先頭アドレスと暗号化キー22Dの先頭アドレスとの差に相当するバイト数である「3」が、位置情報として保持される。
図28は、仮想的なキー情報テーブル76を示す図である。キー情報テーブル76には、使用可能な暗号化キーとして設定された複数の暗号化キー22D〜22Iが、インデックス値によって区分されて記述されている。キー情報テーブル76のインデックス値は、暗号化キー22Dの先頭アドレスと暗号化キー22D〜22Iの各先頭アドレスとの差のバイト数に相当する。例えば、暗号化キー22Fと暗号化キー22Dとでは先頭アドレスの差が2バイトであるため、インデックス値も「2」となっている。
図26を参照して、暗号化処理部53は、今回の処理で使用する暗号化キーを暗号化キー22D〜22Iの中から指定するために、暗号化キー生成部52に対してパラメータ24を入力する。パラメータ24は、キー情報テーブル76のインデックス値を指定するものである。
ここで、本実施の形態4に係る暗号化キー生成部52は、図11に示したようなバッファ領域54を有していないため、図28に示したキー情報テーブル76を暗号化キー生成部52によって保持させることができない。そこで、本実施の形態4では以下のように処理する。
一例として、暗号化処理部53が暗号化キー22Fを指定するために、インデックス値「2」を表すパラメータ24を、暗号化キー生成部52に入力したと仮定する。暗号化キー生成部52は、パラメータ24で与えられた「2」と、上記の位置情報である「3」とを加算することにより、「5」なる値を得る。そして、暗号化キー生成部52は、元データ20の先頭アドレスに5バイトを加算したアドレスを、読み出し開始アドレスに設定し、その読み出し開始アドレスから順に16バイト分の部分データを読み出すことにより、元データ20内から暗号化キー22Fを抽出する。このようにして生成された暗号化キー22Fは、暗号化キー生成部52から暗号化処理部53に入力される。
なお、以上の説明では、図6に示したシフトの手法をベースとして暗号化キー生成部52が複数の暗号化キー22を生成する例について述べたが、図7〜10に示したような、シャッフル、コピー、又は演算等、任意の手法を用いることができる。
本実施の形態4に係る信号処理装置1によれば、暗号化キー生成部52は、暗号化処理部53から入力されたパラメータ24と、暗号化キー22A〜22Kの中における暗号化キー22D〜22Iの位置情報とに基づいて、暗号化キー22D〜22Iの中から使用する一の暗号化キー22Fを選択して生成する。従って、上記実施の形態2に係る信号処理装置1と比較すると、キー情報テーブル23を格納するためのバッファ領域54を暗号化キー生成部52が具備する必要がないため、信号処理装置1の全体として装置構成の簡略化を図ることができる。
図29,30,31は、本発明の実施の形態4に係る信号処理装置1に関して、図1に示した処理部8,9,6の構成をそれぞれ示すブロック図である。図29の構成は、図12の構成からバッファ領域84を省略したものであり、その他の構成は図12と同様である。図30の構成は、図14の構成からバッファ領域94を省略したものであり、その他の構成は図14と同様である。図31の構成は、図15の構成からバッファ領域64を省略したものであり、その他の構成は図15と同様である。
上記した暗号化キー生成部52と同様の方法によって、図29に示した復号化キー生成部82は復号化キー22を生成可能であり、図30に示した暗号化キー生成部92は暗号化キー32を生成可能であり、図31に示した復号化キー生成部62は復号化キー32を生成可能であり、それぞれ上記と同様の効果を得ることができる。
本発明の実施の形態1に係る信号処理装置の全体構成を示すブロック図である。 本発明の実施の形態1に係る信号処理装置に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態1に係る信号処理装置に関して、図1に示した処理部及びメモリセルアレイの構成を示すブロック図である。 本発明の実施の形態1に係る信号処理装置に関して、図1に示した処理部及びメモリセルアレイの構成を示すブロック図である。 本発明の実施の形態1に係る信号処理装置に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態1に係る信号処理装置に関して、元データの加工方式の第1の例を説明するための図である。 本発明の実施の形態1に係る信号処理装置に関して、元データの加工方式の第2の例を説明するための図である。 本発明の実施の形態1に係る信号処理装置に関して、元データの加工方式の第2の例を説明するための図である。 本発明の実施の形態1に係る信号処理装置に関して、元データの加工方式の第3の例を説明するための図である。 本発明の実施の形態1に係る信号処理装置に関して、元データの加工方式の第4の例を説明するための図である。 本発明の実施の形態2に係る信号処理装置に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、図1に示した処理部及びメモリセルアレイの構成を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、キー情報テーブルを示す図である。 本発明の実施の形態2に係る信号処理装置に関して、図1に示した処理部及びメモリセルアレイの構成を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、キー情報テーブルを示す図である。 本発明の実施の形態2に係る信号処理装置に関して、図11に示した処理部の変形例を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、図12に示した処理部の変形例を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、図14に示した処理部の変形例を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、図15に示した処理部の変形例を示すブロック図である。 本発明の実施の形態2に係る信号処理装置に関して、メモリセルアレイの変形例を示すブロック図である。 本発明の実施の形態3に係る信号処理装置に関して、図2,11に示した処理部の変形例を示すブロック図である。 本発明の実施の形態3に係る信号処理装置に関して、図3,12に示した処理部の変形例を示すブロック図である。 本発明の実施の形態3に係る信号処理装置に関して、図4,14に示した処理部の変形例を示すブロック図である。 本発明の実施の形態3に係る信号処理装置に関して、図5,15に示した処理部の変形例を示すブロック図である。 本発明の実施の形態4に係る信号処理装置に関して、図1に示した処理部の構成を示すブロック図である。 図6に対応させて、暗号化キー生成部によって生成される複数の暗号化キーを示す図である。 仮想的なキー情報テーブルを示す図である。 本発明の実施の形態4に係る信号処理装置1に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態4に係る信号処理装置1に関して、図1に示した処理部の構成を示すブロック図である。 本発明の実施の形態4に係る信号処理装置1に関して、図1に示した処理部の構成を示すブロック図である。
符号の説明
1 信号処理装置
2 ホストコンピュータ
3 半導体メモリ
4 CPU
5,6,8,9 処理部
7 メモリセルアレイ
20,30 元データ
21,31 生成ルール
22,22b,32,32b 暗号化キー,復号化キー
18,23,33 キー情報テーブル
24,24a,34,34a パラメータ
41〜44,71〜74 加工部
51,54,64,84,94 バッファ領域
52,92 暗号化キー生成部
53,93 暗号化処理部
62,82 復号化キー生成部
63,83 復号化処理部

Claims (10)

  1. キー情報の元となる元データが記憶された記憶部から読み出した前記元データを、所定のルールに基づいて様々に加工することにより、複数のキー情報を生成するキー情報生成部と、
    前記キー情報生成部によって生成された前記複数のキー情報の各々を用いて、各ビット列を暗号化することにより、暗号化されたビット列を生成する処理部と
    を備える、信号処理装置。
  2. キー情報の元となる元データが記憶された記憶部から読み出した前記元データを、所定のルールに基づいて様々に加工することにより、複数のキー情報を生成するキー情報生成部と、
    暗号化された各ビット列を、前記キー情報生成部によって生成された前記複数のキー情報の各々を用いて復号化することにより、復号化されたビット列を生成する処理部と
    を備える、信号処理装置。
  3. 前記キー情報生成部は、前記処理部が参照可能なバッファ領域を有しており、
    前記キー情報生成部は、生成された前記複数のキー情報がインデックス値を用いてキー情報毎に区分して並べられたキー情報テーブルを作成し、当該キー情報テーブルを前記バッファ領域に格納する、請求項1又は2に記載の信号処理装置。
  4. 前記処理部は、所定のパラメータによって前記インデックス値を指定することにより、当該インデックス値に対応するキー情報を前記バッファ領域から読み出し、
    前記キー情報生成部は、前記処理部から入力した前記パラメータを加工することにより他のパラメータに変更する加工部をさらに有する、請求項3に記載の信号処理装置。
  5. 前記処理部は、前記キー情報生成部から入力したキー情報を加工することにより他のキー情報に変更する加工部を有する、請求項1又は2に記載の信号処理装置。
  6. 前記キー情報生成部は、生成可能な前記複数のキー情報のうちの一部のキー情報群を、前記処理部が使用可能なキー情報として設定し、
    前記処理部は、前記キー情報群の中から使用する特定のキー情報を指定するために、前記キー情報生成部に対して所定のパラメータを入力し、
    前記キー情報生成部は、前記パラメータと、前記複数のキー情報の中における前記キー情報群の設定情報とに基づいて、前記キー情報群の中から前記特定のキー情報を選択して前記処理部に入力する、請求項1又は2に記載の信号処理装置。
  7. 前記キー情報は第1のデータ長を有しており、
    前記元データは、前記第1のデータ長よりも長い第2のデータ長を有しており、
    前記キー情報生成部は、前記第2のデータ長の中から第1のデータ長分の部分データを抽出することにより、前記キー情報を生成し、
    前記キー情報生成部は、前記部分データを抽出する箇所を異ならせることにより、前記複数のキー情報を生成する、請求項1又は2に記載の信号処理装置。
  8. 前記キー情報生成部は、前記元データのビット配列をシャッフルすることにより、前記複数のキー情報を生成する、請求項1又は2に記載の信号処理装置。
  9. 前記キー情報生成部は、前記元データのビット配列の少なくとも一部分を、前記元データの特定部分のビット配列で置換することにより、前記複数のキー情報を生成する、請求項1又は2に記載の信号処理装置。
  10. 前記キー情報生成部は、所定のビット列を用いて、前記元データに対して所定の演算を行うことにより、前記処理部における今回の処理で使用するキー情報を生成する、請求項1又は2に記載の信号処理装置。
JP2007038744A 2007-02-20 2007-02-20 信号処理装置 Expired - Fee Related JP5435845B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007038744A JP5435845B2 (ja) 2007-02-20 2007-02-20 信号処理装置
US12/018,618 US9058507B2 (en) 2007-02-20 2008-01-23 Signal processor with an encrypting or decrypting device in a memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007038744A JP5435845B2 (ja) 2007-02-20 2007-02-20 信号処理装置

Publications (3)

Publication Number Publication Date
JP2008205753A true JP2008205753A (ja) 2008-09-04
JP2008205753A5 JP2008205753A5 (ja) 2010-04-15
JP5435845B2 JP5435845B2 (ja) 2014-03-05

Family

ID=39706678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007038744A Expired - Fee Related JP5435845B2 (ja) 2007-02-20 2007-02-20 信号処理装置

Country Status (2)

Country Link
US (1) US9058507B2 (ja)
JP (1) JP5435845B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014120974A (ja) * 2012-12-18 2014-06-30 Dainippon Printing Co Ltd 暗号トークンおよび暗号処理システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427987B (zh) * 2012-05-25 2016-05-18 纬创资通股份有限公司 数据加密的方法、数据验证方法及电子装置
KR20140020057A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 키 제어 로직을 포함하는 플래시 메모리 장치 및 그것의 암호화 키 저장 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59161151A (ja) * 1983-03-04 1984-09-11 Toshiba Corp デ−タ通信方式
JPH0380645A (ja) * 1988-10-28 1991-04-05 Internatl Business Mach Corp <Ibm> 暗号化方法および非暗号化方法
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
JPH10303882A (ja) * 1997-04-24 1998-11-13 Fuji Xerox Co Ltd 暗号化方法
JP2003333032A (ja) * 2002-05-15 2003-11-21 Oki Electric Ind Co Ltd 暗号処理方法,及び,暗号処理装置
JP2004186939A (ja) * 2002-12-03 2004-07-02 Sony Ericsson Mobilecommunications Japan Inc 暗号処理装置及び方法
JP2006511893A (ja) * 2002-12-18 2006-04-06 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド ポータブル・データを保護するためのシステム及び方法
JP2006164236A (ja) * 2004-11-15 2006-06-22 Ikuo Yamaguchi 記憶装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2601795B1 (fr) 1986-07-17 1988-10-07 Bull Cp8 Procede pour diversifier une cle de base et pour authentifier une cle ainsi diversifiee comme ayant ete elaboree a partir d'une cle de base predeterminee, et systeme pour la mise en oeuvre
JPH02130044A (ja) 1988-11-09 1990-05-18 Aisin Seiki Co Ltd 暗号鍵装置
JP3070072B2 (ja) 1990-07-12 2000-07-24 日新電機株式会社 データ伝送方法
JPH06102820A (ja) 1992-09-22 1994-04-15 Sony Corp 暗号装置
JPH09307546A (ja) 1996-05-14 1997-11-28 Matsushita Electric Ind Co Ltd 暗号化システムならびに暗号化システムにおける情報提供装置および情報利用側装置ならびに暗号化システムにおけるスクランブル装置およびデスクランブル装置
US7032240B1 (en) * 1999-12-07 2006-04-18 Pace Anti-Piracy, Inc. Portable authorization device for authorizing use of protected information and associated method
JP2003288009A (ja) 2002-03-28 2003-10-10 Seiko Epson Corp 暗号装置及びデータ転送制御装置
JP5060081B2 (ja) * 2006-08-09 2012-10-31 富士通株式会社 フレームを暗号化して中継する中継装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59161151A (ja) * 1983-03-04 1984-09-11 Toshiba Corp デ−タ通信方式
JPH0380645A (ja) * 1988-10-28 1991-04-05 Internatl Business Mach Corp <Ibm> 暗号化方法および非暗号化方法
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
JPH10303882A (ja) * 1997-04-24 1998-11-13 Fuji Xerox Co Ltd 暗号化方法
JP2003333032A (ja) * 2002-05-15 2003-11-21 Oki Electric Ind Co Ltd 暗号処理方法,及び,暗号処理装置
JP2004186939A (ja) * 2002-12-03 2004-07-02 Sony Ericsson Mobilecommunications Japan Inc 暗号処理装置及び方法
JP2006511893A (ja) * 2002-12-18 2006-04-06 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド ポータブル・データを保護するためのシステム及び方法
JP2006164236A (ja) * 2004-11-15 2006-06-22 Ikuo Yamaguchi 記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014120974A (ja) * 2012-12-18 2014-06-30 Dainippon Printing Co Ltd 暗号トークンおよび暗号処理システム

Also Published As

Publication number Publication date
US20080199005A1 (en) 2008-08-21
JP5435845B2 (ja) 2014-03-05
US9058507B2 (en) 2015-06-16

Similar Documents

Publication Publication Date Title
US8683218B2 (en) System and method for N-dimensional encryption
JP5060119B2 (ja) 暗号処理プログラム、暗号処理方法および暗号処理装置
US20040177257A1 (en) Data processing device and data processing method
US7801307B2 (en) Method of symmetric key data encryption
US8908859B2 (en) Cryptographic apparatus and memory system
CN102224704A (zh) 内容解密处理装置、内容解密处理方法及集成电路
CN111310222A (zh) 文件加密方法
JP5435845B2 (ja) 信号処理装置
WO2015178082A1 (ja) 情報処理装置、プログラム、及び記録媒体
JP4853026B2 (ja) 情報処理装置及びプログラム
JP2008165008A (ja) データ処理装置及びデータ処理方法
JP2015026892A (ja) 情報処理システム
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
US7707431B2 (en) Device of applying protection bit codes to encrypt a program for protection
CN112966294B (zh) 一种单轮交互的链表oram访问方法
JP7317261B2 (ja) 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム
JP4743783B2 (ja) メモリシステム
JP4094758B2 (ja) デ―タ置換・分割方法および装置
JP6162556B2 (ja) 記憶装置及び情報処理システム
KR20210081908A (ko) 암호화 알고리즘이 적용된 시스템에서의 데이터 처리 방법
JP2005050116A (ja) 命令実行装置およびその方法
JP4527960B2 (ja) 換字置換装置、換字置換方法、換字置換プログラム及び換字置換記録媒体
JP2003500681A (ja) 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン
JP2008124824A (ja) 暗号化方法、復号方法、暗号化装置、及び復号装置
JP2001236017A (ja) 置換処理装置およびそのプログラム記録媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090521

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090521

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130426

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131210

R150 Certificate of patent or registration of utility model

Ref document number: 5435845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees