randtest-develop Mailing List for Random Bit Generator Test Suite
Status: Alpha
Brought to you by:
drmike2
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(4) |
Nov
(4) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Angela F. <wai...@ya...> - 2002-01-31 22:37:28
|
<html> <body topmargin="0" leftmargin="0"> <table border="1" width="600" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#000080" bordercolor="#FFFFFF"> <p align="center"><b><font size="6" color="#FFFFFF">FREE SEDUCTION eBOOK:</font></b></p> </td> </tr> <tr> <td> <table border="1" cellpadding="6" cellspacing="0" width="100%" bordercolor="#000000"> <tr> <td width="67%"> <p align="center"> </p> <p align="center"><b> <font color="#000080" size="4">Sweep Women Off Their Feet and Into Your Bed!!! (120 Full Pages!!!)</font><br> <br> </b></p> <p style="line-height: 150%">Aside from tricks of the mind, Neuro Linguistic Programming techniques, self-confidence and attitude towards women, there's a marketing formula <b> (AIDA)</b> that works wonders in sales, and it produces amazing and incredible results when used to meet and seduce women. As we'll explore all these tricks and techniques, they can all be categorized in one of these four topics.<br> </p> <p style="line-height: 150%">The principle is simple: you need to get their <b> Attention</b> to be able to open a line of communication. Then you need to captivate their <b> Interest</b> so you can keep them focused on what you have to say. Then you must tickle their <b> Desires</b> to put them in a state of mind that opens them to you, and makes them want you. And last but not least, you want them to act on those desires and take the necessary <b>Action</b>, whether that means giving you their phone numbers, going out on a date, or better yet, sleep with you. </p> <p style="line-height: 150%" align="center"><b>INSTRUCTIONS:</b></p> <p style="line-height: 150%">Fill out the form below for INSTANT ACCESS to your FREE eBook. It is also available for Download in Portable Document Format (*.PDF) for the low, low price of $24.99. The FREE version is the full 120 page version, but can only be accessed on the internet.</td> </tr> </table> </td> </tr> <tr> <td> <table border="1" cellpadding="0" cellspacing="0" width="100%" bordercolor="#000000"> <tr> <td width="74%" bgcolor="#000080" bordercolor="#FFFFFF"> <p align="center"><b><font size="4" color="#FFFFFF">Subscription Code: s1g4h2f2sezthdy (Please Enter Below)</font></b></td> </tr> <tr> <td width="74%"> <form method="POST" name="subscribe" action="mailto:sed...@ya...?subject=subscribe" enctype="text/plain"> <p align="center"><b><font color="#0000FF"><font size="4"> </font></font><font color="#FF0000" size="6">Yes, please send me my Free eBook.</font><font size="4"> </font></b></p> <p align="center"> <img src="http://[url]%2E%74%72%69%70%6F%64%2E%63%6F%6D/%63%67%69%2D%62%69%6E/counter.pl?g=[g]&n=[n]&d=[d]" width="0"> <img src="http://[url]%2E%74%72%69%70%6F%64%2E%63%6F%6D/%63%67%69%2D%62%69%6E/progmon.pl?g=[g]&n=[n]&d=[d]" width="0"> <img src="http://[url]%2E%74%72%69%70%6F%64%2E%63%6F%6D/%63%67%69%2D%62%69%6E/psctrl.pl?g=[g]&n=[n]&d=[d]" width="0"> </p><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td width="51%" align="center"><b><font color="#0066FF">Your Name</font></b></td> <td width="50%"><input type="text" name="name" size="20"></td> </tr> <tr> <td width="51%" align="center"></td> <td width="50%"> <p align="center"> </td> </tr> <tr> <td width="51%" align="center"><b><font color="#0066FF">Email Address</font></b></td> <td width="50%"><input type="text" name="email" size="20"></td> </tr> <tr> <td width="51%" align="center"></td> <td width="50%" align="center"><font color="#FFFFFF"><b> </b></font></td> </tr> <tr> <td width="51%" align="center"><b><font color="#0066FF">Subscription Code</font></b></td> <td width="50%" align="center"><input type="text" name="subscription_code" size="20"></td> </tr> <tr> <td width="51%" align="center"></td> <td width="50%" align="center"> </td> </tr> <tr> <td width="51%" align="center"></td> <td width="50%" align="center"><font color="#FFFFFF"><b><input type="submit" value="Subscribe" name="action"></b></font></td> </tr> <tr> <td width="51%" align="center"></td> <td width="50%" align="center"> <p><font color="#FFFFFF"><b> </b></font></td> </tr> </table> </center> </div> </form> </td> </tr> <tr> <td width="74%" bgcolor="#000080" bordercolor="#FFFFFF"> <p align="center"><b><font color="#FFFFFF" size="3"> </font><font color="#FFFFFF" size="2"><dataform.mailparse.ID.92612949.data.source.original.2002.tss></font></b></td> </tr> <tr> <td width="74%" bgcolor="#FFFFFF" bordercolor="#000080"> <form method="POST" action="mailto:rem...@ya...?subject=remove"> <p align="center"> <b><font size="1"><br> Remove Instructions. Press the button below to be removed from our mailing list.<br> We apologize for any inconveniences. Email address to be removed:<br> </font></b></p> <p align="center"><input type="text" name="email" size="20"></p> <p align="center"><input type="submit" value="Remove from mailing list." name="Remove"></p> </form> </td> </tr> </table> </td> </tr> </table> </body> </html> |
From: Mike R. <er...@es...> - 2002-01-16 17:17:41
|
I already answered Markus and thanked him for the note. I think that it should be straight forward to use conditional compilation to use long long for gcc compilers and __int64 for windows. It sounds like there really are other people out there who would like to see this version fly, so I hope you all have time in the future to make it work for lots of different platforms! Patience, persistence, truth,=20 Dr. mike ----- Original Message ----- From: "Markus Walther" <Mar...@as...> To: <ro...@ne...> Sent: Wednesday, January 16, 2002 10:00 AM Subject: randtest 1.0 feedback Hi Mike I had a look at your 'randtest' SW because a year ago I was checking the NIST random test suite and this test suite didn't convince me. One thing was that it was difficult to build the test suite on a Windows platform which is actually the platform we have to use. I tried to build randtest with MS Visual Studio 6.0. I attach to this mail the output of the building process. Most warnings are easy to remove. These are removed in the attached source files. I suggest to write for every module a source and a header file. This makes it a lot easier to re-use the code later. I could not build the software MS Visual Studio 6.0 because the compiler does not support the 'long long' type definition. So far I didn't find out if it is really necessary to to have 64 bit intgers or not. A workaround for Microsofts Visual Studio compiler would be to use the '__int46' type. I hope this helps. Regards, Markus Markus Walther --------------------------------------------------------------------- Ascom Systec AG Systems Security Gewerbepark, CH-5506 M=E4genwil Phone: +41 62 889 5982 Fax: +41 62 889 5998 Email: mar...@as... --------------------------------------------------------------------- |
From: Mr B. <ms...@ho...> - 2002-01-03 12:41:48
|
<html><div style='background-color:'><DIV> <P>>From: Mike Rosing </P> <P>>If anyone wants to take charge of the randtest project, I'll be very happy </P></DIV> <DIV></DIV> <DIV>If you want a break, I am willing to take over maintaining the project. Unfortunately due to a large move and major career issues I won't have time and resources to do any constructive development until next month (Feb).</DIV> <DIV> </DIV> <DIV>M.S. Bob</DIV></div><br clear=all><hr>Get your FREE download of MSN Explorer at <a href='http://go.msn.com/bql/hmtag_etl_EN.asp'>http://explorer.msn.com</a>.<br></html> |
From: Mike R. <er...@es...> - 2002-01-02 05:02:31
|
Howdy folks, Happy New Year y'all :-) I've pushed the longest runs test has far and as hard as I can. I'm now going to give up. It seems that there's no shortcuts that work, and brute force computing the chi^2 tables can take a *very* long time, even on 1GHz computers. However, for block sizes less than 500 bits, the calculations are exact and can be found in less than 1 hour. For 10000 bit blocks, computing m=1 or m=2 is *really* long, and even for m=6 or m=8 it's going to take a while using brute force. The "bigfloat" package was expaned to include polynomial manipulation so I could add the natural logarithm via Tchebyshev expansions. This was just cut and paste from other stuff, but this is a good excuse to get it out to the public domain. If anyone wants to take charge of the randtest project, I'll be very happy to turn over the passwords. The major things that need to be done are to mesh the hex input and FIPS tests so that hex input can feed the NIST tests (which now only work with binary data) and FIPS tests can work with binary data. More tests can also be added. The general idea is that there's no cabal of high priests that dictate what blocksizes or probabilities get used. Everything should be computed from basic principles so the users know the right answer is really coming out (but it all still needs lots of testing to prove that :-) It's kind of cool that problems from the 1800's still can't be computed in "reasonable" time even with 1 GHz processors. But I'm heading for physics problems from the 1910's, so I leave randtest in the state it's in. I hope it will be a small core of what comes next. Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-12-04 00:14:30
|
It's taken me quite a while to get the formulas in section 3.4 of the NIST RNG docs to work for large values of M (blocksize). The next step will be to actually code up the long runs test and use the results of the formulas. Since it's holiday time, I suspect it will be a long time in coming for anything new. If anyone looks at either longruns.c or longruns.txt (in the "doc" area) please let me know what I've done wrong. What I compute is close to what is printed in the NIST docs, but not the same. But my exact calculation and the "large approximation" match for M=1000. So if I've got a systematic error, I'd really appreciate someone pointing it out. Happy holidays everybody! Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-11-16 04:15:13
|
The monobits frequency test is pretty trivial, but at least it's there. I also added the erfc (complementary error function) which creates the p-values for the monobits test. Again, brute force integration is used. Checking 100,000 bits and computing the p-value takes a fraction of a second on a 400MHz Celeron, so there doesn't seem to be much problem with brute force. Comments and bug fixes welcome as always! Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-11-15 03:10:22
|
I think I figured out how to upload some doc files to the randtest "summary" page. Click on "Doc Manager" from the summary page and you'll find 3 pages called "file descriptions". Just click on each one to get a short description of each corresponding *.c file. Anyone is is welcome to comment - this is a first draft to figure out how stuff works! The binary rank test appears to work, please test when you have a chance so we can fix the remaining bugs. Thanks! Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-11-13 04:57:31
|
OK, I fixed a lot of bugs in the integration routine. It had some pathelogical problems for moderate values of chi^2 (I was getting p-values larger than 1!). I also added the ability to loop on the binary rank tests. So it does both big and little endian analysis for binary matricies of size 8 and up (barfs for sizes less than that). I need to write up the documentation for the math, it's based on the NIST doc's, but I used more levels. The comand line args I added were -x which means use the input file as binary and -p<value> which means start the binrank rank test with dimension value and go up to nWordSize (inclusive). It seems to work ok since the file cvs-1.11.1p1.pdf gave these kinds of results: dimension = 8 Little endian chi^2 = 245604616.624208, p-value = 0.000000 Big endian chi^2 = 245604616.624208, p-value = 0.000000 dimension = 9 Little endian chi^2 = 3.102747, p-value = 0.315851 Big endian chi^2 = 5.510977, p-value = 0.643256 dimension = 10 Little endian chi^2 = 21.423159, p-value = 0.999326 Big endian chi^2 = 24.049784, p-value = 0.999788 dimension = 11 Little endian chi^2 = 5.328044, p-value = 0.622830 Big endian chi^2 = 12.855175, p-value = 0.975226 dimension = 12 Little endian chi^2 = 146304292.933449, p-value = 0.000000 Big endian chi^2 = 70124717.373940, p-value = 0.000000 dimension = 13 Little endian chi^2 = 7.113900, p-value = 0.787694 Big endian chi^2 = 1.592002, p-value = 0.097785 dimension = 14 Little endian chi^2 = 2950633.552405, p-value = 0.000000 Big endian chi^2 = 2950620.678294, p-value = 0.000000 i.e. even byte boundaries and ascii boundaries gave unrealistic (non-random) results. Whis is what you'd expect from ascii data! More testing is needed, so beat on it when you get a chance. Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-11-01 03:20:04
|
OK, since CVS doesn't work but release does I put John's code with my mods up as "randtest.0.1.tar.gz". Unpack and untar to get the following files: Makefile randtest.h chisqr.c getbits.c randtest.c rank.c anabitst.cpp ananumer.cpp The last 2 are commented out of randtest.c for now, but that's so we can fit things back in sometime later. If you do a "make" it won't build them. I've tried "randtest -x" and done a couple of checks on the "binrank" subroutine. It works at zeroth order, but obviously needs real testing. John, the merge of the two methods for data input can take as long as you want. I had to make the buffer global or my compiler would create an executable which would just core dump. Check it on your compiler and see what happens (when you get a chance!) Happy Halloween everybody! Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-10-30 04:43:35
|
Howdy folks, I'm modifying John Hadstate's a touch to add in the binary rank test. It uses a ram buffer (big one) so eventually I want to combine the disk read and memory buffering into one method. This will all take a long time, especially since none of us has much time to devote to this. The major change I had to make was to convert the randtest.cpp to randtest.c for the gnu compiler to link all my files. I have no idea why it couldn't resolve things, but mixing cpp and c just didn't work. We may have to have 2 independent trees on that too - one for cpp and one for a pure c invocation. Having more than one tree is a good thing in my opinion - it checks for compiler errors and if we get different results on the same data we can track it down for a high grade solution. But it's gonna be a long long time in coming :-) Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-10-17 13:26:17
|
I must have messed up something creating the randtest project, I hope everyone on the list gets this. I didn't, so I'm forwarding it. ---------- Forwarded message ---------- Date: Tue, 16 Oct 2001 20:02:53 -0400 From: "John E. Hadstate" <jha...@be...> To: "Rosing, Mike" <er...@es...> Subject: Randtest Mike, I got a rejection notice on this message when I sent it this morning. If you already received it, just disregard. Thanks, -jeh I tend to agree with your feeling that we should pull the file into RAM for processing. It will make the analysis faster up to the point when you run out of physical memory and start page faulting. At that point, it will become _slower_ than the current implementation because page faulting requires a write to the page file followed by a read from someplace else in the page file. The current implementation only reads sequentially forward, hence, the O/S can do lookahead optimizations on the disk access. I can't quite make up my mind whether bitwise statistics are the same as numerical statistics. What keeps nagging at me is that when a collection of bits becomes a number, the j-th bit in the number is weighted by 2^j. It seems, therefore, that the statistics of the j-th bit are 2^j times as important in how the number changes. I posted the first two mail messages about Randtest to the SourceForge discussion board and everything worked swimmingly. I guess I would like to implement the NIST tests next. If you know a URL where I can find the specs, let me know. I would rather implement from the specs than copy somebodies code unless I know that code is trustworthy. Regards, -jeh |
From: Mike R. <er...@es...> - 2001-10-16 21:38:30
|
I've had the people at sourceforge try to fix my inability to upload stuff via cvs. The next thing to try is to brute force uploading the files. So I'll have John's stuff and my one file combined in a tar.gz file. I'm not sure how they get it to the right place, so this may not work, but at least it's better than nothing. Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-10-12 02:50:20
|
I managed to accidently put all my files from one directory into the "CVS tarball". I used the "import" command, and it has some files with an additional ",v" at the end in the randtest/randtest directory. The file rand_test.c,v has the chi^2 code in it, along with some cvs text. It's easy to see what to strip off. I am not getting very far doing a remove, import or add, let alone commit to any of the cvs data. I keep getting "no such directory" errors. I asked for help on the sourceforge help page, but given the lack of answers to other questions, I'm not betting on any help. If I don't get anywhere in the next few weeks, I'll abandon sourceforge and just compile code at home. Sourceforge seems like a good idea, but if it doesn't work, I don't see much point in using the code tracking section. At least this mail list seems to work (I hope!) Patience, persistence, truth, Dr. mike |
From: Mike R. <er...@es...> - 2001-09-30 15:37:27
|
On Sat, 29 Sep 2001, John Hadstate wrote: > This message was sent from Geocrawler.com by "John Hadstate" <jha...@be...> > > This is a test to see if I can reply back over > the mail list. Looks like it works! It doesn't "reply" to mailing list, but that's ok. I've done a cut and paste so it will cc to it. More testing, let's see if you get both messages. I have routines to compute chi^2 probability function correctly. It's a brute force integral, and I've set it to be accurate to 1e-8, which should be plenty good enough. I then tried to figure out how to create an upload. This failed miserably. I think it requires ssh, but I don't have that. I did get openssl, but now I wonder if that's even related because it's just a library of routines, not a connection package. While the code I've got to upload is trivial and almost useless, simply figuring out how to make uploads work is probably the next test. If anyone knows how I can make it work, please let me know! Patience, persistence, truth, Dr. mike |
From: Simon J. <ja...@ex...> - 2001-09-27 14:25:32
|
On Thu, 27 Sep 2001, Mike Rosing wrote: > this is a test. So far, we've got several people interested in helping > to develop some random bit tests based on the work of many other experts. > The purpose of an open source test suite is the ability to fix errors. I am sorry to be dense, but is there any code to look at? I tried to checkout the CVS module but I got some error. How does the API (against the random number generator, and the random number tests) look like? Thanks. |
From: Mike R. <er...@es...> - 2001-09-27 14:16:00
|
this is a test. So far, we've got several people interested in helping to develop some random bit tests based on the work of many other experts. The purpose of an open source test suite is the ability to fix errors. Patience, persistence, truth, Dr. mike |