ស្វែងយល់អំពី Hashing Vs. Encryption
ប្រែសម្រួលដោយលោក សួន បញ្ញា | អ្នកស្រាវជ្រាវសន្តិសុខអុិនធឺណិត
Encryption និង Hashing មានមុខងារសំខាន់ក្នុងការធានាឲ្យបាននូវភាពសង្ងាត់ (confidentiality) និងសុចរិតភាព (integrity) នៃទិន្ន័យ។ កន្លងមកយើងមានឃើញការយល់ច្រឡំក្នុងការសិក្សារបែងចែករវាង Hashing និង Encryption។
Hashing Algorithm
គឺជាវិធីសាស្រ្តប្រើក្នុងការបង្កើត hash ដែលជាខ្សែរ ឬបណ្តុំលេខនិងតួអក្សរដែលត្រូវបានបង្កើតចេញពី string of text។ យោងទៅតាមគោលការណ៍និយមន័យការបង្កើត hash កើតឡើងដោយការទទួលយក arbitrary input ហើយបំលែងវាឲ្យទៅជាជួរអក្សរនិងលេខ (string) ក្រោមប្រវែងកំណត់ជាក់លាក់មួយ។
Arbitrary Input អាចប្រភេទទិន្ន័យផ្សេងៗ ដែលត្រូវផ្តល់ឲ្យរួមមានឯកសារ text ឬឯកសារដំឡើងកម្មវិធីជាដើម។ Hashing មានលក្ខណ:ពិសេសដូចខាងក្រោម:
១. ទិន្ន័យឬឯកសារដែលផ្តល់ឲ្យ (input) អាចមាន ឬបង្កើតបានជា hash តែមួយគត់
២. នៅពេលដែលដំណើរការបង្កើត hash ត្រូវបានបញ្ចប់ចេញបានជាលទ្ធផលយើងមិនអាចយកលទ្ធផលនោះបំលែងឲ្យចេញជាឯកសារ ឬទិន្ន័យដើមដែលផ្តល់ឲ្យនោះទេ
៣. ឯកសារ ឬទិន្ន័យផ្សេងគ្នាគួតែបង្កើតចេញជាលទ្ធផល hash ផ្សេងគ្នា
៤. ការកែ ឬផ្លាស់ប្តូរទិន្ន័យ ឬឯកសារដើមនឹងបណ្តាលឲ្យមានការកែនិងផ្លាស់ប្តូរ hash ផងដែរ
សព្វថ្ងៃយើងមានប្រភេទ hash ផ្សេងគ្នា (different hashing algorithms)
– MD4 : ជាប្រភេព hash មួយដែលត្រូវបានបង្កើតឡើងដោយលោក Ronald Rivest ក្នុងឆ្នាំ ១៩៩០ ដែលមានប្រវែង 128bits។ ប៉ុន្តែវាជាប្រភេទបច្ចេកវិទ្យាចាស់ហើយមានបញ្ហាសន្តិសុខ ឬមិនសូវមានសុវត្ថិភាពខ្ពស់
– SHA Algorithm: មកពីពាក្យថា Secure Hash Algorithm ដែលត្រូវបានបង្កើតឡើងដោយ National Security Agency (NSA) របស់សហរដ្ឋអាមេរិច។ វាមានប្រវែង 160 bits ទោះបីជាយ៉ាងណាក៏វានៅតែមានចំនុចខ្សោយ ដូច្នេះហើយគេបានបង្កើត SHA-2 (256 bits) ដែលមានកម្រិតសុវត្ថិភាពខ្ពស់ជាង។
– TIGER Algorithm: ជាបច្ចេកវិទ្យាថ្មីហើយមានល្បឿនលឿនដែលត្រូវបានប្រើដោយកុំព្យូទ័រទំនើបនាពេលបច្ចុប្បន្ន។ វាអាច hash 132M bitsក្នុងមួយវិនាទី។
គោលបំណងនៃ Hashing:
១. វាត្រូវបានគេប្រើសម្រាប់ត្រួតពិនិត្យមើលសុចរិតភាពនៃទិន្ន័យ ថាទិន្ន័យមានត្រូវបានគេកែប្រែខុសពីសភាពដើមឬអត់។ ការប្រៀបធៀបដោយប្រើ hash មានភាពងាយស្រួលជាងប្រើទិន្ន័យប្រភពផ្ទាល់ព្រោះ hash មានទំហំតូចជាង។
២. វាត្រូវបានប្រើសម្រាប់តំណាងឲ្យ record ព្រោះវាមាន unique ងាយស្រួលរក
៣. Hashing Algorithm ត្រូវបានប្រើសម្រាប់ធ្វើ digital signature
៤. វាត្រូវគេប្រើដើម្បីបង្ការទិន្ន័យជាន់គ្នានៅក្នុង database
៥. ត្រូវបានគេប្រើក្នុង Geometric Hashing
៦. វាក៏ត្រូវបានគេប្រើសម្រាប់ការរក្សាទុក្ខលេខកូដសម្ងាត់ផ្សេងៗកុំឲ្យគេដឹង
Encryption
វាជាការបម្លែង (encrypt) ទិន្ន័យ ដូចជាឯកសារអត្ថបទអក្សរធម្មតា (plain text) ទៅជាតួអក្សរចម្រុះដែលមិនអាចមើលយល់ន័យសេចក្តីបាន (cipher text) ដោយអ្នកដែលមិនមានការអនុញ្ញាតឲ្យមើល។ ដើម្បីបម្លែង (decrypt) អត្ថបទនោះមកជាអត្ថបទដែលអាចមើលយល់អ្នកត្រូវការមានលេខកូនសោរសម្ងាត់ (secret key) ។
ប្រភេទន័យ Encryption:
– Symmetric Encryption: ប្រើកូនសោរសម្ងាត់ (secret key) ដូចគ្នាសម្រាប់ encrypt និង decrypt សារសម្ងាត់ឬទិន្ន័យសម្ងាត់។ កូនសោរ អាចជាលេខ, ជាតួអក្សរចម្រុះ, ឬប្រយោគអក្សរ។ នេះជាបច្ចេកវិជ្ជាចាស់។
– Asymmetric Encryption: ប្រើ Public Key និង Private Key ធ្វើជា Secret Key។ ឧទាហរណ៍អ្នកផ្ញើត្រូវមាន Public Key របស់អ្នកទទួលដើម្បីយកមក encrypt ទិន្ន័យឬក៏ឯកសារដែលត្រូវផ្ញើរទៅ។ រីឯអ្នកទទួលត្រូវមាន Private Key ដែលត្រូវនិង Public Key ខ្លួនទើបអាចបើមើល ឬប្រើឯកសារបាន។
គោលបំណងនៃ Encryption:
– រក្សាសម្ងាត់ភាពរបស់ទិន្ន័យ
– កំណត់ថាអ្នកទទួលឬអ្នកប្រើប្រាស់ទិន្ន័យឯកសារមានសិទ្ធិធ្វើអ្វីខ្លះជាមួយវា
– ងាយស្រួលរកមើលអ្នកធ្វើខុសពេលមាន
ករណីបែកធ្លាយព័ត៌មានផ្សេងៗ
– អនុញ្ញាតឲ្យអាចធ្វើការ authenticate បានតើ encryption និង hashing ខុសគ្នាយ៉ាងដូចម្តេច?
១. Hashing ផ្តោតទៅលើការរក្សាសុចរិតភាព (integrity) របស់ទិន្ន័យរីឯ Encryption ផ្តោតល ការរក្សារភាពសម្ងាត់របស់ទិន្ន័យ
២. Hashing បម្លែងទិន្ន័យទៅជាទម្រង់មួយផ្សេង ដែលពិសេសមានតែមួយ ហើយមិនត្រូវការបម្លែងមកដូចដើមវិញ (one-way function , irreversible) ចំនែកឯ Encryption បម្លែងទិន្ន័យទៅជាទម្រង់មួយផ្សេងដែលទាមទារ secret key ដើម្បីបន្លែងទិន្ន័យនោះមកជាសភាពដើមវិញបាន៕
ចូលរួមទៅក្នុងបន្ទប់ផ្តល់ព័ត៌មាន Telegram channel សម្រាប់ទទួលបានព័ត៌មានចុងក្រោយស្តីពីសន្តិសុខអុិនធឺណិតទាំងក្នុង និងក្រៅប្រទេស៖ https://t.me/infosecisac
Subscribe to our Telegram channel for the latest updates on the Cybersecurity Breaking News in both locally and internationally: https://t.me/infosecisac
ស្វែងយល់បន្ថែម៖
https://www.ssl2buy.com/wiki/difference-between-hashing-and-encryption