JPWO2016113886A1 - 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム - Google Patents

乱数拡大装置、乱数拡大方法及び乱数拡大プログラム Download PDF

Info

Publication number
JPWO2016113886A1
JPWO2016113886A1 JP2016558424A JP2016558424A JPWO2016113886A1 JP WO2016113886 A1 JPWO2016113886 A1 JP WO2016113886A1 JP 2016558424 A JP2016558424 A JP 2016558424A JP 2016558424 A JP2016558424 A JP 2016558424A JP WO2016113886 A1 JPWO2016113886 A1 JP WO2016113886A1
Authority
JP
Japan
Prior art keywords
random number
bit
unit
expansion device
expansion
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
JP2016558424A
Other languages
English (en)
Other versions
JP6058245B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6058245B2 publication Critical patent/JP6058245B2/ja
Publication of JPWO2016113886A1 publication Critical patent/JPWO2016113886A1/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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • 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/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
    • 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
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

乱数拡大装置(100)は、誤り訂正の(N、N−M、D)線形符号から決まるM×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する拡大部(120)を備える。乱数拡大装置(100)は拡大部(120)を備えるので、使用する乱数のビット数を削減でき、複数本のレーザ照射攻撃に対抗できる。

Description

この発明は、Mビットの乱数を、Mビットよりも大きいNビットの乱数に拡大する乱数拡大装置、乱数拡大方法及び乱数拡大プログラムに関する。
情報セキュリティの基盤として暗号技術は広く利用されている。暗号を安全に利用するには、秘密鍵と呼ばれる情報が利用者以外に秘密に保たれることが必要である。秘密鍵を安全に格納する手段としては、計算機チップを利用する方法が一般的である。チップ内の不揮発メモリに秘密鍵を書き込み、チップ外からはアクセス制限をかける。アクセス制限によって、チップ外からは秘密鍵を読み出せないようにできる。
計算機チップから鍵を取り出そうとする攻撃についてはよく研究がされてきた。攻撃の1つの分類にフォルト攻撃がある。計算機へ物理刺激を与えると、計算間違いを起こすことがある。暗号を処理する計算機チップに計算誤りを誘発し、その結果としてどのように計算間違いが起きるかを観察すれば、秘密鍵を抽出できる場合がある。そのような攻撃をフォルト攻撃と呼ぶ。
計算間違いを引き起こす物理刺激としてよく知られた方法の1つは、計算機チップへのレーザ照射である。非特許文献1には、適切な個所へレーザを照射すれば、計算機チップ内でデータの記憶を行うメモリやレジスタのあるビットを論理値0もしくは1に固定できることが記載されている。そのような誤りをセット・リセット誤りと呼ぶ。
セット・リセット誤りを誘発できる攻撃者は、レーザの照射前と照射後で鍵が書き換わったかどうかを観察すれば、秘密のデータを取得できる。
非特許文献2に示すように、フォルト攻撃への既存の対策法はたくさんある。しかし、その対策法の多くは無効化となる。
フォルト攻撃への1つの有効な対策法は、特許文献1に開示されるような、レーザが照射されたことをセンサで検出する方法である。しかし、(1)局所的な照射を見逃す可能性がある、(2)特殊な回路を使うことで製造コストが増大するなどの課題が存在する。
さらに、フォルト攻撃への別の有効な対策法は、乱数マスキングを使う方法である。乱数マスキングとは以下のような技術である。Nビットの秘密鍵k(N)があるとする。k(N)=k,k,・・・kN、である。乱数マスキングでは、Nビットの乱数r(N)を用意する。r(N)=r,r,・・・rである。秘密鍵k(N)と乱数r(N)の排他的論理和を取ることで、マスクされたデータを得る。その後、乱数r(N)とマスクされたデータとをレジスタへ保存する。秘密鍵k(N)を使用する時は、乱数r(N)と、マスクされたデータとの排他的論理和を計算することで、秘密鍵k(N)を復元できる。秘密鍵k(N)そのものは記憶されていないから、レーザを照射する攻撃で秘密鍵k(N)を求めることはできない。よってレーザ照射によるフォルト攻撃への対策になる。
特開2004−206680号公報
C. Roscian, A. Sarafianos, J.−M. Dutertre, and A. Tria, "Fault Model Analysis of Laser−Induced Faults in SRAM Memory Cells", Fault Diagnosis and Tolerance in Cryptography (FDTC), 2013 Workshop on, pp.89−−98, Aug. 2013. M. Joye and M. Tunstall (Eds.), "Fault Analysis in Cryptography", Springer, 2012.
上記の乱数マスキングは、必要なレジスタ数が倍になるという課題がある。そのため、製造コストが増大する。
乱数マスキングにおいて、レジスタの数を減らすための安易な方法は、乱数を1ビットだけ使う方法である。この乱数をrとする。乱数を1ビットだけ用意する乱数マスキングを説明する。秘密鍵k(N)の各ビットと、1ビット乱数rとの排他的論理和を取ることで、マスクされたデータを得る。乱数rとマスクされたデータとをレジスタへ保存する。本手法では、追加で必要なレジスタが1ビットで済むという利点がある。一方で、2か所以上に同時にレーザを照射する攻撃は成功し得るという課題がある。
この発明は、使用する乱数のビット数を削減でき、複数本のレーザ照射攻撃に対抗できる装置、方法及びプログラムの提供を目的とする。
この発明の乱数拡大装置は、
Mビットの乱数r(M)を受信する受信部と、
誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する拡大部と、
乱数s(N)のNビットのうちMビットよりも多いビット値を乱数として出力する出力部とを備える。
この発明の乱数拡大装置は拡大部を備えるので、使用する乱数のビット数を削減でき、複数本のレーザ照射攻撃に対抗できる。
実施の形態1の図で、乱数拡大装置100の基本構成のブロック図。 実施の形態1の図で、乱数拡大装置100がマスク部140、格納部150を備える場合のブロック図。 実施の形態1の図で、拡大部120、マスク部140の動作概要を示す。 実施の形態1の図で、乱数拡大装置100の動作のフローチャート。 実施の形態1の図で、線形符号を利用して乱数を拡大する拡大部120の動作を示す図。 実施の形態1の図で、レーザ照射攻撃が成功することを説明する図。 実施の形態1の図で、検査行列1202を用いて、拡大部120が乱数r(8)を乱数s(15)に拡大する例を示す図。 実施の形態1の図で、図7の検査行列1202の乗算をハードウェアで実装する場合を示す図。 実施の形態1の図で、乱数拡大装置100が復号部160を有する場合のブロック図。 実施の形態1の図で、図9の回路構成を示す図。 実施の形態1の図で、再マスクにおける拡大部120、マスク部140の動作を示す図。 実施の形態1の図で、再マスクを行う場合の回路構成を示す図。 実施の形態1の図で、再マスクのフローチャート。 実施の形態1の図で、拡大部120が行う切り詰め処理を説明する図。 実施の形態1の図で、乱数拡大装置100がビット列に含まれる誤りを検出する誤り検出部170を備える場合のブロック図。 実施の形態2の図で、乱数拡大装置100をコンピュータで実現する場合のハードウェア構成例を示す図。 実施の形態2の図で、乱数拡大装置100を半導体装置に実装する図。
実施の形態1.
以下の実施の形態では以下の(1)〜(4)とする。
(1)以下の説明では乱数が登場する。乱数はr、sとする。
乱数rは拡大前の乱数、乱数sは拡大後の乱数とする。
(2)以下の説明ではビット数を表す整数N、M、Vが登場するが、N>V>Mとする。
(3)r(M)はMビットの乱数を示す。rはr(M)の第Mビットを示す。乱数の相違を、r<1>,(M)、<2>,(M)のように「<1>,<2>」で区別する。r<1>,(M)、<2>,(M)等はr<1>、<2>のように(M)を省略する場合がある。これらは乱数sについても同様である。
(4)排他的論理和の演算は、便宜的に<+>と表記する。r<1>,(M)<+>r<2>,(M)はr<1>,(M)とr<2>,(M)とのビット同士の排他的論理和を示す。
***構成の説明***
図1〜図16を参照して実施の形態1を説明する。
図1は、乱数拡大装置100の基本構成のブロック図である。
乱数拡大装置100は、受信部110、拡大部120、出力部130を備える。
受信部110は、Mビットの乱数r(M)を受信する。
拡大部120は、誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する。
つまり、拡大部120は、誤り訂正の(N、N−M、D)線形符号から決まるM×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合のベクトルとの乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する。つまり拡大部120は一方の行列と、M成分のベクトルとの乗算によって得られる論理演算を用いて、乱数を拡大する。
誤り訂正の(N、N−M、D)線形符号は、Mビットを表す整数であるMと、Mよりも大きい整数であるNと、整数であるDとから、符号長N、情報ビット長N−M、異なる符号語どうしの間のハミング距離の最小値を示す最小距離Dで表される。(N、N−M、D)線形符号は後述する。
M×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合のベクトルとの乗算は、加法を排他的論理和とする乗算である。以下この乗算をXOR乗算というが単に乗算という場合もある。また検査行列、生成行列は後述する。拡大部120は、検査行列と生成行列とのうち一方の行列と乱数r(M)とのXOR乗算によって得られるN個の成分を、乱数s(N)として生成する。
出力部130は、乱数s(N)のNビットのうちMビットよりも多いビット値を乱数として出力する。出力部130は、拡大部120によってr(M)がs(N)に拡大された場合、s(N)を出力する。あるいは後述の切り詰め処理の場合、出力部130は、s(N)から少なくとも1ビットが除かれたVビットの乱数s(V)を出力する。なお各整数の大きさはN>V>Mである。図14で後述するが、拡大部120は、拡大した乱数s(N)から少なくも1ビットを除くことによって、整数Nよりも小さく整数Mよりも大きい整数Vで表されるVビットの乱数s(V)を生成する。出力部130は、乱数s(V)を出力する。
また、後述の再マスクで説明するように、受信部110は、乱数r(M)として、Mビットの第一の乱数r<1>,(M)とMビットの第二の乱数r<2>,(M)とが排他的論理和された第三の乱数r<3>,(M)を受信する。拡大部120は、第三の乱数r<3>,(M)を、第一の乱数r<1>,(M)が拡大された乱数に相当するNビットの乱数s<1>,(N)と、第二の乱数r<2>,(M)が拡大された乱数に相当するNビットの乱数s<2>,(N)との排他的論理和として得られるXOR乱数に拡大する。格納部150は、乱数s<1>,(N)でマスクされたデータを格納する。後述のマスク部140は、乱数s<1>,(N)でマスクされたデータであるX<+>s<1>,(N)と、拡大部120によって拡大されたXOR乱数であるs<1>,(N)<+>s<2>,(N)との演算をおこなう。この演算によって、マスク部140は、乱数s<1>,(N)でマスクされたデータを、乱数s<2>,(N)でマスクされたデータに変換する再マスクを行う。
図2は、乱数拡大装置100がさらにマスク部140と格納部150を備える場合のブロック図である。
マスク部140は、データを、出力部130によって出力される乱数でマスクする。格納部150は、マスク部140によってマスクされたデータを格納する。
***動作の説明***
図3は、拡大部120、マスク部140の動作概要を示す。
図4は、乱数拡大装置100の動作のフローチャートである。
図2〜図4を参照して乱数拡大装置100の動作を説明する。秘密鍵k(N)は、kからkまでのNビットとする。
(1)受信部110がステップS11を実行する。ステップS11では、受信部110が、Mビットの乱数r(M)を受信する。
(2)拡大部120がステップS12を実行する。ステップS12では、拡大部120が、誤り訂正の(N、N−M、D)線形符号から決まるM×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合のベクトルとの乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する。このように拡大部120は、拡大関数1201を用いて乱数r(M)を乱数s(N)へ変換する。拡大関数1201は後述する。
(3)出力部130がステップS13を実行する。ステップS13では、出力部130が、乱数s(N)のNビットのうちMビットよりも多い個数のM+1個以上のビット値を乱数として出力する。
(4)出力部130が乱数として乱数s(N)を出力した場合であれば、マスク部140は、秘密鍵k(N)と乱数s(N)との排他的論理和を求めることで、秘密鍵k(N)がマスクされたデータ604を生成する。乱数r(M)とデータ604とは、格納部150であるメモリやレジスタへ保存される。以上の動作で、所望のビット数の乱数を用いて、データのマスキングができる。
乱数拡大装置100の特徴は、乱数の拡大に線形符号の技術を利用する点である。
図5は、線形符号の技術を利用して乱数を拡大する拡大部120の動作を示す図である。
拡大部120、乱数r(M)を、拡大関数1201を用いることで、乱数s(N)へ拡大する。拡大部120は、乱数の拡大に(N,N−M,D)線形符号を利用する。Nは符号長、N−Mは情報ビット長、Dは異なる符号語どうしの間のハミング距離の最小値を示す最小距離である。拡大関数1201は、検査行列1202との乗算で定義する。検査行列1202とは、(N、N−M、D)線形符号から決まるM×Nのサイズの行列である。検査行列1202は生成行列でもあるので、検査行列1202を生成行列と読み替えることができる。検査行列1202あるいは生成行列は、M×Nの次元を持つ。M×Nの次元を持つとは、M行N列あるいはN行M列であることを意味する。検査行列1202は生成行列でもあるので、以下では、拡大関数1201の定義に用いる行列は検査行列1202とする。検査行列1202は、M×Nの次元を持つので、Mビットの入力データであるr(M)を、Nビットの出力データs(N)として出力できる。拡大部120は、ビットの誤りを検出するためではなく、入力データである乱数r(M)を乱数s(N)に拡大するために誤り訂正符号を利用することを特徴の1つとする。
(N,N−M,D)線形符号の検査行列1202を用いて乱数を拡大する効果として、(D−1)本までのレーザ照射に対する安全を向上させることができる。それは、次の理由による。検査行列1202はN個の列を持つ。検査行列1202がN行M列の場合は転置すればよい。(N,N−M,D)線形符号の性質より、検査行列1202のどの(D−1)個の列も線形独立である。この線形独立に対応して、検査行列1202で拡大されたNビットデータである乱数s(N)のうち、どの(D−1)ビットを取り出しても線形独立である。もし仮に、線形従属なA列が存在したとすれば、それは乱数の不足を表す。そのため、A本のレーザ照射を行うことで攻撃ができる。(N,N−M,D)線形符号を用いた場合、どの(D−1)も線形独立になるから、(D−1)本のレーザ照射まで、上述の攻撃を防ぐことができる。
図6は2か所以上に同時にレーザを照射する攻撃が成功する例を示す表である。図6を用いて、本実施の形態によらない場合は、2か所以上に同時にレーザを照射する攻撃が成功してしまう例を説明する。
保護したい2ビットの秘密鍵をk(2)とする。秘密鍵k(2)の各ビットをk、kとする。1ビットの乱数をrとする。攻撃者は、レーザ照射後の秘密鍵k(2)のビットは(0,0)になることを知っている。列501は秘密鍵k(2)がk=kの場合とk≠kの場合である。列502はk=kの場合と、k≠kの場合との具体的なビットである。列503は乱数rの値を示す。列504はマスクされた秘密鍵k(2)を示す。列505はレーザ照射後の値を示す。列506は誤りの有無を示す。列507は誤り確率を示す。攻撃者の目的は、k=kかどうかを判定することである。k=kかどうかを判定することは、鍵の1ビットを取得したのと同じ効果がある。秘密鍵k(2)を、1ビットの乱数rを用いてマスクする。マスクされた値は列504である。攻撃者は、マスクされた値を保持するレジスタの2か所に、レーザを照射する。列506に示すように、k=kならば、誤らない場合がある。一方、k≠kならば、必ず誤りが発生する。よって、誤らない場合があるかどうかを試行することで、攻撃者はk=kかどうかを判定することできる。それは、攻撃の成功を意味する。図6に示す攻撃に対して、本実施の形態の方法を適用することで(D−1)本のレーザ照射まで、対抗することができる。
図7は、検査行列1202を用いて、拡大部120が乱数r(8)を乱数s(15)に拡大する例を示す。
図7は「今井秀樹,”符号理論”,電子情報通信学会,1990.」で開示される(15,7,5)線形符号を用いる場合の例であり、N=15,M=8である。そのため、検査行列1202のサイズは8×15である。行列1202−1は、検査行列1202の転置行列であり、大きさは15行8列である。行列1202−1と乱数r(8)とを乗じることで、乱数r(8)を15ビットの乱数s(15)に拡大できる。検査行列1202と、乱数r(8)を8成分のベクトルとする場合のこのベクトルとの乗算は、XOR乗算である。行列1202−1を用いて生成された乱数s(15)でレジスタの秘密鍵k(15)をマスクすれば、4本の同時レーザ照射まで安全性を保つことができる。XOR乗算の結果である値802の各ビットとなる各成分は、元の乱数r(8)の各ビット(r,・・・,r)の排他的論理和となる。つまり、乱数s(15)のs等の各ビットは、r等の排他的論理和である。図7に示すように、拡大部120は、M×Nのサイズの行列1202−1と乱数r(M)とのXOR乗算によって得られるN個の成分を、乱数s(N)として生成する。
なお図7では転置行列1202−1を用いているが便宜上である。(15,7,5)線形符号から決まる15×8のサイズの検査行列1202と、乱数r(8)とのXOR乗算をして、乱数s(15)を得ることができるように計算すればよい。つまり、(N,N−M,D)線形符号から決まるM×Nのサイズの検査行列1202と乱数r(M)とを乗じて乱数s(N)を得ることができればよい。具体的には、検査行列1202をH、行列Hの転置行列をHとした場合に、
(1)HがN行M列であれば、乱数r(M)をM行1列としてH×r(M)を計算すればよい。あるいは乱数r(M)を1行M列としてr(M)を×Hを計算すればよい。
(2)HがM行N列であれば、乱数r(M)を1行M列としてr(M)×Hを計算すればよい。あるいは乱数r(M)をM行1列としてH×r(M)を計算すればよい。
図1、図2等に示した構成はハードウェアで構成しても良いし、ソフトウェアで構成しても良いし、ハードウェアとソフトウェアの組み合わせで構成しても良い。
図8は、図7に示した検査行列1202の乗算をハードウェアで実装する場合を示す。拡大部120は、論理演算を実行する論理演算回路121を備える。
図8において、受信部110は入力段の各XOR論理ゲートの入力端子111であり、出力部130は出力段の各XOR論理ゲートの出力端子131である。論理演算回路121は、複数の排他的論理和回路121−1を備える。図8の一番上の回路121aは、乱数s(15)のsビットを計算する回路である。二番上の回路121bは、乱数s(15)のsビットを計算する回路である。図8の一番下の回路121dは、乱数s(15)のs15ビットを計算する回路である。下から二番上の回路121cは、乱数s(15)のs14ビットを計算する回路である。sビット〜s13ビットを計算する回路は省略した。排他的論理は、排他的論理和の論理ゲートによって直接的に実現できる。よって、排他的論理和のネットワークを用いることで、小型、高速な回路が実装できる。
乱数拡大装置100は、マスクされたデータを復号する復号部を備えてもよい。
図9は、乱数拡大装置100が復号部160を有する場合のブロック図である。
図10は、図9の回路構成を示すが、乱数r(M)をrと表記している。
図10の乱数拡大装置100は、乱数r(M)を格納するレジスタ1000、乱数r(M)を拡大する回路である拡大部120、マスク部140であるXOR論理ゲート1003、マスクを取り外す復号部160であるXOR論理ゲート1004、およびマスクしたデータを格納する格納部150であるレジスタ1005を備える。拡大関数1201は検査行列1202を用いる。図10の拡大部120の具体的な構成は、この実施の形態では図8に示すようなXOR論理ゲートのネットワークであるが、プログラムで構成しても良いのは前述のとおりである。Nビットの秘密情報xのマスキングは次のように行う。fは拡大関数1201を示す。まず、レジスタ1000に格納する乱数r(M)を、拡大部120によってNビットの乱数f(r)に変換する。なおf(r)=s(N)である。f(r)=s(N)とNビットの秘密情報xとの排他的論理和を取ることで、マスクされた値x<+>f(r)を得る。レジスタ1005には、マスクされた値であるx<+>f(r)が格納される。レジスタ1005の出力は、XOR論理ゲート1004に接続されている。XOR論理ゲート1004により、x<+>f(r)<+>f(r)=xとなり、マスク前の秘密情報Xが復元される。
図11、図12を参照して再マスクを説明する。
乱数マスキングにおいては、マスクの値を付け替えたい場合がある。マスクの値を付け替えることで、安全性が向上する可能性がある。マスク値の付け替えを再マスクと呼ぶ。乱数拡大装置100によれば、再マスクを効率的に行うことができる。
図11は、再マスクにおける拡大部120、マスク部140の動作を示す。図11を用いて再マスクを説明する。
Mビットの乱数を第一の乱数r<1>、第二の乱数r<2>とする。r<1>、r<2>が拡大されたNビットの乱数をs<1>、s<2>とする。今、f(r<1>)でマスクされた値x<+>f(r<1>)を、別のマスクされた値x<+>f(r<2>)へ再マスクしたいとする。乱数s<1>=f(r<1>)、乱数s<2>=f(r<2>)である。また、xは秘密情報、r<1>は旧マスク用の乱数、r<2>は新マスク用の乱数である。まず、XOR論理ゲート1100が、r<1><+>r<2>を生成する。
次に、受信部110は、第三の乱数r<3>,(M)であるr<1><+>r<2>を受信する。拡大部120は、r<1><+>r<2>を乱数f(r<1><+>r<2>)に拡大する。出力部130は乱数f(r<1><+>r<2>)を出力する。検査行列1202との乗算で定義される拡大関数fは線形であるので、f(r<1><+>r<2>)=f(r<1>)<+>f(r<2>)=s<1><+>s<2>が成り立つ。マスク部140は、マスクされた値であるx<+>f(r<1>)と、拡大された乱数であるf(r<1>)<+>f(r<2>)との排他的論理和を取る。これによって、マスク部140はx<+>f(r<1>)<+>f(r<1>)<+>f(r<2>)=x<+>f(r<2>)を得る。よって、新たな値であるx<+>f(r<2>)は、再マスクの結果になっている。
以上の拡大関数fを用いた再マスクの方法には、2つの重要な利点がある。第1に、拡大関数fを1つだけ用意すればよいことである。第2に、マスクされていない元の値xに戻すことなく、再マスクが達成されることであり、安全性が向上する可能性がある。
図12は、再マスクを行う場合の乱数拡大装置100の回路構成を示し、図9のブロック図に対応する。図12は、図9に示す回路構成を拡張して再マスク機能を追加した。
図12では、図9に対して新しい乱数r<2>のレジスタ1010、乱数r<1>とr<2>とを加算するXOR論理ゲート1020、セレクタ1030を追加した。XOR論理ゲート1004は図10での復号部160の機能に加え、マスク部140の機能も有する。図10の回路を用いることで、再マスクを実現できる。
図13は、図12の乱数拡大装置100の動作を示すフローチャートである。
図13を参照して動作を説明する。
S21において、乱数r<1>のみがXOR論理ゲート1020に送られる。XOR論理ゲート1020の出力は乱数r<1>である。
S22において、拡大部120はs<1>=f(r<1>)を生成し、f(r<1>)が出力部130から出力される。
S23において、XOR論理ゲート1003で秘密情報xとf(r<1>)との排他的論理和がとられる。
S24において、x<+>f(r<1>)がセレクタ1030から出力される。
S25において、レジスタ1005に、x<+>f(r<1>)が格納される。
次に、S31において、乱数r<1>と乱数r<2>とがXOR論理ゲート1020に送られる。XOR論理ゲート1020の出力は、r<1><+>r<2>である。
S32において、拡大部120は、r<1><+>r<2>を、拡大関数fによって、f(r<1><+>r<2>)=f(r<1>)<+>f(r<2>)に拡大し、出力部130がf(r<1>)<+>f(r<2>)を出力する。
S33において、XOR論理ゲート1004で、出力部130から出力されたf(r<1>)<+>f(r<2>)と、レジスタ1005から出力されたx<+>f(r<1>)との排他的論理和がとられる。よって、XOR論理ゲート1004から、x<+>f(r<1>)<+>f(r<1>)<+>f(r<2>)=x<+>f(r<2>)が出力される。
S34において、セレクタ1030からx<+>f(r<2>)が出力されて、x<+>f(r<2>)がレジスタ1005に格納される。これによって、再マスクが完了する。再マスクされたx<+>f(r<2>)を復号するには、XOR論理ゲート1020に乱数r<2>のみを送り、拡大部120で乱数r<2>をf(r<2>)に拡大し、f(r<2>)と、レジスタ1005に格納されたx<+>f(r<2>)とをXOR論理ゲート1004でXORすればよい。
図14は、拡大部120が行う切り詰め処理を説明する図である。
図14を参照して切り詰め処理を説明する。
以下では、N、V、Mは正の整数であり、N>V>Mである。乱数r(M)を乱数s(V)に拡大したい場合に、(V,V−M,D)線形符号が存在するとは限らない。その時は、切り詰めを行うことができる。切り詰め処理を図14を用いて説明する。Mビットの乱数r(M)をVビットの乱数s(V)に拡大したいが、都合のよい(V,V−M,D)線形符号を作ることができないと仮定する。ただし、N>VなるNを選んで、(N,N−M,D)符号を作ることができるとする。その場合、(N,N−M,D)符号の検査行列1202を拡大関数1201に用いることができる。拡大関数1201の出力はNビットである。つまり拡大部120は、乱数r(M)を乱数s(N)に拡大したのち、乱数s(N)からいくつかのビットを捨てることで、Vビットの乱数s(V)を生成する。そのようにして作った出力である乱数s(V)を、マスキング乱数として用いることができる。
図15は、乱数拡大装置100がビット列に含まれる誤りを検出する誤り検出部170を備えるブロック図である。
拡大部120は、乱数r(M)を乱数s(N)に拡大する場合に、誤り検出部170の少なくとも一部を利用する。誤り検出部は誤り訂正符号のためのハードウェアである回路でもよいし、誤り訂正符号のためのプログラムの場合でもよい。誤り検出部170の少なくとも一部を利用することで、回路規模、プログラムの大きさを低減できる。
***効果の説明***
本実施の形態によって拡大された乱数でマスクされたデータを格納するレジスタを束ねることで、レーザ照射に耐性を持つレジスタファイルを作ることができる。
また、本実施の形態によって拡大された乱数でマスクされたデータを揮発メモリへ格納することで、レーザ照射に耐性を持つ揮発メモリを実現できる。
実施の形態2.
図16は乱数拡大装置100をコンピュータで実現する場合のハードウェア構成例である。図16を参照して説明する。
コンピュータである乱数拡大装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。入力インタフェース905は、入力装置907に接続されている。ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。メモリ903は、例えば、RAM(Random Access Memory)である。通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。入力装置907は、例えば、マウス、キーボード又はタッチパネルである。ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
補助記憶装置902には、図9に示す受信部110、拡大部120、出力部130、マスク部140、格納部150、復号部160(以下、受信部110〜復号部160をまとめて「部」と表記する)の機能を実現するプログラムが記憶されている。このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。更に、補助記憶装置902には、OS(Operating System)も記憶されている。そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図16では、1つのプロセッサ901が図示されているが、乱数拡大装置100が複数のプロセッサ901を備えていてもよい。そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
「部」を「サーキットリー」で提供してもよい。また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
図17は、実施の形態1で説明した乱数拡大装置100を半導体装置200で実現すする図である。
半導体装置200は、乱数拡大装置100として複数の回路を備えている。半導体装置200のレジスタ210には、マスクされた秘密鍵と、拡大される前の乱数r(M)とが格納される。
100 乱数拡大装置、110 受信部、120 拡大部、121 論理演算回路、121−1 排他的論理和回路、130 出力部、140 マスク部、150 格納部、160 復号部、170 誤り検出部。

Claims (10)

  1. Mビットの乱数r(M)を受信する受信部と、
    誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する拡大部と、
    乱数s(N)のNビットのうちMビットよりも多いビット値を乱数として出力する出力部と
    を備える乱数拡大装置。
  2. 前記拡大部は、
    一方の行列と乱数r(M)との前記乗算によって得られるN個の成分を、乱数s(N)として生成する請求項1に記載の乱数拡大装置。
  3. 前記拡大部は、
    乱数s(N)から少なくとも1ビットを除くことによって、整数Nよりも小さく整数Mよりも大きい整数Vで表されるVビットの乱数s(V)を生成し、
    前記出力部は、
    乱数s(V)を出力する請求項1または請求項2に記載の乱数拡大装置。
  4. 前記拡大部は、
    前記論理演算を実行する論理演算回路を備える請求項1から請求項3のいずれか一項に記載の乱数拡大装置。
  5. 前記論理演算回路は、
    複数の排他的論理和回路を備える請求項4に記載の乱数拡大装置。
  6. 前記乱数拡大装置は、さらに、
    データを、前記出力部によって出力される乱数でマスクするマスク部と、
    前記マスク部によってマスクされたデータを格納する格納部と
    を備える請求項1から請求項5のいずれか一項に記載の乱数拡大装置。
  7. 前記受信部は、
    乱数r(M)として、Mビットの第一の乱数r<1>,(M)とMビットの第二の乱数r<2>,(M)とが排他的論理和された第三の乱数r<3>,(M)を受信し、
    前記拡大部は、
    第三の乱数r<3>,(M)を、第一の乱数r<1>,(M)が拡大された乱数に相当するNビットの乱数s<1>,(N)と、第二の乱数r<2>,(M)が拡大された乱数に相当するNビットの乱数s<2>,(N)との排他的論理和として得られるXOR乱数に拡大し、
    前記格納部は、
    乱数s<1>,(N)でマスクされたデータを格納し、
    前記マスク部は、
    乱数s<1>,(N)でマスクされたデータと、前記拡大部によって拡大されたXOR乱数との演算によって、乱数s<1>,(N)でマスクされたデータを、乱数s<2>,(N)でマスクされたデータに変換する再マスクを行う請求項6に記載の乱数拡大装置。
  8. 前記乱数拡大装置は、さらに、
    ビット列に含まれる誤りを検出する誤り検出部を備え、
    前記拡大部は、
    乱数r(M)を乱数s(N)に拡大する場合に、前記誤り検出部の少なくとも一部を利用する請求項1から請求項7のいずれか一項に記載の乱数拡大装置。
  9. Mビットの乱数r(M)を受信し、
    誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、論理演算回路によって乱数r(M)をNビットの乱数s(N)に拡大し、
    乱数s(N)のNビットのうちMビットよりも多いビット値を出力する乱数拡大方法。
  10. コンピュータに、
    Mビットの乱数r(M)を受信する処理、
    誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する処理、
    乱数s(N)のNビットのうちMビットよりも多いビット値を出力する処理、
    を実行させるための乱数拡大プログラム。
JP2016558424A 2015-01-15 2015-01-15 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム Expired - Fee Related JP6058245B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/050979 WO2016113886A1 (ja) 2015-01-15 2015-01-15 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム

Publications (2)

Publication Number Publication Date
JP6058245B2 JP6058245B2 (ja) 2017-01-11
JPWO2016113886A1 true JPWO2016113886A1 (ja) 2017-04-27

Family

ID=56405447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558424A Expired - Fee Related JP6058245B2 (ja) 2015-01-15 2015-01-15 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム

Country Status (6)

Country Link
US (1) US20180018147A1 (ja)
EP (1) EP3246899A1 (ja)
JP (1) JP6058245B2 (ja)
CN (1) CN107210004A (ja)
TW (1) TWI567637B (ja)
WO (1) WO2016113886A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3069993B1 (fr) 2017-08-07 2020-09-18 Maxim Integrated Products Dispositifs et procedes de masquage d'operations de chiffrement rsa
US11032257B1 (en) 2017-12-08 2021-06-08 Rankin Labs, Llc Method for covertly delivering a packet of data over a network
US11861025B1 (en) 2018-01-08 2024-01-02 Rankin Labs, Llc System and method for receiving and processing a signal within a TCP/IP protocol stack
US10725743B2 (en) 2018-01-22 2020-07-28 John Rankin System and method for generating random numbers
US10574439B2 (en) 2018-01-31 2020-02-25 John Rankin System and method for secure communication using random blocks or random numbers
US11294636B2 (en) 2018-02-28 2022-04-05 Rankin Labs, Llc System and method for expanding a set of random values
US11289070B2 (en) 2018-03-23 2022-03-29 Rankin Labs, Llc System and method for identifying a speaker's community of origin from a sound sample
US11341985B2 (en) 2018-07-10 2022-05-24 Rankin Labs, Llc System and method for indexing sound fragments containing speech
WO2020033540A1 (en) 2018-08-10 2020-02-13 John Rankin System and method for covertly transmitting a payload of data
US11689543B2 (en) 2018-08-10 2023-06-27 Rankin Labs, Llc System and method for detecting transmission of a covert payload of data
WO2020041390A1 (en) 2018-08-21 2020-02-27 John Rankin System and method for scattering network traffic across a number of disparate hosts
US11989320B2 (en) 2018-12-19 2024-05-21 Rankin Labs, Llc Hidden electronic file system within non-hidden electronic file system
US10903977B2 (en) 2018-12-19 2021-01-26 Rankin Labs, Llc Hidden electronic file systems
US10901739B2 (en) 2019-01-21 2021-01-26 Rankin Labs, Llc Systems and methods for controlling machine operations using stack entries comprising instruction configuration parameters
US11526357B2 (en) 2019-01-21 2022-12-13 Rankin Labs, Llc Systems and methods for controlling machine operations within a multi-dimensional memory space
WO2020154223A1 (en) 2019-01-21 2020-07-30 John Rankin Systems and methods for processing network traffic using dynamic memory
WO2020214752A1 (en) 2019-04-17 2020-10-22 John Rankin System and method for detecting hidden chemicals within objects in a non-invasive manner
US11487674B2 (en) 2019-04-17 2022-11-01 Rankin Labs, Llc Virtual memory pool within a network which is accessible from multiple platforms
WO2020243244A1 (en) 2019-05-28 2020-12-03 John Rankin Supporting a virtual memory area at a remote computing machine
WO2020243249A1 (en) 2019-05-28 2020-12-03 John Rankin Covertly storing a payload of data within a network
US11729184B2 (en) 2019-05-28 2023-08-15 Rankin Labs, Llc Detecting covertly stored payloads of data within a network
WO2021025728A1 (en) 2019-08-07 2021-02-11 John Rankin System and method for indirect advertising
US11105934B2 (en) 2019-08-07 2021-08-31 Rankin Labs, Llc Determining proximity and attraction of objects within a coordinate system
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
WO2021183421A2 (en) 2020-03-09 2021-09-16 John Rankin Systems and methods for morpheme reflective engagement response
CN115860127B (zh) * 2022-12-19 2024-09-10 上海航芯电子科技股份有限公司 一种量子随机数实时高速后处理器及后处理实现方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599491B2 (en) * 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US7243117B2 (en) * 2001-02-07 2007-07-10 Fdk Corporation Random number generator and probability generator
DE60307780T2 (de) * 2003-02-11 2007-08-23 Ip-First Llc, Fremont Zufallszahlengenerator mit auswählbaren dualen Zufallsbitfolgemaschinen
CN100479004C (zh) * 2005-05-27 2009-04-15 佛山市顺德区顺达电脑厂有限公司 文件保密方法
JP5171420B2 (ja) * 2008-06-18 2013-03-27 ルネサスエレクトロニクス株式会社 擬似乱数生成装置
CN101674180B (zh) * 2008-09-10 2012-12-12 中国人民解放军信息工程大学 一种伪随机序列产生方法及加密方法
TWI387921B (zh) * 2009-04-16 2013-03-01 Univ Nat Changhua Education 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法
FR2967322B1 (fr) * 2010-11-08 2012-12-28 Morpho Protection contre les ecoutes passives
JP5412414B2 (ja) * 2010-12-08 2014-02-12 株式会社日立製作所 検索可能暗号処理システム
WO2013121736A1 (ja) * 2012-02-15 2013-08-22 日本電気株式会社 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
WO2016113886A1 (ja) 2016-07-21
JP6058245B2 (ja) 2017-01-11
US20180018147A1 (en) 2018-01-18
CN107210004A (zh) 2017-09-26
TWI567637B (zh) 2017-01-21
EP3246899A1 (en) 2017-11-22
TW201626211A (zh) 2016-07-16

Similar Documents

Publication Publication Date Title
JP6058245B2 (ja) 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム
US10678707B2 (en) Data processing device and method for cryptographic processing of data
US9871651B2 (en) Differential power analysis countermeasures
Mozaffari-Kermani et al. Fault-resilient lightweight cryptographic block ciphers for secure embedded systems
EP3577642B1 (en) Methods and devices for protecting data
US10536264B2 (en) Efficient cryptographically secure control flow integrity protection
KR20150112893A (ko) 대수적 조작으로부터 데이터를 보호하는 방법
JP5401477B2 (ja) 誤りに基づく攻撃から電子回路を保護する方法
CN106548100B (zh) 集成电路以及用于保护集成电路的方法
Merli et al. Protecting PUF error correction by codeword masking
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
US20180241544A1 (en) Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
Tebelmann et al. EM side-channel analysis of BCH-based error correction for PUF-based key generation
Ge et al. Reliable and secure memories based on algebraic manipulation detection codes and robust error correction
JP2011109662A (ja) 故障利用攻撃の検出方法及び検出装置
US9571281B2 (en) CRT-RSA encryption method and apparatus
Wang et al. Reliable and secure memories based on algebraic manipulation correction codes
KR101666974B1 (ko) 소수 생성
US11070354B2 (en) System and method for generating a symmetrically balanced output
JP2005045760A (ja) 暗号処理方法及び装置
TWI224257B (en) Apparatus and method of using checking bits to conduct encrypting protection
EP4366232A1 (en) Secure and fast bit unpacking for dilithium
US20040143614A1 (en) Hiding the internal state of a random number generator
CN117992982A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
KR20210080196A (ko) Puf 값을 보정하는 데이터 처리 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160921

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161025

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161206

R150 Certificate of patent or registration of utility model

Ref document number: 6058245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees