1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-26 20:04:19 +00:00
appunti-steffo/8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/one-time pad.md
2023-09-21 02:46:23 +02:00

16 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
```