Nota: sono nuovo delle pratiche di sicurezza delle informazioni, quindi sentitevi liberi di indicare qualsiasi cosa potrei fare meglio.
Situazione: Attualmente sto creando un sistema di crittografia per la messaggistica istantanea e voglio sapere se quello che sto facendo è buono.
Sto costruendo una variante di subspedizione polialfabetica:
- prendi un collegamento, quindi ottieni tutto il testo sulla pagina web
- crea un dict
char -> list of positions
dal testo della pagina web - usa il dict per mappare ogni carattere del messaggio in una posizione selezionata (a caso) nell'elenco
- codifica la posizione in esadecimale
- opzionalmente comprime il risultato se si tratta di un file crittografato
Mi restituisce cose del genere: 5118 35b0 60ec 3e19 6aa6 6bfb 32db 6cd7 4a2d
per una stringa di 9 caratteri.
C'è il codice completo del modulo Python e un piccolo strumento per testare tutto il modulo: link
Domande:
- È sicuro e possibile creare una pagina Web per generare una chiave pubblica?
- Alice vuole parlare con Bob, ad esempio, così Alice genera un hash con una password e alcuni caratteri casuali memorizzati nel suo computer (o altrove)
- Quindi Bob ottiene l'hash e genera il proprio con lo stesso metodo
- Bob inserisce entrambi gli hash nella pagina web e poi fornisce la chiave
private
- Quindi la pagina web restituisce un link che reindirizza alla chiave
private
se le informazioni fornite dai parametri php generano uno dei due hash.
- C'è un modo per prevenire gli attacchi di sniffing?
Grazie per il tuo aiuto.