mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-25 19:44:18 +00:00
30 lines
989 B
Markdown
30 lines
989 B
Markdown
|
---
|
||
|
aliases:
|
||
|
- casuale
|
||
|
---
|
||
|
|
||
|
[[vincolo|Vincolo]] che richiede che i [[risultato|risultati]] di un [[generatore]] siano sia [[distribuzione uniforme|distribuiti uniformemente]] sia [[imprevedibilità|imprevedibili]] per tutte le parti coinvolte.
|
||
|
|
||
|
## Esempio
|
||
|
|
||
|
Questo generatore Python ha un output **statisticamente casuale**, ma non **crittograficamente casuale**, perchè è possibile determinare i numeri successivi che esso emetterà:
|
||
|
```python
|
||
|
def random():
|
||
|
"[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, ...]"
|
||
|
while True:
|
||
|
yield 0
|
||
|
yield 1
|
||
|
```
|
||
|
|
||
|
Questo generatore Python ha un output **statisticamente casuale** e **crittograficamente casuale**, perchè non è possibile determinare i numeri successivi che esso emetterà:
|
||
|
```python
|
||
|
def random():
|
||
|
"[0, 1, 0, 1, 1, 1, 0, 1, 1, 0, ...]"
|
||
|
while True:
|
||
|
result = flip_a_coin_in_real_life()
|
||
|
yield result
|
||
|
```
|
||
|
|
||
|
## Livello di sicurezza
|
||
|
|
||
|
Il [[livello di sicurezza]] rispetto alla casualità crittografica corrisponde all'[[entropia]] dei valori stessi.
|