Avatar billede jopsen Nybegynder
25. juli 2006 - 17:21 Der er 3 kommentarer og
1 løsning

Asymmetrisk krypteringsalgoritme med nem private key

Hej,

Jeg er igang med at skrive et program i C# (.Net 1.1 og Mono), som kan kommunikere med sig selv over netværk (Et Chat program - P2PChat).

Da det ikke er menning at der skal være nogen central server, skal alt information om en bruger ligge i brugers brugernavn og password.
Den eneste måde at jeg kan få en klient til at vertificere at en anden klient er indehaver af et bestemt password og brugernavn, er med en asymmetrisk krypteringsalgoritme (private-/public-key). Ligesom i PGP/GPG osv...

.Net har nogle fine implementeringer af DSA og RSA, men begge benytter sig af tilfældige tal og lang private keys.
Jeg har brug for en lignde algoritme, hvor man kan bruge et normalt password (f.eks. SesamLukDigOp) som privatekey.

Er der nogen som er bekendt med en sådan algoritme?
(Der behøves ikke være en eksisterende .Net implementering...)

Eller evt. nogen der kender en anden måde at få x klient til at vertificere at y klient har z password uden at x klient kender z password ???

Håber der er nogen der kan hjælpe mig, jeg synes selv jeg har været store dele af nettet igennem og kigget på bl.a. Zero-knowledge password proof...
Avatar billede jopsen Nybegynder
25. juli 2006 - 21:23 #1
Jeg er nu kommet frem til ECC, som en mulig løsning:
http://en.wikipedia.org/wiki/Elliptic_curve_cryptography
http://en.wikipedia.org/wiki/Elliptic_Curve_DSA

Er der nogen der kender et godt platformsuafhængige bibliotek/Lib, med en implementering af ECC, også gerne .Net/Mono bindings ???

Eller er der nogen som ved om/hvordan man kan lanve et normalt password (SesamLukDigOp) om til en private key, der kan bruges af RSA eller DSA ???

Det kan godt være jeg arbejder en smule 2 sporet, men der er flere løsninger på mit problem...
Avatar billede mortendahl2003 Nybegynder
09. august 2006 - 22:26 #2
Hvis det er et problem med asymmetriske algoritmer saa kan du formentlig ogsaa lave et fornuftigt system med bl.a. symmetriske..

Af implementationer findes der http://www.bouncycastle.org/csharp/.
Avatar billede jopsen Nybegynder
10. august 2006 - 01:03 #3
Det er ikke det et problem med asymmetriske algoritmer... Problemet var at alle .Net's standart implementeringer benytter et tilfældigt generet private key... hvilket ikke er  optimalt hvis man vil have at brugeren skal kunne huske dette password... også når han/hun går fra computer til computer...

Men http://www.bouncycastle.org/csharp/ har nogle gode implementeringer og jeg vil se nærmere på dem... (Mange tak...) Der er blandt en ECDSA implementeringen, ECC benytter generelt et kortere password/privat-key, derfor vil jeg gerne benytte den.
Avatar billede mortendahl2003 Nybegynder
10. august 2006 - 09:49 #4
Hvordan vil du lave noeglen udfra identiteten (brugernavn/adgangskode)? Jeg mindes nemlig noget om at det er svaert at lave det ordentligt, hvis overhovedet muligt, men det er langt vaek lige nu..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester