mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-25 19:44:18 +00:00
17 lines
504 B
Markdown
17 lines
504 B
Markdown
|
[[funzione]] che implementa una [[famiglia di funzioni pseudo-casuali]] in modo semplice ed efficiente, ma [[malleabilità|malleabile]] ed [[riutilizzo di chiavi nell'one-time pad|efficace per un singolo messaggio]].
|
||
|
|
||
|
## Funzionamento
|
||
|
|
||
|
L'*one-time pad* si basa sull'invertibilità della funzione logica [[XOR]].
|
||
|
|
||
|
```python
|
||
|
def onetimepad(key):
|
||
|
def encrypt(plaintext) -> ciphertext:
|
||
|
return key ^ plaintext
|
||
|
def decrypt(ciphertext) -> plaintext:
|
||
|
return key ^ ciphertext
|
||
|
return encrypt, decrypt
|
||
|
```
|
||
|
|
||
|
|