-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
executable file
·41 lines (41 loc) · 1.33 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
psh-prng
-- an attempt at pure POSIX sh random number generation
-- 100% POSIX compliant; if /dev/urandom is missing PIDs are used
---
Usage
-- ./ran [seed] [seed2] [method]
-- seed
>> can either be a number or string
>>>> if a string is given the decimal ascii value
>>>> of each character is added together and used as the seed
-- seed2
>> xoroshiro64 expects 2 seeds
-- method
>> pid or uran
>>>> pid
>>>>>> pids are used to generate a seed
>>>>>>>> pid generation produces a larger output
>>>>>>>> this is to counteract the fact that pids can be manipulated on Linux systems
>>>> uran
>>>>>> uses /dev/urandom if present to generate a seed
>> to set the method, supply $1 & $2 as `-`
>>>> ./ran - - pid
---
Seed generation
-- the code used here to generate a seed is hand made
---- uran is highly preferred as pids can be easily manipulated
---- and are sequential unless the system has random pids
---- however this isn't(?) present on Linux
>> random pids causes a performance hit
>> and it is widely debated if it has any actual use
---
xoroshiro64**
-- this branch implements xoroshiro64**
-- hopefully this will have less patterns
---
Notes
-- DO NOT use this for encryption
-- I am unable to verify if this algorithm is secure
-- additionally if PIDs are used for seeds, generation can likely be manipulated
---