JP5636489B2 - 2進乱数列を整数乱数に変換する装置および方法 - Google Patents

2進乱数列を整数乱数に変換する装置および方法 Download PDF

Info

Publication number
JP5636489B2
JP5636489B2 JP2013244663A JP2013244663A JP5636489B2 JP 5636489 B2 JP5636489 B2 JP 5636489B2 JP 2013244663 A JP2013244663 A JP 2013244663A JP 2013244663 A JP2013244663 A JP 2013244663A JP 5636489 B2 JP5636489 B2 JP 5636489B2
Authority
JP
Japan
Prior art keywords
random number
integer
number sequence
binary
binary random
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
JP2013244663A
Other languages
English (en)
Other versions
JP2014216005A (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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2014216005A publication Critical patent/JP2014216005A/ja
Application granted granted Critical
Publication of JP5636489B2 publication Critical patent/JP5636489B2/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/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、2進乱数列を整数乱数に変換する装置および方法に関するものであって、より詳細には、ランダムに生成した2進乱数列を整数乱数に変換した後、当該整数乱数が予め定めた整数区間範囲に含まれるかを確認し、ランダムな2進乱数列から生成された整数乱数が予め定めた整数区間範囲に含まれない場合には、当該整数区間に含まれる整数乱数が算出されるまで、2進乱数列を繰り返し更新することによって、予め定めた整数区間に含まれ、かつ、分布が均一な整数乱数を出力できるようにする2進乱数列を整数乱数に変換する装置および方法に関するものである。
一般的に、乱数生成器は、所与の初期値を用いてランダムな2進数列または整数列を生成するための手段であって、用途に応じて多様な決定的アルゴリズムを選択的に使用することができる。ランダムな2進数列を出力する乱数生成器は、主に、ブロック暗号、ハッシュ関数などの秘密鍵暗号技術を基盤として構成され、効率性に優れているが、ランダム整数列を出力する乱数生成器は、整数に対する数学的演算を活用して構成されるため、効率性に優れない。したがって、公開鍵暗号、署名など、比較的大きさの大きい整数を用いる暗号基盤技術で要求される乱数を生成する場合には、2進数列を出力する乱数生成器を活用して、生成したランダム2進数列を特定範囲の整数に変換してランダムな整数列を生成することによって、効率性を図ったりする。
このような変換のために、従来既に知られた方法としては、米国国立標準技術研究所であるNIST(National Institute of Standard and Technology)で発行した文書800−90Aの「Recommendation for Random Number Generation Using Deterministic Random Bit Generators」(Elaine Barker and John Kelsey、2012.1)で明示している方法がある。特に、「Recommendation for Random Number Generation Using Deterministic Random Bit Generators」で開示している方法の中では、出力整数の分布が均一分布に従うことによって乱数性が保障できるが、使用されずに捨てられる2進数列が発生する単純廃棄手法(Simple Discard Method、SDM)と複合廃棄手法(Complex Discard Method、CDM)、そして、所与の2進数列はすべて活用するが、出力整数の分布が均一分布に従わずにスキュー(skew)が発生する単純モジュラー手法(Simple Modular Method、SMM)と複合モジュラー手法(Complex Modular Method、CMM)がある。
単純廃棄手法と複合廃棄手法は、所与の2進数列の整数表現が当該区間に含まれるかを確認して、そうでない場合、所与の2進数列を廃棄し、新たな2進数列を生成して再確認する方式であり、単純モジュラー手法と複合モジュラー手法は、所与の2進数列を整数で表現した後、所与の区間によって定義される特定の整数で除した余りを取る方式である。
本発明の目的は、ランダム2進数列に基づいて出力される整数の分布が均一分布に従い、かつ、使用されずに廃棄される2進数列の量を最小化する乱数変換手法を提供することである。
上記の目的を達成するための、本発明の一実施形態にかかる2進乱数列を整数乱数に変換する装置は、整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数mをビット数として有するランダムな2進乱数列(b…bm−1)を生成する2進乱数列生成部と、前記2進乱数列(b…bm−1)を整数に変換する整数変換部と、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するか否かを判断して、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属しない場合には、前記2進乱数列生成部に前記2進乱数列(b…bm−1)に対する更新を要請し、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属する場合には、前記2進乱数列(b…bm−1)から変換された整数を整数乱数として出力する整数乱数出力部とを含み、前記2進乱数列生成部は、前記整数乱数出力部の更新要請に応じて、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列(b…bm−1)とを組み合わせて算出した2進乱数列に前記2進乱数列(b…bm−1)を更新することを特徴をする。ここで、rは、1より大きい整数である。
この時、前記2進乱数列生成部は、前記整数乱数出力部の更新要請に応じて、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bm+1…bm+d)を生成し、前記2進乱数列(b…bm−1)と前記追加2進乱数列(bm+1…bm+d)に基づいて算出した2進乱数列(bd+1d+2…bm+d)に前記2進乱数列(b…bm−1)を更新することができる。ここで、bは、2進乱数列(b…bm−1)のi番目ビット値であり、rは、r−1をビット数mを有する2進数列(r…rm−1)で表現した時のi番目ビット値である。
この時、前記整数変換部は、前記2進乱数列(bd+1d+2…bm+d)に更新された2進乱数列(b…bm−1)を整数に変換し、前記整数乱数出力部は、前記更新された2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するか否かを判断して、前記更新された2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属する場合には、前記更新された2進乱数列(b…bm−1)から変換された整数を整数乱数として出力することができる。ここで、前記整数変換部は、前記2進乱数列生成部によって更新された2進乱数列から変換される整数が前記整数区間[0,r−1]に属するまで、前記2進乱数列生成部に新たな追加2進乱数列(bm+1…bm+d)の生成および2進乱数列の再更新動作を繰り返し行うように要請することができる。
また、上記の目的を達成するための、本発明の他の実施形態にかかる2進乱数列を整数乱数列に変換する装置は、整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数kをビット数として有するランダムな2進乱数列(b…bk−1)を生成する2進乱数列生成部と、前記2進乱数列(b…bk−1)を整数(a)に変換する整数変換部と、前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するか否かを判断して、前記2進乱数列(b…bk−1)から変換された整数が前記整数区間[0,r−1]に属しない場合には、前記2進乱数列生成部に前記2進乱数列(b…bk−1)に対する更新を要請し、前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属する場合には、前記2進乱数列(b…bk−1)から変換された整数(a)に対して、
Figure 0005636489
に基づいて算出したn個の整数乱数(a,…,an−1)で構成される整数乱数列(a…an−1)を出力する整数乱数列出力部とを含み、前記2進乱数列生成部は、前記整数乱数列出力部の更新要請に応じて、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列(b…bk−1)とを組み合わせて算出した2進乱数列に前記2進乱数列(b…bk−1)を更新することを特徴とする。
この時、前記2進乱数列生成部は、前記整数乱数列出力部の更新要請に応じて、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bk+1…bk+d)を生成し、前記2進乱数列(b…bk−1)と前記追加2進乱数列(bk+1…bk+d)に基づいて算出した2進乱数列(bd+1d+2…bk+d)に前記2進乱数列(b…bk−1)を更新することができる。ここで、bは、2進乱数列(b…bk−1)のi番目ビット値であり、rは、r−1をビット数kを有する2進数列(r…rk−1)で表現した時のi番目ビット値である。
この時、前記整数変換部は、前記2進乱数列(bd+1d+2…bk+d)に更新された2進乱数列(b…bk−1)を整数(a)に変換し、前記整数乱数列出力部は、前記更新された2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するか否かを判断して、前記更新された2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属する場合には、前記更新された2進乱数列(b…bk−1)から変換された整数(a)に対して、
Figure 0005636489
に基づいて算出したn個の整数乱数(a,a,…,an−1)で構成される整数乱数列(a…an−1)を出力することができる。ここで、前記整数変換部は、前記2進乱数列生成部によって更新された2進乱数列から変換される整数(a)が前記整数区間[0,r−1]に属するまで、前記2進乱数列生成部に新たな追加2進乱数列(bk+1…bk+d)の生成および2進乱数列の再更新動作を繰り返し行うように要請することができる。
一方、上記の目的を達成するための、本発明の一実施形態にかかる2進乱数列を整数乱数に変換する方法は、ランダムな2進乱数列を生成する第1ステップと、前記2進乱数列を整数に変換する第2ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属するか否かを判断する第3ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属する場合、前記2進乱数列から変換された整数に基づいて算出した整数乱数を出力する第4ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属しない場合、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列とを組み合わせて算出した2進乱数列に前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップとを含むことを特徴とする。
この時、前記ランダムな2進乱数列を生成する第1ステップでは、整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数mをビット数として有するランダムな2進乱数列(b…bm−1)を生成することができる。
この時、前記2進乱数列を整数に変換する第2ステップでは、前記2進乱数列(b…bm−1)を整数に変換することができる。
この時、前記2進乱数列から変換された整数が予め設定された整数区間に属するか否かを判断する第3ステップでは、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するか否かを判断することができる。
この時、前記2進乱数列から変換された整数に基づいて算出した整数乱数を出力する第4ステップでは、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属する場合、前記2進乱数列(b…bm−1)から変換された整数を整数乱数として出力することができる。
この時、前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップでは、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属しない場合、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bm+1…bm+d)を生成し、前記2進乱数列(b…bm−1)と前記追加2進乱数列(bm+1…bm+d)に基づいて算出した2進乱数列(bd+1d+2…bm+d)に2進乱数列(b…bm−1)を更新して前記第2ステップないし第4ステップを繰り返し行うことができる。
この時、前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップでは、前記2進乱数列(bd+1d+2…bm+d)に更新された2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するまで、前記第2ステップないし第4ステップを繰り返し行うことができる。
また、上記の目的を達成するための、本発明の他の実施形態にかかる2進乱数列を整数乱数列に変換する方法は、ランダムな2進乱数列を生成する第1ステップと、前記2進乱数列を整数に変換する第2ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属するか否かを判断する第3ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属する場合、前記2進乱数列から変換された整数に基づいて算出した整数乱数列を出力する第4ステップと、前記2進乱数列から変換された整数が予め設定された整数区間に属しない場合、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列とを組み合わせて算出した2進乱数列に前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップとを含むことを特徴とする。
一方、前記ランダムな2進乱数列を生成する第1ステップでは、整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数kをビット数として有するランダムな2進乱数列(b…bk−1)を生成することができる。
この時、前記2進乱数列を整数に変換する第2ステップでは、前記2進乱数列(b…bk−1)を整数(a)に変換することができる。
この時、前記2進乱数列から変換された整数が予め設定された整数区間に属するか否かを判断する第3ステップでは、前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するか否かを判断することができる。
この時、前記2進乱数列から変換された整数に基づいて算出した整数乱数列を出力する第4ステップでは、前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属する場合、前記2進乱数列(b…bk−1)から変換された整数(a)に対して、
Figure 0005636489
に基づいて算出したn個の整数乱数(a,a,…,an−1)で構成される整数乱数列(a…an−1)を出力することができる。
この時、前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップでは、前記2進乱数列(b…bk−1)から変換された整数が前記整数区間[0,r−1]に属しない場合、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bk+1…bk+d)を生成し、前記2進乱数列(b…bk−1)と前記追加2進乱数列(bk+1…bk+d)に基づいて算出した2進乱数列(bd+1d+2…bk+d)に2進乱数列(b…bk−1)を更新して前記第2ステップないし第4ステップを繰り返し行うことができる。
この時、前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップでは、前記2進乱数列(bd+1d+2…bk+d)に更新された2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するまで、前記第2ステップないし第4ステップを繰り返し行うことができる。
本発明によれば、2進乱数列から変換された整数が予め定めた区間に含まれない場合、廃棄するビット数が、整数を生成するために選択されたビット数より少ない効果がある。
また、本発明によれば、2進乱数列から変換された整数が予め定めた整数区間に含まれない場合、選択されたビットをすべて廃棄する従来の単純廃棄手法および複合廃棄手法に比べて、同じ個数の整数を出力するために必要なビット数が少ないので効率的である。
さらに、本発明によれば、2進乱数列を生成する乱数生成器の動作回数を減少させることによって、乱数生成器を用いるシステムの効率性が全体的に増大する効果がある。
単純部分廃棄手法(SPDM)によって整数乱数を出力する、本発明の一実施形態にかかる2進乱数列を整数乱数に変換する装置の構成を説明するためのブロック図である。 複合部分廃棄手法(CPDM)によって整数乱数列を出力する、本発明の他の実施形態にかかる2進乱数列を整数乱数列に変換する装置の構成を説明するためのブロック図である。 本発明にかかる2進乱数列を整数乱数に変換する方法を説明するためのフローチャートである。 単純部分廃棄手法(SPDM)によって2進乱数列を整数乱数に変換する方法を説明するためのフローチャートである。 複合部分廃棄手法(CPDM)によって2進乱数列を整数乱数列に変換する方法を説明するためのフローチャートである。
以下、本発明を添付した図面を参照して詳細に説明する。ここで、繰り返される説明、本発明の要旨を不明にする可能性がある公知の機能、および構成に関する詳細な説明は省略する。本発明の実施形態は、当業界における平均的な知識を有する者に本発明をより完全に説明するために提供されるものである。したがって、図面における要素の形状および大きさなどは、より明確な説明のために誇張されることがある。
本発明にかかるランダム2進乱数列を整数乱数または整数乱数列に変換する手法は、ランダムに選定される2進乱数列を1つの整数乱数または複数の整数乱数からなる整数乱数列に変換する。特に、本発明では、ランダムに選定される2進乱数列を1つの整数乱数に変換する手法を単純部分廃棄手法(Simple Partial Discard Method、SPDM)と定義し、ランダムに選定される2進乱数列を複数の整数乱数からなる整数乱数列に変換する手法を複合部分廃棄手法(Complex Partial Discard Method、CPDM)と定義する。一方、本発明にかかる単純部分廃棄手法または複合部分廃棄手法によって閉区間[α,β]に設定される範囲に含まれる1つの整数乱数または複数の整数乱数からなる整数乱数列を出力するにあたり、β−α値をr−1と定義し、閉区間[0,r−1](ここで、rは、1より大きい整数)の範囲に含まれる1つの整数t(ここで、0≦t≦r−1)または複数の整数a,…,an−1(ここで、0≦a,…,an−1≦r−1)を算出し、算出された1つの整数tまたは複数の整数a,…,an−1にαを加えて出力する方式が使用できる。
以下では、図1および図2を参照して、本発明にかかる2進乱数列を整数乱数に変換する装置の構成およびその動作について説明する。
図1は、ランダム2進乱数列を1つの整数乱数に変換する単純部分廃棄手法(SPDM)によって整数乱数を出力する、本発明の一実施形態にかかる2進乱数列を整数乱数に変換する装置の構成を説明するためのブロック図である。
図1を参照すれば、本発明の単純部分廃棄手法によって2進乱数列を整数乱数に変換する装置100は、2進乱数列生成部120と、整数変換部140と、整数乱数出力部160とを含む。
2進乱数列生成部120は、ランダムな2進乱数列を生成し、生成された初期2進乱数列を整数変換部140に伝達する。ここで、整数乱数出力部160が整数区間[0,r−1]内に含まれる整数乱数を出力するようにするために、2進乱数列生成部120は、r−1を2進数で表現するのに必要な最小限のビット数mをビット数として有するランダムな2進乱数列b…bm−1を生成し、ランダムな2進乱数列b…bm−1を整数変換部140に伝達する。2進乱数列生成部120によって生成される2進ビット列b…bm−1のビット数mは、下記の数4によって生成できる。
Figure 0005636489
ここで、演算記号<x>は、xより大きいか等しい最小の整数を表す演算記号である。
一方、[0,r−1]の範囲に設定される整数区間において、r−1は、下記の数5のように表される。
Figure 0005636489
また、2進乱数列生成部120は、整数乱数出力部160の要請に応じて、ランダムな追加2進乱数列としてd+1のビット数を有する2進乱数列bm+1…bm+dを生成し、2進乱数列b…bm−1のビットと追加的に生成した2進乱数列bm+1…bm+dのビットに基づいて2進乱数列bd+1d+2…bm+dを算出し、算出されたbd+1d+2…bm+dに2進乱数列b…bm−1を更新する。より具体的には、2進乱数列生成部120は、整数乱数出力部160からd+1のビット数を有するランダムな追加2進乱数列を生成させる要請がある場合、d+1のビット数を有する追加2進乱数列bm+1…bm+dを生成し、追加2進乱数列bm+1…bm+dと既存の2進乱数列b…bm−1とを組み合わせて算出したbd+1d+2…bm+dに既存の2進乱数列b…bm−1を更新する。これによって、2進乱数列生成部120から整数変換部140に伝達される2進乱数列は、順次に各ビット値がbd+1d+2…bm+dの各ビット値に切り替えられた2進乱数列b…bm−1に相当する。
整数変換部140は、2進乱数列生成部120から受信した2進乱数列を整数に変換し、変換された整数を整数乱数出力部160に伝達する。この時、整数変換部140は、2進乱数列生成部120からmのビット数を有する2進乱数列b…bm−1を受信し、下記の数6に基づいて受信された2進乱数列b…bm−1を整数tに変換する。
Figure 0005636489
ここで、tは、2進乱数列b…bm−1から変換される整数であり、bは、前記2進乱数列b…bm−1におけるi番目ビット値を意味する。
整数変換部140が2進乱数列生成部120から受信する2進乱数列b…bm−1は、2進乱数列生成部120によって初期に生成されたり、追加2進乱数列bm+1…bm+dに基づいて更新された2進乱数列b…bm−1に相当する。
整数乱数出力部160は、2進乱数列から変換された整数を整数変換部140から受信し、2進乱数列から変換された整数が予め設定された整数区間に相応するか否かを判断して、前記変換された整数が予め設定された整数区間に相応する場合には、当該整数を整数乱数として出力する。より具体的には、整数乱数出力部160は、2進乱数列生成部120によって生成または更新された2進乱数列b…bm−1から変換された整数tを整数変換部140から受信し、受信された整数tが整数区間[0,r−1]内に含まれるか否かを確認する。仮に、受信された整数tが整数区間[0,r−1]内に含まれる場合(0≦t≦r−1の場合)には、整数乱数出力部160は、整数tを整数乱数として出力する。この時、整数乱数出力部160は、整数区間[0,r−1]内に含まれる整数tにαを加えて出力することができる。
反面、受信された整数tが整数区間[0,r−1]内に含まれない場合(t>r−1の場合)には、整数乱数出力部160は、b>rとなるiの最小値に相当するdを算出する。この時、整数乱数出力部160は、下記の数7を満足するdを算出する。
Figure 0005636489
ここで、TとRはそれぞれ、整数tとr−1を同じビット数を有する2進数で表現した値を意味し、
Figure 0005636489
は、XOR(eXclusive OR)演算記号を意味する。
整数乱数出力部160は、受信された整数tが整数区間[0,r−1]内に含まれずにdを算出した場合、2進乱数列生成部120にd+1のビット数を有するランダムな追加2進乱数列bm+1…bm+dを生成し、2進乱数列b…bm−1を更新するように要請する。
本発明の単純部分廃棄手法によって2進乱数列を整数乱数に変換する装置100は、整数変換部140から出力される整数tが整数区間[0,r−1]内に含まれるまで、2進乱数列b…bm−1を更新する動作と、更新された2進乱数列b…bm−1を整数に変換する動作とを繰り返し行う。
図2は、ランダム2進乱数列を複数の整数乱数からなる整数乱数列に変換する複合部分廃棄手法(CPDM)によって整数乱数列を出力する、本発明の他の実施形態にかかる2進乱数列を整数乱数列に変換する装置の構成を説明するためのブロック図である。
図2を参照すれば、本発明の複合部分廃棄手法によって2進乱数列を整数乱数列に変換する装置200は、2進乱数列生成部220と、整数変換部240と、整数乱数列出力部260とを含む。
2進乱数列生成部220は、ランダムな2進乱数列を生成し、生成された初期2進乱数列を整数変換部240に伝達する。ここで、整数乱数列出力部260が整数区間[0,r−1]内に含まれるn個の整数乱数からなる整数乱数列を出力するようにするために、2進乱数列生成部220は、r−1を2進数で表現するのに必要な最小限のビット数kをビット数として有するランダムな2進乱数列b…bk−1を生成し、ランダムな2進乱数列b…bk−1を整数変換部240に伝達する。2進乱数列生成部220によって生成される2進ビット列b…bk−1のビット数kは、下記の数9によって生成できる。
Figure 0005636489
一方、[0,r−1]の範囲に設定される整数区間において、r−1は、下記の数10のように表される。
Figure 0005636489
また、2進乱数列生成部220は、整数乱数列出力部260の要請に応じて、ランダムな追加2進乱数列としてd+1のビット数を有する2進乱数列bk+1…bk+dを生成し、2進乱数列b…bk−1のビットと追加的に生成した2進乱数列bk+1…bk+dのビットに基づいて2進乱数列bd+1d+2…bk+dを算出し、算出されたbd+1d+2…bk+dに2進乱数列b…bk−1を更新する。より具体的には、2進乱数列生成部220は、整数乱数列出力部260からd+1のビット数を有するランダムな追加2進乱数列を生成させる要請がある場合、d+1のビット数を有する追加2進乱数列bk+1…bk+dを生成し、追加2進乱数列bk+1…bk+dと既存の2進乱数列b…bk−1とを組み合わせて算出したbd+1d+2…bk+dに既存の2進乱数列b…bk−1を更新する。これによって、2進乱数列生成部220から整数変換部240に伝達される2進乱数列は、順次に各ビット値がbd+1d+2…bk+dの各ビット値に切り替えられた2進乱数列b…bk−1に相当する。
整数変換部240は、2進乱数列生成部220から受信した2進乱数列を整数に変換し、変換された整数を整数乱数列出力部260に伝達する。この時、整数変換部240は、2進乱数列生成部220からkのビット数を有する2進乱数列b…bk−1を受信し、下記の数11に基づいて受信された2進乱数列b…bk−1を整数aに変換する。
Figure 0005636489
ここで、aは、2進乱数列b…bk−1から変換される整数であり、bは、前記2進乱数列b…bk−1におけるi番目ビット値を意味する。
整数変換部240が2進乱数列生成部220から受信する2進乱数列b…bk−1は、2進乱数列生成部220によって初期に生成されたり、追加2進乱数列bk+1…bk+dに基づいて更新された2進乱数列b…bk−1に相当する。
整数乱数列出力部260は、2進乱数列から変換された整数を整数変換部240から受信し、2進乱数列から変換された整数が予め設定された整数区間に相応するか否かを判断して、前記変換された整数が予め設定された整数区間に相応する場合には、当該整数に基づいて算出した整数からなる整数列を整数乱数列として出力する。より具体的には、整数乱数列出力部260は、2進乱数列生成部220によって生成または更新された2進乱数列b…bk−1から変換された整数aを整数変換部240から受信し、受信された整数aが整数区間[0,r−1]内に含まれるか否かを確認する。仮に、受信された整数aが整数区間[0,r−1]内に含まれる場合(0≦a≦r−1の場合)には、整数乱数列出力部260は、整数aに対して、下記の数12に基づいてn個の整数a,…,an−1を算出する。
Figure 0005636489
そして、整数乱数列出力部260は、整数aから算出したn個の整数a,…,an−1からなる整数列a…an−1を整数乱数列として出力する。この時、整数乱数列出力部260は、整数乱数列a…an−1の各整数にαを加えて出力することができる。
反面、受信された整数aが整数区間[0,r−1]内に含まれない場合(a>r−1の場合)には、整数乱数列出力部260は、b>rとなるiの最小値に相当するdを算出する。この時、整数乱数列出力部260は、下記の数13を満足するdを算出する。
Figure 0005636489
ここで、AとR’はそれぞれ、整数aとr−1を同じビット数を有する2進数で表現した値を意味する。
整数乱数列出力部260は、受信された整数aが整数区間[0,r−1]内に含まれずにdを算出した場合、2進乱数列生成部220にd+1のビット数を有するランダムな追加2進乱数列bk+1…bk+dを生成し、2進乱数列b…bk−1を更新するように要請する。
本発明の複合部分廃棄手法によって2進乱数列を整数乱数列に変換する装置200は、整数変換部240から出力される整数aが整数区間[0,r−1]内に含まれるまで、2進乱数列b…bk−1を更新する動作と、更新された2進乱数列b…bk−1を整数に変換する動作とを繰り返し行う。
以下では、図3ないし図5を参照して、本発明にかかる2進乱数列を整数乱数に変換する方法について説明する。これに先立ち、図1を参照して説明した単純部分廃棄手法(SPDM)による2進乱数列を整数乱数に変換する装置、および図2を参照して説明した複合部分廃棄手法(CPDM)による2進乱数列を整数乱数列に変換する装置の動作と一部重複する部分は省略して説明する。
図3は、本発明にかかる2進乱数列を整数乱数に変換する方法を説明するためのフローチャートである。
図3を参照すれば、本発明にかかる2進乱数列を整数乱数に変換する方法は、まず、2進乱数列生成部120、220がランダムな2進乱数列b…bm−1、b…bk−1を生成する(S300)。乱数列生成部120、220は、生成された2進乱数列b…bm−1、b…bk−1を整数変換部140、240に伝達する。
そして、整数変換部140、240が2進乱数列生成部120、220によって生成された初期2進乱数列b…bm−1、b…bk−1を整数t、aに変換する(S310)。整数変換部140、240は、初期2進乱数列b…bm−1、b…bk−1から変換された整数t、aを整数乱数出力部160または整数乱数列出力部260に出力する。
次に、整数乱数出力部160または整数乱数列出力部260は、初期2進乱数列b…bm−1、b…bk−1から変換された整数t、aが予め設定された整数区間[0,r−1]、[0,r−1]に属するか否かを判断する(S320)。
前記S320ステップでの判断結果、初期2進乱数列b…bm−1、b…bk−1から変換された整数t、aが予め設定された整数区間[0,r−1]、[0,r−1]に属する場合には、整数乱数出力部160は、初期2進乱数列b…bm−1から変換された整数tを整数乱数として出力し、整数乱数列出力部260は、初期2進乱数列b…bk−1から変換された整数aに対して、数12に基づいて算出したn個の整数a,…,an−1からなる整数列a…an−1を整数乱数列として出力する(S330)。
反面、前記S320ステップでの判断結果、初期2進乱数列b…bm−1、b…bk−1から変換された整数t、aが予め設定された整数区間[0,r−1]、[0,r−1]に属しない場合には、整数乱数出力部160または整数乱数列出力部260の要請に応じて、2進乱数列生成部120、220がランダムな追加2進乱数列bm+1…bm+d、bk+1…bk+dを生成し、2進乱数列b…bm−1、b…bk−1を更新する(S340)。前記S340ステップでは、2進乱数列生成部120、220が既存の2進乱数列b…bm−1、b…bk−1と追加2進乱数列bm+1…bm+d、bk+1…bk+dとを組み合わせて算出した2進乱数列bd+1d+2…bm+d、bd+1d+2…bk+dに2進乱数列b…bm−1、b…bk−1を更新する。そして、2進乱数列生成部120、220は、更新された2進乱数列b…bm−1、b…bk−1を整数変換部140、240に出力し、整数変換部140、240が更新された2進乱数列b…bm−1、b…bk−1を整数t、aに変換するS310ステップが再実行される。
本発明にかかる2進乱数列を整数乱数に変換する方法は、S320ステップで2進乱数列b…bm−1、b…bk−1から変換された整数t、aが予め設定された整数区間[0,r−1]、[0,r−1]に属すると判断されるまで、S310ステップ、S320ステップおよびS340ステップが繰り返し行われる。
図4は、本発明にかかる2進乱数列を整数乱数に変換する方法において、ランダム2進乱数列を1つの整数乱数に変換する単純部分廃棄手法(SPDM)によって整数乱数を出力する方法をより具体的に説明するためのフローチャートである。
図4を参照すれば、本発明の単純部分廃棄手法によって2進乱数列を整数乱数に変換する方法は、まず、乱数列生成部120が整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数mをビット数として有するランダムな2進乱数列b…bm−1を生成する(S400)。そして、2進乱数列生成部120は、生成された2進乱数列b…bm−1を整数変換部140に出力する。
次に、整数変換部140は、2進乱数列生成部120から受信した2進乱数列b…bm−1を、数6に基づいて整数tに変換する(S410)。そして、整数変換部140は、2進乱数列b…bm−1から変換された整数tを整数乱数出力部160に出力する。
次に、整数乱数出力部160は、整数変換部140から受信した整数tが整数区間[0,r−1]に含まれるか否かを判断する(S420)。
前記S420ステップでの判断結果、整数変換部140から受信した整数tが整数区間[0,r−1]に含まれる場合(0≦t≦r−1の場合)には、整数tを整数乱数として出力する(S430)。
反面、前記S420ステップでの判断結果、整数変換部140から受信した整数tが整数区間[0,r−1]に含まれない場合(t>r−1の場合)には、b>rとなるiの最小値に相当するdを算出する(S440)。この時、整数乱数出力部160は、数7を満足するdを算出する。
次に、整数乱数出力部160は、2進乱数列生成部120に2進乱数列b…bm−1を更新するように要請し、2進乱数列生成部120は、整数乱数出力部160からの更新要請に応じて、d+1のビット数を有するランダムな追加2進乱数列bm+1…bm+dを生成する(S450)。
そして、2進乱数列生成部120は、2進乱数列b…bm−1と追加2進乱数列bm+1…bm+dに基づいて算出した2進乱数列bd+1d+2…bm+dに2進乱数列b…bm−1を更新する(S460)。この時、2進乱数列生成部120は、更新された2進乱数列b…bm−1を整数変換部140に出力し、整数変換部140は、更新された2進乱数列b…bm−1を整数tに変換する動作を再実行する(S410)。
一方、更新された2進乱数列b…bm−1から変換された整数tが前記S420ステップで整数区間[0,r−1]に含まれると判断されるまで、S410ステップ、S420ステップおよびS440ステップないしS460ステップが繰り返し行われる。
図5は、本発明にかかる2進乱数列を整数乱数に変換する方法において、ランダム2進乱数列を複数の整数乱数からなる整数乱数列に変換する複合部分廃棄手法(CPDM)によって整数乱数列を出力する方法をより具体的に説明するためのフローチャートである。
図5を参照すれば、本発明の複合部分廃棄手法によって2進乱数列を整数乱数列に変換する方法は、まず、乱数列生成部220が整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数kをビット数として有するランダムな2進乱数列b…bk−1を生成する(S500)。そして、2進乱数列生成部220は、生成された2進乱数列b…bk−1を整数変換部240に出力する。
次に、整数変換部240は、2進乱数列生成部220から受信した2進乱数列b…bk−1を、数11に基づいて整数aに変換する(S510)。そして、整数変換部240は、2進乱数列b…bk−1から変換された整数aを整数乱数列出力部260に出力する。
次に、整数乱数列出力部260は、整数変換部240から受信した整数aが整数区間[0,r−1]に含まれるか否かを判断する(S520)。
前記S520ステップでの判断結果、整数変換部240から受信した整数aが整数区間[0,r−1]に含まれる場合(0≦a≦r−1の場合)には、整数乱数列出力部260は、数12に基づいて整数aからn個の整数乱数a,…,an−1を算出する(S530)。そして、整数乱数列出力部260は、n個の整数a,…,an−1を順次に結合した整数列a…an−1を整数乱数列として出力する(S540)。
反面、前記S420ステップでの判断結果、整数変換部240から受信した整数aが整数区間[0,r−1]に含まれない場合(a>r−1の場合)には、b>rとなるiの最小値に相当するdを算出する(S550)。この時、整数乱数列出力部260は、数13を満足するdを算出する。
次に、整数乱数列出力部260は、2進乱数列生成部220に2進乱数列b…bk−1を更新するように要請し、2進乱数列生成部220は、整数乱数列出力部260からの更新要請に応じて、d+1のビット数を有するランダムな追加2進乱数列bk+1…bk+dを生成する(S560)。
そして、2進乱数列生成部220は、2進乱数列b…bk−1と追加2進乱数列bk+1…bk+dに基づいて算出した2進乱数列bd+1d+2…bk+dに2進乱数列b…bk−1を更新する(S570)。この時、2進乱数列生成部220は、更新された2進乱数列b…bk−1を整数変換部240に出力し、整数変換部240は、更新された2進乱数列b…bk−1を整数aに変換する動作を再実行する(S510)。
一方、更新された2進乱数列b…bk−1から変換された整数aが前記S520ステップで整数区間[0,r−1]に含まれると判断されるまで、S510ステップ、S520ステップおよびS550ステップないしS570ステップが繰り返し行われる。
本発明の単純部分廃棄手法(SPDM)または複合部分廃棄手法(CPDM)によって2進乱数列を整数乱数に変換する方法が行われる各ステップは、コンピュータ読み取り可能な記録媒体にコンピュータ読み取り可能なコードとして実現することが可能である。コンピュータ読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが格納されるすべての種類の記録装置を含む。コンピュータ読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、CD−RW、磁気テープ、フロッピー(登録商標)ディスク、HDD、光ディスク、光磁気記憶装置などがあり得、また、キャリアウェーブ(例えば、インターネットを介した伝送)の形態で実現されるものも含む。また、コンピュータ読み取り可能な記録媒体は、ネットワークで接続されたコンピュータシステムに分散して、分散方式でコンピュータ読み取り可能なコードとして格納されて実行可能である。
以上、図面と明細書で最適な実施形態が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的で使われたもので、意味の限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。そのため、本技術分野における通常の知識を有する者であれば、これから多様な変形および均等な他の実施形態が可能である点を理解することができる。したがって、本発明の真の技術的保護範囲は、添付した特許請求の範囲の技術的思想によって定められなければならない。
120、220:2進乱数列生成部
140、240:整数変換部
160:整数乱数出力部
260:整数乱数列出力部

Claims (9)

  1. 整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数mをビット数として有するランダムな2進乱数列(b…bm−1)を生成する2進乱数列生成部と、
    前記2進乱数列(b…bm−1)を整数に変換する整数変換部と、
    前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するか否かを判断して、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属しない場合には、前記2進乱数列生成部に前記2進乱数列(b…bm−1)に対する更新を要請し、前記2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属する場合には、前記2進乱数列(b…bm−1)から変換された整数を整数乱数として出力する整数乱数出力部とを含み、
    前記2進乱数列生成部は、前記整数乱数出力部の更新要請に応じて、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列(b…bm−1)とを組み合わせて算出した2進乱数列に前記2進乱数列(b…bm−1)を更新することを特徴とする、2進乱数列を整数乱数に変換する装置。{ここで、rは、1より大きい整数である。}
  2. 前記2進乱数列生成部は、前記整数乱数出力部の更新要請に応じて、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bm+1…bm+d)を生成し、前記2進乱数列(b…bm−1)と前記追加2進乱数列(bm+1…bm+d)に基づいて算出した2進乱数列(bd+1d+2…bm+d)に前記2進乱数列(b…bm−1)を更新することを特徴とする、請求項1に記載の2進乱数列を整数乱数に変換する装置。{ここで、bは、2進乱数列(b…bm−1)のi番目ビット値であり、rは、r−1をビット数mを有する2進数列(r…rm−1)で表現した時のi番目ビット値である。}
  3. 前記整数変換部は、前記2進乱数列(bd+1d+2…bm+d)に更新された2進乱数列(b…bm−1)を整数に変換し、
    前記整数乱数出力部は、前記更新された2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属するか否かを判断して、前記更新された2進乱数列(b…bm−1)から変換された整数が前記整数区間[0,r−1]に属する場合には、前記更新された2進乱数列(b…bm−1)から変換された整数を整数乱数として出力することを特徴とする、請求項2に記載の2進乱数列を整数乱数に変換する装置。
  4. 整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数kをビット数として有するランダムな2進乱数列(b…bk−1)を生成する2進乱数列生成部と、
    前記2進乱数列(b…bk−1)を整数(a)に変換する整数変換部と、
    前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するか否かを判断して、前記2進乱数列(b…bk−1)から変換された整数が前記整数区間[0,r−1]に属しない場合には、前記2進乱数列生成部に前記2進乱数列(b…bk−1)に対する更新を要請し、前記2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属する場合には、前記2進乱数列(b…bk−1)から変換された整数(a)に対して、
    Figure 0005636489
    に基づいて算出したn個の整数乱数(a,…,an−1)で構成される整数乱数列(a…an−1)を出力する整数乱数列出力部とを含み、
    前記2進乱数列生成部は、前記整数乱数列出力部の更新要請に応じて、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列(b…bk−1)とを組み合わせて算出した2進乱数列に前記2進乱数列(b…bk−1)を更新することを特徴とする、2進乱数列を整数乱数列に変換する装置。(ここで、rは、1より大きい整数である。)
  5. 前記2進乱数列生成部は、前記整数乱数列出力部の更新要請に応じて、b>rに相当するiの最小値であるdを算出してd+1のビット数を有するランダムな追加2進乱数列(bk+1…bk+d)を生成し、前記2進乱数列(b…bk−1)と前記追加2進乱数列(bk+1…bk+d)に基づいて算出した2進乱数列(bd+1d+2…bk+d)に前記2進乱数列(b…bk−1)を更新することを特徴とする、請求項4に記載の2進乱数列を整数乱数列に変換する装置。{ここで、bは、2進乱数列(b…bk−1)のi番目ビット値であり、rは、r−1をビット数kを有する2進数列(r…rk−1)で表現した時のi番目ビット値である。}
  6. 前記整数変換部は、前記2進乱数列(bd+1d+2…bk+d)に更新された2進乱数列(b…bk−1)を整数(a)に変換し、
    前記整数乱数列出力部は、前記更新された2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属するか否かを判断して、前記更新された2進乱数列(b…bk−1)から変換された整数(a)が前記整数区間[0,r−1]に属する場合には、前記更新された2進乱数列(b…bk−1)から変換された整数(a)に対して、
    Figure 0005636489
    に基づいて算出したn個の整数乱数(a,a,…,an−1)で構成される整数乱数列(a…an−1)を出力することを特徴とする、請求項5に記載の2進乱数列を整数乱数列に変換する装置。
  7. ランダムな2進乱数列を生成する第1ステップと、
    前記2進乱数列を整数に変換する第2ステップと、
    前記2進乱数列から変換された整数が予め設定された整数区間に属するか否かを判断する第3ステップと、
    前記2進乱数列から変換された整数が予め設定された整数区間に属する場合、前記2進乱数列から変換された整数に基づいて算出した整数乱数または整数乱数列を出力する第4ステップと、
    前記2進乱数列から変換された整数が予め設定された整数区間に属しない場合、ランダムな追加2進乱数列を生成し、前記生成された追加2進乱数列と前記2進乱数列とを組み合わせて算出した2進乱数列に前記2進乱数列を更新して前記第2ステップないし第4ステップを繰り返し行う第5ステップとを含むことを特徴とする、2進乱数列を整数乱数に変換する方法。
  8. 前記ランダムな2進乱数列を生成する第1ステップは、
    整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数mをビット数として有するランダムな2進乱数列(b…bm−1)を生成することを特徴とする、請求項7に記載の2進乱数列を整数乱数に変換する方法。{ここで、rは、1より大きい整数である。}
  9. 前記ランダムな2進乱数列を生成する第1ステップは、
    整数区間[0,r−1]に対して、r−1を2進数で表現可能な最小のビット数kをビット数として有するランダムな2進乱数列(b…bk−1)を生成することを特徴とする、請求項7に記載の2進乱数列を整数乱数に変換する方法。{ここで、rは、1より大きい整数である。}
JP2013244663A 2013-04-29 2013-11-27 2進乱数列を整数乱数に変換する装置および方法 Expired - Fee Related JP5636489B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0047487 2013-04-29
KR1020130047487A KR101443575B1 (ko) 2013-04-29 2013-04-29 이진 난수열을 정수 난수로 변환하는 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2014216005A JP2014216005A (ja) 2014-11-17
JP5636489B2 true JP5636489B2 (ja) 2014-12-03

Family

ID=51760921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244663A Expired - Fee Related JP5636489B2 (ja) 2013-04-29 2013-11-27 2進乱数列を整数乱数に変換する装置および方法

Country Status (3)

Country Link
US (1) US9042545B2 (ja)
JP (1) JP5636489B2 (ja)
KR (1) KR101443575B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875719B1 (ja) * 2015-01-29 2016-03-02 日本電信電話株式会社 乱数生成装置、乱数生成方法、およびプログラム
CN107196760B (zh) * 2017-04-17 2020-04-14 徐智能 具有可调整性的伴随式随机重构密钥的序列加密方法
US11327719B2 (en) 2017-08-07 2022-05-10 Nec Corporation Random number generation method selecting system, random number generation method selecting method, and random number generation method selecting program
CN108418684A (zh) * 2018-03-09 2018-08-17 江苏科建教育软件有限责任公司 一种字符串对称加密及解密方法
KR102483374B1 (ko) 2018-05-11 2022-12-30 한국전자통신연구원 양자 난수 생성 장치 및 방법
GB2580160B (en) * 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
KR102286432B1 (ko) * 2020-07-17 2021-08-04 인천대학교 산학협력단 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9008151D0 (en) * 1990-04-10 1990-06-06 British Telecomm Data communication
US5778069A (en) * 1996-04-10 1998-07-07 Microsoft Corporation Non-biased pseudo random number generator
KR20030059500A (ko) * 2001-12-29 2003-07-10 한국전자통신연구원 에스.피.엔(spn) 구조를 가지는 블록 암호를 이용한유사난수 발생기 및 방법
US7295674B2 (en) * 2002-02-21 2007-11-13 Nxp B.V. On-line randomness test for detecting irregular pattern
US20040162864A1 (en) * 2002-07-08 2004-08-19 Globespan Virata Inc. System and method for generating pseudo-random numbers
WO2005124537A1 (ja) 2004-06-18 2005-12-29 Fujitsu Limited 乱数生成装置,生成方法,生成器評価方法、および乱数使用方法
JP4398904B2 (ja) 2005-06-21 2010-01-13 株式会社東芝 乱数系列生成装置、乱数系列生成方法、演算処理装置、演算処理方法及びプログラム
WO2007148244A1 (en) 2006-06-20 2007-12-27 Nxp B.V. Random number generator system, method for generating random numbers
KR20070018986A (ko) * 2006-12-07 2007-02-14 후지쯔 가부시끼가이샤 난수 생성 장치, 생성 방법, 생성기 평가 방법 및 난수사용 방법
US9071341B2 (en) * 2012-08-27 2015-06-30 Rupert Theodore Neff Random non-cyclical binary code generator

Also Published As

Publication number Publication date
KR101443575B1 (ko) 2014-09-23
JP2014216005A (ja) 2014-11-17
US20140321645A1 (en) 2014-10-30
US9042545B2 (en) 2015-05-26

Similar Documents

Publication Publication Date Title
JP5636489B2 (ja) 2進乱数列を整数乱数に変換する装置および方法
JP2019531673A (ja) データ処理方法および装置
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
JP5000365B2 (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
JP5141558B2 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
KR20160106722A (ko) 암호화 방법 및 암호화 장치
JP2018022181A (ja) データを暗号化する方法およびシステム
WO2013180413A1 (ko) 아이디 기반 암호 시스템을 위한 비밀키 생성 장치 및 그 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP3851258B2 (ja) 前方安全性を備えた改良型ansix9.17および改良型fips186用の疑似乱数生成器
Mahboob et al. A novel construction of substitution box based on polynomial mapped and finite field with image encryption application
JPWO2015156020A1 (ja) 情報処理装置、プログラム及び記憶媒体
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
Maolood et al. Fast Novel Efficient S‐Boxes with Expanded DNA Codes
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
CN111159724B (zh) 一种细粒度策略的条件代理可重构加密方法
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
JP2010044251A (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
WO2019235102A1 (ja) 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
JP5784662B2 (ja) 暗号化データ演算システム、装置及びプログラム
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
KR101076747B1 (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
JP4861369B2 (ja) リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム
KR100930923B1 (ko) 묶음 서명 생성 방법 및 그 시스템
CN114073037A (zh) Rlwe明文的压缩和未察觉地扩展
Noura et al. Conception of efficient key-dependent binary diffusion matrix structures for dynamic cryptographic algorithms

Legal Events

Date Code Title Description
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: 20140924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5636489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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