crypto/README.md
Rnhmjoj 916515e5e2 Miglioramenti vari
* Sostituito il test di primalità con il Miller-Rabin (k=64) (più
veloce ma non deterministico)
* Utlizzati generatori in sostituzione alle tuple (più veloce)
* Sostituita la concatenazione di stringhe con join (più veloce)
* Correzioni per PEP8
2013-12-06 19:57:21 +01:00

35 lines
1.2 KiB
Markdown

# Crittografia
## Pacchetto di cifrari storici e famosi in python 3
### Informazioni
Una raccolta di cifrari storici e famosi in python 3.
Per ora contiene:
* ROT13;
* Cifrario di Vigenère;
* Cifrario di Vernam
* Numero di Gödel
Si può scegliere se codificare solo lettere dell'alfabeto, caratteri ASCII o unicode UTF-8 a seconda del modulo che si importa.
È in grado di generare un onetimepad per il cifrario di Vernam con numeri casuali veri dal microfono tramite il modulo [pyaudio](http://people.csail.mit.edu/hubert/pyaudio/).
### Istruzioni
Codifica:
*.rot13(stringa): stringa da codificare;
*.vigenère(stringa,verme): stringa da codificare e verme(chiave di codifica);
*.vernam(stringa): stringa da codificare;
*.gödel(stringa,primo): stringa da codificare e un numero primo(è consigliabile di alcune migliaia di cifre);
Decodifica:
*.rot13(stringa): stringa codificata;
*.vigenère(stringa,verme): stringa codificata e verme(chiave di codifica);
*.vernam(stringa,pad): stringa codificata e il onetimepad in una tupla;
*.gödel(stringa,primo,n): stringa codificata, numero primo e lunghezza della stringa decodificata;
### Utilizzo
Nel file "Esempio.py" c'è un esempio di utilizzo di ogni funzione.