Original Title: A Survey of Efficient Lightweight Cryptography for Power-Constrained Microcontrollers
Source: doi.org/10.3390/technologies13010003
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការស្ទង់មតិស្តីពីគ្រីបគ្រាហ្វិចធុនស្រាលដែលមានប្រសិទ្ធភាពសម្រាប់មីក្រូកុងត្រូល័រដែលមានថាមពលកម្រិត

ចំណងជើងដើម៖ A Survey of Efficient Lightweight Cryptography for Power-Constrained Microcontrollers

អ្នកនិពន្ធ៖ Jesús Soto-Cruz (Instituto Tecnológico de Sonora), Erica Ruiz-Ibarra, Javier Vázquez-Castillo, Adolfo Espinoza-Ruiz, Alejandro Castillo-Atoche, Joaquin Mass-Sanchez

ឆ្នាំបោះពុម្ព៖ 2025 (Technologies)

វិស័យសិក្សា៖ Computer Science, IoT Security

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ឧបករណ៍ Internet of Things (IoT) និងបណ្តាញចាប់សញ្ញាឥតខ្សែ (WSNs) ជួបប្រទះបញ្ហាកម្រិតថាមពលដំណើរការ និងថាមពលថ្ម ដែលធ្វើឱ្យការប្រើប្រាស់ក្បួនដោះស្រាយសុវត្ថិភាពបែបបុរាណមិនអាចទៅរួច ដូច្នេះការស្រាវជ្រាវនេះស្វែងរកជម្រើសគ្រីបគ្រាហ្វិចធុនស្រាល (Lightweight Cryptography) ដែលមានប្រសិទ្ធភាពជាង។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានអនុវត្ត និងវាយតម្លៃក្បួនដោះស្រាយគ្រីបគ្រាហ្វិចស៊ីមេទ្រី (Symmetric algorithms) ចំនួន ១០ នៅលើក្តារអភិវឌ្ឍន៍ចំនួន ៥ ផ្សេងគ្នា ដើម្បីវាស់វែងប្រសិទ្ធភាពនៃការប្រើប្រាស់ធនធាន។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
SPECK (Block Cipher)
ក្បួនដោះស្រាយប្លុកសាយហ្វរ SPECK ដែលត្រូវបានរចនាឡើងសម្រាប់ប្រសិទ្ធភាពខ្ពស់
មានល្បឿនដំណើរការលឿនបំផុត និងមានប្រសិទ្ធភាពថាមពលខ្ពស់ ជាពិសេសសាកសមសម្រាប់កម្មវិធីដែលត្រូវការទិន្នន័យជាក់ស្តែង (Real-time applications)។ ទាមទារការប្រើប្រាស់អង្គចងចាំ RAM ច្រើនជាងគេ បើធៀបនឹងក្បួនដោះស្រាយផ្សេងទៀត ដែលអាចជាបញ្ហាសម្រាប់ឧបករណ៍ដែលមាន RAM តូចបំផុត។ សម្រេចបានកម្រិតបញ្ជូន (Throughput) ខ្ពស់បំផុតរហូតដល់ 2730.02 kB/s នៅលើ ESP32 និងប្រើថាមពលត្រឹមតែ 0.06 µJ ក្នុងមួយបៃនៅលើ NUCLEO ។
PRESENT (Block Cipher)
ក្បួនដោះស្រាយប្លុកសាយហ្វរ PRESENT ដែលផ្តោតលើការកាត់បន្ថយទំហំ Hardware
ប្រើប្រាស់អង្គចងចាំ RAM តិចបំផុតក្នុងចំណោមក្បួនដោះស្រាយដែលបានសាកល្បង ធ្វើឱ្យវាល្អសម្រាប់ឧបករណ៍ដែលមានធនធានកំណត់ខ្លាំង។ មានភាពយឺតយ៉ាវ (High Latency) និងប្រើប្រាស់ថាមពលខ្ពស់ក្នុងការដំណើរការទិន្នន័យមួយបៃ ដោយសាររយៈពេលប្រតិបត្តិការយូរ។ ប្រើប្រាស់ RAM ត្រឹមតែ 20 Bytes នៅលើក្តារ NUCLEO-G0B1RE ប៉ុន្តែមាន Latency ខ្ពស់ដល់ទៅ 3378 µs/Byte នៅលើ MSP430។
ASCON (Stream Cipher - NIST Standard)
ក្បួនដោះស្រាយស្តង់ដារ ASCON ដែលត្រូវបានទទួលស្គាល់ដោយ NIST
ផ្តល់នូវតុល្យភាពល្អរវាងសុវត្ថិភាព និងការប្រើប្រាស់ធនធាន ជាជម្រើសស្តង់ដារសម្រាប់ឧស្សាហកម្ម។ មានតម្រូវការធនធានមធ្យម មិនលឿនដូច SPECK ហើយក៏មិនសន្សំសំចៃ RAM ដូច PRESENT ដែរ។ មានដំណើរការស្ថិតក្នុងកម្រិតមធ្យម ដោយអាចអនុវត្តបានល្អនៅលើក្តារភាគច្រើន ប៉ុន្តែមិនមែនជាជម្រើសល្អបំផុតសម្រាប់ប្រសិទ្ធភាពថាមពលដាច់ខាតនោះទេ។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះបង្ហាញថា ដើម្បីអនុវត្តប្រព័ន្ធសុវត្ថិភាព IoT ដែលមានប្រសិទ្ធភាព អ្នកអភិវឌ្ឍន៍ត្រូវការឧបករណ៍ Hardware ដែលមានតម្លៃសមរម្យ និងចំណេះដឹងផ្នែក Programming ជាក់លាក់។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងដោយអ្នកស្រាវជ្រាវនៅប្រទេសម៉ិកស៊ិក ដោយប្រើប្រាស់ក្តារអភិវឌ្ឍន៍ (Development Boards) ដែលពេញនិយមសម្រាប់អ្នកសិក្សា និងអ្នកបង្កើតគំរូ (Prototyping) ជាជាងឧបករណ៍កម្រិតឧស្សាហកម្ម។ សម្រាប់កម្ពុជា នេះគឺជាចំណុចល្អព្រោះក្តារទាំងនេះ (ESP32, Arduino) មានតម្លៃថោក និងពេញនិយមក្នុងចំណោមនិស្សិត និងអាជីវកម្ម Start-up ក្នុងស្រុក។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រ និងលទ្ធផលនៃការសិក្សានេះមានប្រយោជន៍យ៉ាងខ្លាំងសម្រាប់កម្ពុជា ដែលកំពុងជំរុញវិស័យកសិកម្មឆ្លាតវៃ និងទីក្រុងឆ្លាតវៃ។

ការជ្រើសរើសក្បួនដោះស្រាយត្រឹមត្រូវ (ដូចជា SPECK សម្រាប់ល្បឿន ឬ PRESENT សម្រាប់ RAM) នឹងជួយឱ្យវិស្វករកម្ពុជាអាចបង្កើតផលិតផល IoT ដែលមានសុវត្ថិភាព និងមានតម្លៃសមរម្យ។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃគ្រីបគ្រាហ្វិចធុនស្រាល: និស្សិតគួរចាប់ផ្តើមដោយស្វែងយល់ពីភាពខុសគ្នារវាង Block Ciphers និង Stream Ciphers ដោយផ្តោតលើក្បួនដោះស្រាយ SPECK និង ASCON ដែលមាននៅក្នុងឯកសារ។
  2. ការដំឡើងបរិយាកាសអភិវឌ្ឍន៍: ដំឡើងកម្មវិធី Visual Studio Code និងតម្លើង Extension ឈ្មោះ PlatformIO ដើម្បីត្រៀមសរសេរកូដ C++ សម្រាប់មីក្រូកុងត្រូល័រ។
  3. ការអនុវត្តកូដសាកល្បង: ទាញយកបណ្ណាល័យកូដពី GitHub (ដូចមានក្នុងឯកសារយោង) ហើយសាកល្បងអនុវត្តក្បួនដោះស្រាយ SPECK នៅលើក្តារ ESP32 ឬ Arduino ដើម្បីមើលពីរបៀប Encrypt និង Decrypt ។
  4. ការវាស់វែងការប្រើប្រាស់ថាមពល: ប្រើប្រាស់ឧបករណ៍វាស់ចរន្ត (Multimeter/Ammeter) តភ្ជាប់ជាស៊េរីជាមួយក្តារអភិវឌ្ឍន៍ ដើម្បីផ្ទៀងផ្ទាត់ថាតើក្បួនដោះស្រាយមួយណាប្រើភ្លើងតិចជាងគេដូចការអះអាងក្នុងឯកសារ។
  5. ការបង្កើតគំរូដើម (Prototype): បង្កើតប្រព័ន្ធ IoT តូចមួយ (ឧទាហរណ៍៖ ឧបករណ៍វាស់សីតុណ្ហភាពបញ្ជូនតាម Wi-Fi) ដោយប្រើក្បួនដោះស្រាយដែលបានជ្រើសរើស ដើម្បីការពារទិន្នន័យមុននឹងបញ្ជូនទៅកាន់ Cloud ។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Lightweight Cryptography ជាសាខានៃវិទ្យាសាស្ត្រកូដសម្ងាត់ដែលត្រូវបានរចនាឡើងយ៉ាងពិសេសសម្រាប់ឧបករណ៍អេឡិចត្រូនិចតូចៗ (ដូចជាឧបករណ៍ IoT) ដែលមានថាមពលថ្ម និងអង្គចងចាំតិចតួច ដើម្បីឱ្យវាដំណើរការបានលឿន និងសន្សំសំចៃថាមពល។ ដូចជាសោរតូចមួយសម្រាប់ចាក់សោរកាបូបស្ពាយ ដែលស្រាលនិងងាយស្រួលប្រើ មិនដូចទ្វារដែកធំៗរបស់ធនាគារដែលត្រូវការម៉ាស៊ីនធំដើម្បីបើកនោះទេ។
Symmetric Encryption ជាបច្ចេកទេសបំប្លែងទិន្នន័យឱ្យទៅជាកូដសម្ងាត់ ដោយប្រើប្រាស់កូនសោរ (Key) តែមួយគ្រាប់គត់សម្រាប់ទាំងការចាក់សោរ (Encrypt) និងការដោះសោរ (Decrypt) ទិន្នន័យនោះ។ ដូចជាកូនសោរផ្ទះមួយដែលអាចប្រើសម្រាប់ទាំងចាក់សោរទ្វារពេលចេញក្រៅ និងបើកសោរទ្វារពេលត្រឡប់មកវិញ។
Block Cipher ជាប្រភេទនៃក្បួនដោះស្រាយដែលយកទិន្នន័យមកកាត់ជាដុំៗ (Block) ដែលមានទំហំកំណត់ជាក់លាក់ (ឧទាហរណ៍ 64 ឬ 128 ប៊ីត) ហើយធ្វើការបំប្លែងកូដសម្ងាត់លើដុំនីមួយៗនោះម្តងមួយៗ។ ដូចជាការយកសៀវភៅជាច្រើនក្បាល មកច្រកចូលក្នុងប្រអប់ដែលមានទំហំស្មើៗគ្នា រួចបិទស្កុតប្រអប់នីមួយៗ មុននឹងដឹកជញ្ជូនចេញទៅ។
Stream Cipher ជាក្បួនដោះស្រាយដែលបំប្លែងទិន្នន័យឱ្យទៅជាកូដសម្ងាត់ជាបន្តបន្ទាប់គ្នា (Bit-by-bit) ដូចជាលំហូរទឹក ដោយមិនចាំបាច់រង់ចាំឱ្យទិន្នន័យគ្រប់មួយដុំធំដូច Block Cipher ទេ។ ដូចជាម៉ាស៊ីនចម្រោះទឹកដែលសម្អាតទឹកដែលហូរឆ្លងកាត់ភ្លាមៗ មិនមែនដងទឹកដាក់ធុងឱ្យពេញសិនទើបសម្អាតនោះទេ។
Throughput ជាកម្រិតនៃការវាស់វែងល្បឿនថាតើក្បួនដោះស្រាយមួយអាចធ្វើការបំប្លែងទិន្នន័យបានប៉ុន្មាននៅក្នុងរយៈពេលមួយវិនាទី (គិតជា Bytes per second)។ ដូចជាទំហំនៃបំពង់ទឹក បើបំពង់កាន់តែធំ (Throughput ខ្ពស់) ទឹកអាចហូរបានកាន់តែច្រើនក្នុងពេលតែមួយ។
Latency ជារយៈពេលពន្យារ ឬពេលវេលាដែលកុំព្យូទ័រត្រូវចំណាយដើម្បីចាប់ផ្តើម និងបញ្ចប់ការបំប្លែងទិន្នន័យមួយឯកតា។ នៅក្នុងប្រព័ន្ធ IoT, Latency កាន់តែទាបគឺកាន់តែល្អ។ ដូចជារយៈពេលដែលអ្នកត្រូវរង់ចាំបន្ទាប់ពីចុចបើកគេហទំព័រ រហូតដល់វាបង្ហាញរូបភាពពេញលេញ។
Side-channel attacks ជាការវាយប្រហាររបស់ Hacker ដែលមិនមែនដោយការបំបែកកូដគណិតវិទ្យាផ្ទាល់ ប៉ុន្តែដោយការវិភាគលើកត្តាខាងក្រៅដូចជា ការប្រើប្រាស់ថាមពលអគ្គិសនី ឬរយៈពេលប្រតិបត្តិការ ដើម្បីទាយដឹងពីកូនសោរសម្ងាត់។ ដូចជាការទាយលេខកូដទូដែក ដោយស្តាប់សំឡេង "តុកៗ" ពេលបង្វិលសោរ ជាជាងការសាកល្បងលេខគ្រប់គ្រាប់។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖