Estoy desarrollando un sistema para evitar fraudes en los tickets.
¿Qué necesito?
- Un algoritmo para generar un código QR que se mostrará a mis clientes en un boleto.
Megustaríacomenzardiciendoquenosénadaacercadelacriptografía,perosíleíalgunosartículossobreelcifradoasimétrico.
¿Quéaprendí?
Conlaclavepública,puedocreartextoscifrados.
Conlaclaveprivada,puedodescifrarlostextoscifrados.
Elescenariohabitualesmantenerlaclaveprivadaprivadaypúblicalaclavepública.Derecho?
Mipreguntaes,paralograrloquenecesito,¿puedoinvertiresteproceso?
Mantenerlaclaveprivadaenlaaplicación(cualquierapuedemanipularlaclave,peroseríainútil),ymantenerlaclavepúblicaprivada(enelservidor).
Lollamoencriptaciónasimétrica"invertida".
¿Por qué? Con la clave pública crearé el Código QR con el código del ticket, y si nadie más tiene mi clave pública, creo que nadie puede crear Códigos QR similares a los míos, por lo que es difícil de falsificar.
Al usar el teléfono inteligente, mi cliente podría usar mi aplicación móvil con la clave privada para descifrar el texto dentro del Código QR, y si no se pudiera descifrar, la aplicación diría que el ticket es falso.
¿Son correctas estas suposiciones y es seguro este método?
Robando la clave privada (manipulándola desde la aplicación), ¿puede un atacante generar textos cifrados como con la clave pública?