From owner-man-jp-reviewer@jp.freebsd.org  Fri Mar 19 11:50:28 1999
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) id LAA22721;
	Fri, 19 Mar 1999 11:50:28 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from komachi.phys.s.u-tokyo.ac.jp (komachi.phys.s.u-tokyo.ac.jp [133.11.4.7])
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) with ESMTP id LAA22714
	for <man-jp-reviewer@jp.freebsd.org>; Fri, 19 Mar 1999 11:50:27 +0900 (JST)
	(envelope-from koizumi@cms.phys.s.u-tokyo.ac.jp)
Received: from komachi (tajikara.phys.s.u-tokyo.ac.jp [133.11.4.4]) by komachi.phys.s.u-tokyo.ac.jp (8.8.8/3.5Wpl7) with ESMTP id LAA22983 for man-jp-reviewer@jp.freebsd.org; Fri, 19 Mar 1999 11:50:11 +0900 (JST)
Message-Id: <199903190250.LAA22983@komachi.phys.s.u-tokyo.ac.jp>
To: man-jp-reviewer@jp.freebsd.org
Date: Fri, 19 Mar 1999 11:50:26 +0900
From: Satoru Koizumi <koizumi@cms.phys.s.u-tokyo.ac.jp>
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+981115
X-Sequence: man-jp-reviewer 1225
Subject: [man-jp-reviewer 1225] random.4
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: koizumi@cms.phys.s.u-tokyo.ac.jp


 random.4 $B$NLu$G$9!#5W$7$V$j$KK]Lu$7$F$_$^$7$?!#$h$m$7$/$*4j$$$7$^$9!#(B

 $B86J8$K!V(B.Em estimate$B!W$H$$$&$H$3$m$,$"$C$?$N$G!"!V(B.Em $BI>2A!W$H$7$F$$$^$9$,(B
$B$I$&$bF|K\8l$O6/D4I=<($5$l$J$$$h$&$J$N$G!"$I$&$7$?$i$$$$$N$G$7$g$&$+!#(B

			$B>.(B $B@t(B  $B8g(B
			koizumi@cms.phys.s.u-tokyo.ac.jp

------------
.\" random.c -- A strong random number generator
.\" jpman %Id: random.4,v 0.0 1999/02/22 16:13:52 horikawa Stab %
.Dd October 21, 1995
.Dt RANDOM 4 i386
.Os
.Sh $BL>>N(B
.Nm random ,
.Nm urandom
.Nd $BMp?t%G%P%$%9(B
.Sh $B2r@b(B
$B$3$N%G%P%$%9$O%G%P%$%9%I%i%$%P$J$I$+$i4D6-$N;(2;$r=8$a!"(B
$B0E9f$G$NMxMQ$KE,Ev$JNI$$Mp?t$rJV$7$^$9!#(B
$BL@$i$+$J0E9f$G$NMxMQ$K2C$(!"$3$N?t$O(B TCP $B%7!<%1%s%9?t$N$?$a$NMp?t$N<o$d!"(B
$B%i%s%@%`$J$@$1$G$J$/967b<T$,M=A[$9$k$N$,Fq$7$$?t$,K>$^$7$$$=$NB>$N$H$3$m$G$b(B
$BNI$$$b$N$G$9!#(B
.Ss $BA`:n$NM}O@(B
$B%3%s%T%e!<%?$O$H$F$bM=B,$7$d$9$$AuCV$G$9!#=>$C$F%3%s%T%e!<%?$GK\Ev$KMp?t$r(B
$B:n$k$3$H$O(B \(em $B%"%k%4%j%:%`$r;H$C$F4JC1$K:n$l$k5?;wMp?t$H$O(B
$BBP>HE*$K(B \(em $BHs>o$KFq$7$$$G$9!#(B
$BIT9,$K$b!"967b<T$,5?;wMp?t@8@.4o$NMp?t$NNs$r?dNL$9$k$3$H$O$H$F$b4JC1$G$9!#(B
$B$=$7$F$"$k%"%W%j%1!<%7%g%s$K$H$C$F$O!"$3$l$O<u$1F~$l$i$l$^$;$s!#(B
$B$=$3$G$=$NBe$o$j$K!"%3%s%T%e!<%?$N4D6-$+$i!V4D6-$N;(2;!W$r=8$a$F!"$=$l$r;H$C$F(B
$BMp?t$r:n$kI,MW$,$"$j$^$9!#!V4D6-$N;(2;!W$O30It$N967b<T$K$O8+$k$N$,Fq$7$$$b$N$G(B
$B$J$1$l$P$J$j$^$;$s!#(BUnix $B4D6-$G$O$3$l$O%+!<%M%k$NCf$+$i:G$b$&$^$/$G$-$^$9!#(B
.Pp
$B4D6-$+$i$NMp?t8;$K$O!"%-!<$r2!$94V$N%?%$%_%s%0$d$$$/$D$+$N3d$j9~$_$N(B
$B4V$N%?%$%_%s%0!"$=$7$F(B (a) $BHs7hDjO@E*$G(B (b) $B30It$N4Q;!<T$+$i(B
$BB,Dj$9$k$N$,Fq$7$$$=$NB>$N;v>]$,4^$^$l$^$9!#(B
$B$3$N8;$+$i$NMp?t$O!V%(%s%H%m%T!<$N$?$^$j>l!W$K2C$($i$l$^$9!#(B
$B!V%(%s%H%m%T!<$N$?$^$j>l!W$O<~4|E*$K(B CBC $B%b!<%I$N(B MD5 $B05=L4X?t$r;H$C$F(B
$B$+$-:.$<$i$l$^$9!#(B
$BMp?t$,%(%s%H%m%T!<$N$?$^$j>l$G$+$-:.$<$i$l$k$H$-$K!"%k!<%A%s$O(B
$B2?%S%C%H$NMp?t$,Mp?t@8@.4o$NFbIt>uBV$KC_$($i$l$?$+$r(B
.Em $BI>2A(B
$B$7$^$9!#(B
.Pp
$BMp?t$,MW5a$5$l$k$H!"Mp?t$O%+%&%s%?$H!V%(%s%H%m%T!<$N$?$^$j>l!W$N(B
$BFbMF$NOB$N(B MD5 $B%O%C%7%e$r$H$k$3$H$K$h$jF@$i$l$^$9!#(B
MD5 $B%O%C%7%e$r;H$&M}M3$OMp?t@8@.4o$NFbIt>uBV$r30$KGx$9$N$rKI$2$k$+$i$G$9!#(B
MD5 $B%O%C%7%e$O$?$^$j>l$rJ]8n$7$^$9$,!"$?$^$j>l$+$i:n$i$l$kMp?t$O$=$l$>$l(B
$BFbIt>uBV$+$iF@$i$l$k>pJs$r$$$/$i$+O3$i$7$^$9!#$=$N$?$a>pJsNL$,A}$($k$H(B
$B30$N967b<T$OMp?t@8@.4o$NFbIt>uBV$K$D$$$F$$$/$i$+?dB,$7$F$_$k$3$H$,(B
$B$G$-$k$h$&$K$J$j$^$9!#(B
$B$3$NM}M3$+$i%k!<%A%s$OMp?t$r=PNO$9$k$H$-!"%(%s%H%m%T!<$N$?$^$j>l$K4^$^$l$F$$$k(B
$B!V??$NMp?t!W$N%S%C%H?t$NFbIt$G$NI>2A$r8:$i$7$^$9!#(B
.Pp
$B$b$7$3$NI>2A$,%<%m$K$J$C$F$b!"%k!<%A%s$OMp?t$r:n$jB3$1$k$3$H$,$G$-$^$9!#(B
$B$7$+$7$J$,$i!"967b<T$,Mp?t@8@.4o$N=PNO$d(B MD5 $B%"%k%4%j%:%`$r2r@O$7$F(B
$B%k!<%A%s$N=PNO$N?dB,$K@.8y$9$k$+$bCN$l$^$;$s!#(B
$B:G0-$N>l9g$3$l$O%+%&%s%?$H$P$l$F$$$J$$HkL)$N(B MD5 $B%O%C%7%s%0$HF1$8$J$N$G!"(B
Phil Karn ($B%(%s%H%m%T!<$N$?$^$j>l$+$iMp?t$r<h$j=P$9$N$K(B $B%+%&%s%?$r2C$($?(B
MD5 $B$r;H$&5!9=$r9M$($??MJ*!K$O$3$l$r!V<BMQE*$JMp;($5!W$H8F$s$G$$$^$9!#(B
$B$b$7(B MD5 $B$,6/NO$J0E9f%O%C%7%e$G$"$l$P!"$3$l$O$+$J$j967b$KBQ$($i$l$k$O$:$G$9!#(B
.Ss $B%(%/%9%]!<%H$5$l$?%$%s%?%U%'!<%9(B \(em $B=PNO(B
$B%(%/%9%]!<%H$5$l$?%$%s%?%U%'!<%9$O(B 3 $B$D$"$j$^$9!#Bh(B 1 $B$O%+!<%M%k$NFbIt$+$i(B
$B;H$&$3$H$r0U?^$7$?$b$N$G$9!#(B
.Pp
.Bl -tag -width Pa -compact
.It Pa void get_random_bytes(void *buf, int nbytes);
.El
.Pp
$B$3$N%$%s%?%U%'!<%9$OMW5a$5$l$??t$NMp?t$rJV$7!"$=$l$rMW5a$5$l$?%P%C%U%!$K(B
$BCV$-$^$9!#(B
.Pp
$BB>$N(B 2 $B$D$N%$%s%?%U%'!<%9$O(B
.Pa /dev/random
$B$H(B
.Pa /dev/urandom
$B$N(B 2 $B$D$N%-%c%i%/%?%G%P%$%9$G$9!#(B

$B:GBg$G$b%(%s%H%m%T!<$N$?$^$j>l$K4^$^$l$k(B($BMp?t@8@.4o$K$h$jI>2A$5$l$?(B)$B%S%C%H?t$N(B
$BMp?t$7$+JV$5$J$$$N$G(B
.Pa /dev/random
$B%G%P%$%9$OHs>o$K9bIJ<A$NMp?t$,I,MW$J$H$-(B($BNc$($P!"%-!<$N@8@.(B)$B$N;HMQ$K(B
$B$U$5$o$7$$$G$9!#(B
.Pp
.Pa /dev/urandom
$B%G%P%$%9$O$3$N@)8B$,$J$/!"MW5a$5$l$?$@$1$N%P%$%H$rJV$7$^$9!#(B
$B%(%s%H%m%T!<$N$?$^$j>l$rJQ99$9$k;~4V$rM?$($J$$$G$$$/$D$bMp?t$rMW5a$9$k$H(B
$BMp?t$N<A$,Dc$/$J$j$^$9!#(B
$B$7$+$7$J$,$i!"B?$/$N%"%W%j%1!<%7%g%s$K$H$C$F$O$3$l$O<u$1F~$l$i$l$k$G$7$g$&!#(B
.Ss $B%(%/%9%]!<%H$5$l$?%$%s%?%U%'!<%9(B \(em $BF~NO(B
$B%G%P%$%9$+$i4D6-$N%N%$%:$r=8$a$k8=:_$N%(%/%9%]!<%H$5$l$?%$%s%?%U%'!<%9$O(B
$B<!$N(B 2 $B$D$G$9!#(B
.Pp
.Bl -tag -width Pa -compact
.It Pa void add_keyboard_randomness(unsigned char scancode);
.It Pa void add_interrupt_randomness(int irq);
.El
.Pp
1 $BHVL\$N4X?t$O!V%(%s%H%m%T!<$N$?$^$j>l!W$X$N%i%s%@%`$JF~NO$H$7$F!"(Bscancode $B$O(B
$B$b$A$m$s!"%-!<$r2!$94V$N%?%$%_%s%0$b;H$$$^$9!#(B
.Pp
2 $BHVL\$N4X?t$O%(%s%H%m%T!<$N$?$^$j>l$X$N%i%s%@%`$JF~NO$H$7$F3d$j9~$_$N4V$N(B
$B%?%$%_%s%0$r;H$$$^$9!#$9$Y$F$N3d$j9~$_$,NI$$Mp?t8;$H$$$&Lu$G$O$J$$$3$H$K(B
$BCm0U$7$F2<$5$$!*Nc$($P!"%?%$%^3d$j9~$_$ONI$$A*Br$G$O$"$j$^$;$s!#$J$<$J$i(B
$B3d$j9~$_$N<~4|@-$,Hs>o$K5,B'E*$J$?$a967b<T$,M=B,$G$-$k$+$i$G$9!#(B
$B%G%#%9%/3d$j9~$_$N%?%$%_%s%0$O$h$jM=B,$G$-$J$$$N$G!"%G%#%9%/3d$j9~$_$NJ}$,(B
$B$h$jNI$$$G$9!#%k!<%A%s$O3d$j9~$_$N%?%$%_%s%0$N(B 1 $B<!$H(B 2 $B<!$N%G%k%?$r<h$k$3$H$G(B
$BFCDj$N3d$j9~$_%A%c%s%M%k$,Ds6!$9$kMp?t$,2?%S%C%H$+$rI>2A$7$h$&$H$7$^$9!#(B
.Sh $B<U<-(B
$B85$NCf?4$H$J$k%3!<%I$O(B
.An Theodore Ts'o
$B$,(B Linux $B%W%i%C%H%U%)!<%`8~$1$K=q$-$^$7$?!#(B
.Bx Free
$B$K0\?"$7$?$N$O(B
.Xr rndcontrol 8
$B%f!<%F%#%j%F%#(B
$B$b=q$$$?(B
.An Mark Murray
$B$G$9!#(B
.Pp
$B$3$NMp?t@8@.4o$r9=@.$9$k9M$($O(B Pretty Good Privacy $B$NMp?t@8@.4o$H(B
Phil Karn $B$H$N8D?ME*$J5DO@$+$iF@$?$b$N$G$9!#$3$N@_7W$O$5$i$K;d0l?M$G(B
$B=$@5$7$?$N$G!"$$$+$J$k7g4Y$b;d$@$1$N@UG$$G$"$j!"(BPGP $B$NCx:n<T$d(B Phil $B$K(B
$B5"$9$k$Y$-$G$O$"$j$^$;$s!#(B
.Pp
MD5 $BJQ49$N%3!<%I$O%Q%V%j%C%/%I%a%$%s$G$"$k(B Colin Plumb $B$N<BAu$+$i(B
$B<h$j$^$7$?!#(BMD5 $B0E9f%A%'%C%/%5%`$O(B Ronald Rivest $B$K$h$jH/L@$5$l!"(B
RFC 1321$B!"(B "The MD5 Message Digest Algorithm" $B$G2r@b$5$l$F$$$^$9!#(B
.Pp
$B$3$NOCBj$K4X$9$k$3$l0J>e$NM=HwCN<1$O(B Donald Eastlake, Steve Crocker,
Jeff Schiller $B$K$h$k(B RFC 1750$B!"(B"Randomness Recommendations for Security" $B$+$i(B
$BF@$i$l$k$G$7$g$&!#(B
.Sh $B4XO"9`L\(B
.Xr rndcontrol 8
.Sh $B4XO"%U%!%$%k(B
.Bl -tag -width Pa -compact
.It Pa /dev/random
.It Pa /dev/urandom
.El
.Sh $BNr;K(B
.Pa random ,
.Pa urandom
$B%U%!%$%k$O(B
.Fx 2.1.5 
$B$GEP>l$7$^$7$?!#(B
