SHA-1
Z Wikipedii
SHA (Secure Hash Algorithm) - rodzina powiązanych ze sobą funkcji skrótu zaprojektowanych przez NSA (National Security Agency) i publikowanych przez National Institute of Standards and Technology.
Pierwszy z nich opublikowany w 1993 oficjalnie nazwany SHA (nieoficjalnie, żeby nie pomylić z następcami określany jako SHA-0). SHA-1 opublikowany został w 1995 i całkowicie zastąpił wycofanego (ze względu na nieujawnione oficjalnie wady) z użytku SHA-0. Potem od 2001 powstały cztery następne warianty określane jako SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512).
W 2004 zgłoszono udane ataki na funkcje skrótu mające strukturę podobną do SHA-1 co podniosło kwestię długotrwałego bezpieczeństwa SHA-1. NIST ogłosił, że do 2010 zaprzestanie stosować SHA-1 na rzecz różnych wariantów SHA-2. SHA-0 i SHA-1 tworzą 160-bitowy skrót z wiadomości o maksymalnym rozmiarze 264 bity i jest oparty o podobne zasady co MD5. Podstawowym celem publikacji SHA był Standard Podpisu Cyfrowego (Digital Signature Standard), którego SHA był częścią. SHA jest podstawą szyfru blokowego SHACAL.
Spis treści |
[edytuj] Pseudokod
Wartości początkowe:
h0 := 0x67452301 h1 := 0xEFCDAB89 h2 := 0x98BADCFE h3 := 0x10325476 h4 := 0xC3D2E1F0
Przetwarzanie wstępne: dopisz '1' do wiadomości dopisz k '0', gdzie k jest minimalną liczbę >= 0 taką, że wynikowa długość wiadomości jest kongruentna do 448 modulo 512 dopisz długość wiadomość (przed wypełnieniem), w bitach, jako 64-bitową liczbę całkowitą zakodowaną big endian.
Przetwarzaj wiadomość 512-bitowymi porcjami: podziel wiadomość na 512-bitowe porcje for (każda porcja)
podziel porcję na 16 32-bitowych słów kodowanych big-endian w(i), 0 ≤ i ≤ 15
Rozszerz 16 32-bitowych słów w 80 32-bitowych słów:
for i from 16 to 79
w(i) := (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16)) <<< 1
Zainicjuj zmienne dla tej porcji: a := h0 b := h1 c := h2 d := h3 e := h4
Główna pętla:
for i from 0 to 79
if 0 ≤ i ≤ 19 then
f := (b and c) or ((not b) and d)
k := 0x5A827999
else if 20 ≤ i ≤ 39
f := b xor c xor d
k := 0x6ED9EBA1
else if 40 ≤ i ≤ 59
f := (b and c) or (b and d) or (c and d)
k := 0x8F1BBCDC
else if 60 ≤ i ≤ 79
f := b xor c xor d
k := 0xCA62C1D6
temp := (a <<< 5) + f + e + k + w(i)
e := d
d := c
c := b <<< 30
b := a
a := temp
Dodaj skrót tej porcji do dotychczasowego wyniku: h0 := h0 + a h1 := h1 + b h2 := h2 + c h3 := h3 + d h4 := h4 + e
Wytwórz ostateczną wartość skrótu (zakodowaną big-endian): skrót = h0 dopisz h1 dopisz h2 dopisz h3 dopisz h4
Jedyna różnica pomiędzy algorytmami SHA-0 i SHA-1 występuje w drugim kroku algorytmu i polega na nieobecności w SHA-0 1-bitowego przesunięcia (obrotu), tzn.:
SHA-1:
w(i) := (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16)) <<< 1
SHA-0:
w(i) := (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16))
[edytuj] Ciekawostka
Cały mechanizm ochrony przed nielegalnym kopiowaniem microsoftowego Xboksa zależy od bezpieczeństwa SHA-1. Jeśli zostanie przeprowadzony skuteczny atak wykorzystujący przeciwobraz będzie możliwe dowolne kopiowanie gier bez pomocy modchipa.
[edytuj] Opisy Algorytmu
- RFC 3174, US Secure Hash Algorithm 1 (SHA1)
- FIPS PUB 180-2, Secure Hash Standard (SHA-1, SHA-256, SHA-384, i SHA-512)
- passcrack.spb.ru SHA-1 Rainbow Tables
[edytuj] Linki zewnętrzne
- SHA-1 online generator – prosty i darmowy generator sum dla MD5, MD4 i SHA-1
- Java Script MD5 - podobnie jak w linku powyżej, tutaj też znajdziemy generator sum dla MD5, MD4 i SHA-1. Dodatkowo: opisane tych algorytmów, porównania, implementacje tych algorytmów w różnych (nie tylko w JS) językach programowania.
| Kadzidełka szkodzą zdrowiu |
|
Wieloletnie wdychanie aromatycznego dymu z kadzidełek grozi zachorowaniem na raka dróg oddechowych. Nie podnosi jednak ryzyka raka płuc.
|
| Komórki włoskowe pomogą odzyskać słuch |
|
Uzyskane dzięki terapii genowej komórki włoskowe pomogą leczyć głuchotę i choroby ucha wewnętrznego - informują na łamach pisma "Nature" naukowcy z USA.
|
| Rzymski fort odkryty w południowej Rumunii |
|
Archeolodzy prowadzący wykopaliska w Rumunii odkryli pozostałości fortu, który mógł być stolicą rzymskiej prowincji Dacia Malvensis - donosi serwis internetowy World News.
|
| Amazońska dżungla pełna dawnych miast |
|
Tam, gdzie dziś rośnie brazylijska dziewicza dżungla, ponad pięćset lat temu wznosiły się liczne miasta połączone siecią dróg - informuje "Science".
|
| Konkurs dla młodych wynalazców |
|
Prof. Barbara Kudrycka - minister nauki i szkolnictwa wyższego objęła honorowy patronat nad tegoroczną, trzecią już, edycją Krajowego Konkursu na Rozwiązanie Innowacyjne Opracowane przez Młodych Wynalazców. Nagrodą główną jest prezentacja zwycięskiego wynalazku na Światowych Targach Wynalazczości, Badań Naukowych i Nowych Technik " INNOVA" ( BRUSSELS EUREKA), poświęconych transferowi technologii i wdrażaniu postępu technicznego, które odbędą się w dniach 13-15 listopada w Belgii.
|