[ Pobierz całość w formacie PDF ] .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ę.TEN_MIES=date awk(print$2)Ustawia zmienną powłoki TEN_MIES na wartość będącą nazwą bieżącego miesiąca.lastGeneruje listę wszystkich ostatnich logowań.| grep $TEN_MIESFiltruje powyższą listę, aby zawierała ona tylko logowania z tego miesiąca.j awk '(print$2) 'Wybiera z powyższej listy nazwy kont.sort -uSortuje listę alfabetycznie i usuwa wielokrotne wystąpienia nazw kont.cat-passwd | /bin/awk-F: ' {print $11 }Generuje listę nazw kont dla wszystkich użytkowników w systemie.comm -13.Wyświetla elementy znajdujące się w drugim pliku, ale nie występujące w pierwszym - listę nazwkont, które nie były używane w tym miesiącu.W tym skrypcie zakłada się, że baza danych używana przez program last przechowywana jestprzynajmniej przez miesiąc.Po określeniu kont, które nie były ostatnio używane, należy rozważyć możliwość zablokowania ichlub skontaktowania z ich właścicielami.Oczywiście nie należy blokować takich kont jak root, bin,uucp czy news, które są używane do celów administracyjnych.Warto również pamiętać oużytkownikach, którzy sięgają do swoich kont tylko przez rsh (interpreter zdalny) lub polecenie su- ich logowania nie pojawią się w liście generowanej przez last.UWAGAW większości środowisk program las t udostępnia informacje tylko na temat logowań i wylogowańna komputerze, na którym działa.Dlatego ten skrypt nie będzie informował o użytkownikach,którzy używają komputerów w sieci, ale nie korzystali z komputera zawierającego skrypt
[ Pobierz całość w formacie PDF ]
zanotowane.pldoc.pisz.plpdf.pisz.plmikr.xlx.pl
|