Jump to content
nightkhaos

RST Messenger

Recommended Posts

chiar daca e chat room tot poti sa il faci ... cu putina gandire (un chat room intre zece persoane poate fi gandit ca 10 oameni fiecare avand sesiune de mesaje cu fiecare... deci nu mai face serverul broadcast-ul ... ci face doar forward la mesajele primite de la un client pentru toti ceilalti

Link to comment
Share on other sites

Si cum se face cu diferenta dintre privatekey si publickey? privatekey este publickey cryptat sau invers, ori este alta legatura? sau publckek e pentru cryptarea mesajelor, iar privatekey este pentru autentificare?

Dar nu, mai bine, fiecare user sa primeasca de la celalalt o cheie de decryptare, criptata (folosind mai multi algoritmi + un algoritm care, la logare, sa selecteze o ordine aleatorie, pentru algoritmii folositi si numarul lor >3), si cheia de decryptare sa fie obtinuta conform cheii de criptare a parolei, trimisa de celalalt?

Adica:

A este un user, iar B, celalalt. In fiecare pas, B si A sunt comutativi.

1. A se logheaza.

2. A genereaza o cheie (privatekeyA)

3. A genereaza o (alta) cheie (publickeyA)

4. A trimite publickeyA lui B (direct, prin IP, bineinteles, cryptata intr-un alt algoritm, identic in toti clientii)

5. B foloseste publickeyA pentru a crypta privatekeyB, obtinand recureekyB

6. B trimite securekeyB lui A.

7. A decrypteaza securekeyB, cu ajutorul publickeyA, obtinand privatekeyB

8. A trimite mesaje cryptate cu privatekeyA.

9. A primeste mesaje si le afiseaza (pe ecran) decriptate conform privateketB

Daca nu ma inteles, corect, ceva, va rog sa ma luminati!

O zi buna!

Link to comment
Share on other sites

ai cautat si tu pe google public key cryptography?

pe scurt:

public key=cheie publica (vizibila si altora)

private key=cheie privata (vizibila doar celui caruia ii apartine)

cum se creaza cheile:

e destul de complicat ideea e ca sunt generate pe baza unor numere prime foarte mari si sunt construite in asa fel incat cu cheia publica poti doar sa encriptezi datele si cu cea privata doar sa decriptezi si cheia privata nu poate fi computata(usor) stiind cheia publica

Link to comment
Share on other sites

Poti face un chat open source foarte secure . Criptezi conversatiile cu RSA.

Fiecare user isi face frumos o cheie publica RSA , la logare o trimite la server iar serverul o retine pentru sesiunea respectiva.

Fiecare user intr-un chat room va cripta mesajele cu cheia publica a serverului , mesajele cand ajung la server sunt decriptate cu cheia privata si trimise recriptate la fiecare user in parte ( cu cheia lui ) .

In modul asta tot chatul e securizat, prin sniffing e imposibil sa decriptezi conversatiile

RSA se sparge relativ usor cu wiener sau CRT(teorema chineza a resturilor) pentru securitate propun un vpn (sau un tcp/ip stack construit de la 0 de noi)

REVIN CU EDIT

Parerea mea e ca RSA e de domeniul trecutului iar criptografia cu cheie publica de care vorbesc toti aici deja e depasita:) ... cel mai bine e ca pe partea de securitate sa incercam sa stabilim o conexiune privata si criptata (SSL/TSL) de tipul point 2 point intre noi si server fiecare dintre noi primeste un certificat sau o semnatura digitala.

(imi pare rau ca raspund cu intarziere dar am avut alte prioritati momentan)

In primul rand ne gandim pe ce tip de OS se indreapta clientul nostru!;

1.Windows

2.UNIX BASED(aici intra tot ce inseamna linux si mac os)

In caz de se aleg ambele recomand JAVA

Link to comment
Share on other sites

Parerea mea e ca RSA e de domeniul trecutului iar criptografia cu cheie publica de care vorbesc toti aici deja e depasita
stabilim o conexiune privata si criptata (SSL/TSL)

De ce te bagi in seama daca nu stii despre ce vorbesti? SSL/TLS folosesc RSA , daca e stricat RSA-ul e stricat si SSL-u.

De ce sa recomanzi java cand ai c++?

Link to comment
Share on other sites

Stiu ce vorbesc tu ai spus clar sa folosim RSA pentru comunicatie si ti-am explicat ca nu are nici un rost sa faci o comunicatie client- server in care mesajele sunt criptate cu RSA :|... criptografia cu cheie publica asta FACE e un schimb de mesaje criptate iar (SSL/TSL) e un layer criptat:| si nu implica RSA neaparat e un protocol peste comunicatie care este criptat(SECURE SOCKET LAYER) poate foloseste RSA ce folosesti sau ce stii tu dar el e conceput in asa fel incat sa foloseasca ce criptosistem vrei tu eu recomand BLOWFISH care parerea mea e cel mai smecher la ora actuala.Ba mai mult ca sa faci o conexiune cum ai spus tu cu cheie publica iti trebuie un Checksum/Hash pentru a verifica integritatea datelor,iar acest lucrul iti lasa o vulnerabilitate destul de mare de rezolvat

Link to comment
Share on other sites

Stiu ce vorbesc tu ai spus clar sa folosim RSA pentru comunicatie si ti-am explicat ca nu are nici un rost sa faci o comunicatie client- server in care mesajele sunt criptate cu RSA :|... criptografia cu cheie publica asta FACE e un schimb de mesaje criptate iar (SSL/TSL) e un layer criptat:| si nu implica RSA neaparat e un protocol peste comunicatie care este criptat(SECURE SOCKET LAYER) poate foloseste RSA ce folosesti sau ce stii tu dar el e conceput in asa fel incat sa foloseasca ce criptosistem vrei tu

Folsim un algoritm asimetric (gen RSA sau ceva bazat pe problema logaritmului discret - ElGamal, Diffie-Hellman sau chiar ?i ceva bazat pe curbe eliptice) pentru schimbul de chei. ?i apoi un cifru bloc (AES sau Serpent; restul nu mai conteaz?) pentru a cripta/decripta comunica?ia.

Nota bene: pentru un volum mare de date nu se folosesc algoritmii asimetrici. Sunt prea len?i.

eu recomand BLOWFISH care parerea mea e cel mai smecher la ora actuala.

Huh? Dac? spuneai Twofish (care este un Blowfish îmbun?t??it), aveai un "mmkay" din partea mea.

AES-ul ce are? Sau Serpent?

Ba mai mult ca sa faci o conexiune cum ai spus tu cu cheie publica iti trebuie un Checksum/Hash pentru a verifica integritatea datelor,iar acest lucrul iti lasa o vulnerabilitate destul de mare de rezolvat

OK, aici m-ai pierdut.

Apropo,

http://en.wikipedia.org/wiki/Skype_security

A?i auzit de Skype, nu?

Edited by wvw
Link to comment
Share on other sites

Eu zic ca sunt multe pareri nimic concret ... mai bine sa inceapa cineva ... ca e in java sau c++ sau VB sau CSHARP ... egal... impoartant e sa fie mai multi care stiu programare in limbajul in care se incepe proiectul ... si pe langa designeri care sa ii dea o forma ... un aspect placut ...

Daca am timp sa vad daca reusesc sa fac ceva ... ca idee ... am sa incerv in VB ... si daca e k am sa va pun la dispozitie sursa ...

P.S. nu ma intereseaza banii in proectul asta doar sa invat daca se realizeaza in VB ar fi putin mai simplu desi nu stiu nici VB foarte bine ... :) dar nu strica ... merita incercat ...:) ... parerea mea ...

Edited by johnny5
Link to comment
Share on other sites

Stiu ce vorbesc tu ai spus clar sa folosim RSA pentru comunicatie si ti-am explicat ca nu are nici un rost sa faci o comunicatie client- server in care mesajele sunt criptate cu RSA :|... criptografia cu cheie publica asta FACE e un schimb de mesaje criptate iar (SSL/TSL) e un layer criptat:| si nu implica RSA neaparat e un protocol peste comunicatie care este criptat(SECURE SOCKET LAYER) poate foloseste RSA ce folosesti sau ce stii tu dar el e conceput in asa fel incat sa foloseasca ce criptosistem vrei tu eu recomand BLOWFISH care parerea mea e cel mai smecher la ora actuala.Ba mai mult ca sa faci o conexiune cum ai spus tu cu cheie publica iti trebuie un Checksum/Hash pentru a verifica integritatea datelor,iar acest lucrul iti lasa o vulnerabilitate destul de mare de rezolvat

Transport Layer Security - Wikipedia, the free encyclopedia

Implica NEAPARAT public key cryptography si daca nu e securizat sistemul de cheie publica atunci se duce tot layeru securizat . Daca-ti poate decripta ce ai trimis tu criptat cu cheia publica adica-ti afla cheia simetrica poate decripta orice mesaj trimis/primit de tine de-acum incolo.

Link to comment
Share on other sites

Folsim un algoritm asimetric (gen RSA sau ceva bazat pe problema logaritmului discret - ElGamal, Diffie-Hellman sau chiar ?i ceva bazat pe curbe eliptice) pentru schimbul de chei. ?i apoi un cifru bloc (AES sau Serpent; restul nu mai conteaz?) pentru a cripta/decripta comunica?ia.

Nota bene: pentru un volum mare de date nu se folosesc algoritmii asimetrici. Sunt prea len?i.

Huh? Dac? spuneai Twofish (care este un Blowfish îmbun?t??it), aveai un "mmkay" din partea mea.

AES-ul ce are? Sau Serpent?

OK, aici m-ai pierdut.

Apropo,

Skype security - Wikipedia, the free encyclopedia

A?i auzit de Skype, nu?

Daca te uiti atent e ceea ce am spus eu .... el foloseste criptografie publica cu RSA pentru autentificare iar la autentificare se trimite un hash al parolei(pentru a verifica integritatea). deci serverul are 2 perechi de chei de forma (n,e)(cheia publica) si (n,d) cheia privata iar clientul la fel (n,e),(n,d) in momentul in care clientul vrea sa trimita un mesaj cripteaza mesajul cu cheia lui publica dupa un padding scheme(care se gasesc o droaie pe google) pentru autentificare. Pentru comunicatie se stabileste o conexiune (SSL/TSL) criptata cu AES....NU inteleg cu ce e asa diferit fata de ce am spus eu:) ...

Probabil sunt multi programatori ce cunosc multe limbaje de programare ca sa putem lucra toti la acelasi proiect folosind mai multe limbaje de programare, vreau ca fiecare dintre voi care vreti sa va implicati sa spuneti ce limbaj stiti , in ce masura, care e cel mai amplu program facut de voi.Pentru cei care se cred prea buni pentru asa ceva ii rog frumos sa nu comenteze sa nu posteze aiurea samd.Va multumesc!

http://en.wikipedia.org/wiki/Blowfish_(cipher)

Poate cititi si va documentati inainte sa comentati POATE VEDETI DIFERENTA DINTRE BLOWFISH SI AES (NU EXISTA O CRIPTANALIZA CARE SA SPARGA UN BLOWFISH IN FULL ROUND) ... SCHIMBUL DE KEY CU BLOWFISH ARE 4 KB DE DATE,FOOTPRINTUL CONSUMA 4KB RAM....e un mod de a cripta mult superior AES/SERPENT

Link to comment
Share on other sites

Pana la partea de encriptie faceti macar serverul / clientul care comunica asa in plain. Din curiozitate ar iesi ceva gen chat (adica fiecare se logheaza la sv si vorbeste cu fiecare) sau ceva bazat pe conturi, o baza de date si lista de contacte ?

Link to comment
Share on other sites

Transport Layer Security - Wikipedia, the free encyclopedia

Implica NEAPARAT public key cryptography si daca nu e securizat sistemul de cheie publica atunci se duce tot layeru securizat . Daca-ti poate decripta ce ai trimis tu criptat cu cheia publica adica-ti afla cheia simetrica poate decripta orice mesaj trimis/primit de tine de-acum incolo.

VORBEAM DE RSA nu de public key cryptography

cmiN ,poate binedispune un admin de a ne furniza un DLL cu un API de logare in cazul in care e ok sa returneza 1 sau true in caz de nu e ok sa returneze 0 sau false , sa se poata loga doar userii comunitatii...

Link to comment
Share on other sites

http://en.wikipedia.org/wiki/Blowfish_(cipher)

Poate cititi si va documentati inainte sa comentati POATE VEDETI DIFERENTA DINTRE BLOWFISH SI AES (NU EXISTA O CRIPTANALIZA CARE SA SPARGA UN BLOWFISH IN FULL ROUND) ... SCHIMBUL DE KEY CU BLOWFISH ARE 4 KB DE DATE,FOOTPRINTUL CONSUMA 4KB RAM....e un mod de a cripta mult superior AES/SERPENT

Mul?umesc pentru linkul cu Blowfish de pe Wikipedia. Îmi erau necunoscute aceste detalii.

Poate cândva ne explici într-un tutorial în ce mod este superior Blowfish fa?? de AES/Serpent/Twofish (cu expcep?ia vitezei, acolo sunt de acord). Mai ales c? ai dovedit c? ?tii mai multe lucruri decât Bruce Schneier, ceea ce este impresionant.

Continua?i, v? rog

Link to comment
Share on other sites

Mul?umesc pentru linkul cu Blowfish de pe Wikipedia. Îmi erau necunoscute aceste detalii.

Poate cândva ne explici într-un tutorial în ce mod este superior Blowfish fa?? de AES/Serpent/Twofish (cu expcep?ia vitezei, acolo sunt de acord). Mai ales c? ai dovedit c? ?tii mai multe lucruri decât Bruce Schneier, ceea ce este impresionant.

Continua?i, v? rog

Iti explic pe exemplul nostru pentru ca asta ne intereseaza!Blowfish are cheia pe max 488 bits si lucreaza cu blocks de 64 bits in timp ce AES foloseste 256 bits.Ideea este ca la fisiere mari sau la transferuri de informatie mari AES E MAI BUN DECAT BLOWFISH dar pentru un chat pentru transferuri ff mici tinand cont de cheia de 448 bits ..BLOWFISH OWNS AES si la viteza si ca mod criptare...NIMENI nu scrie mai mult de 512 bytes intr-un mesaj pe messenger si chiar daca vrea sa scrie mai mult de atat o sa limitam noi. In 512*8/64 block's de BLOWFISH e imposibil sa afli o cheie de 488 de bits sa decriptezi mesajul...Acum sper ca intelegi dc am zic ca BLOWFISH e mai bun ca AES

Link to comment
Share on other sites

parca a facut temp un chat de genul ?

Da, jasech @ sourceforge.

Iti explic pe exemplul nostru pentru ca asta ne intereseaza!Blowfish are cheia pe max 488 bits si lucreaza cu blocks de 64 bits in timp ce AES foloseste 256 bits.Ideea este ca la fisiere mari sau la transferuri de informatie mari AES E MAI BUN DECAT BLOWFISH dar pentru un chat pentru transferuri ff mici tinand cont de cheia de 448 bits ..BLOWFISH OWNS AES si la viteza si ca mod criptare...NIMENI nu scrie mai mult de 512 bytes intr-un mesaj pe messenger si chiar daca vrea sa scrie mai mult de atat o sa limitam noi. In 512*8/64 block's de BLOWFISH e imposibil sa afli o cheie de 488 de bits sa decriptezi mesajul...Acum sper ca intelegi dc am zic ca BLOWFISH e mai bun ca AES

OK. Dar aspectul ?sta conteaz? mai pu?in în stadiul curent. La fel de bine putem s? ne apuc?m s? facem un cifru bloc de la 0. ?i s? discut?m înc? 10 pagini de acum încolo.

Ideea este s? îni?iem un proiect din care s? înv???m ceva ?i care s? mobilizeze comunitatea (sau, m? rog, o parte; oricum comunitate este mult spus).

S? punem de un roadmap.

Care sunt cerin?ele pentru versiunea alpha?

Windows-only, cross-platform, cu sau f?r? criptare (aici a? merge pe sugestia lui begood), cum s? arate interfa?a clientului?

Dar înainte de asta: cine se bag? ?i ce ?tie fiecare? Chiar dac? nu ?ti?i o tehnologie/un limbaj de programare bine, nu-i bai, cap ?i voin?? s? ave?i. Ce a?i vrea s? înv??a?i lucrând la proiectul ?sta?

Pute?i spune aici sau aici.

Edited by wvw
Link to comment
Share on other sites

Am facut partea de comunicatie ... Un SSLSocket, si am nevoie de un certificat valid daca se poate dar sa fie semnat de o autoritate cunoscuta!Ms ...Daca in 15 minute nu primesc reply(oricum stiu ca nu voi primi) voi genera propriul certificat,si voi pune in client un delegate sa nu valideze certificatul...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...