JP4911452B2 - 半導体メモリ及びデータ授受システム - Google Patents

半導体メモリ及びデータ授受システム Download PDF

Info

Publication number
JP4911452B2
JP4911452B2 JP2006176281A JP2006176281A JP4911452B2 JP 4911452 B2 JP4911452 B2 JP 4911452B2 JP 2006176281 A JP2006176281 A JP 2006176281A JP 2006176281 A JP2006176281 A JP 2006176281A JP 4911452 B2 JP4911452 B2 JP 4911452B2
Authority
JP
Japan
Prior art keywords
output
scramble
exclusive
operator
random number
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.)
Expired - Fee Related
Application number
JP2006176281A
Other languages
English (en)
Other versions
JP2008010923A (ja
Inventor
久美子 水戸
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 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2006176281A priority Critical patent/JP4911452B2/ja
Priority to US11/761,765 priority patent/US20080019518A1/en
Publication of JP2008010923A publication Critical patent/JP2008010923A/ja
Application granted granted Critical
Publication of JP4911452B2 publication Critical patent/JP4911452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

この発明はデータにスクランブルを施す技術に関する。
ホスト機器と、着脱可能に接続される半導体メモリとの間で授受されるデータにスクランブルを施すことが提案されている。これは、半導体メモリに格納された情報を、ホスト機器との接続部分の信号を観測することで不正に取得されることを回避するためである。
一定個数のデータストリームとの間で論理演算を行ってスクランブルに用いるためのデータ列(以下、「スクランブル用キー」と仮称する)を、シフトレジスタを用いて生成する技術が例えば特許文献1乃至4に紹介されている。
特開2000−278099号公報 特開2002−150698号公報 特開2002−170333号公報 特開平10−308720号公報
スクランブルによるデータの秘匿性を高めるためにはスクランブル用キーの生成にランダム性を付加する事が望ましい。かかるランダム性の付加のためには、ホスト機器側と半導体メモリ側とでタイミングを整合させて、スクランブル用キーの生成のための処理を更新することが望ましい。
しかしながら、スクランブル用キーの生成方法が一旦解析されてしまうと、その後のスクランブル用キーが予想されてしまい、半導体メモリから得られるデータのスクランブルが破られてしまう。
そこでスクランブル用キーの生成のための処理を更新する際に用いる値(例えば初期値)をランダムにし、以て当該更新にランダム性を付加することも考えられる。しかし更新のタイミングを単にタイマに基づいて所定期間毎に行うのであれば、当該タイマを強制的に停止することによって、初期値をランダムにすることの利点が損なわれる。
そこで本発明では、スクランブル用キーの生成方法を更新するタイミングを決定する基準を複数準備することにより、その更新のランダムさの実効性を高めることを目的とする。このランダムさとしては、例えば初期値のランダム化であり、スクランブル用キーの生成のための処理に用いられる手法の変更である。
この発明にかかる半導体メモリは、メモリアレイと、スクランブル/デスクランブル部とを備える。その第1の態様では、前記スクランブル/デスクランブル部は、前記メモリアレイから読み出された読み出しデータにスクランブル処理を施して出力データを生成し、入力されたスクランブル済みの信号にデスクランブル処理を施して前記メモリアレイに対するコマンドを生成し、前記スクランブル済みの信号、前記コマンド、前記読み出しデータ、前記出力データのうちの、少なくとも二つから選択される少なくとも一つが所定の条件を満足することを契機として、前記スクランブル処理及び/又は前記デスクランブル処理に用いられるスクランブル用キーを生成する方法の更新が行われる。
その第3の態様では、前記スクランブル/デスクランブル部は、前記メモリアレイから読み出された読み出しデータにスクランブル処理を施して出力データを生成し、入力されたスクランブル済みの信号にデスクランブル処理を施して前記メモリアレイに対するコマンドを生成し、前記スクランブル済みの信号、前記出力データから少なくともいずれか一つを選択し、選択されたものが所定の条件を満足することを契機として、前記スクランブル処理及び/又は前記デスクランブル処理に用いられるスクランブル用キーを生成する方法の更新が行われる。
この発明にかかる半導体メモリの第2の態様は、その第1の態様であって、前記スクランブル/デスクランブル部は、前記スクランブル用キーを生成する方法の更新のための制御信号を生成する制御回路と、前記読み出しデータと前記スクランブル済みの信号とを選択的に前記制御回路に与えるセレクタとを有する。
この発明にかかる半導体メモリの第4の態様は、その第3の態様であって、前記スクランブル/デスクランブル部は、前記スクランブル済みの信号、前記出力データを入力し、そのすくなくとも一つが前記所定の条件を満足することを契機として、前記スクランブル用キーを生成する方法の更新のための制御信号を生成する制御回路を有する。
この発明にかかる半導体メモリの第5の態様は、その第2の態様又は第4の態様であって、前記スクランブル/デスクランブル部は、前記スクランブル済みの信号又は前記読み出しデータと、前記スクランブル用キーとの排他的論理和を演算する演算部を更に有する。
この発明にかかるデータ授受システムは、この発明にかかる半導体メモリと、前記スクランブル用キーを用いてスクランブル処理及び/又はデスクランブル処理を行うスクランブル/デスクランブル部を有するホスト機器とを備える。
例えば前記スクランブル用キーはM系列の疑似乱数や、Gold系列の疑似乱数である。例えば前記更新は、疑似乱数の初期値の更新や、疑似乱数の特性方程式の更新や、疑似乱数のシフトビット数の更新である。
この発明にかかる半導体メモリの第1の態様によれば、スクランブル用キーの生成方法を更新するタイミングを決定する基準を複数準備することにより、その更新のランダムさの実効性を高める。
この発明にかかる半導体メモリの第2の態様乃至第4態様によれば、スクランブル用キーの生成方法を更新するタイミングを決定する基準として、読み出しデータとスクランブル済みの信号とを選択することができる。
この発明にかかる半導体メモリの第5の態様によれば、スクランブル処理及びデスクランブル処理に共通のスクランブル用キーを採用することができる。
この発明にかかるデータ授受システムによれば、ホスト機器と半導体メモリとの間で授受される情報はスクランブルされ、当該情報が不正に取得されることを回避する。
[基本的な考え方]
図1はこの発明の一例であるスクランブル/デスクランブル技術が採用されるデータ授受システムの構成を概念的に示すブロック図である。当該システムはホスト機器1と半導体メモリ2とを有しており、両者間においてはスクランブル済みの信号IOが授受される。
本実施の形態では8ビットのパラレルデータが扱われる場合が例示され、スクランブル/デスクランブルはその対象となる8ビットのパラレルデータと8ビットのスクランブル用キーとの排他的論理和を採る場合が例示される。ただし、これらの態様は例示であって、本発明がかかる態様に限定される必要はない。
ホスト機器1はスクランブル/デスクランブル部11と入出力部(図中ではI/Oと表記)12とを備えている。ホスト機器1はその他にも、半導体メモリ2へ与えるコマンドCmdや書き込みデータDtw及び書き込みデータDtwの格納先を示すアドレスAdrを出力する処理、半導体メモリ2から読み出しデータDtrを入力する処理、これらの処理並びにスクランブル/デスクランブル部11及び出力部12の機能を実行するが、本発明とは直接関係しないので説明は省略する。
半導体メモリ2はスクランブル/デスクランブル部21、入出力部(図中ではI/Oと表記)22、メモリアレイ26を備えている。半導体メモリ2は、他に機能を有することもあり得るが、その基本的な機能は以下の二つである。
第1の機能:スクランブル済みの信号IOを、入出力部22を介してホスト機器1から得る。スクランブル済みの信号IOをデスクランブルして、メモリアレイ26に対するコマンドCmd、書き込みデータDtw、もしくはアドレスAdrを得る。コマンドCmd、書き込みデータDtw、もしくはアドレスAdrに基づいてメモリアレイ26へとデータDtを入力し、あるいはメモリアレイ26から読み出しデータDtrを読み出す機能;
第2の機能:読み出しデータDtrをスクランブルし、これを入出力部22を介して、ホスト機器1へと出力する機能。
図2及び図3は、それぞれ第1の機能及び第2の機能を示すブロック図であり、いずれも半導体メモリ2の構造自体は図1のそれと同じである。但し、図2では第1の機能における、図3では第2の機能における、それぞれ信号やデータの流れを太線で示している。
半導体メモリ2はコマンド判定部24を更に備えている。コマンド判定部24は第1の機能においてデスクランブルされた結果がコマンドCmdであるか否かを判定する。コマンドCmdであればそのコマンドを後述するシフトレジスタ制御回路211に与える。
半導体メモリ2はメモリ制御部25を更に備えている。メモリ制御部25は、コマンドCmd、書き込みデータDtw、あるいはアドレスAdrをメモリアレイ26に出力する。
コマンドCmdは例えば読み出し命令、書き込み命令である。例えばコマンドCmdが読み出し命令である場合、通常はアドレスAdrを伴っている。当該コマンドCmdに基づいて、当該アドレスAdrにおいてメモリアレイ26に格納されていたデータが読み出しデータDtrとして読み出される。読み出しデータDtrはスクランブル/デスクランブル部21に入力する。
例えばコマンドCmdが書き込み命令である場合、通常はアドレスAdr及び書き込みデータDtwを伴っている。そして当該コマンドCmdに基づいて、随伴した書き込みデータDtwが、当該アドレスAdrにおいてメモリアレイ26へと書き込まれる。
例外的には、前回のコマンドCmdにおいてアドレスAdrが伴われている場合、そのアドレスAdrに対するアドレス値の差分が、今回のコマンドCmdに伴っていてもよい。また前回のコマンドCmdが書き込み命令であって書き込みデータDtwが随伴しており、今回のコマンドCmdも書き込み命令であって前回の書き込みデータDtwに対する値の差分が、今回のコマンドCmdに随伴してもよい。
スクランブル/デスクランブル部21はシフトレジスタ制御回路211、セレクタ212、演算部213、キー生成部214を備えている。キー生成部214は、図中では四角の配列で模式的に図示されている)シフトレジスタ群を有しており、これらはスクランブル/デスクランブルに用いられるスクランブル用キー(以下、単に「キー」と称す)q0〜q7を生成する。
セレクタ212は入出力部22を介して与えられるスクランブル済みの信号IOと、読み出しデータDtrとが与えられる。半導体メモリ2が上述の第1の機能、第2の機能を発揮する場合にそれぞれ対応して、セレクタ212はスクランブル済みの信号IO、読み出しデータDtrを選択し、これらの内で選択されたものが被処理信号p0〜p7として演算部213及びシフトレジスタ制御回路211に与えられる。
演算部213にはキーq0〜q7及び被処理信号p0〜p7が与えられる。半導体メモリ2が上述の第1の機能を発揮する場合には被処理信号p0〜p7はデスクランブルの対象であり、演算部213の出力データs0〜s7はデスクランブルされたコマンドCmd、書き込みデータDtw、あるいはアドレスAdrとなる。半導体メモリ2が上述の第2の機能を発揮する場合には被処理信号p0〜p7はスクランブルの対象であり、演算部213の出力データs0〜s7は読み出しデータDtrをスクランブルして得ることができ、入出力部22及びシフトレジスタ制御回路211に与えられる。演算部213は8ビットをパラレルで処理し、例えばキーq0〜q7及び被処理信号p0〜p7のビット毎の排他的論理和を演算する。
このように演算部213ではキーq0〜q7を用いて排他的論理和を演算することにより、スクランブル処理とデスクランブル処理とで共通のキーq0〜q7を用いることができる。
半導体メモリ2が上述の第2の機能を発揮する場合には、入出力部22を介して出力データs0〜s7はホスト機器1へと与えられる。
キー生成部214におけるキーq0〜q7の生成方法は、シフトレジスタ制御回路211で生成されるシフト制御信号によって更新される。そしてシフト制御信号は、シフトレジスタ制御回路211に与えられる四者のうちの少なくとも二つから選択される少なくとも一つが所定の条件を満足することを契機として活性化する。この四者とは、(i)入力部22、セレクタ212を介してホスト機器1から得られるスクランブル済みの信号IO、(ii)デスクランブルの後にコマンド判定部から得られるコマンドCmd、(iii)セレクタ212を介してメモリアレイ26から得られる読み出しデータDtr、(iv)演算部213で読み出しデータDtrをスクランブルして得られる出力データs0〜s7である。
シフトレジスタ制御回路211にはこれら四者が全て与えられる必要はない。例えばシフトレジスタ制御回路211はスクランブル済みの信号IO、出力データs0〜s7を受け、これらの二つの少なくともいずれかを選択し、選択されたものが所定の条件を満足することを契機としてシフト制御信号を活性化させればよい。当該選択が可能となることにより、スクランブルの実効性が高まる。なお、この選択は経時的に変更してもよい。
図4はこれら四者の流れを示すブロック図であり、半導体メモリ2の構造自体は図1のそれと同じである。但し、図4ではこれら四者の流れを太線で示している。
上記四者は見方を変えれば纏めて把握することもできる。例えばスクランブル済みの信号IOとして、ホスト機器1から得られるもの(上記(i)に相当)と、ホスト機器1へと与えるもの(上記(iv)に相当)とを纏めて把握することができる。また読み出しデータDtrとして、スクランブル前のもの(上記(iii)に相当)と、スクランブル済みのもの(上記(iv)に相当)とを纏めて把握することができる。
被処理信号p0〜p7がシフトレジスタ制御回路211に与えられるので、シフト制御信号を活性化してキーq0〜q7の生成方法を更新する契機を決定する基準としては、少なくともスクランブル済みの信号IOを選択することができる。
例えばスクランブル済みの信号IOが所定の値を採ることを契機として、シフト制御信号が活性化する。あるいは読み出しデータDtrが所定の値を採ることを契機としてもよい。あるいはコマンドCmdが所定の条件を満足したことを契機として、シフト制御信号が活性化する。所定の条件とは「コマンドCmdが読み出し命令である」あるいは「所定の条件が前回満足されてから10回目のコマンドCmdである」、を例挙することができる。
その他、図示は省略するが、書き込みデータDtw、あるいはアドレスAdrなど、デスクランブルされた情報が所定の条件を満足したことを契機として、シフト制御信号が活性化してもよい。例えば書き込みデータDtwが所定の値を採ること、アドレスAdrが所定の値を採ることを契機としてもよい。
シフトレジスタ制御回路211においては、前記四者のうちの少なくとも二つのいずれかが所定の条件を採ることを検出するが、かかる処理はハードウェアで実現するのみならず、ソフトウェアで実現してもよい。かかるソフトウェアは、半導体メモリにおいて通常設けられる不図示のCPUによって実行してもよい。
ホスト機器1が備えるスクランブル/デスクランブル部11についても同様の構成、機能を与えることができる。そしてスクランブル/デスクランブル部21においてスクランブル/デスクランブルに用いられるキーq0〜q7と同じキーを用いて、スクランブル/デスクランブル部11においてそれぞれデスクランブル/スクランブルが実行される。
よってホスト機器1と半導体メモリ2との間ではキーq0〜q7の授受がなされるか、あるいはキーq0〜q7を生成するための情報(例えば下記で詳述する初期値など)の授受がなされるか、もしくは同期して同一のキーq0〜q7を生成することが望ましい。例えばホスト機器1と半導体メモリ2との間でのキーq0〜q7の授受や、キーq0〜q7の生成の同期においてはスクランブルしない情報を両者間で授受しても良い。その場合には入出力部22から入力した、スクランブルされていない情報をコマンド判定部24に与える必要がある。
そこで半導体メモリ2はセレクタ23を更に備えており、入出力部22から入力した情報がスクランブル済みの信号IOである場合には出力データs0〜s7を選択し、入出力部22から入力した情報がスクランブルされていない情報である場合にはこれを選択し、いずれもコマンド判定部24に与える。
例えば電源オン直後のいわゆるパワーオンリセットが発生した場合には、一旦ホスト機器1から、シフト制御信号をデフォルト値に設定するためのコマンドを送ることとし、そのときにはセレクタは入出力部22から入力した情報を選択してこれをコマンド判定部24に与えることができる。これにより、キーq0〜q7が一旦はデフォルト値に設定され、その後は上述したシフト制御信号の活性化により、キーq0〜q7の生成方法が更新される。
ホスト機器1と半導体メモリ2との間では、上記したキーq0〜q7の授受や、シフト制御信号をデフォルト値に設定するためのコマンドの授受を除き、原則的にはスクランブルされた情報が授受される。もちろん、キーq0〜q7の授受あるいはその生成に用いられる初期値を、スクランブル済みの信号IOとして授受し、それまでに用いられていたキーq0〜q7を用いてデスクランブルしてもよい。
あるいは当該初期値はその一部分が予め、ホスト機器1と半導体メモリ2とでデフォルト値に設定されており、残りの部分を暗号化してホスト機器1から半導体メモリ2へと送信してもよい。当該暗号化は上記スクランブルとは別個の周知の暗号化技術を採用することができる。
このようにしてホスト機器1と半導体メモリ2とは、スクランブルされた情報が授受されるデータ授受システムを構成し、両者で授受される情報が不正に取得されることを回避している。
以上のようにして、スクランブル用キーの生成方法を更新するタイミングを決定する基準を複数準備することにより、スクランブル用キーの生成方法のランダムさの実効性を高めることができる。以下ではこのランダムさの例を挙げる。
[初期値のランダム化]
第1の実施の形態.
図5はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214はM系列(Maximum length sequence)乱数発生回路214Aと、8ビットのシフトレジスタ群130とを備えている。またM系列乱数発生回路214Aは5ビットのシフトレジスタ群10と、帰還回路121とを備えている。
シフトレジスタ群10は直列に接続された1ビットのシフトレジスタ100〜104を有しており、それぞれがビット値a0〜a4を出力する。そしてシフトレジスタ104、103,102,101はそれぞれビット値a4,a3,a2,a1をシフトレジスタ103,102,101,100に出力する。
シフトレジスタ100はビット値a0を帰還回路121の入力側に供給し、シフトレジスタ104は帰還回路121から出力されたビット値を入力する。
帰還回路121は演算子105〜107を有している。演算子105はビット値a0,a1の排他的論理和を出力し、演算子106は演算子105の出力とビット値a2との排他的論理和を出力し、演算子107は演算子106の出力とビット値a3との排他的論理和を出力する。そしてシフトレジスタ104は演算子107の出力を入力する。
よってM系列乱数発生回路214Aは特性方程式F(x)=x5+x3+x2+x+1に基づいて構成されている。ここでは一度にシフトされるビットは1ビットである場合を例示するが、より複数のビットを一度にシフトしてもよい。
シフトレジスタ制御回路211からは活性化したシフト制御信号として、初期値b0〜b4がシフトレジスタ100〜104に与えられる。初期値b0〜b4は、例えばスクランブル済みの信号IOの値を採用しても良い。もちろん、初期値b0〜b4は常時与えられ続けるのではなく、シフト制御信号が活性化する契機となったときのみシフトレジスタ100〜104に与えられる。
図6はシフトレジスタ群130、演算部213の構成及び接続関係を示す回路図である。シフトレジスタ群130は直列に接続された1ビットのシフトレジスタ110〜117を有し、この順にシフトレジスタ群10からの出力が順にシフトされる。そしてシフトレジスタ110〜117のそれぞれが格納する値が、キーq0〜q7となって演算部213に与えられる。
演算部213は8個の演算子を有しており、キーqiと被処理信号pi(i=0〜7)の排他的論理和が出力データsiとして出力される。
M系列の疑似乱数の性質上、特性方程式が同じであれば、複数回のシフトを行って得られる疑似乱数を、初期値を変更することにより得ることができる。但し例外的に、全ての初期値が“0”となってしまう場合には、キーqiもすべて“0”となってしまい、スクランブルの効果が実質的には見込めない。しかしながら、シフト制御信号があらためて活性化すれば、初期値b0〜b4は例えばそのときのスクランブル済みの信号IOの値で更新される。よってスクランブルの効果が得られるようになると考えられる。
もちろん、初期値b0〜b4はスクランブル済みの信号IOの値以外にも、他の値、例えばコマンドCmd、アドレスAdr、書き込みデータDtwの値、出力データs0〜s7の一部を採用してもよい。あるいは別途に他の疑似乱数を発生する機構を採用し、当該疑似乱数を用いて初期値b0〜b4を設定してもよい。
第2の実施の形態.
図7はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214は第1の実施の形態で示されたM系列乱数発生回路214A及びシフトレジスタ群130と、他のM系列乱数発生回路214Bと、演算子901とを備えている。
M系列乱数発生回路214Bは、5ビットのシフトレジスタ群20と、帰還回路122とを備えている。
シフトレジスタ群20は直列に接続された1ビットのシフトレジスタ200〜204を有しており、それぞれがビット値f0〜f4を出力する。そしてシフトレジスタ204、203,202,201はそれぞれビット値f4,f3,f2,f1をシフトレジスタ203,202,201,200に出力する。
シフトレジスタ200はビット値f0を帰還回路122の入力側に供給し、シフトレジスタ204は帰還回路122から出力されたビット値を入力する。
帰還回路122は演算子205〜207を有している。演算子205はビット値f0,f1の排他的論理和を出力し、演算子206は演算子205の出力とビット値f2との排他的論理和を出力し、演算子207は演算子206の出力とビット値f4との排他的論理和を出力する。そしてシフトレジスタ204は演算子207の出力を入力する。
よってM系列乱数発生回路214Bは特性方程式F(x)=x5+x4+x2+x+1に基づいて構成されている。ここでは一度にシフトされるビットは1ビットである場合を例示するが、より複数のビットを一度にシフトしてもよい。
演算子901はビット値a0,f0の排他的論理和を生成し、シフトレジスタ群130に出力する。よって演算子901からはGold系列の疑似乱数が得られることになる。
シフトレジスタ制御回路211からは活性化したシフト制御信号として、初期値b0〜b4がシフトレジスタ100〜104に、初期値d0〜d4がシフトレジスタ200〜204に、それぞれ与えられる。初期値b0〜b4,d0〜d4は、例えばスクランブル済みの信号IOの値を採用しても良い。もちろん、初期値b0〜b4,d0〜d4は常時与えられ続けるのではなく、シフト制御信号が活性化する契機となったときのみシフトレジスタ100〜104、200〜204に与えられる。
Gold系列の疑似乱数の性質上、特性方程式が同じであっても、初期値を変更すると異なる系列の疑似乱数を発生する。よってより一層、スクランブルの方法が外部からはわかりにくくできる。
[乱数発生系列の変更]
第3の実施の形態.
図8はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214はM系列乱数発生回路214Cと、第1の実施の形態で示されたシフトレジスタ群130とを備えている。またM系列乱数発生回路214Cは第1の実施の形態で示されたシフトレジスタ群10と、帰還回路123とを備えている。
帰還回路123は演算子105〜108と、セレクタ141,142とを有している。演算子105はビット値a0,a1の排他的論理和を出力し、演算子106はセレクタ141の出力とビット値a2との排他的論理和を出力し、演算子107は演算子106の出力とビット値a3との排他的論理和を出力し、演算子108は演算子107の出力とビット値a4との排他的論理和を出力する。
セレクタ141は選択信号sel1が“0”,“1”である場合に応じて、それぞれビット値a0及び演算子105の出力を選択して出力する。セレクタ142は選択信号sel2が“0”,“1”である場合に応じて、それぞれ演算子107の出力及び演算子108の出力を選択して出力する。そしてシフトレジスタ104はセレクタ142の出力を入力する。
よってM系列乱数発生回路214Cは選択信号sel1,sel2の値によって、異なる特性方程式に基づいて動作する。具体的には選択信号sel1,sel2がそれぞれ“1”、“0”を採る場合には、M系列乱数発生回路214Cは第1の実施の形態で示されたM系列乱数発生回路214Aと同様に、その特性方程式はF(x)=x5+x3+x2+x+1となる。また選択信号sel1,sel2がそれぞれ“0”、“1”を採る場合には、M系列乱数発生回路214Cの特性方程式はF(x)=x5+x4+x3+x2+1となる。
そして選択信号sel1,sel2は、シフトレジスタ制御回路211からの活性化したシフト制御信号として出力される。従って、スクランブル用キーの生成のための処理を更新するに際して、M系列の疑似乱数の特性方程式を異ならせ、ランダムさの実効性を高めることができる。
第4の実施の形態.
図9はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214は第3の実施の形態で示されたM系列乱数発生回路214Cと、第1の実施の形態で示されたシフトレジスタ群130と、M系列乱数発生回路214Dと、演算子901とを備えている。またM系列乱数発生回路214Dは第2の実施の形態で示されたシフトレジスタ群20と、帰還回路124とを備えている。
帰還回路124は演算子205〜208と、セレクタ143,144とを有している。演算子205はビット値f0,f1の排他的論理和を出力し、演算子206はビット値f1,f2の排他的論理和を出力し、演算子207はセレクタ143の出力とビット値f3との排他的論理和を出力し、演算子208はセレクタ144の出力とビット値f4との排他的論理和を出力する。
セレクタ143は選択信号sel1が“0”,“1”である場合に応じて、それぞれ演算子205の出力及び演算子206の出力を選択して出力する。セレクタ144は選択信号sel2が“0”,“1”である場合に応じて、それぞれセレクタ143の出力及び演算子207の出力を選択して出力する。そしてシフトレジスタ204は演算子208の出力を入力する。
よってM系列乱数発生回路214Dは選択信号sel1,sel2の値によって、異なる特性方程式に基づいて動作する。具体的には選択信号sel1,sel2がそれぞれ“1”、“0”を採る場合には、M系列乱数発生回路214Cは第2の実施の形態で示されたM系列乱数発生回路214Bと同様に、その特性方程式はF(x)=x5+x4+x2+x+1となる。また選択信号sel1,sel2がそれぞれ“0”、“1”を採る場合には、M系列乱数発生回路214Dの特性方程式はF(x)=x5+x4+x3+x+1となる。
演算子901はビット値a0,f0の排他的論理和を生成し、シフトレジスタ群130へと出力する。
よって本実施の形態におけるキー生成部214はGold系列乱数発生回路として機能し、選択信号sel1,sel2がそれぞれ“1”、“0”を採る場合には、特性方程式F(x)=(x5+x3+x2+x+1)・(x5+x4+x2+x+1)に基づいて動作する。また選択信号sel1,sel2がそれぞれ“0”、“1”を採る場合には、特性方程式F(x)=(x5+x4+x3+x2+1)・(x5+x4+x3+x+1)に基づいて動作する。
第3の実施の形態で述べたように、選択信号sel1,sel2は、シフトレジスタ制御回路211からの活性化したシフト制御信号として出力される。従って、スクランブル用キーの生成のための処理を更新するに際して、Gold系列の疑似乱数の特性方程式を異ならせ、ランダムさの実効性を高めることができる。
[シフトビット数の変更]
第5の実施の形態.
図10はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214は第1の実施の形態で示されたシフトレジスタ群10と、帰還回路125と、演算回路131とを備えたM系列乱数発生回路214Eで構成されている。
帰還回路125はシフトレジスタ群10からビット値a0〜a4を入力し、初期値b0〜b4を生成して、それぞれのシフトレジスタ100〜104に与える。演算回路131はビット値a0〜a4を入力し、キーq0〜97となる8ビットの値c0〜c7を出力する。
選択信号selは、シフトレジスタ制御回路211からの活性化したシフト制御信号として帰還回路125と演算回路131とに出力される。
図11は帰還回路125の構成を示す回路である。演算子501,502,503はビット値a0,a1の排他的論理和を求めて出力する。演算子504,505,506はビット値a1,a2の排他的論理和を求めて出力する。演算子507はビット値a2,a3の排他的論理和を求めて出力する。演算子508はビット値a3と、演算子502の出力との排他的論理和を求めて出力する。演算子509はビット値a0,a3の排他的論理和を求めて出力する。演算子510はビット値a3,a4の排他的論理和を求めて出力する。演算子511はビット値a4と、演算子504の出力との排他的論理和を求めて出力する。演算子512,530はビット値a1,a4の出力の排他的論理和を求めて出力する。演算子513はビット値a4と、演算子506の出力との排他的論理和を求めて出力する。
セレクタ300は演算子509,513のいずれかの出力を初期値b0として出力する。具体的には選択信号selが値“0”を採る場合には、演算子509の出力、即ちビット値a0,a3の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子513の出力、即ちビット値a1,a2,a4の排他的論理和を出力する。
セレクタ301は演算子512,503のいずれかの出力を初期値b1として出力する。具体的には選択信号selが値“0”を採る場合には、演算子512の出力、即ちビット値a1,a4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子503の出力、即ちビット値a0,a1の排他的論理和を出力する。
セレクタ302は演算子508,505のいずれかの出力を初期値b2として出力する。具体的には選択信号selが値“0”を採る場合には、演算子508の出力、即ちビット値a0,a1,a3の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子505の出力、即ちビット値a1,a2の排他的論理和を出力する。
セレクタ303は演算子511,507のいずれかの出力を初期値b3として出力する。具体的には選択信号selが値“0”を採る場合には、演算子511の出力、即ちビット値a1,a2,a4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子507の出力、即ちビット値a2,a3の排他的論理和を出力する。
セレクタ304は演算子501,510のいずれかの出力を初期値b4として出力する。具体的には選択信号selが値“0”を採る場合には、演算子501の出力、即ちビット値a0,a1の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子510の出力、即ちビット値a3,a4の排他的論理和を出力する。
図12は演算回路131の構成を示す回路である。演算子514,515,516,517,518はビット値a0,a1の排他的論理和を求めて出力する。演算子519はビット値a2と、演算子514の出力との排他的論理和を求めて出力する。演算子520,522はビット値a1,a2の排他的論理和を求めて出力する。演算子521はビット値a2と、演算子515の出力との排他的論理和を求めて出力する。演算子523はビット値a3と、演算子519の出力との排他的論理和を求めて出力する。演算子524はビット値a3と、演算子520の出力との排他的論理和を求めて出力する。演算子525はビット値a0,a3の排他的論理和を求めて出力する。演算子526はビット値a3と、演算子521の出力との排他的論理和を求めて出力する。演算子527はビット値a3と、演算子522の出力との排他的論理和を求めて出力する。演算子528はビット値a3と、演算子516の出力との排他的論理和を求めて出力する。演算子529はビット値a4と、演算子524の出力との排他的論理和を求めて出力する。演算子531はビット値a4と、演算子527の出力との排他的論理和を求めて出力する。演算子532はビット値a4と、演算子517の出力との排他的論理和を求めて出力する。演算子533はビット値a4と、演算子518の出力との排他的論理和を求めて出力する。
上記の構成を有することにより、キー生成回路214Eは特性方程式F(x)=x5+x3+x2+x+1に基づいたM系列の疑似乱数を発生する。選択信号selが値“0”を採る場合には、初期値b0〜b4はそれぞれ、ビット値a0,a3の排他的論理和、ビット値a1,a4の排他的論理和、ビット値a0,a1,a3の排他的論理和、ビット値a1,a2,a4の排他的論理和、ビット値a0,a1の排他的論理和を採る。これらの値は、特性方程式F(x)=x5+x3+x2+x+1に基づいたM系列の疑似乱数において、シフトレジスタ100〜104を8ビット分シフトした値に相当する。即ち、選択信号selが値“0”を採る場合には、シフトビット数が8のM系列の疑似乱数が発生される。
因みに、選択信号selが値“0”を採る場合には、8ビットの値c0〜c7はそれぞれ、ビット値a0,a1,a4の排他的論理和、ビット値a1,a2,a3,a4の排他的論理和、ビット値a0,a1,a2,a3の排他的論理和、ビット値a4、ビット値a3、ビット値a2、ビット値a1、ビット値a0を採る。
選択信号selが値“1”を採る場合には、初期値b0〜b4はそれぞれ、ビット値a1,a2,a4の排他的論理和、ビット値a0,a1の排他的論理和、ビット値a1,a2の排他的論理和、ビット値a2,a3の排他的論理和、ビット値a3,a4の排他的論理和を採る。これらの値は、特性方程式F(x)=x5+x3+x2+x+1に基づいたM系列の疑似乱数において、シフトレジスタ100〜104を11ビット分シフトした値に相当する。即ち、選択信号selが値“1”を採る場合には、シフトビット数が11のM系列の疑似乱数が発生される。
因みに、選択信号selが値“1”を採る場合には、8ビットの値c0〜c7はそれぞれ、ビット値a0,a1,a3の排他的論理和、ビット値a1,a4の排他的論理和、ビット値a0,a3の排他的論理和、ビット値a0,a1,a4の排他的論理和、ビット値a1,a2,a3,a4の排他的論理和、ビット値a0,a1,a2,a3の排他的論理和、ビット値a4、ビット値a3を採る。
選択信号selは、シフトレジスタ制御回路211からの活性化したシフト制御信号として出力される。従って、スクランブル用キーの生成のための処理を更新するに際して、M系列の疑似乱数のシフトビット数を異ならせ、ランダムさの実効性を高めることができる。
なお、シフトビット数はM系列の疑似乱数の周期と互いに素であることが望ましい。両者が1以外の公約数を有した場合には、ランダムさの実効性が損なわれるからである。
第6の実施の形態.
図13はキー生成部214(図1参照)の構成を例示する回路図である。キー生成部214は第5の実施の形態で示されたM系列乱数発生回路214Eと、M系列乱数発生回路214Fと、合成部135とを備えている。M系列乱数発生回路214Fは、第2の実施の形態で示されたシフトレジスタ群20と、帰還回路126と、演算回路132とを備えている。
選択信号selは、シフトレジスタ制御回路211からの活性化したシフト制御信号としてM系列乱数発生回路214Eと、帰還回路126と、演算回路132とに出力される。M系列乱数発生回路214Eの動作は第5の実施の形態で説明したので、本実施の形態では割愛する。但し、本実施の形態では8ビットの値c0〜c7はキーq0〜q7を得るための出力前駆値として機能する。
帰還回路126はシフトレジスタ群20からビット値f0〜f4を入力し、初期値d0〜d4を生成して、それぞれのシフトレジスタ200〜204に与える。演算回路132はビット値f0〜f4を入力し、8ビットの出力前駆値e0〜e7を出力する。
合成部135は出力前駆値c0〜c7と出力前駆値e0〜e7との排他的論理和をビット毎に生成し、これをキーq0〜q7として出力する。よって本実施の形態においてはM系列乱数発生回路214E,214Fは、キーq0〜q7を生成するのではなく、二組の出力前駆値を生成する。これら二組の出力前駆値の排他的論理和を生成することによって、スクランブル/デスクランブルのキーが生成される。
換言すれば、第5の実施の形態は、出力前駆値e0〜e7が全てゼロであると見れば、本実施の形態の変形として捉えることができる。
図14は帰還回路126の構成を示す回路である。具体的には演算子701,702はビット値f0,f1の排他的論理和を求めて出力する。演算子703はビット値f0,f2の排他的論理和を求めて出力する。演算子704はビット値f2と、演算子702の出力との排他的論理和を求めて出力する。演算子705はビット値f0,f3の排他的論理和を求めて出力する。演算子706はビット値f3と、演算子704の出力との排他的論理和を求めて出力する。演算子707はビット値f4と、演算子703の出力との排他的論理和を求めて出力する。演算子708はビット値f0,f3の排他的論理和を求めて出力する。演算子709,714はビット値f1,f4の排他的論理和を求めて出力する。演算子710はビット値f1,f3の排他的論理和を求めて出力する。演算子711はビット値f0,f4の排他的論理和を求めて出力する。演算子712はビット値f4と、演算子701の出力との排他的論理和を求めて出力する。演算子713はビット値f4と、演算子706の出力との排他的論理和を求めて出力する。演算子715はビット値f2,f4の排他的論理和を求めて出力する。
セレクタ600は演算子710,708のいずれかの出力をシフトレジスタ設定値d0として出力する。具体的には選択信号selが値“0”を採る場合には、演算子710の出力、即ちビット値f1,f3の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子708の出力、即ちビット値f0,f3の排他的論理和を出力する。
セレクタ601は演算子715,714のいずれかの出力をシフトレジスタ設定値d1として出力する。具体的には選択信号selが値“0”を採る場合には、演算子715の出力、即ちビット値f2,f4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子714の出力、即ちビット値f1,f4の排他的論理和を出力する。
セレクタ602は演算子713,712のいずれかの出力をシフトレジスタ設定値d2として出力する。具体的には選択信号selが値“0”を採る場合には、演算子713の出力、即ちビット値f0,f1,f2,f3,f4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子712の出力、即ちビット値f0,f1,f4の排他的論理和を出力する。
セレクタ603は演算子705,711のいずれかの出力をシフトレジスタ設定値d3として出力する。具体的には選択信号selが値“0”を採る場合には、演算子705の出力、即ちビット値f0,f3の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子711の出力、即ちビット値f0,f4の排他的論理和を出力する。
セレクタ604は演算子709,707のいずれかの出力をシフトレジスタ設定値d4として出力する。具体的には選択信号selが値“0”を採る場合には、演算子709の出力、即ちビット値f1,f4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子707の出力、即ちビット値f0,f2,f4の排他的論理和を出力する。
図15は演算回路132の構成を示す回路である。演算子716はビット値f0と、演算子731の出力との排他的論理和を求めて出力する。演算子717はビット値f0と、演算子723の出力との排他的論理和を求めて出力する。演算子718,722はビット値f0,f2の排他的論理和を求めて出力する。演算子719はビット値f0と、演算子725の出力との排他的論理和を求めて出力する。演算子720はビット値f0と、演算子732の出力との排他的論理和を求めて出力する。演算子721はビット値f0と、演算子726の出力との排他的論理和を求めて出力する。演算子723はビット値f1と、演算子727の出力との排他的論理和を求めて出力する。演算子724はビット値f1,f3の排他的論理和を求めて出力する。演算子725はビット値f1と、演算子728の出力との排他的論理和を求めて出力する。演算子726はビット値f1と、演算子729の出力との排他的論理和を求めて出力する。演算子727,728,730はビット値f2,f4の排他的論理和を求めて出力する。演算子729はビット値f2と、演算子733の出力との排他的論理和を求めて出力する。演算子731,732,733はビット値f3,f4の排他的論理和を求めて出力する。
セレクタ800は演算子722,721のいずれかの出力を出力前駆値e0として出力する。具体的には選択信号selが値“0”を採る場合には、演算子722の出力、即ちビット値f0,f2の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子721の出力、即ちビット値f0,f1,f2,f3,f4の排他的論理和を出力する。
セレクタ801は演算子720,730のいずれかの出力を出力前駆値e1として出力する。具体的には選択信号selが値“0”を採る場合には、演算子720の出力、即ちビット値f0,f3,f4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子730の出力、即ちビット値f2,f4の排他的論理和を出力する。
セレクタ802は演算子719,724のいずれかの出力を出力前駆値e2として出力する。具体的には選択信号selが値“0”を採る場合には、演算子719の出力、即ちビット値f0,f1,f2,f4の排他的論理和を出力する。また選択信号selが値“1”を採る場合には、演算子724の出力、即ちビット値f1,f3の排他的論理和を出力する。
セレクタ803はビット値f4の出力と、演算子718のいずれかの出力を出力前駆値e3として出力する。具体的には選択信号selが値“0”を採る場合には、ビット値f4に格納されていた値を出力する。また選択信号selが値“1”を採る場合には、演算子718の出力、即ちビット値f0,f2の排他的論理和を出力する。
セレクタ804はビット値f3の出力と、演算子731のいずれかの出力を出力前駆値e4として出力する。具体的には選択信号selが値“0”を採る場合には、ビット値f3に格納されていた値を出力する。また選択信号selが値“1”を採る場合には、演算子731の出力、即ちビット値f0,f3,f4の排他的論理和を出力する。
セレクタ805はビット値f2の出力と、演算子717のいずれかの出力を出力前駆値e5として出力する。具体的には選択信号selが値“0”を採る場合には、ビット値f2に格納されていた値を出力する。また選択信号selが値“1”を採る場合には、演算子717の出力、即ちビット値f0,f1,f2,f4の排他的論理和を出力する。
セレクタ806は、選択信号selが値“0”を採る場合にはビット値f1に格納されていた値を、選択信号selが値“1”を採る場合にはビット値f4に格納されていた値を、それぞれ出力前駆値e6として出力する。
セレクタ807は、選択信号selが値“0”を採る場合にはビット値f0に格納されていた値を、選択信号selが値“1”を採る場合にはビット値f3に格納されていた値を、それぞれ出力前駆値e7として出力する。
上記の構成を有することにより、M系列乱数発生回路214Fは特性方程式F(x)=x5+x4+x2+x+1に基づいたM系列の疑似乱数を発生する。選択信号selが値“0”を採る場合には、初期値d0〜d4はそれぞれ、ビット値f1,f3の排他的論理和、ビット値f2,f4の排他的論理和、ビット値f0,f1,f2,f3,f4の排他的論理和、ビット値f0,f3の排他的論理和、ビット値f1,f4の排他的論理和を採る。
これらの値は、特性方程式F(x)=x5+x4+x2+x+1に基づいたM系列の疑似乱数において、シフトレジスタ200〜204を8ビット分シフトした値に相当する。即ち、選択信号selが値“0”を採る場合には、シフトビット数が8のM系列の疑似乱数が発生される。
因みに、選択信号selが値“0”を採る場合には、出力前駆値e0〜e7はそれぞれ、ビット値f0,f2の排他的論理和、ビット値f0,f3,f4の排他的論理和、ビット値f0,f1,f2,f4の排他的論理和、ビット値f4、ビット値f3、ビット値f2、ビット値f1、ビット値f0を採る。
選択信号selが値“1”を採る場合には、初期値d0〜d4はそれぞれ、ビット値f0,f3の排他的論理和、ビット値f1,f4の排他的論理和、ビット値f0,f1,f4の排他的論理和、ビット値f0,f4の排他的論理和、ビット値f0,f2,f4の排他的論理和を採る。
これらの値は、特性方程式F(x)=x5+x4+x2+x+1に基づいたM系列の疑似乱数において、シフトレジスタ200〜204を11ビット分シフトした値に相当する。即ち、選択信号selが値“1”を採る場合には、シフトビット数が11のM系列の疑似乱数が発生される。
因みに、選択信号selが値“1”を採る場合には、出力前駆値e0〜e7はそれぞれ、ビット値f0,f1,f2,f3,f4の排他的論理和、ビット値f2,f4の排他的論理和、ビット値f1,f3の排他的論理和、ビット値f0,f2の排他的論理和、ビット値f0,f3,f4の排他的論理和、ビット値f0,f1,f2,f4の排他的論理和、ビット値f4、ビット値f3を採る。
図16は合成部135の構成を例示する回路図である。合成部135は8個の演算子を有し、そのそれぞれが一対の1ビットの排他的論理和を演算する。これら8個の演算子により、出力前駆値c0〜c7と出力前駆値e0〜e7との排他的論理和がビット毎に生成され、これらがキーq0〜q7として出力される。
よって本実施の形態におけるキー生成部214は特性方程式F(x)=(x5+x3+x2+x+1)・(x5+x4+x2+x+1)に基づいて動作するGold系列乱数発生回路として機能する。そして選択信号selがそれぞれ“0”、“1”を採る場合に対応して、シフトビット数として8ビットと11ビットとが採用される。
選択信号selは、シフトレジスタ制御回路211からの活性化したシフト制御信号として出力される。従って、スクランブル用キーの生成のための処理を更新するに際して、Gold系列の疑似乱数のシフトビット数を異ならせ、ランダムさの実効性を高めることができる。
[変形]
上記の説明ではM系列、Gold系列を用いて疑似乱数を発生させる技術を例示したが、本発明において採用される乱数はこれらの手法によるものには限定されない。これ以外の疑似乱数発生方法を採用し、[基本的な考え方]で述べたようなスクランブル用キーの生成方法を更新するタイミングを決定する基準を複数準備してもよい。
この発明の一例であるスクランブル/デスクランブル技術が採用されるデータ授受システムの構成を概念的に示すブロック図である。 第1の機能を示すブロック図である。 第2の機能を示すブロック図である。 シフトレジスタ制御回路に与えられる四者の流れを示すブロック図である。 この発明の第1の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第1の実施の形態におけるシフトレジスタ群、演算部の構成及び接続関係を示す回路図である。 この発明の第2の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第3の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第4の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第5の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第5の実施の形態における帰還回路の構成を示す回路図である。 この発明の第5の実施の形態における演算回路の構成を示す回路図である。 この発明の第6の実施の形態におけるキー生成部の構成を例示する回路図である。 この発明の第6の実施の形態における帰還回路の構成を示す回路図である。 この発明の第6の実施の形態における演算回路の構成を示す回路図である。 この発明の第6の実施の形態における合成部の構成を例示する回路図である。
符号の説明
1 ホスト機器
2 半導体メモリ
11,21 スクランブル/デスクランブル部
26 メモリアレイ
211 シフトレジスタ制御回路
213 演算部
Dtr 読み出しデータ
q0〜q7 キー
s0〜s7 出力データ

Claims (12)

  1. メモリアレイと、
    スクランブル/デスクランブル部と
    を備え、
    前記スクランブル/デスクランブル部は、
    前記メモリアレイから読み出された読み出しデータにスクランブル処理を施して出力データを生成し、
    入力されたスクランブル済みの信号にデスクランブル処理を施して前記メモリアレイに対するコマンドを生成し、
    前記スクランブル済みの信号、前記コマンド、前記読み出しデータ、前記出力データのうちの、少なくとも二つから選択される少なくとも一つが所定の条件を満足することを契機として、前記スクランブル処理及び/又は前記デスクランブル処理に用いられるスクランブル用キーを生成する方法の更新が行われる、半導体メモリ。
  2. 前記スクランブル/デスクランブル部は、
    前記スクランブル用キーを生成する方法の更新のための制御信号を生成する制御回路と、
    前記読み出しデータと前記スクランブル済みの信号とを選択的に前記制御回路に与えるセレクタと
    を有する、請求項1記載の半導体メモリ。
  3. メモリアレイと、
    スクランブル/デスクランブル部と
    を備え、
    前記スクランブル/デスクランブル部は、
    前記メモリアレイから読み出された読み出しデータにスクランブル処理を施して出力データを生成し、
    入力されたスクランブル済みの信号にデスクランブル処理を施して前記メモリアレイに対するコマンドを生成し、
    前記スクランブル済みの信号、前記出力データから少なくともいずれか一つを選択し、選択されたものが所定の条件を満足することを契機として、前記スクランブル処理及び/又は前記デスクランブル処理に用いられるスクランブル用キーを生成する方法の更新が行われる、半導体メモリ。
  4. 前記スクランブル/デスクランブル部は、
    前記スクランブル済みの信号、前記出力データを入力し、その少なくとも一つが前記所定の条件を満足することを契機として、前記スクランブル用キーを生成する方法の更新のための制御信号を生成する制御回路
    を有する、請求項3記載の半導体メモリ。
  5. 前記スクランブル/デスクランブル部は、
    前記スクランブル済みの信号又は前記読み出しデータと、前記スクランブル用キーとの排他的論理和を演算する演算部
    を更に有する、請求項2又は請求項4記載の半導体メモリ。
  6. 前記スクランブル用キーはM系列の疑似乱数であり、前記更新は前記M系列の疑似乱数の初期値の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  7. 前記スクランブル用キーはGold系列の疑似乱数であり、前記更新は前記Gold系列の疑似乱数の初期値の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  8. 前記スクランブル用キーはM系列の疑似乱数であり、前記更新は前記M系列の疑似乱数の特性方程式の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  9. 前記スクランブル用キーはGold系列の疑似乱数であり、前記更新は前記Gold系列の疑似乱数の特性方程式の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  10. 前記スクランブル用キーはM系列の疑似乱数であり、前記更新は前記M系列の疑似乱数のシフトビット数の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  11. 前記スクランブル用キーはGold系列の疑似乱数であり、前記更新は前記Gold系列の疑似乱数のシフトビット数の更新である、請求項1乃至請求項5のいずれか一つに記載の半導体メモリ。
  12. 請求項1乃至請求項11のいずれか一つに記載の半導体メモリと、
    前記スクランブル用キーを用いてスクランブル処理及び/又はデスクランブル処理を行うスクランブル/デスクランブル部を有するホスト機器と
    を備える、データ授受システム。
JP2006176281A 2006-06-27 2006-06-27 半導体メモリ及びデータ授受システム Expired - Fee Related JP4911452B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006176281A JP4911452B2 (ja) 2006-06-27 2006-06-27 半導体メモリ及びデータ授受システム
US11/761,765 US20080019518A1 (en) 2006-06-27 2007-06-12 Semiconductor memory and data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006176281A JP4911452B2 (ja) 2006-06-27 2006-06-27 半導体メモリ及びデータ授受システム

Publications (2)

Publication Number Publication Date
JP2008010923A JP2008010923A (ja) 2008-01-17
JP4911452B2 true JP4911452B2 (ja) 2012-04-04

Family

ID=38971452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006176281A Expired - Fee Related JP4911452B2 (ja) 2006-06-27 2006-06-27 半導体メモリ及びデータ授受システム

Country Status (2)

Country Link
US (1) US20080019518A1 (ja)
JP (1) JP4911452B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101818441B1 (ko) * 2011-06-30 2018-01-16 삼성전자주식회사 데이터 처리 장치 및 이의 동작 방법
JP6521499B2 (ja) * 2013-05-10 2019-05-29 株式会社メガチップス 暗号処理装置、半導体メモリ及びメモリシステム
JP2014222394A (ja) * 2013-05-13 2014-11-27 株式会社東芝 半導体記憶装置および乱数発生器
EP3038702B1 (en) 2013-08-27 2019-02-27 Advanced Bionics AG Thermoformed electrode arrays
US10058699B2 (en) 2013-08-27 2018-08-28 Advanced Bionics Ag Implantable leads with flag extensions
EP3038701A1 (en) 2013-08-27 2016-07-06 Advanced Bionics AG Asymmetric cochlear implant electrodes and method
JP6348273B2 (ja) * 2013-11-13 2018-06-27 株式会社メガチップス 情報処理システム
JP6697618B2 (ja) * 2019-06-11 2020-05-20 キオクシア株式会社 ランダマイザおよび半導体記憶装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4083925B2 (ja) * 1999-06-24 2008-04-30 株式会社日立製作所 情報処理装置、カード部材および情報処理システム
CN1496039A (zh) * 1999-07-07 2004-05-12 ���ǵ�����ʽ���� 移动通信系统中的扰频码发生器
JP2001109667A (ja) * 1999-10-13 2001-04-20 Nec Ic Microcomput Syst Ltd データ処理方法および装置
US7016398B2 (en) * 2001-06-15 2006-03-21 Freescale Semiconductor, Inc. Multicode receiver
US20030135798A1 (en) * 2001-12-13 2003-07-17 Yukari Katayama Optical disk device and data randomizing method for optical disk device
US7161988B2 (en) * 2004-04-12 2007-01-09 The Directv Group, Inc. Method and apparatus for minimizing co-channel interference
US7430196B2 (en) * 2005-01-14 2008-09-30 Nokia Corporation Transmission systems

Also Published As

Publication number Publication date
JP2008010923A (ja) 2008-01-17
US20080019518A1 (en) 2008-01-24

Similar Documents

Publication Publication Date Title
JP4911452B2 (ja) 半導体メモリ及びデータ授受システム
US11743028B2 (en) Protecting block cipher computation operations from external monitoring attacks
JP4783104B2 (ja) 暗号化/復号装置
JP4551802B2 (ja) プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP5822970B2 (ja) 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス
US8724804B2 (en) Encryption processing apparatus
US9843440B2 (en) Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor
US8578116B2 (en) System and method for memory data protection with secure pad memory
JP2015130580A (ja) データスクランブル装置、セキュリティ装置、セキュリティシステム及びデータスクランブル方法
JP2003134103A (ja) 情報処理装置
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
CN101378314A (zh) 一种密钥序列的生成方法和密钥产生装置
CN102306262A (zh) 数据加密方法及数据加密系统
KR20010111784A (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
CN110012313B (zh) 基于双混沌系统的反馈切换加密方法
CN111814212A (zh) 总线数据的保护方法、装置、存储介质及芯片
US20100287224A1 (en) Pseudo-random bit sequence generator
KR102141843B1 (ko) 암호화 방법을 실행하기 위한 장치 및 방법
JP2008165008A (ja) データ処理装置及びデータ処理方法
US9058507B2 (en) Signal processor with an encrypting or decrypting device in a memory system
CN113364574B (zh) S盒、替换方法及其装置
JP2006246166A (ja) 信号処理装置
JP2007500376A (ja) 鍵拡大機能の低メモリハードウェア実施のための方法および装置
JP5020115B2 (ja) 暗号化装置および復号化装置
JP6521499B2 (ja) 暗号処理装置、半導体メモリ及びメモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090303

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090303

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

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: 20111220

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

R150 Certificate of patent or registration of utility model

Ref document number: 4911452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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