SHA1 – Secure Hash Algorithm

Slides:



Advertisements
Podobne prezentacje
IDENTYFIKACJA UŻYTKOWNIKA W SIECI INTERNET
Advertisements

Rozwiązywanie równań różniczkowych metodą Rungego - Kutty
Wykład 5: Dyskretna Transformata Fouriera, FFT i Algorytm Goertzela
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Grażyna Mirkowska PJWSTK 15 listopad 2000
UKŁADY ARYTMETYCZNE.
Języki programowania C++
Michał Łasiński Paweł Witkowski
KNW- Wykład 8 Wnioskowanie rozmyte.
Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego Robert Borzęcki.
ZŁOŻONOŚĆ OBLICZENIOWA
ALGORYTMY GEOMETRYCZNE.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Podstawowe składniki funkcjonalne procesora i ich rola.
Rozwiązanie d’Alemberta równania struny Ewelina Bednarz Łukasz Klita.
Wielkości skalarne i wektorowe
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Kryptografia – elementarz cześć I
Zapis informacji Dr Anna Kwiatkowska.
Techniczne aspekty realizacji podpisu cyfrowego z zastosowaniem algorytmu RSA mgr inż. Wojciech Psik Zespół Szkół Elektronicznych i Ogólnokształcących.
Ochrona danych wykład 2.
Ochrona danych wykład 3.
Bramki Logiczne.
Kod Graya.
Algorytm Naiwny Ciąg znaków: A B D C E Wzorzec: A B.
Podstawy układów logicznych
Instrukcje sterujące część 2
Funkcje logiczne i ich realizacja. Algebra Boole’a
TABLICE C++.
Cyfrowe układy logiczne
Edytor Vi.
BUDOWANIE SCHEMATU BLOKOWEGO REALIZUJĄCEGO PROSTY ALGORYTM
ZASTOSOWANIE KRYPTOGRAFII W SZYFROWANIU DANYCH
Elżbieta Fiedziukiewicz
Figury w układzie współrzędnych.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Spis treści W świecie algortmów -Budowa algorytmu
FUNKCJE Opracował: Karol Kara.
PODSTAWOWE BRAMKI LOGICZNE
ZAPIS BLOKOWY ALGORYTMÓW
Algorytmy.
Algorytmika.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Złożone układy kombinacyjne
Metody numeryczne szukanie pierwiastka metodą bisekcji
Własności bramek logicznych RÓZGA DARIUSZ 20061
JĘZYKI ASSEMBLEROWE ..:: PROJEKT ::..
Algorytmy- Wprowadzenie do programowania
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Zasady arytmetyki dwójkowej
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
Algorytmy asymetryczne i haszujące
Wstęp do interpretacji algorytmów
9. IMPLEMENTACJE ALGORYTMÓW KRYPTOGRAFICZNYCH
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
Microsoft® Office Word
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES
Rozpatrzmy następujące zadanie programowania liniowego:
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
Wstęp do Informatyki - Wykład 6
Visual Basic w programie Microsoft Excel
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Liczby pierwsze oraz kryptologia
Zapis prezentacji:

SHA1 – Secure Hash Algorithm Funkcje skrótu SHA1 – Secure Hash Algorithm

Skróty komunikatów – message digest Pęknie podpisy cyfrowe można otrzymać używając funkcji mieszającej (haszującej). Jest to funkcja jedno kierunkowa. Jako argument używa duży fragment tekstu i z tego fragmentu otrzymuje co najmniej 160-512 bitowy skrót. Tekst otwarty niech będzie P (paylaod). Tą funkcję oznaczamy przez MD (Massage Digest) i ma ona następujące własności: Obliczenie MAC = MD( P ) jest bardzo łatwo. Obliczenie P na podstawie MAC jest w praktyce nie wykonalne. Dla danego P nie da się znaleźć takiego Q, że Q≠P oraz MD( P ) = MD( Q ) Zmiana nawet 1 bitu w tekście wejściowym powoduje drastyczne zmiany w wartości funkcji

Skróty komunikatów – message digest Aby łatwe było spełnienie kryterium 3 łańcuch wynikowy funkcji mieszającej powinien mieć długość co najmniej 128 bitów. W celu zadośćuczynienia kryterium 4 funkcja mieszająca powinna wykonywać dość znaczące przetasowania bitów, zdecydowanie różne od opisywanych wcześniej symetrycznych algorytmów szyfrowania. Obliczenie skrótu z tekstu otwartego wykonywane jest znacznie szybciej niż zaszyfrowanie tego tekstu za pomocą klucza publicznego, lak więc opisywana metoda może znacząco poprawić efektywność systemów podpisu elektronicznego System oparty na skrótach komunikatów może funkcjonować także w połączeniu z kluczami publicznymi

Funkcja mieszająca – SHA1 Blok 512 bitowy wypełnienie Słowo 32 bitowe Słowo 32 bitowe SHA-1 przetwarza tekst wejściowy w podziale na bloki 512-bitowe, produkuje jednak wynik 160-bitowy Wi = S1( Wi-3Wi-8Wi-14Wi-16 ), i=16,…,79 (1) Inicjalizacja zmiennych Wypełnienie tablicy W według wzoru (1) Obliczanie zmiennych A,B,C,D i E Obliczanie zmiennych H0 -H4. W16 = S1( W13W8W2W0), W17 = S1( W14W9W3W1), ……………………………………. W79 = S1( W76W71W65W63),

SHA gdzie Sm(W) oznacza cykliczne przesunięcie (rotację) 32-słowa W o m bitów w lewo. Następnie pięć zmiennych roboczych A, B, C, D, E inicjowanych jest zawartością H0 -H4. Wykonywane dalej obliczenia dają się zapisać w postaci następującego pseudokodu: for ( i=0; i<80: i++) { temp=S5 (A) + f(B, C, D) + E + Wi; E=D; D=C; C = S30(B); B = A; A = temp; }

SHA gdzie funkcje mieszające/dane są wzorami: f(B, C, D) = ( B & C )||( !B & D ) 0 < i < 19 f(B, C, D) = B xor C xor D 20 < i < 39 f(B, C, D) = ( B & C )||( B & D )||( C & D ) 40 < i< 59 f(B, C, D) = B xor C xor D 60 < i< 79 Oraz operatory: And &, koniunkcja bitowa, Or ||, alternatywa bitowa, xor symetryczna różnica bitowej, not -!, negacja bitowa.

SHA Po wykonaniu 80 iteracji zawartość zmiennych A -E dodawana jest do zawartości zmiennych H0 -H4. H0 = H0 +A ……………. H4 = H4 +E Przy przejściu do nowego bloku tablica W ponownie inicjowana jest jego zawartością, natomiast wartość zmiennych H0 -H4 nie jest zmieniana. Po przetworzeniu ostatniego bloku zmienne te zawierają wynik funkcji. . Oraz opracowane są nowe wersje funkcji SHA-1 zwracające wyniki o długości 256,384 i 512 bitów. Patrz dokument RFC 3174

Integralność MD(Payload) = MAC ? Ann Algorytm SHA Bann 160 bitowy Skrót Otwarty text Anny o dowolnej długości Algorytm SHA Payload MAC MD(Payload) = MAC ? Payload MAC Bann

Koniec części