[PHP] Szyfrowanie RSA

0

Witam.
Chciałbym zrobić system backupu na bazę danych serwera. Jednak zastanawiam się jak go zabezpieczyć.
W jaki sposób można porządnie zaszyfrować dane kluczem publicznym, tak by dało się je odszyfrować tylko kluczem prywatnym?

//pozdrawiam pinokio999

EDIT:
poprawiłem temat.

0

użyj gotowego algorytmu szyfrowania asymetrycznego - RSA (dość wolny i względnie łatwy do złamania przy krótkich kluczach), DSA, ElGamal, ECC...

0

Coś o RSA czytałem. Ale czy przy każdym kodowanym tekście musi być tworzony nowy klucz? Bo tak zrozumiałem z tego przykładu.
http://eldoras.com/studia/algorytmy%20i%20struktury%20danych%20i/6/index.php

Potrzebuję mieć dwa klucze: jeden który siedzi na serwerze, i sobie szyfruje, a drugi który tylko ja znam. Więc nie potrzebuję każdorazowo kodować klucza, chyba że inaczej się nie da.

Dodatkowo z tego przykładu wynika, że aby odszyfrować jakiś tekst, oprócz klucza prywatnego potrzebuje też znać liczbę N..

0

musisz posiadac N (twoje modulo), E (klucz publiczny) i D (klucz prywatny).
Publiczne znane bedzie N i E. Przy kazdym kodowaniu nie musi byc tworzony nowy klucz. Wazne jest ze jak bedziesz mial E, D modulo N to nie mozesz miec innej pary E1 i D1 ktora uzywa tego samego modulo N.

DSA nie jest do szyfrowania!

0

Najlepiej po prostu skorzystaj z gotowej implementacji RSA, zadbaj tylko o to, żeby użyć możliwie długiego klucza. No i sam sobie go wygeneruj (są do tego narzędzia pod linuxa, pod windowsem pewnie też). Dostaniesz wtedy dwa gotowe klucze i nie będziesz musiał się przejmować, z czego się składają.

0

klucz nie musi byc dlugi. W praktyce spotyka sie bardzo czesto jako klucz publiczny 65537 i jest to czwarta liczba fermata ktora jest tez liczba pierwsza.Jest ten klucz czesto uzywany bo w zapisie binarnym ma tylko 2 jedynki i szybko sie poteguje. Wystarczy obejrzec zainstalowane certyfikaty w przegladarce. Spotkalem sie nawet z kluczem publicznym ktory wynosi 3.
Wazne zeby modulo N bylo dlugie.

0

Tak, czy inaczej, N też jest elementem klucza. Pytający sam stwierdza, że "coś tam czytał" i chce gotowego rozwiązania, więc raczej nie ma sensu go zarzucać szczegółami technicznymi.

Wystarczy, jak generując klucz gotowymi narzędziami wybierze klucz 2048bit, a jak jest paranoikiem to 4096.

0

Czyli sobie wygeneruję czymś klucze, dostanę to "N" i tylko szyfrować i rozszyfrowywać na luzie? :D Dzięki.

A znacie jakieś implementacje RSA pod php?

raczej nie ma sensu go zarzucać szczegółami technicznymi

Chętnie posłucham.

0
mwili napisał(a)

DSA nie jest do szyfrowania!
Racja - znowu bzdury w wiki :/ http://pl.wikipedia.org/wiki/Digital_Signature_Algorithm

@pinokio: http://www.google.com/search?q=php+rsa, już na pierwszej stronie masz kilka implementacji. szukałeś w ogóle?
szczegóły techniczne masz na angielskiej wiki, ale nawet najprostszy algorytm RSA jest ciężki do zrozumienia, a co dopiero algorytmy oparte o krzywe eliptyczne - bez odpowiednich "podstaw" matematycznych po prostu się nie da.

0

Próbowałem utworzyć hasła programem pgp na Linuxie, jednak w pewnym momencie poprosił o hasło. Muszę to hasło wpisywać? Do czego ono służy? Dlaczego też potrzeba mu informacji o mojej osobie(tak jak by był podpisywany)? I skąd mam wziąć to N o którym mówiliśmy wcześniej?

1 użytkowników online, w tym zalogowanych: 0, gości: 1