Sto sviluppando un sistema per prevenire le frodi nei biglietti.
Di cosa ho bisogno?
- Un algoritmo per generare un codice QR che verrà mostrato ai miei clienti in un ticket.
Vorreiiniziaredicendochenonsonullasullacrittografia,maholettoalcuniarticolisullacrittografiaasimmetrica.
Checosahoimparato?
Conlachiavepubblica,possocrearetesticifrati.
Conlachiaveprivata,possodecifrareitesticifrati.
Loscenarionormaleèquellodimantenereprivatalachiaveprivataepubblicalachiavepubblica.Giusto?
Lamiadomandaè,perottenereciòdicuihobisogno,possoinvertirequestoprocesso?
Mantenerelachiaveprivatanell'app(chiunquepuòmanometterelachiave,masarebbeinutile)emantenerelachiavepubblicaprivata(nelserver).
Lochiamocrittografiaasimmetrica"invertita".
Perché? Con la chiave pubblica creerò il codice QR con il codice del biglietto, e se nessun altro ha la mia chiave pubblica, credo che nessuno possa creare codici QR simili ai miei, quindi difficile da falsificare.
Usando lo smartphone, il mio cliente poteva utilizzare la mia app mobile con la chiave privata per decrittografare il testo all'interno del QR Code, e se non poteva essere decifrato, l'app diceva che il ticket è falso.
Questa ipotesi è corretta ed è sicuro questo metodo?
Rubando la chiave privata (manomettendola dall'app), un utente malintenzionato può generare testi cifrati come con la chiave pubblica?