Bun venit pe SkullBox!

Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
  Pagini: [1]
  Imprimă  
Encriptarea Asincrona RSA(babeste) -> The best!  (Vizualizari 854)
3Nigma
*

Deconectat Deconectat

Mesaje: 981

WWW
Encriptarea Asincrona RSA(babeste) -> The best!, Noi 25, 2006, 20:45

De curand,spre horoarea mea ,am aflat ca metodele de encriptare pe care le folosim noi(care jongleaza cu interpretari si modificari de date) se pot sparge oricat de complexe ar fi algoritmul de encriptare... Imediat apare intrebarea ... bun dar cum ne aparam datele?
Am facut cercetari pe acest principiu si am dat de Algoritmul de criptare RSA .RSA vine de la cei 3 matematicieni(cred) :Ron Rivest, Adi Shamir, si Leonard Adleman,inventat la sfarsitul anilor '70!

Idei generale a algoritmului RSA!
Ok...ganditi-va ca navigati pe internet,doriti sa verificati mailurile de pe Yahoo sa zicem.Pentru asta sunteti rugat sa introduceti un user si o parola.In acelasi timp,cineva de pe retea isi porneste snifferul si il "indreapta" spre dumneavoastra! Din cate stiu eu ... parola de la yahoo impreuna cu userul circula neincriptate pe internet! Nu ii este greu ca acelei persoane sa puna mana pe parola si userul vostru si sa constatati cu stupoare ca ,sazicem, in 2-3 zile cineva v-a sters mailuri sau mai rau,va schimbat parola! Ideea generala este ca oricat de encriptat e un mesaj...daca exista un algoritm de encriptare...mai devreme sau mai tarziu algoritmul va fi spart si mesajul divulgat! Este ca si cum ai trimite bani prin posta si cineva i-ar intercepta ,iar banii nu vor mai ajunge niciodata la destinatie. Cum rezolvam aceasta problema? Aici intra algoritmul RSA in scena!

In termeni populari ,pentru aceasi situatie(expeditor-hot-destinatar),ar fi asemanator in a spune ca destinatarul are o cutie si un lacat si evident o cheie pentru lacat...trimite cutia impreuna cu lacatul neinchisa catre persoana care ii va trimite bani.Fiind vorba de o cutie...este inutila unui eventual hot...In final cutia noastra ajunge la persoana cu banii...persoana respectiva pune banii in cutie si de data asta inchide cutia cu lacatul si o expediaza inapoi la destinatar.Acum...chiar daca banii sunt pe drum intre   expeditor si destinatar,in cazul unei eventuale interceptii...hotul nostru nu va putea face nimic decat sa admire cutia inchisa...Dupa ce cutia ajunge la destinatar...acesta cum are cheie,desface lacatul si ia banii! Este o metoda sigura...

In linii mari...se genereaza 2 XML-uri cu date dupa algoritmul RSA.
Primul XML este public...adica reprezinta lacatul nostru care parcurge tot drumul.
Al doilea XML reprezinta cheia pe care numai destinatarul o are!

Am inteles principiul babeste... nu mi-a trebuit mai mult si am reusit sa creez o clasa in c# care sa se ocupe de encriptare/decriptare pe baza celor 2XML-uri generate!
Cod:

using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;

namespace testRSAencription
{
    class Criptografie
    {
        private RSACryptoServiceProvider RSA;
        public string PublicKey;
        public string PrivateKey;
        public Criptografie()
        {
            CspParameters cspParams = new CspParameters();
            cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
            RSA = new RSACryptoServiceProvider(cspParams);
            PublicKey = RSA.ToXmlString(false);
            PrivateKey = RSA.ToXmlString(true);
        }
        public byte[] Encripteaza(byte[] Data, string PublicKeyIn)
        {
            RSA.FromXmlString(PublicKeyIn);
            return RSA.Encrypt(Data, false);
        }
        public byte[] Decripteaza(byte[] Data, string PrivateKeyIn)
        {
            RSA.FromXmlString(PrivateKeyIn);
                return RSA.Decrypt(Data, false);
        }
    }
}


Clasa constituie din 2 functii...encriptare respectiv decriptare! Ambele functii returneaza un array de bytes si au ca parametri : datele encriptare sub forma de array de bytes ,"lacatul" respectiv "cheia" Smile!

Pana acum mi se pare cel mai reusit mod de encriptare de date!Daca mai stiti unu care nu este "traditional" vorbiti acum sau taceti pe vecie! Big grin

©3Nigma
Memorat

Search for knowledge in the darkest places and in the blackest hours! You might get lucky and find more than you are looking for...

"Ambition is a lame excuse for the ones that are not brave enough to be lazy..."
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Ethical hacking and programming community
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro