JP6246239B2 - 素数生成のための方法およびデバイス - Google Patents
素数生成のための方法およびデバイス Download PDFInfo
- Publication number
- JP6246239B2 JP6246239B2 JP2015561544A JP2015561544A JP6246239B2 JP 6246239 B2 JP6246239 B2 JP 6246239B2 JP 2015561544 A JP2015561544 A JP 2015561544A JP 2015561544 A JP2015561544 A JP 2015561544A JP 6246239 B2 JP6246239 B2 JP 6246239B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- bit
- prime
- determination method
- circuit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F7/582—Pseudo-random number generators
- G06F7/586—Pseudo-random number generators using an integer algorithm, e.g. using linear congruential method
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7204—Prime number generation or prime number testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
1つの実装は、素数を生成することに関連する計算の遅延を低減する方法を提供する。この方法は、複数のビットを有する第1の乱数を生成するステップを含む。次いで、第1の素数判定法が第1の乱数に対して実行される。次いで、生成された第1の乱数が第1の素数判定法に合格したか不合格であったかが判定される。第1の乱数が第1の素数判定法に不合格であった場合、次いで第1の乱数の複数のビットのすべてではない部分が同数のランダムに生成されたビットに置換されて第2の乱数を生成する。次に、素数判定法が再び第2の乱数に対して実行される。この処理は、素数が検出されるまで繰り返される(すなわち、判定中の乱数のビットの部分)。
図2は、本開示の一態様による数R200を示す。数R200はn個のxビットワード202、204、...206を含むzビット数であり、ここで、zは2に等しいか2より大きく、nは2に等しいか2より大きく、xは1に等しいか1より大きい。したがって、数Rのビットzの総数はn*xに等しい。数R200は、真の乱数生成器または擬似乱数生成器を用いて生成されてもよい。一例によれば、zビット乱数R200は、各々32ビットである32ワードを含む1,024ビット数である。もちろん、乱数R200は、1より大きいビット長を有する任意の乱数であってもよく、各々1つまたは複数のビットを有する複数のワードを含んでもよい。
図6は、本開示の一態様による素数生成デバイス600の概略的なブロック図を示す。素数生成デバイス600は、処理回路602、メモリ回路604、入力/出力(I/O)インターフェース606、および/またはバス610を介して通信可能に結合される通信インターフェース608を備えてもよい。処理回路602は、限定されないが、乱数を生成するステップ、およびzビット乱数Rのビットを選択し置換するステップを含む図3、図4、および図5に関して上で説明された操作のいずれも実行するように適合されている少なくとも1つのプロセッサ(たとえば、アプリケーション特有の集積回路、デジタル信号プロセッサ、アプリケーションプロセッサ、他)を備える。メモリ回路604は、1つまたは複数の揮発性、不揮発性メモリ回路、および/または、限定されないが、SRAM、DRAM、SDRAM、NAND FLASH、NOR FLASH、ハードディスクドライブ、コンパクトディスク(CD)、他を含むコンピュータ可読媒体を備える。メモリ回路604は、とりわけ、1つまたは複数のプロセッサによって実行されると処理回路602に図3、図4、および図5に関して上で説明された操作を実行させるコンピュータ可読命令を記憶するように適合されている。
202 xビットワードA
204 xビットワードB
206 xビットワードn
600 素数生成デバイス
602 処理回路
604 メモリ回路
606 I/Oインターフェース
608 通信インターフェース
610 バス
702 乱数生成器モジュール/回路
704 素数判定法モジュール/回路
706 ビット/ワード置換モジュール/回路
802 移動電話
804 ラップトップコンピュータ
806 固定位置端末
Claims (8)
- (a)乱数生成器によって、n個のxビットワードを含む乱数を生成するステップであって、前記nは3より大きいまたは3に等しく、前記乱数は第1のメモリ回路に記憶される、ステップと、
(b)素数判定法回路によって、前記第1のメモリ回路に記憶された前記乱数に対して素数判定法を実行するステップと、
(c)前記素数判定法回路によって、前記第1のメモリ回路に記憶された前記乱数が前記素数判定法に不合格であったと判定するステップと、
(d)ビット置換回路によって、前記乱数の1つまたは複数のxビットワードをランダムに生成されたビットに置換するステップであって、
置換される前記1つまたは複数のxビットワードの各々は、
前記乱数の最上位ビットを部分的に占有する最初のxビットワード、
前記乱数の最下位ビットを部分的に占有する最後のxビットワード、又は、
前記最初のxビットワードおよび前記最後のxビットワード以外のxビットワード
であり、
置換される前記1つまたは複数のxビットワードの各々は、x個のランダムに生成されたビットに置換され、かつ、
置換される前記1つまたは複数のxビットワードの各々は、ランダムに選択される、ステップと、
(e)前記第1のメモリ回路に記憶された前記乱数が(b)で実行される前記実行された素数判定法に合格したと判定されるまで、(b)、(c)、および(d)を繰り返し反復するステップと、
(f)前記素数判定法に合格したと判定された前記乱数を第2のメモリ回路に記憶するステップと、
(g)処理回路によって、前記第2のメモリ回路に記憶された前記乱数を使用して暗号鍵を生成するステップと、
を含む、方法。 - 各xビットワードは、少なくとも3ビットまたは3ビットより大きいビットを含む、請求項1に記載の方法。
- n個のxビットワードを含む乱数を生成するように適合された乱数生成器回路であって、前記nは3より大きいまたは3に等しい、乱数生成器回路と、
前記乱数生成器回路に通信可能に結合され、前記乱数を記憶するように適合された第1のメモリ回路と、
前記乱数生成器回路に通信可能に結合され、
(a)前記第1のメモリ回路に記憶された前記乱数に対して素数判定法を実行し、
(b)生成された前記乱数が前記素数判定法に不合格であったと判定する
ように適合された素数判定法回路と、
前記素数判定法回路に通信可能に結合され、
(c)前記乱数の1つまたは複数のxビットワードをランダムに生成されたビットに置換する
ように適合されたビット置換回路であって、
置換される前記1つまたは複数のxビットワードの各々は、
前記乱数の最上位ビットを部分的に占有する最初のxビットワード、
前記乱数の最下位ビットを部分的に占有する最後のxビットワード、又は、
前記最初のxビットワードおよび前記最後のxビットワード以外のxビットワード
であり、
置換される前記1つまたは複数のxビットワードの各々は、x個のランダムに生成されたビットに置換され、かつ、
置換される前記1つまたは複数のxビットワードの各々は、ランダムに選択され、
前記素数判定法回路が、前記第1のメモリ回路に記憶された前記乱数が(a)で実行される前記素数判定法に合格したと判定するまで、前記素数判定法回路によって(a)および(b)を実行すること、および、前記ビット置換回路によって(c)を実行することが繰り返し反復される、ビット置換回路と、
前記ビット置換回路に通信可能に結合され、前記素数判定法に合格したと判定された前記乱数を記憶するように適合された第2のメモリ回路と、
前記第2のメモリ回路に通信可能に接続された処理回路であって、前記処理回路は、
前記第2のメモリ回路に記憶された前記乱数を使用して暗号鍵を生成するように構成された、処理回路と、
を備える、装置。 - 各xビットワードは、少なくとも3ビットまたは3ビットより大きいビットを含む、請求項3に記載の装置。
- (a)n個のxビットワードを含む乱数を生成するように適合された生成するための手段であって、前記nは3より大きいまたは3に等しく、前記乱数はメモリ回路に記憶される、手段と、
(b)前記メモリ回路に記憶された前記乱数に対して素数判定法を実行するように適合された実行するための手段と、
(c)前記メモリ回路に記憶された前記乱数が前記素数判定法に不合格であったと判定するように適合された判定するための手段と、
(d)前記乱数の1つまたは複数のxビットワードをランダムに生成されたビットに置換するように適合された置換するための手段であって、
置換される前記1つまたは複数のxビットワードの各々は、
前記乱数の最上位ビットを部分的に占有する最初のxビットワード、
前記乱数の最下位ビットを部分的に占有する最後のxビットワード、又は、
前記最初のxビットワードおよび前記最後のxビットワード以外のxビットワード
であり、
置換される前記1つまたは複数のxビットワードの各々は、x個のランダムに生成されたビットに置換され、かつ、
置換される前記1つまたは複数のxビットワードの各々は、ランダムに選択され、
前記実行するための手段が、前記メモリ回路に記憶された前記乱数が(b)で実行される前記素数判定法に合格したと判定するまで、前記実行するための手段によって(b)を実行すること、前記判定するための手段によって(c)を実行すること、および、前記置換するための手段によって(d)を実行することが繰り返し反復される、手段と、
前記素数判定法に合格したと判定された前記乱数を記憶するための手段と、
前記記憶するための手段に記憶された前記乱数を使用して暗号鍵を生成するための手段と、
を備える、装置。 - 各xビットワードは、少なくとも3ビットまたは3ビットより大きいビットを含む、請求項5に記載の装置。
- 1つまたは複数の命令を格納したコンピュータ可読記憶媒体であって、少なくとも1つのプロセッサによって実行されると前記命令が前記プロセッサに
(a)乱数生成器によって、n個のxビットワードを含む乱数を生成させ、
ここで、前記nは3より大きいまたは3に等しく、前記乱数は第1のメモリ回路に記憶され、
(b)素数判定法回路によって、前記第1のメモリ回路に記憶された前記乱数に対して素数判定法を実行させ、
(c)前記素数判定法回路によって、前記第1のメモリ回路に記憶された前記乱数が前記素数判定法に不合格であったと判定させ、
(d)ビット置換回路によって、前記乱数の1つまたは複数のxビットワードをランダムに生成されたビットに置換させ、
ここで、
置換される前記1つまたは複数のxビットワードの各々は、
前記乱数の最上位ビットを部分的に占有する最初のxビットワード、
前記乱数の最下位ビットを部分的に占有する最後のxビットワード、又は、
前記最初のxビットワードおよび前記最後のxビットワード以外のxビットワード
であり、
置換される各xビットワードは、x個のランダムに生成されたビットに置換され、かつ、
置換される前記1つまたは複数のxビットワードの各々は、ランダムに選択され、
(e)前記第1のメモリ回路に記憶された前記乱数が(b)で実行される前記実行された素数判定法に合格したと判定されるまで、(b)、(c)、および(d)を繰り返し反復させ、
(f)前記素数判定法に合格したと判定された前記乱数を第2のメモリ回路に記憶させ、
(g)処理回路によって、前記第2のメモリ回路に記憶された前記乱数を使用して暗号鍵を生成させる、
非一時的コンピュータ可読記憶媒体。 - 各xビットワードは、少なくとも3ビットまたは3ビットより大きいビットを含む、請求項7に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/791,514 US9182943B2 (en) | 2013-03-08 | 2013-03-08 | Methods and devices for prime number generation |
| US13/791,514 | 2013-03-08 | ||
| PCT/US2014/020306 WO2014138060A1 (en) | 2013-03-08 | 2014-03-04 | Prime number generation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016514315A JP2016514315A (ja) | 2016-05-19 |
| JP6246239B2 true JP6246239B2 (ja) | 2017-12-13 |
Family
ID=50442600
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015561544A Expired - Fee Related JP6246239B2 (ja) | 2013-03-08 | 2014-03-04 | 素数生成のための方法およびデバイス |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9182943B2 (ja) |
| EP (1) | EP2965193A1 (ja) |
| JP (1) | JP6246239B2 (ja) |
| KR (1) | KR101666974B1 (ja) |
| CN (1) | CN105027074A (ja) |
| WO (1) | WO2014138060A1 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105373366B (zh) * | 2015-10-12 | 2018-11-09 | 武汉瑞纳捷电子技术有限公司 | 一种生成大素数的方法及装置 |
| JP6542171B2 (ja) * | 2016-09-15 | 2019-07-10 | 東芝メモリ株式会社 | ランダマイザおよび半導体記憶装置 |
| CN108270564A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种rsa加密算法中的大素数生成方法及装置 |
| KR102217928B1 (ko) * | 2019-06-14 | 2021-02-19 | 광운대학교 산학협력단 | 랜덤 소수 생성 방법 및 그를 위한 장치 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4947430A (en) | 1987-11-23 | 1990-08-07 | David Chaum | Undeniable signature systems |
| JP2785349B2 (ja) * | 1988-07-25 | 1998-08-13 | 株式会社安川電機 | 絶対値エンコーダの符号パターン作成方法 |
| JP3606418B2 (ja) * | 1997-03-04 | 2005-01-05 | 松下電器産業株式会社 | 乱数生成装置 |
| US6404890B1 (en) | 1998-04-08 | 2002-06-11 | Citibank, Na | Generating RSA moduli including a predetermined portion |
| JP3034516B1 (ja) * | 1999-03-08 | 2000-04-17 | 株式会社東芝 | 物理乱数発生装置 |
| JP3711821B2 (ja) | 1999-11-25 | 2005-11-02 | 日本電信電話株式会社 | 素数生成方法及び装置及び素数生成プログラムを格納した記憶媒体 |
| FR2807246B1 (fr) * | 2000-03-28 | 2002-12-27 | Gemplus Card Int | Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede |
| US6807553B2 (en) | 2001-04-23 | 2004-10-19 | Safenet B.V. | Digital true random number generator circuit |
| CN100489837C (zh) * | 2004-01-09 | 2009-05-20 | 财团法人资讯工业策进会 | 数据加密的方法与系统 |
| JP2008027327A (ja) * | 2006-07-25 | 2008-02-07 | Sony Corp | メモリアクセス制御装置および方法、並びに、通信装置 |
| US8472620B2 (en) | 2007-06-15 | 2013-06-25 | Sony Corporation | Generation of device dependent RSA key |
| WO2009078217A1 (ja) * | 2007-12-19 | 2009-06-25 | Konica Minolta Holdings, Inc. | ネットワークシステムおよびデータ送信方法 |
| JP2011123356A (ja) | 2009-12-11 | 2011-06-23 | Oki Semiconductor Co Ltd | 素数生成装置、素数生成方法、及び素数生成プログラム |
-
2013
- 2013-03-08 US US13/791,514 patent/US9182943B2/en not_active Expired - Fee Related
-
2014
- 2014-03-04 WO PCT/US2014/020306 patent/WO2014138060A1/en not_active Ceased
- 2014-03-04 EP EP14716054.3A patent/EP2965193A1/en not_active Ceased
- 2014-03-04 CN CN201480010280.2A patent/CN105027074A/zh active Pending
- 2014-03-04 JP JP2015561544A patent/JP6246239B2/ja not_active Expired - Fee Related
- 2014-03-04 KR KR1020157027369A patent/KR101666974B1/ko not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20140258353A1 (en) | 2014-09-11 |
| WO2014138060A1 (en) | 2014-09-12 |
| KR101666974B1 (ko) | 2016-10-17 |
| KR20150128798A (ko) | 2015-11-18 |
| US9182943B2 (en) | 2015-11-10 |
| JP2016514315A (ja) | 2016-05-19 |
| EP2965193A1 (en) | 2016-01-13 |
| CN105027074A (zh) | 2015-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10650151B2 (en) | Method of execution of a binary code of a secure function by a microprocessor | |
| US11018849B2 (en) | Hardware masked substitution box for the data encryption standard | |
| JP2016535310A (ja) | 素数の生成および記憶のための方法および装置 | |
| US8908859B2 (en) | Cryptographic apparatus and memory system | |
| KR102186609B1 (ko) | 무결성 검증 장치를 포함하는 전자 시스템 | |
| JP2018509833A (ja) | サイドチャネル解析抵抗アーキテクチャ | |
| JP6246239B2 (ja) | 素数生成のための方法およびデバイス | |
| CN105847011A (zh) | 一种密钥加载方法及设备 | |
| CN104871476A (zh) | 用于可计算、大型、可变及安全的替换盒的方法及设备 | |
| US20190095354A1 (en) | Execution process of binary code of function secured by microprocessor | |
| TW201918925A (zh) | 資料存取裝置及方法 | |
| CN116418482A (zh) | 密码加速器以及加解密运算的差分故障分析方法 | |
| US20130108038A1 (en) | System and method for a collatz based hash function | |
| US11128581B2 (en) | Secure messaging between computing components | |
| JP6007918B2 (ja) | デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム | |
| CN110018972B (zh) | 操作存储装置的方法和用于存储装置的系统 | |
| WO2022261865A1 (zh) | 一种芯片安全启动方法及芯片 | |
| JP6669841B2 (ja) | 回路検証装置、回路検証方法、および、コンピュータ・プログラム | |
| US8656363B2 (en) | System and method for entropy pool verification | |
| CN116743371A (zh) | 一种随机数的确定方法及装置 | |
| JP2016024725A (ja) | 回路検証装置、被検証装置、回路検証システム、回路検証方法、および、コンピュータ・プログラム | |
| WO2021076119A1 (en) | Generating prime numbers | |
| KR20130068432A (ko) | 오류 주입 분석 방지 연산 장치 및 방법 | |
| JP2015135587A (ja) | 拡大体乗算装置、拡大体乗算方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20150903 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160212 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160212 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160212 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160303 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160314 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160614 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160715 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161014 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161114 |
|
| AA91 | Notification that invitation to amend document was cancelled |
Free format text: JAPANESE INTERMEDIATE CODE: A971091 Effective date: 20161206 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170104 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170403 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170508 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170908 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170914 |
|
| 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: 20171016 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171114 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6246239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |