Archive for 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.

piątek, Luty 29th, 2008 przemyślenia, Webdevelopment Brak komentarzy

Developers in Pain!

Film, który każdy z developerów przeżywa na codzień

wtorek, Luty 19th, 2008 bez kategorii Brak komentarzy

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) )

wtorek, Luty 19th, 2008 c++, kryptografia 2 komentarzy

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

poniedziałek, Luty 18th, 2008 praca Brak komentarzy

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.

poniedziałek, Luty 18th, 2008 projekty Brak komentarzy

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.

poniedziałek, Luty 4th, 2008 czas wolny 3 komentarzy