make windows threaded async an option and disable it, because it causes crashes
[lcore.git] / lcorernd.pas
index 3a8ea0c993b280d0cefc63024a5367a31c317922..7dbd7f17ec60d99921f153e3e3a77f6c13ccc42c 100644 (file)
@@ -15,7 +15,7 @@ written by Bas Steendijk (beware)
 the aim of this unit is to provide randomness in a consistent way, using OS specific methods for seeding\r
 \r
 this unit uses MD5 for performance and code size, but it is made so it is easy to use a different hash,\r
 the aim of this unit is to provide randomness in a consistent way, using OS specific methods for seeding\r
 \r
 this unit uses MD5 for performance and code size, but it is made so it is easy to use a different hash,\r
-as long as it is atleat 128 bits, and a multiple of the "word size" (32 bits)\r
+as long as it is at least 128 bits, and a multiple of the "word size" (32 bits)\r
 \r
 goals:\r
 \r
 \r
 goals:\r
 \r
@@ -25,20 +25,20 @@ goals:
 \r
 - for the numbers to be\r
  - random: pass diehard and similar tests\r
 \r
 - for the numbers to be\r
  - random: pass diehard and similar tests\r
- - unique: generate UUID's\r
+ - unique: generate UUIDs\r
  - secure: difficult for a remote attacker to guess the internal state, even\r
    when given some output\r
 \r
 typical intended uses:\r
  - anything that needs random numbers without extreme demands on security or\r
    speed should be able to use this\r
  - secure: difficult for a remote attacker to guess the internal state, even\r
    when given some output\r
 \r
 typical intended uses:\r
  - anything that needs random numbers without extreme demands on security or\r
    speed should be able to use this\r
- - seeding other (faster) RNG's\r
- - generation of passwords, UUID's, cookies, and session keys\r
+ - seeding other (faster) RNGs\r
+ - generation of passwords, UUIDs, cookies, and session keys\r
  - randomizing protocol fields to protect against spoofing attacks\r
  - randomness for games\r
 \r
 this is not intended to be directly used for:\r
  - randomizing protocol fields to protect against spoofing attacks\r
  - randomness for games\r
 \r
 this is not intended to be directly used for:\r
-- high securirity purposes (generating RSA root keys etc)\r
+- high security purposes (generating RSA root keys etc)\r
 - needing random numbers at very high rates (disk wiping, some simulations, etc)\r
 \r
 performance:\r
 - needing random numbers at very high rates (disk wiping, some simulations, etc)\r
 \r
 performance:\r
@@ -180,7 +180,7 @@ const
   hashpasssize=48; {this number has to be small enough that hashing this size uses only one block transform}\r
 \r
 var\r
   hashpasssize=48; {this number has to be small enough that hashing this size uses only one block transform}\r
 \r
 var\r
-  {the seed part of this buffer must be atleast as big as the OS seed (windows: 104 bytes, unix: 36 bytes)}\r
+  {the seed part of this buffer must be at least as big as the OS seed (windows: 104 bytes, unix: 36 bytes)}\r
   pool:array[0..(pooldwords+seeddwords-1)] of wordtype;\r
   reseedcountdown:integer;\r
 \r
   pool:array[0..(pooldwords+seeddwords-1)] of wordtype;\r
   reseedcountdown:integer;\r
 \r
@@ -259,7 +259,7 @@ var
   f:file;\r
   a:integer;\r
   l:packed record\r
   f:file;\r
   a:integer;\r
   l:packed record\r
-    devrnd:array[0..3] of integer;\r
+    devrnd:array[0..7] of integer;\r
     rdtscbuf:array[0..1] of integer;\r
     tv:ttimeval;\r
     pid:integer;\r
     rdtscbuf:array[0..1] of integer;\r
     tv:ttimeval;\r
     pid:integer;\r