Sha 256 алгоритмыг энгийн үгээр илэрхийлнэ. Уул уурхайн крипто-алгоритмуудыг тайлбарла. Илүү ялалт

Александр Марков

SHA 256 товчлол нь Secure Hashing Algorithm буюу NSA факсаар үүсгэсэн хэш хүсэлтийн механизм гэсэн үг юм. Алгоритмын гол ажил бол утгын төрлийн мэдээллийг тогтмол утгатай хувиргах явдал бөгөөд эдгээр өгөгдлийг тодорхойлох аргыг хооронд нь ялгах боломжтой байх ёстой.

Гадаад төрх байдлын түүх

Энэ бол өөр үеийн алгоритм, түүний залгамжлагч болох SHA-1 дээр суурилсан бүтээл бөгөөд 1995 онд өргөжин тэлж, иргэний зориулалтаар ашиглагдаж эхэлсэн нь маш чухал юм. Шинэчилсэн хувилбар Nin_ алдартай алгоритмыг 2002 онд Үндэсний аюулгүй байдлын агентлагийн мэргэжилтнүүд бүтээжээ.

Гурван жилийн дараа патент гарч ирсэн бөгөөд энэ нь надад иргэний зорилгоор алгоритмыг ялах боломжийг олгодог. Алдартай механизмын гурав дахь хувилбар 2012 онд гарч ирсэн бөгөөд үүнийг боловсруулахад Үндэсний стандартын агентлагуудын мэргэжилтнүүд оролцсон. Дашрамд хэлэхэд SHA-3 нь өмнөх үеийнхээ ялах болно.

Хөрвүүлсэн өгөгдлийг тайлах боломжгүй, хэш нийлбэрийн хэсгүүдийг сонгодог тайлбарын процесст шифрлэлтийн процесс гэж үзэх боломжгүй юм. Нэг талын шифрлэлтийн алгоритм нь тодорхойгүй хэмжээний мэдээллийг боловсруулдаг.

Варто үүнийг туйлын бүх зүйл гэж тодорхойлдог үндсэн хувилбаруудалгоритм Secure Hashing алгоритм нь Меркле-Дамгардын зарчмын дагуу бүтээгдсэн: мэдээллийг ижил ангилалд хуваадаг. Арьсны бүлэг нь нэг талын атгахад өртдөг бөгөөд үүний дараа арьсны арьс ихээхэн өөрчлөгддөг.

Шифрлэлтийн ийм арга нь хувийн бус байж болно:

  • өгөгдлийг шахах ажлыг шуурхай гүйцэтгэдэг;
  • түлхүүргүйгээр хувиргах үйл явцыг хийх боломжгүй;
  • imovirnіst төрх kolіzіy zveda nanіvets.

Техникийн шинж чанар

Мэдээллийн томилгооны протокол, хэсэг болгон хуваах, нийт арьс - 64 байт. Алгоритм нь нэгтгэлийг баталгаажуулдаг бөгөөд үүний дараа 256 битийн кодыг зарладаг. Шифрлэлтийн технологи нь эвгүй мэт санагдах тойрог дээр суурилдаг бөгөөд эргэлт нь 64 дахин их байдаг.

  • 64 байт блокийн хэмжээ.
  • Шифрлэх кодын хамгийн их урт нь 33 байт байна.
  • Сэрэмжлүүлэг задлах параметрүүд - 32 байт.
  • Замовчуваннямд зориулсан Розмир - 4 байт.
  • Нэг мөчлөгийн хил дээрх давталтын тоо 64 байна.
  • Алгоритмын хурд нь 140 Mb/s байна.

Өмнө дурьдсанчлан, SHA-256 протокол нь Меркле-Дамгардын үзэл баримтлалд үндэслэсэн бөгөөд дараа нь эхлээд блокуудад, дараа нь зэргэлдээ үгсэд хуваагдана.

Санамсаргүй давталтыг дамжуулахын тулд мэдээлэл цуглуулах - 64 эсвэл 80. Арьсны мөчлөг нь үгсийн хувирал дагалддаг. Дэд нийлбэрийн хэш код нь cob утгуудын дэд нийлбэрийн дараа үүсдэг.

SHA-256 алгоритмтай криптовалют

Уул уурхай нь SHA-256 алгоритмын зарчим дээр суурилдаг дижитал валютуудыг харцгаая.

  • Биткойн бол урьдын адил нэмэлт танилцуулга шаарддаггүй валют бөгөөд энэ нь хамгийн алдартай крипто хөрөнгө юм.
  • Peercoin нь код нь биткойны үндсэн дээр бүтээгдсэнээрээ онцлог бөгөөд механизм нь арга хэмжээг хамгаалахад ялалт байгуулж, PoW нь зоос тараахад зориулагдсан байдаг.
  • Namecoin - технологи кодтойБи аюулгүй байдал, нууцлал, төвлөрлийг сааруулах асуудлыг аажмаар сайжруулах болно.
  • Unobtanium - инфляцийн өмнөх хамгийн бага савалгаагаар тодорхойлогддог. Unobtanium зоосны vidobot-д 300 орчим зоос шаардлагатай.
  • Deutsche eMark нь янз бүрийн хөрөнгө, жишээлбэл, пенни шилжүүлэх дижитал хэмжүүр юм. Солилцоо нь зуучлагчгүйгээр явагддаг.
  • BetaCoin бол Bitcoin системтэй ижил зарчмаар ажилладаг олон улсын төлбөрийн систем юм.
  • Joulecoin - Bitcoin дээр суурилсан гүйлгээний хамгийн үр дүнтэй баталгаажуулалтыг баталгаажуулдаг.
  • IXCoin бол үе тэнгийнхэн хоорондын зарчим дээр суурилсан код дээр суурилсан өөр нэг төсөл юм.
  • – Блокчейн-платформ, өвөрмөц контентыг хэвлэн нийтлэх сарлагийн усан үзмийн талбай.

Varto нь мөн SHA-256 алгоритм нь Litecoin системд ялах боловч дэд хөтөлбөрт биш гэсэн үг юм. Уул уурхайн хувьд Scrypt протоколыг суулгасан.

SHA-256 алгоритм дээр криптовалют олборлох

Зарим шалтгааны улмаас энэ протоколд ашигладаг системүүд нь зоос авахын тулд гурван аргаар хийж болно.

  • ASIC.

Дундаж газаргүйгээр уул уурхайн эвхэгддэг байдал нь криптовалютыг олох арга зам байгаа эсэхээс хамаарна. Гэсэн хэдий ч, ямар ч тохиолдолд ASIC-хавсралт нь өөрөө хамгийн их үр ашигтайгаар тодорхойлогддог бөгөөд толгой нь маш олон янз байдаг.

Дундаж ASIC олборлогч нь ойролцоогоор 100 мянган рублийн өртөгтэй байдаг (Asic Miner AVALON 821), гэхдээ илүү үнэтэй загваруудыг худалдаж авах боломжтой бөгөөд үнэ нь нэг сая рубльд хүрэх боломжтой (Asic Miner BITFURY B8 16NM 50 TH/S) .

Процессорууд дээр cryptocurrency vidoboot хувьд ийм арга нь хамгийн бага үр дүнтэй байдаг. Ялангуяа тоон валютын Bitcoin-ийн тухай ярихад.

Хамгийн тохиромжтой шийдэл бол видео картууд юм. Өгзөгний фермийн дундаж хувилбар нь 1000-2000 долларын хооронд хэлбэлздэг. SHA-256 алгоритм дээр суурилсан криптовалютын видео лангууны видео картыг хэрхэн сонгох вэ?

Хэрэв та Nvidia-ийн тухай ярьж байгаа бол шилдэг шийдлүүдвидео карт болох (1400 MH/s). Мэдээжийн хэрэг, AMD-д тасралтгүй өрсөлдөгч гэж байдаггүй тул Vega цувралын бүх картуудыг олборлолтод ашигладаг. Radeon RX Vega видео адаптер нь 1200 MH/S хурдтайгаар олборлолтыг хангадаг. Ийм эзэмшлийг яг адилхан эзэмших нь хожлын дараагийн зүйл юм.

Хэрэв та хямд сонголтыг хайж байгаа бол энэ тохиолдолд та Radeon 7970 авах боломжтой бөгөөд ингэснээр та 800 MH / s хүртэл харах боломжтой. Фермийг эхлүүлэхэд зориулсан видео картанд илүү олон тоног төхөөрөмж, жишээлбэл, хөргөлтийн радиатор, амьдрах төхөөрөмж хэрэгтэй болно гэдгийг бүү мартаарай. үйл ажиллагааны санах ойгэх мэт.

Висновок

Энэ бол SHA-256 алгоритмын талаар уурхайчдын мэдэх ёстой бүх зүйл юм. Мэдээжийн хэрэг, орчин үеийн олон криптовалютууд Scrypt протокол дээр суурилдаг бөгөөд хамгийн алдартай зоосыг (BTC) олборлох нь өмнөх шигээ энэ зарчмыг баримталдаг.

SHA - 256 нь юунд зориулагдсан вэ?

SHA 256 - Secure Hashing Algorithm-ийн товчлол - түгээмэл биш криптографхэш алгоритм, хуваах Үндэсний аюулгүй байдлын агентлаг - АНУ-ын Үндэсний аюулгүй байдлын агентлаг. SHA-256-ийн даалгавар нь тогтмол утга бүхий өгөгдлийн багцыг үүсгэх шаардлагатай бөгөөд үүнд зориулагдсан болно. танигчЦих Даних.

Отриманы үнэ цэнийг албан ёсны мэдээллийн давхардсан тоогоор харьцуулж үздэг тул үүнийг арилгах боломжгүй юм. Алгоритмыг ашиглах гол хамрах хүрээ нь мэдээллийг хамгаалах, функцийг бууруулах, илүү өргөн хүрээтэй ашиглахтай холбоотой янз бүрийн нэмэлт, үйлчилгээнд ажиллах явдал юм. илүү өргөн. Мөн криптовалютын олборлолт хийх технологийн хувьд ялалт байгуулдаг.

Энэхүү алгоритм нь 1995 онд иргэний хэрэгцээнд ашиглахаар анх бий болсон SHA-1 алгоритмын үндсэн дээр бүтээгдсэн SHA-2 шифрлэлтийн алгоритмуудын бүлэгт багтдаг. SHA-2-г өөрөө 2002 оны хавар АНУ-ын Үндэсний аюулгүй байдлын агентлаг задалсан. АНУ-ын NSA гурван жилийн турш иргэний төслүүдэд SHA технологийг ашиглах патент олгосон.

2012 онд Үндэсний Стандарт, Технологийн Хүрээлэнд алгоритмын шинэчлэлт хийгдсэн: SHA - 3. Жилд шинэ алгоритмыг хялбаршуулсан үндсэн SHA - 2 алгоритм болгон баталсан боловч аль хэдийн хуучирсан боловч SHA - 1 ялсан хэвээр байна.

Хэш - сонгодог rozumіnni технологиор шифрлэгдээгүй өгөгдлийн хэмжээ, энэ нь буцах номноос өгөгдлийг тайлах боломжгүй юм. Ямар ч тооны өгөгдөлд нэг талын шифрлэлт хийнэ. Бүх SHA алгоритмууд нь Merkle-Damgard арга дээр суурилдаг: өгөгдөл нь тэнцүү бүлгүүдэд хуваагддаг бөгөөд тэдгээрийн арьс нь нэг талын шахалтын функцээр дамжих ёстой. Аль дохинагийн дараа өгөгдөл өөрчлөгдөж байна.

Энэ арга нь хоёр чухал давуу талтай:

  • хурдан шифрлэлтийг түлхүүргүйгээр тайлах нь бараг боломжгүй юм;
  • колизм үүсэх хамгийн бага эрсдэл (ижил зураг).

Илүү ялалт

Өнөөдрийн арьсны хакер Мережи, чи мэддэг, хакер SHA-256: SSL аюулгүй байдлын гэрчилгээ, SHA-256 алгоритмыг багтаасан вэбсайтыг хулгайлах нэг төрөл. Энэ нь сайттай хамгаалагдсан z'ednannya бий болгох, баталгаажуулах шаардлагатай байна.

Дээрээс нь SHA - 256

SHA-256-өөрөө өргөтгөлүүдбусдын дунд уул уурхайн алгоритм . Вин өөрийгөө хорон муутай адил хүчтэй (ховор тохиолдох алдааны хувьд) ба олборлолт болон бусад зорилгоор үр ашигтай алгоритм гэдгээ баталсан.

Хасах SHA - 256

Головный nedolіkom SHA - 256 є йог удирдлаган дооруурхайчдад: хамгийн том тооцооллын дарамтуудын жагсаалт нь криптовалютын ихэнхийг авч хаядаг бөгөөд үүнд нэг нь багтдаг. суурькриптовалютын зарчмууд төвлөрлийг сааруулах.

Үүний дараа агуу хөрөнгө оруулагчдын хувьд тэд биткойныг үйлдвэрлэлийн аргаар олборлох тооцооны дарамтанд пенни хөрөнгө оруулалт хийж эхэлсэн бөгөөд багатор олборлолтын эвхэгддэг байдал нэмэгдэж, винатковийн тооцооны хурцадмал байдал нэмэгдэж эхлэв. Скрипт гэх мэт криптовалютын олборлолтод орчин үеийн болон "хоригдсон" бусад протоколуудад цөөн хэдэн өөрчлөлт орсон байдаг. Өнөөдөр SHA-256 нь крипто-валютын зах зээлийн дийлэнх хэсгийг эзэлдэг хүмүүсээс үл хамааран бид илүү олон хулгайлагдсан, хальтирсан протоколуудын ачааг нэмж өгснөөр бид нөлөөгөө сулруулах болно.

Нэг цагийн дараа SHA-1 алгоритмууд нь мөргөлдөөнийг үл тоомсорлон нотлох замаар найдвартай байдлын шаардлагатай түвшинг өгөхөө больсон. SHA-512 шиг SHA-256 нь дутагдалтай тохиолдолд илүү найдвартай боловч буруутгах чадваргүй хэвээр байна.

Cryptocurrency Wiki

SHA дээр олборлолт - 256

SHA - 256 дээр олборлолт хийх нь бусад алгоритмуудын нэгэн адил бүх үйл явц нь эвхэгддэг мэт санагддаг. криптографдаалгаврууд, учир нь програм нь өмнөх блокуудын өгөгдөл дээр үндэслэн олборлолтод зориулж үүсгэдэг.

Өөр өөр SHA-256 функцээр олборлох гурван арга байдаг:

  • CPU (төв боловсруулах нэгж);
  • GPU (график процессор);
  • мэргэшлүүдПроцессор: ASIC.

Уул уурхайн хувьд хэш нь аль хэдийн байгаа блокуудыг тодорхойлох, өмнөх блокуудын үндсэн дээр шинээр бий болгох ялалтуудын нийлбэр юм. Уул уурхайн үйл явц нь "хүлээн зөвшөөрөгдсөн f33ae3bc9 ..." гэсэн интерфэйс дээр харагдана. De f33ae3bc9 - tse хэш - нийлбэр, өгөгдлийн хэсэг, хүлээн зөвшөөрсөншифрийг тайлах зориулалттай. Үндсэн блок нь олон тооны ижил төстэй хэшүүдээс бүрддэг - sum.

Tobto, SHA алгоритмаар олборлолт - 256 є өөгүйзөв хэш утгыг сонгох - нийлбэр, шинэ блок үүсгэх тоог тоолох. Таны тоолох дарамт их байх тусам зөв блокыг олох боломж нэмэгдэнэ: дарамтанд орохын тулд янз бүрийн хэш нийлбэрүүдийг ялгах хурд.

Биткойны SHA дээр санал болгодог хүмүүсийг дуудаж байна - 256 алгоритм, төлөө өрсөлдөх чадвартайасар их ачаалалтай байгаа бүс нутагт шинэ хэрэгцээт зүйл олборлох . Тиймээс, биткойн олборлохын тулд "ASIC" -ийн үйлдвэрлэл удаан хугацаанд сайжирсан - хэрэглээний тусгай нэгдсэн хэлхээ, i.i. e. тусгай зориулалтын нэгдсэн хэлхээ. ASIC нь биткойн болон бусад криптовалютуудыг SHA-256 алгоритм дээр илүү баялаг, илүү үр ашигтай, хямдаар олборлох боломжийг олгодог.

Криптовалютууд SHA - 256 алгоритмыг хэрхэн хакерддаг вэ

SHA - 256 нь криптовалютын сонгодог алгоритм юм: үндсэн криптовалют болох биткойныг шинийг санаачилсан. Bitcoin Cash, Gold, Diamond-ийн хувьд ижил алгоритм нь биткойны сэрээний хувьд ялалт байгуулсан бололтой.

Крим тэднийг, SHA - 256 бас ялсан:

  • Steemit;
  • DigiByte;
  • peercoin;
  • namecoin;
  • Теккоин;
  • Окоин;
  • Зетакоин;
  • эмеркоин.

Мөн SHA-256 алгоритм нь Litecoin криптовалют дахь дэд программын хувьд ялалт байгуулсан бөгөөд олборлолтын гол алгоритм нь Scrypt юм.

Криптовалютын нэр хүнд өсөхийн хэрээр илүү олон хүмүүс үүнийг санхүүгийн ирээдүйтэй хэрэгсэл гэж хүлээн зөвшөөрч эхлэв. Проте, цөөхөн хүн оролцдог, тэд шинжлэх ухаан, технологийн дэвшлийн төлөө ямар үнэ цэнийг илэрхийлдэг. Энэ үзэгдлийн ёроолд хүрэхийн тулд ойлгохын тулд олон төрлийн криптографийн мэдээлэл, мөн SHA-256 кодын үл мэдэгдэх, нууц товчлолуудыг олж мэдэх шаардлагатай. Энэ тухай болон одоогийн нийтлэлд timetsya.

Уул уурхай гэж юу вэ?

Уул уурхай бол аливаа төрлийн дижитал валютын механизмын гол агуулах юм. аль хэдийн тусгай туслагч боломжийг олгодог улаан хэш код суулгах нь хувийн бусаар өөрчлөгдсөн байна нэг блок дахь үйл ажиллагааг дуусгах уурхайчид бүлэгт dії polagaє зарчим. Яг л ижил үнэ цэнэ ажиглагдаж байгаа мэт блок нь минийх бөгөөд зоосны блокчлон дээр нэмэгддэг. Ийм тоолох үйл ажиллагаа нь идэмхий ямар ч төрлийн өгөхгүй, шаардлагатай блок үүсэх нугалах дэмжих гэмт хэрэг. Нөгөөтэйгүүр, користувачи цахим мөнгөн тэмдэгтийн хонх, шүгэл дусааж болох бөгөөд ингэснээр тэдний майданчик хяналт, төвлөрлийг авахгүй байх болно.

Стандарт хэш функц нь блокыг оролт болгон хүлээн авдаг дуулах мэдээлэл, гарах замдаа харсан, тэр төсөөлшгүй утга. Энэ нь шаардлагатай үзүүлэлтийг мэдэх оновчтой арга байхгүй тул та зөв хэш кодыг олох хүртэл хайлтыг давтаж, давтах хэрэгтэй.

Хамгийн алдартай протоколуудын нэг бол SHA-256 юм. Дэлхийн хамгийн алдартай анхны криптовалют бол Bitcoin юм. Түүнчлэн, аюулгүй байдлын сайжруулалт нь алгоритмыг 2 удаа ажиллуулж байгаатай тэнцүү бөгөөд үүнийг аль хэдийн subverted гэж нэрлэдэг.

Bitcoin-д хэш хэрэглэх шалгуур нь коб тутамд "0"-ийн тоог шаарддаг. Мөн ижил төстэй утгыг харуулах нь чухал. Жишээлбэл, машины дугаарыг оруулах эсвэл 0-ээр төгссөн загварлаг нэг юм. Энэ нь хэш функцийн хувьд илүү эвхэгддэг гэдгийг ойлгох хэрэгтэй. Тухайн цагт зөв утга нь ойролцоогоор 17 коб тэгийг багтааж болох тул 20 алхамд 1.4-ийн нэг нь л 10-аар үрждэг. Тоглолт явуулах, ижил төстэй хэш мэдэх нь хамаагүй илүү үнэн зөв юм, гариг ​​дээр үл мэдэгдэх массын бүх ертөнцийн дунд ижил хэш мэдэх.

SHA-256 алгоритмын шуудангийн хувилбарыг тус агентлаг бүтээсэн Үндэсний аюулгүй байдалАНУ 2002 оны хавар. Хэдхэн сарын дараа Үндэсний хэмжил зүйн их сургууль нь өгөгдлийг аюулгүй боловсруулах зорилгоор холбооны түвшинд батлагдсан FIPS PUB 180-2 шифрлэлтийн шинэ протоколыг нийтлэв. Vzimku 2004 roku vіn popovnivsya алгоритмын өөр нэг хувилбар.

Дараагийн 3 жилийн хугацаанд NSA нь роялти эрхгүй лицензийн дагуу SHA 2-р үеийн патентыг олгосон. Үүнтэй ижил зүйл нь иргэний салбарт технологийн зогсонги байдалд хүргэсэн.

Хүндэтгэлтэй бай! Дуусгах cicavia баримт: арьс шир Бүх дэлхийн аалз, өөрөө ч мэдэлгүй нэг цагийн турш интернет энэ протоколоос илүү үнэтэй байдаг. Вэб нөөцийг SSL аюулгүй байдлын сертификатаар хамгаалсан тохиолдолд SHA-256 алгоритмын эсрэг автоматаар ажиллах болно.

Энэ протокол нь тус бүр нь 512 бит (эсвэл 64 байт) хэсгүүдэд хуваагдсан мэдээлэл дээр суурилдаг. Vіn rob її криптограф "zmіshuvannya", дараа нь vіd vіdє 256-бит хэш код. Агуулахын өмнө алгоритм нь 64 удаа давтагдах нэг энгийн тойрогт ордог.

Нэмж дурдахад SHA-256 нь техникийн муу үзүүлэлтэд хүрч чаддаг.

  • Блокны хэмжээ заагч (байт) - 64.
  • Зөвшөөрөгдөх өргөтгөлийн уртыг хязгаарлах (байт) - 33.
  • Заавал мэдээлэх шинж чанар (байт) – 32.
  • Стандарт үгийн хэмжээ (байт) - 4.
  • Дотоод станцын уртын параметр (байт) нь 32 байна.
  • Нэг мөчлөгийн давталтын тоо 64-өөс бага байна.
  • Протоколоор хүрэх хурд нь (MiB/s) ойролцоогоор 140 байна.

SHA-256 алгоритмын ажил нь Меркле-Дамгард өдөөн хатгах арга дээр суурилдаг бөгөөд энэ нь өөрчлөлтийн дараа кобын индексийг блок болгон хуваах боломжтой бөгөөд өөрийн замаар 16 үгэнд хуваагддаг.

80 эсвэл 64 давталттай давталтаар дамжих өгөгдөл олж авах. Арьс ширний үе шат нь хадгалах блокоос хэшинг эхлүүлснээр тодорхойлогддог. Тэдгээрийн хэд хэдэн нь функцын хэрэгслээр боловсруулагддаг. Дараа нь үр дүнд нь хэш кодын зөв заалтыг хараад хувиргах үр дүнг нэмнэ. Cherd блок үүсгэхийн тулд урд талын утгыг тогтооно. Тэднийг okremo нэг арга замаар дахин хийх нь бууж өгөхгүй.

Мөн ийм функциональ протокол дээр үндэслэн 6 битийн үйлдлийг таах боломжтой.

  • "ба" - битийн үйлдэл "I";
  • "shr" - утгыг шаардлагатай тооны битээр баруун тийш шилжүүлэх;
  • "ялзрах" - баг нь урд талын хувьд ижил төстэй, ижил ялгаа нь мөчлөгийн сүйрэлд хүргэдэг;
  • "||" эсвэл холбох - шугаман бүтцийн хэсгүүдийг холбох үйл ажиллагаа, гол төлөв эгнээ;
  • "xor" - "ABO" -г сонгох тушаал;
  • "+" - ердийн нугалах ажиллагаа.

Ямар ч шифрлэлтийн алгоритмд зориулсан ердийн үйлдлийн багцыг хэрхэн гүйцээх вэ?

Алгоритмын утгыг тодорхойлохын тулд криптоанализ руу буцах шаардлагатай. Тусгай түлхүүр шаардлагагүйгээр мэдээллийн шифрийг тайлах аргуудыг мэддэг Tsya сахилга бат.

SHA-256-ийн өвөрмөц шинж тэмдгүүдийн талаархи анхны судалгааг 2003 онд хуурамчаар хүлээн зөвшөөрч эхэлсэн. Тэр үед протокол дээр өршөөл үзүүлээгүй.

Проте, аль хэдийн 2008 оны дундуур Энэтхэгийн хэсэг шинжээчид SHA архитектурын гэр бүлийн 22 давталтын тоог олж чаджээ. Хэдэн сарын турш санал болгосны дараа протоколын тайрсан хувилбарын зөрчилдөөнийг шийдвэрлэх арга, дараа нь завсрын бус SHA-256-г хэшлэх 31-р давталт.

Хоолойн үйл ажиллагаанд дүн шинжилгээ хийхийн тулд нэг цагийн дотор 2 хүртэлх төрлийн халдлагын нарийвчлалыг шалгах шаардлагатай.

  1. Прототип байгаа эсэх нь його хэш код дээрх cob мессежийн шифрийг тайлах явдал юм. Энэ төрлийн vplyu нь өөрчлөлтийн үр дүнгийн хамгийн сайн хамгаалалтыг баталгаажуулдаг.
  2. Rebuvannya kolіzіy - өөр өөр оролтын параметртэй ижил төстэй гаралтын өгөгдөл. Ийм олон янзын дайралтанд тэсвэртэй байдлын хувьд энэ нь шууд уриншилд ордог. цахим гарын үсэгіz vekoristannyam бодит протокол.

SHA алгоритмын өөр нэг үеийг бүтээгчид шинэ шифрлэлтийн механизм нь бусад зарчмуудын үндсэн дээр ажилладаг гэж худал хэлжээ. Тиймээс 2012 оны намар Кеччак хэмээх гурав дахь цувралын протокол дэлхийд гарч ирэв.

Технологийн практикт zastosuvannya болон баталгаажуулалт

АНУ-ын хууль тогтоомж нь мэдээллийг хамгаалах төрийн хөтөлбөрүүдэд SHA-256 болон бусад ижил төстэй хэш хийх аргыг ашиглахыг зөвшөөрдөг. Нөгөөтэйгүүр, арилжааны компаниуд алгоритмыг хаахыг зөвшөөрдөг.

Чухал!Тиймээс энэхүү протоколыг анхны дижитал валют болгон ашиглахад гайхах зүйл алга. Шинэ биткойныг гаргах нь одоогийн SHA-256 архитектурын ач холбогдлын дарааллаар тогтоогддог.

Энэ нь хэрхэн vidobotku cryptocurrency зориулсан төрөлжсөн гадна барилга багтах вэ? Энэхүү алгоритмын арьсан зүүгээр энгийн харагдах байдлыг бий болгож чадна - энгийн битийн ажиллагаа, 32 битийн нугалах (хэлхээний үндсийг мэддэг хүн байсан ч та үүнийг коридор руу харж байгаа мэт хялбархан харж болно). Үүний төлөө үр дүнтэй ажил asic-уурхайчдад алгоритм руу хэдэн арван блок, алхам хэрэгтэй.

Bitcoin, Litecoin, Dogcoin болон бусад ижил төстэй "зоос" -ын эсрэг Scrypt шифрлэлтийн протоколыг ашигладаг бөгөөд энэ нь нугалах функцийг хангадаг. Цей алгоритмҮйл ажиллагааны явцад хэш функцүүдийн 1024 өөр утгыг авдаг бөгөөд сүүлчийнх нь гаралт дээр бид үр дүнг авдаг. Протоколыг хэрэгжүүлэхийн тулд Завдяки цому нь асар их дарамт шахалт шаарддаг.

Висновок

SHA-256 протокол нь маш хялбар мэт санагдаж байгаа бөгөөд өнөөдөр йогийг амжилттай тойрч гарах тусгай төхөөрөмж (уурхайчид гэж нэрлэгддэг) байдаггүй гэж хэлж болно. Түүнээс хойш процессор дээр олборлолт хийх эсвэл видео картуудаас фермүүдийг сонгох шаардлагатай болсон тул ASIC-хавсралт нь мастерууддаа илүү их мөнгө олох боломжийг олгодог. Гэсэн хэдий ч аль нь байна Зворотный Бик. Криптовалютыг төвлөрүүлэхийн тулд уурхайчдын сонголт, мөн шинэ хэш протокол боловсруулах шаардлагатай байна. Ийм алгоритм болсон Scrypt нь илүү дэвшилтэт механизм бөгөөд ихээхэн бүтээмж шаарддаг бөгөөд онолын хувьд онцгой давуу талтай тусгай хэрэглээг зөвшөөрдөг.

Энгийн користувачийн байрлалаас SHA-256 болон Scrypt протоколуудын хооронд ямар ч ялгаа байхгүй. Та дижитал валютыг компьютер эсвэл өгөгдсөн протоколын фермээр олборлож болно.

Өнөөдөр SHA-256 алгоритм нь нийт зах зээлийн 40 гаруй хувийг зээлж, хамгаалалт, байрлал гэх мэт. Алдарт залгамжлагчийг амьсгал хураах өмхий үнэрийг би зогсоож чадахгүй. Тиймээс, хэд хэдэн шинэ зүйлээс төвлөрсөн бус Майдан Эфириумд ялахаар сонгосон "уурхайчдад тэсвэртэй" чинжаал протоколын талаар тааварлах шаардлагатай байна. Магадгүй би өөрөө хашингийн өрөө болон SHA-256 орон зайд удирдагчийн бороохойг авах болно.

, "Secure Hash Standard (SHS)", АНУ. Худалдааны яам, 2012 оны 3-р сар

Нөхцөл:
FIPS Холбооны мэдээлэл боловсруулах стандарт (Холбооны мэдээлэл боловсруулах стандарт).
SHA Secure Hash Algorithm (Strong Hash Algorithm).
Үг - unsigned 32 бит (4 байт), эсвэл 64 бит (8 байт) гэж өөрчилсөн, SHA алгоритмтай ижил аргаар унах.

АЮУЛГҮЙ ХЭШ СТАНДАРТ (SHA-1 ба SHA-2 криптограф функцуудын бүлэг)

Гэр бүл криптографийн функцууд SHA нь хоёр дэд үржвэрт хуваагдана: хооронд байхгүй алгоритм SHA-1(1995 онд хэвлэгдсэн rotsi - FIPS PUB 180-1) ба гарчигтай цуврал алгоритмууд SHA-2(2002 онд хэвлэгдсэн - FIPS PUB 180-2, 2008 онд шинэчлэгдсэн - FIPS PUB 180-3): SHA-224, SHA-256, SHA-384, SHA-512; Алгоритмуудыг 2012 онд FIPS PUB 180-4 дээр нэмсэн SHA-512/224і SHA-512/256. Бид SHA-1 ба SHA-2 хэш функцүүдийн бүхэл бүтэн гэр бүлийг хамарсан FIPS PUB 180-4 стандартыг хардаг.

Энэхүү стандарт нь дараах хэш алгоритмуудыг тодорхойлдог. SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224і SHA-512/256, үүнийг дижитал өгөгдлийн харагдах байдалд үндэслэн тооцох ёстой (хяналт). Татвар мэдүүлэх хэш-алгоритмыг хэрхэн оруулах вэ, энэ нь огноо, бага, бага 264 бит (нь SHA-1, SHA-224і SHA-256) буюу түүнээс бага, бага 2128 бит (for SHA-384, SHA-512, SHA-512/224і SHA-512/256), дараа нь үр дүн гарна, зэрэглэл тойм эсвэл хэш утгын мэдэгдэл. Мэдээллийн хэш утгын хүрээ нь сонгосон алгоритмд 160-аас 512 бит (эсвэл 20-64 байт) хооронд хэлбэлздэг. SHA алгоритмууд нь бусад криптографийн алгоритмуудтай, жишээлбэл, алгоритмуудтай хамт ялалт байгуулдаг. цахим гарын үсэггэрчлэлийг баталгаажуулах түлхүүр (HMAC) эсвэл сөрөг тоо (бит) залгахад зориулж нэг цагийн турш хэш хийх боломжтой.

Энэхүү стандартад багтсан хэш алгоритмуудыг өгөгдсөн алгоритмын дараа цаашид тооцоолох боломжгүй хүмүүст аюулгүй гэж нэрлэдэг. 1) тусгай дохионы тоймд зориулсан сэрэмжлүүлгийг дахин хянана уу, үгүй ​​бол 2) Мэдэгдэлтэй ижил мэдээлэл байж болох хоёр өөр мэдэгдлийг мэдэх (харьцуулалтыг мэдэх). Be-yakі zm_ni-д povіdomlennі, с dzhe vysokoj ymovirnіstyu, өөр өөр хэш утгыг хүртэл үйлдвэрлэх. Эрх мэдэл нь тоон гарын үсгийг хөрвүүлэх, баталгаажуулалтыг баталгаажуулах, урвуу дугаар үүсгэхэд суурилдаг.

Арьсны алгоритм нь хоёр үе шатаас бүрдэнэ. Урд засалтэр хэш тооцоо. Урд засал чимэглэл орно нэмэлт мэдээлэл, нэмэлт сануулагчийг эвдэж байна М- бит блокууд, і анхны утгыг тохируулах, хэшийг тоолоход ялалт байгуулсан. Хэшийн тооцоог давталттайгаар тооцдог МНэмэлт мэдээллийн битийн блок, мөн хэш утгыг олж авахын тулд үгэн дээрх хакерын функцууд, тогтмолууд болон үйлдлүүд. Роботын процедурын үр дүн нь хэш є digest digest-ийн тооцоо юм.

Хэшлэгдсэн өгөгдөл болон хэш утгын блок, мөрийг ялгах алгоритмууд - div. хүснэгт 1.

Алгоритм Розмир подомлення (битээр) Розмир блок (битээр) Розмир үгс (битээр) Мэдээлэл шингээх розмарин (битээр)
SHA-1 < 2 64 512 32 160
SHA-224 < 2 64 512 32 224
SHA-256 < 2 64 512 32 256
SHA-384 < 2 128 1024 64 384
SHA-512 < 2 128 1024 64 512
SHA-512/224 < 2 128 1024 64 224
SHA-512/256 < 2 128 1024 64 256
Функцүүд

Шугаман бус функцүүдийн SHA-1 дараалал f 0 , f 1 ,..., f 79. Арьсны үйл ажиллагаа f t, де 0 ≤ т< 79 , гурван 32 бит өөрчлөлт дээр ажилладаг: х, y, і z, үр дүнд нь нэг 32 бит үгийг эргүүлнэ. SHA-1 алгоритмд шугаман бус функцүүдийн довтолгооны багц ялалт байгуулав. f t (x, y, z):
00 ≤ t ≤ 19Ch(x, y, z)
20 ≤ t ≤ 39Паритет (x, y, z)= x XOR y XOR z
40 ≤ t ≤ 59Maj(x, y, z)
60 ≤ t ≤ 79Паритет (x, y, z)= x XOR y XOR z

Булийн алгебр.
Хүндэтгэлийг сэргээхийн тулд юу, жишээлбэл, үйл ажиллагаа ЧТа үүнийг өөр аргаар хэлж болно:
z XOR (x БА (y XOR z))
Үр дүн нь өөрчлөгдөхгүй. Алгоритмын бусад хэрэгжилтэд ийм сонголтуудыг ашиглаж болно.

Шугаман бус функцийг ашиглан SHA-224 ба SHA-256:

Ch(x, y, z)= (x БА y) XOR (x БА z БИШ)
Maj(x, y, z)= (х БА y) XOR (x БА z) XOR (y БА z)

Sigma0(x)= ROTR(x, 2) XOR ROTR(x, 13) XOR ROTR(x, 22)
Sigma1(x)= ROTR(x, 6) XOR ROTR(x, 11) XOR ROTR(x, 25)

Delta0(x)= ROTR(x, 7) XOR ROTR(x, 18) XOR SHR(x, 3)
Delta1(x)= ROTR(x, 17) XOR ROTR(x, 19) XOR SHR(x, 10)


nбит:
ROTR(x, n) = (x»n) | (x "(32-н))
SHR - zsuv баруун гар nбит:
SHR(x, n) = x » n

SHA-384, SHA-512, SHA-512/224, SHA-512/384 шугаман бус функцүүдийн тоо:

Ch(x, y, z)= (x БА y) XOR (x БА z БИШ)
Maj(x, y, z)= (х БА y) XOR (x БА z) XOR (y БА z)

Sigma0(x)= ROTR(x, 28) XOR ROTR(x, 34) XOR ROTR(x, 39)
Sigma1(x)= ROTR(x, 14) XOR ROTR(x, 18) XOR ROTR(x, 41)

Delta0(x)= ROTR(x, 1) XOR ROTR(x, 8) XOR SHR(x, 7)
Delta1(x)= ROTR(x, 19) XOR ROTR(x, 61) XOR SHR(x, 6)

Үг дээрх үйлдлүүд (64 бит).
ROTR - мөчлөгийн zsuv баруун гар nбит:
ROTR(x, n) = (x»n) | (x "(64-н))
SHR - zsuv баруун гар nбит:
SHR(x, n) = x » n

Константи

Константи К т
00 ≤ t ≤ 19 0x5a827999
20 ≤ t ≤ 39 0x6ed9eba1
40 ≤ t ≤ 59 0x8f1bbcdc
60 ≤ t ≤ 79 0xca62c1d6

(Хоол нь таныг цохиход яг л тооноос одод гарч ирсэн, тэгвэл энэ нь dzherelo байх ёстой:
0x5A827999 = $\sqrt(2) / 4$ , 0x6ED9EBA1 = $\sqrt(3) / 4$ , 0x8F1BBCDC = $\sqrt(5) / 4$ , 0xCA62C1D6 = $\sqrt(10) p4-аар олон 232).

64 тогтмол (32 бит үг): K 0 , K 1 ... K 63. (Нэмэлтэд: эхний 64 анхны тооны шоо язгуурын эхний 32 битийн буудсан qi тогтмолууд).

K = [
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
]

80 тогтмол (64 бит үг): K 0 , K 1 ... K 79. (Нэмэлтүүдийн хувьд: эхний 80 анхны тооны шоо язгуурын эхний 64 битийн шоо фракц бүхий qi тогтмолууд).

K = [
0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc,
0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118,
0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2,
0x72be5d74f27b896f, 0x80deb1fe3b1696b1, 0x9bdc06a725c71235, 0xc19bf174cf692694,
0xe49b69c19ef14ad2, 0xefbe4786384f25e3, 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65,
0x2de92c6f592b0275, 0x4a7484aa6ea6e483, 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5,
0x983e5152ee66dfab, 0xa831c66d2db43210, 0xb00327c898fb213f, 0xbf597fc7beef0ee4,
0xc6e00bf33da88fc2, 0xd5a79147930aa725, 0x06ca6351e003826f, 0x142929670a0e6e70,
0x27b70a8546d22ffc, 0x2e1b21385c26c926, 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df,
0x650a73548baf63de, 0x766a0abb3c77b2a8, 0x81c2c92e47edaee6, 0x92722c851482353b,
0xa2bfe8a14cf10364, 0xa81a664bbc423001, 0xc24b8b70d0f89791, 0xc76c51a30654be30,
0xd192e819d6ef5218, 0xd69906245565a910, 0xf40e35855771202a, 0x106aa07032bbd1b8,
0x19a4c116b8d2d0c8, 0x1e376c085141ab53, 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8,
0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3,
0x748f82ee5defb2fc, 0x78a5636f43172f60, 0x84c87814a1f0ab72, 0x8cc702081a6439ec,
0x90befffa23631e28, 0xa4506cebde82bde9, 0xbef9a3f7b2c67915, 0xc67178f2e372532b,
0xca273ecea26619c, 0xd186b8c721c0c207, 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178,
0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b,
0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c,
0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817
]

Урд засал
1. Нэмэлт мэдээлэл

Meta zrobiti podomlennya хуваагддаг 512 эсвэл 1024 бит, SHA алгоритмтай ижил аргаар хадгална. Нэмэлтийг хэш тоолох процедурын өмнө, эсвэл солигдох блок (iv) дуусахаас өмнө хэш тоолох процедурын явцад шалгаж болно.

Мдоривнює л "нэг" к- тэгэхээр, rozmіr otrimannogo podomlennya buv 64-р дараалал нь 512-ын үржвэрээс бага ( l+1+k = 448 мод 512). Дали, 64 битийн мэдэгдлийг эцсийн үр дүнд нэмсэн лгадны тусламж М "abc" "нэг", дараа нь 448 - (24+1) = 423 бит «0» , мөн жишээ нь дэлхийн 64 битийн дүрслэл 24 = 00 ... 011000. Үр дүн нь маягтын 512 битийн дүрслэлийг авна.

Довжинаг санаж байгаа нь хүлээн зөвшөөрөгдөхүйц юм Мдоривнює лжаахан. Эцэс хүртэл сануулъя "нэг", дараа нь тэг - тоон дээр к- тэгэхээр хасагдсан үсгүүдийн тоог 896-н үржвэрээс 128 мөрөөр багасгахын тулд ( l+1+k = 896 мод 1024). Дали, 128 битийн мэдэгдлийг эцсийн үр дүнд нэмсэн лгадны тусламж М. Жишээлбэл, (ASCII текст) бидэнд сануулагч байна "abc" dozhnoy 8 * 3 \u003d 24 бит. Podomlennya руу Dodaemo "нэг", дараа нь 896 - (24+1) = 871 бит «0» , мөн жишээ нь дэлхийн 128 битийн дүрслэл 24 = 00 ... 011000. Үр дүн нь маягтын 1024 битийн дүрслэлийг авна.

2. Нэмэлт сануулагчийг задалж байна М- бит блокууд

Н М-бит блокууд.

Нэмэлт мэдээллийг дараахь байдлаар хуваана № 512- бит блокууд: М(1), М(2) ... М(Н). Учир нь 512 битийг 16 (арван зургаан) 32 бит, дараа нь эхний 32 бит болгон хөрвүүлж болно. би M 0 (i), ирэх 32 бит М 1 (i), тэгээд явцгаая M 15(i).

Нэмэлт мэдээллийг дараахь байдлаар хуваана N 1024- бит блокууд: М(1), М(2) ... М(Н). Учир нь 512 битийг 16 (арван зургаан) 64 бит, дараа нь эхний 64 бит болгон хөрвүүлж болно. би-р блок M 0 (i), ирэх 64 бит М 1 (i), тэгээд явцгаая M 15(i).

3. Анхны утгыг тохируулах

Хэшийг тооцоолох процедурын өмнө алгоритм нь анхны утгыг тогтоодог Х. Rozmir ta kіlkіst slіv Хсонгосон алгоритмын дагуу хадгаламж.

Чотири 32 битийн үг.
H0 = 0x67452301
H1 = 0xefcdab89
H2=0x98badcfe
H3 = 0x10325476
H4 = 0xc3d2e1f0

Vіsіm 32-бит slіv.

0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4)

Vіsіm 32-бит slіv.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19)

(Нэмэлтүүдийн хувьд: анхны тооны квадрат язгуурын бутархай хэсгийн эхний 32 бит бүхий qi утгууд - дарааллын тоо: эхний 8).

Vіsіm 64-бит slіv.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17,
0x152fecd8f70e5939, 0x67332667ffc00b31, 0x8eb44a8768581511,
0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4)

(Нэмэлтүүдийн хувьд: анхны тооны квадрат язгуурын бутархай хэсгийн эхний 64 бит бүхий qi утгууд - дарааллын тоо: 9-өөс 16 хүртэл).

Vіsіm 64-бит slіv.
H0, H1, H2, H3, H4, H5, H6, H7 = (


(Нэмэлтүүдийн хувьд: анхны тооны квадрат язгуурын бутархай хэсгийн эхний 64 бит бүхий qi утгууд - дарааллын тоо: эхний 8).



H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b,
0xa54ff53a5f1d36f1, 0x510e527fade682d1, 0x9b05688c2b3e6c1f,
0x1f83d9abfb41bd6b, 0x5be0cd19137e2179)











Vіsіm 64-бит slіv.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x8C3D37C819544DA2, 0x73E1996689DCD4D6, 0x1DFAB7AE32FF9C82,
0x679DD514582F9FCF, 0x0F6D2B697BD44DA8, 0x77E36F7304C48942,
0x3F9D85A86A1D36C8, 0x1112E6AD91D692A1)

"SHA-512/t" нь SHA-512 дээр суурилсан t-bit хэш функцийн нийтлэг нэр бөгөөд үр дүнг нь t-бит болгон таслав. T-bit хэш функцийн арьсны хувилбар нь өөр өөр эхлүүлэх утгыг шаарддаг. Энэ нь хэнд зориулагдсан юм тусгай журам SHA-512/t кобын утгыг тодорхой хувилбарт олгох t.

SHA-512/t кобын үнэ цэнийг гаргах журам.
1. SHA-512 алгоритмд H коб утгыг авч байна.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b,
0xa54ff53a5f1d36f1, 0x510e527fade682d1, 0x9b05688c2b3e6c1f,
0x1f83d9abfb41bd6b, 0x5be0cd19137e2179)

2. Робимо дараах тооцоог хийнэ.
H0' = H0 XOR 0xA5A5A5A5A5A5A5A5
H1' = H1 XOR 0xA5A5A5A5A5A5A5A5
H2' = H2 XOR 0xA5A5A5A5A5A5A5A5
H3' = H3 XOR 0xA5A5A5A5A5A5A5A5
H4' = H4 XOR 0xA5A5A5A5A5A5A5A5
H5' = H5 XOR 0xA5A5A5A5A5A5A5A5
H6' = H6 XOR 0xA5A5A5A5A5A5A5A5
H7' = H7 XOR 0xA5A5A5A5A5A5A5A5

3. SHA-512("SHA-512/t") мөрийн нэмэлт хэш төрөл (жишээ нь t нь "224" эсвэл "256" байж болно) H' коб утгатай. Хэш утга i нь SHA-512/t алгоритмын коб утга болно:
H SHA-512/224 = SHA512(H', "SHA-512/224")
H SHA-512/256 = SHA512(H', "SHA-512/256")

Vіsіm 64-бит slіv.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x22312194FC2BF72C, 0x9F555FA3C84C64C2, 0x2393B86B6F53B151,
0x963877195940EABD, 0x96283EE2A88EFFE3, 0xBE5E1E2553863992,
0x2B0199FC2C85B8AA, 0x0EB72DDC81C52CA2)

Хэш тооцоо

Алгоритм дотор "+" 2-р модулийн хувьд vіdbuvaetsya 32 .

i = 1-ээс N-ийн хувьд:
{
1. би
M 0 (i)дээр M 15(i))
80 слив розмиром 32 зэрэглэл (s W0дээр W 79):
W t = M t t = 0..15-ийн хувьд
W t = ROTL(W t-3 XOR W t-8 XOR W t-14 XOR W t-16 , 1) t = 16..79-ийн хувьд
(Cicavo, SHA тодорхойлолтын (SHA-0 алгоритм) cob хувилбарын талаар юу хэлэх вэ?
зүүн тийш мөчлөгийн дуудлага ROTL(x, 1))

2. Эхний ээлжинд a, b, c, d, e.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)

3. Товойлгон үйл ажиллагааны толгой гогцоо
t = 0-ээс 79 хүртэл
TEMP= ROTL(a, 5) + f t (b, c, d) + e + W t + K t
e=d
d=c
c= ROTL(б, 30)
b = a
a = TEMP

4.
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
}

Үүссэн хэш утга нь 160 битийн дижест юм:
H0(N) || H1(N) || H2(N) || H3(N) || H4(N)(5 мөр * 32 бит = 160 бит)

Үг дээрх үйлдлүүд (32 бит).
ROTL - зүүн тийш мөчлөгийн дуудлага nбит:
ROTL(x, n) = (x "n) | (x" (32-n))

Алгоритм дотор "+" 2-р модулийн хувьд vіdbuvaetsya 32 .

i = 1-ээс N-ийн хувьд:
{
1. би- өдөөгдсөн алгоритмын тусламжийн дэмжлэгийн блок
16 үгнээс 32 ангиллын ертөнц рүү хөрвүүлэх (-аас M 0 (i)дээр M 15(i))
64 үг 32 зэрэглэлтэй (z W0дээр W 63):
W t = M t t = 0..15-ийн хувьд
W t \u003d W t-16 + Дельта0(W t-15) + W i-7 + Дельта1(W t-2) t = 16..63-ийн хувьд

2.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)
f=H5(i-1)
g=H6(i-1)
h=H7(i-1)

3. Товойлгон үйл ажиллагааны толгой гогцоо
t = 0-ээс 63 хүртэл
TEMP1=цаг+ Сигма1(e) + Ч(e, f, g) + Wt + Kt
TEMP2= Сигма0(a)+ Хошууч(а, б, в)
h = g
g = f
f=e
e = d + TEMP1
d=c
c = b
b = a
a = TEMP1 + TEMP2

4. Чухал завсрын хэш утга
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
H5(i) = (H5(i-1) + f)
H6(i) = (H6(i-1) + g)
H7(i) = (H7(i-1) + h)
}

Үүссэн хэш утга нь 256 битийн дижест юм:
(8 мөр * 32 бит = 256 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Алгоритм дахин SHA-256 алгоритмтай ажиллах болно. Анхдагч утгууд нь H (див. өндөр) болон үүссэн хэшийг хэрхэн авах нь тодорхой байна. Учир нь Бид мессежийн 256 битийн хураангуйг авах бөгөөд эцсийн хэш утгыг авахын тулд эхний 224 битийг л авна.

H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N)(7 мөр * 32 бит = 224 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Алгоритм нь SHA-256-тай төстэй бөгөөд зөвхөн үгсийг 64 бит гэж өөрчилдөг.
Алгоритм дотор "+" 2-р модульд хуваарилагдсан 64 .

i = 1-ээс N-ийн хувьд:
{
1. би- өдөөгдсөн алгоритмын тусламжийн дэмжлэгийн блок
16 үгнээс 64 ангиллын ертөнц рүү хөрвүүлэх (-аас M 0 (i)дээр M 15(i))
80 слив розмиром 64 зэрэглэл (s W0дээр W 79):
W t = M t t = 0..15-ийн хувьд
W t \u003d W t-16 + Дельта0(W t-15) + W i-7 + Дельта1(W t-2) t = 16..79-ийн хувьд

2. Эхний ээлжинд a, b, c, d, e, f, g, h.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)
f=H5(i-1)
g=H6(i-1)
h=H7(i-1)

3. Товойлгон үйл ажиллагааны толгой гогцоо
t = 0-ээс 79 хүртэл
TEMP1=цаг+ Сигма1(e) + Ч(e, f, g) + Wt + Kt
TEMP2= Сигма0(a)+ Хошууч(а, б, в)
h = g
g = f
f=e
e = d + TEMP1
d=c
c = b
b = a
a = TEMP1 + TEMP2

4. Чухал завсрын хэш утга
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
H5(i) = (H5(i-1) + f)
H6(i) = (H6(i-1) + g)
H7(i) = (H7(i-1) + h)
}

Үүссэн хэш утга нь 512 битийн мессежийн хураангуй юм:
H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) || H7(N)(8 мөр * 64 бит = 512 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Алгоритм дахин SHA-512 алгоритмтай ажиллах болно. Анхдагч утгууд нь H (див. өндөр) болон үүссэн хэшийг хэрхэн авах нь тодорхой байна. Учир нь Бид мессежийн 512 битийн хураангуйг авах бөгөөд эцсийн хэш утгыг авахын тулд эхний 384 битийг л авна.

H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N)(6 мөр * 64 бит = 384 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Алгоритм дахин SHA-512 алгоритмтай ажиллах болно. Анхдагч утгууд нь H (див. өндөр) болон үүссэн хэшийг хэрхэн авах нь тодорхой байна. Учир нь Бидэнд 512 битийн дижест хэрэгтэй, бид эцсийн хэш утгыг авахын тулд эхний 224 битийг л авна.

H0(N) || H1(N) || H2(N) || эхний 32 бит H3 (N)(3 үг * 64 бит + 32 бит = 224 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Алгоритм дахин SHA-512 алгоритмтай ажиллах болно. Анхдагч утгууд нь H (див. өндөр) болон үүссэн хэшийг хэрхэн авах нь тодорхой байна. Учир нь Бид мессежийн 512 битийн хураангуйг авах бөгөөд эцсийн хэш утгыг авахын тулд эхний 256 битийг л авна.

H0(N) || H1(N) || H2(N) || H3(N)(4 үг * 64 бит = 256 бит)
Хүндэтгэл: "биг-эндиан" арьсны үгийн байт дараалал

Криптографийн командууд
Нээлттэй түлхүүр бүхий алгоритмууд RSA DSA
Дамжуулах шифрүүд RC4
Хэш функцууд

SHA-256 нь дижитал биткойныг оролтын өгөгдлөөс 2.31 экзабайт (2⁶⁴ бит) хүртэл тогтмол урттай (256 бит, 32 байт) болгон хувиргах нэг талын функц юм. Secure Hash Algorithm Version 2) NSA-аас 2002 онд хэвлэгдсэн.

Гэр бүлийн хэш функцууд SHA-2Меркле-Дамгардын бүтэц дээр үндэслэсэн.

Нэмэлт хийсний дараа долоо хоног тутмын мэдэгдэл нь блокуудад хуваагддаг, арьсан блок 16 мөр. Алгоритм нь арьсны шинэчлэлтийн блокийг 64 давталтын циклээр дамжуулдаг. Арьсны давталт дээр 2 үгийг хувиргаж, хувиргах функцийг өөр үгээр тохируулна. Арьсны блокыг боловсруулах үр дүнг нэмж, нийлбэр нь хэш функцийн утгууд юм. Oscilki іnіtsіalіzаtsіya іnіtsіalіzії іn іnіtsіalіzії іn іnіѕtіїє іѕ wіll blyаєєєєєє є єєєє "є є є є ії ії ії ії іnіtsіalіzіtsіya vnutrishny stana viroblyaєєtsya, энэ нь зэрэгцээ блок боловсруулах боломжгүй бол prednego блок obroblyat үр дүн. Өгөгдлийн блок боловсруулах нэг давталтыг графикаар харуулав:

Одоогийн байдлаар 31 давталт хүртэл колли барих аргууд байдаг. Алгоритмийн ижил төстэй байдлын тусламжтайгаар SHA-2 h SHA-1болон үлдсэн боломжит үл нийцэл байгаа тул SHA-3-ийг өөр алгоритм дээр үндэслэсэн байхаар шийдсэн. 2012 оны 7-р сарын 2-нд NIST нь Keccak SHA-3 алгоритмыг баталгаажуулсан.

Rozrahunka vіdbitka vvglyadі псевдокодын алгоритм:

Тайлбар:
Бүх өөрчлөлтүүд нь гарын үсэг зураагүй, 32 битээр томорч магадгүй бөгөөд тооцоолохдоо 232-р модулийн дараа нэгтгэгдэнэ.
мессеж- vyhidne dviykove podomlennya
м- Мэдэгдэл өөрчлөгдсөн Өөрчлөлтүүдийг эхлүүлэх
(эхний 32 бит бууны тоосонцорэхний найман анхны тооны квадрат язгуур [2-оос 19 хүртэлх төрөл]):
h0:=0x6A09E667
h1:=0xBB67AE85
h2:=0x3C6EF372
h3:= 0xA54FF53A
h4:=0x510E527F
h5:=0x9B05688C
h6:=0x1F83D9AB
h7:=0x5BE0CD19 Тогтмол хүснэгт
(эхний 32 бит бууны тоосонцорЭхний 64 анхны тооны шоо язгуур [2-оос 311 хүртэлх төрөл]):
к :=
0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2 Урд чимэглэл:
m:= мессеж ǁ [ ганц цохилт]
m:= m ǁ , de к- миний хувьд хамгийн бага үл мэдэгдэх тоо
(L + 1 + K) mod 512 = 448
m:= mǁ Довжина(мессеж) - 64 битийн тооны битийн гаралтын мессежийн уртыг байтын дарааллаар өндөрөөс бага хүртэл Дараах мэдэгдлийг 512 битийн дараах хэсгүүдээр боловсруулдаг.
мэдэгдлийг shmatki 512 бит болгон хуваах
төлөө skin shmatti shmatok 16 мөрөнд завдовка 32 бит (үгийн дундах ахмадаас залуу хүртэл байтаар): w Нэмэлт 48 үг үүсгэх:
төлөөби харах 16 өмнө 63
s0:= (w rotr 7) хор(w rotr 18) хор(w shr 3)
s1:= (w rotr 17) хор(w rotr 19) хор(w shr 10)
w[i] := w + s0 + w + s1
Нэмэлт өөрчлөлтүүдийг эхлүүлэх:
a:=h0
b:= h1
c:=h2
d:= h3
e:= h4
f:= h5
g:= h6
h:= h7 Үндсэн давталт:
төлөөби харах 0 өмнө 63
Σ0:= (а rotr 2) хорrotr 13) хорrotr 22)
Ма:= (а болонб) хорболонв) хорболонв)
t2:= Σ0 + Ма
Σ1:= (e rotr 6) хор(e rotr 11) хор(e rotr 25)
Ч:= (д болоне) хор ((үгүйд) болон g)
t1: = h + Σ1 + Ch + k[i] + w[i] h: = g
g:= f
f:= e
e:= d + t1
d:=c
в:=б
б:=а
a:= t1 + t2 Өмнө нь тооцоолсон үр дүнд сүүлийн утгыг нэмнэ үү:
h0:= h0 + a
h1:= h1 + b
h2:= h2 + c
h3:= h3 + d
h4:= h4 + e
h5:= h5 + f
h6:= h6 + g
h7:= h7 + h Хэш утгуудын нийлбэрийг хас:
digest = хэш = h0 ǁ h1 ǁ h2 ǁ h3 ǁ h4 ǁ h5 ǁ h6 ǁ h7

Алгоритм vikoristovuetsya:

  • биткойн- ижил утгатай фрэймтэй дуу авиаг хайх замаар криптовалют гаргах
  • DNSSEC- Хоол боловсруулах DNSKEY
  • DSA- цахим тоон гарын үсэг бий болгосны төлөө ялах
  • IPSec- протоколд ESPі IKE
  • OpenLDAP- нууц үгийн хэшүүд
  • PGP- цахим тоон гарын үсэг үүсгэхэд нүд ирмэх
  • S/MIME-  тойм
  • SHACAL-2- блок шифрлэлтийн алгоритм
  • X.509- цахим тоон гарын үсгийн гэрчилгээг бий болгосны төлөө ялах
Эвдрэл