JPWO2016113886A1 - 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム - Google Patents
乱数拡大装置、乱数拡大方法及び乱数拡大プログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking 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
Description
Mビットの乱数r(M)を受信する受信部と、
誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する拡大部と、
乱数s(N)のNビットのうちMビットよりも多いビット値を乱数として出力する出力部とを備える。
以下の実施の形態では以下の(1)〜(4)とする。
(1)以下の説明では乱数が登場する。乱数はr、sとする。
乱数rは拡大前の乱数、乱数sは拡大後の乱数とする。
(2)以下の説明ではビット数を表す整数N、M、Vが登場するが、N>V>Mとする。
(3)r(M)はMビットの乱数を示す。rMはr(M)の第Mビットを示す。乱数の相違を、r<1>,(M)、r<2>,(M)のように「<1>,<2>」で区別する。r<1>,(M)、r<2>,(M)等はr<1>、r<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は、誤り訂正の(N、N−M、D)線形符号から決まるM×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合のベクトルとの乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する。つまり拡大部120は一方の行列と、M成分のベクトルとの乗算によって得られる論理演算を用いて、乱数を拡大する。
M×Nのサイズの検査行列とM×Nのサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合のベクトルとの乗算は、加法を排他的論理和とする乗算である。以下この乗算をXOR乗算というが単に乗算という場合もある。また検査行列、生成行列は後述する。拡大部120は、検査行列と生成行列とのうち一方の行列と乱数r(M)とのXOR乗算によって得られるN個の成分を、乱数s(N)として生成する。
マスク部140は、データを、出力部130によって出力される乱数でマスクする。格納部150は、マスク部140によってマスクされたデータを格納する。
図3は、拡大部120、マスク部140の動作概要を示す。
図4は、乱数拡大装置100の動作のフローチャートである。
図2〜図4を参照して乱数拡大装置100の動作を説明する。秘密鍵k(N)は、k1からkNまでの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であるメモリやレジスタへ保存される。以上の動作で、所望のビット数の乱数を用いて、データのマスキングができる。
図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つとする。
保護したい2ビットの秘密鍵をk(2)とする。秘密鍵k(2)の各ビットをk0、k1とする。1ビットの乱数をrとする。攻撃者は、レーザ照射後の秘密鍵k(2)のビットは(0,0)になることを知っている。列501は秘密鍵k(2)がk0=k1の場合とk0≠k1の場合である。列502はk0=k1の場合と、k0≠k1の場合との具体的なビットである。列503は乱数rの値を示す。列504はマスクされた秘密鍵k(2)を示す。列505はレーザ照射後の値を示す。列506は誤りの有無を示す。列507は誤り確率を示す。攻撃者の目的は、k0=k1かどうかを判定することである。k0=k1かどうかを判定することは、鍵の1ビットを取得したのと同じ効果がある。秘密鍵k(2)を、1ビットの乱数rを用いてマスクする。マスクされた値は列504である。攻撃者は、マスクされた値を保持するレジスタの2か所に、レーザを照射する。列506に示すように、k0=k1ならば、誤らない場合がある。一方、k0≠k1ならば、必ず誤りが発生する。よって、誤らない場合があるかどうかを試行することで、攻撃者はk0=k1かどうかを判定することできる。それは、攻撃の成功を意味する。図6に示す攻撃に対して、本実施の形態の方法を適用することで(D−1)本のレーザ照射まで、対抗することができる。
図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)の各ビット(r1,・・・,r8)の排他的論理和となる。つまり、乱数s(15)のs1等の各ビットは、r1等の排他的論理和である。図7に示すように、拡大部120は、M×Nのサイズの行列1202−1と乱数r(M)とのXOR乗算によって得られるN個の成分を、乱数s(N)として生成する。
(1)HがN行M列であれば、乱数r(M)をM行1列としてH×r(M)を計算すればよい。あるいは乱数r(M)を1行M列としてr(M)を×Htを計算すればよい。
(2)HがM行N列であれば、乱数r(M)を1行M列としてr(M)×Hを計算すればよい。あるいは乱数r(M)をM行1列としてHt×r(M)を計算すればよい。
図8は、図7に示した検査行列1202の乗算をハードウェアで実装する場合を示す。拡大部120は、論理演算を実行する論理演算回路121を備える。
図8において、受信部110は入力段の各XOR論理ゲートの入力端子111であり、出力部130は出力段の各XOR論理ゲートの出力端子131である。論理演算回路121は、複数の排他的論理和回路121−1を備える。図8の一番上の回路121aは、乱数s(15)のs1ビットを計算する回路である。二番上の回路121bは、乱数s(15)のs2ビットを計算する回路である。図8の一番下の回路121dは、乱数s(15)のs15ビットを計算する回路である。下から二番上の回路121cは、乱数s(15)のs14ビットを計算する回路である。s3ビット〜s13ビットを計算する回路は省略した。排他的論理は、排他的論理和の論理ゲートによって直接的に実現できる。よって、排他的論理和のネットワークを用いることで、小型、高速な回路が実装できる。
図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が復元される。
乱数マスキングにおいては、マスクの値を付け替えたい場合がある。マスクの値を付け替えることで、安全性が向上する可能性がある。マスク値の付け替えを再マスクと呼ぶ。乱数拡大装置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>を生成する。
図12では、図9に対して新しい乱数r<2>のレジスタ1010、乱数r<1>とr<2>とを加算するXOR論理ゲート1020、セレクタ1030を追加した。XOR論理ゲート1004は図10での復号部160の機能に加え、マスク部140の機能も有する。図10の回路を用いることで、再マスクを実現できる。
図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>)が格納される。
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を参照して切り詰め処理を説明する。
以下では、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)を、マスキング乱数として用いることができる。
拡大部120は、乱数r(M)を乱数s(N)に拡大する場合に、誤り検出部170の少なくとも一部を利用する。誤り検出部は誤り訂正符号のためのハードウェアである回路でもよいし、誤り訂正符号のためのプログラムの場合でもよい。誤り検出部170の少なくとも一部を利用することで、回路規模、プログラムの大きさを低減できる。
本実施の形態によって拡大された乱数でマスクされたデータを格納するレジスタを束ねることで、レーザ照射に耐性を持つレジスタファイルを作ることができる。
また、本実施の形態によって拡大された乱数でマスクされたデータを揮発メモリへ格納することで、レーザ照射に耐性を持つ揮発メモリを実現できる。
図16は乱数拡大装置100をコンピュータで実現する場合のハードウェア構成例である。図16を参照して説明する。
コンピュータである乱数拡大装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。入力インタフェース905は、入力装置907に接続されている。ディスプレイインタフェース906は、ディスプレイ908に接続されている。
図16では、1つのプロセッサ901が図示されているが、乱数拡大装置100が複数のプロセッサ901を備えていてもよい。そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
半導体装置200は、乱数拡大装置100として複数の回路を備えている。半導体装置200のレジスタ210には、マスクされた秘密鍵と、拡大される前の乱数r(M)とが格納される。
Claims (10)
- Mビットの乱数r(M)を受信する受信部と、
誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する拡大部と、
乱数s(N)のNビットのうちMビットよりも多いビット値を乱数として出力する出力部と
を備える乱数拡大装置。 - 前記拡大部は、
一方の行列と乱数r(M)との前記乗算によって得られるN個の成分を、乱数s(N)として生成する請求項1に記載の乱数拡大装置。 - 前記拡大部は、
乱数s(N)から少なくとも1ビットを除くことによって、整数Nよりも小さく整数Mよりも大きい整数Vで表されるVビットの乱数s(V)を生成し、
前記出力部は、
乱数s(V)を出力する請求項1または請求項2に記載の乱数拡大装置。 - 前記拡大部は、
前記論理演算を実行する論理演算回路を備える請求項1から請求項3のいずれか一項に記載の乱数拡大装置。 - 前記論理演算回路は、
複数の排他的論理和回路を備える請求項4に記載の乱数拡大装置。 - 前記乱数拡大装置は、さらに、
データを、前記出力部によって出力される乱数でマスクするマスク部と、
前記マスク部によってマスクされたデータを格納する格納部と
を備える請求項1から請求項5のいずれか一項に記載の乱数拡大装置。 - 前記受信部は、
乱数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に記載の乱数拡大装置。 - 前記乱数拡大装置は、さらに、
ビット列に含まれる誤りを検出する誤り検出部を備え、
前記拡大部は、
乱数r(M)を乱数s(N)に拡大する場合に、前記誤り検出部の少なくとも一部を利用する請求項1から請求項7のいずれか一項に記載の乱数拡大装置。 - Mビットの乱数r(M)を受信し、
誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、論理演算回路によって乱数r(M)をNビットの乱数s(N)に拡大し、
乱数s(N)のNビットのうちMビットよりも多いビット値を出力する乱数拡大方法。 - コンピュータに、
Mビットの乱数r(M)を受信する処理、
誤り訂正の線形符号から決まるM×Nサイズの検査行列とM×Nサイズの生成行列とのうちの一方の行列と、乱数r(M)をM成分のベクトルとする場合の前記ベクトルとの乗算であり、加法を排他的論理和とする乗算によって得られる論理演算を用いて、乱数r(M)をNビットの乱数s(N)に拡大する処理、
乱数s(N)のNビットのうちMビットよりも多いビット値を出力する処理、
を実行させるための乱数拡大プログラム。
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)
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)
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 | 日本電気株式会社 | 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム |
-
2015
- 2015-01-15 US US15/539,602 patent/US20180018147A1/en not_active Abandoned
- 2015-01-15 CN CN201580072901.4A patent/CN107210004A/zh active Pending
- 2015-01-15 EP EP15877838.1A patent/EP3246899A1/en not_active Withdrawn
- 2015-01-15 WO PCT/JP2015/050979 patent/WO2016113886A1/ja active Application Filing
- 2015-01-15 JP JP2016558424A patent/JP6058245B2/ja not_active Expired - Fee Related
- 2015-04-28 TW TW104113468A patent/TWI567637B/zh not_active IP Right Cessation
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 |