"Invertito" crittografia asimmetrica

1

Sto sviluppando un sistema per prevenire le frodi nei biglietti.

Di cosa ho bisogno?

  1. Un algoritmo per generare un codice QR che verrà mostrato ai miei clienti in un ticket.

  • Un algoritmo per convalidare (offline) il QR Code, utilizzando l'utente smartphone (Android o iOS).
  • 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?

        
    posta 05.12.2014 - 02:54
    fonte

    1 risposta

    4

    Pensiero interessante.

    Ciò di cui hai bisogno è una firma digitale.

    A digital signature is a mathematical scheme for demonstrating the authenticity of a digital message or document. A valid digital signature gives a recipient reason to believe that the message was created by a known sender (authentication) and that the message was not altered in transit (integrity). Digital signatures are commonly used for software distribution, financial transactions, and in other cases where it is important to detect forgery or tampering.

    Vedi di più su link .

    Is this assumption correct and is this method secure?

    Credo che il tuo metodo sia sicuro, ma usa invece le firme digitali, sono state create per questo.

    Stealing the private key (tampering it from the app), can an attacker generate cypher texts like with the public key?

    Usando la chiave privata non puoi criptare un testo come usare la chiave pubblica.

        
    risposta data 05.12.2014 - 03:03
    fonte

    Leggi altre domande sui tag