Cryptographic Hash գործառույթը

Գաղտնագրման խցանման ֆունկցիայի սահմանումը

Գաղտնագրման խցիկի գործառույթը մի տեսակ ալգորիթմ է, որը կարող է գործարկվել տվյալների մի հատվածի, ինչպես անհատական ֆայլի կամ գաղտնաբառի համար, որը կազմում է գումարային գումար:

Cryptographic hash- ի գործառույթի հիմնական օգտագործումն այն է, ստուգել տվյալների մի հատվածի իսկությունը: Երկու ֆայլերը կարելի է հավաստիանալ, որ նույնական լինեն միայն այն դեպքում, երբ յուրաքանչյուր ֆայլից ստացված գումարները, օգտագործելով նույն գաղտնագրման խցիկի գործառույթը, նույնական են:

Որոշ ընդհանուր օգտագործվող գաղտնագրային խցիկի գործառույթները ներառում են MD5 եւ SHA-1 , չնայած շատ ուրիշներ էլ կան:

Ծանոթագրություն. Cryptographic hash գործառույթները հաճախ կոչվում են որպես կարճատեւ հեշ գործառույթներ , բայց դա տեխնիկապես ճիշտ չէ: Hash գործառույթը ավելի ընդհանուր տերմին է, որը սովորաբար օգտագործվում է գաղտնագրման խցիկների գործառույթների ներգրավմամբ, ինչպես նաեւ այլ ցիտրուսային ալգորիթմների նման `ցիկլային ավելցուկային ստուգումների:

Cryptographic Hash գործառույթները `օգտագործման դեպք

Եկեք ասենք, ներբեռնեք Firefox բրաուզերի վերջին տարբերակը : Ինչ-ինչ պատճառներով դուք պետք է բեռնել այն Mozilla- ի այլ կայքից: Դուք չունեք հաղորդագրություն փակցնելու համար անհրաժեշտ կայքէջում հյուրընկալել, դուք կցանկանայիք համոզվել, որ հենց ներբեռնած տեղադրման ֆայլը հենց Mozilla- ի առաջարկն է:

Օգտագործելով checksum calculator- ը , հաշվարկում եք գումարային գումար, օգտագործելով կոնկրետ ծածկագրային խառնուրդ ֆունկցիա (ասենք SHA-2) եւ համեմատեք այն Mozilla- ի կայքում տեղադրված մեկին:

Եթե ​​նրանք հավասար են, ապա դուք կարող եք համոզված լինել, որ ձեր ներբեռնումը Mozilla- ն է, որը նախատեսված է ձեզ:

Տես, թե ինչ է գումարները: ավելի շատ այս հատուկ հաշվիչների համար, գումարած գումարած գումարած գումարների օգտագործման ավելի շատ օրինակներ, համոզվելու համար, որ դուք բեռնել ձեր իսկապես այն է, ինչ եք ակնկալում դրանք:

Հնարավոր է, որ կրիպտոգրաֆիկ խաշման գործառույթները վերանան

Cryptographic hash գործառույթները նախատեսված են կանխելու այն գումարները, որոնք նրանք ստեղծում են վերստին տեքստեր:

Այնուամենայնիվ, չնայած նրանք գրեթե անհնարին են հակադարձել, դա չի նշանակում, որ նրանք 100% երաշխավորվում են տվյալների պաշտպանության համար:

Ինչ-որ բան, որը կոչվում է ծիածանի սեղան, կարող է արագորեն պարզել checksum- ի բացատրական տեքստը: Ծիածան աղյուսակները հիմնականում այն ​​բառարաններն են, որոնք թվարկում են հազարավոր, միլիոնավոր, նույնիսկ միլիարդավոր բաներ, իրենց համապատասխան բացատրական արժեքի հետ միասին:

Թեեւ սա տեխնիկապես չի փոխում գաղտնագրման խաբեության ալգորիթմը, դա կարող է նաեւ լինել, քանի որ դա այնքան պարզ է անել: Իրականում, քանի որ ոչ մի rainbow սեղան չի կարող ցուցակագրել գոյություն ունեցող ցանկացած հնարավոր գումար, սովորաբար դրանք պարզապես «օգտակար» են պարզ արտահայտությունների համար ... նման թույլ գաղտնաբառեր:

Ահա ծիածանի աղյուսակի պարզեցված տարբերակը, ցույց տալու համար, թե ինչպես կարելի է աշխատել SHA-1- ի քրեակատարողական խաչի գործառույթը օգտագործելու ժամանակ.

Բացատրագիր SHA-1 գումար
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
հավելվածը a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Այս արժեքների համար պետք է հաշվի առնել, որ checksum- ի օգտագործումը պահանջում է, որ հակերը հասկանա, թե որն է ծածկագրման խաբկանքային ալգորիթմը օգտագործելու համար:

Ավելացված պաշտպանվածության համար օգտագործող գաղտնաբառերը պահող որոշ կայքէջեր կատարում են հավելյալ գործառույթներ գաղտնագրման խաբեության ալգորիթմին, արժեքը գեներացվելուց հետո, բայց այն պահվում է:

Սա ստեղծում է նոր արժեք, որը միայն վեբ-սերվերը հասկանում է, եւ դա չի համապատասխանում բուն նախահաշվին:

Օրինակ, գաղտնաբառի մուտքագրման եւ գեներացվող գումարից հետո այն կարող է բաժանվել մի քանի մասի եւ վերադասավորվելուց առաջ այն պահվում է գաղտնաբառի տվյալների բազայում, կամ որոշ նշաններ կարող են փոխանակվել ուրիշների հետ: Երբ օգտվողը փորձում է ստուգել հաջորդ անգամ մուտք գործելու համար, այս լրացուցիչ գործառույթը հետագայում կվերադարձվի վեբ-սերվերի կողմից եւ կրկին ստացված սկզբնական գումարը, ստուգելու համար, որ օգտագործողի գաղտնաբառը ճիշտ է:

Դրանով նպաստում է խափանման օգտակարությունը, որտեղ բոլոր գումարները գողանում են:

Կրկին այստեղ գաղափարն այն է, որ գործն անիմաստ է, որպեսզի եթե հաքերը գիտի գաղտնագրման խաբեության ալգորիթմը, բայց ոչ այս սովորույթը, ապա իմանալով, որ գաղտնաբառի գումարների գումարները բացակայում են:

Գաղտնաբառերի եւ Cryptographic Hash գործառույթները

Rainbow սեղանի նման է, թե ինչպես է տվյալների բազան փրկում օգտագործողի գաղտնաբառերը: Երբ ձեր գաղտնաբառը մուտքագրվում է, checksum- ը գեներացվում է եւ համեմատվում է ձեր անունով գրառմամբ: Դրանից հետո դուք մուտք եք գործել, եթե երկուսն էլ նույնական են:

Հաշվի առնելով, որ գաղտնագրման խցիկի գործառույթը արտադրում է ոչ փոխհատուցման գումար, սա նշանակում է, որ դուք կարող եք կատարել ձեր գաղտնաբառը որպես 12345 , 12 @ 34 $ 5 փոխարեն , պարզապես այն պատճառով, որ գումարները չեն կարող հասկանալ: Դա անպայման չէ , եւ ահա ինչու ...

Ինչպես տեսնում եք, այս երկու գաղտնաբառերը երկուսն էլ անհնար է վերծանել `պարզապես checksum- ում:

MD5 համար 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 համար 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

Այսպիսով, առաջին հայացքից դուք կարող եք մտածել, որ դա բացարձակապես լավ է օգտագործել այդ գաղտնաբառերից որեւէ մեկը: Սա անշուշտ ճիշտ է, եթե հարձակվողը փորձել է պարզել ձեր գաղտնաբառը, ստուգելով MD5 ստուգիչ գումարը (որը ոչ ոք չի անում), բայց չի համապատասխանում իրականությանը, եթե կատարվում է խիստ ուժ կամ գրական հարձակում (որը ընդհանուր մարտավարություն է):

Վիրտուալ ուժային հարձակումն այն է, երբ բազմաթիվ պատահական շեղումներ են կատարվում գուշակության մեջ: Այս դեպքում շատ հեշտ կլինի կռահել «12345», բայց բավական դժվար է պատահականորեն պարզել մյուսը: Բառարանի հարձակումը նույնն է, որ հարձակվողը կարող է փորձել ամեն մի բառ, թվ, կամ արտահայտություն սովորական (եւ ավելի քիչ ընդհանուր օգտագործվող) գաղտնաբառերի ցանկից, «12345», միանշանակ լինելով, որ փորձարկվի:

Այսպիսով, չնայած գաղտնագրային hash գործառույթները դժվարացնում են անհնար է, գուշակելու գումարները, դեռ պետք է բարդ գաղտնաբառ օգտագործել ձեր բոլոր առցանց եւ տեղական հաշիվների համար:

Խորհուրդ. Տես Թույլ եւ ուժեղ գաղտնաբառերի օրինակներ, եթե համոզված չեք, արդյոք ձեր համար ուժեղ գաղտնաբառը համարվում է:

Լրացուցիչ տեղեկություններ Cryptographic Hash գործառույթների մասին

Կարող է թվալ, որ գաղտնագրման խցիկի գործառույթները կապված են կոդավորման հետ, բայց երկու աշխատանքը շատ տարբեր ձեւերով:

Կոդավորումը երկու ձեւ է, որտեղ ինչ-որ բան կոդավորված է դառնում անկանխատեսելի, բայց հետո ապակոդավորիչը նորից սովորականորեն օգտագործվում է: Դուք կարող եք կոդավորել ֆայլեր ձեր պահված այնպես, որ որեւէ մեկը, ով հասանելի է նրանց չի կարող օգտագործել դրանք, կամ դուք կարող եք օգտագործել ֆայլերի փոխանցման կոդավորումը ծածկելու ֆայլեր, որոնք շարժվում են ցանցի վրա, ինչպես դրանք վերբեռնում կամ ներբեռնեք առցանց:

Ինչպես վերը նկարագրված է, գաղտնագրման խցիկները տարբեր կերպ են աշխատում, քանի որ checksums- ը չպետք է հակադարձվի հատուկ դե-hashing գաղտնաբառով, ինչպես որ կոդավորված ֆայլերը կարդացվեն հատուկ կոդավորմամբ գաղտնաբառով: Միակ նպատակը գաղտնալսման խցիկների ծառայությունն է, համեմատել երկու ֆայլերի տվյալները, ինչպես օրինակ `ֆայլեր ներբեռնելու, գաղտնաբառերի պահելու, տվյալների բազայից քաշելը եւ այլն:

Հնարավոր է, որ գաղտնագրման խցիկի ֆունկցիան արտադրի նույն քանակի տվյալների տարբեր մասերի համար: Երբ դա տեղի ունենա, այն կոչվում է բախում: Ակնհայտ է, որ սա հսկայական խնդիր է, հաշվի առնելով գաղտնալսման խցիկի ֆունկցիայի ամբողջ կետը, այն ամբողջովին եզակի գումարները դարձնելու համար:

Պատճառների բախումները կարող են առաջանալ, քանի որ յուրաքանչյուր գաղտնագրային խցիկ ֆունկցիա ստեղծում է որոշակի երկարությամբ արժեք, անկախ տվյալների մուտքագրման տվյալների: Օրինակ, MD5 ծածկագրման խցիկի գործառույթը առաջացնում է 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 եւ e10adc3949ba59abbe56e057f20f883e երեք լիովին տարբեր բլոկների տվյալների համար:

Առաջին գումարը 12345 -ից է, երկրորդը, ավելի քան 700 նամակներ եւ թվեր, իսկ երրորդը ` 123456 : Բոլոր երեք միջոցները տարբեր երկարություններ են, սակայն արդյունքներն ընդամենը 32 նիշ են, քանի որ MD5- ը օգտագործվել է:

Ինչպես դուք կարող եք տեսնել, գոյություն ունի սահմանափակումների քանակի գրեթե ոչ մի սահման, քանի որ ներդրման յուրաքանչյուր փոքրիկ փոփոխությունը ենթադրվում է, որ ամբողջովին այլ հավանական գումար է առաջ բերում: Այնուամենայնիվ, քանի որ սահմանափակումների քանակի սահմանը կարող է առաջացնել մեկ գաղտնագրման խցիկ ֆունկցիա, միշտ հնարավոր է, որ դուք բախվում եք:

Սա է պատճառը, որ ստեղծվել են այլ գաղտնագրային hash գործառույթներ: Չնայած MD5- ն ստեղծում է 32 նիշային արժեք, SHA-1- ը առաջացնում է 40 նիշ, իսկ SHA-2 (512) առաջացնում է 128: Որքան մեծ է նիշերը, որոնք հավանական է, որ ավելի քիչ հավանական է, որ բախումը տեղի ունենա, քանի որ այն ավելի շատ տեղ է հատկացնում յուրահատուկ արժեքներ: