Miesięczne archiwum: Luty 2008

Podsumowanie

Osobiste osi?gni?cie :-)

56

Po zmianie template’a spad?? blog w googlach. Bo posty na g????wnej stronie przesta??y posiada? tagi html jak i s? w skr??conej formie. Je??eli zale??y wam na seo to ten template jest do d… niczego.

Statystyki wyszukiwania.

88 r????ne frazy Szukanych Procent
twoja stara 11 7.2 %
google 6 3.9 %
ie8.js 6 3.9 %
update 6 3.9 %
developer 5 3.3 %
zdrowietouroda 5 3.3 %
get_liczba 4 2.6 %
pracy 3 1.9 %
firmy 3 1.9 %
jestem 3 1.9 %
Inne frazy 99 65.5 %

Generalnie nie to o co mi chodzi. Kiszka i pora??ka jeszcze tylko niech mi PR z 1 na 0 zmieni? i b?d? m??g?? si? powiesi?. Jedynie projekt seo „twoja stara” owocuje odwiedzinami. A i tak tylko jestem na 1 msc. gdy pyta si? o „twoja stara tuli rysia”

Co mnie bardzo cieszy w starciu na moim blogu mi?cy MSIE a FF wygrywa: FireFox i to z kretesem 56% do 22%. Najcz???ciej wchodzicie tutaj w poniedzia??ki o godzinie 14 :) Generalnie ilo??? wizyt trzyma si? na sta??ym poziomie.

Co do Seo wniosek: By? mo??e zaspamowa??em googla linkami z r????nych for??w. I bot mnie powycina??. Tylko ??e zazwyczaj te linki by??y obustronne i chcia??em unikn?? google bombingu.

W  sobot? ostatni egzamin. Id? dalej walczy? z notatkami.

Pozdrawiam wszystkich czytelnik??w.

Implementacja algorytmu RSA w C++

Witam,

Dzisiaj chcia??bym przedstawi? wam implementacje algorytmu RSA( Ronald Rivest, Adi Shamir, Leonard Adleman). Wykorzystuj?c pot???n? bibliotek? LiDIA (strona domowa biblioteki: http://www.cdc.informatik.tu-darmstadt.de/TI/LiDIA/)

Najpierw przedstawie algorytm:

  1. Losujemy dwie du??e(ok 1024 bity tj. Liczba sk??adaj?ca si? z 300 cyfr) liczby pierwsze p i q, oraz liczb? e = (p ?? 1)(q ?? 1).
  2. Nast?pnie obliczamy d = e^{-1} \mod (p-1)(q-1) (poniewa?? wybrali??my wzgl?dnie pierwsze e, ma ono odwrotno??? i obliczy? j? mo??emy szybko rozszerzonym algorytmem Euklidesa)
  3. W kolejnym kroku obliczamy n kt??ra jest iloczynem p i q
  4. Klucz publiczny to para (e,n), klucz prywatny za?? to para (d,n). Liczby p i q nale??y zniszczy?.
  5. Szyfrujemy wiadomo??? M za pomoc?: c=m^e mod n (c- kryptogram, wiadomo??? zaszyfrowana = wiadomo??? m do pot?gi e modulo n)
  6. ??eby M zdeszyfrowa? podnosimy zaszyfrowan? wiadomo??? do pot?gi d. Zgodnie z twierdzeniem Eulera dostaniemy oryginaln? wiadomo??? (o ile m nie jest wielokrotno??ci? p lub q): c^d = m^(ed) = m mod n

Implementacja:

#include <LiDIA/bigint.h>
#include <iostream>using namespace std;
using namespace LiDIA;
bigint get_liczba() {
     bigint rand_liczba;
     bigint max = 1;
     shift_left(max, max, 1024); // powi?kszamy liczb? do 1024 bajt??w wielko??ci
     do  {
       rand_liczba.randomize(max);
     }while(!is_prime(rand_liczba));
     return rand_liczba;    
}
int main(){
    bigint p, q;
    // losowanie p i q
    do{
        p = get_liczba();
        q = get_liczba();
    }
    while(p==q);
    //licznie n
    bigint n;
    n = p * q;
    bigint fi;
    fi = (p-1)*(q-1);
    bigint u,v,e;
    do {
      e.randomize(fi);
      e++;
    }while(xgcd(u,v,e,fi)!=1);
    bigint m,c,de;
    m=50000; // nasza wiadomo???
    cout<<"message: "<<m<<endl;
    if (u<0){
      u=u%fi;
    }
    power_mod(c,m,e,n);
    cout<<"zaszyfrowane = "<<c<<endl<<endl;
    power_mod(de,c,u,n);
    cout<<"odszyfrowane = "<<de<<endl<<endl;
 }

Kompilacja:

g++ -O test.cc -I/usr/local/include -L/usr/local/lib -o test -lLiDIA -lgmp -lm

Opis Funkcji:

  • bigint xgcd(bigint & u, bigint & v, const bigint & a, const bigint & b) – funkcja oblicza (a, b) = au + vb)
  • void power_mod (bigint & res, const bigint & a, const bigint & n, const bigint m, int err = 0) – funkcja oblicza res = a^n (mod m)
  • void div_rem (bigint & q, bigint & r, const bigint & a, const bigint & b) – funkcja oblicza: q i r takie, ??e a = qb + r
  • bool is_prime (const bigint & a, int n = 10) – funkcja zwraca warto??? true je??li a jest liczb? pierwsz?(Prawdopodobie??stwo tego, ??e a jest liczb? pierwsz? jest nie mniejsze ni?? 1 – 1/(4^n) )

Aktualizacja portfolio

Po prowizorycznej wersji czas na portfolio z prawdziwego zdarzenia :). Mo??e i nie jest jakie?? wielkie. Ale projekty s? ambitne. Nie wszystkie poleagaj? na dalszym rozwoju mojego CMS’a. Nied??ugo dojd? kolejne projekty jeszcze gor?ce. Jeszcze bardziej zaawansowane technologicznie. Web 2.0 to za ma??o :).

Zapraszam do zwiedzania.

 Portfolio

BCdoradztwo.com.pl

Witam wszystkich serdecznie po przerwie.

Powracam z kolejnym projektem. Dzisiaj jest to: BC Doradztwo Gospodarcze. Kolejna udoskonalona wersja mojego systemu CMS. Layout te?? mojej roboty. W planach mam rozbudow? o modrewrite. Poniewa?? musi si? jako?? pozycjonowa? :). Klient jest w fazie wprowadzania tre??ci. Ju?? nie d??ugo b?dzie uruchomiona w pe??ni.
Bc Doradztwo Gospodarcze Layout

Pozdrawiam Serdecznie czytelnik??w.

Nowy theme.

Jak powszechnie wiadomo: Fryzjer ma fataln? fryzur?. Kucharz zjada resztki a webdeveloper u??ywa nie swoich them??w :)

Poprzedni mnie ju?? denerwowa??. Wi?c teraz cieszcie si? nowym (mam nadziej?, ??e bardziej sensownym) wygl?dem mojego Developer Bloga.