Crittografa i dati, ancora in grado di eseguire ricerche di testo

2

Se utilizzo rot13 crypto, posso ancora eseguire ricerche di testo. Ad esempio:

Query:           John
Encrypted Query: WBUA

Database Entries: John Smith => WBUA FZVGU
                  Jon Babe   => WBA ONOR

Result: WBUA matches WBUA FZVGU

Esistono metodi crittografici più sicuri (ad esempio con una chiave sicura), con cui posso anche fare ricerca dei testi?

Grazie

    
posta John Smith 10.09.2016 - 15:19
fonte

3 risposte

2

No, questo non è possibile con la crittografia sicura. La ragione è molto semplice.

Ciò che fai richiede che tu sia in grado di creare il testo cifrato ξ (λ) di una piccola porzione di testo semplice λ e quindi di trovare quel testo cifrato ovunque in cui λ si verifica in un pezzo più grande di testo normale Λ.

Quando le persone fanno cripto, tentano di raggiungere i cosiddetti obiettivi di protezione. Uno di questi è di solito o da quelli in atto ne consegue che un osservatore esterno non può capire se lo stesso pezzo di testo si verifica due volte nello stesso messaggio o anche se 2 messaggi derivano dallo stesso testo in chiaro. Pertanto, ξ (Λ) non è garantito per contenere ξ (λ) e trovare ξ (λ) in ξ (Λ) non ti dice nulla perché può apparire ovunque.

    
risposta data 10.09.2016 - 15:31
fonte
2

Credo che la tecnica che stai cercando si chiami Crittografia completamente omomorfica

Un sistema di questo tipo consente di utilizzare input crittografati per eseguire operazioni arbitrarie su dati crittografati durante la restituzione di un output crittografato.

Il problema attuale è che le operazioni sui sistemi FHE sono terribilmente lente.

    
risposta data 10.09.2016 - 16:20
fonte
2

Un'alternativa potrebbe essere l'uso di un indice di ricerca (indice invertito).

Indicizza i dati prima della crittografia. Quindi crittografare l'indice.

Devi eseguire la decrittografia dell'indice prima di eseguire la ricerca, ma l'indice potrebbe essere molto più piccolo dei dati. Inoltre, a seconda della tecnica dell'indice, potrebbe essere necessario decifrare solo alcune parti dell'indice.

(Questo approccio potrebbe non essere efficace se il testo nel database viene aggiornato frequentemente.)

Indice di esempio (astrazione):

Word    Record#
----    --------
anders  245,354
babe    181
bill    133,354
david   201,245
john    139
jon     181,310
niven   201
smith   133,139,310
    
risposta data 11.09.2016 - 01:43
fonte

Leggi altre domande sui tag