multirandom 0.0.1__tar.gz → 0.0.2__tar.gz
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.2/PKG-INFO +113 -0
- multirandom-0.0.2/README.md +97 -0
- {multirandom-0.0.1 → multirandom-0.0.2}/pyproject.toml +6 -2
- multirandom-0.0.2/src/multirandom/__init__.py +3 -0
- multirandom-0.0.2/src/multirandom/hash_rand/__init__.py +2 -0
- multirandom-0.0.2/src/multirandom/true_rand/__init__.py +3 -0
- multirandom-0.0.2/src/multirandom/virt_rand/__init__.py +2 -0
- multirandom-0.0.2/src/multirandom.egg-info/PKG-INFO +113 -0
- multirandom-0.0.2/src/multirandom.egg-info/SOURCES.txt +20 -0
- multirandom-0.0.2/src/multirandom.egg-info/requires.txt +2 -0
- multirandom-0.0.2/src/multirandom.egg-info/top_level.txt +1 -0
- multirandom-0.0.1/PKG-INFO +0 -101
- multirandom-0.0.1/README.md +0 -87
- multirandom-0.0.1/src/multirandom.egg-info/PKG-INFO +0 -101
- multirandom-0.0.1/src/multirandom.egg-info/SOURCES.txt +0 -19
- multirandom-0.0.1/src/multirandom.egg-info/top_level.txt +0 -1
- multirandom-0.0.1/src/realrandom/__init__.py +0 -3
- multirandom-0.0.1/src/realrandom/hash_rand/__init__.py +0 -2
- multirandom-0.0.1/src/realrandom/true_rand/__init__.py +0 -3
- multirandom-0.0.1/src/realrandom/virt_rand/__init__.py +0 -2
- {multirandom-0.0.1 → multirandom-0.0.2}/LICENSE +0 -0
- {multirandom-0.0.1 → multirandom-0.0.2}/setup.cfg +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/hash_rand/original_random.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/hash_rand/sha_rand.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/true_rand/rand_using_online_api.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/true_rand/rand_via_clicks.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/true_rand/weather_rand.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/virt_rand/flash_rand_and_reverse.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/virt_rand/rand_using_virt_lcg.py +0 -0
- {multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/virt_rand/xor_shift.py +0 -0
- {multirandom-0.0.1 → multirandom-0.0.2}/src/multirandom.egg-info/dependency_links.txt +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: multirandom
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: 🎲 The truth external PyPI random package, have true_rand, virt_rand, hash_rand, ...
|
|
5
|
+
Author-email: BlackCatOfficialytb <quanvm0501@gmail.com>
|
|
6
|
+
License-Expression: GPL-3.0-or-later
|
|
7
|
+
Project-URL: Homepage, https://github.com/BlackCatOfficialytb/multirandom
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: aiohttp
|
|
14
|
+
Requires-Dist: pyautogui
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# MultiRandom 🎲
|
|
18
|
+
|
|
19
|
+
A comprehensive library for exploring and generating randomness across the spectrum—from true physical entropy to mathematical pseudo-randomness and everything in between.
|
|
20
|
+
|
|
21
|
+
## 🌟 Overview
|
|
22
|
+
|
|
23
|
+
**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.
|
|
24
|
+
|
|
25
|
+
> [!WARNING]
|
|
26
|
+
> **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.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🏗 Project Structure
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
multirandom/
|
|
34
|
+
└── src/
|
|
35
|
+
└── multirandom/
|
|
36
|
+
├── true_rand/ # Physical & Hardware Entropy
|
|
37
|
+
│ ├── rand_via_clicks.py # Human-in-the-loop entropy
|
|
38
|
+
│ ├── rand_using_online_api.py # Quantum & Hardware APIs (ANU QRNG, Roll-API)
|
|
39
|
+
│ └── weather_rand.py # [Coming Soon] Weather-based entropy
|
|
40
|
+
├── virt_rand/ # Mathematical Randomness (PRNGs)
|
|
41
|
+
│ ├── xor_shift.py # XorShift & Xoshiro Family
|
|
42
|
+
│ ├── rand_using_virt_lcg.py # Linear Congruential Generators (LCGs)
|
|
43
|
+
│ └── flash_rand_and_reverse.py # [Coming Soon] Specialized PRNGs
|
|
44
|
+
└── hash_rand/ # Hash-based Generators
|
|
45
|
+
├── sha_rand.py # SHA-1, SHA-256, SHA-512 based PRNGs
|
|
46
|
+
└── original_random.py # Wrapper for Python's built-in random
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🛠 Features & Usage
|
|
52
|
+
|
|
53
|
+
### 1. Human-in-the-loop Entropy (`true_rand`)
|
|
54
|
+
Uses `pyautogui` and Windows API to capture sub-microsecond timing jitter and spatial coordinates from physical mouse clicks.
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from multirandom.true_rand.rand_via_clicks import RealRandomUsingBetweenMixedClicks
|
|
58
|
+
|
|
59
|
+
# Requires a sequence of Left -> Right -> Middle clicks to seed
|
|
60
|
+
gen = RealRandomUsingBetweenMixedClicks()
|
|
61
|
+
print(gen.random())
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Physical & Hardware APIs (`true_rand`)
|
|
65
|
+
Fetch "True" randomness from remote physical processes.
|
|
66
|
+
|
|
67
|
+
- **Australian National University (ANU)**: Quantum vacuum noise via QRNG.
|
|
68
|
+
- **Random.org**: Atmospheric noise.
|
|
69
|
+
- **Roll-API**: Physical dice rolling hardware.
|
|
70
|
+
- **Weather Entropy**: (In development) Fetching randomness from real-time weather stations.
|
|
71
|
+
|
|
72
|
+
### 3. Bit-Shift Generators (`virt_rand`)
|
|
73
|
+
Implementations of the most popular mathematical generators used in modern systems.
|
|
74
|
+
|
|
75
|
+
- **Original XorShift**: Includes `reverse_roll()` to demonstrate mathematical reversibility.
|
|
76
|
+
- **Scrambled Variants**: Xorwow (CUDA), Xorshift+ (V8/Webkit).
|
|
77
|
+
- **Modern Xoshiro**: Xoshiro256**, Xoroshiro128++ (Minecraft Java 1.18+).
|
|
78
|
+
|
|
79
|
+
### 4. Mathematical LCGs (`virt_rand`)
|
|
80
|
+
Classic Linear Congruential Generators with customizable shift parameters. Includes `reverse_roll()` methods to demonstrate the insecurity of simple modular arithmetic.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 🚀 Installation & Setup
|
|
85
|
+
|
|
86
|
+
### Requirements
|
|
87
|
+
- Python 3.9+
|
|
88
|
+
- Dependencies listed in `requirements.txt` (e.g., `pyautogui`, `aiohttp`)
|
|
89
|
+
|
|
90
|
+
### Installation
|
|
91
|
+
```bash
|
|
92
|
+
pip install -r requirements.txt
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Usage
|
|
96
|
+
```python
|
|
97
|
+
from multirandom.virt_rand.xor_shift import Xorshift32
|
|
98
|
+
|
|
99
|
+
# Create a 32-bit XorShift generator
|
|
100
|
+
gen = Xorshift32(seed=12345)
|
|
101
|
+
print(gen.roll())
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 📺 Educational Resources
|
|
107
|
+
This project focuses on the limits of computer-generated randomness. For more context, check out:
|
|
108
|
+
- [Why computers can't generate truly random numbers](https://youtu.be/XDsYPXRCXAs?si=oDaFsqZyNJWVXwEi)
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 📜 License
|
|
113
|
+
Provided for educational and research purposes under the GNU General Public License v3 (G GPLv3).
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# MultiRandom 🎲
|
|
2
|
+
|
|
3
|
+
A comprehensive library for exploring and generating randomness across the spectrum—from true physical entropy to mathematical pseudo-randomness and everything in between.
|
|
4
|
+
|
|
5
|
+
## 🌟 Overview
|
|
6
|
+
|
|
7
|
+
**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.
|
|
8
|
+
|
|
9
|
+
> [!WARNING]
|
|
10
|
+
> **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.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 🏗 Project Structure
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
multirandom/
|
|
18
|
+
└── src/
|
|
19
|
+
└── multirandom/
|
|
20
|
+
├── true_rand/ # Physical & Hardware Entropy
|
|
21
|
+
│ ├── rand_via_clicks.py # Human-in-the-loop entropy
|
|
22
|
+
│ ├── rand_using_online_api.py # Quantum & Hardware APIs (ANU QRNG, Roll-API)
|
|
23
|
+
│ └── weather_rand.py # [Coming Soon] Weather-based entropy
|
|
24
|
+
├── virt_rand/ # Mathematical Randomness (PRNGs)
|
|
25
|
+
│ ├── xor_shift.py # XorShift & Xoshiro Family
|
|
26
|
+
│ ├── rand_using_virt_lcg.py # Linear Congruential Generators (LCGs)
|
|
27
|
+
│ └── flash_rand_and_reverse.py # [Coming Soon] Specialized PRNGs
|
|
28
|
+
└── hash_rand/ # Hash-based Generators
|
|
29
|
+
├── sha_rand.py # SHA-1, SHA-256, SHA-512 based PRNGs
|
|
30
|
+
└── original_random.py # Wrapper for Python's built-in random
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🛠 Features & Usage
|
|
36
|
+
|
|
37
|
+
### 1. Human-in-the-loop Entropy (`true_rand`)
|
|
38
|
+
Uses `pyautogui` and Windows API to capture sub-microsecond timing jitter and spatial coordinates from physical mouse clicks.
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
from multirandom.true_rand.rand_via_clicks import RealRandomUsingBetweenMixedClicks
|
|
42
|
+
|
|
43
|
+
# Requires a sequence of Left -> Right -> Middle clicks to seed
|
|
44
|
+
gen = RealRandomUsingBetweenMixedClicks()
|
|
45
|
+
print(gen.random())
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Physical & Hardware APIs (`true_rand`)
|
|
49
|
+
Fetch "True" randomness from remote physical processes.
|
|
50
|
+
|
|
51
|
+
- **Australian National University (ANU)**: Quantum vacuum noise via QRNG.
|
|
52
|
+
- **Random.org**: Atmospheric noise.
|
|
53
|
+
- **Roll-API**: Physical dice rolling hardware.
|
|
54
|
+
- **Weather Entropy**: (In development) Fetching randomness from real-time weather stations.
|
|
55
|
+
|
|
56
|
+
### 3. Bit-Shift Generators (`virt_rand`)
|
|
57
|
+
Implementations of the most popular mathematical generators used in modern systems.
|
|
58
|
+
|
|
59
|
+
- **Original XorShift**: Includes `reverse_roll()` to demonstrate mathematical reversibility.
|
|
60
|
+
- **Scrambled Variants**: Xorwow (CUDA), Xorshift+ (V8/Webkit).
|
|
61
|
+
- **Modern Xoshiro**: Xoshiro256**, Xoroshiro128++ (Minecraft Java 1.18+).
|
|
62
|
+
|
|
63
|
+
### 4. Mathematical LCGs (`virt_rand`)
|
|
64
|
+
Classic Linear Congruential Generators with customizable shift parameters. Includes `reverse_roll()` methods to demonstrate the insecurity of simple modular arithmetic.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 🚀 Installation & Setup
|
|
69
|
+
|
|
70
|
+
### Requirements
|
|
71
|
+
- Python 3.9+
|
|
72
|
+
- Dependencies listed in `requirements.txt` (e.g., `pyautogui`, `aiohttp`)
|
|
73
|
+
|
|
74
|
+
### Installation
|
|
75
|
+
```bash
|
|
76
|
+
pip install -r requirements.txt
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Usage
|
|
80
|
+
```python
|
|
81
|
+
from multirandom.virt_rand.xor_shift import Xorshift32
|
|
82
|
+
|
|
83
|
+
# Create a 32-bit XorShift generator
|
|
84
|
+
gen = Xorshift32(seed=12345)
|
|
85
|
+
print(gen.roll())
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 📺 Educational Resources
|
|
91
|
+
This project focuses on the limits of computer-generated randomness. For more context, check out:
|
|
92
|
+
- [Why computers can't generate truly random numbers](https://youtu.be/XDsYPXRCXAs?si=oDaFsqZyNJWVXwEi)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 📜 License
|
|
97
|
+
Provided for educational and research purposes under the GNU General Public License v3 (G GPLv3).
|
|
@@ -4,18 +4,22 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "multirandom"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.2"
|
|
8
8
|
authors = [
|
|
9
9
|
{ name="BlackCatOfficialytb", email="quanvm0501@gmail.com" },
|
|
10
10
|
]
|
|
11
11
|
description = "🎲 The truth external PyPI random package, have true_rand, virt_rand, hash_rand, ..."
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
requires-python = ">=3.9"
|
|
14
|
+
license = "GPL-3.0-or-later"
|
|
14
15
|
classifiers = [
|
|
15
16
|
"Programming Language :: Python :: 3.9",
|
|
16
|
-
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
17
17
|
"Operating System :: OS Independent",
|
|
18
18
|
]
|
|
19
|
+
dependencies = [
|
|
20
|
+
"aiohttp",
|
|
21
|
+
"pyautogui"
|
|
22
|
+
]
|
|
19
23
|
|
|
20
24
|
[project.urls]
|
|
21
25
|
"Homepage" = "https://github.com/BlackCatOfficialytb/multirandom"
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: multirandom
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: 🎲 The truth external PyPI random package, have true_rand, virt_rand, hash_rand, ...
|
|
5
|
+
Author-email: BlackCatOfficialytb <quanvm0501@gmail.com>
|
|
6
|
+
License-Expression: GPL-3.0-or-later
|
|
7
|
+
Project-URL: Homepage, https://github.com/BlackCatOfficialytb/multirandom
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: aiohttp
|
|
14
|
+
Requires-Dist: pyautogui
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# MultiRandom 🎲
|
|
18
|
+
|
|
19
|
+
A comprehensive library for exploring and generating randomness across the spectrum—from true physical entropy to mathematical pseudo-randomness and everything in between.
|
|
20
|
+
|
|
21
|
+
## 🌟 Overview
|
|
22
|
+
|
|
23
|
+
**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.
|
|
24
|
+
|
|
25
|
+
> [!WARNING]
|
|
26
|
+
> **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.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🏗 Project Structure
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
multirandom/
|
|
34
|
+
└── src/
|
|
35
|
+
└── multirandom/
|
|
36
|
+
├── true_rand/ # Physical & Hardware Entropy
|
|
37
|
+
│ ├── rand_via_clicks.py # Human-in-the-loop entropy
|
|
38
|
+
│ ├── rand_using_online_api.py # Quantum & Hardware APIs (ANU QRNG, Roll-API)
|
|
39
|
+
│ └── weather_rand.py # [Coming Soon] Weather-based entropy
|
|
40
|
+
├── virt_rand/ # Mathematical Randomness (PRNGs)
|
|
41
|
+
│ ├── xor_shift.py # XorShift & Xoshiro Family
|
|
42
|
+
│ ├── rand_using_virt_lcg.py # Linear Congruential Generators (LCGs)
|
|
43
|
+
│ └── flash_rand_and_reverse.py # [Coming Soon] Specialized PRNGs
|
|
44
|
+
└── hash_rand/ # Hash-based Generators
|
|
45
|
+
├── sha_rand.py # SHA-1, SHA-256, SHA-512 based PRNGs
|
|
46
|
+
└── original_random.py # Wrapper for Python's built-in random
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🛠 Features & Usage
|
|
52
|
+
|
|
53
|
+
### 1. Human-in-the-loop Entropy (`true_rand`)
|
|
54
|
+
Uses `pyautogui` and Windows API to capture sub-microsecond timing jitter and spatial coordinates from physical mouse clicks.
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from multirandom.true_rand.rand_via_clicks import RealRandomUsingBetweenMixedClicks
|
|
58
|
+
|
|
59
|
+
# Requires a sequence of Left -> Right -> Middle clicks to seed
|
|
60
|
+
gen = RealRandomUsingBetweenMixedClicks()
|
|
61
|
+
print(gen.random())
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Physical & Hardware APIs (`true_rand`)
|
|
65
|
+
Fetch "True" randomness from remote physical processes.
|
|
66
|
+
|
|
67
|
+
- **Australian National University (ANU)**: Quantum vacuum noise via QRNG.
|
|
68
|
+
- **Random.org**: Atmospheric noise.
|
|
69
|
+
- **Roll-API**: Physical dice rolling hardware.
|
|
70
|
+
- **Weather Entropy**: (In development) Fetching randomness from real-time weather stations.
|
|
71
|
+
|
|
72
|
+
### 3. Bit-Shift Generators (`virt_rand`)
|
|
73
|
+
Implementations of the most popular mathematical generators used in modern systems.
|
|
74
|
+
|
|
75
|
+
- **Original XorShift**: Includes `reverse_roll()` to demonstrate mathematical reversibility.
|
|
76
|
+
- **Scrambled Variants**: Xorwow (CUDA), Xorshift+ (V8/Webkit).
|
|
77
|
+
- **Modern Xoshiro**: Xoshiro256**, Xoroshiro128++ (Minecraft Java 1.18+).
|
|
78
|
+
|
|
79
|
+
### 4. Mathematical LCGs (`virt_rand`)
|
|
80
|
+
Classic Linear Congruential Generators with customizable shift parameters. Includes `reverse_roll()` methods to demonstrate the insecurity of simple modular arithmetic.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 🚀 Installation & Setup
|
|
85
|
+
|
|
86
|
+
### Requirements
|
|
87
|
+
- Python 3.9+
|
|
88
|
+
- Dependencies listed in `requirements.txt` (e.g., `pyautogui`, `aiohttp`)
|
|
89
|
+
|
|
90
|
+
### Installation
|
|
91
|
+
```bash
|
|
92
|
+
pip install -r requirements.txt
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Usage
|
|
96
|
+
```python
|
|
97
|
+
from multirandom.virt_rand.xor_shift import Xorshift32
|
|
98
|
+
|
|
99
|
+
# Create a 32-bit XorShift generator
|
|
100
|
+
gen = Xorshift32(seed=12345)
|
|
101
|
+
print(gen.roll())
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 📺 Educational Resources
|
|
107
|
+
This project focuses on the limits of computer-generated randomness. For more context, check out:
|
|
108
|
+
- [Why computers can't generate truly random numbers](https://youtu.be/XDsYPXRCXAs?si=oDaFsqZyNJWVXwEi)
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 📜 License
|
|
113
|
+
Provided for educational and research purposes under the GNU General Public License v3 (G GPLv3).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
src/multirandom/__init__.py
|
|
5
|
+
src/multirandom.egg-info/PKG-INFO
|
|
6
|
+
src/multirandom.egg-info/SOURCES.txt
|
|
7
|
+
src/multirandom.egg-info/dependency_links.txt
|
|
8
|
+
src/multirandom.egg-info/requires.txt
|
|
9
|
+
src/multirandom.egg-info/top_level.txt
|
|
10
|
+
src/multirandom/hash_rand/__init__.py
|
|
11
|
+
src/multirandom/hash_rand/original_random.py
|
|
12
|
+
src/multirandom/hash_rand/sha_rand.py
|
|
13
|
+
src/multirandom/true_rand/__init__.py
|
|
14
|
+
src/multirandom/true_rand/rand_using_online_api.py
|
|
15
|
+
src/multirandom/true_rand/rand_via_clicks.py
|
|
16
|
+
src/multirandom/true_rand/weather_rand.py
|
|
17
|
+
src/multirandom/virt_rand/__init__.py
|
|
18
|
+
src/multirandom/virt_rand/flash_rand_and_reverse.py
|
|
19
|
+
src/multirandom/virt_rand/rand_using_virt_lcg.py
|
|
20
|
+
src/multirandom/virt_rand/xor_shift.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
multirandom
|
multirandom-0.0.1/PKG-INFO
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
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.
|
multirandom-0.0.1/README.md
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# MultiRandom 🎲
|
|
2
|
-
|
|
3
|
-
A comprehensive library for exploring and generating randomness across the spectrum—from true physical entropy to mathematical pseudo-randomness and everything in between.
|
|
4
|
-
|
|
5
|
-
## 🌟 Overview
|
|
6
|
-
|
|
7
|
-
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.
|
|
8
|
-
|
|
9
|
-
> [!WARNING]
|
|
10
|
-
> **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.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 🏗 Project Structure
|
|
15
|
-
|
|
16
|
-
```text
|
|
17
|
-
MultiRandom/
|
|
18
|
-
├── true_rand/ # Physical & Hardware Entropy
|
|
19
|
-
│ ├── rand_via_clicks.py # Human-in-the-loop entropy (Left/Right/Middle/Mixed)
|
|
20
|
-
│ └── rand_using_online_api.py # Quantum & Hardware APIs (random.org, ANU QRNG, Roll-API)
|
|
21
|
-
├── virt_rand/ # Mathematical Randomness (PRNGs)
|
|
22
|
-
│ ├── xor_shift.py # XorShift & Xoshiro Family (Original, Scrambled, modern)
|
|
23
|
-
│ └── rand_using_virt_lng.py # Linear Congruential Generators (LCGs)
|
|
24
|
-
├── hash_rand/ # Hash-based Generators
|
|
25
|
-
│ └── sha_rand.py # SHA-1, SHA-256, SHA-512 based PRNGs
|
|
26
|
-
└── requirements.txt # Project dependencies
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## 🛠 Features & Usage
|
|
32
|
-
|
|
33
|
-
### 1. Human-in-the-loop Entropy (`true_rand`)
|
|
34
|
-
Uses `pyautogui` and Windows API to capture sub-microsecond timing jitter and spatial coordinates from physical mouse clicks.
|
|
35
|
-
|
|
36
|
-
```python
|
|
37
|
-
from true_rand.rand_via_clicks import MultiRandomUsingBetweenMixedClicks
|
|
38
|
-
|
|
39
|
-
# Requires a sequence of Left -> Right -> Middle clicks to seed
|
|
40
|
-
gen = MultiRandomUsingBetweenMixedClicks()
|
|
41
|
-
print(gen.random())
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 2. Quantum & Hardware APIs (`true_rand`)
|
|
45
|
-
Fetch "True" randomness from remote physical processes.
|
|
46
|
-
|
|
47
|
-
- **Australian National University (ANU)**: Quantum vacuum noise.
|
|
48
|
-
- **Random.org**: Atmospheric noise.
|
|
49
|
-
- **Roll-API**: Physical dice rolling hardware.
|
|
50
|
-
|
|
51
|
-
### 3. Bit-Shift Generators (`virt_rand`)
|
|
52
|
-
Implementations of the most popular mathematical generators used in modern systems.
|
|
53
|
-
|
|
54
|
-
- **Original XorShift**: Includes `reverse_roll()` to demonstrate mathematical reversibility.
|
|
55
|
-
- **Scrambled Variants**: Xorwow (CUDA), Xorshift+ (V8/Webkit).
|
|
56
|
-
- **Modern Xoshiro**: Xoshiro256**, Xoroshiro128++ (Minecraft Java 1.18+).
|
|
57
|
-
|
|
58
|
-
### 4. Mathematical LCGs (`virt_rand`)
|
|
59
|
-
Classic Linear Congruential Generators with customizable shift parameters. Ideal for understanding how modular arithmetic creates pseudo-random patterns.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 🚀 Getting Started
|
|
64
|
-
|
|
65
|
-
### Installation
|
|
66
|
-
1. Clone the repository.
|
|
67
|
-
2. Install dependencies:
|
|
68
|
-
```bash
|
|
69
|
-
pip install -r requirements.txt
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Running Tests
|
|
73
|
-
Most modules include a built-in test suite in their `if __name__ == "__main__":` block.
|
|
74
|
-
```bash
|
|
75
|
-
python virt_rand/xor_shift.py
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 📺 Educational Resources
|
|
81
|
-
This project was built with a focus on understanding the limits of computer-generated randomness. For more context, check out:
|
|
82
|
-
- [Why computers can't generate truly random numbers](https://youtu.be/XDsYPXRCXAs?si=oDaFsqZyNJWVXwEi)
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## 📜 License
|
|
87
|
-
Provided for educational and research purposes.
|
|
@@ -1,101 +0,0 @@
|
|
|
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.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
LICENSE
|
|
2
|
-
README.md
|
|
3
|
-
pyproject.toml
|
|
4
|
-
src/multirandom.egg-info/PKG-INFO
|
|
5
|
-
src/multirandom.egg-info/SOURCES.txt
|
|
6
|
-
src/multirandom.egg-info/dependency_links.txt
|
|
7
|
-
src/multirandom.egg-info/top_level.txt
|
|
8
|
-
src/realrandom/__init__.py
|
|
9
|
-
src/realrandom/hash_rand/__init__.py
|
|
10
|
-
src/realrandom/hash_rand/original_random.py
|
|
11
|
-
src/realrandom/hash_rand/sha_rand.py
|
|
12
|
-
src/realrandom/true_rand/__init__.py
|
|
13
|
-
src/realrandom/true_rand/rand_using_online_api.py
|
|
14
|
-
src/realrandom/true_rand/rand_via_clicks.py
|
|
15
|
-
src/realrandom/true_rand/weather_rand.py
|
|
16
|
-
src/realrandom/virt_rand/__init__.py
|
|
17
|
-
src/realrandom/virt_rand/flash_rand_and_reverse.py
|
|
18
|
-
src/realrandom/virt_rand/rand_using_virt_lcg.py
|
|
19
|
-
src/realrandom/virt_rand/xor_shift.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
realrandom
|
|
File without changes
|
|
File without changes
|
{multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/hash_rand/original_random.py
RENAMED
|
File without changes
|
{multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/hash_rand/sha_rand.py
RENAMED
|
File without changes
|
|
File without changes
|
{multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/true_rand/rand_via_clicks.py
RENAMED
|
File without changes
|
{multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/true_rand/weather_rand.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multirandom-0.0.1/src/realrandom → multirandom-0.0.2/src/multirandom}/virt_rand/xor_shift.py
RENAMED
|
File without changes
|
|
File without changes
|