See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
SHA-1 - Wikipedia, wolna encyklopedia

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

[edytuj] Linki zewnętrzne


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -