Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Crittografia
Forum - Java - Crittografia

Avatar
salcam (Normal User)
Newbie


Messaggi: 1
Iscritto: 28/02/2006

Segnala al moderatore
Postato alle 11:12
Martedė, 28/02/2006
Salve, sto facendo un progetto universitario, dove illustro tutti i tipi di crittografia raccolti in una veste grafica. Cio? un programmino tipo Open-SSL ma con veste grafica.
Ho avuto un problema: Siccome d? la possibilit? di leggere le chiavi da un file di testo (Naturalmente crittografato) vorrei sapere se, e come, ? possibile fare il casting tra Key e String. Infatti da file leggo una stringa, ma questa poi deve diventare una chiave.

Grazie in anticipo

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 19:23
Venerdė, 03/03/2006
E possibile ma dipende da che algoritmo hai usato per cifrare la chiave.

Ti faccio un esempio, con RSA se salvi la chiave pubblica con getEncoded() (quindi fos.write(chiave.getEncoded())) viene usato X.509, e quindi per ricrearla farai:

Codice sorgente - presumibilmente Java

  1. ...
  2. X509EncodedKeySpec ks = new x509EncodedKeySpec(bytesDellaChiaveLettaDaFile):
  3. KeyFactory kf = KeyFactory.getInstance("RSA");
  4. PublicKey pk = kf.generatePublic(ks);
  5. ...



nel caso di una chiave privata se non la codifichi in modo avanzato ma col semplice getEncoded userai al posto di X509 PKCS8.

PM Quote
Avatar
yam (Normal User)
Newbie


Messaggi: 2
Iscritto: 04/03/2006

Segnala al moderatore
Postato alle 1:34
Sabato, 04/03/2006
Domanda: Ho una chiave TripleDES che ho prima cifrato usando chiave pubblica RSA e poi decifrato usando la chiave privata RSA.Quando ho decifrato la chiave l'ho inserita in un vettore di byte.Come faccio a trasformare questo vettore di byte in una vera SecretKey che poi dovro di nuovo utilizzare per altre crittazioni?Grazie..

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 16:53
Sabato, 04/03/2006
praticamente una chiave di sessione TripleDES, se vai nella sezione Java trovi il programma RSACoder, programma che fa questa cosa solo usando una chiave Blowfish,  prova a fare:

Codice sorgente - presumibilmente Java

  1. ...
  2. SecretKey chiave = new SecretKeySpec(keyPlain, "TripleDES");
  3. ...



dove keyPlain ? un array di bytes della chiave in chiaro.

Nota: l'algoritmo si chiama TripleDES nel JCE di Sun, se stai usando il bouncy castle si chiama DESede.

Ultima modifica effettuata da netarrow il 04/03/2006 alle 16:57
PM Quote
Avatar
yam (Normal User)
Newbie


Messaggi: 2
Iscritto: 04/03/2006

Segnala al moderatore
Postato alle 1:42
Domenica, 05/03/2006
Infatti funziona solo con DESede..ma purtroppo non ho capito perche'... anche perche' prima avevo appunto usato tripleDES...sono nuova di queste cose abbi pazienza...qual'e' la differenza?
Che cos'e' il  bouncy castle?

Ultima modifica effettuata da yam il 05/03/2006 alle 1:43
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 14:51
Domenica, 05/03/2006
Il bouncy castle ? una libreria di terzi per la sicurezza/crittografia, se non la conosci vuol dire che non l'hai installata visto che non ? inclusa nel JDK e bisogna aggiungerla.
Non c'? differenza tecnica fra TripleDES e DESede, sono lo stesso algoritmo, si chiama TripleDES perch? il DES viene applicato per 3 volte, la prima cifra, le seconda decifra, la terza cifra ancora(con 2 o 3 chiavi diverse), in inglese encryption, decryption, encryption, ed ecco che viene fuori DESede. Quindi a seconda di come lo chiama il JCE devi cambiare nome; attenta alle maiuscole.

ciao

Ultima modifica effettuata da netarrow il 05/03/2006 alle 14:55
PM Quote