これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド bbcheck です。
プログラム:
NAME
bbcheck - BitBabbler ハードウェア RNG デバイスで自動テストを実行する
SYNOPSIS
bbチェック [オプション]
DESCRIPTION
bbチェック utility は、BitBabbler の出力をすばやく簡単に分析するためのツールです。
さまざまなビットレートでの RNG。 複数のデバイスでテストを並行して実行し、強調表示することができます
各デバイスでの一連のテストからの最良および最悪の結果。
OPTIONS
次のオプションを使用できます。
-s、 - スキャン
システムをスキャンして、利用可能な BitBabbler デバイスを探します。
-私、 --デバイス ID=id
一意の ID で分析する BitBabbler デバイスを選択します。 デバイスがない場合
明示的に指定された場合、デフォルトは、存在するすべてのそれらを使用することです
テストが始まります。 このオプションは、複数のデバイスをテストするために複数回渡すことができます。
id デバイスのシリアル番号、または次の形式の論理アドレスです。
[バスナム:]デバイス番号
または、USB トポロジーの認識がサポートされているシステムでは、その物理アドレスは
フォーム
バスナム-ポート[.ポート ...]
論理アドレスの場合、 バスナム 一部はオプションですが、 デバイス番号 ユニークではありません
すべてのバスで、完全に選択されていない場合は正確にどのデバイスが選択されるか
指定は偶然になります。 利用可能な全ID
デバイスを参照することは、によって報告されます - スキャン オプション。 バス、デバイス、およびポート
数値は XNUMX 進整数である必要があります。
Since bbチェック 利用可能なデバイスでのみ動作し、デバイスが
デバイスを参照しない ID を指定するとエラーになります。
システムで現在利用可能です。
-NS、 --ビットレート=最小[:最大]
分析するビットレートまたはビットレートの範囲を選択します (ビット/秒)。 の
利用可能なビットレートは整数のクロック分周器によって決定されるため、すべてのレートが同じであるとは限りません。
まさに達成可能。 サポートされていないレートは、次に高いレートに切り上げられます
割合。 便宜上、レートの後に SI 乗数が続く場合があります (例: 2.5M の場合)。
2500000)。 コロンで区切られた範囲が指定されている場合、可能なすべてのビットレート
の間に 分 & マックス テストされます。
-NS、 -バイト=n
各テストで分析するバイト数。 「k」、「M」、または「G」のサフィックスは、
掛ける n それぞれXNUMXのべき乗で。
-NS、 --ブロックサイズ=バイト
折りたたみに使用されるブロック サイズ。 このサイズは 2^n の倍数でなければなりません。n は
使用される折りたたみのレベル (つまり、希望の回数だけ折りたたむことができなければなりません)
残りなし)。 「k」、「M」、または「G」の接尾辞はスケーリングします バイト を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。
それぞれ 64 のべき乗。 デフォルトは XNUMXkB です。 ブロックサイズが大きいほど、サンプルが混合されます
より長い時間スケールで引き継がれます。 高いビットレートでは、これはより低いビットレートを意味します
周波数ノイズを各サンプルに組み込むことができます。
周波数ノイズが支配的です。 最適なブロック サイズ (これを超えると、
結果は無視できるものです)。
さらなる研究。 を参照してください - 折り畳み の詳細な説明については、以下のオプションを参照してください。
折りたたみ。
-NS、 -- すべての結果
最終的な要約だけでなく、すべてのテスト結果を表示します。
-無着色
最終結果に色を付けないでください。 デフォルトでは、XNUMX つの最良の結果は次のようになります。
明るい緑、くすんだ緑、黄色、およびオレンジ色を強調表示し、最悪の結果
赤く強調表示されます。 このオプションは、端末エスケープの出力を抑制します
それを担当するコード。
-v、 -詳細
内部で何が起こっているかについてもっと騒ぎましょう。 で(XNUMX回)使用した場合 - スキャン
オプションを選択すると、各デバイスに関する詳細情報が表示されますが、それ以外の場合はほとんど
デバッグに役立つ情報のみ。 取得するために複数回渡すことができます
さらに多くの情報に圧倒されます。
-?、 - 助けて
このすべての短いバージョンを表示します。これは XNUMX ページに収まる可能性があります。
- バージョン
報告する bbチェック リリース版。
あたり デバイス オプション
次のオプションを複数回使用して、各デバイスを個別に構成できます
複数の BitBabbler が利用可能な場合。 前に渡された場合 - デバイスID オプション、次に
すべてのデバイスに適用される新しいデフォルト値を設定します。 次のいずれかの後に渡された場合
これらのオプションは、直前のデバイスにのみ適用されます。
--レイテンシー=ms
USB レイテンシ タイマーの計算値をオーバーライドします。 これにより、最大
内部にデータがある場合にデバイスが待機する時間
ホストに送信する前に、バッファー (ただし、完全なパケットよりも少ない)。 このタイマーなら
パケットがいっぱいになる前に有効期限が切れると、短いパケットが
ホスト。 デフォルト値は、これ以上短いパケットを送信しないようにするために選択されています
選択したビットレートに必要以上に
送信されたパケットと、それらの処理に費やされなければならない CPU 時間の量。
同じ量のデータを転送します。
低レベル コードへの変更を試していない限り、おそらく
このオプションを使用して遅延を手動でオーバーライドする理由はありません。
-NS、 --fold=n
BitBabbler の出力を分析する前に折りたたむ回数を設定します。 各
fold は、読み取られたブロックの前半を取り、それをビットで XOR します
後半に。 これにより、スループットは半分になりますが、利用可能な
残りのビットにエントロピーをより密に入れます。
BitBabbler の設計に基づいて、これが行うことが期待される主なことが XNUMX つあります。
キャプチャされた低周波ノイズをより高いノイズとよりよく混合します。
これにより、ノイズを狭めることなく、より高いビットレートでサンプリングできます
隣接ビットに影響を与えるために利用できる帯域幅。 あらゆるものを分解するのに役立ちます
物理プロセスで発生する可能性のある一時的なローカル相関。
周囲の環境ノイズが収集されます。
折り畳みは、各サンプルの実際のエントロピーを減らすべきではありませんが、すべてが
正常に機能しても、それを増やすために何もしない場合があります。
数学的には、XOR の合計は、
独立したビットのストリーム。結果は、少なくとも
XNUMX つの入力のいずれかの予測可能性が最も低い (ワンタイム パッドと同じ方法で)
平文のエントロピーがパッドよりもはるかに小さいにもかかわらず、安全性は劣りません
します)。
--enable=mask
複数のエントロピーを持つ BitBabbler デバイスのジェネレーターのサブセットを選択します
ソース。 引数は、LSB からパックされたビットマスクで、各ビット位置は
個々のソースを制御し、1 に設定すると有効になります。
bbチェック、 もし mask of 0 を使用すると、各ソースでテストが実行されます
ユニットを個別に。 あ mask of 16 (0x10) は、最初に各ソースを個別にテストします。
そして、それらすべてが一緒に有効になりました。
onworks.net サービスを使用して bbcheck オンラインを使用する