mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2025-03-16 21:43:32 +00:00
16 lines
581 B
Markdown
16 lines
581 B
Markdown
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/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
|
|
```
|
|
|
|
|