タグ付けされた質問 「random」

UNIXランダムデバイスとユーティリティ

3
ddでランダムデータを作成し、「部分読み取り警告」を取得します。警告後のデータは本当にランダムですか?
でランダムデータを含む1TBファイルを作成しますdd if=/dev/urandom of=file bs=1M count=1000000。今、私kill -SIGUSR1 <PID>は進行状況を確認し、次を取得します: 691581+0 Datensätze ein 691580+0 Datensätze aus 725174190080 Bytes (725 GB) kopiert, 86256,9 s, 8,4 MB/s 800950+1 Datensätze ein 800950+0 Datensätze aus 839856947200 Bytes (840 GB) kopiert, 99429,5 s, 8,4 MB/s dd: warning: partial read (809620 bytes); suggest iflag=fullblock 803432+1 Datensätze ein 803431+1 Datensätze …
16 dd  random 

5
BashでN回のうち1回コマンドを実行する方法
コマンドをランダムに実行する方法、たとえば10回のうち1回が必要です。これを行うための組み込みまたはGNU coreutilはありますか?理想的には: chance 10 && do_stuff do_stuff10回に1回しか実行されないのはどこですか?スクリプトを記述できることは知っていますが、それはかなり単純なことのように思え、定義された方法があるかどうか疑問に思っていました。

2
$ RANDOMを使用すると、結果が不均一に広がるのはなぜですか?
ウィキペディアでRNGを読み、TLDPで$RANDOM機能しますが、実際にはこの結果を説明していません。 $ max=$((6*3600)) $ for f in {1..100000}; do echo $(($RANDOM%max/3600)); done | sort | uniq -c 21787 0 22114 1 21933 2 12157 3 10938 4 11071 5 約2倍以上の値が3、4、5よりも0、1、2になる傾向があるのに、最大モジュロを変更すると、10個すべての値にほぼ均等に広がるのはなぜですか? $ max=$((9*3600)) $ for f in {1..100000}; do echo $(($RANDOM%max/3600)); done | sort | uniq -c 11940 0 11199 1 …
14 random 

1
ランダム画像ジェネレーター
私はランダムデータを生成し、それを使用してPNG画像に変換しようとしています: head -c 1MB < /dev/urandom | hexdump -e '16/1 "_x%02X"' | sed 's/_/\\/g; s/\\x //g; s/.*/ "&"/' | tr -d "\"" | display -depth 8 -size 1000x1000+0 rgb:- このコマンドは、常にいくつかのRGBピクセルを持つ灰色の画像を表示します。私は何を間違えていますか? 私の最終目標は、ランダムデータを含む少なくとも1つの画像を生成することです。

2
Linuxカーネルで使用されるエントロピーソースは何ですか?
man 4 random Linuxカーネルエントロピーソースの非常に曖昧な説明があります。 乱数ジェネレーターは、デバイスドライバーやその他のソースからの環境ノイズをエントロピープールに収集します。 Linux Random Number Generatorでの論文のエントロピー転送も、それほど具体的ではありません。それはリストします: add_disk_randomness()、 add_input_randomness()、そして add_interrupt_randomness()。 これらのfunctinoはからのものでrandom.c、次のコメントが含まれます。 環境からのランダム性のソースには、キーボード間タイミング、一部の割り込みからの割り込み間タイミング、および(a)非決定的であり、(b)外部オブザーバーが測定するのが難しい他のイベントが含まれます。 さらに下には、add_hwgenerator_randomness(...)ハードウェア乱数ジェネレーターのサポートを示す機能があります。 これらの情報はすべて曖昧です(または、ソースコードの場合、理解するにはLinuxカーネルの深い知識が必要です)。実際に使用されるエントロピーソースは何ですか?Linuxカーネルは、ハードウェア乱数ジェネレーターをそのままサポートしていますか?

6
HDをランダム化する高速な方法は?
暗号化のためにハードドライブをセキュリティで保護する方法について読みましたが、暗号化されたデータをハードドライブ上の他のデータと区別できないようにするために、ドライブにランダムビットを書き込むことが手順の1つです。 ただし、dd if=/dev/urandom of=/dev/sda過去に使用してみたときに、ETAは数日であるように見えました。badblocksurandomの代わりに使用することについて何かを見ましたが、それは大して役に立たないようでした。私はこれをスピードアップするのに役立つ可能性のある方法があるかどうか、たとえばdd私が不足している可能性のあるもの、または速度がHDの制限であるかどうかを知りたいです。
14 encryption  dd  random 

3
Linuxで/ dev / randomを/ dev / urandomにリンクするのは間違っていますか?
現在gpg --genkey、Linux VMでテストしています。残念ながら、このソフトウェアは/dev/randomエントロピーを収集することに依存しているようで、暗号的にランダムな入力の画面の後に手動で画面を入力するようにユーザーに丁寧に要求するため、最終的にキーを生成することになり、伝えるためのコマンドラインパラメーターが見つかりませんでしたエントロピーのソースとして別のファイルを使用するために(このビデオの男はまったく同じ問題に遭遇します...)。 ただし、ユーザーは何も問題がない/dev/urandomため、代わりに使用することを自由に選択できます。これは主に、暗号化の観点からは弱かった古いPRNGアルゴリズムの回想として存在します。たとえば、NetBSDのマンページは、この区別が非常に早いブート段階でまだ有用であることを認めていますが、「フォークロア」や「幻想的な脅威モデルに対してのみ防御する想像上の理論」などの区別について説明しています。このコマンドに必要なエントロピーの量や、エントロピーがGPGマンページに記載されているように実際に消費されるものであるという事実に誰も同意しません(「何をしているのかわからない限り、このコマンドを使用しないでください。システムから貴重なエントロピーが削除される可能性があります!」)。 私はデーモンをインストールする人々rngdについて読み、それを/dev/urandomfeedへのエントロピーソースとして使用するように設定しました/dev/randomが、そのような慣行は非常に汚いものです。 私は代わりに/dev/randomそれを削除してリンクすることで、FreeBSDの方法で問題を回避しようとしまし/dev/urandomた: rm /dev/random ln -s /dev/urandom /dev/random これは、「/dev/urandomエントロピーのソースとして信頼している」という設定と見なされます。 何らかのエラーが発生するのではないかと心配していましたが、コマンドはすぐに正常に戻るため、期待どおりの結果が得られるようです。 私の質問は次のとおりです。FreeBSDシステムでデフォルトで行われているLinuxシステム/dev/randomへのリンクには、既知の実用的で間違った副作用があり/dev/urandomますか?または、/dev/random何らかのサービスのロックによる繰り返しの問題の場合に、これを永続的に設定することを想定できますか(たとえば、ブートプロセスの最後のスクリプトで)。
13 linux  security  random 

1
UNIXシステムで利用可能な正しいエントロピーとは何ですか?
UNIXシステムのエントロピーに関連する3つの質問があります。 Linuxでエントロピーを確認するには、次を使用しますcat /proc/sys/kernel/random/entropy_avail。これは、POSIXで定義されている利用可能なエントロピーに関する情報のある標準的な場所ですか? 期待できる正しい利用可能なものは何ですか?エントロピーは100以上である必要があり、エントロピーが常に100を下回ると問題が発生する可能性があると聞きました。 このエントロピーは使用され/dev/randomてい/dev/urandomますか、それとも何か関係がありますか?
12 linux  random 

1
random.cで使用されるエントロピー推定を説明できますか
/dev/randomカーネル割り込みのタイミングを使用して、エントロピープールに追加します。プール内のエントロピーの量は、という名前の変数で追跡されますentropy_count。 関連するコードの抜粋を次に示しますrandom.c。これは、変数の最後の2つのinteruptsとdelta deltaの差との間の時間(私が思うにわずか)を表しますdelta2。 delta = time - state->last_time; state->last_time = time; delta2 = delta - state->last_delta; state->last_delta = delta; if (delta < 0) delta = -delta; if (delta2 < 0) delta2 = -delta2; delta = MIN(delta, delta2) >> 1; for (nbits = 0; delta; nbits++) delta >>= 1; r->entropy_count += …
12 linux  kernel  random 

4
いくつかの追加の制約を使用してファイルをランダムにシャッフルします
私には巨大な音楽プレイリストがあり、多くのアルバムを持っているアーティストもいれば、1曲しか持っていないアーティストもいます。プレイリストを並べ替えて、同じアーティストが連続して2回再生しないようにしたり、プレイリストの最初または最後に彼の曲がほとんど収まらないようにしました。 プレイリストの例: $ cat /tmp/playlist.m3u Anna A. - Song 1 Anna A. - Song 2 I--Rock - Song 1 John B. - Song 1 John B. - Song 2 John B. - Song 3 John B. - Song 4 John B. - Song 5 Kyle C. - Song 1 U--Rock …

3
/ dev / random、/ dev / urandomを使用してランダムデータを生成する
コマンドラインから/dev/random(または/dev/urandom)を使用する方法を探しています。特に、stdin乱数のストリームをstdout(1行に1つずつ)書き込むようなストリームの使い方を知りたいのです。 マシンのアーキテクチャがネイティブでサポートしているすべての数値型の乱数に興味があります。たとえば、64ビットアーキテクチャの場合、これらには64ビットの符号付き整数と符号なし整数、および64ビット浮動小数点数が含まれます。範囲に関する限り、さまざまな数値タイプの最大範囲で十分です。 Perl、Pythonなどの多目的インタープリターでこれをすべて行う方法を知っていますが、シェルからの「より単純な」ツールでこれを行う方法を知りたいのです。(「より単純」とは、「非常に最小限のUnixインストールでも利用できる可能性が高い」という意味です。) 基本的に、この問題により、コマンドラインでバイナリデータを文字列表現に変換する問題が軽減されます。(たとえば、これは機能しませんprintf '%f\n' $(head -c8 /dev/random)。) シェルにとらわれない答えを探しています。また、間の違い/dev/randomとは、/dev/urandomこの質問のために重要ではありません。結果のセマンティクスが異なる場合でも、1つの手順で機能する手順が他の手順でも機能することを期待しています。 EightBitTonyの答えをtoints以下の関数などに変換しました。 使用例: % < /dev/urandom toprobs -n 5 0.237616281778928 0.85578479125532 0.0330049682019756 0.798812391655243 0.138499033902422 備考: hexdump代わりに使用しodているのは、希望どおりに出力をフォーマットする簡単な方法が得られたからです。 厄介なことに、hexdump64ビット整数(wtf ???)はサポートされていません。 関数のインターフェイスは機能する必要があります(たとえば、それら-n5も受け入れる必要があります-n 5)が、私のかわいそうなシェルプログラミングスキルを考えると、これは私がすばやくまとめることができる最高のものでした。(コメント/改善はいつものように歓迎します。) この演習で得た大きな驚きは、シェルで最も基本的な数値をプログラムするのがどれほど難しいかを発見することでした(たとえば、16進数の浮動小数点数を読み取る、または最大のネイティブ浮動小数点数を取得する)... _tonums () { local FUNCTION_NAME=$1 BYTES=$2 CODE=$3 shift 3 local USAGE="Usage: $FUNCTION_NAME [-n <INTEGER>] [FILE...]" local -a PREFIX case $1 in …

3
GPGキーに「乱数エントロピー」を追加しますか?
次の動画:Linux HOWTO:Secure Your Data with PGP、Part 2では、で鍵ペアを作成する方法が示されていますgpg。について1:50、インストラクターは次のように言います。 鍵が生成されている間は、マウスを少し動かして、鍵ペアを作成するための乱数エントロピーをもう少し大きくすることをお勧めします。 これは神話のように思えます。特に、コマンドラインツールは通常、カーソルの影響を受けないはずです。一方、Linuxの乱数ジェネレーターがGUIで共有されているかどうかに関係なく、どのように機能するかはわかりません。彼の主張に在庫はありますか、またはこれはカーゴカルトプログラミングの例ですか?
10 linux  gpg  random 

1
/ dev / randomをファイルに書き込みますか?
以下を実行するとどうなりますか? cat /dev/random > ~/randomFile # don't run ドライブの容量がなくなるまで書き込まれるのでしょうか、それともシステムがこれに問題を見つけて停止するのでしょうか(無限シンボリックループのように)。
10 kernel  devices  random 


7
Linuxのエントロピーのソース
/ dev / randomから1ギガバイト程度のランダムデータが必要で、1回限りのパッドに適しているとしましょう(/ dev / urandomはアウトです)。/dev / randomに十分なエントロピーをシードするにはどうすればよいですか?このための特定のコマンドとプログラムを探しています。何も買いたくない。Arch Linuxを使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.