Strona główna

Jest to szereg kroków, obejmujących dwie lub więcej stron, podejmowanych w celu realizacji zadania. Jest to inaczej mówiąc sekwencja działań, każde z nich musi być kolejno wykonane i żadne nie może być podjęte


Pobieranie 343.43 Kb.
Strona5/10
Data19.06.2016
Rozmiar343.43 Kb.
1   2   3   4   5   6   7   8   9   10

M + rp = 3 + 9  5 = 48



Poszczególne części mają więc postać:
l1 = 48 mod 7 = 6

l2 = 48 mod 9 = 3

l3 = 48 mod 11 = 4
Mając dwie dowolne części możemy obliczyć M. Np. korzystając z l1 i l3 mamy

w1 = d1 d3 = 7  11 = 77
Obliczamy

y1 = inv(w1/d1, d1) = inv(11, 7) = 2

y3 = inv(w1/d3, d3) = inv(7, 11) = 8
Zatem

M + rp = [(w1/d1)y1l1 + (w1/d3)y3l3) mod w1 =

= (11  2  6 + 7  8  4 ) mod 77 = 48
Ostatecznie M = (M + rp) – rp = 48 – 9  5 = 3.
Schemat Karina-Greena-Hellmana
Wykorzystuje on mnożenie macierzowe.

Wybieramy n+1 wektorów k-wymiarowych V0, V1, . . . , Vn takich, że każda, utworzona z tych wektorów, możliwa macierz (k x k) ma rząd k. Wektor U jest wektorem wierszowym o rozmiarze k+1. M jest iloczynem macierzowym U  V0. Cienie są iloczynami U  Vi, gdzie i jest liczbą z zakresu 1 do n. Do rozwiązania systemu k x k równań liniowych można wykorzystać k dowolnych cieni, gdzie niewiadomymi są współczynniki wektora U. Znając U, można łatwo wyliczyć U  V0. Natomiast mając k – 1 cieni, nie można rozwiązać równań liniowych, a co za tym idzie nie można odtworzyć tajemnicy.
Schematy progowe z wagami poszczególnych uczestników – szczególne przypadki powyższych.

ZNAKOWANIE CZASOWE


Cechy protokołu znakowania czasowego:

    • dane muszą być opatrzone znacznikiem czasu, bez jakiegokolwiek odniesienia do nośnika fizycznego, na którym one się znajdują,

    • musi być niemożliwe dokonanie zmiany nawet jednego bitu dokumentu bez uwidocznienia tego faktu,

    • niemożliwe musi być oznakowanie dokumentu datą lub czasem, odmiennymi niż bieżąych.



Metoda arbitrażowa

Istnieje osoba ozn. T niezależna od nikogo, zaufana, oferująca wiarygodne usługi znakowania czasowego. W przypadku użytkownika A, który chce oznakować dokument znacznikiem czasu musi realizować następujący protokół:


  1. użytkownik A przekazuje kopię dokumentu do T,

  2. T zapamiętuje datę i czas otrzymania dokumentu i zatrzymuje kopię w celu jej bezpiecznego przechowania.


Wady tego protokołu:

    • brak poufności,

    • T musi posiadać odpowiednie zasoby do przechowywania dokumentów,

    • mała odporność na błędy transmisji i przekłamania w procesie przechowywania,

    • możliwość utraty zaufania do T (wystąpienie zmowy użytkownika A z T).


Ulepszone rozwiązanie wykorzystuje jednokierunkowe funkcje skrótu i podpisy cyfrowe.
Opis protokołu:

  1. użytkownik A wytwarza jednokierunkowy skrót dokumentu i przesyła go do T,

  2. T dołącza do skrótu datę i czas jego otrzymania i podpisuje cyfrowo tak powstałe dane,

  3. T przesyła podpisany skrót i znacznik czasu do użytkownika A.


Jedyną wadą tego protokołu jest możliwość wystąpienia zmowy pomiędzy użytkownikiem A i T.

Protokół łączący
Wykorzystuje on połączenie znacznika czasu użytkownika A i T. Oznaczmy:

A – identyfikator użytkownika A,

H – skrót,

Tn-1 – poprzedni znacznik czasu,

Tn – znacznik czasu,

n – numer sekwencji żądania,
Opis protokołu:

  1. użytkownik A przesyła do T Hn i A,

  2. T odsyła do użytkownika A następujące dane:


tn = Sk(n, A, Hn, Tn; idn-1, Hn-1, Tn-1, H(IDn-1­, Tn-1, Hn-1))


  1. T przesyła użytkownikowi identyfikator źródła pochodzenia `następnego ostemplowanego dokumentu (w przypadku wystąpienia takiej sytuacji):


IDn+1

W przypadku braku możliwości skontaktowania się z właścicielem znacznika IDn-1 z przyczyn niezależnych można zrealizować następujący protokół:

  1. użytkownik A generuje sekwencję liczb losowych za pomocą kryptograficznie bezpiecznego generatora liczb pseudolosowych, traktując Hn jako wejście:


V1, V2, . . . , Vk


  1. użytkownik A interpretuje każdą wartość Vi jako identyfikator ID innej osoby, wysyła Hn do każdej z tych osób,

  2. każda z tych osób dołącza datę i czas do wartości skrótu, podpisuje wynik i przesyła z powrotem do użytkownika A,

  3. użytkownik A gromadzi i przechowuje wszystkie podpisy jako znaczniki czasu.


Innym podejściem zabezpieczającym przed fałszerstwem znaczników czasu jest publikowanie wartości skrótu znacznika czasu z każdego dnia w ogólno dostępnym medium np. gazecie. Tak postępuje np. firma Bellcore od 1992 roku, publikując je w niedzielnym wydaniu New York Timesa.

NIEZAPRZECZALNE PODPISY CYFROWE
Składa się je pod dokumentem w podobnym celu jak zwykły podpis, jednak tym się różni od niego że sprawdzający poprawność podpisu musi skontaktować się z jego wytwórcą celem jego sprawdzenia. Stawiający podpis ma kontrolę nad jego sprawdzaniem i sprawdzającymi.
Podstawowa idea podpisu niezaprzeczalnego:

  1. użytkownik A przedstawia użytkownikowi B podpis cyfrowy,

  2. użytkownik B generuje liczbę losową i przesyła ją do A,

  3. użytkownik A dokonuje obliczeń, wykorzystując liczbę losową i swój klucz prywatny, a potem przesyła wynik do użytkownika B, użytkownik A mógł wykonać te obliczenia jedynie wtedy, kiedy podpis był poprawny,

  4. użytkownik B potwierdza powyższy wynik.


Potwierdzanie dokonywane jest każdorazowo dla każdego indywidualnie, którego zaakceptuje użytkownik A.
W szczegółach przykładowy schemat podpisu niezaprzeczalnego może wyglądać jak poniżej.
Założenia:

ustalana jest duża liczba pierwsza p i element pierwotny g, są one ujawniane i stosowane przez grupę podpisujących. Użytkownik A posiada klucz prywatny x i klucz jawny gx.
Opis algorytmu:

Celem podpisania wiadomości, użytkownik A oblicza z = mx.
Metoda kontroli podpisu:

  1. użytkownik B wybiera dwie liczby losowe a i b, obie mniejsze od p, przesyła do użytkownika A wynik działania:


c = za (gx)b (mod p),


  1. użytkownik A oblicza x-1 (mod p-1) i przesyła do użytkownika B wynik działania:





  1. użytkownik B sprawdza, czy:


d ma gb (mod p).
Poprawny wynik sprawdzenia oznacza zaakceptowanie podpisu.
Użytkownik B nie może na podstawie otrzymanych danych z powyższych kroków przekonywać postronne osoby o poprawności podpisu użytkownika A. Każdy z pozostałych użytkowników chcących chcąc sprawdzić poprawność postawionego podpisu musi wykonać powyższe kroki protokołu osobiście, natomiast użytkownik A ma kontrolę nad tym, kto taką kontrolę podpisu chce zrealizować.
Innym rozwiązaniem jest protokół nie tylko sprawdzający poprawność podpisu, ale również służący zaprzeczeniu złożenia podpisu przez daną osobę pod dokumentem.
Założenia:

wybrano i opublikowano dużą liczbę pierwszą p i element pierwotny g. Użytkownik A posiada swój klucz prywatny x i klucz jawny gx.
Opis protokołu:

Celem podpisania dokumentu użytkownik A oblicza
z = mx.
Metoda kontroli podpisu:

  1. użytkownik B wybiera dwie liczby losowe a i b, obie mniejsze niż p i przesyła do użytkownika A wynik obliczeń:


c = ma gb (mod p),


  1. użytkownik A wybiera liczbę losową q mniejszą od p, oblicza i przesyła do użytkownika B wyniki działań:


s1 = c gq (mod p), s2 = (c gq)x (mod p);


  1. użytkownik B przesyła do A wartości a i b, tak więc użytkownik A może potwierdzić, że użytkownik B nie oszukiwał w kroku (1),

  2. użytkownik A przesyła do B wartość q, więc użytkownik B może użyć mx i odtworzyć s1 i s2, jeżeli


s1 = c gq (mod p)

s2 = (gx)b+q za
to podpis jest poprawny.
Użytkownik A może także zaprzeczyć, że zrobił podpis z pod dokumentem m.

Przekształcalne podpisy niezaprzeczalne
Podpis taki może być sprawdzany, zaprzeczany i także przekształcany do postaci konwencjonalnego podpisu cyfrowego. Schemat ten opiera się na algorytmmie podpisu cyfrowego ElGamala.

Założenia:

podobnie jak w algorytmie ElGamala, wybiera się najpierw dwie liczby pierwsze p i q takie, że q dzieli p-1. Tworzy się liczbę g mniejszą niż q. Wybiera się najpierw liczbę losową h z przedziału między 2 i p-1. Oblicza się
g = h(p-1)/q
Jeżeli g równa się tożsamości, wybiera się inne losowe h. Jeżeli nie, to zatrzymuje się posiadane g.

Klucze prywatne są dwiema różnymi liczbami losowymi x i z, obie mniejsze od q. Klucze jawne to liczby p, q, g, y i u, przy czym
y = gx (mod p)

u = bz (mod p)
Aby obliczyć przekształcalny podpis cyfrowy wiadomości m (skrótem wiadomości), wybiera się najpierw liczbę losową t z przedziału między 1 i q-1. Następnie oblicza się:
T = gt (mod p)

i

m’ = T t z m (mod p).
Oblicza się standardowy podpis ElGamala dla m’. Wybiera się liczbę losową R taką, że R jest mniejsze od p-1 i względnie pierwsze z p-1. Potem oblicza się r = gR i stosuje się algorytm Euklidesa do wyliczenia takiej wartości s, że
m’ = rx + Rs (mod p)
W końcu wybiera się inną liczbę losową t. Podpisem jest podpis ElGamala (r, s) i T.
Metoda kontroli podpisu:

  1. użytkownik B wytwarza dwie liczby losowe a i b. Oblicza


c = TTma gb (mod p)
i przesyła c do użytkownika A


  1. użytkownik A wytwarza liczbę losową k i oblicza


h1 = c gk (mod p)

i

h2 = h1z (mod p)
i przesyła obie wartości do B,

  1. użytkownik B przesyła do A wartości a i b,

  2. użytkownik A sprawdza, że c = TTma gb (mod p), przesyła k do użytkownika B,

  3. użytkownik B sprawdza, że


h1 = TTma gb+k (mod p)

i

h2 = yra rsa ub+k (mod p).
Użytkownik A może przekształcić wszystkie swoje niezaprzeczalne podpisy cyfrowe w normalne podpisy cyfrowe przez opublikowanie z. W tym momencie każdy bez niczyjej kontroli może sprawdzić podpisy złożone przez użytkownika A.

Niepodrabialne podpisy cyfrowe


Służą one zapewnieniu, że mimo sfałszowania przez osobę postronną (wykorzystującą np. ukradziony klucz prywatny) podpisujący może udowodnić ten fakt.
Podstawą schematu jest możliwość występowania dla każdego klucza jawnego wielu kluczy prywatnych, mogących z nim współpracować. Pomimo to tylko ten poprawny posiada użytkownik uprawniony.
Podpisy grupowe
Posiadają następujące własności:

    • jedynie członkowie danej grupy mogą podpisywać wiadomości,

    • odbiorca podpisu może sprawdzić, że jest to poprawny podpis członka grupy, ale nie może określić tożsamości osoby podpisującej,

    • w przypadku wątpliwości podpis może być „otwarty” w celu ujawnienia tożsamości podpisującego.

Podpisy grupowe z udziałem zaufanego arbitra


Opis protokołu:

  1. arbiter wytwarza dużą liczbę par kluczy prywatny-publiczny i przekazuje każdemu członkowi grupy odmienną listę niepowtarzalnych kluczy prywatnych, żaden klucz na dowolnej z list nie jest identyczny z innym,

  2. arbiter publikuje nadrzędną listę wszystkich kluczy jawnych dla grupy w losowej kolejności, przechowuje on u siebie tajny rekord zawierający opis, który klucz do kogo należy,

  3. członkowie grupy, pragnąc podpisać dokument, wybierają klucze w losowy sposób ze swoich list osobistych,

  4. kiedy pragną oni sprawdzić, czy podpis należy do grupy, poszukują w jawnej bazie danych odpowiadającego klucza jawnego i weryfikują podpis,

  5. w przypadku wątpliwości arbiter wie o tym, który klucz jawny odpowiada któremu członkowi grupy.

W tym protokole arbiter musi być godny zaufania, a listy kluczy muszą być odpowiednio długie, aby zapobiec podejmowaniu prób analizy tego, których kluczy oni używają.



1   2   3   4   5   6   7   8   9   10


©snauka.pl 2016
wyślij wiadomość