916515e5e2
* 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
35 lines
1.2 KiB
Markdown
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.
|