ARC4RANDOM(3)

名称
arc4random, arc4random_stir, arc4random_addrandom - arc4 乱数ジェネレータ

ライブラリ
libc

書式
<stdlib.h> u_int32_t arc4random(void) void arc4random_stir(void) void arc4random_addrandom(unsigned char *dat, int datlen)

解説
arc4random() 関数は、arc4 暗号が採用しているキーストリームジェネレータを使用します。 arc4 暗号は、8*8 の 8 ビット S-Box を使用します。 S-Box は約 (2**1700) 個の状態を取ることができます。

arc4random_stir() 関数は、 /dev/urandom からデータを読み取り、それを使用して arc4random_addrandom() によって S-Box の順序を変えます。

arc4random() を使用する前に arc4random_stir() を呼び出す必要はありません。 arc4random() は自動的に自分自身を初期化するからです。

関連項目
rand(3), random(3), srandomdev(3)

歴史
RC4 は、RSA Data Security, Inc. によって設計されました。 RC4 は、匿名で USENET にポストされ、オリジナルのコードにアクセスした 複数の人によって同等であることが確認されました。 RC4 は企業機密であったので、この暗号は ARC4 と呼ばれています。