1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-24 19:24:19 +00:00
appunti-steffo/8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/casualità crittografica.md
2023-09-21 02:46:23 +02:00

30 lines
No EOL
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.