[ Pobierz całość w formacie PDF ]
.Ale jakbezpieczny jest naprawdÄ™? Załóżmy, że zrobimy ukÅ‚ad elektroniczny, który mógÅ‚by przeprowadzićmilion potrójnych szyfrowaÅ„ na sekundÄ™, i że zbudujemy komputer zawierajÄ…cy milion takichukÅ‚adów, aby siÅ‚owo wypróbować wszystkie możliwe klucze.Komputer mogÄ…cy przeprowadzić1012 testów szyfrowania na sekundÄ™ wymagaÅ‚by:2112 operacji szyfrowania / 1012 testów/s == 5,19 x 1033 operacji szyfrowania / 1012 testów/s == 5,19 x 1021 s = 1,65 x 1014 lat.Jest to 16453 razy wiÄ™cej niż szacowany obecnie wiek wszechÅ›wiata (ok.1010 lat).Jak widać, do czasu pojawienia siÄ™ jakichÅ› nowych fundamentalnych usterek bÄ…dz sÅ‚aboÅ›cialgorytmu lub przeÅ‚omowych odkryć w dziedzinie kryptografii potrójny DES bÄ™dzie najbardziejbezpiecznym systemem szyfrowania z użyciem kluczy prywatnych, jakiego czÅ‚owiek możekiedykolwiek potrzebować (choć jest jeszcze zapotrzebowanie na algorytmy szybsze).RSA i systemy z kluczem publicznymRSA jest najszerzej znanym algorytmem kryptograficznym z kluczem publicznym.Jego nazwapochodzi od pierwszych liter jego wynalazców, Ronalda Rivesta, Adi Shamira i LeonardaAdlemana, którzy opracowali go w roku 1977.W przeciwieÅ„stwie do szyfru DES, w którym używa siÄ™ jednego klucza, RSA wymaga użyciadwóch kluczy kryptograficznych: publicznego i tajnego.Klucz publiczny jest używany doszyfrowania wiadomoÅ›ci, a klucz tajny do deszyfrowania jej (system można uruchomić odwrotnie,czyli zastosować klucz tajny do szyfrowania, a publiczny do odszyfrowania).Algorytm RSA jest chroniony patentem USA numer 4405892 ( System i metoda komunikacjikryptograficznej").Wniosek patentowy zostaÅ‚ zgÅ‚oszony 14 grudnia 1977.Patent przyznano 20wrzeÅ›nia 1983 roku, a wygasa 20 wrzeÅ›nia 2000.Ponieważ opis algorytmu opublikowano, zanimzgÅ‚oszony zostaÅ‚ wniosek o patent, metody RSA można używać bezpÅ‚atnie na caÅ‚ym Å›wiecieoprócz Stanów Zjednoczonych (w miÄ™dzynarodowym prawie patentowym sytuacjÄ™ wczeÅ›niejszegoujawnienia przedmiotu patentu traktuje siÄ™ odmiennie niż w USA).Nic wiÄ™c dziwnego, że RSAjest o wiele bardziej popularny w Europie i Japonii niż w Stanach Zjednoczonych, choć jegopopularność w USA ostatnio także wzrasta.Jak dziaÅ‚a RSAMoc RSA oparta jest na trudnoÅ›ci rozÅ‚ożenia dużej liczby na czynniki pierwsze.Poniższy opis nie wpeÅ‚ni wyjaÅ›nia wszystkie matematyczne subtelnoÅ›ci algorytmu.Szczegółowy opis można znalezćw pracy oryginalnej oraz w materiaÅ‚ach wymienionych w dodatku D, pt. yródÅ‚a papierowe".RSA opiera swoje dziaÅ‚anie na dobrze znanych wÅ‚asnoÅ›ciach arytmetyki modularnej i teorii liczb.Jedna z wÅ‚asnoÅ›ci polega na wykorzystaniu funkcji Eulera Totient, oznaczanej przez §(n).Funkcjata dla n jest zdefiniowana jako liczba liczb naturalnych mniejszych od n i wzglÄ™dnie pierwszych zn.Dwie liczby sÄ… wzglÄ™dnie pierwsze, jeÅ›li nie majÄ… wspólnych podzielników innych niż jeden.PrzykÅ‚adem pary liczb wzglÄ™dnie pierwszych może być 8 i 9.Funkcja Totient dla liczby pierwszejprzyjmuje wartość mniejszÄ… od swojego argumentu, gdyż każda dodatnia liczba caÅ‚kowita odniego mniejsza jest z nim wzglÄ™dnie pierwsza.WÅ‚asność odkryta przez Eulera, którÄ… zastosowano w szyfrze RSA, jest nastÄ™pujÄ…ca: każda liczbawzglÄ™dnie pierwsza z / podniesiona do potÄ™gi §(n) modulo n daje w wyniku 1.Można to zapisaćtak:i^mod n=lZałóżmy, że e i d sÄ… losowymi liczbami naturalnymi bÄ™dÄ…cymi odwromoÅ›ciami modulo (n), toznaczy: ed=l modcjmJest druga wÅ‚asność odkryta przez Eulera, którÄ… również zastosowano w szyfrze RSA.Mówi ona,że jeÅ›li M jest dowolnÄ… liczbÄ… wzglÄ™dnie pierwszÄ… z n, to zachodzi:(Mc)dmod n=MbÄ…dz(Md)emodn=MZ kryptograficznego punktu widzenia, jeÅ›li M jest częściÄ… wiadomoÅ›ci, to istnieje prosty sposóbszyfrowania za pomocÄ… funkcji:s=Me(modn)oraz deszyfrowania za pomocÄ… funkcji:M=sd(modn)Jak wiÄ™c uzyskać odpowiednie wartoÅ›ci dla n, e i dl Najpierw za pomocÄ… odpowiedniej metodywybiera siÄ™ dwie duże liczby pierwsze p i q, mniej wiÄ™cej tego samego rzÄ™du wielkoÅ›ci.Liczby tepowinny być duże - tzn.mieć po kilkaset cyfr - i tajne.NastÄ™pnie wylicza siÄ™ wartość funkcji Totient §(pq).JeÅ›li n jest iloczynem tych dwóch liczb, to /tmp/usersl$$cat-passwd | /bin/awk -F: '{print $1!' | /bin/sort -u > /tmp/users2$$ /bin/comm -13/tmp/users[12]$$ /bin/rm -f /tmp/users[12]$$Poniżej znajduje siÄ™ wyjaÅ›nienie dziaÅ‚ania caÅ‚ego skryptu:umask 077Ustawia wartość umask, tak aby żaden inny użytkownik nie mógÅ‚ przeczytać plików chwilowych wkatalogu /tmp.PATH=/bin:/usr/binUstala bezpiecznÄ… Å›cieżkÄ™
[ Pobierz całość w formacie PDF ]