Utilizzo di GPG o PGP per la crittografia / decodifica di database simmetrici in c #

3

Sto cercando di crittografare / decifrare simmetricamente le informazioni in un database. Queste informazioni sono costituite da brevi informazioni, che devono essere crittografate individualmente quando viene chiamato un metodo specifico.

Ho svolto ricerche utilizzando AES_256 in modalità GCM, ma continuo a leggere la raccomandazione che non dovrei "rollare il mio protocollo di crittografia". vedi questi link per gli esempi

Lezioni apprese e idee sbagliate riguardanti crittografia e crittologia

link

Ho bisogno di incorporare la crittografia / decrittografia nel codice.

Posso usare tranquillamente GPG o PGP per codificare / decrittografare il codice e, in caso affermativo, come?

In caso contrario, qualsiasi suggerimento sulla migliore libreria da utilizzare per AES in GCM sarebbe apprezzato.

Grazie

    
posta crawfish 10.07.2012 - 18:33
fonte

1 risposta

3

La parte centrale di PGP / GPG è la crittografia asimmetrica. Non ha senso usare GPG senza quella parte perché il resto è solo semplice en- / decrittografia simmetrica.

Anche l'utilizzo degli algoritmi di crittografia da GPG non ha senso dato che Dot.Net li ha già implementati. Non sono sicuro che sia presente anche la modalità GCM, ma in caso contrario puoi ancora utilizzare la versione Dot.Net di BounyCastle, che ha il supporto GCM.

Dato che non hai un provider di database che supporti la crittografia, a mio parere l'unica opzione è sviluppare il tuo "protocollo personale".

Quanti tasti utilizzare e come cifrare cosa con quale chiave dipende dalle esigenze di sicurezza dei dati che stai memorizzando. Assicurati di discutere intensamente il tuo progetto finale qui su Stackoverflow o su IT Sicurezza filiale.

BTW: anche se GCM emette un testo cifrato esattamente come il testo normale richiede ulteriori parametri come IV e il tag di autenticazione (il tag auth è facoltativo) che devono essere salvati. Pertanto i dati da salvare sono di nuovo più grandi del testo normale. Ma fino a quando non hai milioni di record questo non rende IMHO una grande differenza al giorno d'oggi.

    
risposta data 10.07.2012 - 19:52
fonte

Leggi altre domande sui tag