(57)【要約】【課題】再現不可能性を有する乱数を簡易に生成することが可能な情報処理装置を得る。【解決手段】メモリ装置３は、データが記憶されたメモリコア４４と、メモリコア４４へのアクセスを制御するアクセス制御部５１と、アクセス制御部５１によるメモリコア４４へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部５２と、を備える。【選択図】図３
2020181438.tif 000002
【特許請求の範囲】
【請求項１】
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部と、
を備える、情報処理装置。
【請求項２】
前記乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの経過時間に基づいて、乱数を生成する、請求項１に記載の情報処理装置。
【請求項３】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの、前記第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項２に記載の情報処理装置。
【請求項４】
前記乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの経過時間に基づいて、乱数を生成する、請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第２のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの、前記第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項４に記載の情報処理装置。
【請求項６】
前記乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの経過時間に基づいて、乱数を生成する、請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第３のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの、前記第３のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項６に記載の情報処理装置。
【請求項８】
前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの経過時間に基づいて、乱数を生成する、請求項１〜７のいずれか一つに記載の情報処理装置。
【請求項９】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第４のカウンタを有し、
前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの、前記第４のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項８に記載の情報処理装置。
【請求項１０】
前記記憶部から読み出したデータの誤りを訂正する誤り訂正部をさらに備え、
前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの経過時間に基づいて、乱数を生成する、請求項１〜９のいずれか一つに記載の情報処理装置。
【請求項１１】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第５のカウンタを有し、
前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの、前記第５のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項１０に記載の情報処理装置。
【請求項１２】
外部装置が接続される情報処理装置であって、
前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部
を備える、情報処理装置。
【請求項１３】
前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの特定のコマンドの受信を開始するまでの経過時間に基づいて、乱数を生成する、請求項１２に記載の情報処理装置。
【請求項１４】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第６のカウンタを有し、
前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの特定のコマンドの受信を開始するまでの、前記第６のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項１３に記載の情報処理装置。
【請求項１５】
外部装置が接続される情報処理装置であって、
前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部
を備える、情報処理装置。
【請求項１６】
前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置から前記外部装置へのアクセス動作が完了した後の所定のタイミングまでの経過時間に基づいて、乱数を生成する、請求項１５に記載の情報処理装置。
【請求項１７】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタを有し、
前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置から前記外部装置へのアクセス動作が完了した後の所定のタイミングまでの、前記第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項１６に記載の情報処理装置。
【請求項１８】
外部装置が接続される情報処理装置であって、
前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成する乱数生成部
を備える、情報処理装置。
【請求項１９】
前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの経過時間に基づいて、乱数を生成する、請求項１８に記載の情報処理装置。
【請求項２０】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第２のカウンタを有し、
前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する、請求項１９に記載の情報処理装置。
【請求項２１】
前記クロック生成部は、前記クロックとして周波数拡散クロックを生成する、請求項３，５，７，９，１１，１４，１７，２０のいずれか一つに記載の情報処理装置。
【請求項２２】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備える情報処理装置に搭載されるコンピュータを、前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラム。
【請求項２３】
外部装置が接続される情報処理装置に搭載されるコンピュータを、前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラム。
【請求項２４】
外部装置が接続される情報処理装置に搭載されるコンピュータを、前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラム。
【請求項２５】
外部装置が接続される情報処理装置に搭載されるコンピュータを、前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラム。
【請求項２６】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備える情報処理装置において、前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成する、乱数生成方法。
【請求項２７】
外部装置が接続される情報処理装置において、前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する、乱数生成方法。
【請求項２８】
外部装置が接続される情報処理装置において、前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する、乱数生成方法。
【請求項２９】
外部装置が接続される情報処理装置において、前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成する、乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及び乱数生成方法に関する。
【背景技術】
【０００２】
乱数は、暗号アルゴリズムにおける鍵の生成等に用いられる。真性乱数に近い乱数を得るための手法の一つとして、抵抗又はダイオードにおいて発生する雑音を利用して乱数を生成する方式が実用化されている。しかしながら、この方式では、低レベルの雑音をアナログ増幅回路によって増幅する必要があるため、アナログ増幅回路の回路規模が大きくなり、結果として乱数生成回路の回路規模が全体として増大する。また、アナログ回路を用いて乱数生成回路を構成する場合には、回路設計の難易度が高くなる。従って、回路規模の増大及び回路設計の複雑化を回避するためには、計算によって生成可能なディジタル乱数の使用が望まれる。
【０００３】
ディジタル乱数としては、擬似乱数が広く用いられている。擬似乱数は、乱数生成回路において、シード（初期値及びデータ）を用いた所定のアルゴリズムによって生成される。
【０００４】
なお、下記特許文献１には、不確定論理回路と、不確定論理回路から出力されるディジタル値における「０」及び「１」の出現頻度を均等にするための一様化回路とを備える乱数生成回路が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６０４６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
擬似乱数は計算によって生成されるため、初期値及びアルゴリズムが同一であれば、生成される擬似乱数の値も同一となる。従って、擬似乱数をセキュリティ用途で使用する場合には、攻撃者に初期値及びアルゴリズムを見破られることにより、セキュリティを破られる可能性がある。そのため、相互認証等の認証コードとして擬似乱数を使用することは、セキュリティの堅牢性の低下を招く。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、再現不可能性を有する乱数を簡易に生成することが可能な、情報処理装置、プログラム、及び乱数生成方法を得ることを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る情報処理装置は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部と、を備えることを特徴とするものである。
【０００９】
第１の態様に係る情報処理装置によれば、制御部による記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００１０】
本発明の第２の態様に係る情報処理装置は、第１の態様に係る情報処理装置において特に、前記乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００１１】
第２の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００１２】
本発明の第３の態様に係る情報処理装置は、第２の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの、前記第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００１３】
第３の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの、第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００１４】
本発明の第４の態様に係る情報処理装置は、第１〜第３のいずれか一つの態様に係る情報処理装置において特に、前記乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００１５】
第４の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００１６】
本発明の第５の態様に係る情報処理装置は、第４の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第２のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの、前記第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００１７】
第５の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの、第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００１８】
本発明の第６の態様に係る情報処理装置は、第１〜第５のいずれか一つの態様に係る情報処理装置において特に、前記乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００１９】
第６の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００２０】
本発明の第７の態様に係る情報処理装置は、第６の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第３のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの、前記第３のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００２１】
第７の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの、第３のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００２２】
本発明の第８の態様に係る情報処理装置は、第１〜第７のいずれか一つの態様に係る情報処理装置において特に、前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００２３】
第８の態様に係る情報処理装置によれば、乱数生成部は、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００２４】
本発明の第９の態様に係る情報処理装置は、第８の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第４のカウンタを有し、前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの、前記第４のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００２５】
第９の態様に係る情報処理装置によれば、乱数生成部は、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの、第４のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００２６】
本発明の第１０の態様に係る情報処理装置は、第１〜第９のいずれか一つの態様に係る情報処理装置において特に、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部をさらに備え、前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００２７】
第１０の態様に係る情報処理装置によれば、乱数生成部は、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの経過時間に基づいて、乱数を生成する。当該経過時間は誤り訂正数等に応じて様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００２８】
本発明の第１１の態様に係る情報処理装置は、第１０の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第５のカウンタを有し、前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの、前記第５のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００２９】
第１１の態様に係る情報処理装置によれば、乱数生成部は、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの、第５のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００３０】
本発明の第１２の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部を備えることを特徴とするものである。
【００３１】
第１２の態様に係る情報処理装置によれば、外部装置から情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００３２】
本発明の第１３の態様に係る情報処理装置は、第１２の態様に係る情報処理装置において特に、前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの特定のコマンドの受信を開始するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００３３】
第１３の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置の起動が完了してから、情報処理装置が外部装置からの特定のコマンドの受信を開始するまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００３４】
本発明の第１４の態様に係る情報処理装置は、第１３の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第６のカウンタを有し、前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの特定のコマンドの受信を開始するまでの、前記第６のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００３５】
第１４の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置の起動が完了してから、情報処理装置が外部装置からの特定のコマンドの受信を開始するまでの、第６のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００３６】
本発明の第１５の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成部を備えることを特徴とするものである。
【００３７】
第１５の態様に係る情報処理装置によれば、情報処理装置から外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００３８】
本発明の第１６の態様に係る情報処理装置は、第１５の態様に係る情報処理装置において特に、前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置から前記外部装置へのアクセス動作が完了した後の所定のタイミングまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００３９】
第１６の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置の起動が完了してから、情報処理装置から外部装置へのアクセス動作が完了した後の所定のタイミングまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００４０】
本発明の第１７の態様に係る情報処理装置は、第１６の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタを有し、前記乱数生成部は、前記情報処理装置の起動が完了してから、前記情報処理装置から前記外部装置へのアクセス動作が完了した後の所定のタイミングまでの、前記第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００４１】
第１７の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置の起動が完了してから、情報処理装置から外部装置へのアクセス動作が完了した後の所定のタイミングまでの、第１のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００４２】
本発明の第１８の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成する乱数生成部を備えることを特徴とするものである。
【００４３】
第１８の態様に係る情報処理装置によれば、外部装置の内部動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００４４】
本発明の第１９の態様に係る情報処理装置は、第１８の態様に係る情報処理装置において特に、前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの経過時間に基づいて、乱数を生成することを特徴とするものである。
【００４５】
第１９の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの経過時間に基づいて、乱数を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００４６】
本発明の第２０の態様に係る情報処理装置は、第１９の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第２のカウンタを有し、前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成することを特徴とするものである。
【００４７】
第２０の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの、第２のカウンタによるクロックのカウンタ値に基づいて、乱数を生成する。クロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００４８】
本発明の第２１の態様に係る情報処理装置は、第３、第５、第７、第９、第１１、第１４、第１７、第２０のいずれか一つの態様に係る情報処理装置において特に、前記クロック生成部は、前記クロックとして周波数拡散クロックを生成することを特徴とするものである。
【００４９】
第２１の態様に係る情報処理装置によれば、クロック生成部は周波数拡散クロックを生成する。周波数拡散クロックを生成することにより、クロック周期を意図的にばらつかせることができるため、乱数生成部によって再現不可能性を有する乱数を簡易に生成することが可能となる。
【００５０】
本発明の第２２の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備える情報処理装置に搭載されるコンピュータを、前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラムである。
【００５１】
第２２の態様に係るプログラムによれば、制御部による記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００５２】
本発明の第２３の態様に係るプログラムは、外部装置が接続される情報処理装置に搭載されるコンピュータを、前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラムである。
【００５３】
第２３の態様に係るプログラムによれば、外部装置から情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００５４】
本発明の第２４の態様に係るプログラムは、外部装置が接続される情報処理装置に搭載されるコンピュータを、前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラムである。
【００５５】
第２４の態様に係るプログラムによれば、情報処理装置から外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００５６】
本発明の第２５の態様に係るプログラムは、外部装置が接続される情報処理装置に搭載されるコンピュータを、前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成する乱数生成手段として機能させるための、プログラムである。
【００５７】
第２５の態様に係るプログラムによれば、外部装置の内部動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００５８】
本発明の第２６の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備える情報処理装置において、前記制御部による前記記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成することを特徴とするものである。
【００５９】
第２６の態様に係る乱数生成方法によれば、制御部による記憶部へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００６０】
本発明の第２７の態様に係る乱数生成方法は、外部装置が接続される情報処理装置において、前記外部装置から前記情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することを特徴とするものである。
【００６１】
第２７の態様に係る乱数生成方法によれば、外部装置から情報処理装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００６２】
本発明の第２８の態様に係る乱数生成方法は、外部装置が接続される情報処理装置において、前記情報処理装置から前記外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することを特徴とするものである。
【００６３】
第２８の態様に係る乱数生成方法によれば、情報処理装置から外部装置へのアクセス動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【００６４】
本発明の第２９の態様に係る乱数生成方法は、外部装置が接続される情報処理装置において、前記外部装置の内部動作に伴う不安定要素に基づいて乱数を生成することを特徴とするものである。
【００６５】
第２９の態様に係る乱数生成方法によれば、外部装置の内部動作に伴う不安定要素に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【発明の効果】
【００６６】
本発明によれば、再現不可能性を有する乱数を簡易に生成することが可能となる。
【図面の簡単な説明】
【００６７】
【図１】メモリシステムの構成を示す図である。
【図２】実施の形態１に係るホスト装置の構成を簡略化して示す図である。
【図３】実施の形態１に係るメモリ装置の構成を簡略化して示す図である。
【図４】実施の形態１に係るメモリシステムの動作を示すタイミングチャートである。
【図５】実施の形態２に係るホスト装置の構成を簡略化して示す図である。
【図６】実施の形態２に係るメモリ装置の構成を簡略化して示す図である。
【図７】実施の形態２に係るメモリシステムの動作を示すタイミングチャートである。
【発明を実施するための形態】
【００６８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００６９】
＜実施の形態１＞
図１は、メモリシステム１の構成を示す図である。図１に示すようにメモリシステム１は、ホスト装置２と、ホスト装置２に着脱自在に接続されたメモリ装置３とを備えて構成されている。例えば、ホスト装置２はパーソナルコンピュータであり、メモリ装置３はフラッシュメモリ等のメモリカードである。但し、メモリ装置３は必ずしもホスト装置２に対して着脱自在に外部接続される外部メモリである必要はなく、メモリ装置３はホスト装置２の内蔵メモリであっても良い。
【００７０】
本実施の形態１では、乱数の生成をメモリ装置３が実行する態様について説明する。
【００７１】
図２は、本実施の形態に係るホスト装置２の構成を簡略化して示す図である。図２に示すようにホスト装置２は、ＳｏＣ（System On Chip）２１とクロック生成部２２とを備えて構成されている。ＳｏＣ２１は、バス３１を介して相互に接続された、ＣＰＵ３２とメモリインタフェース３３とを備えている。クロック生成部２２は、ＳｏＣ２１の動作タイミングを規定するためのクロックＫ１を生成する。本実施の形態の例では、クロック生成部２２は、クロックＫ１として、クロック周期がランダムに微変動する周波数拡散クロックを生成する。
【００７２】
図３は、本実施の形態に係るメモリ装置３の構成を簡略化して示す図である。図３に示すようにメモリ装置３は、ホストインタフェース４１、クロック生成部４２、メモリコントローラ４３、及びメモリコア４４を備えて構成されている。メモリコア４４は、例えばＮＡＮＤ型フラッシュメモリを用いて構成されている。
【００７３】
メモリコントローラ４３は、アクセス制御部５１と乱数生成部５２とを備えている。アクセス制御部５１は、誤り訂正回路６１を有している。乱数生成部５２は、カウンタ７１，７２を有している。アクセス制御部５１及び乱数生成部５２は、専用回路等を用いてハードウェアとして構成されていても良いし、ＣＰＵ等を用いてソフトウェアとして構成されていても良い。乱数生成部５２をソフトウェアとして構成する場合には、ＲＯＭ等の記憶媒体から読み込んだ所定のプログラムをＣＰＵが実行することにより、ＣＰＵが乱数生成部５２として機能する。クロック生成部４２は、メモリコントローラ４３の動作タイミングを規定するためのクロックＫ２を生成する。本実施の形態の例では、クロック生成部４２は、クロックＫ２として、クロック周期がランダムに微変動する周波数拡散クロックを生成する。ホスト装置２のクロックＫ１とメモリ装置３のクロックＫ２とは、互いに非同期である。
【００７４】
図４は、本実施の形態に係るメモリシステム１の動作を示すタイミングチャートである。（ａ）は電源ＶＣＣを示し、（ｂ）はクロックＫ１を示し、（ｃ）はメモリインタフェース３３が送受信するコマンド及びデータを示し、（ｄ）はクロックＫ２を示し、（ｅ）はホストインタフェース４１が送受信するコマンド及びデータを示し、（ｆ）はカウンタ７１を示し、（ｇ）はカウンタ７２を示している。
【００７５】
時刻Ｔ１において、メモリシステム１の電源ＶＣＣが投入されて起動が完了すると、ホスト装置２及びメモリ装置３は動作を開始する。ホスト装置２においては、クロック生成部２２からＳｏＣ２１へのクロックＫ１の供給が開始され、メモリ装置３においては、クロック生成部４２からメモリコントローラ４３へのクロックＫ２の供給が開始される。カウンタ７１は、時刻Ｔ１から、クロックＫ２のカウント動作を開始する。
【００７６】
時刻Ｔ２において、ＣＰＵ３２は、メモリコア４４から所定のデータＤ１を読み出すための１回目の読み出しコマンドＣ１を発行し、当該読み出しコマンドＣ１をメモリインタフェース３３に入力する。読み出しコマンドＣ１には、それが読み出しコマンドであることを示すコマンドＩＤと、読み出し対象のデータＤ１の所在を示すアドレス情報とが含まれる。メモリインタフェース３３は、ＣＰＵ３２から入力された読み出しコマンドＣ１を、メモリ装置３に送信する。ホストインタフェース４１は、ホスト装置２から受信した読み出しコマンドＣ１を、アクセス制御部５１に入力する。
【００７７】
時刻Ｔ３において、アクセス制御部５１は読み出しコマンドＣ１をデコードしてメモリコア４４にアクセスすることにより、メモリコア４４から読み出し対象のデータＤ１を読み出す。カウンタ７２は、時刻Ｔ３から、クロックＫ２のカウント動作を開始する。
【００７８】
時刻Ｔ４において、誤り訂正回路６１は、メモリコア４４から読み出されたデータＤ１に対して所定の誤り訂正処理を実行する。誤り訂正処理後のデータＤ１は、ホストインタフェース４１に入力される。
【００７９】
時刻Ｔ５において、ホストインタフェース４１は誤り訂正処理後のデータＤ１をホスト装置２に送信する。メモリインタフェース３３は、メモリ装置３から受信したデータＤ１を、ＣＰＵ３２に入力する。また、カウンタ７２は、時刻Ｔ５においてクロックＫ２のカウント動作を停止し、その時点でのカウンタ値を保持する。
【００８０】
なお、ホスト装置２が読み出しコマンドＣ１の送信を完了した時刻Ｔ３から、ホスト装置２がメモリ装置３からのデータＤ１の受信を開始する時刻Ｔ５までの期間は、ホスト装置２がメモリ装置３からのデータＤ１を待機するレイテンシ期間となる。このレイテンシ期間においてメモリコントローラ４３は、ホスト装置２にＢＵＳＹ信号を継続して送信し、レイテンシ期間の終了直前にホスト装置２にＲＥＡＤＹ信号を送信する。
【００８１】
時刻Ｔ６において、メモリインタフェース３３は、メモリ装置３からのデータＤ１の受信を完了する。
【００８２】
時刻Ｔ７において、ＣＰＵ３２は、２回目の読み出しコマンドＣ２を発行し、当該読み出しコマンドＣ２をメモリインタフェース３３に入力する。メモリインタフェース３３は、ＣＰＵ３２から入力された読み出しコマンドＣ２を、メモリ装置３に送信する。ホストインタフェース４１は、ホスト装置２から受信した読み出しコマンドＣ２を、アクセス制御部５１に入力する。
【００８３】
時刻Ｔ８において、アクセス制御部５１は読み出しコマンドＣ２をデコードしてメモリコア４４にアクセスすることにより、メモリコア４４から読み出し対象のデータＤ２を読み出す。カウンタ７２は、その時点で保持しているカウンタ値に続けて、時刻Ｔ８からクロックＫ２のカウント動作を再開する。
【００８４】
時刻Ｔ９において、誤り訂正回路６１は、メモリコア４４から読み出されたデータＤ２に対して所定の誤り訂正処理を実行する。誤り訂正処理後のデータＤ２は、ホストインタフェース４１に入力される。
【００８５】
時刻Ｔ１０において、ホストインタフェース４１は誤り訂正処理後のデータＤ２をホスト装置２に送信する。メモリインタフェース３３は、メモリ装置３から受信したデータＤ２を、ＣＰＵ３２に入力する。また、カウンタ７２は、時刻Ｔ１０においてクロックＫ２のカウント動作を停止し、その時点でのカウンタ値を保持する。
【００８６】
なお、上述した時刻Ｔ３〜Ｔ５と同様に、時刻Ｔ８〜Ｔ１０もレイテンシ期間となる。このレイテンシ期間においてメモリコントローラ４３は、ホスト装置２にＢＵＳＹ信号を継続して送信し、レイテンシ期間の終了直前にホスト装置２にＲＥＡＤＹ信号を送信する。
【００８７】
時刻Ｔ１１において、メモリインタフェース３３は、メモリ装置３からのデータＤ２の受信を完了する。
【００８８】
時刻Ｔ１２において、ＣＰＵ３２は、メモリ装置３に乱数Ｗ１の生成を要求するための乱数要求コマンドＶ１を発行し、当該乱数要求コマンドＶ１をメモリインタフェース３３に入力する。メモリインタフェース３３は、ＣＰＵ３２から入力された乱数要求コマンドＶ１を、メモリ装置３に送信する。ホストインタフェース４１は、ホスト装置２から受信した乱数要求コマンドＶ１を、アクセス制御部５１に入力する。カウンタ７１は、時刻Ｔ１２においてクロックＫ２のカウント動作を停止し、その時点でのカウンタ値を保持する。
【００８９】
時刻Ｔ１３において、ホストインタフェース４１は、ホスト装置２からの乱数要求コマンドＶ１の受信を完了する。
【００９０】
時刻Ｔ１４において、アクセス制御部５１は乱数要求コマンドＶ１をデコードして乱数生成部５２に乱数生成命令を入力する。乱数生成部５２は、その時点でのカウンタ７１のカウンタ値とカウンタ７２のカウンタ値とに基づいて、乱数Ｗ１を生成する。第１の例として乱数生成部５２は、カウンタ７１のカウンタ値とカウンタ７２のカウンタ値とを配列することにより、乱数Ｗ１を生成する。例えば、カウンタ７１のカウンタ値を上位ビットとし、カウンタ７２のカウンタ値を下位ビットとして配列することにより、各カウンタ値のビット幅よりも大きいビット幅の乱数Ｗ１を生成する。第２の例として乱数生成部５２は、カウンタ７１のカウンタ値とカウンタ７２のカウンタ値とを排他的論理和等によって合成することにより、乱数Ｗ１を生成する。第３の例として乱数生成部５２は、カウンタ７１，７２のカウンタ値をシードとして用いて、ＳＨＡ−１，ＳＨＡ−２等の任意のハッシュ生成アルゴリズム、又は、ＡＥＳ等の任意の暗号アルゴリズムによって、予測不可能性が担保された乱数Ｗ１を生成する。当該第３の例は、上記第１の例又は上記第２の例と組み合わせて適用しても良い。乱数生成部５２は、生成した乱数Ｗ１を、ホストインタフェース４１を介してホスト装置２に送信する。
【００９１】
なお、上述した時刻Ｔ３〜Ｔ５と同様に、時刻Ｔ１３〜Ｔ１４もレイテンシ期間となる。このレイテンシ期間においてメモリコントローラ４３は、ホスト装置２にＢＵＳＹ信号を継続して送信し、レイテンシ期間の終了直前にホスト装置２にＲＥＡＤＹ信号を送信する。
【００９２】
時刻Ｔ１５において、メモリインタフェース３３は、メモリ装置３からの乱数Ｗ１の受信を完了する。メモリインタフェース３３は、メモリ装置３から受信した乱数Ｗ１をＣＰＵ３２に入力する。
【００９３】
このように本実施の形態に係るメモリ装置３（情報処理装置）によれば、乱数生成部５２は、アクセス制御部５１（制御部）によるメモリコア４４（記憶部）へのアクセス動作に伴う不安定要素に基づいて、乱数Ｗ１を生成する。これにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９４】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、当該不安定要素として、ホスト装置２（外部装置）からの読み出しコマンドＣ１，Ｃ２の受信が完了した時点（Ｔ３，Ｔ８）から、メモリ装置３からホスト装置２へのデータＤ１の送信が開始される時点（Ｔ５，Ｔ１０）までの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９５】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、ホスト装置２（外部装置）からの読み出しコマンドＣ１，Ｃ２の受信が完了した時点（Ｔ３，Ｔ８）から、メモリ装置３からホスト装置２へのデータＤ１の送信が開始される時点（Ｔ５，Ｔ１０）までの、カウンタ７２（第１のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ２のクロック周期はばらつき、また、クロックＫ２のクロック周期のばらつきに起因してカウンタ７２のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９６】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、ホスト装置２からメモリ装置３へのアクセス動作に伴う不安定要素に基づいて、乱数Ｗ１を生成する。これにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９７】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、当該不安定要素として、メモリ装置３の起動が完了した時点（時刻Ｔ１）から、メモリ装置３がホスト装置２からの乱数要求コマンドＶ１の受信を開始する時点（時刻Ｔ１２）までの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は、読み出しコマンドＣ１，Ｃ２の発行回数及び発行間隔等に起因して様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９８】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、メモリ装置３の起動が完了した時点（時刻Ｔ１）から、メモリ装置３がホスト装置２からの乱数要求コマンドＶ１の受信を開始する時点（時刻Ｔ１２）までの、カウンタ７１（第６のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ２のクロック周期はばらつき、また、クロックＫ２のクロック周期のばらつきに起因してカウンタ７１のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【００９９】
また、本実施の形態に係るメモリ装置３によれば、クロック生成部４２はクロックＫ２として周波数拡散クロックを生成する。これにより、クロックＫ２のクロック周期を意図的にばらつかせることができるため、乱数生成部５２によって再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１００】
以下、上記実施の形態１に対する様々な変形例について説明する。これらの変形例は任意に組み合わせて適用することが可能である。
【０１０１】
＜変形例１−１＞
上記実施の形態１では、乱数生成部５２はメモリコア４４からのデータＤの読み出し処理の所要時間に基づいて乱数Ｗ１を生成したが、メモリコア４４へのデータＤの書き込み処理の所要時間に基づいて乱数Ｗ１を生成しても良い。
【０１０２】
ホスト装置２は、データＤの書き込みコマンドをメモリ装置３に送信する。乱数生成部５２は、ホスト装置２からの書き込みコマンドの受信が完了してから、メモリコア４４の指定アドレスへのデータＤの書き込み処理が完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。
【０１０３】
具体的には、乱数生成部５２は、ホスト装置２からの書き込みコマンドの受信が完了した時点から、メモリコア４４の指定アドレスへのデータＤの書き込み処理が完了した時点までの、カウンタ７２（第２のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【０１０４】
本変形例によれば、乱数生成部５２は、ホスト装置２からの書き込みコマンドの受信が完了してから、メモリコア４４へのデータＤの書き込み処理が完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１０５】
また、本変形例によれば、乱数生成部５２は、ホスト装置２からの書き込みコマンドの受信が完了した時点から、メモリコア４４へのデータＤの書き込み処理が完了した時点までの、カウンタ７２によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。クロックＫ２のクロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１０６】
＜変形例１−２＞
上記実施の形態１では、乱数生成部５２はメモリコア４４からのデータＤの読み出し処理の所要時間に基づいて乱数Ｗ１を生成したが、メモリコア４４に格納されている特定のデータＤに対する消去処理の所要時間に基づいて乱数Ｗ１を生成しても良い。
【０１０７】
ホスト装置２は、データＤの消去コマンドをメモリ装置３に送信する。乱数生成部５２は、ホスト装置２からの消去コマンドの受信が完了してから、メモリコア４４からのデータＤの消去処理が完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。
【０１０８】
具体的には、乱数生成部５２は、ホスト装置２からの消去コマンドの受信が完了した時点から、メモリコア４４からのデータＤの消去処理が完了した時点までの、カウンタ７２（第３のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【０１０９】
本変形例によれば、乱数生成部５２は、ホスト装置２からの消去コマンドの受信が完了してから、メモリコア４４からのデータＤの消去処理が完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１１０】
また、本変形例によれば、乱数生成部５２は、ホスト装置２からの消去コマンドの受信が完了した時点から、メモリコア４４からのデータＤの消去処理が完了した時点までの、カウンタ７２によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。クロックＫ２のクロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１１１】
＜変形例１−３＞
上記実施の形態１では、乱数生成部５２は読み出しコマンドＣの受信が完了してからデータＤの送信が開始されるまでの経過時間に基づいて乱数Ｗ１を生成したが、メモリコア４４へのアクセス所要時間のみに基づいて乱数Ｗ１を生成しても良い。
【０１１２】
乱数生成部５２は、メモリコア４４からのデータＤの読み出しが開始されてから、メモリコア４４からのデータＤの読み出しが完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。
【０１１３】
具体的には、乱数生成部５２は、メモリアレイ４４からのデータＤ１，Ｄ２の読み出しが開始された時点（時刻Ｔ３，Ｔ８）から、メモリアレイ４４からのデータＤ１，Ｄ２の読み出しが完了した時点（時刻Ｔ４，Ｔ９）までの、カウンタ７２（第４のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【０１１４】
本変形例によれば、乱数生成部５２は、メモリアレイ４４からのデータＤの読み出しが開始されてから、メモリアレイ４４からのデータＤの読み出しが完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１１５】
また、本変形例によれば、乱数生成部５２は、メモリアレイ４４からのデータＤの読み出しが開始されてから、メモリアレイ４４からのデータＤの読み出しが完了するまでの、カウンタ７２によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。クロックＫ２のクロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１１６】
＜変形例１−４＞
上記実施の形態１では、乱数生成部５２は読み出しコマンドＣの受信が完了してからデータＤの送信が開始されるまでの経過時間に基づいて乱数Ｗ１を生成したが、誤り訂正処理の所要時間のみに基づいて乱数Ｗ１を生成しても良い。
【０１１７】
乱数生成部５２は、誤り訂正回路６１がデータＤに対する誤り訂正処理を開始してから、誤り訂正回路６１が当該誤り訂正処理を完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。
【０１１８】
具体的には、乱数生成部５２は、誤り訂正回路６１がデータＤ１，Ｄ２に対する誤り訂正処理を開始した時点（時刻Ｔ４，Ｔ９）から、誤り訂正回路６１が当該誤り訂正処理を完了した時点（時刻Ｔ５，Ｔ１０）までの、カウンタ７２（第５のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【０１１９】
本変形例によれば、乱数生成部５２は、誤り訂正回路６１（誤り訂正部）がデータＤに対する誤り訂正処理を開始してから当該誤り訂正処理を完了するまでの経過時間に基づいて、乱数Ｗ１を生成する。当該経過時間は誤り訂正数等に応じて様々に変動するため、当該経過時間に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１２０】
また、本変形例によれば、乱数生成部５２は、誤り訂正回路６１がデータＤに対する誤り訂正処理を開始してから当該誤り訂正処理を完了するまでの、カウンタ７２によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。クロックＫ２のクロック周期のばらつきに起因して当該カウンタ値は変動するため、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【０１２１】
＜実施の形態２＞
本実施の形態２では、乱数の生成をホスト装置２が実行する態様について説明する。以下、上記実施の形態１との相違点を中心に説明する。
【０１２２】
図５は、本実施の形態に係るホスト装置２の構成を簡略化して示す図である。図５に示すようにホスト装置２は、ＳｏＣ２１とクロック生成部２２とを備えて構成されている。ＳｏＣ２１は、バス３１を介して相互に接続された、ＣＰＵ３２、メモリインタフェース３３、及び乱数生成部３４を備えている。乱数生成部３４は、カウンタ８１，８２を有している。乱数生成部３４は、専用回路等を用いてハードウェアとして構成されていても良いし、ＣＰＵ３２（あるいは他のＣＰＵ）を用いてソフトウェアとして構成されていても良い。乱数生成部３４をソフトウェアとして構成する場合には、ＲＯＭ等の記憶媒体から読み込んだ所定のプログラムをＣＰＵ３２が実行することにより、ＣＰＵ３２が乱数生成部３４として機能する。
【０１２３】
図６は、本実施の形態に係るメモリ装置３の構成を簡略化して示す図である。図６に示すようにメモリ装置３は、ホストインタフェース４１、クロック生成部４２、メモリコントローラ４３、及びメモリコア４４を備えて構成されている。メモリコントローラ４３はアクセス制御部５１を備えており、アクセス制御部５１は誤り訂正回路６１を有している。
【０１２４】
図７は、本実施の形態に係るメモリシステム１の動作を示すタイミングチャートである。（ａ）は電源ＶＣＣを示し、（ｂ）はクロックＫ１を示し、（ｃ）はメモリインタフェース３３が送受信するコマンド及びデータを示し、（ｄ）は乱数生成部３４に入出力されるコマンド及び乱数を示し、（ｅ）はカウンタ８１を示し、（ｆ）はカウンタ８２を示し、（ｇ）はクロックＫ２を示し、（ｈ）はホストインタフェース４１が送受信するコマンド及びデータを示している。
【０１２５】
時刻Ｔ１において、メモリシステム１の電源ＶＣＣが投入されて起動が完了すると、ホスト装置２及びメモリ装置３は動作を開始する。ホスト装置２においては、クロック生成部２２からＳｏＣ２１へのクロックＫ１の供給が開始され、メモリ装置３においては、クロック生成部４２からメモリコントローラ４３へのクロックＫ２の供給が開始される。カウンタ８１は、時刻Ｔ１から、クロックＫ１のカウント動作を開始する。
【０１２６】
時刻Ｔ２において、ＣＰＵ３２は、メモリコア４４から所定のデータＤ１を読み出すための１回目の読み出しコマンドＣ１を発行し、当該読み出しコマンドＣ１をメモリインタフェース３３に入力する。メモリインタフェース３３は、ＣＰＵ３２から入力された読み出しコマンドＣ１を、メモリ装置３に送信する。
【０１２７】
時刻Ｔ３において、メモリインタフェース３３は、メモリ装置３への読み出しコマンドＣ１の送信を完了する。カウンタ８２は、時刻Ｔ３から、クロックＫ１のカウント動作を開始する。また、ホストインタフェース４１は、ホスト装置２から受信した読み出しコマンドＣ１を、アクセス制御部５１に入力する。アクセス制御部５１は、読み出しコマンドＣ１をデコードしてメモリコア４４にアクセスすることにより、メモリコア４４から読み出し対象のデータＤ１を読み出す。
【０１２８】
時刻Ｔ４において、誤り訂正回路６１は、メモリコア４４から読み出されたデータＤ１に対して所定の誤り訂正処理を実行する。誤り訂正処理後のデータＤ１は、ホストインタフェース４１に入力される。
【０１２９】
時刻Ｔ５において、ホストインタフェース４１は誤り訂正処理後のデータＤ１をホスト装置２に送信する。メモリインタフェース３３は、メモリ装置３から受信したデータＤ１を、ＣＰＵ３２に入力する。また、カウンタ８２は、時刻Ｔ５においてクロックＫ１のカウント動作を停止し、その時点でのカウンタ値を保持する。つまり、カウンタ８２は、ホスト装置２がメモリ装置３からＢＵＳＹ信号及びＲＥＡＤＹ信号を受信している期間（時刻Ｔ３〜Ｔ５）において、クロックＫ１のカウント動作を実行する。
【０１３０】
時刻Ｔ６において、メモリインタフェース３３は、メモリ装置３からのデータＤ１の受信を完了する。
【０１３１】
時刻Ｔ７において、ＣＰＵ３２は、２回目の読み出しコマンドＣ２を発行し、当該読み出しコマンドＣ２をメモリインタフェース３３に入力する。メモリインタフェース３３は、ＣＰＵ３２から入力された読み出しコマンドＣ２を、メモリ装置３に送信する。
【０１３２】
時刻Ｔ８において、メモリインタフェース３３は、メモリ装置３への読み出しコマンドＣ２の送信を完了する。カウンタ８２は、その時点で保持しているカウンタ値に続けて、時刻Ｔ８からクロックＫ１のカウント動作を再開する。また、ホストインタフェース４１は、ホスト装置２から受信した読み出しコマンドＣ２を、アクセス制御部５１に入力する。アクセス制御部５１は、読み出しコマンドＣ２をデコードしてメモリコア４４にアクセスすることにより、メモリコア４４から読み出し対象のデータＤ２を読み出す。
【０１３３】
時刻Ｔ９において、誤り訂正回路６１は、メモリコア４４から読み出されたデータＤ２に対して所定の誤り訂正処理を実行する。誤り訂正処理後のデータＤ２は、ホストインタフェース４１に入力される。
【０１３４】
時刻Ｔ１０において、ホストインタフェース４１は誤り訂正処理後のデータＤ２をホスト装置２に送信する。メモリインタフェース３３は、メモリ装置３から受信したデータＤ２を、ＣＰＵ３２に入力する。また、カウンタ８２は、時刻Ｔ１０においてクロックＫ１のカウント動作を停止し、その時点でのカウンタ値を保持する。
【０１３５】
時刻Ｔ１１において、メモリインタフェース３３は、メモリ装置３からのデータＤ２の受信を完了する。
【０１３６】
時刻Ｔ１２において、ＣＰＵ３２は、カウント停止命令Ｚを乱数生成部３４に入力する。カウンタ８１は、時刻Ｔ１２においてクロックＫ１のカウント動作を停止し、その時点でのカウンタ値を保持する。なお、ＣＰＵ３２によるカウント停止命令Ｚの発行タイミングは、メモリ装置３からのデータＤ２の受信が完了した後の任意のタイミングであって良い。一例として、カウント停止命令Ｚの発行タイミングは、ホスト装置２の初期化を行うためのメモリ装置３からのブートコードの読み出し手続きが開始されるタイミングと同時であっても良い。他の例として、カウント停止命令Ｚの発行タイミングは、ホスト装置２−メモリ装置３間の通信確立のためのキャリブレーション処理が完了した直後のタイミングであっても良い。
【０１３７】
時刻Ｔ１３において、乱数生成部３４は、その時点でのカウンタ８１のカウンタ値とカウンタ８２のカウンタ値とに基づいて、乱数Ｗ２を生成する。第１の例として乱数生成部３４は、カウンタ８１のカウンタ値とカウンタ８２のカウンタ値とを配列することにより、乱数Ｗ２を生成する。例えば、カウンタ８１のカウンタ値を上位ビットとし、カウンタ８２のカウンタ値を下位ビットとして配列することにより、各カウンタ値のビット幅よりも大きいビット幅の乱数Ｗ２を生成する。第２の例として乱数生成部３４は、カウンタ８１のカウンタ値とカウンタ８２のカウンタ値とを排他的論理和等によって合成することにより、乱数Ｗ２を生成する。第３の例として乱数生成部３４は、カウンタ８１，８２のカウンタ値をシードとして用いて、ＳＨＡ−１，ＳＨＡ−２等の任意のハッシュ生成アルゴリズム、又は、ＡＥＳ等の任意の暗号アルゴリズムによって、予測不可能性が担保された乱数Ｗ２を生成する。当該第３の例は、上記第１の例又は上記第２の例と組み合わせて適用しても良い。
【０１３８】
このように本実施の形態に係るホスト装置２（情報処理装置）によれば、乱数生成部３４は、ホスト装置２からメモリ装置３（外部装置）へのアクセス動作に伴う不安定要素に基づいて、乱数Ｗ２を生成する。これにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１３９】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、当該不安定要素として、ホスト装置２の起動が完了してから、ホスト装置２からメモリ装置３へのアクセス動作が完了した後の所定のタイミング（カウント停止命令Ｚの発行タイミング）までの経過時間に基づいて、乱数Ｗ２を生成する。当該経過時間は、読み出しコマンドＣ１，Ｃ２の発行回数及び発行間隔等に起因して様々に変動するため、当該経過時間に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４０】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、ホスト装置２の起動が完了してから、ホスト装置２からメモリ装置３へのアクセス動作が完了した後の所定のタイミングまでの、カウンタ８１（第１のカウンタ）によるクロックＫ１のカウンタ値に基づいて、乱数Ｗ２を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ１のクロック周期はばらつき、また、クロックＫ１のクロック周期のばらつきに起因してカウンタ８１のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４１】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、メモリ装置３の内部動作に伴う不安定要素に基づいて、乱数Ｗ２を生成する。これにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４２】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、当該不安定要素として、ホスト装置２からメモリ装置３への読み出しコマンドＣ１，Ｃ２（データ要求コマンド）の送信が完了した時点（Ｔ３，Ｔ８）から、ホスト装置２がメモリ装置３からのデータＤ１，Ｄ２の受信を開始する時点（Ｔ５，Ｔ１０）までの経過時間に基づいて、乱数Ｗ２を生成する。当該経過時間は様々に変動するため、当該経過時間に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４３】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、ホスト装置２からメモリ装置３への読み出しコマンドＣ１，Ｃ２の送信が完了した時点（Ｔ３，Ｔ８）から、ホスト装置２がメモリ装置３からのデータＤ１，Ｄ２の受信を開始する時点（Ｔ５，Ｔ１０）までの、カウンタ８２（第２のカウンタ）によるクロックＫ１のカウンタ値に基づいて、乱数Ｗ２を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ１のクロック周期はばらつき、また、クロックＫ１のクロック周期のばらつきに起因してカウンタ８２のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４４】
また、本実施の形態に係るホスト装置２によれば、クロック生成部２２はクロックＫ１として周波数拡散クロックを生成する。これにより、クロックＫ１のクロック周期を意図的にばらつかせることができるため、乱数生成部３４によって再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【０１４５】
なお、上記実施の形態２では、乱数生成部３４はメモリコア４４からのデータＤの読み出し処理の所要時間に基づいて乱数Ｗ２を生成したが、上記変形例１−１と同様に、メモリコア４４へのデータＤの書き込み処理の所要時間に基づいて乱数Ｗ２を生成しても良い。
【０１４６】
また、上記実施の形態２では、乱数生成部３４はメモリコア４４からのデータＤの読み出し処理の所要時間に基づいて乱数Ｗ１を生成したが、上記変形例１−２と同様に、メモリコア４４に格納されている特定のデータＤに対する消去処理の所要時間に基づいて乱数Ｗ２を生成しても良い。
【０１４７】
また、上記実施の形態２では、乱数生成部３４は読み出しコマンドＣの送信が完了してからデータＤの受信が開始されるまでの経過時間に基づいて乱数Ｗ２を生成したが、上記変形例１−３と同様に、メモリコア４４へのアクセス所要時間のみに基づいて乱数Ｗ２を生成しても良い。
【０１４８】
また、上記実施の形態２では、乱数生成部３４は読み出しコマンドＣの送信が完了してからデータＤの受信が開始されるまでの経過時間に基づいて乱数Ｗ２を生成したが、上記変形例１−４と同様に、誤り訂正処理の所要時間のみに基づいて乱数Ｗ２を生成しても良い。
【０１４９】
また、上記実施の形態１と上記実施の形態２とを組み合わせることにより、メモリ装置３による乱数Ｗ１の生成と、ホスト装置２による乱数Ｗ２の生成とを、ともに実行しても良い。
【０１５０】
ここに開示される要素の機能は、当該開示される要素を実行するように構成された、あるいは当該開示される機能を実行するようにプログラミングされた汎用プロセッサ、専用プロセッサ、集積回路、ＡＳＩＣ（「特定用途向け集積回路」）、従来の回路構成及び／またはそれらの組み合わせを含む回路構成あるいは処理回路構成が用いられて実装されてもよい。プロセッサは、それが、その中にトランジスタ及び他の回路構成を含むとき、処理回路構成あるいは回路構成として見なされる。本開示において、回路構成、ユニットあるいは手段は、挙げられた機能を実行するハードウェア、あるいは当該機能を実行するようにプログラミングされたハードウェアである。ハードウェアは、挙げられた機能を実行するようにプログラミングされた、あるいは当該機能を実行するように構成された、ここで開示されるいかなるハードウェアあるいは既知の他のものであってもよい。ハードウェアが、あるタイプの回路構成として見なされるかもしれないプロセッサであるとき、回路構成、手段あるいはユニットは、ハードウェアとソフトウェアの組み合わせ、ハードウェアを構成するために用いられるソフトウェア及び／またはプロセッサである。
【符号の説明】
【０１５１】
２  ホスト装置
３  メモリ装置
２２，４２  クロック生成部
３４，５２  乱数生成部
４４  メモリコア
５１  アクセス制御部
６１  誤り訂正回路
７１，７２，８１，８２  カウンタ
【図１】
2020181438.tif 000003
【図２】
2020181438.tif 000004
【図３】
2020181438.tif 000005
【図４】
2020181438.tif 000006
【図５】
2020181438.tif 000007
【図６】
2020181438.tif 000008
【図７】
2020181438.tif 000009
【手続補正書】
【提出日】令和2年8月26日(2020.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部装置が接続される情報処理装置であって、
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
乱数生成部と、
を備え、
前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項２】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項１に記載の情報処理装置。
【請求項３】
外部装置が接続される情報処理装置であって、
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
乱数生成部と、
を備え、
前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項４】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項３に記載の情報処理装置。
【請求項５】
外部装置が接続される情報処理装置であって、
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
乱数生成部と、
を備え、
前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項６】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項５に記載の情報処理装置。
【請求項７】
外部装置が接続される情報処理装置であって、
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
乱数生成部と、
を備え、
前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項８】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項７に記載の情報処理装置。
【請求項９】
外部装置が接続される情報処理装置であって、
データが記憶された記憶部と、
前記記憶部へのアクセスを制御する制御部と、
前記記憶部から読み出したデータの誤りを訂正する誤り訂正部と、
乱数生成部と、
を備え、
前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項１０】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項９に記載の情報処理装置。
【請求項１１】
外部装置が接続される情報処理装置であって、
乱数生成部を備え、
前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する、情報処理装置。
【請求項１２】
クロックを生成するクロック生成部をさらに備え、
前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、
前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後にカウント停止命令を発行するタイミングまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する、請求項１１に記載の情報処理装置。
【請求項１３】
前記クロック生成部は、前記クロックとして周波数拡散クロックを生成する、請求項２，４，６，８，１０，１２のいずれか一つに記載の情報処理装置。
【請求項１４】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項１５】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項１６】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項１７】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項１８】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項１９】
外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、
前記乱数生成手段は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する、プログラム。
【請求項２０】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【請求項２１】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【請求項２２】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【請求項２３】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【請求項２４】
データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部とを備え、外部装置が接続される情報処理装置において、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【請求項２５】
外部装置が接続される情報処理装置において、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する、乱数生成方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の第１の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、乱数生成部と、を備え、前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
第１の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の第２の態様に係る情報処理装置は、第１の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
第２の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の第３の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、乱数生成部と、を備え、前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
第３の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本発明の第４の態様に係る情報処理装置は、第３の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
第４の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の第５の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、乱数生成部と、を備え、前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
第５の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明の第６の態様に係る情報処理装置は、第５の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
第６の態様に係る情報処理装置によれば、乱数生成部は、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
本発明の第７の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、乱数生成部と、を備え、前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
第７の態様に係る情報処理装置によれば、乱数生成部は、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の第８の態様に係る情報処理装置は、第７の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第８の態様に係る情報処理装置によれば、乱数生成部は、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本発明の第９の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部と、乱数生成部と、を備え、前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
第９の態様に係る情報処理装置によれば、乱数生成部は、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は誤り訂正数等に応じて様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
本発明の第１０の態様に係る情報処理装置は、第９の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
第１０の態様に係る情報処理装置によれば、乱数生成部は、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】削除
【補正の内容】
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】削除
【補正の内容】
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】削除
【補正の内容】
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】削除
【補正の内容】
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】削除
【補正の内容】
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】削除
【補正の内容】
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】削除
【補正の内容】
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】削除
【補正の内容】
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
本発明の第１１の態様に係る情報処理装置は、外部装置が接続される情報処理装置であって、乱数生成部を備え、前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
第１１の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
本発明の第１２の態様に係る情報処理装置は、第１１の態様に係る情報処理装置において特に、クロックを生成するクロック生成部をさらに備え、前記乱数生成部は、前記クロック生成部によって生成されたクロックをカウントする第１のカウンタ及び第２のカウンタを有し、前記乱数生成部は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの、前記第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後にカウント停止命令を発行するタイミングまでの、前記第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成することを特徴とするものである。
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
第１２の態様に係る情報処理装置によれば、乱数生成部は、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの、第１のカウンタによるクロックのカウンタ値である第１のカウンタ値と、情報処理装置の起動が完了してから、情報処理装置が外部装置からのデータ受信を完了した後にカウント停止命令を発行するタイミングまでの、第２のカウンタによるクロックのカウンタ値である第２のカウンタ値とに基づいて、乱数を生成する。クロック周期のばらつきに起因して当該第１及び第２のカウンタ値は変動するため、当該第１及び第２のカウンタ値に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正３６】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】削除
【補正の内容】
【手続補正３７】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】削除
【補正の内容】
【手続補正３８】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】削除
【補正の内容】
【手続補正３９】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】削除
【補正の内容】
【手続補正４０】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】削除
【補正の内容】
【手続補正４１】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】削除
【補正の内容】
【手続補正４２】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
本発明の第１３の態様に係る情報処理装置は、第２、第４、第６、第８、第１０、第１２のいずれか一つの態様に係る情報処理装置において特に、前記クロック生成部は、前記クロックとして周波数拡散クロックを生成することを特徴とするものである。
【手続補正４３】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
第１３の態様に係る情報処理装置によれば、クロック生成部は周波数拡散クロックを生成する。周波数拡散クロックを生成することにより、クロック周期を意図的にばらつかせることができるため、乱数生成部によって再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正４４】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
本発明の第１４の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
第１４の態様に係るプログラムによれば、乱数生成手段は、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第１５の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
第１５の態様に係るプログラムによれば、乱数生成手段は、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第１６の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
第１６の態様に係るプログラムによれば、乱数生成手段は、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第１７の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
第１７の態様に係るプログラムによれば、乱数生成手段は、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第１８の態様に係るプログラムは、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部とを備え、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
第１８の態様に係るプログラムによれば、乱数生成手段は、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は誤り訂正数等に応じて様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正４５】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】削除
【補正の内容】
【手続補正４６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】削除
【補正の内容】
【手続補正４７】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】削除
【補正の内容】
【手続補正４８】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
本発明の第１９の態様に係るプログラムは、外部装置が接続される情報処理装置に搭載されるコンピュータを、乱数生成手段として機能させるためのプログラムであって、前記乱数生成手段は、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する、プログラムである。
【手続補正４９】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
第１９の態様に係るプログラムによれば、乱数生成手段は、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正５０】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】削除
【補正の内容】
【手続補正５１】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】削除
【補正の内容】
【手続補正５２】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
本発明の第２０の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ読み出しコマンドの受信が完了してから、前記情報処理装置から前記外部装置へのデータ送信が開始されるまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
第２０の態様に係る乱数生成方法によれば、外部装置からのデータ読み出しコマンドの受信が完了してから、情報処理装置から外部装置へのデータ送信が開始されるまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第２１の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ書き込みコマンドの受信が完了してから、前記記憶部へのデータ書き込みが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
第２１の態様に係る乱数生成方法によれば、外部装置からのデータ書き込みコマンドの受信が完了してから、記憶部へのデータ書き込みが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第２２の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記外部装置からのデータ消去コマンドの受信が完了してから、前記記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
第２２の態様に係る乱数生成方法によれば、外部装置からのデータ消去コマンドの受信が完了してから、記憶部に記憶されているデータの消去が完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第２３の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部とを備え、外部装置が接続される情報処理装置において、前記記憶部からのデータ読み出しが開始されてから、前記記憶部からのデータ読み出しが完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
第２３の態様に係る乱数生成方法によれば、記憶部からのデータ読み出しが開始されてから、記憶部からのデータ読み出しが完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第２４の態様に係る乱数生成方法は、データが記憶された記憶部と、前記記憶部へのアクセスを制御する制御部と、前記記憶部から読み出したデータの誤りを訂正する誤り訂正部とを備え、外部装置が接続される情報処理装置において、前記誤り訂正部が誤り訂正処理を開始してから、前記誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
第２４の態様に係る乱数生成方法によれば、誤り訂正部が誤り訂正処理を開始してから、誤り訂正部が誤り訂正処理を完了するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からの乱数要求コマンドの受信を開始するまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は誤り訂正数等に応じて様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正５３】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】削除
【補正の内容】
【手続補正５４】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】削除
【補正の内容】
【手続補正５５】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】削除
【補正の内容】
【手続補正５６】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
本発明の第２５の態様に係る乱数生成方法は、外部装置が接続される情報処理装置において、前記情報処理装置から前記外部装置へのデータ要求コマンドの送信が完了してから、前記情報処理装置が前記外部装置からのデータ受信を開始するまでの第１の経過時間と、前記情報処理装置の起動が完了してから、前記情報処理装置が前記外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成することを特徴とするものである。
【手続補正５７】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
第２５の態様に係る乱数生成方法によれば、情報処理装置から外部装置へのデータ要求コマンドの送信が完了してから、情報処理装置が外部装置からのデータ受信を開始するまでの第１の経過時間と、情報処理装置の起動が完了してから、情報処理装置が外部装置からのデータ受信を完了した後に所定の命令を発行するタイミングまでの第２の経過時間とに基づいて、乱数を生成する。当該第１及び第２の経過時間は様々に変動するため、当該第１及び第２の経過時間に基づいて乱数を生成することにより、再現不可能性を有する乱数を簡易に生成することが可能となる。
【手続補正５８】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】削除
【補正の内容】
【手続補正５９】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】削除
【補正の内容】
【手続補正６０】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
また、本実施の形態に係るメモリ装置３によれば、乱数生成部５２は、メモリ装置３の起動が完了した時点（時刻Ｔ１）から、メモリ装置３がホスト装置２からの乱数要求コマンドＶ１の受信を開始する時点（時刻Ｔ１２）までの、カウンタ７１（第２のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ２のクロック周期はばらつき、また、クロックＫ２のクロック周期のばらつきに起因してカウンタ７１のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ１を生成することにより、再現不可能性を有する乱数Ｗ１を簡易に生成することが可能となる。
【手続補正６１】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
具体的には、乱数生成部５２は、ホスト装置２からの書き込みコマンドの受信が完了した時点から、メモリコア４４の指定アドレスへのデータＤの書き込み処理が完了した時点までの、カウンタ７２（第１のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【手続補正６２】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
具体的には、乱数生成部５２は、ホスト装置２からの消去コマンドの受信が完了した時点から、メモリコア４４からのデータＤの消去処理が完了した時点までの、カウンタ７２（第１のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【手続補正６３】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
具体的には、乱数生成部５２は、メモリアレイ４４からのデータＤ１，Ｄ２の読み出しが開始された時点（時刻Ｔ３，Ｔ８）から、メモリアレイ４４からのデータＤ１，Ｄ２の読み出しが完了した時点（時刻Ｔ４，Ｔ９）までの、カウンタ７２（第１のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【手続補正６４】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
具体的には、乱数生成部５２は、誤り訂正回路６１がデータＤ１，Ｄ２に対する誤り訂正処理を開始した時点（時刻Ｔ４，Ｔ９）から、誤り訂正回路６１が当該誤り訂正処理を完了した時点（時刻Ｔ５，Ｔ１０）までの、カウンタ７２（第１のカウンタ）によるクロックＫ２のカウンタ値に基づいて、乱数Ｗ１を生成する。
【手続補正６５】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、ホスト装置２の起動が完了してから、ホスト装置２からメモリ装置３へのアクセス動作が完了した後の所定のタイミングまでの、カウンタ８１（第２のカウンタ）によるクロックＫ１のカウンタ値に基づいて、乱数Ｗ２を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ１のクロック周期はばらつき、また、クロックＫ１のクロック周期のばらつきに起因してカウンタ８１のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。
【手続補正６６】
【補正対象書類名】明細書
【補正対象項目名】０１４３
【補正方法】変更
【補正の内容】
【０１４３】
また、本実施の形態に係るホスト装置２によれば、乱数生成部３４は、ホスト装置２からメモリ装置３への読み出しコマンドＣ１，Ｃ２の送信が完了した時点（Ｔ３，Ｔ８）から、ホスト装置２がメモリ装置３からのデータＤ１，Ｄ２の受信を開始する時点（Ｔ５，Ｔ１０）までの、カウンタ８２（第１のカウンタ）によるクロックＫ１のカウンタ値に基づいて、乱数Ｗ２を生成する。温度や電源電圧等の周辺環境に起因してクロックＫ１のクロック周期はばらつき、また、クロックＫ１のクロック周期のばらつきに起因してカウンタ８２のカウンタ値は変動する。従って、当該カウンタ値に基づいて乱数Ｗ２を生成することにより、再現不可能性を有する乱数Ｗ２を簡易に生成することが可能となる。