ឧបករណ៍បង្កើត Hash
បង្កើត hash គ្រីបតូក្រាហ្វិកពីអត្ថបទ។
ករណីប្រើប្រាស់ Hashing
អនុគមន៍ hash ជួយក្នុងការត្រួតពិនិត្យភាពត្រឹមត្រូវ ស្នាមម្រាមដៃរហ័ស (fingerprints) និងកូនសោឃ្លាំងសម្ងាត់ (cache keys)។ ពួកវាជាការបំប្លែងទិសដៅតែមួយ មិនមែនជាឃ្លាំងផ្ទុកដែលអាចត្រឡប់វិញបានទេ។
- ប្រៀបធៀបលទ្ធផល hash ដើម្បីរកឃើញការផ្លាស់ប្តូរឯកសារ ឬអត្ថបទដោយចៃដន្យ។
- ជ្រើសរើសក្បួនដោះស្រាយទំនើប ដូចជា SHA-256 សម្រាប់ការត្រួតពិនិត្យភាពត្រឹមត្រូវទូទៅ។
- រក្សាការធ្វើឱ្យមានលក្ខណៈស្តង់ដារ (normalization) ឱ្យស៊ីសង្វាក់គ្នា មុនពេល hash ដើម្បីជៀសវាងភាពមិនត្រូវគ្នាមិនពិត។
ឯកសារយោងក្បួន
MD5 — 128-bit · 32 hex chars
រចនាឡើងដោយ Ron Rivest ក្នុងឆ្នាំ 1991។ MD5 បង្កើត digest 128-bit ហើយលឿនណាស់ ប៉ុន្តែវាបានខូចខាតផ្នែកគ្រីបតូ៖ ការវាយប្រហារ collision ជាក់ស្តែងត្រូវបានគេដឹងតាំងពីឆ្នាំ 2004។ សមស្របសម្រាប់ checksum និងការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃឯកសារដែលមិនមានគូបដិបក្ខ ប៉ុន្តែមិនត្រូវប្រើសម្រាប់ពាក្យសម្ងាត់ ហត្ថលេខាឌីជីថល ឬគោលបំណងសំខាន់ផ្នែកសុវត្ថិភាពណាមួយឡើយ។
SHA-1 — 160-bit · 40 hex chars
អភិវឌ្ឍដោយ NSA និងបោះពុម្ពដោយ NIST ក្នុងឆ្នាំ 1995។ SHA-1 ជាអ្នកបន្តវេនរបស់ MD5 ហើយបានគ្រប់គ្រង PKI អស់រយៈពេលមួយទសវត្សរ៍ ប៉ុន្តែវាត្រូវបានលើកលែងជាផ្លូវការ បន្ទាប់ពី SHAttered (2017) បានបង្ហាញ collision បែប chosen-prefix ជាក់ស្តែង។ វានៅតែប្រើក្នុងឧបករណ៍សម្គាល់ Git object និងពិធីការបុរាណខ្លះ ប៉ុន្តែមិនគួរប្រើសម្រាប់ការងារថ្មីដែលរសើបផ្នែកសុវត្ថិភាពឡើយ។
SHA-256 — 256-bit · 64 hex chars
ជាផ្នែកនៃគ្រួសារ SHA-2 រចនាដោយ NSA និងបោះពុម្ពដោយ NIST ក្នុងឆ្នាំ 2001។ SHA-256 ជាក្បួន hash សុវត្ថិភាពដែលប្រើប្រាស់ទូលំទូលាយបំផុតសព្វថ្ងៃ៖ វាត្រូវបានប្រើក្នុងវិញ្ញាបនបត្រ TLS, ការចុះហត្ថលេខាកូដ, proof-of-work របស់ Bitcoin និងពិធីការជាច្រើនរាប់មិនអស់។ គ្មានការវាយប្រហារជាក់ស្តែងណាដែលគេដឹងឡើយ ហើយវាជាលំនាំដើមដែលបានណែនាំសម្រាប់កម្មវិធីភាគច្រើន។
SHA-384 — 384-bit · 96 hex chars
ជាវ៉ារ្យ៉ង់កាត់ខ្លីនៃ SHA-512 ដែលចាប់ផ្តើមដោយតម្លៃថេរខុសគ្នា ផ្តល់ digest 384-bit។ SHA-384 ផ្តល់រង្វាស់សុវត្ថិភាពខ្ពស់ជាង SHA-256 ហើយត្រូវបានណែនាំដោយ NIST សម្រាប់កម្មវិធីដែលទាមទារសុវត្ថិភាពយ៉ាងតិច 192 bits ដូចជាការចុះហត្ថលេខាឯកសារសម្ងាត់កំពូល។ វាដំណើរការក្នុងល្បឿនប្រហែលដូច SHA-512 លើ hardware 64-bit។
SHA-512 — 512-bit · 128 hex chars
ជាសមាជិកទទឹងពេញលេញនៃគ្រួសារ SHA-2 ដែលផ្តល់ digest 512-bit។ SHA-512 ប្រើប្រតិបត្តិការពាក្យ 64-bit ហើយអាចលឿនជាង SHA-256 លើ CPU 64-bit សម្រាប់ការបញ្ចូលធំៗ។ វាផ្តល់រង្វាស់សុវត្ថិភាពខ្ពស់បំផុតក្នុងចំណោមក្បួនដែលរាយនៅទីនេះ ហើយត្រូវបានប្រើក្នុងកម្មវិធីធានាខ្ពស់ ដូចជា root keys របស់ certificate authority និងការចុះហត្ថលេខា firmware។