JP2004361986A - スクランブル回路 - Google Patents

スクランブル回路 Download PDF

Info

Publication number
JP2004361986A
JP2004361986A JP2003152234A JP2003152234A JP2004361986A JP 2004361986 A JP2004361986 A JP 2004361986A JP 2003152234 A JP2003152234 A JP 2003152234A JP 2003152234 A JP2003152234 A JP 2003152234A JP 2004361986 A JP2004361986 A JP 2004361986A
Authority
JP
Japan
Prior art keywords
data
scramble
circuit
bits
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003152234A
Other languages
English (en)
Inventor
Shigero Oyama
茂郎 大山
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2003152234A priority Critical patent/JP2004361986A/ja
Priority to SG200401883A priority patent/SG116536A1/en
Priority to EP04252039A priority patent/EP1467274A3/en
Priority to TW093109510A priority patent/TWI292869B/zh
Priority to US10/819,281 priority patent/US20040205352A1/en
Priority to KR1020040023678A priority patent/KR100549151B1/ko
Priority to CNB200410032525XA priority patent/CN1287302C/zh
Publication of JP2004361986A publication Critical patent/JP2004361986A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/04Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating
    • A61B18/12Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating by passing a current through the tissue to be heated, e.g. high-frequency current
    • A61B18/1206Generators therefor
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/04Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating
    • A61B18/12Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating by passing a current through the tissue to be heated, e.g. high-frequency current
    • A61B18/14Probes or electrodes therefor
    • A61B18/1477Needle-like probes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00743Type of operation; Specification of treatment sites
    • A61B2017/00747Dermatology
    • A61B2017/00761Removing layer of skin tissue, e.g. wrinkles, scars or cancerous tissue

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Veterinary Medicine (AREA)
  • Biomedical Technology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Molecular Biology (AREA)
  • Otolaryngology (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Plasma & Fusion (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】メモリ内部またはバス上の情報を解読されないセキュリティ性の高いデータ処理装置やICカードを実現可能なスクランブル回路を提供する。
【解決手段】被処理データが2つのデータブロックB1、B0からなり、処理済データが2つのデータブロックB1’とB0’からなり、データブロックB1に対し第1スクランブル処理を行い、第1中間データを出力する第1のスクランブルユニット231と、データブロックB0と第1中間データとの排他的論理和演算を行い、データブロックB1’を出力する第1演算ユニット233と、データブロックB1’に対し第2スクランブル処理を行い、第2中間データを出力する第2のスクランブルユニット232と、第2中間データとデータブロックB1との排他的論理和演算を行い、データブロックB0’を出力する第2演算ユニット234と、を備える。
【選択図】 図3

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置のセキュリティ技術に関し、特に、半導体集積回路で構成されたデータ処理装置において、悪意のある攻撃者のプロービングによる半導体集積回路内部の情報読み出しや改変、剥離解析による半導体集積回路内部の情報読み出しから、内部の情報を守るセキュリティ技術に関する。
【0002】
【従来の技術】
個人情報等の機密情報を格納し、その情報を処理するICカードなどのシステムに用いられるワンチップマイクロコントローラでは高いセキュリティ性が要求され、攻撃者のアタック(機密情報の解析行為)により、内部の情報が読み出されたり書き換えられたりできないように、これら情報を保護する必要がある。
【0003】
従来は、メモリ及びワンチップコントローラを含む論理回路間で信号を伝達するアドレスバス、データバスの配線を不規則に接続し、各信号線が有する機能の特定を難しくすることで解析行為から情報を保護していた。しかし、昨今の解析技術では剥離解析により信号線の特定が現実的に可能なレベルになってきた。
【0004】
この問題に対して、下記の特許文献1では、バス上の信号を周期的に順序を換えることでバススクランブルを行う手法が開示されている。特許文献1で開示されている技術を図15に示す。符号1は半導体集積回路を示しており、その内部はCPU(Central Processing Unit )10、RAM(Random Access Memory)20、 ROM(Read Only Memory)30、EPROM(Electrically Erasable Programmable ROM)40等の機能ブロックからなり、更に、タイミング制御回路60を含む。各ブロック10,20,30,40のI/O部(データの入出力部)及びアドレスの入出力部には、これらに隣接する形で第1スクランブル回路1,21,31,41が設けられている。また、各第1スクランブル回路1,21,31,41を互いに接続するバスライン50が配置されている。タイミング制御回路60は所定のタイミングでタイミング制御信号を出力し、各第1スクランブル回路1,21,31,41はこのタイミング制御信号に従って、バスライン50の各信号の接続を入れ替えてスクランブルする。すなわち、時系列的にスクランブルを行うことによりバスライン50上を伝達する情報の解析をより困難にするというものである。尚、各第1スクランブル回路1,21,31,41の外部(バスライン50側)では信号を入れ替えるようスクランブルされるが、その内側(メモリRAM20、 ROM30、EPROM40側)では元のデータに復元されるようスクランブルされる。
【0005】
このように、図15に示される技術ではCPU10とメモリ(RAM20、 ROM30、EPROM40)間のデータはスクランブルされているが、メモリ上のデータにはスクランブルがかかっていない。すなわち、バスライン50上のデータは保護することができているが、メモリ上或いはその内部に格納されるデータを直接読み出したり書き換えたりすることに対しては無防備である。
【0006】
【特許文献1】
特開平11−203237号公報
【0007】
【発明が解決しようとする課題】
このように、攻撃者がIC内部のバスやメモリにプロービングしてデータを読み出したり書き換えたり、剥離解析により単体となったメモリからデータを読み出して元の情報を解読することに対してセキュリティ対策が十分に行われないという欠点があった。
【0008】
本発明は、上記問題点に鑑みてなされたもので、その目的は、バス上を伝達する信号をスクランブルするとともに、メモリ上だけでなく、その内部にもスクランブルがかかったデータを保存するため、バス或いはメモリ上の何れのデータに対しても、それらを直接読み出したり書き換えたりすることに対し、元の情報を解読できない回路を提供することにある。
【0009】
【課題を解決するための手段】
この目的を達成するための本発明に係るスクランブル回路は、4ビット以上の被処理データを、所定のスクランブル処理により同ビット数の処理済データに変換するスクランブル回路であって、前記被処理データは、2ビット以上の第1データブロックと前記第1データブロックと同ビット数の第2データブロックに分割されてなり、また、前記処理済データは、前記第1データブロックと夫々同ビット数の第3データブロックと第4データブロックに分割されてなり、前記第1データブロックに対し所定の第1スクランブル処理を行い同ビット数の第1中間データを出力する第1のスクランブルユニットと、前記第2データブロックと前記第1中間データとのビット毎の排他的論理和演算を行い、前記第3データブロックを出力する第1演算ユニットと、前記第3データブロックに対し前記第1スクランブル処理と同じかまたは異なる第2スクランブル処理を行い同ビット数の第2中間データを出力する第2のスクランブルユニットと、前記第2中間データと前記第1データブロックとのビット毎の排他的論理和演算を行い、前記第4データブロックを出力する第2演算ユニットと、を備えてなることを特徴とする。
【0010】
更に、本発明に係るスクランブル回路は、前記スクランブルユニットが、入力データ値を、そのスクランブルユニットに固定された変換規則に基づき一意的に定まる出力データ値に変換することを特徴とする。
【0011】
上記特徴を有する本発明に係るスクランブル回路によれば、被処理データに対しスクランブル処理を施した処理済データが得られ、元の情報が推測不可能になる。また、第1及び第2のスクランブルユニットにおけるスクランブル処理の変換規則を適宜設定することで、スクランブル処理のアルゴリズムを多種多様に自在に変更することができ、セキュリティ性の向上が図れる。
【0012】
この目的を達成するための本発明に係るデスクランブル回路は、4ビット以上のスクランブル処理済データを、所定のデスクランブル処理により同ビット数の処理前データに逆変換するデスクランブル回路であって、前記スクランブル処理済データは、2ビット以上の第5データブロックと前記第5データブロックと同ビット数の第6データブロックに分割されてなり、また、前記処理前データは、前記第5データブロックと夫々同ビット数の第7データブロックと第8データブロックに分割されてなり、前記第5データブロックに対し所定の第3スクランブル処理を行い同ビット数の第3中間データを出力する第3のスクランブルユニットと、前記第6データブロックと前記第3中間データとのビット毎の排他的論理和演算を行い、前記第7データブロックを出力する第3演算ユニットと、前記第7データブロックに対し前記第3スクランブル処理と同じかまたは異なる第4スクランブル処理を行い同ビット数の第4中間データを出力する第4のスクランブルユニットと、前記第4中間データと前記第5データブロックとのビット毎の排他的論理和演算を行い、前記第8データブロックを出力する第4演算ユニットと、を備えてなることを特徴とする。
【0013】
更に、本発明に係るデスクランブル回路は、前記スクランブルユニットは、入力データ値を、そのスクランブルユニットに固定された変換規則に基づき一意的に定まる出力データ値に変換することを特徴とする。
【0014】
上記特徴を有する本発明に係るデスクランブル回路によれば、本発明に係るスクランブル回路によってスクランブル処理されたスクランブル処理済データを元の処理前データに逆変換することができる。また、本発明に係るデスクランブル回路は、スクランブル回路と同じ回路構成で、スクランブル回路の第1のスクランブルユニットを第4のスクランブルユニットに使用し、スクランブル回路の第2のスクランブルユニットを第3のスクランブルユニットに使用することで簡単に構成できる。
【0015】
更に、本発明に係るスクランブル回路及びデスクランブル回路において、スクランブルユニットが、入力データの各ビットに対応する複数の入力端子と出力データの各ビットに対応する出力端子間の配線の一部または全部を繋ぎ換えてなり、前記配線の繋ぎ換えにより前記変換規則が固定されるように構成するのも好ましい。この場合、前記配線の繋ぎ換えにより、前記入力データに対し1ビットまたは2ビット以上の循環シフト操作が行われるように構成する。または、前記配線の繋ぎ換えにより、前記入力データの所定の2ビットに対し入れ替え操作が行われるように構成する。或いは、前記配線の繋ぎ換えにより、前記入力データに対し、1ビットまたは2ビット以上の循環シフト操作と所定の2ビットに対し入れ替え操作が組み合わせて行われるように構成する。特に、最後の構成方法の場合、配線の繋ぎ換えについて全ての組み合わせを網羅できる。
【0016】
更に、本発明に係るスクランブル回路及びデスクランブル回路において、スクランブルユニットが、入力データの一部または全部のビットに対し、所定の論理演算を施す論理演算回路を有し、前記論理演算回路により前記変換規則が固定されるように構成するのも好ましい。この場合、前記論理演算回路は、前記入力データの一部または全部のビットに対し、2ビット以上の論理演算を行うように構成する。
【0017】
更に、本発明に係るスクランブル回路及びデスクランブル回路において、スクランブルユニットが、入力データの一部または全部のビットと前記入力データの入力時のアドレスデータの一部または全部のビットに対して所定の論理演算をする論理演算回路を備えて構成され、前記論理演算回路により前記変換規則が前記アドレスデータのアドレス値に応じて一意的に定まることが好ましい。
【0018】
更に、本発明に係るスクランブル回路及びデスクランブル回路において、スクランブルユニットが、入力データの一部または全部のビットと所定の不揮発性メモリに保持された変換規則固定用データに対して所定の論理演算をする論理演算回路を備えて構成され、前記論理演算回路により前記変換規則が前記変換規則固定用データのデータ値に応じて一意的に定まるように固定されることが好ましい。
【0019】
更に、本発明に係るスクランブル回路及びデスクランブル回路において、スクランブルユニットが、入力データを予め固定された変換規則に基づき一意的に定まる出力データに変換するスクランブルサブユニットの前記変換規則が相互に異なる複数と、前記入力データの入力時の所定の情報に応じて変化する選択規則に基づき、同じ入力データの入力された前記複数のスクランブルサブユニットの出力データの1つを選択して出力する選択回路を備えて構成され、前記選択規則に基づき選択される前記スクランブルサブユニットに応じて、当該スクランブルユニットに固定された前記変換規則が一意的に定まるように固定されることが好ましい。この場合、スクランブル回路は、前記複数のスクランブルサブユニットを備える前記スクランブルユニットが、前記複数のスクランブルサブユニットへの前記入力データの入力時の所定の情報に応じて選択コードを発生し、前記入力時のアドレスデータと関連付けて所定の不揮発性メモリに記憶するコード発生回路と、前記選択コードと前記複数のスクランブルサブユニットを各別に対応付けるルックアップテーブルとを備え、前記選択回路が、前記コード発生回路が発生した前記選択コードと前記ルックアップテーブルに基づき定まる前記複数のスクランブルサブユニットの内の1つから前記出力データを選択するように構成されるのが好ましい。また、デスクランブル回路は、前記複数のスクランブルサブユニットを備える前記スクランブルユニットが、所定の不揮発性メモリに記憶された選択コードを、前記複数のスクランブルサブユニットへの前記入力データの入力時のアドレスデータに基づき読み出すコード読み出し回路と、前記選択コードと前記複数のスクランブルサブユニットを各別に対応付けるルックアップテーブルとを備え、前記選択回路が、前記コード読み出し回路が読み出した前記選択コードと前記ルックアップテーブルに基づき定まる前記複数のスクランブルサブユニットの内の1つから前記出力データを選択するように構成されるのが好ましい。
【0020】
上記のスクランブルユニットの各構成方法により、スクランブルユニットにおけるスクランブル処理の基準となる変換規則として多種多様なものをハードウェア的に規定することができる。これにより、スクランブル処理前後のデータ相関の解読が不可能若しくは極めて困難となる。
【0021】
本発明に係るデータ処理装置は、複数の機能ブロックが内部バスで接続されてなり、前記内部バスと外部バスとの第1のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記被処理データとし、前記外部バス上の一部または全部のデータを前記処理済データとする本発明に係るスクランブル回路を備えることを特徴とする。
【0022】
上記特徴を有する本発明に係るデータ処理装置によれば、内部バス上のデータにスクランブル処理を施した後に外部バスへ伝送し、例えば外部の記憶装置等に記憶することができ、データのセキュリティ性が飛躍的に向上する。
【0023】
また、本発明に係るデータ処理装置は、複数の機能ブロックが内部バスで接続されてなり、前記内部バスと外部バスとの第2のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記処理前データとし、前記外部バス上の一部または全部のデータを前記スクランブル処理済データとする本発明に係るデスクランブル回路を備えることを特徴とする。
【0024】
上記特徴を有する本発明に係るデータ処理装置によれば、本発明に係るスクランブル回路でスクランブル処理されたスクランブル処理済データを外部から受信してデスクランブル回路でデスクランブル処理することで、元の処理前データに逆変換できるので、データのセキュリティ性を確保しながら、内部バス上において元の処理前データを利用できる。
【0025】
更に、本発明に係るデータ処理装置は、複数の機能ブロックが内部バスで接続されてなり、前記内部バスと外部バスとの第1のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記被処理データとし、前記外部バス上の一部または全部のデータを前記処理済データとする本発明に係るスクランブル回路を備え、前記内部バスと外部バスとの第2のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記処理前データとし、前記外部バス上の一部または全部のデータを前記スクランブル処理済データとする本発明に係るデスクランブル回路を備えることを特徴とする。
【0026】
上記特徴を有する本発明に係るデータ処理装置によれば、内部バス上のデータにスクランブル処理を施した後に外部バスへ伝送し、例えば外部の記憶装置等に記憶することができ、データのセキュリティ性が飛躍的に向上する。更に、本発明に係るスクランブル回路でスクランブル処理されたスクランブル処理済データを外部から受信してデスクランブル回路でデスクランブル処理することで、元の処理前データに逆変換できるので、データのセキュリティ性を確保しながら、内部バス上において元の処理前データを利用できる。
【0027】
ここで、スクランブル回路は、同じデータ処理装置内のデスクランブル回路のデスクランブル処理対象であるスクランブル処理済データをスクランブル処理したスクランブル回路と必ずしも同じである必要はないが、同じであれば、同じデータ処理装置内でスクランブル処理とデスクランブル処理の両方を処理できるので、スクランブル処理済データを外部の記憶装置に記憶し、それを読み出して再利用する作業等が可能となる。
【0028】
但し、後者の場合、つまり、デスクランブル回路が同じデータ処理装置内のスクランブル回路によるスクランブル処理済データをデスクランブル処理する場合は、スクランブル回路の第1のスクランブルユニットをデスクランブル回路の第4のスクランブルユニットに使用し、スクランブル回路の第2のスクランブルユニットをデスクランブル回路の第3のスクランブルユニットに使用することで、簡単に実現できる。
【0029】
更に、本発明に係るデータ処理装置は、前記複数の機能ブロックが第2の内部バスで接続されてなり、前記第2の内部バスと第2の外部バスとの第3のバスインターフェイス部に、前記第2の内部バス上の一部または全部のデータを前記被処理データとし、前記第2の外部バス上の一部または全部のデータを前記処理済データとする本発明に係るスクランブル回路を備えていることを特徴とする。この特徴を有する本発明に係るデータ処理装置によれば、更に、データ及びデータ処理上のセキュリティ性を向上することができる。
【0030】
また、本発明に係るデータ処理装置において、前記内部バスと前記外部バス、或いは、前記第2の内部バスと第2の外部バスを、夫々複数のブロックに分割し、前記ブロック毎に本発明に係るスクランブル回路またはデスクランブル回路を備えるように構成しても構わない。
【0031】
更に、本発明に係るデータ処理装置において、前記内部バスと前記外部バスがデータバスであり、前記第2の内部バスと前記第2の外部バスがアドレスバスであることを特徴とする。この特徴を有する本発明に係るデータ処理装置によれば、データバスをスクランブル処理するスクランブル回路と、デスクランブル処理するデスクランブル回路を同じデータ処理装置内に備え、データバスとメモリ上のデータをスクランブル処理することができる。また、アドレスバスをスクランブルするスクランブル回路をデータ処理装置内に備え、メモリをスクランブル処理済のアドレスでアクセスすることにより、データをより安全に保護することができる。
【0032】
更に、本発明に係るデータ処理装置は、前記複数の機能ブロック、及び、前記バスインターフェイス部が同一半導体基板上に形成された半導体集積回路で構成されていることを特徴とすし、更に、前記機能ブロックとして算術論理演算器を含み前記内部バス及び前記外部バスを制御するワンチップマイクロコンピュータとしての機能を有することを特徴とする。これらの特徴により、攻撃者がIC内部のバスやメモリにプロービングしてデータを読み出したり書き換えたり、剥離解析により単体となったメモリからデータを読み出して元の情報を解読することが不可能或いは極めて困難となる。
【0033】
本発明に係るICカードは、本発明に係るデータ処理装置システム制御用のワンチップマイクロコンピュータとして用いたことを特徴とする。この特徴を有する本発明に係るICカードによれば、データバスとメモリ上のデータに対してスクランブル処理を施せ、セキュリティ性の高いICカードが実現できる。
【0034】
【発明の実施の形態】
本発明に係るスクランブル回路、デスクランブル回路、及び、これらを備えたデータ処理装置の一実施の形態につき、図面に基づいて説明する。
【0035】
図1に、本実施の形態に係るスクランブル回路220,230、デスクランブル回路240を有する半導体集積回路100(以下、「IC」と記す。)の内部構成の一例を示す。
【0036】
図1に示すIC100は、本発明に係るデータ処理装置の一例であるCPU200と、CPU200と外部データバス600及び外部アドレスバス700で相互に接続されているROM300、RAM400、電気的に書き換え可能なフラッシュEPROM等の不揮発性メモリ500等の外部メモリ群とを備え、ワンチップマイクロコンピュータとして構成されている。
【0037】
CPU200内は、内部データバス213を介して、ALU(算術論理演算器)210、キャッシュメモリ211、命令デコーダコントローラ212、レジスタ群214、データバス制御回路215等が相互に接続されている。また、レジスタ群214はアドレスバス制御回路216と接続されている。
【0038】
CPU200は、第1スクランブル回路230によって内部データバス213上のデータにスクランブル処理を行い外部データバス600に出力する。また、外部データバス600からデータを入力する時は、デスクランブル回路240によってデスクランブル処理を行い、内部データバス213に転送する。
【0039】
CPU200が、外部メモリ群にアクセスする時のアドレスは、第2スクランブル回路220によってスクランブル処理を行ったアドレスによりアクセスする。尚、第1スクランブル回路230と第2スクランブル回路220は、スクランブル処理のアルゴリズムが同じであっても、異なっていても構わない。つまり、第1及び第2スクランブル回路220,230間で、後述するスクランブル回路の変換規則を固定するスクランブルユニットの回路構成が、同じ構成でも、別の構成でも構わない。
【0040】
図1に示す実施形態においては、アドレスバスに対しスクランブル処理を行っているが、アドレスバスのスクランブル処理は、必須ではない。従って、図2に示すように、データバスに対してのみスクランブル処理を行うようにし、第2スクランブル回路220を設けない構成であっても構わない。ここで、図2に示す構成では、第2スクランブル回路220を有しない以外は、図1の実施形態の構成と同じである。
【0041】
次に、本発明に係るスクランブル回路(第1スクランブル回路230、第2スクランブル回路220)、及び、デスクランブル回路240の回路構成につき説明する。以下、スクランブル回路については、第1スクランブル回路230と第2スクランブル回路220で基本の回路構成は同じであるので、一方につき説明する。図3(a)にスクランブル回路230の回路図、図3(b)に、デスクランブル回路240の回路図を夫々示す。
【0042】
図3(a)に示すように、スクランブル回路230へは、スクランブル前のデータを第1データブロックB1(n/2bit〜n−1bit)、第2データブロックB0(0bit〜n/2−1bit)の2つのデータブロックに分割したデータが入力される。また、スクランブル回路230は、第3ブロックデータB1’(n/2bit〜n−1bit)と第4データブロックB0’(0bit〜n/2−1bit)の2つのデータブロックからなるスクランブル処理後の同ビット数のデータを出力する。
【0043】
スクランブル回路230は、入力B1に対し第1スクランブル処理をする第1のスクランブルユニット231と、第1のスクランブルユニット231の出力(第1中間データ)と入力B0に対してビット毎に排他的論理和を計算する複数の排他的論理和回路からなる第1演算ユニット233と、第1演算ユニット233の出力である第3ブロックデータB1’に対し第2スクランブル処理をする第2のスクランブルユニット232と、第2のスクランブルユニット232の出力(第2中間データ)と入力B1に対してビット毎に排他的論理和を計算して第4データブロックB0’を出力する複数の排他的論理和回路からなる第2演算ユニット234を備えて構成される。
【0044】
同様に、図3(B)に示すように、デスクランブル回路240へは、デスクランブル前のスクランブル処理済データを第5データブロックB1’(n/2bit〜n−1bit)、第6データブロックB0’(0 bit〜n/2−1 bit)の2つのデータブロックに分割したデータが入力される。また、デスクランブル回路240は、第7ブロックデータB1”(n/2bit〜n−1bit)と第8データブロックB0”(0bit〜n/2−1bit)の2つのデータブロックからなるデスクランブル処理によってスクランブル処理前に逆変換された同ビット数の処理前データを出力する。
【0045】
デスクランブル回路240は、入力B1’に対し第3スクランブル処理(本実施形態では、前記第2スクランブル処理と同じ)をする第3のスクランブルユニット232(本実施形態では、第2のスクランブルユニット232と同じ)と、第3のスクランブルユニット232の出力(第3中間データ)と入力B0’に対してビット毎に排他的論理和を計算する複数の排他的論理和回路からなる第3演算ユニット233と、第3演算ユニット233の出力である第7データブロックB1”に対し第4スクランブル処理(本実施形態では、前記第1スクランブル処理と同じ)をする第4のスクランブルユニット231(本実施形態では、第1のスクランブルユニット231と同じ)と、第4のスクランブルユニット231の出力(第4中間データ)と入力B1’に対してビット毎に排他的論理和を計算して第8データブロックB0”を出力する排他的論理和回路からなる第4演算ユニット234を備えて構成される。
【0046】
ここで、各スクランブルユニット231、232の実行する各スクランブル処理は、入力データ値を、そのスクランブルユニットに固定された変換規則に基づき一意的に定まる出力データ値に変換するように構成されている。
【0047】
ここで注意が必要なのは、スクランブル回路230内の第1のスクランブルユニット231とデスクランブル回路240内の第4のスクランブルユニット231は同じ変換規則に基づき同じスクランブル処理を行う回路構成でないといけない点である。同様に、スクランブル回路230内の第2のスクランブルユニット232とデスクランブル回路240内の第3のスクランブルユニット232も同じ回路構成でないといけない。また、第1、第4のスクランブルユニット231と第2、第3のスクランブルユニット232は同じ構成でも構わないし、別の構成をとっても構わない。但し、別の回路構成を採る方がよりセキュリティ性を高めることができる。また、第1乃至第4演算ユニット233,234は、夫々回路構成上は同じである。
【0048】
次に、第1(第4)のスクランブルユニット231の操作をS1関数、第2(第3)のスクランブルユニット232の操作をS2関数と夫々表現して、スクランブル回路230とデスクランブル回路240の動作を説明する。
【0049】
スクランブル回路230の動作(スクランブル処理)を以下の数1及び数2で示す。
【0050】
【数1】
B1’= B0 xor S1(B1)
【数2】
B0’= B1 xor S2(B1’)
【0051】
次に、デスクランブル回路240の動作(デスクランブル処理)を以下の数3及び数4で示す。
【0052】
【数3】
B1”= B0’ xor S2(B1’)
【数4】
B0”= B1’ xor S1(B1”)
【0053】
数1〜数4の式を用いて、スクランブル回路230でスクランブル処理したデータがデスクランブル回路240でのデスクランブル処理により逆変換され元のデータに戻ることを示す。数3のB0’に数2のB0’を代入してB0’を消去すると、下記の数5が得られる。ここで、多変数の排他的論理和演算はその演算順序に依らず同じ演算結果となり、また、同じ値同士の排他的論理和は0になるので、数6に示すようになる。
【0054】
【数5】
B1”=B1 xor S2(B1’) xor S2(B1’)
【数6】
B1”=B1 xor 0=B1
【0055】
次に、数4のB1’に数1のB1’を代入してB1’を消去すると、下記の数7が得られる。更に、数6のB1”を数7のB1”に代入して消去し、多変数の排他的論理和演算はその演算順序に依らず同じ演算結果となり、また、同じ値同士の排他的論理和は0になるので、数8に示す結果となる。
【0056】
【数7】
B0”=B0 xor S1(B1) xor S1(B1”)
【数8】
B0”=B0 xor S1(B1) xor S1(B1)=B0
【0057】
以上、数1〜数8により、スクランブル前のデータB0、B1とデスクランブル後のデータB0”、B1”が同じであることが証明される。また、上記の計算は、関数S1及びS2の演算内容に依存せずに成立するため、各関数S1及びS2は入力される任意の値に対して出力が一意的に定まるという条件を満たせば第1及び第2のスクランブルユニット231、232で実行するスクランブル処理の内容は任意に選択し得る。従って、セキュリティ強度と回路規模等のコスト或いは実現容易性のトレードオフを勘案して関数S1及びS2として最適な処理を選択すれば良い。
【0058】
次に、第1または第2のスクランブルユニット231、232の夫々のスクランブル処理を規定する変換規則を固定するための回路構成について説明する。先ず、図4に、第1または第2のスクランブルユニット231、232の回路構成の第1の実施例を示す。
【0059】
入力[Dn−1,Dn−2,・・,D1,D0]に対して、出力[SDn−1,SDn−2,・・,SD1,SD0]は1ビットの右シフトを行っている。この操作により出力[SDn−1,SDn−2,・・,SD1,SD0]は、以下の数9に示すように表現される。尚、D0は循環して左側1ビット目にシフトするものとする。
【0060】
【数9】
[SDn−1,SDn−2,・・,SD1,SD0]=[D0,Dn−1,・・,D2,D1]
【0061】
図5に、第1または第2のスクランブルユニット231、232の回路構成の第2の実施例を示す。
【0062】
入力[Dn−1,Dn−2,・・,D1,D0]に対して、出力[SDn−1,SDn−2,・・,SD1,SD0]は隣り合った2ビットずつの入れ替えを行っている。この操作により出力[SDn−1,SDn−2,・・,SD1,SD0]は、以下の数10に示すように表現される。
【0063】
【数10】
[SDn−1,SDn−2,・・,SD1,SD0]=[Dn−2,Dn−1,・・,D0,D1]
【0064】
また、図には示さないが、第1または第2のスクランブルユニット231、232の回路構成の第3の実施例として、上記第1の実施例と第2の実施例のスクランブル処理を任意に組み合わせることにより、更に多様な配線の入れ替えも実現することができる。
【0065】
図6に、第1または第2のスクランブルユニット231、232の回路構成の第4の実施例を示す。上記第1〜第3の実施例では、変換規則の固定は、入力データの各ビットに対応する複数の入力端子と出力データの各ビットに対応する出力端子間の配線を繋ぎ換えて実現していたが、図6に示す第4の実施例では、入力データの各ビットに対し、所定の論理演算を施すことで実現する。具体的には、入力[Dn−1,Dn−2,・・,D1,D0]に対して、出力[SDn−1,SDn−2,・・,SD1,SD0]は隣り合ったビット間でnand(論理積)演算を行っている。この操作により出力[SDn−1,SDn−2,・・,SD1,SD0]は、以下の数11に示すように表現される。
【0066】
【数11】
[SDn−1,SDn−2,・・,SD1,SD0]=[D0 nand Dn−1,・・,D1 nand D0]
【0067】
ここで、論理演算の種類はnandに限定されるものではないし、演算を行うビット数も適宜変更可能である。
【0068】
図7に、第1または第2のスクランブルユニット231、232の回路構成の第5の実施例を示す。上記第1〜第4の実施例では、入力データから出力データへの変換規則は、アドレスデータのアドレス値に拘わらずに常に一定であるが、図7に示す第5の実施例では、入力データに対し、当該入力データに対応するメモリのアドレスを用いて論理演算を施すことによってアドレス毎に異なるスクランブルを実施することを実現する。
【0069】
具体的には、出力[SDn−1,SDn−2,・・,SD1,SD0]は入力[Dn−1,Dn−2,・・,D1,D0]とアドレス[ADn−1,ADn−2,・・,AD1,AD0]の間でビット毎にxor(排他的論理和)演算を行っている。この操作により出力SD[n−1:0]は、以下の数12に示すように表現される。
【0070】
【数12】
[SDn−1,SDn−2,・・,SD1,SD0]=[Dn−1xorADn−1,・・,D0xorAD0]
【0071】
数12に示すように、任意のアドレス値に対してスクランブル処理を規定する変換規則は一意的に決まるため、同一のスクランブルユニット231、232内でアドレス値の変化に応じて変換規則が変化しても、逆変換時に同じアドレス値を用いることによりスクランブル処理前のデータに逆変換されることが保証される。即ち、アドレス値はスクランブル処理を規定する変換規則を決める鍵として機能する。
【0072】
ここで、論理演算の種類は排他的論理和演算に限定されるものではないし、鍵(この実施例ではアドレス値)のビット数や演算を行うビット数も適宜変更可能である。
【0073】
図8に、第1または第2のスクランブルユニット231、232の回路構成の第6の実施例を示す。上記第1〜第5の実施例では、スクランブルユニット内の配線の入れ替えや論理演算回路等のハードウェア構成、或いは、論理演算回路とアドレス値の組み合わせが同一であれば、入力データと出力データ間の変換規則は常に一定であった。これに対して、図8に示す第6の実施例では、入力データに対し鍵保管用の不揮発メモリ250に保管されている鍵情報(変換規則固定用データ)を用いて論理演算を施すことによって同じハードウェア構成やアドレス値であっても、スクランブルユニット毎に異なるスクランブル処理を実施することを実現する。
【0074】
具体的には、出力[SDn−1,SDn−2,・・,SD1,SD0]は入力[Dn−1,Dn−2,・・,D1,D0]と鍵情報[Kn−1,Kn−2,・・,K1,K0]の間でビット毎にxor(排他的論理和)演算を行っている。この操作により出力SD[n−1:0]は、以下の数13に示すように表現される。
【0075】
【数13】
[SDn−1,SDn−2,・・,SD1,SD0]=[Dn−1xorKn−1,・・,D0xorK0]
【0076】
鍵保管用の不揮発性メモリ250に保管される鍵情報は、このスクランブルユニットを含む装置の製造段階で固定しても良いし、書き換え可能な不揮発性メモリを用いて別途設けられる書き込み手段によって製造後に任意の値に設定できるようにしても良い。
【0077】
ここで、論理演算の種類は排他的論理和演算に限定されるものではないし、鍵情報のビット数や演算を行うビット数も適宜変更可能である。
【0078】
図9及び図10に、第1(第4)または第2(第3)のスクランブルユニット231、232の回路構成の第7及び第8の実施例を示す。上記第1〜第6の実施例では、入力データと出力データ間の変換規則は同一スクランブルユニットでは常に一定であるが、第7及び第8の実施例では、入力データに対して使用する変換規則の異なるスクランブルサブユニット235を複数用意し、用意した各スクランブルサブユニット235から出力される夫々の変換規則でスクランブル処理されたスクランブルサブユニット235の個数と同数の出力データ(中間出力データ)の1つを、入力データの入力時の所定の情報に応じて変化する選択規則に基づいて選択して、出力する選択回路236を備えることにより、同一のスクランブルユニットにおいても、そのスクランブルユニットに固定された変換規則が入力時の所定の情報によって逐次変化することにより、より複雑なスクランブル及びデスクランブル処理を実現するものである。つまり、変換規則は、スクランブルユニットに固有ではなく、入力時の所定の情報に応じて一意的に固定される。
【0079】
ここで、各スクランブルサブユニット235としては、上述の第1または第2のスクランブルユニット231、232の回路構成の第1〜第6の実施例のスクランブルユニット、或いは、それらの変換規則を2つ以上複合した変換規則を有する新たなスクランブルユニットで構成することができる。
【0080】
第7の実施例は、スクランブル回路230に使用される第1または第2のスクランブルユニット231、232に限定した実施例を示すものであり、第8の実施例は、デスクランブル回路240に使用される第3または第4のスクランブルユニット232、231に限定した実施例を示すものである。第1〜第6の実施例のスクランブルユニットは、スクランブル回路230の第1または第2のスクランブルユニット231,232と、デスクランブル回路240の第4または第3のスクランブルユニット231,232と、夫々対応するもの同士が同じスクランブルユニットであったが、第7及び第8の実施例では、夫々使用される場所が固定される。但し、スクランブル回路230とデスクランブル回路240間で対応する第7の実施例のスクランブルユニットと第8のスクランブルユニットでは、固定される変換規則は同じとなる。以下、各回路の詳細に付き説明する。
【0081】
図9に示すように、第7の実施例のスクランブルユニットは、複数のスクランブルサブユニット235、選択回路236、入力データの入力時の所定の情報に応じて選択コードを発生し、当該入力時のアドレスデータのアドレス値と関連付けて選択コード格納用の不揮発性メモリ360に記憶するコード発生回路237、及び、コード発生回路237が発生する複数の選択コードと複数のスクランブルサブユニット235を各別に対応付けるルックアップテーブル238を備えて構成される。ここで、不揮発性メモリ360は、後述の第8の実施例のスクランブルユニットと共有されるので、スクランブルユニット外に設けても構わない。
【0082】
コード発生回路237は、入力データの入力時の起動時からの経過時間情報、アドレスデータのアドレス値に基づいて、都度、乱数等を用いて異なる選択コードを生成する。尚、生成される選択コードを予め、スクランブルサブユニット235の個数分に限定しておくのが好ましい。しかしながら、選択コード数は、スクランブルサブユニット235の個数と等しくなくても、ルックアップテーブル238での上記対応付けが可能であれば問題はない。コード発生回路237は、発生した選択コードをその時のアドレスデータのアドレス値とともに不揮発性メモリ360に記憶する。或いは、発生した選択コードをその時のアドレスデータのアドレス値と1対1で対応付けられる不揮発性メモリ360のアドレス領域に格納する。
【0083】
ルックアップテーブル238は、コード発生回路237が発生した選択コードと対応する1つのスクランブルサブユニット235の選択を指示する選択指示信号を発生し、選択回路236は、その選択指示信号に基づいて選択したスクランブルサブユニット235からの中間出力データを選択してスクランブルユニットの出力データとして出力する。
【0084】
図10に示すように、第8の実施例のスクランブルユニットは、複数のスクランブルサブユニット235、選択回路236、入力データの入力時のアドレスデータのアドレス値に基づき、選択コード格納用の不揮発性メモリ360から選択コードを読み出すコード読み出し回路239、及び、第7の実施例のスクランブルユニットと同じ複数の選択コードと複数のスクランブルサブユニット235を各別に対応付けるルックアップテーブル238を備えて構成される。ここで、不揮発性メモリ360は、上述の第7の実施例のスクランブルユニットと共有されるので、スクランブルユニット外に設けても構わない。
【0085】
コード読み出し回路239は、入力データの入力時のアドレスデータのアドレス値に基づいて、当該アドレス値とともに記憶されている選択コードを不揮発性メモリ360から読み出す。或いは、当該アドレス値と1対1で対応付けられた不揮発性メモリ360のアドレス領域に記憶されている選択コードを読み出す。
【0086】
ルックアップテーブル238は、コード読み出し回路239が読み出した選択コードと対応する1つのスクランブルサブユニット235の選択を指示する選択指示信号を発生し、選択回路236は、その選択指示信号に基づいて選択したスクランブルサブユニット235からの中間出力データを選択してスクランブルユニットの出力データとして出力する。
【0087】
更に、図には示さないが、第1または第2のスクランブルユニット231、232の回路構成の第9の実施例として、1つのスクランブルユニット231、232内に、例えば、上記第1〜第8の実施例のスクランブルユニットの中からスクランブルサブユニットとして任意に選択したものを複数備え、少なくとも1つのスクランブルサブユニットに対して、第9の実施例のスクランブルユニットの入力データを入力し、少なくとも1つのスクランブルサブユニットから第9の実施例のスクランブルユニットの出力データを出力し、少なくとも1つのスクランブルサブユニットに他の少なくとも1つのスクランブルサブユニットの出力データの全部または一部を入力するように、内部的に、各スクランブルサブユニット間を接続して構成するのも好ましい。かかる構成により、より複雑で多様なスクランブル処理を実現することができる。
【0088】
図11(a)及び(b)に、具体的な数値を使い、スクランブル回路230とデスクランブル回路240における各処理の流れを示す。ここで用いた第1乃至第4のスクランブルユニット231、232は、第1及び第4のスクランブルユニット231が図4に示した第1の実施例の構成で、第2及び第3のスクランブルユニット232が図5に示した第2の実施例の構成であるとする。
【0089】
先ず、スクランブル処理の流れを図11(a)に示す。元のデータ”10011010”に対して、上位4ビット”1001”を第1のスクランブルユニット231で1ビット右シフトを行う。結果は、”1100”となる。次に、第1演算ユニット233で”1100”と元データの下位4ビット”1010”との排他的論理和をとると、結果は”0110”になる。次に、この”0110”を第2のスクランブルユニット232で隣接する2ビット同士の入れ替えを行う。結果は、”1001”となる。最後に、第2演算ユニット234で”1001”と”1001”との排他的論理和をとり、結果は”0000”となる。以上より、スクランブル処理された処理済データは、”01100000”となる。
【0090】
次に、デスクランブル処理の流れを図11(b)に示す。スクランブル処理済データ”01100000”に対して、上位4ビット”0110”を第3(第2)のスクランブルユニット232で隣接する2ビット同士の入れ替えを行う。結果は、”1001”となる。次に、第3演算ユニット233で”1001”とスクランブル処理済データの下位4ビット”0000” との排他的論理和をとると、結果は”1001”になる。次に、この”1001”を第4(第1)のスクランブルユニット231で1ビット右シフトを行う。結果は、”1100”になる。最後に、第4演算ユニット234で”1100”とスクランブル処理済データの上位4ビット”0110”の排他的論理和をとり、結果は”1010”となる。以上より、デスクランブル処理されたデータは、”10011010”となり、スクランブル処理前の元データと一致する。
【0091】
次に、本発明に係るデータ処理装置の別の実施形態について説明する。
【0092】
〈1〉上記実施の形態では、nビット幅のバスに対して1つのスクランブル回路220または230を備え、nビット幅のバスに対して1つのデスクランブル回路240を備えた構成であったが、nビット幅のバスに対して2以上のスクランブル回路220、230と2以上のデスクランブル回路240を備えて構成してもよい。
【0093】
図12に、被処理データをM等分した時のスクランブル回路230’の一例を示す。この場合、隣接する2つのデータブロック毎に上述したスクランブル回路をM/2個分設ければ良い。また、各スクランブル回路230内の第1及び第2のスクランブルユニット231、232をデータブロック対毎に変えることにより、更にセキュリティ性を高めることができる。
【0094】
同様に、図13に、スクランブル処理済データをM等分した時のデスクランブル回路240’の一例を示す。この場合も、隣接する2つのデータブロック毎に上述したデスクランブル回路240をM/2個分設ければ良い。
【0095】
〈2〉上記実施の形態では、CPU200は、スクランブル処理とデスクランブル処理が対になったスクランブル回路230とデスクランブル回路240を備えて構成されている形態を例示したが、スクランブル回路230とデスクランブル回路240は、その何れか一方のみを備える構成であっても構わない。また、デスクランブル回路240が自己のスクランブル回路230以外のスクランブル回路でスクランブル処理された処理済データに対してデスクランブル処理するものであっても構わない。尚、この場合は、対となるスクランブル処理とデスクランブル処理は、2つ以上のデータ処理装置に分散して行われることになる。
【0096】
〈3〉図14に、本発明に係るデータ処理装置をICカードに適用した場合の構成例を示す。
【0097】
ICカード110は、CPU200と外部データバス600及び外部アドレスバス700で相互に接続されているROM300、RAM400、不揮発性メモリ500等の外部メモリ群とを備え、更に、コプロセッサ111、UART/IO112とタイマ113が備えて構成されている。一般にICカードは、セキュリティ性を要求されるため、レイアウトが工夫されている。攻撃者にCPUやコプロセッサ、または、内部データバスがチップ上のどこにあるかを特定されないようにブロック毎に分離せず、一塊として半導体集積回路上にレイアウトされる。半導体製造プロセスの微細化により一塊になっている内部データバス等へのプロービングなどの攻撃は非常に困難になっている。そこで、一般的に攻撃者は、CPUとメモリ間のデータバスのように分離されたブロック間の信号に対してプロービング等を試みる。そこで、ブロック間の外部データバス600、及び、各メモリ上のデータはスクランブル処理を施すことにより、高いセキュリティ性を具備するICカードを提供することができる。
【0098】
尚、本発明の応用としてICカードを説明したが、個人情報等の機密情報を処理する機器やシステムに本発明は汎用的に利用し得る。
【0099】
〈4〉図1、図2及び図14に例示した本発明に係るデータ処理装置は、外部メモリ群等の周辺ブロックも含めて半導体集積回路として1チップ化された例を示したが、データ処理装置内において、複数の機能ブロックが内部バスで接続されてなり、内部バスと外部バスのバスインターフェイス部に本発明に係るスクランブル回路またはデスクランブル回路が設けられている限りにおいて、データ処理装置と周辺ブロックを必ずしも1チップ化する必要はない。
【0100】
〈5〉上記実施の形態において、スクランブル回路230及びデスクランブル回路240で処理されるデータは偶数ビットで、内部データバス213や外部データバス600等のデータバス幅も偶数ビットを想定したが、バス幅が奇数ビットの場合には、被処理データの1ビット分だけをスクランブル処理またはデスクランブル処理対象から外すか、または、ダミーの1ビットを追加して偶数ビットとしてもよい。
【0101】
〈6〉上記実施の形態において、スクランブル回路230及びデスクランブル回路240で処理されるデータはパラレルデータを想定したが、内部データバス213や外部データバス600等の何れか一方または両方がシリアルバスであっても構わない。シリアルデータを処理する場合は、一旦データをシリアル・パラレル変換した後に、本発明に係るスクランブル回路230及びデスクランブル回路240を用いればよい。また、処理対象のデータはパラレルデータとシリアルデータの混在でもよい。例えば、内部バスが8ビットで外部バスが16ビットの場合等において、内部バスの8ビットデータを2回に分けて読み込んだ後に、スクランブル回路230でスクランブル処理して16ビットデータを外部バスに転送する形態であっても構わない。
【0102】
【発明の効果】
以上詳細に説明したように、本発明に係るスクランブル回路、デスクランブル回路、及び、データ処理装置によれば、CPU内部でデータのスクランブル処理、デスクランブル処理を行う。すなわち、CPU外部へはデータバス信号を介してスクランブル処理されたデータのみが伝達され、このバスに接続される外部メモリへもスクランブル処理されたデータが格納される。従って、外部バス上の信号のプロービングやメモリ部品の剥離解析に対しても非常に高い情報の機密性が得られる。更に、アドレスバス信号もスクランブルの対象とすることでより解析を困難にすることができる。スクランブル回路あるいはデスクランブル回路の内部では、スクランブルユニットによる信号のスクランブル処理だけでなく、排他的論理和による演算処理を伴ったセキュリティ処置(データの秘匿化)を行っているため、解読されない極めて高いセキュリティを実現するとともに、論理的に元の情報を確実に復元できるためデータの信頼性が極めて高いデータ処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係るスクランブル回路とデスクランブル回路を有するデータ処理装置の一実施の形態における内部構成の一例を示すブロック構成図
【図2】本発明に係るスクランブル回路とデスクランブル回路を有するデータ処理装置の他の実施の形態における内部構成の一例を示すブロック構成図
【図3】本発明に係るスクランブル回路とデスクランブル回路の一実施の形態の回路構成を示すブロック構成図
【図4】本発明に係るスクランブル回路とデスクランブル回路で用いるスクランブルユニットの第1の実施例を示す回路構成図
【図5】本発明に係るスクランブル回路とデスクランブル回路で用いるスクランブルユニットの第2の実施例を示す回路構成図
【図6】本発明に係るスクランブル回路とデスクランブル回路で用いるスクランブルユニットの第4の実施例を示す回路構成図
【図7】本発明に係るスクランブル回路とデスクランブル回路で用いるスクランブルユニットの第5の実施例を示す回路構成図
【図8】本発明に係るスクランブル回路とデスクランブル回路で用いるスクランブルユニットの第6の実施例を示す回路構成図
【図9】本発明に係るスクランブル回路で用いるスクランブルユニットの第7の実施例を示す回路構成図
【図10】本発明に係るデスクランブル回路で用いるスクランブルユニットの第8の実施例を示す回路構成図
【図11】本発明に係るスクランブル回路とデスクランブル回路でのデータ処理の流れを説明する図
【図12】本発明に係るスクランブル回路の他の実施形態を示すブロック構成図
【図13】本発明に係るデスクランブル回路の他の実施形態を示すブロック構成図
【図14】本発明に係るICカードの一実施の形態における内部構成の一例を示すブロック構成図
【図15】特許文献1で開示されているスクランブル技術を説明する図
【符号の説明】
100 IC
110 ICカード
111 コプロセッサ
112 UART/IO
113 タイマ
200 CPU
210 ALU
211 キャッシュメモリ
212 命令デコーダコントローラ
213 内部データバス
214 レジスタ群
215 データバス制御回路
216 アドレスバス制御回路
220 第2スクランブル回路
230 第1スクランブル回路
231 第1のスクランブルユニットまたは第4のスクランブルユニット
232 第2のスクランブルユニットまたは第3のスクランブルユニット
233 第1演算ユニットまたは第3演算ユニット(排他的論理和)
234 第2演算ユニットまたは第4演算ユニット排他的論理和
235 スクランブルサブユニット
236 選択回路
237 コード生成回路
238 ルックアップテーブル
239 コード読み出し回路
240 デスクランブル回路
250 鍵保管用の不揮発性メモリ
260 選択コード格納用の不揮発メモリ
300 ROM
400 RAM
500 不揮発性メモリ
600 外部データバス
700 外部アドレスバス

Claims (37)

  1. 4ビット以上の被処理データを、所定のスクランブル処理により同ビット数の処理済データに変換するスクランブル回路であって、
    前記被処理データは、2ビット以上の第1データブロックと前記第1データブロックと同ビット数の第2データブロックに分割されてなり、また、前記処理済データは、前記第1データブロックと夫々同ビット数の第3データブロックと第4データブロックに分割されてなり、
    前記第1データブロックに対し所定の第1スクランブル処理を行い同ビット数の第1中間データを出力する第1のスクランブルユニットと、
    前記第2データブロックと前記第1中間データとのビット毎の排他的論理和演算を行い、前記第3データブロックを出力する第1演算ユニットと、
    前記第3データブロックに対し前記第1スクランブル処理と同じかまたは異なる第2スクランブル処理を行い同ビット数の第2中間データを出力する第2のスクランブルユニットと、
    前記第2中間データと前記第1データブロックとのビット毎の排他的論理和演算を行い、前記第4データブロックを出力する第2演算ユニットと、を備えてなることを特徴とするスクランブル回路。
  2. 前記スクランブルユニットは、入力データ値を、そのスクランブルユニットに固定された変換規則に基づき一意的に定まる出力データ値に変換することを特徴とする請求項1に記載のスクランブル回路。
  3. 前記第1または第2のスクランブルユニットは、入力データの各ビットに対応する複数の入力端子と出力データの各ビットに対応する出力端子間の配線の一部または全部を繋ぎ換えてなり、前記配線の繋ぎ換えにより前記変換規則が固定されることを特徴とする請求項2に記載のスクランブル回路。
  4. 前記第1または第2のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データに対し1ビットまたは2ビット以上の循環シフト操作が行われることを特徴とする請求項3に記載のスクランブル回路。
  5. 前記第1または第2のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データの所定の2ビットに対し入れ替え操作が行われることを特徴とする請求項3に記載のスクランブル回路。
  6. 前記第1または第2のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データに対し、1ビットまたは2ビット以上の循環シフト操作と所定の2ビットに対し入れ替え操作が組み合わせて行われることを特徴とする請求項3に記載のスクランブル回路。
  7. 前記第1または第2のスクランブルユニットは、入力データの一部または全部のビットに対し、所定の論理演算を施す論理演算回路を有し、前記論理演算回路により前記変換規則が固定されることを特徴とする請求項2〜6の何れか1項に記載のスクランブル回路。
  8. 前記論理演算回路は、前記入力データの一部または全部のビットに対し、2ビット以上の論理演算を行うことを特徴とする請求項7に記載のスクランブル回路。
  9. 前記第1または第2のスクランブルユニットは、入力データの一部または全部のビットと前記入力データの入力時のアドレスデータの一部または全部のビットに対して所定の論理演算をする論理演算回路を有し、前記論理演算回路により前記変換規則が前記アドレスデータのアドレス値に応じて一意的に定まるように固定されることを特徴とする請求項2〜8の何れか1項に記載のスクランブル回路。
  10. 前記第1または第2のスクランブルユニットは、入力データの一部または全部のビットと所定の不揮発性メモリに保持された変換規則固定用データに対して所定の論理演算をする論理演算回路を有し、前記論理演算回路により前記変換規則が前記変換規則固定用データのデータ値に応じて一意的に定まるように固定されることを特徴とする請求項2〜8の何れか1項に記載のスクランブル回路。
  11. 前記第1または第2のスクランブルユニットは、入力データを予め固定された変換規則に基づき一意的に定まる出力データに変換するスクランブルサブユニットの前記変換規則が相互に異なる複数と、前記入力データの入力時の所定の情報に応じて変化する選択規則に基づき、同じ入力データの入力された前記複数のスクランブルサブユニットの出力データの1つを選択して出力する選択回路を備え、前記選択規則に基づき選択される前記スクランブルサブユニットに応じて、当該スクランブルユニットに固定された前記変換規則が一意的に定まるように固定されることを特徴とする請求項2〜8の何れか1項に記載のスクランブル回路。
  12. 前記複数のスクランブルサブユニットを備える前記スクランブルユニットは、前記複数のスクランブルサブユニットへの前記入力データの入力時の所定の情報に応じて選択コードを発生し、前記入力時のアドレスデータと関連付けて所定の不揮発性メモリに記憶するコード発生回路と、前記選択コードと前記複数のスクランブルサブユニットを各別に対応付けるルックアップテーブルとを備え、
    前記選択回路は、前記コード発生回路が発生した前記選択コードと前記ルックアップテーブルに基づき定まる前記複数のスクランブルサブユニットの内の1つから前記出力データを選択することを特徴とする請求項11に記載のスクランブル回路。
  13. 4ビット以上のスクランブル処理済データを、所定のデスクランブル処理により同ビット数の処理前データに逆変換するデスクランブル回路であって、
    前記スクランブル処理済データは、2ビット以上の第5データブロックと前記第5データブロックと同ビット数の第6データブロックに分割されてなり、また、前記処理前データは、前記第5データブロックと夫々同ビット数の第7データブロックと第8データブロックに分割されてなり、
    前記第5データブロックに対し所定の第3スクランブル処理を行い同ビット数の第3中間データを出力する第3のスクランブルユニットと、
    前記第6データブロックと前記第3中間データとのビット毎の排他的論理和演算を行い、前記第7データブロックを出力する第3演算ユニットと、
    前記第7データブロックに対し前記第3スクランブル処理と同じかまたは異なる第4スクランブル処理を行い同ビット数の第4中間データを出力する第4のスクランブルユニットと、
    前記第4中間データと前記第5データブロックとのビット毎の排他的論理和演算を行い、前記第8データブロックを出力する第4演算ユニットと、を備えてなることを特徴とするデスクランブル回路。
  14. 前記スクランブルユニットは、入力データ値を、そのスクランブルユニットに固定された変換規則に基づき一意的に定まる出力データ値に変換することを特徴とする請求項13に記載のデスクランブル回路。
  15. 前記第3または第4のスクランブルユニットは、入力データの各ビットに対応する複数の入力端子と出力データの各ビットに対応する出力端子間の配線の一部または全部を繋ぎ換えてなり、前記配線の繋ぎ換えにより前記変換規則が固定されることを特徴とする請求項14に記載のデスクランブル回路。
  16. 前記第3または第4のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データに対し1ビットまたは2ビット以上の循環シフト操作が行われることを特徴とする請求項15に記載のデスクランブル回路。
  17. 前記第3または第4のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データの所定の2ビットに対し入れ替え操作が行われることを特徴とする請求項15に記載のデスクランブル回路。
  18. 前記第3または第4のスクランブルユニットは、前記配線の繋ぎ換えにより、前記入力データに対し、1ビットまたは2ビット以上の循環シフト操作と所定の2ビットに対し入れ替え操作が組み合わせて行われることを特徴とする請求項15に記載のデスクランブル回路。
  19. 前記第3または第4のスクランブルユニットは、入力データの一部または全部のビットに対し、所定の論理演算を施す論理演算回路を有し、前記論理演算回路により前記変換規則が固定されることを特徴とする請求項14〜18の何れか1項に記載のデスクランブル回路。
  20. 前記論理演算回路は、前記入力データの一部または全部のビットに対し、2ビット以上の論理演算を行うことを特徴とする請求項19に記載のデスクランブル回路。
  21. 前記第3または第4のスクランブルユニットは、入力データの一部または全部のビットと前記入力データの入力時のアドレスデータの一部または全部のビットに対して所定の論理演算をする論理演算回路を有し、前記論理演算回路により前記変換規則が前記アドレスデータのアドレス値に応じて一意的に定まるように固定されることを特徴とする請求項14〜20の何れか1項に記載のデスクランブル回路。
  22. 前記第3または第4のスクランブルユニットは、入力データの一部または全部のビットと所定の不揮発性メモリに保持された変換規則固定用データに対して所定の論理演算をする論理演算回路を有し、前記論理演算回路により前記変換規則が前記変換規則固定用データのデータ値に応じて一意的に定まるように固定されることを特徴とする請求項14〜20の何れか1項に記載のデスクランブル回路。
  23. 前記第3または第4のスクランブルユニットは、入力データを予め固定された変換規則に基づき一意的に定まる出力データに変換するスクランブルサブユニットの前記変換規則が相互に異なる複数と、前記入力データの入力時の所定の情報に応じて変化する選択規則に基づき、同じ入力データの入力された前記複数のスクランブルサブユニットの出力データの1つを選択して出力する選択回路を備え、前記選択規則に基づき選択される前記スクランブルサブユニットに応じて、当該スクランブルユニットに固定された前記変換規則が一意的に定まるように固定されることを特徴とする請求項14〜20の何れか1項に記載のデスクランブル回路。
  24. 前記複数のスクランブルサブユニットを備える前記スクランブルユニットは、所定の不揮発性メモリに記憶された選択コードを、前記複数のスクランブルサブユニットへの前記入力データの入力時のアドレスデータに基づき読み出すコード読み出し回路と、前記選択コードと前記複数のスクランブルサブユニットを各別に対応付けるルックアップテーブルとを備え、
    前記選択回路は、前記コード読み出し回路が読み出した前記選択コードと前記ルックアップテーブルに基づき定まる前記複数のスクランブルサブユニットの内の1つから前記出力データを選択することを特徴とする請求項23に記載のデスクランブル回路。
  25. 複数の機能ブロックが内部バスで接続されてなるデータ処理装置であって、
    前記内部バスと外部バスとの第1のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記被処理データとし、前記外部バス上の一部または全部のデータを前記処理済データとする請求項1〜12の何れか1項に記載のスクランブル回路を備えることを特徴とするデータ処理装置。
  26. 前記内部バスと前記外部バスを複数のブロックに分割し、前記ブロック毎に前記スクランブル回路を備えていることを特徴とする請求項25に記載のデータ処理装置。
  27. 複数の機能ブロックが内部バスで接続されてなるデータ処理装置であって、
    前記内部バスと外部バスとの第2のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記処理前データとし、前記外部バス上の一部または全部のデータを前記スクランブル処理済データとする請求項13〜24の何れか1項に記載のデスクランブル回路を備えることを特徴とするデータ処理装置。
  28. 前記内部バスと前記外部バスとの第2のバスインターフェイス部に、前記内部バス上の一部または全部のデータを前記処理前データとし、前記外部バス上の一部または全部のデータを前記スクランブル処理済データとする請求項13〜24の何れか1項に記載のデスクランブル回路を備えることを特徴とする請求項25または26に記載のデータ処理装置。
  29. 前記スクランブル回路の前記第1のスクランブルユニットと前記デスクランブル回路の前記第4のスクランブルユニットが同じ変換規則に基づく同じスクランブル処理を行い、前記スクランブル回路の前記第2のスクランブルユニットと前記デスクランブル回路の前記第3のスクランブルユニットが同じ変換規則に基づく同じスクランブル処理を行うことを特徴とする請求項28に記載のデータ処理装置。
  30. 前記内部バスと前記外部バスを複数のブロックに分割し、前記ブロック毎に前記デスクランブル回路を備えていることを特徴とする請求項27〜29の何れか1項に記載のデータ処理装置。
  31. 前記内部バスと前記外部バスがデータバスであることを特徴とする請求項25〜30の何れか1項に記載のデータ処理装置。
  32. 前記複数の機能ブロックが第2の内部バスで接続されてなり、
    前記第2の内部バスと第2の外部バスとの第3のバスインターフェイス部に、前記第2の内部バス上の一部または全部のデータを前記被処理データとし、前記第2の外部バス上の一部または全部のデータを前記処理済データとする請求項1〜12の何れか1項に記載のスクランブル回路を備えていることを特徴とする請求項25〜31の何れか1項に記載のデータ処理装置。
  33. 前記第2の内部バスと前記第2の外部バスを複数のブロックに分割し、前記ブロック毎に前記スクランブル回路を備えていることを特徴とする請求項32に記載のデータ処理装置。
  34. 前記第2の内部バスと前記第2の外部バスがアドレスバスであることを特徴とする請求項32または33に記載のデータ処理装置。
  35. 前記複数の機能ブロック、及び、前記バスインターフェイス部が同一半導体基板上に形成された半導体集積回路で構成されていることを特徴とする請求項25〜34の何れか1項に記載のデータ処理装置。
  36. 前記機能ブロックとして算術論理演算器を含み前記内部バス及び前記外部バスを制御するワンチップマイクロコンピュータとしての機能を有することを特徴とする請求項35に記載のデータ処理装置。
  37. 請求項36に記載のデータ処理装置をシステム制御用のワンチップマイクロコンピュータとして用いたことを特徴とするICカード。
JP2003152234A 2003-04-08 2003-05-29 スクランブル回路 Pending JP2004361986A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003152234A JP2004361986A (ja) 2003-04-08 2003-05-29 スクランブル回路
SG200401883A SG116536A1 (en) 2003-04-08 2004-04-05 Scrambler circuit.
EP04252039A EP1467274A3 (en) 2003-04-08 2004-04-06 Scrambler circuit
TW093109510A TWI292869B (en) 2003-04-08 2004-04-06 Scrambler circuit, descrambler circuit, data processing device and ic card
US10/819,281 US20040205352A1 (en) 2003-04-08 2004-04-07 Scrambler circuit
KR1020040023678A KR100549151B1 (ko) 2003-04-08 2004-04-07 스크램블 회로, 디스크램블 회로, 데이터 처리 장치 및ic 카드
CNB200410032525XA CN1287302C (zh) 2003-04-08 2004-04-08 加密电路和解密电路以及数据处理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003103739 2003-04-08
JP2003152234A JP2004361986A (ja) 2003-04-08 2003-05-29 スクランブル回路

Publications (1)

Publication Number Publication Date
JP2004361986A true JP2004361986A (ja) 2004-12-24

Family

ID=32871246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003152234A Pending JP2004361986A (ja) 2003-04-08 2003-05-29 スクランブル回路

Country Status (7)

Country Link
US (1) US20040205352A1 (ja)
EP (1) EP1467274A3 (ja)
JP (1) JP2004361986A (ja)
KR (1) KR100549151B1 (ja)
CN (1) CN1287302C (ja)
SG (1) SG116536A1 (ja)
TW (1) TWI292869B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP2007251783A (ja) * 2006-03-17 2007-09-27 Nec Electronics Corp 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置
JP2009025852A (ja) * 2007-07-17 2009-02-05 Meidensha Corp 通信制御装置
JP2010541049A (ja) * 2007-09-25 2010-12-24 サンディスク コーポレイション 自己回復形不揮発性メモリ

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177363A1 (en) * 2006-01-31 2007-08-02 Symbol Technologies, Inc. Multilayer printed circuit board having tamper detection circuitry
US8806227B2 (en) * 2006-08-04 2014-08-12 Lsi Corporation Data shredding RAID mode
US7953930B2 (en) * 2007-12-07 2011-05-31 Sandisk Corporation Device identifiers for nonvolatile memory modules
TWI415130B (zh) * 2009-06-02 2013-11-11 Silicon Motion Inc 快閃記憶體之控制器以及於快閃記憶體存取資料的方法
US8935589B2 (en) * 2009-06-02 2015-01-13 Silicon Motion, Inc. Controller and data access method for flash memories
US8255620B2 (en) * 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US9612978B2 (en) 2010-12-31 2017-04-04 International Business Machines Corporation Encrypted flash-based data storage system with confidentiality mode
KR101818445B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
KR101811298B1 (ko) * 2011-12-28 2017-12-27 삼성전자주식회사 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러
KR20130080203A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템
CN103457723B (zh) * 2013-09-10 2016-08-10 徐光梅 一种加密方法及以其为基础的加密设备
IL234956A (en) * 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US9792246B2 (en) * 2014-12-27 2017-10-17 Intel Corporation Lower-power scrambling with improved signal integrity
US10423492B2 (en) * 2016-05-17 2019-09-24 SK Hynix Inc. Self error-handling flash memory device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698617A (en) * 1984-05-22 1987-10-06 American Microsystems, Inc. ROM Protection scheme
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
JPH06243046A (ja) * 1993-02-19 1994-09-02 Sansei Denshi Japan Kk 情報保護方法及び情報メディア
US5515437A (en) * 1993-08-23 1996-05-07 Matsushita Electric Industrial Co., Ltd. Scramble transmission apparatus and signal processing apparatus
MY125706A (en) * 1994-08-19 2006-08-30 Thomson Consumer Electronics High speed signal processing smart card
US5675653A (en) * 1995-11-06 1997-10-07 Nelson, Jr.; Douglas Valmore Method and apparatus for digital encryption
US5892826A (en) * 1996-01-30 1999-04-06 Motorola, Inc. Data processor with flexible data encryption
US6236728B1 (en) * 1997-06-19 2001-05-22 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
JP2000090595A (ja) * 1998-09-09 2000-03-31 Victor Co Of Japan Ltd デ・スクランブル装置
TW494306B (en) * 1998-10-27 2002-07-11 Winbond Electronics Corp Secret code protection circuit capable of protecting read only memory data
JP2001109667A (ja) * 1999-10-13 2001-04-20 Nec Ic Microcomput Syst Ltd データ処理方法および装置
JP2001125483A (ja) * 1999-10-25 2001-05-11 Nec Corp スクランブラ回路
US7092525B2 (en) * 2000-04-20 2006-08-15 Matchett Noel D Cryptographic system with enhanced encryption function and cipher key for data encryption standard
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
JP4683442B2 (ja) * 2000-07-13 2011-05-18 富士通フロンテック株式会社 処理装置および集積回路
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
JP2002261751A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd 暗号処理方法
KR100428786B1 (ko) * 2001-08-30 2004-04-30 삼성전자주식회사 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로
DE60301750T2 (de) * 2002-04-03 2006-07-06 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
US7215768B2 (en) * 2002-06-25 2007-05-08 Intel Corporation Shared new data and swap signal for an encryption core
US7035887B2 (en) * 2002-07-17 2006-04-25 Ltx Corporation Apparatus and method for data shifting

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP4551802B2 (ja) * 2005-03-29 2010-09-29 株式会社東芝 プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
US8532296B2 (en) 2005-03-29 2013-09-10 Kabushiki Kaisha Toshiba Processor, memory device, computer system, and method for transferring data
JP2007251783A (ja) * 2006-03-17 2007-09-27 Nec Electronics Corp 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置
JP2009025852A (ja) * 2007-07-17 2009-02-05 Meidensha Corp 通信制御装置
JP2010541049A (ja) * 2007-09-25 2010-12-24 サンディスク コーポレイション 自己回復形不揮発性メモリ

Also Published As

Publication number Publication date
TWI292869B (en) 2008-01-21
TW200426596A (en) 2004-12-01
EP1467274A2 (en) 2004-10-13
CN1287302C (zh) 2006-11-29
US20040205352A1 (en) 2004-10-14
KR20040087910A (ko) 2004-10-15
SG116536A1 (en) 2005-11-28
CN1536503A (zh) 2004-10-13
EP1467274A3 (en) 2006-05-10
KR100549151B1 (ko) 2006-02-06

Similar Documents

Publication Publication Date Title
JP2004361986A (ja) スクランブル回路
JP6775846B2 (ja) Pufに基づく真性乱数生成システム
US9208357B1 (en) FPGA configuration bitstream protection using multiple keys
US4278837A (en) Crypto microprocessor for executing enciphered programs
US8578116B2 (en) System and method for memory data protection with secure pad memory
US4465901A (en) Crypto microprocessor that executes enciphered programs
US20070172053A1 (en) Method and system for microprocessor data security
US6691921B2 (en) Information processing device
JP4213585B2 (ja) Fpga集積回路におけるストリームファイルのための暗号化方法
US7984292B1 (en) FPGA configuration bitstream encryption using modified key
US7613931B2 (en) Copy protection method and system for programmable gate array
JP2002328845A (ja) 半導体集積回路及びicカードのセキュリティー保護方法
JP2004519111A (ja) プログラム暗号化を伴うフィールドプログラマブルゲートアレイ
CN101116081A (zh) 用于微处理器数据安全的方法和***
JP2007251783A (ja) 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置
US11017128B2 (en) Data security using bit transposition during memory accesses
TW202137036A (zh) 用來針對非揮發性記憶體進行資訊保護的方法及設備
KR20180059217A (ko) 메모리 데이터 보안 처리 장치 및 방법
JP4323527B2 (ja) 半導体記憶装置
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
JPH07219852A (ja) 半導体メモリ装置
US20050050341A1 (en) Device of applying protection bit codes to encrypt a program for protection
KR101194838B1 (ko) 하이 시큐리티 마스크 롬 및 이의 마스크 롬 데이터스크램블/디스크램블 방법
JP2007281994A (ja) 半導体集積回路
JP4664655B2 (ja) 情報処理装置、および、そのアドレス制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090804