multirandom 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- multirandom-0.0.1.dist-info/METADATA +101 -0
- multirandom-0.0.1.dist-info/RECORD +17 -0
- multirandom-0.0.1.dist-info/WHEEL +5 -0
- multirandom-0.0.1.dist-info/licenses/LICENSE +674 -0
- multirandom-0.0.1.dist-info/top_level.txt +1 -0
- realrandom/__init__.py +3 -0
- realrandom/hash_rand/__init__.py +2 -0
- realrandom/hash_rand/original_random.py +1 -0
- realrandom/hash_rand/sha_rand.py +86 -0
- realrandom/true_rand/__init__.py +3 -0
- realrandom/true_rand/rand_using_online_api.py +74 -0
- realrandom/true_rand/rand_via_clicks.py +93 -0
- realrandom/true_rand/weather_rand.py +2 -0
- realrandom/virt_rand/__init__.py +2 -0
- realrandom/virt_rand/flash_rand_and_reverse.py +1 -0
- realrandom/virt_rand/rand_using_virt_lcg.py +93 -0
- realrandom/virt_rand/xor_shift.py +235 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: multirandom
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: π² The truth external PyPI random package, have true_rand, virt_rand, hash_rand, ...
|
|
5
|
+
Author-email: BlackCatOfficialytb <quanvm0501@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/BlackCatOfficialytb/multirandom
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
8
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
|
|
15
|
+
# MultiRandom π²
|
|
16
|
+
|
|
17
|
+
A comprehensive library for exploring and generating randomness across the spectrumβfrom true physical entropy to mathematical pseudo-randomness and everything in between.
|
|
18
|
+
|
|
19
|
+
## π Overview
|
|
20
|
+
|
|
21
|
+
MultiRandom is designed for developers, researchers, and hobbyists who want to understand high-quality randomness. It provides tools to fetch random data from quantum sources, physical human interaction, and modern mathematical algorithms.
|
|
22
|
+
|
|
23
|
+
> [!WARNING]
|
|
24
|
+
> **Security Note**: This library contains both "True" and "Pseudo" random sources. While some sources (like QRNG) are highly secure, others (like LCGs) are provided for educational purposes and include **reverse logic** to demonstrate their insecurity. Always use the appropriate generator for your use case.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## π Project Structure
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
MultiRandom/
|
|
32
|
+
βββ true_rand/ # Physical & Hardware Entropy
|
|
33
|
+
β βββ rand_via_clicks.py # Human-in-the-loop entropy (Left/Right/Middle/Mixed)
|
|
34
|
+
β βββ rand_using_online_api.py # Quantum & Hardware APIs (random.org, ANU QRNG, Roll-API)
|
|
35
|
+
βββ virt_rand/ # Mathematical Randomness (PRNGs)
|
|
36
|
+
β βββ xor_shift.py # XorShift & Xoshiro Family (Original, Scrambled, modern)
|
|
37
|
+
β βββ rand_using_virt_lng.py # Linear Congruential Generators (LCGs)
|
|
38
|
+
βββ hash_rand/ # Hash-based Generators
|
|
39
|
+
β βββ sha_rand.py # SHA-1, SHA-256, SHA-512 based PRNGs
|
|
40
|
+
βββ requirements.txt # Project dependencies
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## π Features & Usage
|
|
46
|
+
|
|
47
|
+
### 1. Human-in-the-loop Entropy (`true_rand`)
|
|
48
|
+
Uses `pyautogui` and Windows API to capture sub-microsecond timing jitter and spatial coordinates from physical mouse clicks.
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
from true_rand.rand_via_clicks import MultiRandomUsingBetweenMixedClicks
|
|
52
|
+
|
|
53
|
+
# Requires a sequence of Left -> Right -> Middle clicks to seed
|
|
54
|
+
gen = MultiRandomUsingBetweenMixedClicks()
|
|
55
|
+
print(gen.random())
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 2. Quantum & Hardware APIs (`true_rand`)
|
|
59
|
+
Fetch "True" randomness from remote physical processes.
|
|
60
|
+
|
|
61
|
+
- **Australian National University (ANU)**: Quantum vacuum noise.
|
|
62
|
+
- **Random.org**: Atmospheric noise.
|
|
63
|
+
- **Roll-API**: Physical dice rolling hardware.
|
|
64
|
+
|
|
65
|
+
### 3. Bit-Shift Generators (`virt_rand`)
|
|
66
|
+
Implementations of the most popular mathematical generators used in modern systems.
|
|
67
|
+
|
|
68
|
+
- **Original XorShift**: Includes `reverse_roll()` to demonstrate mathematical reversibility.
|
|
69
|
+
- **Scrambled Variants**: Xorwow (CUDA), Xorshift+ (V8/Webkit).
|
|
70
|
+
- **Modern Xoshiro**: Xoshiro256**, Xoroshiro128++ (Minecraft Java 1.18+).
|
|
71
|
+
|
|
72
|
+
### 4. Mathematical LCGs (`virt_rand`)
|
|
73
|
+
Classic Linear Congruential Generators with customizable shift parameters. Ideal for understanding how modular arithmetic creates pseudo-random patterns.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## π Getting Started
|
|
78
|
+
|
|
79
|
+
### Installation
|
|
80
|
+
1. Clone the repository.
|
|
81
|
+
2. Install dependencies:
|
|
82
|
+
```bash
|
|
83
|
+
pip install -r requirements.txt
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Running Tests
|
|
87
|
+
Most modules include a built-in test suite in their `if __name__ == "__main__":` block.
|
|
88
|
+
```bash
|
|
89
|
+
python virt_rand/xor_shift.py
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## πΊ Educational Resources
|
|
95
|
+
This project was built with a focus on understanding the limits of computer-generated randomness. For more context, check out:
|
|
96
|
+
- [Why computers can't generate truly random numbers](https://youtu.be/XDsYPXRCXAs?si=oDaFsqZyNJWVXwEi)
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## π License
|
|
101
|
+
Provided for educational and research purposes.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
multirandom-0.0.1.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
2
|
+
realrandom/__init__.py,sha256=zMRlt7i2jWU3ZY_oMFEpFmSq2LiOPdydr8mvqA0pMWs,52
|
|
3
|
+
realrandom/hash_rand/__init__.py,sha256=ftZbK_IB6wZZXgCPsDb3a3L1mwTdD9_Q9KeKPn7rpho,53
|
|
4
|
+
realrandom/hash_rand/original_random.py,sha256=oEL4XGFi-885pEIfizV5WNjzvJ0MHBVB5K7-d4y2sMU,20
|
|
5
|
+
realrandom/hash_rand/sha_rand.py,sha256=iWa-qZ5LT7BApEwqbHqCe3jIEB8nKh8GJjTesAheFVE,2205
|
|
6
|
+
realrandom/true_rand/__init__.py,sha256=ba-MzzR-ENU0ALWFcqXOLO80Wal7md_E-u5BmIhgYjs,75
|
|
7
|
+
realrandom/true_rand/rand_using_online_api.py,sha256=WQxD8SpW0ziHPdRgaNa-pLIO8k96ccCLNkSXEkkVh6M,2479
|
|
8
|
+
realrandom/true_rand/rand_via_clicks.py,sha256=UUn2jYo9PtSvIQ84NlzVqmG33xj0i1pyX8TUVsRfwrg,3290
|
|
9
|
+
realrandom/true_rand/weather_rand.py,sha256=0CwajSD7UmkcB0yrHy4WZyqlzorTn5gHcGcg6KifDbY,66
|
|
10
|
+
realrandom/virt_rand/__init__.py,sha256=QlscRaTvEXTB3UqBDuZwU6MsdYRTZbh_Iw8ltECgJek,51
|
|
11
|
+
realrandom/virt_rand/flash_rand_and_reverse.py,sha256=QPUTFJKUsQscE-4Rm_BIMCGrbp2-L0C1blaJzPLocEE,23
|
|
12
|
+
realrandom/virt_rand/rand_using_virt_lcg.py,sha256=oV_AgJaaBRTsDkHHvNdpBRhvkC9t9cIJhWHQOw9hjd4,2864
|
|
13
|
+
realrandom/virt_rand/xor_shift.py,sha256=meKm3N8PlfNneTCSV99OUve4WmGJZZHo-yALsi3cTy8,7875
|
|
14
|
+
multirandom-0.0.1.dist-info/METADATA,sha256=OjsYOCO2ZcZhvJ6yOfd1myUSm894knpJIxWG9d-i7Vc,4052
|
|
15
|
+
multirandom-0.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
16
|
+
multirandom-0.0.1.dist-info/top_level.txt,sha256=M9zA-Ippn5IyegDPK58v4bXlmZt82K96DsvCL-qX7eE,11
|
|
17
|
+
multirandom-0.0.1.dist-info/RECORD,,
|