Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
[B 2010] Algoritmo Cifratura Asimmetrica
lunedì 20 aprile 2015 - 16.28
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
.NET 4.0
|
Windows XP
|
Visual Studio 2010
|
Visual Studio Express
Mrk31
Profilo
| Newbie
17
messaggi | Data Invio:
lun 20 apr 2015 - 16:28
Come da titolo sono alla ricerca di un'algoritmo di cifratura adatto al mio problema:
Ho un programma nel quale e' presente una sezione "delicata" che l'utente normale non dovrebbe utilizzare se non in condizioni eccezionali.
In tali condizioni l'utente dovrebbe contattare un servizio di assistenza che fornisca una password per accedere a tale area.
Mi servirebbe che la password avessa validita' ristretta (nel tempo) per questo avevo pensato di cifrare un a "stringa" del Genere:
- CodiceUtente+DataEOra(solo hh in modo da dare una finestra di utilizzo di un'ora)+StringaFissa
Le richiesta dovrebbe essere effettuata nel seguente modo.
L'utente contatta l'assistenza e fornisce il proprio codice e l'ora del sistema su cui sta lavorando.
- L'operatore dell'assistenza immette tali dati in un programma AdHoc che calcola la password da dare all'utente
- L'utente immette la password ed il programma la devifra e controlla che utente e orario corrispondano.
Il programma in mano all'assistenza dovrebbe solamente "cifrare", quello in mano all'utente solo "deficrare" con due chiavi differenti.
Andrebbe benissimo anche se tutte le copie del programma in mano all'utente condividessero la stessa "ChiavePrivataUtente" e se tutte le copie del programma in mano all'assistenza condividessero la stessa "ChiavePrivataAssistenza"
Il risultato della "cifratura" dovrebbe essere corto perche' deve essere dettata ed inserita a mano dall'utente...
Quale algoritmo di cifratura permetterebbe cio' generando testoCifrato "corto"?
La comunicazione sarebbe "MonoDirezionale" (quindi dovrei aver bisongo di una sola coppia di chiavi ancziche' due) e avverrebbe un'unica "conversazione"...
Vi Ringrazio In Anticipo.
P.S. E' mangiata parte del titolo...lavoro in VB 2010 (.Net 4.0)
emilier
Profilo
| Newbie
36
messaggi | Data Invio:
mar 21 apr 2015 - 11:50
Allora, mi sembra un problema che puoi risolvere con la cifratura asimmetrica.
Con il tuo programma distribuisci la chiave privata all'interno dell'algoritmo che ti gestisce la parte nascosta.
Tu con la chiave pubblica cripti i dati che ti servono nell'algoritmo di sblocco.
Ora la lunghezza da comunicare non dipende dalla chiave ma dalla lunghezza dei dati del messaggio che vuoi inviare!
ps. I classici passaggi della cifratura sono questi:
Alice chiede a Bob di spedirle il suo lucchetto, già aperto. La chiave dello stesso verrà però gelosamente conservata da Bob.
Alice riceve il lucchetto e, con esso, chiude il pacco e lo spedisce a Bob.
Bob riceve il pacco e può aprirlo con la chiave di cui è l'unico proprietario.
Qua hai il link "How to: Encrypt XML Elements with Asymmetric Keys"
https://msdn.microsoft.com/en-us/library/ms229746%28v=vs.110%29.aspx
Qua invece "How to: Decrypt XML Elements with Asymmetric Keys"
https://msdn.microsoft.com/en-us/library/ms229919%28v=vs.110%29.aspx
Direi che c'è tutto...
Mrk31
Profilo
| Newbie
17
messaggi | Data Invio:
mar 21 apr 2015 - 13:36
Si hai ragione...il mio problema e' che mi servirebbe un algoritmo di cifratura asimmetrica che generi testo cifrato "corto" diciamo un 6-10caratteri che possibilmente sia gia' implementato nelle librerie di .NET di quelli implementati conosco solamente RSA e Diffie-Hellmann...
Secondo te qual'e' meglio...in piu' la coppia di chiavi (pubblicha e privata) dovrei generarle a priori per poi includerne una (pubblica) nel software "assistenza", l'altra (privata) nel Sw "utente" in modo che quello assistanza possa solamente cifrare e quello utente solamente decifrare...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !