JPH0314147A - プログラム暗号化回路 - Google Patents

プログラム暗号化回路

Info

Publication number
JPH0314147A
JPH0314147A JP1150053A JP15005389A JPH0314147A JP H0314147 A JPH0314147 A JP H0314147A JP 1150053 A JP1150053 A JP 1150053A JP 15005389 A JP15005389 A JP 15005389A JP H0314147 A JPH0314147 A JP H0314147A
Authority
JP
Japan
Prior art keywords
data
address
circuit
program
semiconductor memory
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
JP1150053A
Other languages
English (en)
Inventor
Tokunori Maeda
前田 徳則
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1150053A priority Critical patent/JPH0314147A/ja
Publication of JPH0314147A publication Critical patent/JPH0314147A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の概要〕 プログラムを必要とするLSIにおけるプログラム暗号
化回路に関し、 半導体回路などを付加する必要がなく、アドレスとプロ
グラム・データの両方にスクランブル、しをかけて、多
様な暗号化を簡単に施すことができる暗号化回路を提供
することを目的とし、プログラム・データを格納する半
導体メモリ部に対するプログラム暗号化回路において、
該半導体メモリ部のアドレスを決定するプログラムカウ
ンタの出力アドレスを入力とし、そのアドレスのビット
構成をスクランブルして出力するアドレススクランブル
回路と、プログラム・データをスクランブルして、かつ
アドレスをスクランブルして書込まれており、前記アド
レススクランブル回路の出力を受ける半導体メモリ部と
、該半導体メモリ部の読出し出力を受け、これをスクラ
ンブルして元に戻すデータスクランブル回路とを備え、
半導体メモリ部はチップ内蔵及び又は外付けであり、ア
ドレススクランブル回路とデータスクランブル回路はチ
ップ内蔵である構成とする。
〔産業上の利用分野〕
本発明は、プログラムを必要とするLSIにおけるプロ
グラム暗号化回路に関する。
汎用のマイコンやDSP (ディジタル・シグナル・プ
ロセッサ)においてその動作を決定するプログラム・デ
ータは必要不可欠であるが、そのプログラムはLSIの
内部ROM又は外付けのメモリに格納される。しかし、
外付けROMは勿論のこと、LSI内部のROMもLS
Iの信頼性向上の為、プログラム・データをLSI外部
に出力出来る構成になっている為、第三者にもROMの
内容を解読することが可能となる。ごのため、プログラ
ム・データを暗号化し保護を行う必要がある。
〔従来の技術〕 従来のプログラム暗号化保護方法としては、アドレス又
はデータを論理回路によって変更する事によりLSI内
部のプログラム・データを外部出力時に一暗号化するも
のや、外付けのメモリに書かれた暗号化されたプログラ
ム・データをROMのアドレスとし、ROMに暗号の解
読方法を書き込んでおき、正しいプログラムを内部に取
り込むものや、アドレスのスクランブルによってプログ
ラムの流れを暗号化するものなどがある。
〔発明が解決しようとする課題〕
従来技術では、暗号化回路部に論理回路やROMなどの
半導体回路を付加しなければならず、LSIの回路規模
を大きくしてしまう。また、アドレスのスクランブルの
みでは暗号化の種類も少ない。
本発明は以上の点に鑑みてなされたもので、半導体回路
などを付加する必要がなく、アドレスとプログラム・デ
ータの両方にスクランブルをかけて、多様な暗号化を簡
単に施すことができる暗号化回路を提供することを目的
とするものである。
〔課題を解決するだめの手段〕
第1図〜第3図に本発明の暗号化回路を示し、第1図は
チップ(LSI)内部にプログラムとデータ(これらは
単にデータともいう)を格納する半導体メモリ部を持つ
例、第2図はチップ外にこれを持つ例、第3図はこれを
チップ内、外に持つ例を示す。
これらは、通常のプログラムカウンタ11、プログラム
・データを格納する半導体メモリ12、デコーダ部13
、内部バス■4の他に、アドレススクランブル回路部1
5、読出しデータのスクランブル回路部16を備える。
アドレス/データスクランブル回路部15/16は、・
半導体回路ではなく、配線に対する結線で構成される。
アドレスとデータのスクランブルを行なうので、半導体
メモリ部12に格納するプログラムとデータは、その格
納位置と内容を暗号化(スクランブル)し、プログラム
カウンタ11が0.1,2.・・・・・・と通常通りイ
ンクリメントするとき、これをスクランブルしたアドレ
スで半導体メモリ部を読出し、読出データをスクランブ
ルすると正常データが得られる、ようにしておく。
〔作用〕
この構成では、スクランブルしたアドレスでチップ(L
SI)内部の半導体メモリ部12及び/又はチップ外部
の外付は半導体メモリ部12Aを読出し、読出したデー
タをスクランブルすると正常なプログラム・データが得
られ、LSIを正常に動作させることができる。
例えば第1図でプログラムカウンタ11が計数値をoo
o iとすると、アドレススクランブル回路部15はこ
れを0100に変換し、これで半導体メモリ部12を読
出す。メモリ部12のアドレス0100に、本来ならア
ドレス0001に書込むべきデータを書込んでお(と、
上記アドレス変換で予定のデータが得られることになる
。但しこのデータはスクランブルされていて、例えば0
110が1010になっている。データスクランブル回
路部16はこれを元に戻し、1010が入力すると01
10にして出力する。こうしてアドレスとデータが暗号
化されていても、これを復号して正常なプログラム・デ
ータを得ることができる。
LSI内部の半導体メモリ部12のアドレス入力部と読
出しデータ出力部にはボー1−17,18を付加してお
き、ボート17を通して外部からアドレスを入力して、
ボート18から読出しデータを外部へ取出すことができ
るようにしておく。アドレス/データスクランブル回路
部15/16と同し回路部を用いてアドレス/データス
クランブルを行なえば上記ルートで正常なプログラム・
データが得られるが、これらがないと、半導体メモリ部
12に格納されている暗号化プログラム・データをアド
レススクランブルなしに取出すことになり、無意味デー
タが得られるだけである。こうして秘密保持が図られ、
しかもアドレスとデータの2重暗号化であるから解読は
一層困難である。
またアドレス/データのスクランブルは結線、LSIで
はコンタクト窓の位置、によって行なうので、極めて簡
単である。
〔実施例〕
第4図にスクランブル回路の基本構成を示す。
Mll〜Minは多数の縦方向配線、M21〜M2nは
多数の横方向配線で、前者はアルミニうム(Affi)
の第1N配線、後者は同第2層目配線である。C1l〜
Cnnはこれらの縦、横配線の各交点にあるコンタクト
窓予定位置であり、MllとM21.M12とMg2.
・・・・・・を結線するのが正常なら第5図に示すよう
に、C1l、C22・・・・・・に実際にコンタクト窓
があけられ、金属蒸着とそのバターニングにより該C1
]、、C22,・・・・・で結線が行なわれる。
スクランブルした場合は第6図のようになる。
プログラムカウンタ11からの本例では5ビット出力A
O〜A4が、スクランブルなしなら半導体メモリ部12
のアドレスao−a4になるとして、本例のようにスク
ランブルするとA2がaO1A4がal、A1がa2、
AOがa3、A3がa4になり、コンタクト窓は図示の
CAO−CA4にあけられる。また読出しデータはスク
ランブルなしならdO〜d4がDo〜D4になるとして
、これが本例のようにスクランブルされているとdOが
D2、dlがD3、d2がDl、d3がD4、(] 4
がDoになり、コンタクト窓はCD0−CD4にあげら
れ、これで正常になる。即ち読出しデータはdOがD2
、dlがD3、・・・・・・になっており、ごれをdO
D2に、dlをD3に、・・・・・・導くことで正常に
なる(復号される)。
次表1に実アドレスと実データに対する暗号化アドレス
と暗号化データの例を示し、また表2に本例における半
導体メモリ部のアドレスとデータを示す。
表1 0 表2 表1では簡単化のため実アドレスA O−A 4と実デ
ータDO〜D4は同じ数値構成としており、暗号化アド
レスaO〜a4はaOがA2、alがA4、・・・・・
・暗号化データdO−Qd 4はdOがD2、dlがD
3、・・・・・・つまり第6図と同じスクランブル要領
としている。表2に示すように半導体メモリ部ではスク
ランブルされたアドレスにスクランブルされたデータを
格納する。例えば実アドレス00001はスクランブル
後は01000になるから、この01000のメモリア
ドレスに、実データ00001に対す名スクランブルデ
ータ10000を格納する。他も同様である。このメモ
リを、アドレス00001を01000として読出し、
その読出しデータ1ooooを回路部16でooooi
に復号することにより、アドレス、データをスクランブ
ルしない時と同じプログラム・データが得られる。勿論
、半導体メモリ部をスクランブルなしで読出しただけで
は、無意味データが得られるだけである。
第7図に、アドレス/データのスクランブルに1 2 加えて、アドレス/データのビットの一部を反転する例
を示す。15Aがそのアドレススクランブル回路部及び
アドレス反転回路部、16Aがデータ反転回路部及びデ
ータスクランブル回路部である。
第′8図は第7図のメモリ装置が外付はメモリ部を有す
る例を示し、第3図に対応する。
第9図は回路部15A、’16Aの具体例を示す図で、
第6図に対応する。第6図と異なる点はアドレス/デー
タビットにインバータが挿入されている点である。本例
ではプログラムカウンタ11からのアドレスのA1ビッ
トとA4ビットにインバータが入っており、メモリをア
クセスするアドレスはA4.A3.A2.AI、AOを
スクランブルしたA3.AO,At、A4.A2になる
データにはD3とDOにインバータが挿入され、半導体
メモリ部12が記憶しているデータはスクランブルとビ
ット反転されたDO,D4.DI。
D3.D2にされる。これがデスクランブルされてD4
.D3.D2.Di、DOになり、インバータによりビ
ット反転されてD4.D3.D2Di、DOになり、こ
れがデコーダ13へ送られる。次表3に実アドレスと実
データに対する暗号化アドレスと暗号化データの例を示
し、また表4に半導体メモリ部のアドレスとデータの例
を示す。
3 4 表3 表  4 5 0 この表3から明らかなように実アドレスA4〜AOは暗
号化でA4がal、、A3がa4.A2がaO,AIが
a2.AOがa3に変えられ、データD4〜DOばDi
がD3.D3がdi、D2がdo、Diがd2.Doが
diに変えられる。今、半導体メモリ部のROMアドレ
スが01010を考えるとこれは実アドレス10111
に対応し、このROMアドレスのデータは01111、
これが回路部16Aにより実データ10111に変換さ
れる。
〔発明の効果〕
以上説明したように本発明ではメモリアドレスとメモリ
データが暗号化されるので解読が一層困難であり、暗号
化は結線で即ちコンタクト窓で行なうので、論理回路を
構成する場合より這かに簡単容易であり、スペースを必
要としない利点がある。
【図面の簡単な説明】
第1図〜第3図は本発明の原理説明図、第4図はスクラ
ンブル回路の基本構成を示す説明図、 第5図はスクランブルなしの結線状態を示す説明図、 第6図は本発明の実施例を示す回路図、第7図〜第9図
は本発明の他の実施例の説明図である。 第1図で17は外部アドレス入力端子、18は外部への
読出しデータ出力端子、17Aは外部への暗号化アドレ
ス出力端子、L8Aは内部への暗号化データ入力端子で
ある。

Claims (1)

  1. 【特許請求の範囲】 1、プログラム・データを格納する半導体メモリ部に対
    するプログラム暗号化回路において、該半導体メモリ部
    のアドレスを決定するプログラムカウンタの出力アドレ
    スを入力とし、そのアドレスのビット構成をスクランブ
    ルして出力するアドレススクランブル回路(15)と、 プログラム・データをスクランブルして、かつアドレス
    をスクランブルして書込まれており、前記アドレススク
    ランブル回路の出力を受ける半導体メモリ部(12)と
    、 該半導体メモリ部の読出し出力を受け、これをスクラン
    ブルして元に戻すデータスクランブル回路(16)とを
    備え、 半導体メモリ部はチップ内蔵及び又は外付けであり、ア
    ドレススクランブル回路とデータスクランブル回路はチ
    ップ内蔵であることを特徴とするプログラム暗号化回路
JP1150053A 1989-06-13 1989-06-13 プログラム暗号化回路 Pending JPH0314147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1150053A JPH0314147A (ja) 1989-06-13 1989-06-13 プログラム暗号化回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1150053A JPH0314147A (ja) 1989-06-13 1989-06-13 プログラム暗号化回路

Publications (1)

Publication Number Publication Date
JPH0314147A true JPH0314147A (ja) 1991-01-22

Family

ID=15488477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1150053A Pending JPH0314147A (ja) 1989-06-13 1989-06-13 プログラム暗号化回路

Country Status (1)

Country Link
JP (1) JPH0314147A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6245454B1 (en) 1997-02-07 2001-06-12 Kabushiki Kaisha Toshiba Fuel cell and method of installing linings on gas manifolds of fuel cell
JP2003500786A (ja) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー アドレスのスクランブリング機能付きメモリアレー
JP2007260438A (ja) * 2007-07-12 2007-10-11 Heiwa Corp 遊技機用中央演算処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6245454B1 (en) 1997-02-07 2001-06-12 Kabushiki Kaisha Toshiba Fuel cell and method of installing linings on gas manifolds of fuel cell
JP2003500786A (ja) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー アドレスのスクランブリング機能付きメモリアレー
JP2007260438A (ja) * 2007-07-12 2007-10-11 Heiwa Corp 遊技機用中央演算処理装置

Similar Documents

Publication Publication Date Title
US8532296B2 (en) Processor, memory device, computer system, and method for transferring data
US4352952A (en) Data security module
US5214697A (en) Program execution apparatus for ensuring security of a program
US5825878A (en) Secure memory management unit for microprocessor
US20070050642A1 (en) Memory control unit with configurable memory encryption
US7165180B1 (en) Monolithic semiconductor device for preventing external access to an encryption key
US4374410A (en) Data processing system
JPH11316714A (ja) 集積回路およびこのような回路を具備するスマ―トカ―ド
US5860094A (en) System for protecting information stored on physical media
JPH0314147A (ja) プログラム暗号化回路
EP1073051B1 (en) Signal processing apparatus and method and information recording medium to be used therein
JP2002185447A (ja) 秘匿データ処理装置及びその電子部品
US4488001A (en) Intellectual properties protection device
KR101475821B1 (ko) 시스템 온 칩에서 암호화 방법 및 장치
JP2001265658A (ja) 非揮発性保存装置内容秘密保持方法と非揮発性保存装置内容秘密保持構造
JP4247311B2 (ja) マイクロプロセッサとそのプログラム作成装置及びプログラムデバック装置
JP2000029790A (ja) データセキュリティシステム
JP2002182984A (ja) データ処理装置
EP0403456B1 (en) Encryption circuit
JPS6349954A (ja) 記憶情報保護装置
JPH06195268A (ja) Icメモリカード及びそのデータ保護方法及び装置
JPS62107352A (ja) 暗号化rom装置
JPH03263147A (ja) 半導体集積回路装置
JPH11312125A (ja) 半導体記憶装置
JPH02212952A (ja) メモリアクセス制御方式