Esiste un tipo di crittografia che restituisce un numero costante di caratteri?

-1

Mi chiedo se esista un qualsiasi tipo di algoritmo di (non hashing) di crittografia pubblicamente noto che generi un numero costante di caratteri indipendente dall'input.

Mi sono imbattuto in una piattaforma online che genera token (una stringa Base64 da 27 caratteri) a seconda dell'email dell'utente e della password , che l'utente può utilizzare per accedere invece della combinazione di email e password, ma per stessa email e password utente può generare così tanti numero di token.

Ci sono due teorie nella mia mente per raggiungere questo obiettivo.

  • Salva tutti i token generati insieme all'email e alla password dell'utente in una specifica tabella nel database, quindi usali per verificare le credenziali dell'utente. ma questo non sembra essere un modo efficiente e non ha senso salvare TUTTI i token
  • Cripta l'e-mail e la password dell'utente insieme a un po 'di sale, quindi decrittografa il token fornito e utilizza le credenziali decrittografate per registrare l'utente.

Esempio di token

nsBpqEYfFFemSvZqE5Sn4dqwrLI

    
posta Abood Nour 30.12.2015 - 23:56
fonte

1 risposta

2

Certo. Tutti i codici a blocchi crittografano un blocco completo di input per un blocco completo di output. (Ad esempio, in tutte e 3 le versioni di AES la dimensione del blocco è 128 bit, o 16 ottetti / caratteri ASCII.)

E se nel tuo ultimo blocco di input hai meno di 16 byte completi, ti basta inserire uno dei molti schemi di riempimento prima di crittografare e di nuovo dopo la decifrazione.

Usando il padding puoi far esplodere l'input e corrispondentemente l'output in qualsiasi dimensione tu voglia. (Non c'è modo di ridurlo a qualsiasi dimensione desiderata, però.)

Ma senza guardare il codice che genera quei token penso che possiamo solo fare supposizioni più o meno istruite sul significato di quei token.

    
risposta data 31.12.2015 - 00:12
fonte

Leggi altre domande sui tag