Secure hash algorithm
Secure hash algorithm буюу SHA-г NIST компаниас хөгжүүлэгдсэн. 1993 онд SHA-г Federal Information Processing Standard (FIPS)-с нийтэлсэн анхны хувилбар нь 160 битийн хаш функц юм. Secure hash algorithm нь message authentication, түлхүүр үүсгэх функцууд ба адилтган танин баталгаажуулахад ашиглагдана. Хаш алгоритм нь дурын битийн уртыг тогтмол битийн урттай болгон гаргадаг функц. SHA нь SHA-0, SHA-1, SHA-2, SHA-3 гэсэн хувилбаруудтай. SHA-n гэдэг тэмдэглэгээ нь хэш функцийн үр дүнд n-битийн утга гарна гэдгийг илэрхийлнэ. Харин SHA-1-ийн хувьд NIST FIPS PUB 180-1-д анх тодорхойлсны дагуу 160-битийн утга гаргана.
SHA төрөл
SHA-0:
1993 онд SHA нэрээр нийтэд хэвлэгдсэн 64 бит Хаш функцийн анхны хувилбар юм. Үүнийг retronym хэмээн нэрийддэг. 160 битийн хаш утгыг ашигладаг.
SHA-1:
160 бит Хаш функц. NSA-с тоон гарын үсгийн алгоритмийн хэсэг болгож загварчилсан. SHA-1 нь аюулгүй байдлын найдваржилтаар хангалтгүйд тооцогдох болсон тул ашиглахыг татгалз хэмээх болсон. Оролтонд нь 264 битээс бага мессеж, гаралтанд нь 160 битийн мессеж гарна. Энэхүү стандартын хүрээнд аюулгүй байдлын ажиллагааны турш SHA-384 ба SHA-512 алгоритмууд нь аюулгүй байдлын хамгаалалтаар хамгийн өндөрт байдаг.
SHA1 алгоритмийн нэг давталтын цикл Энэ нь SHA-1 хэрэгжүүлэх хэш функцийг шахах үйл ажиллагаа санаан дээр барьсан. Орц шахалт үйл ажиллагаа 512 битийн зурвас блок урт, өмнөх блок албан тушаалын гаралт нь юм. Гаралт Энэ хүртэл бүх блок хэш утга юм. Өөрөөр хэлбэл, хэш нэгж тэнцүү . Бүх мэдээний хэш утга нь сүүлийн блок үр дүн юм.
SHA-2:
Өөр өөр блокуудтай 2 ижил хаш функцийн бүлэг юм. SHA-256, SHA-512 SHA-256 нь SHA-1 ба MD4, MD5-н аргаар үйл ажиллагаа явуулдаг. SHA-256 шахалтын функц нь 256 битийн завсрын хаш утга ба 512 битийн мессежийн блок дээр ажилладаг. Энэ нь үндсэндээ 256 битийн блок шифрлэлтийн алгоритм юм. SHA-224, SHA-324, SHA-512/224 ба SHA-512/256 гэсэн тус бүрийн стандарт байдаг. Эдгээрийг NSA зохион бүтээсэн. 2 гол бүрэлдэхүүн хэсэгтэй. 1. SHA-256 шахалтын функц 2. SHA-256 мессежний хуваарь SHA-256 нь 32 битийн үсэгт ашиглагдана. Доорх тэмдэглэгээг ашиглана.

SHA-512 шахалтын функц нь 512 битийн хаш утга ба 1024 битийн мессежийн блок дээр ажилладаг. Энэ нь үндсэндээ 512 битийн блок шифрлэлт юм.
SHA-3:
Одоо ажиллаж буй NIST hash competition функцийн хувилбарт санал болгосон хаш функцийн стандарт. 2012 оны 10 сард SHA-3 гэсэн шинэ стандартыг бий болгон сонгосон. Тоон гарын үсэг болон хаш дээр суурилсан MACs, PRFs, RNGs, KDFs-г дэмждэг. Аюулгүй байдлын хувьд маш өндөр нарийвчлалтай. SHA-3 нь SHA3-224, SHA3-256, SHA3-384 ба SHA3-512 гэсэн 4 криптографын хаш функцээс бүрдэнэ. 2 гол бүрэлдэхүүн хэсэгийг тайлбарлья. 1 SHA-512 шахалтын функц ба SHA-512 мессежийн хуваарь Энэ нь доорх тэмдэглэгээг ашиглана.

SHA-512 нь 64 битийн үсэгт ашиглагдана.
SHA үйл ажиллагааны харьцуулалт
Secure Hash Algorithm-ын олон хувилбаруудын харьцуулалт
Параметр | SHA-1 | SHA-256 | SHA-384 | SHA-512 |
---|---|---|---|---|
Мессеж задаргааны хэмжээ (bits) | 160 | 256 | 384 | 512 |
Мессежний хэмжээ (bits) | 2-н 64 зэрэг | 2-н 64 зэрэг | 2-н 128 зэрэг | 2-н 64 зэрэг |
Блокын хэмжээ (bits) | 512 | 512 | 1024 | 1024 |
Үгийн хэмжээ (bits) | 32 | 32 | 64 | 64 |
Алгоритмын алхамууд | 80 | 64 | 80 | 80 |
Тайлагдах боломж
Secure Hash Algoritm нь маш өндөр нарийвчлалтай учир тайлагдах боломжгүй. Тухайн нэг битийн өөрчлөлтөн encryption хийсэн түлхүүр үг нь бүхэлдээ өөрчлөгддөг. Тиймээс тайлагдах боломж бараг байхгүй. Харин Brote Force attack ашиглан нууц үгийг олох боломжтой боловч тухайн боловсруулалтыг хийх гэж их хэмжээний хугацаа ашиглагдана. Ийм учраас эвдэгдэх боломжгүй юм.