haker - ehaker.com


Login

Hasło

--Wstęp--
--Artykuły--
--Archiwa--
--Bios--
--Edytory--
--Systemowe--
--Poczta--
--Gwiazdki--
--Serwery--
--Inne--
--Członkostwo--
--Linki--
--Wyszukiwarka--
--Wyszukiwarka--
--Wyszukiwarka--
www.ehaker.com
mail@ehaker.com
brak


Algorytm SHA-1 (Secure Hash Algorithm).

 
Algorytm SHA-1 jest wymaganą funkcją haszującą (Funkcja haszująca, funkcja rozpraszająca, funkcja zwężająca, funkcja mieszająca) w algorytmie Digital Signature Algorithm (DSA) będącym składnikiem standardu Digital Signature Standard (DSS).

Algorytm SHA-1 jest używany do obliczania skrótu (digest) dla dowolnej wiadomości lub pliku danych dostarczonego na wejściu.


1) Message padding - dopełnienie wiadomości

Celem operacji "Message padding" jest uczynienie aby wiadmość do haszowania miała długość będącą wielokrotnością 512. SHA-1 sekwencyjnie procesuje bloki 512 bitów podczas obliczania skrótu dla wiadomości.

Uzupełnianie polega na dopisaniu na końcu wiadomości:

  1. Bitu "1"
  2. m bitów "0"
  3. 64 bitowej liczby mówiącej o długości wiadomości
Dopełniona wiadomość będzie zawierać 16 *n słów 32 bitowych (n>0). A zatem możemy wiadomość uważać za sekwencję n bloków M1 , M2, ... , Mn, gdzie każdy Mi zawiera 16 słów (32 bity).


2) Funkcje w algorytmie SHA-1

Sekwencja 79 funkcji jest użyta w algorytmie SHA-1. Każda funkcja ft, dla t: 0 <= t <= 79 operuje na trzech 32-bitowych słowach B,C,D i produkuje 32-bitowe słowo jako wynik. Funkcje ft(B,C,D) są zdefiniowane następująco:
Sekwencja Funkcja Zapis JavaScript
(0 <= t <= 19) ft(B,C,D) = (B AND C) OR ((NOT B) AND D) ( B & C) | ( (~B) & D)
(20 <= t <= 39) ft(B,C,D) = B XOR C XOR D B ^ C ^ D
(40 <= t <= 59) ft(B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (B & C) | (B & D) | (C & D)
(60 <= t <= 79) ft(B,C,D) = B XOR C XOR D B ^ C ^ D
Cykliczne przesunięcie w lewo: Sn(X):
Sn(X) = (X << n) OR (X >> 32-n)


3) Wartości stałe algorytmu SHA-1

Sekwencja stałych wartości K(0), K(1), ... , K(79) jest użyta w algorytmie SHA-1:
Sekwencja Stała
(0 <= t <= 19) Kt = 5A827999
(20 <= t <= 39) Kt = 6ED9EBA1
(40 <= t <= 59) Kt = 8F1BBCDC
(60 <= t <= 79) Kt = CA62C1D6


4) Obliczenie skrótu wiadomości (message digest)

Obliczenie skrótu wykonywane jest dla finalnie dopełnionej do 512 bitów wiadomości. Obliczenia używają dwu buforów, każdy składający się z 5-ciu 32 bitowych słów oraz sekwencji 80-ciu 32 bitowych słów.

  • Sekwencja pierwszych 5 słów pierwszego bufora oznaczana jest: A,B,C,D,E.
  • Sekwencja pierwszych 5 słów drugiego bufora oznaczana jest: H0, H1, H2, H3, H4
  • Sekwencja 80-ciu słów oznaczana jest: W0, W1,..., W79
  • Słowo TEMP oznacza w całości bufor.
16 bloków po 32 bity (512 bitów) oznaczone M1, M2,..., Mn są przetwarzane po kolei.

Inicjalizacja dodatkowych stałych:

H0 = 67452301
H1 = EFCDAB89
H2 = 98BADCFE
H3 = 10325476
H4 = C3D2E1F0

Procesowanie: M1, M2, ... , Mn . Dla każdego Mi, obliczamy:

a. Dzielimy Mi na 16 słów W0, W1, ... , W15, gdzie W0 jest pierwszym słowem.
b. Dla t = 16 do 79 liczymy (w pętli) Wt = S1(Wt-3 XOR Wt-8 XOR Wt- 14 XOR Wt-16).
c. Podstawiamy A = H0, B = H1, C = H2, D = H3, E = H4.
d. Dla t = 0 do 79 wykonujemy w pętli:

TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;
E = D; D = C; C = S30(B); B = A; A = TEMP;
e. Let H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E.

Po obliczeniu Mn, skrótem wiadomości jest 160-bitowa reprezentacja 5-ciu słów:

H0 H1 H2 H3 H4.

Źródło:
http://e-handel.mm.com.pl/crypto/opis_algorytmu_sha.htm

W razie problemów z działaniem serwisu:
admin@ehaker.com

Artykuł
  Jak zapewnić bezpieczne przesyłanie danych w sieci Internet ?
 
Artykuł
  Szyfrowanie plików w Windows 2k/XP (Encrypting File System)
 
Artykuł
  Kryptografia
Masz jakiś materiał dotyczący łamania haseł ?

program lub opis

Wyślij go na adres
e-mail: mail@ehaker.com
Co byś chciał zobaczyć w serwisie ?
   Phreak
   Podsłuch
   Dekodery
   Mail
   Inne
Wpisz szukane pojęcie ?
google.com

© 2003-2008 ehaker.com

test1| test2