ក្បួនដោះស្រាយការបំប្លែងគ្រីបយោងទៅតាម GOST 28147 89. ស្តង់ដារអ៊ិនគ្រីបទិន្នន័យក្នុងស្រុក។ តម្រូវការព័ត៌មានសំខាន់ៗ

ពាក្យដែលគេស្គាល់ជាទូទៅថា "ដំណើរការរបស់ឧបករណ៍ដំណើរការ" គឺជាគោលបំណងមួយ ប៉ារ៉ាម៉ែត្រគណនាដែលត្រូវបានវាស់ជា flops ។ ទោះជាយ៉ាងណាក៏ដោយ មនុស្សភាគច្រើនវាស់វាជាជីហ្គាហឺត ដោយជឿថាវាជារឿងដូចគ្នា។ គ្មាននរណាម្នាក់ដឹងពីពាក្យ "ការអនុវត្តកូដ" ហើយខ្ញុំនឹងពន្យល់ភ្លាមៗពីមូលហេតុ។

មូលហេតុ​គឺ​ខ្ញុំ​ទើប​តែ​មក​រក​វា ហើយ​មិន​ទាន់​ប្រាប់​អ្នក​ណា​ពី​វា​នៅ​ឡើយ​ទេ។ ទោះជាយ៉ាងណាក៏ដោយ ដំណើរការកូដ ដូចជាដំណើរការរបស់ខួរក្បាល មានលក្ខណៈគោលបំណងដែលអាចវាស់វែងបាន។ អត្ថបទនេះគឺពិសេសអំពីដំណើរការនៃកូដដែលប្រតិបត្តិដោយស្នូលខួរក្បាល។

តើដំណើរការកូដត្រូវបានវាស់ដោយរបៀបណា? ដោយសារខ្ញុំជាមនុស្សដំបូងដែលនិយាយអំពីរឿងនេះ ដោយសិទ្ធិរបស់អ្នករកឃើញ ខ្ញុំនឹងវាស់វាជាឯកតា RTT ;)

ឥឡូវនេះធ្ងន់ធ្ងរ។ នៅក្នុងប្រព័ន្ធដំណើរការទំនើប ការបំប្លែងសំខាន់ៗគឺប្រតិបត្តិការលើលេខ 32 ប៊ីត អ្វីៗផ្សេងទៀតគឺកម្រនិងអសកម្ម។ ដូច្នេះយើងនឹងពិចារណារឿងសំខាន់ - ប្រតិបត្តិការជាមួយលេខ 32 ប៊ីត។ តើប្រតិបត្តិការ 32 ប៊ីតប៉ុន្មានដែលអ្នកគិតថាស្នូលខួរក្បាលទំនើបអាចដំណើរការក្នុងពេលដំណាលគ្នា?

សិស្សនឹងឆ្លើយ - មួយ, គ្រូរបស់គាត់នឹងគិតហើយនិយាយថាមានបួន, វិជ្ជាជីវៈ - ដែលមានតែដប់ពីរប្រតិបត្តិការរហូតមកដល់ពេលនេះ។

ដូច្នេះ កូដកម្មវិធីដែលផ្ទុកអង្គដំណើរការដំណើរការទាំងអស់ក្នុងពេលដំណាលគ្នាពេញមួយរយៈពេលប្រតិបត្តិនៃកូដនឹងមានដំណើរការ 12 RTTs ។ អតិបរមា! និយាយឱ្យត្រង់ទៅ ខ្ញុំមិនដែលសរសេរកូដបែបនេះពីមុនមកទេ ប៉ុន្តែក្នុងអត្ថបទនេះ ខ្ញុំនឹងព្យាយាមប្រឹងប្រែង។

ខ្ញុំ​នឹង​បញ្ជាក់​ថា​កូដ​នោះ​ជាមួយ​នឹង​ការ​ប្រតិបត្តិ​ដំណាល​គ្នា​នៃ​ប្រតិបត្តិការ 32 ប៊ីត​ដប់ពីរ​គឺ​អាច​ធ្វើ​បាន​

កូដកម្មវិធីដែលប្រើ actuator មួយនៅក្នុងស្នូលខួរក្បាលនឹងមានដំណើរការ 1 RTT ។ កម្មវិធីដែលបង្កើតឡើងដោយអ្នកចងក្រងភាសាកម្រិតខ្ពស់ និងអ្នកបកប្រែម៉ាស៊ីននិម្មិតអាចមានអំនួតតាមរយៈដំណើរការកូដបែបនេះ។ មិនចាំបាច់សន្មត់ថាសូចនាករផ្ទុកដំណើរការដែលអាចមើលឃើញនៅក្នុងកម្មវិធីគ្រប់គ្រងភារកិច្ចរបស់ OS អាចបម្រើជាលក្ខណៈវិនិច្ឆ័យគោលបំណងសម្រាប់ប្រសិទ្ធភាពនៃកូដនោះទេ។ ការផ្ទុកស្នូលរបស់ខួរក្បាលអាចមាន 100% ប៉ុន្តែកូដកម្មវិធីនឹងប្រើឯកតាប្រតិបត្តិមួយនៅក្នុងវា (ការអនុវត្ត 1 RTT) ។ ក្នុងករណីនេះនៅពេលផ្ទុក 100% ស្នូលដំណើរការនឹងដំណើរការនៅ 1/12 នៃដំណើរការអតិបរមារបស់វា។ ម្យ៉ាងវិញទៀត នៅពេលដែលកម្មវិធីគ្រប់គ្រងភារកិច្ចរបស់វីនដូបង្ហាញការផ្ទុកដំណើរការអតិបរមា ដំណើរការជាក់ស្តែងរបស់វាអាចប្រែប្រួលពី 1 ទៅ 12 RTT ។ ប្រសិនបើអ្នកឃើញការផ្ទុក 100% នៅលើស្នូលដំណើរការណាមួយនៅក្នុងបង្អួចដំណើរការ វាជាការខុសក្នុងការសន្មត់ថា actuators ទាំងអស់កំពុងធ្វើការនៅក្នុងស្នូលនេះ មិនមែនទាល់តែសោះ!

លក្ខណៈវិនិច្ឆ័យតែមួយគត់សម្រាប់ការវាយតម្លៃដោយប្រយោលនូវប្រតិបត្តិការនៃស្នូលខួរក្បាលនៅដំណើរការអតិបរមាអាចជាការប្រើប្រាស់ថាមពលរបស់វា ហើយជាលទ្ធផល សំលេងរំខានរបស់ម៉ាស៊ីនត្រជាក់។ ឥឡូវនេះ ប្រសិនបើ​ម៉ាស៊ីនត្រជាក់​មាន​សំឡេង​រំខាន បាទ/ចាស បន្ទុក​បាន​ឡើង​ដល់​អតិបរមា។ ទោះជាយ៉ាងណាក៏ដោយ វាដល់ពេលដែលត្រូវបញ្ចប់ជាមួយនឹងគំនិតទូទៅ ហើយបន្តទៅការអនុវត្តដ៏តឹងរ៉ឹង។

ការអនុវត្តប្រពៃណីនៃ GOST 28147-89

ខ្ញុំមិនមែនជាអ្នកជំនាញផ្នែកសន្តិសុខព័ត៌មានទេ ប៉ុន្តែខ្ញុំនៅតែស្គាល់ប្រធានបទនៃការអ៊ិនគ្រីប។ ខ្ញុំត្រូវបានបំផុសគំនិតឱ្យសិក្សាការអ៊ិនគ្រីបស្ទ្រីមស៊ីមេទ្រីជាពិសេសដោយការសន្ទនាជាមួយអ្នកសរសេរកូដដែលមានជំនាញវិជ្ជាជីវៈដែលខ្ញុំគោរពយ៉ាងជ្រាលជ្រៅ។ ហើយដោយបានលើកយកប្រធានបទនេះមក ខ្ញុំបានព្យាយាមធ្វើវាឱ្យបានល្អ ហើយមិនត្រឹមតែល្អប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងបានយ៉ាងឆាប់រហ័សផងដែរ ដោយអនុវត្តចំនួនអតិបរមានៃប្រតិបត្តិការក្នុងមួយឯកតានៃពេលវេលា។ និយាយម្យ៉ាងទៀតខ្ញុំត្រូវប្រឈមមុខនឹងភារកិច្ចសរសេរកូដកម្មវិធីជាមួយនឹងតម្លៃ RTT អតិបរមា។

ការបំលែងកូដសម្ងាត់ស្របតាម GOST 28147-89 ត្រូវបានប្រើសម្រាប់ការអ៊ិនគ្រីបព័ត៌មាននៅក្នុងបណ្តាញទំនាក់ទំនង និងនៅលើថាស។

បច្ចុប្បន្ននេះការអនុវត្តកម្មវិធីនៃ GOST នេះនៅលើ RON នៃខួរក្បាលកណ្តាលត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយ។ នៅក្នុងវិធីសាស្រ្តដែលគេស្គាល់នៃការអនុវត្ត GOST ព័ត៌មានសម្ងាត់ទាំងអស់ (សោអ៊ិនគ្រីប ប្លុកជំនួស) មានទីតាំងនៅ RAM ។ នេះកាត់បន្ថយភាពជឿជាក់នៃការអ៊ិនគ្រីប ព្រោះថាការបោះចោល RAM អាចបង្ហាញទាំងស្រុងនូវធាតុសម្ងាត់នៃការផ្លាស់ប្តូរគ្រីបតូ។ លើសពីនេះ វិធីសាស្ត្រមានកម្រិតនៃការអនុវត្តដោយសារតែទីតាំងនៃវត្ថុបំប្លែងគ្រីបតូសំខាន់ៗនៅក្នុង OP និងការផ្ទុកមិនពេញលេញនៃអង្គភាពប្រតិបត្តិ ALU ។ ឧបករណ៍ដំណើរការទំនើបដែលអនុវត្តនីតិវិធីគ្រីបតូដោយប្រើវិធីសាស្ត្រល្បីអាចផ្តល់ល្បឿនអ៊ិនគ្រីបពី 40-60 មេកាបៃក្នុងមួយវិនាទី។ ហើយប្រសិនបើយើងពិតជាយល់វាដល់ទីបញ្ចប់ ហេតុផលសម្រាប់ដំណើរការទាប និងសុវត្ថិភាពខ្សោយនៃការបំប្លែងគ្រីបតូ គឺជាការអនុវត្តកម្មវិធីនៃប្លុកជំនួស។ សម្រាប់ការពិពណ៌នារបស់វានៅក្នុង GOST សូមមើលរូប។ ១.

យោងតាមប្រការ 1.2 នៃ GOST ប្លុកនេះអនុវត្តការផ្លាស់ប្តូរ tetrad (បួនប៊ីត) ក្នុងពាក្យ 32 ប៊ីត ប៉ុន្តែស្ថាបត្យកម្មដំណើរការ x86/64 និងប្រព័ន្ធណែនាំរបស់វាមិនមានសមត្ថភាពក្នុងការរៀបចំ tetrads ប្រកបដោយប្រសិទ្ធភាពនោះទេ។

សម្រាប់ការអនុវត្តកម្មវិធីនៃប្លុកជំនួស តារាងពិសេសនៅក្នុង RAM ត្រូវបានប្រើ ដែលរៀបចំនៅដំណាក់កាលនៃការចាប់ផ្តើមដំណើរការគ្រីបតូ។ តារាងទាំងនេះរួមបញ្ចូលគ្នានូវថ្នាំងជំនួសនៃ tetrads ដែលនៅជាប់គ្នាចូលទៅក្នុងតារាងបៃ 8 × 8 ប៊ីត ដូច្នេះដាក់តារាង 256 បៃចំនួនបួននៅក្នុង RAM ។

នៅក្នុងការអនុវត្តកម្រិតខ្ពស់បន្ថែមទៀត តារាងទាំងនេះមានទំហំ 1024 បៃ (256 ពាក្យនៃបួនបៃ)។ នេះត្រូវបានធ្វើក្នុងគោលបំណងដើម្បីអនុវត្តនៅក្នុងតារាងការផ្លាស់ប្តូរវដ្តបន្ថែមដោយ 11 មុខតំណែងនៃពាក្យ 32 ប៊ីតដែលទទួលបានជាលទ្ធផលនៃការជំនួស (ប្រតិបត្តិការបន្ទាប់នៃក្បួនដោះស្រាយការបម្លែងនេះបើយោងតាម ​​​​GOST) ។ ឧទាហរណ៍នៃការអនុវត្ត GOST ដោយប្រើវិធីសាស្រ្តនេះត្រូវបានបង្ហាញនៅក្នុងឧបសម្ព័ន្ធទី 1 (នៅលើថាស) ។

ព័ត៌មាននៃប្លុកជំនួសគឺជាសមាសធាតុសម្ងាត់នៃមុខងារគ្រីបតូ (ដូចដែលបានបង្កើតនៅក្នុង GOST សូមមើលរូបទី 2)។

ការដាក់តារាងទាំងនេះដោយប្រើសោនៃប្លុកជំនួសនៅក្នុង OP ផ្ទុយនឹងតម្រូវការរបស់ GOST (ឃ្លា 1.7) ចាប់តាំងពីព័ត៌មានសម្ងាត់មានសម្រាប់កម្មវិធីភាគីទីបីដែលកំពុងដំណើរការលើការដំឡើងកុំព្យូទ័រ។ FSB ដែលបញ្ជាក់ផងដែរនូវការអនុវត្តកម្មវិធីនៃការអ៊ិនគ្រីបយោងទៅតាម GOST មើលទៅលើការបំពាននេះ ដើម្បីដាក់វាដោយស្លូតបូត ដោយថ្កោលទោស។ ប្រសិនបើដើម្បីដាក់កូនសោនៅក្នុង OP FSB នៅតែត្រូវការ "ស្លឹកផ្លែល្វា" - បិទបាំងសោដោយប្រើប្រតិបត្តិការ XOR នោះគ្មានអ្វីត្រូវបានទាមទារសម្រាប់ប្លុកជំនួសនៅក្នុង OP ដែលពួកវាត្រូវបានរក្សាទុកក្នុងទម្រង់ច្បាស់លាស់។

សរុបមក FSB អនុញ្ញាតឱ្យការអនុវត្តកម្មវិធីនៃនីតិវិធី crypto ឆ្លងកាត់ ទោះបីជាមានការថយចុះជាក់ស្តែងនៃសុវត្ថិភាពនៃដំណោះស្រាយបែបនេះ និងការរំលោភលើតម្រូវការផ្ទាល់របស់វាយោងទៅតាម GOST (ប្រការ 1.7) ក៏ដោយ។ ហើយនេះបើទោះបីជាវិធីសាស្រ្តដ៏ល្បីនៃការបំបែកកូដសម្ងាត់ដោយយកកន្លែងចាក់សំរាម...

យើងនឹងត្រលប់ទៅបញ្ហានៃការរក្សាទុកកូនសោរ និងការជំនួសប្លុកនៅក្នុងការចុះឈ្មោះខាងក្នុងរបស់ខួរក្បាលនៅពេលក្រោយបន្តិច (មានដំណោះស្រាយដ៏ស្រស់ស្អាត និងរហ័ស) ប៉ុន្តែសម្រាប់ពេលនេះ យើងនឹងរក្សាទុកតែសោអ៊ិនគ្រីបនៅក្នុងការចុះឈ្មោះ MMX ប៉ុណ្ណោះ នេះគឺអាចទុកចិត្តបានជាង។

ប៉ុន្តែគ្រប់គ្រាន់នៃអត្ថបទចម្រៀង អ្វីដែលសំខាន់សម្រាប់ប្រធានបទដែលកំពុងពិចារណាគឺថា កូដកម្មវិធីនេះមានដំណើរការ 1 RTT ។ ឥឡូវនេះសូមសរសេរកូដជាមួយនឹងការអនុវត្ត 2 RTTs ។

ការអនុវត្តពហុខ្សែនៃ GOST 28147-89

មធ្យោបាយតែមួយគត់ដើម្បីបង្កើនល្បឿនដំណើរការគ្រីបតូនៅក្នុងក្បួនដោះស្រាយដែលគេស្គាល់គឺដើម្បីណែនាំ multithreading ។ ចំណុចនៃការផ្លាស់ប្តូរនេះក្នុងការអនុវត្តក្បួនដោះស្រាយគឺដើម្បីគណនាប្លុកទិន្នន័យជាច្រើនស្របគ្នា។

អ្នកសរសេរកម្មវិធីភាគច្រើនមានន័យដោយដំណើរការប៉ារ៉ាឡែលផ្តាច់មុខនូវការងាររបស់ស្នូលខួរក្បាលជាច្រើន ដែលធ្វើសមកាលកម្មតាមរយៈការរំខាន និង semaphores នៅក្នុងអង្គចងចាំ។

ទោះយ៉ាងណាក៏ដោយ មានជម្រើសមួយផ្សេងទៀតសម្រាប់ដំណើរការទិន្នន័យស្របគ្នានៅលើស្នូលដំណើរការតែមួយ។ អនុញ្ញាតឱ្យខ្ញុំពន្យល់ពីគំនិតមិនច្បាស់លាស់នេះ។

ឧបករណ៍ដំណើរការទំនើបរួមបញ្ចូលយ៉ាងហោចណាស់ពីរ និងសូម្បីតែបីទៅប្រាំមួយឯកតានព្វន្ធ-ឡូជីខល។ ALUs ទាំងនេះ (FPUs, address arithmetic units, and so on) អាចដំណើរការដោយឯករាជ្យពីគ្នាទៅវិញទៅមក លក្ខខណ្ឌតែមួយគត់សម្រាប់ប្រតិបត្តិការប៉ារ៉ាឡែលរបស់ពួកគេគឺថាវត្ថុកម្មវិធីដែលពួកគេដំណើរការគឺមិនជាប់គ្នា។ នៅក្នុងពាក្យផ្សេងទៀត នៅក្នុងការណែនាំដែលដំណើរការ ALU ក្នុងពេលដំណាលគ្នានោះ អាសយដ្ឋានអង្គចងចាំ និងលេខចុះឈ្មោះត្រូវតែខុសគ្នា។ ឬគ្មានការសរសេរណាមួយគួរតែត្រូវបានអនុវត្តចំពោះការចុះឈ្មោះដែលបានចែករំលែក និងអាសយដ្ឋានអង្គចងចាំដែលចូលប្រើដោយអង្គភាពប្រតិបត្តិនៃខួរក្បាលផ្សេងៗ។

បន្ទុកការងាររបស់ ALUs ទាំងអស់ត្រូវបានគ្រប់គ្រងដោយឯកតាផ្នែករឹងពិសេសមួយនៅខាងក្នុងស្នូលខួរក្បាល - កម្មវិធីកំណត់ពេលដែលស្កេនកូដដែលអាចប្រតិបត្តិបានទៅមុខដល់ជម្រៅ 32-64 បៃ។ ប្រសិនបើអ្នកកំណត់ពេលរកឃើញការណែនាំដែលអាចដំណើរការនៅលើ ALU ដោយគ្មានជម្លោះ នោះវានឹងដំណើរការពួកវាក្នុងពេលដំណាលគ្នានៅលើឧបករណ៍ប្រតិបត្តិផ្សេងៗគ្នា។ ក្នុងករណីនេះ Counter of executed commands បង្ហាញពីពាក្យបញ្ជាប្រតិបត្តិ (មានពួកវាជាច្រើននៅក្នុងគ្រោងការណ៍បែបនេះ) បន្ទាប់ពីនោះពាក្យបញ្ជាទាំងអស់ត្រូវបានប្រតិបត្តិរួចហើយ។

លំដាប់កម្មវិធីភាគច្រើនដែលបង្កើតដោយស្វ័យប្រវត្តិ (ដោយអ្នកចងក្រង) មិនអាចផ្ទុក ALUs និង FPUs ទាំងអស់ដែលមាននៅក្នុងស្នូលខួរក្បាលបានទេ។ ក្នុងករណីនេះ ផ្នែករឹងរបស់ខួរក្បាលគឺនៅទំនេរ ដែលកាត់បន្ថយដំណើរការលទ្ធផលរបស់វា។ អ្នកអភិវឌ្ឍន៍កម្មវិធីដំណើរការយល់អំពីបញ្ហានេះ និងណែនាំរបៀបដើម្បីបង្កើនប្រេកង់ស្នូល នៅពេលដែលផ្នែករឹងមិនត្រូវបានប្រើពេញលេញ។ នេះក៏ជាអ្វីដែលប្រព័ន្ធ hypertrading ត្រូវបានរចនាឡើងសម្រាប់ ហើយខ្ញុំនឹងប្រើប្រព័ន្ធនេះដើម្បី "ចុច" កូដដល់អតិបរមានាពេលអនាគត។

កម្មវិធីចងក្រង សូម្បីតែម៉ាស៊ីនដែលធ្វើឲ្យប្រសើរឡើងបំផុត និងសូម្បីតែម៉ាស៊ីននិម្មិតក៏ដោយ ក៏មិនអាចបង្កើតកូដដែលបានកែលម្អទាក់ទងនឹងដំណើរការបានដែរ។ មានតែអ្នកសរសេរកម្មវិធីដែលមានចំណេះដឹងផ្នែកវិស្វកម្មប៉ុណ្ណោះដែលអាចសរសេរកូដដែលបានធ្វើឱ្យប្រសើរបែបនេះ ហើយឧបករណ៍សម្រាប់សរសេរវាគឺជាកម្មវិធីដំឡើងផ្តាច់មុខ។

រូបភាពធម្មតានៃលទ្ធភាពនៃការប្រតិបត្តិខ្សែស្រឡាយកម្មវិធីឯករាជ្យជាច្រើននៅលើស្នូលដំណើរការតែមួយគឺការអនុវត្ត GOST ដែលប្រតិបត្តិជាខ្សែស្រឡាយពីរនៅលើស្នូលដំណើរការតែមួយ។ គំនិតនៃកូដគឺសាមញ្ញ៖ មានប្លុកទិន្នន័យពីរសម្រាប់អ៊ិនគ្រីប/ឌិគ្រីប ប៉ុន្តែស្នូលដំណើរការមួយដែលនឹងធ្វើការបំប្លែង។ វាអាចធ្វើទៅបានដើម្បីអនុវត្តការបម្លែងនៅលើប្លុកទិន្នន័យទាំងពីរនេះជាបន្តបន្ទាប់ ហើយនេះត្រូវបានធ្វើរហូតមកដល់សព្វថ្ងៃនេះ។ ក្នុងករណីនេះ ពេលវេលាដែលត្រូវការដើម្បីបញ្ចប់ការបំប្លែងកើនឡើងទ្វេដង។

ប៉ុន្តែអ្នកអាចធ្វើវាខុសគ្នា៖ ពាក្យបញ្ជាជំនួសដែលទាក់ទងនឹងដំណើរការនៃប្លុកទិន្នន័យផ្សេងៗគ្នា។ ជម្រើសទាំងនេះត្រូវបានបង្ហាញជាក្រាហ្វិកនៅក្នុងរូបភព។ ៣.


នៅក្នុងរូបភាព ឧទាហរណ៍កំពូលបង្ហាញពីលំដាប់ធម្មតានៃការដំណើរការប្លុកឯករាជ្យពីរនៃទិន្នន័យ។ ប្លុកទី 1 ត្រូវបានដំណើរការដំបូង បន្ទាប់មក processor បន្តដំណើរការប្លុកទីពីរ។ តាមធម្មជាតិ ពេលវេលាលទ្ធផលគឺស្មើនឹងពីរដងនៃពេលវេលាដែលត្រូវការដើម្បីដំណើរការប្លុកមួយ ហើយ actuators នៃស្នូលខួរក្បាលមិនត្រូវបានផ្ទុកពេញលេញទេ។

ខាង​ក្រោម​នេះ​គឺ​ជា​ឧទាហរណ៍​នៃ​ការ​ជ្រៀត​ចូល​ពាក្យ​បញ្ជា​ពី​ខ្សែ​ស្រឡាយ​ដំណើរការ​ផ្សេង​គ្នា។ ក្នុងករណីនេះ ពាក្យបញ្ជាដែលទាក់ទងនឹងប្លុកទិន្នន័យផ្សេងៗគ្នាត្រូវបានជ្រៀតជ្រែក។ កម្មវិធីកំណត់ពេលជ្រើសរើសការណែនាំដែលឯករាជ្យពីគ្នាទៅវិញទៅមក ហើយបញ្ជូនពួកវាសម្រាប់ការប្រតិបត្តិទៅ ALU1 និង ALU2។ ការដាក់ជាក្រុមនៃពាក្យបញ្ជានៃខ្សែទីមួយ និងទីពីរនៅលើ ALUs ទាំងនេះត្រូវបានអនុវត្តដោយស្វ័យប្រវត្តិ ចាប់តាំងពីក្បួនដោះស្រាយប្រតិបត្តិការកម្មវិធីកំណត់ពេលរួមបញ្ចូលការដាក់ជាក្រុមនៃពាក្យបញ្ជាដែលភ្ជាប់ទៅនឹងទិន្នន័យទូទៅនៅលើឧបករណ៍ប្រតិបត្តិដូចគ្នា។

ដើម្បីឱ្យកូដកម្មវិធីបែបនេះដំណើរការដោយមិនមានពេលវេលារងចាំ ALU នោះ វាចាំបាច់ដែលខ្សែស្រឡាយកម្មវិធីនីមួយៗដំណើរការជាមួយនឹងសំណុំនៃការចុះឈ្មោះផ្ទាល់ខ្លួនរបស់វា។ ឃ្លាំងសម្ងាត់នៅក្នុងគ្រោងការណ៍នេះក្លាយជាឧបសគ្គមួយ (វាមានច្រកទិន្នផលទិន្នន័យតែពីរប៉ុណ្ណោះ) ដូច្នេះយើងរក្សាទុកកូនសោនៅក្នុងការចុះឈ្មោះ MMX ។ ដោយហេតុថាក្នុងករណីនេះ ការជំនួស (និងការផ្លាស់ប្តូរ) ថ្នាំងនៅក្នុងអង្គចងចាំត្រូវបានអានតែប៉ុណ្ណោះ ពួកវាអាចជារឿងធម្មតាសម្រាប់ខ្សែស្រឡាយកម្មវិធីទាំងពីរ។

ជាការពិតណាស់នេះគឺជាការពន្យល់ដ៏សាមញ្ញបំផុតនៃគោលការណ៍នៃការប្រតិបត្តិស្របគ្នានៃខ្សែស្រឡាយកម្មវិធីនៅលើស្នូលតែមួយ។ នៅក្នុងការអនុវត្ត អ្នកត្រូវគិតគូរពីស្ថាបត្យកម្មបំពង់នៃ actuators ការរឹតបន្តឹងលើការចូលប្រើក្នុងពេលដំណាលគ្នាទៅកាន់ឃ្លាំងសម្ងាត់ និងប្លុកចុះឈ្មោះ RON វត្តមាននៃថ្នាំងលេខនព្វន្ធ កុងតាក់ និងច្រើនទៀត... ដូច្នេះនេះគឺជាប្រធានបទសម្រាប់អ្នកជំនាញ។ អ្នកណាអាចរាប់បាននៅលើម្រាមដៃ ... នៃដៃម្ខាង។

វិធីសាស្ត្រអ៊ិនគ្រីបប៉ារ៉ាឡែលត្រូវបានអនុវត្តយ៉ាងមានប្រសិទ្ធភាពសម្រាប់តែរបៀបប្រតិបត្តិការ 64 ប៊ីតប៉ុណ្ណោះ ព្រោះនៅក្នុងរបៀបនេះមាន RON ចំនួនគ្រប់គ្រាន់ (រហូតដល់ 16 បំណែក!)។ ឧទាហរណ៍នៃការអនុវត្ត GOST ដោយប្រើវិធីសាស្រ្តនេះត្រូវបានបង្ហាញនៅក្នុងឧបសម្ព័ន្ធទី 2 (នៅលើថាស) ។

វាច្បាស់ណាស់ថាការអនុវត្ត GOST នេះមានដំណើរការកូដ 2 កូដ RTT ។ ឥឡូវនេះសូមមើលពីរបៀបដែលវាប៉ះពាល់ដល់ពេលវេលាប្រតិបត្តិ។

វដ្តនៃការអ៊ិនគ្រីបសម្រាប់ខ្សែស្រឡាយមួយ (ឧបសម្ព័ន្ធទី 1) គឺ 352 វដ្តនាឡិកា ហើយក្នុងអំឡុងពេលនេះ 8 បៃនៃទិន្នន័យត្រូវបានគណនាសម្រាប់ការអនុវត្តពីរខ្សែនៃ GOST (ឧបសម្ព័ន្ធទី 2) 416 វដ្តដំណើរការត្រូវបានទាមទារ ប៉ុន្តែ 16 បៃត្រូវបានគណនា។ ដូច្នេះល្បឿនបំប្លែងលទ្ធផលកើនឡើងពី 80 ទៅ 144 មេហ្គាបៃសម្រាប់ខួរក្បាល 3.6 GHz ។

រូបភាពគួរឱ្យចាប់អារម្មណ៍មួយបានលេចចេញមក៖ កូដមានពាក្យបញ្ជាច្រើនជាងពីរដង ហើយដំណើរការបានត្រឹមតែ 15% យូរជាងនេះ ប៉ុន្តែខ្ញុំគិតថាអ្នកអានបានយល់ពីហេតុផលនៃបាតុភូតនេះរួចហើយ...

តាមទ្រឹស្តី កូដពីឧទាហរណ៍ទីពីរគួរតែត្រូវបានប្រតិបត្តិក្នុងចំនួនវដ្តដូចគ្នាជាមួយនឹងកូដពីឧទាហរណ៍ដំបូង ប៉ុន្តែថ្នាំងកម្មវិធីកំណត់ពេលត្រូវបានបង្កើតឡើងដោយវិស្វករ Intel ប៉ុន្តែពួកគេក៏ជាមនុស្សដែរ ហើយយើងទាំងអស់គ្នានៅឆ្ងាយពីភាពល្អឥតខ្ចោះ។ ដូច្នេះវាគឺអាចធ្វើទៅបានដើម្បីវាយតម្លៃប្រសិទ្ធភាពនៃការបង្កើតរបស់ពួកគេ។ កូដនេះក៏នឹងដំណើរការលើប្រព័ន្ធដំណើរការ AMD ផងដែរ ហើយអ្នកអាចប្រៀបធៀបលទ្ធផលរបស់ពួកគេ។

ប្រសិនបើអ្នកណាម្នាក់មិនទទួលយកពាក្យរបស់ខ្ញុំសម្រាប់វា នោះសម្រាប់អ្នកដែលមិនជឿបែបនេះ កម្មវិធីសាកល្បងជាមួយនឹងនាឡិការាប់បញ្ចូលក្នុងថាស។ កម្មវិធីមាននៅក្នុងកូដប្រភព ជាធម្មជាតិនៅក្នុង assembler ដូច្នេះមានឱកាសពិនិត្យមើលពាក្យរបស់ខ្ញុំ ហើយនៅពេលជាមួយគ្នានេះ សូមមើលល្បិចមួយចំនួននៃការសរសេរកូដប្រកបដោយវិជ្ជាជីវៈ។

ការប្រើប្រាស់ការចុះឈ្មោះ SSE និងពាក្យបញ្ជា AVX នៃ processors ទំនើបដើម្បីអនុវត្ត GOST 28147-89

ដំណើរការទំនើបនៃស្ថាបត្យកម្ម x86/64 រួមបញ្ចូលសំណុំនៃការចុះឈ្មោះ SSE ដែលមានទំហំ 16 បៃ និង FPUs ឯកទេស (យ៉ាងហោចណាស់ពីរ) ដើម្បីអនុវត្តប្រតិបត្តិការផ្សេងៗលើការចុះឈ្មោះទាំងនេះ។ វាអាចធ្វើទៅបានដើម្បីអនុវត្ត GOST លើឧបករណ៍នេះហើយក្នុងករណីនេះថ្នាំងជំនួសអាចត្រូវបានដាក់មិនមែនក្នុងទម្រង់ជាតារាងក្នុង RAM ទេប៉ុន្តែដោយផ្ទាល់លើការចុះឈ្មោះ SSE ដែលខិតខំប្រឹងប្រែង។

ការចុះឈ្មោះ SSE មួយអាចផ្ទុកតារាងពីរនៃ 16 ជួរក្នុងពេលតែមួយ។ ដូច្នេះ ការចុះឈ្មោះ SSE ចំនួនបួននឹងអាចទទួលយកបានទាំងស្រុងនូវតារាងជំនួសទាំងអស់។ លក្ខខណ្ឌតែមួយគត់សម្រាប់ការដាក់បែបនេះគឺតម្រូវការ interleaving នេះបើយោងតាមដែល tetrads នៃបៃដូចគ្នាត្រូវតែត្រូវបានដាក់នៅក្នុងការចុះឈ្មោះ SSE ផ្សេងគ្នា។ លើសពីនេះទៀត វាត្រូវបានណែនាំឱ្យដាក់ tetrads ទាប និងខ្ពស់នៃបៃបញ្ចូល រៀងគ្នានៅក្នុង tetrads ទាប និងខ្ពស់នៃបៃនៃការចុះឈ្មោះ SSE ។

តម្រូវការទាំងនេះត្រូវបានកំណត់ដោយការបង្កើនប្រសិទ្ធភាពសម្រាប់សំណុំពាក្យបញ្ជា AVX ដែលមានស្រាប់។ ដូច្នេះ បៃនីមួយៗនៃការចុះឈ្មោះ SSE នឹងមាន tetrads ពីរដែលត្រូវគ្នានឹងបៃផ្សេងគ្នានៃការចុះឈ្មោះបញ្ចូលនៃប្លុកជំនួស ខណៈពេលដែលទីតាំងនៃបៃក្នុង SSE ចុះឈ្មោះគឺដូចគ្នាទៅនឹងសន្ទស្សន៍នៅក្នុងតារាងជំនួសប្លុកជំនួស។

ដ្យាក្រាមនៃការដាក់ថ្នាំងជំនួសដែលអាចមាននៅលើការចុះឈ្មោះ SSE ត្រូវបានបង្ហាញនៅក្នុងរូបភព។ ៤.


ការដាក់ព័ត៌មានសម្ងាត់នៃថ្នាំងជំនួសនៅលើការចុះឈ្មោះ SSE បង្កើនសុវត្ថិភាពនៃនីតិវិធីគ្រីបតូ ប៉ុន្តែការផ្តាច់ខ្លួនទាំងស្រុងនៃព័ត៌មានសម្ងាត់នេះគឺអាចធ្វើទៅបាន ប្រសិនបើលក្ខខណ្ឌខាងក្រោមត្រូវបានបំពេញ៖

  • ស្នូលដំណើរការត្រូវបានប្តូរទៅរបៀបម៉ាស៊ីន hypervisor ហើយប្លុករំខាន (APIC) ត្រូវបានបិទដោយបង្ខំនៅក្នុងវា។ ក្នុងករណីនេះ ស្នូលដំណើរការគឺដាច់ឆ្ងាយពី OS និងកម្មវិធីដែលកំពុងដំណើរការលើការដំឡើងកុំព្យូទ័រ។
  • ការចុះឈ្មោះ SSE ត្រូវបានផ្ទុក ហើយស្នូលកុំព្យូទ័រត្រូវបានញែកដាច់ពីគេ មុនពេល OS ចាប់ផ្តើម វាជាការល្អបំផុតក្នុងការអនុវត្តនីតិវិធីទាំងនេះពីម៉ូឌុលចាប់ផ្ដើមដែលជឿទុកចិត្ត (TLM) ។
  • កម្មវិធីសម្រាប់ដំណើរការគ្រីបតូស្របតាម GOST ស្ថិតនៅក្នុងតំបន់អង្គចងចាំដែលមិនអាចកែប្រែបាននៃការដំឡើងកុំព្យូទ័រ (ទាំង BIOS ឬនៅក្នុងអង្គចងចាំពន្លឺនៃ MDZ) ។

ការអនុលោមតាមតម្រូវការទាំងនេះនឹងធានាបាននូវភាពឯកោពេញលេញ និងមិនអាចផ្លាស់ប្តូរបាននៃកូដកម្មវិធីនៃនីតិវិធីគ្រីបតូ និងព័ត៌មានសម្ងាត់ដែលបានប្រើនៅក្នុងពួកគេ។

សម្រាប់គំរូប្រកបដោយប្រសិទ្ធភាពនៃការចុះឈ្មោះ tetrad SSE កុងតាក់បៃបញ្ចូលច្រើនដែលរួមបញ្ចូលក្នុងប្លុក FPU ត្រូវបានប្រើ។ កុងតាក់ទាំងនេះអនុញ្ញាតឱ្យផ្ទេរពីបៃប្រភពណាមួយទៅបៃគោលដៅណាមួយ ដោយប្រើសន្ទស្សន៍ដែលមាននៅក្នុងបញ្ជីសន្ទស្សន៍ SSE ពិសេស។ លើសពីនេះទៅទៀត ការផ្ទេរត្រូវបានអនុវត្តស្របគ្នាសម្រាប់ 16 បៃនៃការចុះឈ្មោះអ្នកទទួល SSE ។

ការមានថ្នាំងផ្ទុកជំនួសនៅលើការចុះឈ្មោះ SSE និងកុងតាក់ពហុបញ្ចូលក្នុងប្លុក FPU វាអាចធ្វើទៅបានដើម្បីរៀបចំការផ្លាស់ប្តូរខាងក្រោមនៅក្នុងប្លុកជំនួស (រូបភាពទី 5) ។

នៅក្នុងគ្រោងការណ៍នេះ ការចុះឈ្មោះបញ្ចូលក្នុង tetrad នីមួយៗបញ្ជាក់អាសយដ្ឋានសម្រាប់កុងតាក់ដែលត្រូវគ្នា ដែលបញ្ជូនព័ត៌មានពី drives នៃ nodes ជំនួសទៅកាន់ output register តាមរយៈ data bus។ គ្រោងការណ៍នេះអាចត្រូវបានរៀបចំតាមបីវិធី៖

  • បង្កើតការរចនាបន្ទះឈីបដែលសមរម្យ ប៉ុន្តែនេះគឺអស្ចារ្យសម្រាប់ពួកយើង។
  • ការសរសេរកម្មវិធីមីក្រូកូដឡើងវិញ និងបង្កើតពាក្យបញ្ជា processor ផ្ទាល់ខ្លួនរបស់អ្នក ដើម្បីអនុវត្តមុខងារនេះនៅលើ processors ដែលមានស្រាប់គឺលែងជារឿងស្រមើស្រមៃទៀតហើយ ប៉ុន្តែជាអកុសល វាមិនប្រាកដប្រជាក្នុងលក្ខខណ្ឌបច្ចុប្បន្នទេ។
  • សរសេរកម្មវិធីដោយប្រើពាក្យបញ្ជា AVX ផ្លូវការ។ ជម្រើស​នេះ​ប្រហែល​ជា​មិន​មាន​ប្រសិទ្ធភាព​ខ្លាំង​ទេ ប៉ុន្តែ​វា​អាច​ត្រូវ​បាន​អនុវត្ត​ "នៅទីនេះ និង​ឥឡូវនេះ"។ ដូច្នេះ​ហើយ​ជា​អ្វី​ដែល​យើង​នឹង​ធ្វើ​បន្ទាប់។

ប្រតិបត្តិការនៃកុងតាក់ត្រូវបានគ្រប់គ្រងដោយពាក្យបញ្ជាបីអាស័យដ្ឋានពិសេស AVX VPSHUFB ។ ប្រតិបត្តិករទីមួយរបស់វាគឺជាអ្នកទទួលព័ត៌មានពី switches ទីពីរគឺជាប្រភពដែលការបញ្ចូលរបស់ switches ត្រូវបានភ្ជាប់។ ប្រតិបត្តិករទីបីគឺជាការចុះឈ្មោះត្រួតពិនិត្យសម្រាប់កុងតាក់ ដែលបៃនីមួយៗត្រូវបានភ្ជាប់ជាមួយកុងតាក់ដែលត្រូវគ្នា។ តម្លៃនៅក្នុងវាបញ្ជាក់ចំនួនទិសដៅដែលកុងតាក់អានព័ត៌មាន។ សម្រាប់ការពិពណ៌នាអំពីពាក្យបញ្ជានេះពីឯកសារផ្លូវការរបស់ Intel សូមមើលរូប។ 5. នៅក្នុងរូបភព។ រូបភាពទី 6 បង្ហាញដ្យាក្រាមនៃរបៀបដែលពាក្យបញ្ជានេះដំណើរការ - មានតែពាក់កណ្តាលនៃការចុះឈ្មោះ SSE ប៉ុណ្ណោះត្រូវបានបង្ហាញសម្រាប់ពាក់កណ្តាលទីពីរអ្វីគ្រប់យ៉ាងគឺស្រដៀងគ្នា។


កុងតាក់ប្រើតែបួនប៊ីតទាបបំផុតដើម្បីកំណត់ទិសដៅនៃការផ្លាស់ប្តូរ ប៊ីតចុងក្រោយក្នុងបៃនីមួយៗត្រូវបានប្រើដើម្បីបង្ខំឱ្យបៃអ្នកទទួលដែលត្រូវគ្នាទៅសូន្យ ប៉ុន្តែមុខងារប្តូរនេះមិនទាន់មានតម្រូវការនៅក្នុងករណីរបស់យើង។

កម្មវិធីសម្រាប់យកគំរូ tetrads តាមរយៈកុងតាក់ FPU ត្រូវបានសរសេរ ប៉ុន្តែខ្ញុំមិនបានដាក់វានៅក្នុងកម្មវិធីនោះទេ - វាគួរឱ្យអាណិតណាស់។ ការចុះឈ្មោះ 128 ប៊ីត ហើយប្រើតែ 32 ប៊ីតប៉ុណ្ណោះ គឺមិនមានលក្ខណៈវិជ្ជាជីវៈទេ។

ដូចដែលពួកគេនិយាយថា "បន្ទាត់បញ្ចប់របស់យើងគឺជាជើងមេឃ" ដូច្នេះច្របាច់វាចេញ ច្របាច់វាចេញ ... យើងនឹងចុចវាហើយដាក់វានៅក្នុងថង់!

នេះមិនមែនជាការលេងនៅលើពាក្យនោះទេ ប៉ុន្តែការពិត FPU ដ៏អាក្រក់ - ការចុះឈ្មោះ SSE អាចត្រូវបានបែងចែកជាផ្នែកស្មើគ្នា ហើយការផ្លាស់ប្តូរដូចគ្នាអាចត្រូវបានអនុវត្តនៅលើផ្នែកទាំងនេះដោយប្រើពាក្យបញ្ជាតែមួយ។ ដើម្បីឱ្យខួរក្បាលយល់ពីរឿងនេះ មានអក្សរវេទមន្ត "P" - កញ្ចប់ដែលត្រូវបានដាក់នៅមុខពាក្យបញ្ជា mnemonics ហើយមិនមានអក្សរវេទមន្តតិចជាង "Q", "D", "W", "B" ដែល ត្រូវបានដាក់នៅចុងបញ្ចប់ ហើយប្រកាសថាតើផ្នែកណាខ្លះដែលការចុះឈ្មោះ SSE ត្រូវបានបែងចែកទៅជានៅក្នុងពាក្យបញ្ជានេះ?

យើងចាប់អារម្មណ៍លើរបៀបបាច់ជាមួយនឹងការចុះឈ្មោះ SSE ដែលបែងចែកជាបួនប្លុក 32 ប៊ីត។ អាស្រ័យហេតុនេះ ពាក្យបញ្ជាទាំងអស់នឹងត្រូវដាក់បុព្វបទដោយអក្សរ “P” ហើយនៅចុងបញ្ចប់ដោយនិមិត្តសញ្ញា “D” ។ នេះធ្វើឱ្យវាអាចដំណើរការប្លុក 32 ប៊ីតចំនួនបួនស្របគ្នាជាមួយនឹងពាក្យបញ្ជាដំណើរការមួយ ពោលគឺគណនាប្លុកទិន្នន័យចំនួនបួនស្របគ្នា។

កម្មវិធីដែលអនុវត្តវិធីសាស្រ្តនេះមាននៅក្នុងឧបសម្ព័ន្ធទី 3 ជាមួយនឹងការពន្យល់ទាំងអស់នៅទីនោះ។

ទោះ​ជា​យ៉ាង​ណា​ចុច​ខ្លាំង​ណាស់! ឧបករណ៍ដំណើរការទំនើបមានយ៉ាងហោចណាស់ FPUs ពីរ ហើយខ្សែណែនាំឯករាជ្យពីរអាចត្រូវបានប្រើដើម្បីផ្ទុកពួកវាយ៉ាងពេញលេញ។ ប្រសិនបើអ្នកជំនួសពាក្យបញ្ជាត្រឹមត្រូវពីខ្សែស្រឡាយឯករាជ្យ អ្នកអាចផ្ទុកប្លុក FPU ទាំងពីរជាមួយនឹងការងារទាំងស្រុង និងទទួលបានចរន្តទិន្នន័យដំណើរការស្របគ្នាប្រាំបីក្នុងពេលតែមួយ។ កម្មវិធីបែបនេះត្រូវបានសរសេរ ហើយវាអាចត្រូវបានមើលនៅក្នុងឧបសម្ព័ន្ធទី 4 ប៉ុន្តែអ្នកត្រូវមើលវាដោយប្រុងប្រយ័ត្ន - អ្នកអាចឆ្កួត។ នេះគឺជាអ្វីដែលគេហៅថា "កូដមិនមែនសម្រាប់មនុស្សគ្រប់គ្នាទេ ... "

តម្លៃចេញ

ការប្រើប្រាស់ការចុះឈ្មោះ SSE ដើម្បីរក្សាទុកថ្នាំងជំនួសគឺអាចយល់បាន - វាផ្តល់នូវការធានាមួយចំនួននៃភាពឯកោនៃព័ត៌មានសម្ងាត់ ប៉ុន្តែអត្ថន័យនៃការគណនាមុខងារគ្រីបតូដោយខ្លួនឯងនៅលើ FPU គឺមិនជាក់ស្តែងទេ។ ដូច្នេះពេលវេលាប្រតិបត្តិនៃនីតិវិធីស្តង់ដារត្រូវបានវាស់វែងដោយប្រើវិធីសាស្ត្រជំនួសដោយផ្ទាល់ស្របតាម GOST សម្រាប់ខ្សែស្រឡាយចំនួនបួននិងប្រាំបី។

សម្រាប់ខ្សែស្រឡាយចំនួន 4 ល្បឿនប្រតិបត្តិនៃ 472 វដ្តដំណើរការត្រូវបានទទួល។ ដូច្នេះសម្រាប់ខួរក្បាលដែលមានប្រេកង់ 3.6 GHz ខ្សែស្រឡាយមួយត្រូវបានគណនាក្នុងល្បឿន 59 មេកាបៃក្នុងមួយវិនាទី និង 4 ខ្សែរៀងគ្នាក្នុងល្បឿន 236 មេហ្គាបៃក្នុងមួយវិនាទី។

សម្រាប់ខ្សែស្រឡាយចំនួនប្រាំបី ល្បឿនប្រតិបត្តិនៃ 580 វដ្តដំណើរការត្រូវបានទទួល។ ដូច្នេះ សម្រាប់ដំណើរការ 3.6 GHz មួយ threads មានចំនួន 49 មេកាបៃក្នុងមួយវិនាទី និង 8 threads នៅ 392 មេកាបៃក្នុងមួយវិនាទី។

ដូចដែលអ្នកអានអាចមើលឃើញ កូដក្នុងឧទាហរណ៍ #3 មានដំណើរការ 4 RTT ហើយកូដក្នុងឧទាហរណ៍ #4 មានដំណើរការ 8 RTT។ នៅក្នុងឧទាហរណ៍ទាំងនេះនៅលើការចុះឈ្មោះ SSE លំនាំគឺដូចគ្នានឹងពេលប្រើ RON ដែរ មានតែកម្មវិធីកំណត់ពេលប៉ុណ្ណោះដែលបានកាត់បន្ថយប្រសិទ្ធភាពរបស់វា។ បច្ចុប្បន្ននេះវាផ្តល់នូវការកើនឡើង 20% នៃរយៈពេលខណៈពេលដែលបង្កើនទ្វេដងនៃប្រវែងកូដ។

លើសពីនេះទៅទៀត លទ្ធផលទាំងនេះត្រូវបានទទួលដោយប្រើពាក្យបញ្ជា AVX ជាសកលដែលមាននៅក្នុងទាំង Intel និង AMD processors ។ ប្រសិនបើអ្នកបង្កើនប្រសិទ្ធភាពសម្រាប់ប្រព័ន្ធដំណើរការ AMD លទ្ធផលនឹងកាន់តែប្រសើរ។ វាស្តាប់ទៅផ្ទុយទៅនឹងនិន្នាការនេះ ប៉ុន្តែទោះជាយ៉ាងណាវាជាការពិត ហើយនេះជាមូលហេតុដែល៖ ដំណើរការរបស់ AMD មានសំណុំការណែនាំបន្ថែម ដែលហៅថាផ្នែកបន្ថែម XOP ហើយនៅក្នុងសំណុំនៃការណែនាំបន្ថែមនេះ មានការណែនាំដែលជួយសម្រួលដល់ការអនុវត្តយ៉ាងសំខាន់។ ក្បួនដោះស្រាយ GOST ។

នេះសំដៅទៅលើពាក្យបញ្ជាសម្រាប់ការផ្លាស់ប្តូរបៃបឺតឡូជីខល និងការផ្លាស់ប្តូរស៊ីក្លូនៃពាក្យពីរដង។ នៅក្នុងឧទាហរណ៍ដែលបានផ្ដល់ឱ្យក្នុងឧបសម្ព័ន្ធទី 3 និងទី 4 លំដាប់នៃពាក្យបញ្ជាជាសកលត្រូវបានប្រើដែលអនុវត្តការបំប្លែងចាំបាច់៖ ក្នុងករណីទីមួយ ពាក្យបញ្ជា "បន្ថែម" មួយ និងក្នុងករណីផ្សេងទៀត បញ្ជាបន្ថែមចំនួនបួនក្នុងពេលតែមួយ។ ដូច្នេះមានទុនបំរុងបង្កើនប្រសិទ្ធភាព និងសន្ធឹកសន្ធាប់។

នៅពេលដែលវាមកដល់ការបង្កើនប្រសិទ្ធភាពបន្ថែមទៀត វាមានតម្លៃចងចាំវត្តមាននៃការចុះឈ្មោះ 256 ប៊ីត (ការចុះឈ្មោះ YMM) ដោយប្រើទ្រឹស្តីដែលអ្នកអាចបង្កើនល្បឿននៃការគណនាទ្វេដង។ ប៉ុន្តែសម្រាប់ពេលនេះ នេះគ្រាន់តែជាការរំពឹងទុកប៉ុណ្ណោះ នៅពេលនេះ ខួរក្បាលដំណើរការថយចុះយ៉ាងខ្លាំងនៅពេលអនុវត្តការណែនាំ 256 ប៊ីត (FPUs មានទទឹងផ្លូវ 128 ប៊ីត)។ ការពិសោធន៍បានបង្ហាញថានៅលើប្រព័ន្ធដំណើរការទំនើប ការរាប់ចំនួន 16 ខ្សែនៅលើការចុះឈ្មោះ YMM មិនផ្តល់អត្ថប្រយោជន៍ណាមួយឡើយ។ ប៉ុន្តែនេះគឺសម្រាប់តែពេលនេះប៉ុណ្ណោះ នៅលើម៉ូដែលដំណើរការថ្មី ការអនុវត្តនៃការណែនាំ 256 ប៊ីតប្រាកដជានឹងកើនឡើង ហើយបន្ទាប់មកការប្រើប្រាស់ 16 ខ្សែប៉ារ៉ាឡែលនឹងក្លាយជាការគួរ ហើយនឹងនាំទៅរកការបង្កើនល្បឿននៃដំណើរការគ្រីបតូ។ .

តាមទ្រឹស្តី អ្នកអាចពឹងផ្អែកលើល្បឿន 600-700 មេកាបៃក្នុងមួយវិនាទី ប្រសិនបើខួរក្បាលមាន FPUs ពីរដែលមានទទឹងផ្លូវធ្វើការ 256 ប៊ីតនីមួយៗ។ ក្នុងករណីនេះយើងអាចនិយាយអំពីការសរសេរកូដជាមួយនឹងប្រសិទ្ធភាពនៃ 16 RTT ហើយនេះមិនមែនជាការស្រមើស្រមៃនោះទេ ប៉ុន្តែនៅពេលអនាគតដ៏ខ្លីខាងមុខនេះ។

របៀបចម្រុះ

ជាថ្មីម្តងទៀតសំណួរនៃចំនួននៃការចុះឈ្មោះកើតឡើង; ប៉ុន្តែរបៀប hypertrading នឹងជួយយើង។ ស្នូលខួរក្បាលមានសំណុំទីពីរនៃការចុះឈ្មោះដែលមាននៅក្នុងរបៀបដំណើរការឡូជីខល។ ដូច្នេះ យើងនឹងប្រតិបត្តិកូដដូចគ្នានៅលើប្រព័ន្ធដំណើរការឡូជីខលពីរក្នុងពេលតែមួយ។ នៅក្នុងរបៀបនេះ ពិតណាស់យើងនឹងមិនមាន actuators បន្ថែមទៀតទេ ប៉ុន្តែដោយសារការឆ្លាស់គ្នា យើងអាចទទួលបានបន្ទុកពេញលេញនៃ actuators ទាំងអស់។

អ្នកមិនអាចពឹងផ្អែកលើការកើនឡើង 50% នៅទីនេះទេ ឧបសគ្គគឺជាឃ្លាំងសម្ងាត់ដែលរបាំងបច្ចេកវិទ្យាត្រូវបានរក្សាទុក ប៉ុន្តែអ្នកនៅតែអាចទទួលបានការកើនឡើង 100 មេកាបៃបន្ថែមទៀត។ ជម្រើសនេះមិនត្រូវបានបង្ហាញនៅក្នុងឧបសម្ព័ន្ធទេ (ម៉ាក្រូគឺស្រដៀងនឹងអ្វីដែលបានប្រើក្នុងកូដ 8 RTT) ប៉ុន្តែវាមាននៅក្នុងឯកសារកម្មវិធី។ ដូច្នេះប្រសិនបើអ្នកណាម្នាក់មិនជឿលើលទ្ធភាពនៃការអ៊ិនគ្រីបក្នុងល្បឿន 500 មេហ្គាបៃក្នុងមួយវិនាទីនៅលើស្នូលដំណើរការតែមួយ អនុញ្ញាតឱ្យពួកគេដំណើរការឯកសារសាកល្បង។ ក៏មានអត្ថបទជាមួយមតិ ដើម្បីកុំឱ្យនរណាម្នាក់គិតថាខ្ញុំកុហក។

ការផ្តោតអារម្មណ៍នេះគឺអាចធ្វើទៅបានតែលើប្រព័ន្ធដំណើរការ Intel; ប៉ុន្តែមាន ALUs បួនបន្ថែមទៀតដែលនឹងជាអំពើបាបដែលមិនប្រើ។

អ្នកអាចដាក់ម៉ូឌុលដំណើរការ Bulldozer ទៅជារបៀបស្រដៀងទៅនឹងរបៀប hypertrading ប៉ុន្តែដំណើរការការបំប្លែងទៅជា RON នៅលើម៉ូឌុលផ្សេងៗគ្នាក្នុងខ្សែស្រឡាយមួយ ហើយនៅលើ SSE ចុះឈ្មោះក្នុងខ្សែស្រឡាយផ្សេងទៀត និងទទួលបាន 12 RTTs ដូចគ្នា។ ខ្ញុំមិនបានសាកល្បងជម្រើសនេះទេ ប៉ុន្តែខ្ញុំគិតថា 12 RTT code នឹងដំណើរការកាន់តែមានប្រសិទ្ធភាពលើ AMD។ អ្នកដែលចាប់អារម្មណ៍អាចសាកល្បងវា កម្មវិធីសាកល្បងអាចត្រូវបានកែសម្រួលដើម្បីធ្វើការលើ "Bulldozers" យ៉ាងងាយស្រួល។

តើអ្នកណាត្រូវការវា?

សំណួរដ៏ធ្ងន់ធ្ងរមួយ ប៉ុន្តែជាមួយនឹងចម្លើយដ៏សាមញ្ញមួយ - មនុស្សគ្រប់គ្នាត្រូវការវា។ ឆាប់ៗនេះ យើងទាំងអស់គ្នានឹងជាប់គាំងនៅលើពពក យើងនឹងរក្សាទុកទាំងទិន្នន័យ និងកម្មវិធីនៅទីនោះ ហើយនៅទីនោះ អូ របៀបដែលយើងចង់បង្កើតជ្រុងឯកជនរបស់យើងផ្ទាល់។ ដើម្បីធ្វើដូច្នេះ អ្នកនឹងត្រូវអ៊ិនគ្រីបចរាចរណ៍ ហើយល្បឿននៃការបំប្លែងគ្រីបតូនឹងជាកត្តាកំណត់សំខាន់នៃការងារប្រកបដោយផាសុកភាពនៅក្នុងពពក។ ជម្រើសនៃក្បួនដោះស្រាយការអ៊ិនគ្រីបរបស់យើងគឺតូច - ទាំង GOST ឬ AES ។

លើសពីនេះទៅទៀត, ចម្លែកគ្រប់គ្រាន់, ក្បួនដោះស្រាយការអ៊ិនគ្រីប AES ដែលបានបង្កើតឡើងនៅក្នុង processors ប្រែទៅជាយឺតជាងច្រើន ការធ្វើតេស្តបង្ហាញល្បឿន 100-150 មេកាបៃក្នុងមួយវិនាទី ហើយនេះគឺជាមួយនឹងការអនុវត្តផ្នែករឹងនៃក្បួនដោះស្រាយ! បញ្ហាស្ថិតនៅក្នុងការរាប់ខ្សែតែមួយ និងប្លុកជំនួស ដែលដំណើរការលើបៃ (តារាង 256 ជួរ)។ ដូច្នេះ GOST ប្រែថាមានប្រសិទ្ធភាពជាងនៅពេលអនុវត្តលើស្ថាបត្យកម្ម x86/64 តើអ្នកណានឹងគិត ...

នេះគឺប្រសិនបើយើងនិយាយអំពីកម្រិតដែលសម្រេចបាននៃល្បឿនអ៊ិនគ្រីប។ ហើយប្រសិនបើយើងរក្សាទុកក្នុងចិត្តការកែលម្អទ្រឹស្តីនៅក្នុងវិស័យបង្កើនប្រសិទ្ធភាពកូដ នោះទំនងជាគ្មាននរណាម្នាក់ត្រូវការវាទេ។ មិនមានអ្នកឯកទេសនៅកម្រិត 3-6 RTT ទេ អ្នកចងក្រងជាទូទៅបង្កើតកូដនៅកម្រិត 1-2.5 RTT ហើយអ្នកសរសេរកម្មវិធីភាគច្រើនមិនស្គាល់អ្នកដំឡើងទេ ហើយទោះបីជាពួកគេដឹងពីអក្ខរាវិរុទ្ធរបស់វាក៏ដោយ ពួកគេមិនយល់ពីការរចនានៃ ឧបករណ៍ដំណើរការទំនើប។ ហើយ​បើ​គ្មាន​ចំណេះដឹង​នេះ​ទេ វា​មិន​សំខាន់​ថា​វា​ជា​ឧបករណ៍​ដំឡើង​ឬ​ប្រភេទ SI-sharp មួយ​ចំនួន​ទេ។

ប៉ុន្តែមិនមែនអ្វីៗទាំងអស់គួរឱ្យសោកស្ដាយនោះទេ៖ ចំណុចសំខាន់បន្ទាប់ពីគេងមិនលក់មួយសប្តាហ៍គឺជាក្បួនដោះស្រាយថ្មីសម្រាប់ការអនុវត្ត GOST ដែលនឹងក្លាយជាអំពើបាបដែលមិនធ្វើប៉ាតង់។ ហើយពាក្យសុំប៉ាតង់ (ចំនួនបី) ត្រូវបានបញ្ចប់ និងដាក់ពាក្យរួចហើយ ដូច្នេះសុភាពបុរស អ្នកជំនួញ តម្រង់ជួរ - ស្ត្រី និងកុមារទទួលបានការបញ្ចុះតម្លៃ។

) ក្នុងពេលជាមួយគ្នានេះដែរ នៅក្នុងប្រព័ន្ធផ្សព្វផ្សាយ និងប្លក់របស់រុស្ស៊ី អ្នកប្រើប្រាស់រុស្ស៊ីចំនួនកំណត់ចំណាំអំពីក្បួនដោះស្រាយនេះកំពុងកើនឡើង៖ ទាំងគ្របដណ្តប់លើលទ្ធផលនៃការវាយប្រហារលើស្តង់ដាររុស្ស៊ីជាមួយនឹងកម្រិតនៃភាពជឿជាក់ខុសៗគ្នា និងមានមតិអំពីលក្ខណៈប្រតិបត្តិការរបស់វា។ អ្នកនិពន្ធ (ហើយជាលទ្ធផល អ្នកអាន) នៃកំណត់ត្រាទាំងនេះ ច្រើនតែទទួលបានការចាប់អារម្មណ៍ថា ក្បួនដោះស្រាយការអ៊ិនគ្រីបក្នុងស្រុក ហួសសម័យ យឺត និងមានភាពងាយរងគ្រោះ ដែលធ្វើឱ្យវាងាយរងការវាយប្រហារខ្លាំងជាង ក្បួនដោះស្រាយការអ៊ិនគ្រីបបរទេស ដែលមានប្រវែងគន្លឹះស្រដៀងគ្នា។ ជាមួយនឹងស៊េរីនៃកំណត់ចំណាំនេះ យើងចង់ប្រាប់អ្នកក្នុងទម្រង់ដែលអាចចូលដំណើរការបានអំពីស្ថានភាពបច្ចុប្បន្ននៃកិច្ចការជាមួយស្តង់ដាររុស្ស៊ី។ ផ្នែកទីមួយនឹងគ្របដណ្តប់រាល់ការវាយប្រហារលើ GOST 28147-89 ដែលស្គាល់ដោយសហគមន៍គ្រីបគ្រីបអន្តរជាតិ និងការវាយតម្លៃបច្ចុប្បន្ននៃកម្លាំងរបស់វា។ នៅក្នុងការបោះពុម្ភផ្សាយនាពេលខាងមុខ យើងក៏នឹងពិនិត្យមើលឱ្យបានដិតដល់អំពីលក្ខណៈសម្បត្តិនៃស្តង់ដារពីទស្សនៈនៃសមត្ថភាពក្នុងការបង្កើតការអនុវត្តប្រកបដោយប្រសិទ្ធភាព។

Nicolas Courtois - "ដ៏អស្ចារ្យនិងគួរឱ្យភ័យខ្លាច"

ចូរចាប់ផ្តើមជាមួយនឹងរឿងអំពីសកម្មភាពរបស់ Nicolas Courtois ដែលជាអ្នកនិពន្ធនៃស៊េរីទាំងមូលនៃការងារដែលបានឧទ្ទិសដល់ស្តង់ដារការអ៊ិនគ្រីបប្លុករបស់រុស្ស៊ី () ។

នៅខែតុលាឆ្នាំ 2010 ដំណើរការនៃការពិចារណាការដាក់បញ្ចូល GOST 28147-89 algorithm នៅក្នុងស្តង់ដារអន្តរជាតិ ISO/IEC 18033-3 បានចាប់ផ្តើម។ រួចហើយនៅក្នុងខែឧសភា ឆ្នាំ 2011 អត្ថបទរបស់អ្នកសរសេរកូដសម្ងាត់ដ៏ល្បីល្បាញ Nicolas Courtois បានបង្ហាញខ្លួននៅលើបណ្ណសារអេឡិចត្រូនិច ePrint ដែលសម្គាល់ដោយអាកប្បកិរិយាមិនច្បាស់លាស់ចំពោះគាត់ពីសហគមន៍គ្រីបគ្រីបពិភពលោក។ ការបោះពុម្ភផ្សាយរបស់ Courtois គឺជាឧទាហរណ៍ដ៏ក្រៀមក្រំនៃការរៀបចំគំនិត ដែលមិនបង្ហាញពីលក្ខណៈសម្បត្តិថ្មីនៃវត្ថុនៅក្នុងសំណួរ ប៉ុន្តែជាមួយនឹងការអះអាងចំពោះអារម្មណ៍ ធ្វើឱ្យមានការរីករាលដាលនៃគំនិតខុសឆ្គងអំពីលក្ខណៈសម្បត្តិជាក់ស្តែងរបស់វានៅក្នុងបរិយាកាសដែលគ្មានសមត្ថភាព។

វិធីសាស្ត្រពិជគណិត

ហេតុផលរបស់ Courtois ត្រូវបានបង្កើតឡើងជុំវិញពីរថ្នាក់នៃវិធីសាស្រ្ត cryptanalysis: វិធីសាស្រ្តពិជគណិត និង ឌីផេរ៉ង់ស្យែល។ សូមក្រឡេកមើលវិធីសាស្រ្តនៃថ្នាក់ដំបូង។

តាមរបៀបសាមញ្ញ វិធីសាស្រ្តនៃការវិភាគគ្រីបពិជគណិតអាចត្រូវបានពិពណ៌នាថាជាការចងក្រង និងដំណោះស្រាយនៃប្រព័ន្ធសមីការដ៏ធំមួយ ដែលដំណោះស្រាយនីមួយៗត្រូវគ្នាទៅនឹងគោលដៅរបស់អ្នកវិភាគគ្រីប (ឧទាហរណ៍ ប្រសិនបើប្រព័ន្ធមួយត្រូវបានចងក្រងដោយប្រើមួយគូ។ នៃអត្ថបទធម្មតា និងអក្សរសម្ងាត់ បន្ទាប់មកដំណោះស្រាយទាំងអស់នៃប្រព័ន្ធនេះត្រូវគ្នាទៅនឹងសោដែលអត្ថបទធម្មតានេះត្រូវបានបំប្លែងទៅជាអត្ថបទនេះត្រូវបានអ៊ិនគ្រីប)។ នោះគឺនៅក្នុងករណីនៃបញ្ហានៃ cryptanalysis នៃ block cipher មួយ ខ្លឹមសារនៃវិធីសាស្រ្តពិជគណិតនៃការ cryptanalysis គឺថាគន្លឹះត្រូវបានរកឃើញជាលទ្ធផលនៃការដោះស្រាយប្រព័ន្ធនៃសមីការពហុនាម។ ការលំបាកចម្បងគឺដើម្បីអាចបង្កើតប្រព័ន្ធសាមញ្ញតាមដែលអាចធ្វើទៅបាន ដោយគិតគូរពីលក្ខណៈនៃ cipher ជាក់លាក់មួយ ដូច្នេះដំណើរការនៃការដោះស្រាយវាត្រូវចំណាយពេលតិចបំផុតតាមដែលអាចធ្វើទៅបាន។ នៅទីនេះតួនាទីសំខាន់ត្រូវបានលេងដោយលក្ខណៈនៃកូដសម្ងាត់នីមួយៗដែលកំពុងត្រូវបានវិភាគ។

វិធីសាស្ត្រពិជគណិតដែលប្រើដោយ Courtois អាចត្រូវបានពិពណ៌នាយ៉ាងខ្លីដូចខាងក្រោម។ នៅដំណាក់កាលទី 1 លក្ខណៈសម្បត្តិបែបនេះនៃ GOST 28147-89 ត្រូវបានប្រើជាអត្ថិភាពនៃចំណុចថេរសម្រាប់ផ្នែកនៃការផ្លាស់ប្តូរការអ៊ិនគ្រីបក៏ដូចជាចំណុចឆ្លុះបញ្ចាំងដែលគេហៅថា។ សូមអរគុណចំពោះលក្ខណៈសម្បត្តិទាំងនេះ គូជាច្រើនត្រូវបានជ្រើសរើសពីចំនួនដ៏ច្រើនគ្រប់គ្រាន់នៃ plaintext-ciphertext pairs ដែលធ្វើឱ្យវាអាចពិចារណាការបំប្លែងបានមិនមែនត្រឹម 32 ទេ ប៉ុន្តែមានតែនៅ 8 ជុំប៉ុណ្ណោះ។ ដំណាក់កាលទី 2 គឺថា ដោយផ្អែកលើលទ្ធផលនៃការបំប្លែងចំនួន 8 ជុំដែលទទួលបាននៅដំណាក់កាលទីមួយ ប្រព័ន្ធនៃសមីការមិនមែនលីនេអ៊ែរត្រូវបានសាងសង់ ដែលក្នុងនោះប៊ីតសំខាន់ៗគឺមិនស្គាល់។ បន្ទាប់មក ប្រព័ន្ធនេះត្រូវបានដោះស្រាយ (នេះស្តាប់ទៅសាមញ្ញ ប៉ុន្តែតាមពិតគឺជាផ្នែកដែលប្រើពេលច្រើនបំផុតនៃវិធីសាស្ត្រ ដោយសារប្រព័ន្ធមានសមីការមិនមែនលីនេអ៊ែរ)។

ដូចដែលបានកត់សម្គាល់ខាងលើគ្មានកន្លែងណានៅក្នុងការងារមានការពិពណ៌នាលំអិតនិងការវិភាគនៃភាពស្មុគស្មាញនៃដំណាក់កាលទីពីរនិងសំខាន់នៃការកំណត់គន្លឹះនោះទេ។ វាគឺជាភាពស្មុគស្មាញនៃដំណាក់កាលទីពីរដែលកំណត់ភាពស្មុគស្មាញនៃវិធីសាស្រ្តទាំងមូលទាំងមូល។ ផ្ទុយទៅវិញ អ្នកនិពន្ធផ្តល់នូវ "ការពិត" ដ៏ល្បីល្បាញ ដោយផ្អែកលើការប៉ាន់ប្រមាណនៃកម្លាំងពលកម្ម។ "ការពិត" ទាំងនេះត្រូវបានគេនិយាយថាផ្អែកលើលទ្ធផលពិសោធន៍។ ការវិភាគនៃ "ការពិត" ពីការងាររបស់ Courtois ទាំងមូលត្រូវបានផ្តល់ឱ្យនៅក្នុងការងាររបស់អ្នកនិពន្ធក្នុងស្រុក។ អ្នកនិពន្ធនៃការងារនេះកត់សម្គាល់ថា "ការពិត" ជាច្រើនរបស់ Courtois បានបង្ហាញដោយគ្មានភស្តុតាងណាមួយត្រូវបានរកឃើញថាមិនពិតកំឡុងពេលធ្វើតេស្តពិសោធន៍។ អ្នកនិពន្ធអត្ថបទបានបន្តទៅមុខទៀត ហើយបន្ទាប់ពី Courtois បានធ្វើការវិភាគអំពីភាពស្មុគស្មាញនៃដំណាក់កាលទីពីរដោយប្រើក្បួនដោះស្រាយ និងការប៉ាន់ប្រមាណដែលបានបង្កើតឡើងយ៉ាងល្អ។ ការប៉ាន់ស្មានភាពស្មុគស្មាញជាលទ្ធផលបង្ហាញពីភាពមិនអាចអនុវត្តបានពេញលេញនៃការវាយប្រហារដែលបានបង្ហាញ។ បន្ថែមពីលើអ្នកនិពន្ធក្នុងស្រុក បញ្ហាធំដែល Courtois មានជាមួយនឹងការវាយតម្លៃ និងយុត្តិកម្មនៃវិធីសាស្រ្តរបស់គាត់ក៏ត្រូវបានកត់សម្គាល់ផងដែរ ឧទាហរណ៍នៅក្នុងការងារ។

វិធីសាស្រ្តឌីផេរ៉ង់ស្យែល

ចូរយើងពិចារណាវិធីសាស្ត្រ Courtois ទីពីរដែលផ្អែកលើការវិភាគគ្រីបឌីផេរ៉ង់ស្យែល។

វិធីសាស្រ្តទូទៅនៃការវិភាគគ្រីបឌីផេរ៉ង់ស្យែលគឺផ្អែកលើការកេងប្រវ័ញ្ចនៃលក្ខណៈសម្បត្តិនៃការគូសផែនទីដែលមិនមែនជាលីនេអ៊ែរដែលប្រើក្នុងបុព្វកាលគ្រីបគ្រីប ដែលទាក់ទងនឹងឥទ្ធិពលនៃតម្លៃគន្លឹះលើភាពអាស្រ័យរវាងភាពខុសគ្នារវាងគូនៃការបញ្ចូល និងគូនៃតម្លៃលទ្ធផលនៃការគូសវាសទាំងនេះ។ . អនុញ្ញាតឱ្យយើងពិពណ៌នាអំពីគំនិតចម្បងនៃវិធីសាស្រ្តឌីផេរ៉ង់ស្យែលនៃការវិភាគគ្រីបគ្រីបនៃប្លុកកូដ។ ជាធម្មតា ប្លុកកូដសម្ងាត់បំប្លែងទិន្នន័យបញ្ចូលជាដំណាក់កាល ដោយប្រើការបំប្លែងរាងមូលមួយចំនួន ហើយការបំប្លែងជុំនីមួយៗមិនប្រើសោទាំងមូលទេ ប៉ុន្តែមានតែផ្នែកខ្លះរបស់វាប៉ុណ្ណោះ។ ចូរយើងពិចារណាអក្សរសម្ងាត់ "កាត់ខ្លី" បន្តិច ដែលខុសពីអក្សរដើម ដែលវាមិនមានជុំចុងក្រោយ។ អនុញ្ញាតឱ្យយើងសន្មតថាវាអាចបង្កើតបានថាការអ៊ិនគ្រីបអត្ថបទធម្មតាពីរដែលខុសគ្នានៅក្នុងទីតាំងថេរមួយចំនួនដោយប្រើអក្សរសម្ងាត់ "កាត់ឱ្យខ្លី" ទំនងជានឹងបណ្តាលឱ្យមានអក្សរសម្ងាត់ដែលខុសគ្នានៅក្នុងទីតាំងថេរមួយចំនួនផងដែរ។ ទ្រព្យសម្បត្តិនេះបង្ហាញថាអក្សរសម្ងាត់ "កាត់ខ្លី" ទំនងជាទុកភាពអាស្រ័យរវាងអត្ថបទធម្មតាមួយចំនួន និងលទ្ធផលនៃការអ៊ិនគ្រីបរបស់ពួកគេ។ ដើម្បីសង្គ្រោះផ្នែកនៃសោដោយប្រើគុណវិបត្តិជាក់ស្តែងនេះ វាចាំបាច់ក្នុងការអាចអ៊ិនគ្រីបអត្ថបទធម្មតាដែលបានជ្រើសរើសជាមុននៅលើសោដែលយើងចង់សង្គ្រោះ (ដែលគេហៅថា "ការវាយប្រហារអត្ថបទធម្មតាដែលបានជ្រើសរើស")។ នៅដើមដំបូងនៃនីតិវិធី "ការបើកសោ" គូនៃអត្ថបទធម្មតាមួយចំនួនត្រូវបានបង្កើតដោយចៃដន្យ ដែលខុសគ្នានៅក្នុងទីតាំងថេរដូចគ្នា។ អត្ថបទទាំងអស់ត្រូវបានអ៊ិនគ្រីបដោយប្រើលេខកូដ "ពេញ" ។ លទ្ធផលគូ ciphertext ត្រូវបានប្រើដើម្បីស្ដារប៊ីតគន្លឹះទាំងនោះ ដែលត្រូវបានប្រើនៅក្នុងការបំប្លែងជុំចុងក្រោយ ដូចខាងក្រោម។ ដោយប្រើតម្លៃដែលបានជ្រើសរើសដោយចៃដន្យមួយចំនួននៃប៊ីតគន្លឹះដែលចង់បាន ការបំលែងបញ្ច្រាសទៅការបំប្លែងជុំចុងក្រោយត្រូវបានអនុវត្តចំពោះអត្ថបទសម្ងាត់ទាំងអស់។ តាមពិតទៅ ប្រសិនបើយើងទាយតម្លៃដែលចង់បានរបស់ key bits យើងនឹងទទួលបានលទ្ធផលនៃអក្សរសម្ងាត់ "កាត់ឱ្យខ្លី" ហើយប្រសិនបើយើងមិនបានទាយទេ យើងពិតជានឹង "encrypt the data កាន់តែច្រើន" ដែលនឹងកាត់បន្ថយតែប៉ុណ្ណោះ។ ការពឹងផ្អែករវាងប្លុកដែលបានកត់សម្គាល់ខាងលើ (ភាពខុសគ្នាគឺនៅក្នុងទីតាំងថេរមួយចំនួន) ។ និយាយម៉្យាងទៀតប្រសិនបើក្នុងចំណោមលទ្ធផលនៃ "ដំណើរការបន្ថែម" នៃ ciphertexts មានគូជាច្រើនដែលខុសគ្នានៅក្នុងមុខតំណែងថេរដែលយើងស្គាល់ នោះមានន័យថាយើងបានទស្សន៍ទាយលេខគន្លឹះដែលត្រូវការ។ បើមិនដូច្នេះទេ គូបែបនេះនឹងមានតិចជាងគួរឱ្យកត់សម្គាល់។ ដោយសារមានតែផ្នែកនៃគ្រាប់ចុចប៉ុណ្ណោះដែលត្រូវបានប្រើក្នុងជុំនីមួយៗ ប៊ីតដែលបានស្វែងរក (នោះគឺប៊ីតគន្លឹះដែលបានប្រើក្នុងជុំចុងក្រោយ) មិនមានច្រើនដូចប៊ីតនៅក្នុងគ្រាប់ចុចពេញលេញទេ ហើយគ្រាន់តែអាចធ្វើឡើងវិញបានដោយធ្វើម្តងទៀតនូវជំហានខាងលើ។ . ក្នុងករណីនេះ យើងប្រាកដជានឹងជំពប់ដួលលើអត្ថន័យត្រឹមត្រូវនៅថ្ងៃណាមួយមិនខាន។

ពីការពិពណ៌នាខាងលើវាដូចខាងក្រោមថាអ្វីដែលសំខាន់បំផុតនៅក្នុងវិធីសាស្រ្តវិភាគឌីផេរ៉ង់ស្យែលគឺលេខនៃមុខតំណែងទាំងនោះនៅក្នុងអត្ថបទធម្មតានិងអក្សរសម្ងាត់ដែលជាភាពខុសគ្នាដែលដើរតួយ៉ាងសំខាន់ក្នុងការស្ដារប៊ីតគន្លឹះ។ វត្តមានជាមូលដ្ឋាននៃមុខតំណែងទាំងនេះ ក៏ដូចជាសំណុំនៃលេខរបស់ពួកគេផ្ទាល់ អាស្រ័យទៅលើលក្ខណៈសម្បត្តិនៃការបំប្លែងដែលមិនមែនជាលីនេអ៊ែរ ដែលត្រូវបានប្រើនៅក្នុងប្លុកណាមួយ (ជាធម្មតា "ភាពមិនស្មើគ្នា" ទាំងអស់ត្រូវបានប្រមូលផ្តុំនៅក្នុងអ្វីដែលគេហៅថា S-boxes ឬ ថ្នាំងជំនួស) ។

Courtois ប្រើកំណែដែលបានកែប្រែបន្តិចនៃវិធីសាស្ត្រឌីផេរ៉ង់ស្យែល។ អនុញ្ញាតឱ្យយើងកត់សម្គាល់ភ្លាមៗថា Courtois ធ្វើការវិភាគរបស់គាត់សម្រាប់ S-boxes ដែលខុសពីបច្ចុប្បន្ន និងពីអ្វីដែលបានស្នើឡើងនៅក្នុង ISO ។ ការងារផ្តល់នូវលក្ខណៈឌីផេរ៉ង់ស្យែល (លេខដែលប្លុកគួរតែខុសគ្នា) សម្រាប់ចំនួនជុំតូច។ យុត្តិកម្មសម្រាប់ការពង្រីកលក្ខណៈសម្រាប់ជុំបន្ថែមទៀតគឺជាធម្មតាដោយផ្អែកលើ "ការពិត" ។ Courtois បង្ហាញជាថ្មីម្តងទៀតដោយគ្មានអ្វីក្រៅពីសិទ្ធិអំណាចរបស់គាត់ ការសន្មត់ដែលមិនគាំទ្រថាការផ្លាស់ប្តូរ S-boxes នឹងមិនប៉ះពាល់ដល់ការតស៊ូរបស់ GOST 28147-89 ប្រឆាំងនឹងការវាយប្រហាររបស់គាត់ (ខណៈពេលដែលសម្រាប់ហេតុផលដែលមិនស្គាល់ ប្រអប់ S ពីសេចក្តីព្រាងការងារទី 1 នៃ ការបន្ថែមទៅលើស្តង់ដារ ISO/IEC 18033-3 មិនត្រូវបានពិចារណាទេ)។ ការវិភាគដែលធ្វើឡើងដោយអ្នកនិពន្ធអត្ថបទបង្ហាញថា ទោះបីជាយើងយក "ការពិត" ដែលគ្មានមូលដ្ឋានរបស់ Courtois លើជំនឿ និងវិភាគ GOST 28147-89 ជាមួយ S-blocks ផ្សេងទៀតក៏ដោយ ការវាយប្រហារម្តងទៀតមិនប្រសើរជាងការស្វែងរកពេញលេញនោះទេ។

ការវិភាគលម្អិតនៃការងាររបស់ Courtois ជាមួយនឹងការបញ្ជាក់លម្អិតនៃភាពគ្មានមូលដ្ឋាននៃសេចក្តីថ្លែងការណ៍ទាំងអស់អំពីការថយចុះនៃភាពធន់នៃស្តង់ដាររុស្ស៊ីត្រូវបានអនុវត្តនៅក្នុងការងារ [,] ។

ទន្ទឹមនឹងនេះដែរ សូម្បីតែ Courtois ខ្លួនឯងក៏ទទួលស្គាល់ការខ្វះខាតទាំងស្រុងនៃភាពត្រឹមត្រូវក្នុងការគណនា! ស្លាយខាងក្រោមត្រូវបានយកចេញពីបទបង្ហាញរបស់ Courtois នៅផ្នែកជូនដំណឹងខ្លីរបស់ FSE 2012។

គួរកត់សំគាល់ថា ការងាររបស់ Courtois ក៏ត្រូវបានអ្នកស្រាវជ្រាវបរទេសរិះគន់ម្តងហើយម្តងទៀតផងដែរ។ ឧទាហរណ៍ ការងាររបស់គាត់លើការបង្កើតការវាយប្រហារលើក្បួនដោះស្រាយការអ៊ិនគ្រីបប្លុក AES ដោយប្រើវិធីសាស្ត្រ XSL មានគុណវិបត្តិជាមូលដ្ឋានដូចគ្នានឹងការងារលើការវិភាគស្តង់ដាររុស្ស៊ី៖ ការប៉ាន់ស្មានអាំងតង់ស៊ីតេកម្លាំងពលកម្មភាគច្រើនបង្ហាញនៅក្នុងអត្ថបទគ្មានមូលដ្ឋានទាំងស្រុង និងមិនមានមូលដ្ឋានច្បាស់លាស់ - លម្អិត ការរិះគន់អាចត្រូវបានរកឃើញឧទាហរណ៍នៅក្នុងការងារ។ លើសពីនេះទៀត Courtois ខ្លួនគាត់ផ្ទាល់បានសារភាពចំពោះការបដិសេធយ៉ាងទូលំទូលាយក្នុងការបោះពុម្ពផ្សាយការងាររបស់គាត់នៅក្នុងសន្និសិទគ្រីបគ្រីបធំ ៗ និងនៅក្នុងទស្សនាវដ្តីដែលបានត្រួតពិនិត្យដោយមិត្តភ័ក្តិដែលជារឿយៗទុកឱ្យគាត់មានឱកាសនិយាយនៅក្នុងផ្នែកប្រកាសខ្លីៗ។ ជាឧទាហរណ៍ អ្នកអាចអានអំពីរឿងនេះនៅក្នុងផ្នែកទី 3 នៃការងារ។ នេះគឺជាសម្រង់ខ្លះពី Courtois ផ្ទាល់ទាក់ទងនឹងការងាររបស់គាត់៖

  • "ខ្ញុំគិតថាទស្សនិកជនរបស់ Asiacrypt នឹងមិនមានអារម្មណ៍ថាវាគួរឱ្យចាប់អារម្មណ៍ទេ" ។ អ្នកពិនិត្យ Asiacrypt 2011 ។
  • “… មានបញ្ហាធំ ធំ ធំ៖ ការវាយប្រហារនេះ ដែលជាការរួមចំណែកសំខាន់នៃក្រដាសត្រូវបានបោះពុម្ពរួចហើយនៅ FSE'11 (វាថែមទាំងជាក្រដាសដ៏ល្អបំផុត) …”។ អ្នកត្រួតពិនិត្យសម្រាប់ Crypto 2011 ។

ដូច្នេះ ផ្នែកដែលមានជំនាញវិជ្ជាជីវៈនៃសហគមន៍គ្រីបគ្រីបអន្តរជាតិចាត់ទុកគុណភាពនៃការងាររបស់ Courtois ដោយមិនមានការសង្ស័យតិចជាងការនិយាយរបស់អ្នកឯកទេសរុស្ស៊ីមួយចំនួនអំពីសមត្ថភាពរបស់ពួកគេក្នុងការបំបែក AES សម្រាប់ 2,100 ដែលមិនត្រូវបានបញ្ជាក់ដោយការគណនាជាប់លាប់ណាមួយ ឬ "ភស្តុតាង" ចុងក្រោយបង្អស់នៃសម្មតិកម្មពីរទំព័រស្តីពីវិសមភាពនៃថ្នាក់ស្មុគស្មាញ P និង NP ។

ការវាយប្រហារដោយ Isobe និង Dinur-Dankelman-Shamir

គំនិតទូទៅនៃការវាយប្រហារ Isobe () និង Dinur-Dankelman-Shamir (តទៅនេះ៖ ការវាយប្រហារ DDS) () គឺដើម្បីបង្កើតសម្រាប់សំណុំអត្ថបទតូចចង្អៀតជាក់លាក់មួយ (ការពឹងផ្អែកលើគន្លឹះ) ការផ្លាស់ប្តូរសមមូលនៅលើសំណុំនេះ ដែលមាន រចនាសម្ព័ន្ធសាមញ្ញជាងការបំប្លែងការអ៊ិនគ្រីបខ្លួនឯង។ នៅក្នុងករណីនៃវិធីសាស្ត្រ Isobe នេះគឺជាសំណុំនៃប្លុក 64 ប៊ីត x ដូចជា F 8 -1 (Swap(F 8 (z)))) = z ដែល z = F 16 (x) តាមរយៈ F 8 ( x) និង F 16 ( x) បង្ហាញពី 8 និង 16 ជុំដំបូងនៃការអ៊ិនគ្រីប GOST 28147-89 រៀងគ្នាតាមរយៈ Swap - ប្រតិបត្តិការនៃការផ្លាស់ប្តូរពាក់កណ្តាលនៃពាក្យ 64 បៃ។ ប្រសិនបើអត្ថបទធម្មតាត្រូវបានរួមបញ្ចូលនៅក្នុងសំណុំនេះ លទ្ធផលនៃការផ្លាស់ប្តូរពេញ 32 ជុំនៃ GOST 28147-89 ស្របគ្នាជាមួយនឹងលទ្ធផលនៃ 16 ជុំដែលជាអ្វីដែលអ្នកនិពន្ធនៃការវាយប្រហារកេងប្រវ័ញ្ច។ នៅក្នុងករណីនៃវិធីសាស្រ្ត DDS នេះគឺជាសំណុំនៃ x ដូចជា F 8 (x) = x (ចំណុចថេរនៃការផ្លាស់ប្តូរ F 8) ។ សម្រាប់អត្ថបទធម្មតាណាមួយពីសំណុំនេះ ការបំប្លែង GOST 28147-89 ដំណើរការដូចគ្នាទៅនឹង 8 ជុំចុងក្រោយរបស់វា ដែលជួយសម្រួលការវិភាគ។

ភាពស្មុគស្មាញនៃការវាយប្រហារ Isobe គឺ 2,224 ប្រតិបត្តិការអ៊ិនគ្រីប ការវាយប្រហារ DDS គឺ 2,192 ។ ទោះជាយ៉ាងណាក៏ដោយ សំណួរទាំងអស់អំពីថាតើការវាយប្រហារ Isobe និង DDS ណែនាំការរឹតបន្តឹងថ្មីលើលក្ខខណ្ឌសម្រាប់ការប្រើប្រាស់ក្បួនដោះស្រាយរបស់យើងត្រូវបានដកចេញដោយវាយតម្លៃតម្រូវការសម្រាប់បរិមាណសម្ភារៈដែលត្រូវការដើម្បីអនុវត្តការវាយប្រហារនីមួយៗ៖ វិធីសាស្ត្រ Isobe ត្រូវការ 2 32 គូនៃអត្ថបទធម្មតា និងលេខសម្ងាត់ និងសម្រាប់វិធីសាស្ត្រ DDS - 2 64 ។ ដំណើរការបរិមាណនៃសម្ភារៈបែបនេះដោយគ្មានការផ្លាស់ប្តូរគន្លឹះគឺជាអាទិភាពដែលមិនអាចទទួលយកបានសម្រាប់ប្លុកណាមួយដែលមានប្រវែងប្លុក 64: នៅលើសម្ភារៈនៃភាគ 2 32 ដោយគិតគូរពីបញ្ហានៃថ្ងៃកំណើត (សូមមើលឧទាហរណ៍) ប្រូបាប៊ីលីតេនៃការកើតឡើង នៃប្លុកដដែលៗគឺនៅជិត 1/2 ដែលនឹងផ្តល់ឱ្យអ្នកវាយប្រហារអាចធ្វើការសន្និដ្ឋានជាក់លាក់អំពីអត្ថបទធម្មតាពី ciphertexts ដោយមិនកំណត់គន្លឹះ។ វត្តមានរបស់ 2 64 គូនៃអត្ថបទធម្មតា និងអ៊ិនគ្រីបដែលទទួលបាននៅលើសោមួយពិតជាអនុញ្ញាតឱ្យសត្រូវអនុវត្តប្រតិបត្តិការអ៊ិនគ្រីប និងការឌិគ្រីបដោយមិនស្គាល់សោនេះទាល់តែសោះ។ នេះគឺដោយសារតែទ្រព្យសម្បត្តិរួមបញ្ចូលគ្នាសុទ្ធសាធ៖ សត្រូវក្នុងករណីនេះមានតារាងបំប្លែងការអ៊ិនគ្រីបទាំងមូល។ ស្ថានភាពនេះគឺពិតជាមិនអាចទទួលយកបាននៅក្រោមលក្ខខណ្ឌប្រតិបត្តិការសមហេតុផលណាមួយ។ ឧទាហរណ៍នៅក្នុង CryptoPro CSP មានដែនកំណត់បច្ចេកទេសលើបរិមាណនៃសម្ភារៈដែលបានអ៊ិនគ្រីប (ដោយគ្មានការបំប្លែងសោ) នៃ 4 MB (សូមមើល) ។ ដូច្នេះ ការហាមប្រាមយ៉ាងតឹងរ៉ឹងលើការប្រើប្រាស់គ្រាប់ចុចលើសម្ភារៈនៃបរិមាណនេះគឺមាននៅក្នុងប្លុកណាមួយដែលមានប្រវែងប្លុក 64 ប៊ីត ដូច្នេះហើយ ការវាយប្រហារ Isobe និង DDS ដោយមិនធ្វើឱ្យវិសាលភាពនៃការប្រើប្រាស់ក្បួនដោះស្រាយ GOST 28147-89 តូចចង្អៀតនោះទេ។ ខណៈពេលដែលរក្សាបាននូវកម្លាំងអតិបរមាដែលអាចធ្វើបានគឺ 2,256 ។

ជាការពិតណាស់វាគួរតែត្រូវបានកត់សម្គាល់ថាអ្នកស្រាវជ្រាវ (Isobe និង Dinur-Dankelman-Shamir) បានបង្ហាញថាលក្ខណៈសម្បត្តិមួយចំនួននៃក្បួនដោះស្រាយ GOST 28147-89 ធ្វើឱ្យវាអាចស្វែងរកផ្លូវវិភាគដែលមិនត្រូវបានយកមកពិចារណាដោយអ្នកបង្កើតក្បួនដោះស្រាយ។ ទម្រង់សាមញ្ញនៃកាលវិភាគគន្លឹះ ដែលជួយសម្រួលយ៉ាងសំខាន់នូវកិច្ចការក្នុងការសាងសង់ការអនុវត្តប្រកបដោយប្រសិទ្ធភាព ក៏អនុញ្ញាតឱ្យមានករណីកម្រមួយចំនួននៃសោ និងអត្ថបទធម្មតាដើម្បីបង្កើតការពិពណ៌នាដ៏សាមញ្ញនៃការផ្លាស់ប្តូរដែលផលិតដោយក្បួនដោះស្រាយ។

ការងារនេះបង្ហាញថាទ្រព្យសម្បត្តិអវិជ្ជមាននៃក្បួនដោះស្រាយនេះអាចត្រូវបានលុបចោលយ៉ាងងាយស្រួលជាមួយនឹងការរក្សាទុកពេញលេញនៃលក្ខណៈប្រតិបត្តិការ ប៉ុន្តែជាអកុសលវាគឺជាផ្នែកសំខាន់មួយនៃក្បួនដោះស្រាយនៅក្នុងទម្រង់ដែលប្រើជាទូទៅរបស់វា។

ចំណាំថាការធ្វេសប្រហែសជាក់លាក់នៅក្នុងការប៉ាន់ស្មាននៃអាំងតង់ស៊ីតេពលកម្មជាមធ្យមក៏មានវត្តមាននៅក្នុងការងាររបស់ Dinur, Dunkelman និង Shamir ផងដែរ។ ដូច្នេះនៅពេលបង្កើតការវាយប្រហារ ការយកចិត្តទុកដាក់លើចំណុចខាងក្រោមមិនត្រូវបានបង់ទេ៖ សម្រាប់សមាមាត្រដ៏សំខាន់នៃគ្រាប់ចុច សំណុំនៃអត្ថបទធម្មតា x ដូចជា F 8 (x) = x គឺទទេ៖ ប្រហែលជាមិនមានចំណុចថេរទេ។ សម្រាប់ 8 ជុំនៃការផ្លាស់ប្តូរ។ អត្ថិភាពនៃចំណុចថេរក៏អាស្រ័យលើជម្រើសនៃថ្នាំងជំនួស។ ដូច្នេះ ការវាយប្រហារអាចអនុវត្តបានសម្រាប់តែថ្នាំងជំនួស និងគ្រាប់ចុចមួយចំនួនប៉ុណ្ណោះ។

វាក៏មានតម្លៃផងដែរក្នុងការនិយាយអំពីការងារមួយទៀតជាមួយនឹងការវាយប្រហារលើ GOST 28147-89 ។ នៅខែកុម្ភៈ ឆ្នាំ 2012 កំណែអាប់ដេតនៃអត្ថបទ (ចុះកាលបរិច្ឆេទខែវិច្ឆិកា ឆ្នាំ 2011) បានបង្ហាញខ្លួននៅលើបណ្ណសារអេឡិចត្រូនិច ePrint នៃសមាគមគ្រីបគ្រីបអន្តរជាតិ ដែលមានការវាយប្រហារថ្មីលើ GOST 28147-89 ។ លក្ខណៈនៃការវាយប្រហារដែលបានបង្ហាញមានដូចខាងក្រោម៖ បរិមាណនៃសម្ភារៈគឺ 2 32 (ដូចជា Isobe) ហើយអាំងតង់ស៊ីតេពលកម្មគឺ 2 192 (ដូចជា DDS) ។ ដូច្នេះ ការវាយប្រហារនេះបានធ្វើឱ្យប្រសើរឡើងនូវការវាយប្រហារ DDS កំណត់ត្រាពេលវេលានៅក្នុងលក្ខខណ្ឌនៃបរិមាណសម្ភារៈពី 2 64 ដល់ 2 32 ។ យើងកត់សំគាល់ដាច់ដោយឡែកថាអ្នកនិពន្ធបានបង្ហាញការគណនាទាំងអស់ដោយស្មោះត្រង់ជាមួយនឹងយុត្តិកម្មសម្រាប់ភាពស្មុគស្មាញនិងបរិមាណនៃសម្ភារៈ។ បន្ទាប់ពី 9 ខែ កំហុសជាមូលដ្ឋានមួយត្រូវបានរកឃើញនៅក្នុងការគណនាខាងលើ ហើយចាប់តាំងពីខែវិច្ឆិកា ឆ្នាំ 2012 កំណែដែលបានធ្វើបច្ចុប្បន្នភាពនៃអត្ថបទនៅក្នុងបណ្ណសារអេឡិចត្រូនិចលែងមានលទ្ធផលណាមួយទាក់ទងនឹងក្បួនដោះស្រាយក្នុងស្រុកទៀតហើយ។

ការវាយប្រហារសន្មត់ថាអ្នកវាយប្រហារដឹងពី "អ្វីមួយ" អំពីសោ

ជាចុងក្រោយអនុញ្ញាតឱ្យយើងកត់សម្គាល់ថានៅក្នុងអក្សរសិល្ប៍ក៏មានស្នាដៃមួយចំនួនផងដែរ (សូមមើលឧទាហរណ៍និង ) ឧទ្ទិសដល់ការវាយប្រហារលើ GOST 28147-89 នៅក្នុងអ្វីដែលគេហៅថាគំរូគន្លឹះដែលបានភ្ជាប់។ គំរូនេះជាមូលដ្ឋានសន្មត់ថាអ្នកវាយប្រហារអាចចូលប្រើសម្រាប់ការវិភាគមិនត្រឹមតែជាគូនៃអត្ថបទបើកចំហ និងអ៊ិនគ្រីបដោយប្រើសោដែលចង់បានប៉ុណ្ណោះទេ ប៉ុន្តែក៏មានគូនៃអត្ថបទបើកចំហ និងអ៊ិនគ្រីបដែលទទួលបានដោយប្រើសោ (មិនស្គាល់ផងដែរ) ដែលខុសពីអ្វីដែលចង់បាន។ ដោយវិធីធម្មតាដែលគេស្គាល់ (ឧទាហរណ៍នៅក្នុងទីតាំងប៊ីតថេរ) ។ នៅក្នុងគំរូនេះវាពិតជាអាចទៅរួចដើម្បីទទួលបានលទ្ធផលគួរឱ្យចាប់អារម្មណ៍អំពី GOST 28147-89 ប៉ុន្តែនៅក្នុងគំរូនេះវាអាចទៅរួចដើម្បីទទួលបានលទ្ធផលមិនតិចជាងឧទាហរណ៍ស្តង់ដារ AES ដែលត្រូវបានគេប្រើយ៉ាងទូលំទូលាយបំផុតនៅក្នុងបណ្តាញសាធារណៈទំនើប ( សូមមើលឧទាហរណ៍) ។ ចំណាំថាលក្ខខណ្ឌសម្រាប់អនុវត្តការវាយប្រហារប្រភេទនេះកើតឡើងនៅពេលប្រើលេខកូដសម្ងាត់នៅក្នុងពិធីការជាក់លាក់មួយ។ វាគួរតែត្រូវបានកត់សម្គាល់ថាលទ្ធផលនៃប្រភេទនេះទោះបីជាពួកគេមានចំណាប់អារម្មណ៍សិក្សាដោយមិនសង្ស័យពីទស្សនៈនៃការសិក្សាអំពីលក្ខណៈសម្បត្តិនៃការបំលែងគ្រីបក៏ដោយតាមពិតមិនទាក់ទងនឹងការអនុវត្តទេ។ ឧទាហរណ៍ ឧបករណ៍ការពារព័ត៌មានគ្រីបទាំងអស់ដែលត្រូវបានបញ្ជាក់ដោយ FSB នៃប្រទេសរុស្ស៊ី បំពេញតាមតម្រូវការដ៏តឹងរឹងបំផុតសម្រាប់គម្រោងបង្កើតកូនសោរអ៊ិនគ្រីប (សូមមើលឧទាហរណ៍)។ ដូចដែលបានបង្ហាញនៅក្នុងលទ្ធផលនៃការវិភាគប្រសិនបើមានកូនសោដែលជាប់ទាក់ទងចំនួន 18 និង 2 10 គូនៃប្លុកអត្ថបទធម្មតា និងអក្សរសម្ងាត់ ភាពស្មុគស្មាញនៃការបើកសោឯកជនទាំងស្រុងជាមួយនឹងប្រូបាប៊ីលីតេនៃភាពជោគជ័យនៃ 1-10 -4 គឺពិតជា 2 26 ។ . ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើតម្រូវការដែលបានរៀបរាប់ខាងលើសម្រាប់ការអភិវឌ្ឍន៍សម្ភារៈសំខាន់ៗត្រូវបានបំពេញ ប្រូបាប៊ីលីតេនៃការស្វែងរកសោបែបនេះគឺ 2 -4352 ពោលគឺ 24096 ដងតិចជាងប្រសិនបើអ្នកគ្រាន់តែព្យាយាមទាយគន្លឹះសម្ងាត់នៅពេលសាកល្បងលើកដំបូង។

ការងារដែលទាក់ទងនឹងម៉ូដែលដែលមានកូនសោរភ្ជាប់ក៏រួមបញ្ចូលផងដែរនូវការងារដែលក្នុងឆ្នាំ 2010 បណ្តាលឱ្យមានសំលេងរំខានជាច្រើននៅក្នុងការបោះពុម្ពផ្សាយអេឡិចត្រូនិករបស់រុស្ស៊ីដែលមិនទទួលរងនូវទម្លាប់នៃការត្រួតពិនិត្យដោយប្រុងប្រយ័ត្ននូវសម្ភារៈក្នុងការប្រណាំងសម្រាប់អារម្មណ៍។ លទ្ធផលដែលបានបង្ហាញនៅក្នុងវាមិនត្រូវបានគាំទ្រដោយយុត្តិកម្មដ៏តឹងរឹងណាមួយឡើយ ប៉ុន្តែមានសេចក្តីថ្លែងការណ៍ខ្លាំងអំពីសមត្ថភាពក្នុងការ hack ស្តង់ដាររដ្ឋនៃសហព័ន្ធរុស្ស៊ីនៅលើកុំព្យូទ័រយួរដៃខ្សោយក្នុងរយៈពេលតែប៉ុន្មានវិនាទីប៉ុណ្ណោះ - ជាទូទៅ អត្ថបទត្រូវបានសរសេរតាមប្រពៃណីល្អបំផុត។ របស់ Nicolas Courtois ។ ប៉ុន្តែទោះបីជាមានការគ្មានមូលដ្ឋានច្បាស់លាស់នៃអត្ថបទចំពោះអ្នកអានដែលស្គាល់ច្រើន ឬតិចជាមួយនឹងគោលការណ៍ជាមូលដ្ឋាននៃការបោះពុម្ពផ្សាយវិទ្យាសាស្ត្រក៏ដោយ វាជាការច្បាស់លាស់ក្នុងការធានាដល់សាធារណជនរុស្ស៊ីឡើងវិញបន្ទាប់ពីការងារដែល Rudsky បានសរសេរអត្ថបទលម្អិត និងហ្មត់ចត់ដែលមានការវិភាគយ៉ាងទូលំទូលាយ។ នៃកង្វះខាតនេះ។ អត្ថបទដែលមានចំណងជើងពន្យល់ដោយខ្លួនឯង "លើសារៈសំខាន់ជាក់ស្តែងសូន្យនៃការងារ "ការវាយប្រហារនៃការស្តារឡើងវិញលើលេខកូដសម្ងាត់ GOST ពេញលេញជាមួយនឹងពេលវេលានិងការចងចាំសូន្យ"" ផ្តល់នូវយុត្តិកម្មថាភាពស្មុគស្មាញជាមធ្យមនៃវិធីសាស្រ្តដែលបានផ្តល់ឱ្យគឺមិនតិចជាងភាពស្មុគស្មាញនោះទេ។ នៃការស្វែងរកពេញលេញ។

សំណល់ស្ងួត៖ តើអ្វីជាភាពធន់ក្នុងការអនុវត្ត?

សរុបសេចក្តីមក យើងបង្ហាញតារាងដែលមានទិន្នន័យលើលទ្ធផលទាំងអស់នៃការវាយប្រហារដែលបានពិពណ៌នាយ៉ាងតឹងរ៉ឹង និងត្រឹមត្រូវលើ GOST 28147-89 ដែលស្គាល់ដោយសហគមន៍គ្រីបគ្រីបអន្តរជាតិ។ ចំណាំថាភាពស្មុគស្មាញត្រូវបានផ្តល់ឱ្យនៅក្នុងប្រតិបត្តិការអ៊ិនគ្រីបនៃក្បួនដោះស្រាយ GOST 28147-89 ហើយអង្គចងចាំនិងសម្ភារៈត្រូវបានចង្អុលបង្ហាញនៅក្នុងប្លុកក្បួនដោះស្រាយ (64 ប៊ីត = 8 បៃ) ។

ការវាយប្រហារ កម្លាំងពលកម្ម ការចងចាំ សម្ភារៈដែលត្រូវការ
អ៊ីសូបេ 2 224 2 64 2 32
Dinur-Dankelman-Shamir, FP, 2DMitM 2 192 2 36 2 64
Dinur-Dankelman-Shamir, FP, អង្គចងចាំទាប 2 204 2 19 2 64
2 224 2 36 2 32
Dinur-Dankelman-Shamir, ការឆ្លុះបញ្ចាំង, 2DMitM 2 236 2 19 2 32
ការស្វែងរកពេញលេញ 2 256 1 4
ចំនួន nanoseconds ចាប់តាំងពីការបង្កើតសកលលោក 2 89

ទោះបីជាមានវដ្តនៃការស្រាវជ្រាវទ្រង់ទ្រាយធំមួយក្នុងវិស័យធន់ទ្រាំនៃក្បួនដោះស្រាយ GOST 28147-89 ក៏ដោយ នៅពេលនេះមិនទាន់មានការវាយប្រហារតែមួយដែលគេស្គាល់នោះទេ លក្ខខណ្ឌសម្រាប់ការអនុវត្តដែលនឹងអាចសម្រេចបានជាមួយនឹងតម្រូវការប្រតិបត្តិការសម្រាប់ ប្រវែងប្លុក 64 ប៊ីត។ ការរឹតបន្តឹងលើបរិមាណនៃសម្ភារៈដែលអាចត្រូវបានដំណើរការលើគន្លឹះមួយដែលទទួលបានពីប៉ារ៉ាម៉ែត្រនៃកូដសម្ងាត់ (ប្រវែងប៊ីតគន្លឹះ ប្រវែងប៊ីត) គឺមានភាពតឹងរ៉ឹងជាងបរិមាណអប្បបរមាដែលត្រូវការដើម្បីអនុវត្តការវាយប្រហារដែលគេស្គាល់បច្ចុប្បន្ន។ ហេតុដូច្នេះហើយ នៅពេលបំពេញតម្រូវការប្រតិបត្តិការដែលមានស្រាប់ គ្មានវិធីសាស្ត្រគ្រីបគ្រីបដែលបានស្នើឡើងដល់កាលបរិច្ឆេទ GOST 28147-89 អនុញ្ញាតឱ្យកំណត់កូនសោដែលមានកម្លាំងពលកម្មតិចជាងការស្វែងរកពេញលេញនោះទេ។

នៅក្នុងប្រទេសរបស់យើង ក្បួនដោះស្រាយបង្រួបបង្រួមសម្រាប់ការតំណាងឱ្យការគ្រីបទិន្នន័យត្រូវបានបង្កើតឡើងសម្រាប់ប្រព័ន្ធដំណើរការព័ត៌មាននៅក្នុងបណ្តាញកុំព្យូទ័រ ប្រព័ន្ធកុំព្យូទ័រនីមួយៗ និងកុំព្យូទ័រដែលត្រូវបានកំណត់ GOST 28147-89.

ក្បួនដោះស្រាយការបំប្លែងទិន្នន័យគ្រីបគ្រីបនេះគឺជាក្បួនដោះស្រាយប្លុក 64 ប៊ីតដែលមានសោ 256 ប៊ីត ដែលត្រូវបានរចនាឡើងសម្រាប់ការអនុវត្តផ្នែករឹង និងសូហ្វវែរ បំពេញតាមតម្រូវការគ្រីបគ្រីប និងមិនដាក់កម្រិតលើកម្រិតនៃការសម្ងាត់នៃព័ត៌មានដែលបានការពារនោះទេ។

នៅពេលពិពណ៌នាអំពីក្បួនដោះស្រាយ សញ្ញាណខាងក្រោមត្រូវបានប្រើ៖

L និង R - លំដាប់ប៊ីត;
LR គឺ​ជា​ការ​ភ្ជាប់​នៃ​លំដាប់ L និង R ដែល​ប៊ីត​នៃ​លំដាប់ R ធ្វើតាម​ប៊ីត​នៃ​លំដាប់ L;
(+) - ម៉ូឌុលបន្ថែមប៊ីត ២ (ប្រតិបត្តិការ "ឬ" ផ្តាច់មុខ);
[+] - ការបន្ថែមលេខ ៣២ ប៊ីត ម៉ូឌុល ២ ៣២;
(+) - ការបន្ថែមលេខ ៣២ ប៊ីត ម៉ូឌុល ២ ៣២ -១ ។

លេខ​ត្រូវ​បាន​បូក​តាម​ក្បួន​ដូច​ខាង​ក្រោម៖

A [+] B = A + B បើ A + B< 2 32 ,
A [+] B = A + B − 2 32 ប្រសិនបើ A + B >= 2 32 . A (+) B = A + B ប្រសិនបើ A + B< 2^32 - 1, A {+} B = A + B - (2^32 - 1), если A + B >= 2^32 - 1.

ក្បួនដោះស្រាយផ្តល់នូវរបៀបប្រតិបត្តិការចំនួនបួន៖

ក្នុងករណីណាក៏ដោយ គ្រាប់ចុច 256 ប៊ីត K ត្រូវបានប្រើដើម្បីអ៊ិនគ្រីបទិន្នន័យ ដែលត្រូវបានតំណាងថាជាកូនសោរង 32 ប៊ីតចំនួនប្រាំបី K i៖

K = K 7 K 6 K 5 K 4 K 3 K 2 K 1 K 0 ។

ការឌិគ្រីបត្រូវបានអនុវត្តដោយប្រើសោដូចគ្នានឹងការអ៊ិនគ្រីបដែរ ប៉ុន្តែដំណើរការគឺបញ្ច្រាសនៃដំណើរការអ៊ិនគ្រីបទិន្នន័យ។

របៀបជំនួសងាយស្រួល

របៀបដំបូងនិងងាយស្រួលបំផុតគឺ ការជំនួស. ទិន្នន័យដែលត្រូវអ៊ិនគ្រីបត្រូវបានបែងចែកទៅជាប្លុក 64 ប៊ីត។ នីតិវិធីនៃការអ៊ិនគ្រីបសម្រាប់ប្លុកនៃទិន្នន័យបើកចំហ T 0 រួមមាន 32 វដ្ត (j=1...32) ។

ប្លុក T 0 ត្រូវបានបែងចែកជាពីរលំដាប់នៃ 32 ប៊ីត៖ B(0)A(0) ដែល B(0) ជាប៊ីតខាងឆ្វេង ឬលំដាប់ខ្ពស់ A(0) គឺជាប៊ីតស្តាំ ឬលំដាប់ទាប។

លំដាប់ទាំងនេះត្រូវបានបញ្ចូលទៅក្នុង drive N 1 និង N 2 មុនពេលចាប់ផ្តើមនៃវដ្តនៃការអ៊ិនគ្រីបដំបូង។

វដ្តទីមួយ (j=1) នៃនីតិវិធីអ៊ិនគ្រីបសម្រាប់ប្លុកទិន្នន័យ 64 ប៊ីតត្រូវបានពិពណ៌នាដោយរូបមន្តខាងក្រោម៖

នៅទីនេះខ្ញុំបង្ហាញពីលេខដដែលៗ (i = 1, 2, ..., 32)។

មុខងារ f ត្រូវបានគេហៅថា មុខងារអ៊ិនគ្រីប។ អាគុយម៉ង់របស់វាគឺ ផលបូក ម៉ូឌុល 2 នៃ 32 លេខ A(i) ដែលទទួលបាននៅជំហានដដែលៗពីមុន និងលេខគន្លឹះ X(j) (វិមាត្រនៃលេខនីមួយៗនេះគឺ 32 ខ្ទង់)។

មុខងារអ៊ិនគ្រីបពាក់ព័ន្ធនឹងប្រតិបត្តិការពីរលើផលបូក 32 ប៊ីត។ ប្រតិបត្តិការដំបូងត្រូវបានគេហៅថា ការជំនួស K ប្លុកជំនួស K មាន 8 ថ្នាំងជំនួស K(1) ... K(8) ដែលមានអង្គចងចាំ 64 ប៊ីតនីមួយៗ។ វ៉ិចទ័រ 32 ប៊ីតដែលមកដល់ប្លុកជំនួសត្រូវបានបែងចែកជា 8 វ៉ិចទ័រ 4 ប៊ីតជាបន្តបន្ទាប់ ដែលនីមួយៗត្រូវបានបំប្លែងទៅជាវ៉ិចទ័រ 4 ប៊ីតដោយថ្នាំងជំនួសដែលត្រូវគ្នា ដែលជាតារាងនៃចំនួនគត់ 16 ក្នុងជួរ 0.. .១៥.

វ៉ិចទ័រ​បញ្ចូល​បញ្ជាក់​អាសយដ្ឋាន​ជួរ​ដេក​ក្នុង​តារាង ជា​លេខ​ដែល​ជា​វ៉ិចទ័រ​លទ្ធផល។ បន្ទាប់មកវ៉ិចទ័រលទ្ធផល 4 ប៊ីតត្រូវបានភ្ជាប់ជាបន្តបន្ទាប់ទៅជាវ៉ិចទ័រ 32 ប៊ីត។ តារាងប្លុកជំនួស K មានធាតុសំខាន់ៗដែលជារឿងធម្មតាសម្រាប់បណ្តាញកុំព្យូទ័រ ហើយកម្រនឹងផ្លាស់ប្តូរ។

ប្រតិបត្តិការទីពីរគឺជាការផ្លាស់ប្តូររង្វិលទៅខាងឆ្វេងនៃវ៉ិចទ័រ 32 ប៊ីតដែលទទួលបានជាលទ្ធផលនៃការជំនួស K. ប្លុក 64 ប៊ីតនៃទិន្នន័យដែលបានអ៊ិនគ្រីប T sh ត្រូវបានតំណាងថា T sh = A (32) B (32) ។

ប្លុកដែលនៅសេសសល់នៃទិន្នន័យបើកចំហនៅក្នុងរបៀបជំនួសសាមញ្ញត្រូវបានអ៊ិនគ្រីបតាមរបៀបដូចគ្នា។

សូមចំណាំថា របៀបជំនួសសាមញ្ញអាចប្រើដើម្បីអ៊ិនគ្រីបទិន្នន័យក្នុងករណីមានកំណត់ប៉ុណ្ណោះ។ ករណីទាំងនេះរួមមានការបង្កើតសោ និងការអ៊ិនគ្រីបវាជាមួយនឹងការផ្តល់ការការពារក្លែងក្លាយ (ការការពារប្រឆាំងនឹងការដាក់ទិន្នន័យមិនពិត) សម្រាប់ការបញ្ជូនតាមបណ្តាញទំនាក់ទំនង ឬការផ្ទុកនៅក្នុងអង្គចងចាំកុំព្យូទ័រ។

របៀបហ្គាម៉ា

ទិន្នន័យបើកចំហដែលបែងចែកជាប្លុក 64 ប៊ីត T(i) (i=1, 2, ..., m, ដែល m ត្រូវបានកំណត់ដោយបរិមាណនៃទិន្នន័យដែលបានអ៊ិនគ្រីប) ត្រូវបានអ៊ិនគ្រីបក្នុងរបៀបហ្គាម៉ាដោយម៉ូឌុលបន្ថែមប៊ីត 2 ជាមួយ gamma cipher Гш ដែលត្រូវបានផលិតជាប្លុក 64 ប៊ីត នោះគឺ Гш = (Г(1), Г(2),...,Г(i),...,Г(m))។

សមីការអ៊ិនគ្រីបទិន្នន័យនៅក្នុងរបៀបហ្គាម៉ាអាចត្រូវបានបង្ហាញដូចខាងក្រោម៖

Ш(i) = A (Y(i-1) [+] C2, Z(i-1) (+) C1) (+) T(i) = Г(i) (+) T(i) ។
នៅទីនេះ Ш(i) គឺជាប្លុក 64 ប៊ីតនៃអក្សរសម្ងាត់
ក - មុខងារអ៊ិនគ្រីបក្នុងរបៀបជំនួសសាមញ្ញ (អាគុយម៉ង់នៃមុខងារនេះគឺជាលេខ 32 ប៊ីតពីរ)
C1 និង C2 គឺជាថេរដែលបានបញ្ជាក់នៅក្នុង GOST 28147-89,
Y(i) និង Z(i) គឺជាបរិមាណដែលត្រូវបានកំណត់ម្តងហើយម្តងទៀត ដោយសារហ្គាម៉ាត្រូវបានបង្កើតឡើងដូចខាងក្រោម៖
(Y(0), Z(0)) = A(S) ដែល S ជាលំដាប់គោលពីរ 64 ប៊ីត (សារសមកាលកម្ម);
(Y(i), Z(i)) = (Y(i-1) [+] C2, Z(i-1) (+) C1) សម្រាប់ i = 1, 2, ...,m ។

ការឌិគ្រីបទិន្នន័យគឺអាចធ្វើទៅបានលុះត្រាតែមានសារធ្វើសមកាលកម្ម ដែលមិនមែនជាធាតុសម្ងាត់នៃសារសម្ងាត់ ហើយអាចរក្សាទុកក្នុងអង្គចងចាំកុំព្យូទ័រ ឬបញ្ជូនតាមបណ្តាញទំនាក់ទំនង រួមជាមួយនឹងទិន្នន័យដែលបានអ៊ិនគ្រីប។

របៀបហ្គាម៉ាជាមួយមតិកែលម្អ

របៀប ការលេងហ្គេមជាមួយនឹងមតិកែលម្អគឺស្រដៀងទៅនឹងរបៀបហ្គាម៉ា។ ដូចនៅក្នុងរបៀបហ្គាម៉ា ទិន្នន័យបើកចំហដែលបែងចែកជាប្លុក 64 ប៊ីត T(i) (i=1, 2,..., m, ដែល m ត្រូវបានកំណត់ដោយបរិមាណនៃទិន្នន័យដែលបានអ៊ិនគ្រីប) ត្រូវបានអ៊ិនគ្រីបដោយម៉ូឌុលបន្ថែមប៊ីត។ 2 ជាមួយ gamma cipher G sh ដែលត្រូវបានផលិតជាប្លុក 64 ប៊ីត៖

G w = (G(1),G(2),...,G(i),...,G(m))។

ចំនួនលេខគោលពីរនៅក្នុងប្លុក T(m) អាចតិចជាង 64 ខណៈពេលដែលផ្នែកនៃ cipher gamut មិនត្រូវបានប្រើសម្រាប់ការអ៊ិនគ្រីបពីប្លុក G(m) ត្រូវបានលុបចោល។

សមីការអ៊ិនគ្រីបទិន្នន័យនៅក្នុងរបៀបហ្គាម៉ារង្វិលជុំបិទអាចត្រូវបានបង្ហាញដូចខាងក្រោម៖


នៅទីនេះ Ш(i) គឺជាប្លុក 64 ប៊ីតនៃអក្សរសម្ងាត់
ក - មុខងារអ៊ិនគ្រីបក្នុងរបៀបជំនួសសាមញ្ញ។ អាគុយម៉ង់មុខងារនៅជំហានដំបូងនៃក្បួនដោះស្រាយដដែលៗគឺជាសារធ្វើសមកាលកម្ម 64 ប៊ីត ហើយនៅគ្រប់ជំហានបន្តបន្ទាប់វាគឺជាប្លុកមុននៃទិន្នន័យដែលបានអ៊ិនគ្រីប Ш(i-1)។

ការអភិវឌ្ឍន៍នៃការបញ្ចូលក្លែងក្លាយ

ដំណើរការផលិត imitovstakiគឺឯកសណ្ឋានសម្រាប់របៀបអ៊ិនគ្រីបទិន្នន័យណាមួយ។

ការបញ្ចូលការក្លែងបន្លំគឺជាប្លុកនៃ p ប៊ីត (ការបញ្ចូលការក្លែងបន្លំ Ir) ដែលត្រូវបានបង្កើតមុនពេលអ៊ិនគ្រីបសារទាំងមូល ឬស្របជាមួយនឹងការអ៊ិនគ្រីបប្លុកដោយប្លុក។ ប្លុកដំបូងនៃទិន្នន័យបើកចំហដែលចូលរួមក្នុងការបង្កើតការបញ្ចូលត្រាប់តាមអាចមានព័ត៌មានសេវាកម្ម (ឧទាហរណ៍ ផ្នែកអាសយដ្ឋាន ពេលវេលា សារការធ្វើសមកាលកម្ម) និងមិនត្រូវបានអ៊ិនគ្រីបទេ។ តម្លៃនៃប៉ារ៉ាម៉ែត្រ p (ចំនួនប៊ីតគោលពីរនៅក្នុងការបញ្ចូលការក្លែងធ្វើ) ត្រូវបានកំណត់ដោយតម្រូវការគ្រីបគ្រីបដោយគិតគូរពីការពិតដែលថាប្រូបាប៊ីលីតេនៃការដាក់ការជ្រៀតជ្រែកមិនពិតគឺស្មើនឹង 1/2^p ។

ដើម្បីទទួលបានសិលាចារឹកក្លែងធ្វើ ទិន្នន័យបើកចំហត្រូវបានបង្ហាញជាទម្រង់ប្លុក 64 ប៊ីត T(i) (i = 1, 2, ..., m, ដែល m ត្រូវបានកំណត់ដោយបរិមាណនៃទិន្នន័យដែលបានអ៊ិនគ្រីប) ។ ប្លុកដំបូងនៃទិន្នន័យធម្មតា T(1) ឆ្លងកាត់ការផ្លាស់ប្តូរដែលត្រូវគ្នាទៅនឹង 16 វដ្តដំបូងនៃក្បួនដោះស្រាយការអ៊ិនគ្រីបនៅក្នុងរបៀបជំនួសសាមញ្ញ។ ជាងនេះទៅទៀត សោដែលប្រើសម្រាប់អ៊ិនគ្រីបទិន្នន័យ ត្រូវបានប្រើជាសោដើម្បីបង្កើតការបញ្ចូលត្រាប់តាម។

លេខ 64 ប៊ីតដែលទទួលបានបន្ទាប់ពី 16 វដ្តនៃប្រតិបត្តិការត្រូវបានបូកសរុបម៉ូឌុល 2 ជាមួយនឹងប្លុកទីពីរនៃទិន្នន័យបើកចំហ T (2) ។ លទ្ធផលនៃការបូកសរុបត្រូវបានទទួលរងនូវការបំប្លែងសារជាថ្មីដែលត្រូវនឹង 16 វដ្តដំបូងនៃក្បួនដោះស្រាយការអ៊ិនគ្រីបនៅក្នុងរបៀបជំនួសសាមញ្ញ។ លេខលទ្ធផល 64 ប៊ីតត្រូវបានបូកបញ្ចូលម៉ូឌុល 2 ជាមួយនឹងប្លុកទីបីនៃទិន្នន័យបើកចំហ T (3) ។ល។ ប្លុកចុងក្រោយ T (m) បើចាំបាច់ padded ទៅប្លុក 64 ប៊ីតពេញលេញជាមួយសូន្យត្រូវបានបូកសរុបម៉ូឌុល 2 ជាមួយនឹងលទ្ធផលនៃការងារនៅជំហាន m-1 បន្ទាប់ពីនោះវាត្រូវបានអ៊ិនគ្រីបក្នុងរបៀបជំនួសសាមញ្ញជាងដំបូង។ 16 វដ្តនៃក្បួនដោះស្រាយ។ ពីចំនួនលទ្ធផល 64 ប៊ីត ផ្នែក Ip នៃប្រវែង p ប៊ីតត្រូវបានជ្រើសរើស។

ការបញ្ចូល Ir ក្លែងក្លាយត្រូវបានបញ្ជូនតាមបណ្តាញទំនាក់ទំនង ឬចូលទៅក្នុងអង្គចងចាំកុំព្យូទ័រ បន្ទាប់ពីទិន្នន័យដែលបានអ៊ិនគ្រីប។ ទិន្នន័យដែលបានអ៊ិនគ្រីបដែលបានទទួលគឺត្រូវបានឌិគ្រីប ហើយពីប្លុកដែលបានទទួលនៃទិន្នន័យបើកចំហ T(i) សិលាចារឹក Ir ត្រូវបានបង្កើត ដែលបន្ទាប់មកត្រូវបានប្រៀបធៀបជាមួយនឹងការបញ្ចូលក្លែងធ្វើ Ir ដែលទទួលបានពីបណ្តាញទំនាក់ទំនង ឬពីអង្គចងចាំកុំព្យូទ័រ ប្រសិនបើការក្លែងធ្វើ ការបញ្ចូលមិនត្រូវគ្នាទេ ទិន្នន័យដែលបានឌិគ្រីបទាំងអស់ត្រូវបានចាត់ទុកថាមិនពិត។

ក្បួនដោះស្រាយការអ៊ិនគ្រីប GOST 28147-89 ការប្រើប្រាស់របស់វា និងការអនុវត្តកម្មវិធីសម្រាប់កុំព្យូទ័រនៅលើវេទិកា Intel x86 ។


Andrey Vinokurov

ការពិពណ៌នាអំពីក្បួនដោះស្រាយ។

លក្ខខណ្ឌ និងការកំណត់។

ការពិពណ៌នាអំពីស្តង់ដារអ៊ិនគ្រីបរបស់សហព័ន្ធរុស្ស៊ីមាននៅក្នុងឯកសារគួរឱ្យចាប់អារម្មណ៍មួយដែលមានចំណងជើងថា "ក្បួនដោះស្រាយការបំប្លែងគ្រីប GOST 28147-89" ។ ការពិតដែលថានៅក្នុងឈ្មោះរបស់វាជំនួសឱ្យពាក្យ "ការអ៊ិនគ្រីប" មានគំនិតទូទៅជាង " ការបំប្លែងគ្រីប ", មិនមែនចៃដន្យទេ។ បន្ថែមពីលើនីតិវិធីការអ៊ិនគ្រីបដែលទាក់ទងគ្នាយ៉ាងជិតស្និទ្ធ ឯកសារពិពណ៌នាអំពីក្បួនដោះស្រាយមួយសម្រាប់បង្កើត ការបញ្ចូលការក្លែងបន្លំ . ក្រោយមកទៀតគឺគ្មានអ្វីក្រៅពីការរួមបញ្ចូលគ្នានៃការគ្រប់គ្រងគ្រីបទេ ពោលគឺកូដដែលបង្កើតចេញពីទិន្នន័យដើមដោយប្រើសោសម្ងាត់សម្រាប់គោលបំណងនៃ ការការពារក្លែងក្លាយ ឬការពារទិន្នន័យពីការផ្លាស់ប្តូរដោយគ្មានការអនុញ្ញាត។

នៅជំហានផ្សេងគ្នានៃក្បួនដោះស្រាយ GOST ទិន្នន័យដែលពួកគេដំណើរការត្រូវបានបកស្រាយ និងប្រើប្រាស់តាមវិធីផ្សេងៗគ្នា។ ក្នុងករណីខ្លះ ធាតុទិន្នន័យត្រូវបានចាត់ទុកជាអារេនៃប៊ីតឯករាជ្យ ក្នុងករណីផ្សេងទៀតជាចំនួនគត់ដែលមិនបានចុះហត្ថលេខា នៅក្នុងករណីផ្សេងទៀតជាធាតុស្មុគស្មាញដែលមានរចនាសម្ព័ន្ធដែលមានធាតុសាមញ្ញមួយចំនួន។ ដូច្នេះ ដើម្បីជៀសវាងការភ័ន្តច្រឡំ វាជារឿងសំខាន់ក្នុងការយល់ព្រមលើសញ្ញាណដែលបានប្រើ។

ធាតុទិន្នន័យនៅក្នុងអត្ថបទនេះត្រូវបានកំណត់ដោយអក្សរធំដែលមានរចនាប័ទ្មទ្រេត (ឧទាហរណ៍ X) តាមរយៈ | X| បង្ហាញពីទំហំនៃធាតុទិន្នន័យ Xនៅក្នុងប៊ីត។ ដូច្នេះប្រសិនបើយើងបកស្រាយធាតុទិន្នន័យ Xជាចំនួនគត់មិនអវិជ្ជមាន យើងអាចសរសេរវិសមភាពដូចខាងក្រោម៖ ។

ប្រសិនបើធាតុទិន្នន័យមានធាតុតូចៗជាច្រើន នោះការពិតនេះត្រូវបានចង្អុលបង្ហាញដូចខាងក្រោមៈ X=(X 0 ,X 1 ,…,Xn –1)=X 0 ||X 1 ||…||Xn-១. ដំណើរការនៃការរួមបញ្ចូលធាតុទិន្នន័យជាច្រើនចូលទៅក្នុងមួយត្រូវបានគេហៅថា ការភ្ជាប់គ្នា។ ទិន្នន័យ និងត្រូវបានចង្អុលបង្ហាញដោយនិមិត្តសញ្ញា “||” ។ តាមធម្មជាតិ ទំនាក់ទំនងខាងក្រោមត្រូវតែពេញចិត្តចំពោះទំហំនៃធាតុទិន្នន័យ៖ | X|=|X 0 |+|X 1 |+…+|Xn-១ | នៅពេលបញ្ជាក់ធាតុទិន្នន័យស្មុគ្រស្មាញ និងប្រតិបត្តិការរួម ធាតុទិន្នន័យធាតុផ្សំត្រូវបានរាយក្នុងលំដាប់ឡើងនៃអាទិភាព។ ម្យ៉ាងវិញទៀត ប្រសិនបើយើងបកស្រាយសមាសធាតុផ្សំ និងធាតុទិន្នន័យទាំងអស់របស់វាជាចំនួនគត់ដែលមិនបានចុះហត្ថលេខា នោះយើងអាចសរសេរសមភាពដូចខាងក្រោមៈ

នៅក្នុងក្បួនដោះស្រាយ ធាតុទិន្នន័យអាចត្រូវបានបកស្រាយថាជាអារេនៃប៊ីតនីមួយៗ ក្នុងករណីនេះប៊ីតត្រូវបានតំណាងដោយអក្សរដូចគ្នានឹងអារេ ប៉ុន្តែនៅក្នុងកំណែអក្សរតូច ដូចដែលបានបង្ហាញក្នុងឧទាហរណ៍ខាងក្រោម៖

X=(x 0 ,x 1 ,…,x ន –1)=x 0 +2 1 · x 1 +…+2 -1 · x ន –1 .

ដូច្នេះប្រសិនបើអ្នកកត់សម្គាល់អ្វីដែលគេហៅថា GOST ត្រូវបានអនុម័ត។ លេខ "little-endian" នៃខ្ទង់, i.e. នៅក្នុងពាក្យទិន្នន័យពហុប៊ីត ប៊ីតនីមួយៗ និងក្រុមប៊ីតដែលមានលេខទាបគឺមិនសូវសំខាន់ទេ។ នេះត្រូវបានបញ្ជាក់ដោយផ្ទាល់នៅក្នុងកថាខណ្ឌ 1.3 នៃស្តង់ដារ៖ "នៅពេលបន្ថែម និងផ្លាស់ប្តូរវដ្តនៃវ៉ិចទ័រគោលពីរ ប៊ីតសំខាន់ៗត្រូវបានចាត់ទុកថាជាប៊ីតនៃដ្រាយដែលមានលេខច្រើន។" លើសពីនេះ ឃ្លានៃស្តង់ដារ 1.4, 2.1.1 និងផ្សេងទៀតតម្រូវឱ្យចាប់ផ្តើមបំពេញបញ្ជីផ្ទុករបស់ឧបករណ៍បំលែងកូដនិម្មិតជាមួយនឹងទិន្នន័យពីកម្រិតទាបបំផុត ពោលគឺឧ។ ប្រភេទមិនសូវសំខាន់។ លំដាប់លេខដូចគ្នាត្រូវបានអនុម័តនៅក្នុងស្ថាបត្យកម្ម Intel x86 microprocessor ដែលនេះជាមូលហេតុដែលនៅពេលអនុវត្ត cipher នៅក្នុងកម្មវិធីនៅលើស្ថាបត្យកម្មនេះ មិនចាំបាច់មានការផ្លាស់ប្តូរប៊ីតបន្ថែមនៅក្នុងពាក្យទិន្នន័យទេ។

ប្រសិនបើប្រតិបត្តិការមួយចំនួនដែលមានអត្ថន័យឡូជីខលត្រូវបានអនុវត្តលើធាតុទិន្នន័យ នោះវាត្រូវបានសន្មត់ថាប្រតិបត្តិការនេះត្រូវបានអនុវត្តលើប៊ីតដែលត្រូវគ្នានៃធាតុ។ ក្នុង​ន័យ​ផ្សេងទៀត =( 0 0 , 1 1 ,…,មួយ n –1 b n-1), កន្លែងណា =||=|| និងនិមិត្តសញ្ញា “ ” បង្ហាញពីប្រតិបត្តិការឡូជីខលប្រព័ន្ធគោលពីរបំពាន។ តាមក្បួននេះមានន័យថាការវះកាត់ ផ្តាច់មុខឬ ដែលជាប្រតិបត្តិការនៃម៉ូឌុលសរុប 2 ផងដែរ៖

តក្កវិជ្ជានៃការបង្កើតលេខកូដសម្ងាត់និងរចនាសម្ព័ន្ធនៃព័ត៌មានគន្លឹះ GOST ។

ប្រសិនបើអ្នកសិក្សាដោយប្រុងប្រយ័ត្ននូវ GOST 28147-89 ដើម អ្នកនឹងសម្គាល់ឃើញថាវាមានសេចក្តីពិពណ៌នាអំពីក្បួនដោះស្រាយនៅកម្រិតជាច្រើន។ នៅផ្នែកខាងលើមានក្បួនដោះស្រាយជាក់ស្តែងដែលត្រូវបានរចនាឡើងដើម្បីអ៊ិនគ្រីបអារេទិន្នន័យ និងបង្កើតការបញ្ចូលត្រាប់តាមសម្រាប់ពួកគេ។ ពួកវាទាំងអស់គឺផ្អែកលើក្បួនដោះស្រាយកម្រិតទាបចំនួនបីដែលហៅថានៅក្នុងអត្ថបទ GOST វដ្ត . ក្បួនដោះស្រាយជាមូលដ្ឋានទាំងនេះត្រូវបានសំដៅដល់ក្នុងអត្ថបទនេះថាជា វដ្តមូលដ្ឋាន ដើម្បីសម្គាល់ពួកគេពីវដ្តផ្សេងទៀត។ ពួកវាមានឈ្មោះ និងនិមិត្តសញ្ញាដូចខាងក្រោម ក្រោយមកត្រូវបានផ្តល់ឱ្យក្នុងវង់ក្រចក ហើយអត្ថន័យរបស់វានឹងត្រូវបានពន្យល់នៅពេលក្រោយ៖

  • វដ្តនៃការអ៊ិនគ្រីប (32-З);
  • វដ្តនៃការឌិគ្រីប (32-P);
  • វដ្តនៃការផលិតការបញ្ចូលក្លែងក្លាយ (16-З) ។

នៅក្នុងវេននីមួយៗនៃវដ្ដជាមូលដ្ឋានគឺជាពាក្យដដែលៗជាច្រើននៃនីតិវិធីតែមួយ ដែលទាមទារឱ្យមានការបញ្ជាក់បន្ថែមទៀតនៅក្នុងការងារនេះ។ ជំហានសំខាន់នៃការបំប្លែងគ្រីបតូ .

ដូច្នេះដើម្បីយល់ពី GOST អ្នកត្រូវយល់ពីរឿងបីដូចខាងក្រោម:

  • តើ​មាន​រឿង​អ្វី​កើតឡើង ជំហានមូលដ្ឋាន ការបំប្លែងគ្រីបតូ;
  • របៀបដែលវដ្តមូលដ្ឋានត្រូវបានបង្កើតឡើងពីជំហានមូលដ្ឋាន;
  • ជាបី វដ្តមូលដ្ឋាន ក្បួនដោះស្រាយ GOST ជាក់ស្តែងទាំងអស់ត្រូវបានបន្ថែម។

មុននឹងបន្តការសិក្សាអំពីបញ្ហាទាំងនេះ យើងគួរតែនិយាយអំពីព័ត៌មានសំខាន់ៗដែលប្រើដោយ GOST algorithms។ យោងតាមគោលការណ៍របស់ Kirchhoff ដែលត្រូវបានពេញចិត្តដោយអ្នកសរសេរកូដសម័យទំនើបទាំងអស់ដែលត្រូវបានគេស្គាល់ចំពោះសាធារណជនទូទៅ វាគឺជាការសម្ងាត់របស់វាដែលធានានូវភាពសម្ងាត់នៃសារដែលបានអ៊ិនគ្រីប។ នៅក្នុង GOST ព័ត៌មានសំខាន់ៗមានរចនាសម្ព័ន្ធទិន្នន័យពីរ។ ក្រៅពីការពិត សោ ចាំបាច់សម្រាប់អក្សរសម្ងាត់ទាំងអស់ វាក៏មានផងដែរ។ តារាងជំនួស . ខាងក្រោមនេះគឺជាលក្ខណៈសំខាន់ៗនៃរចនាសម្ព័ន្ធសំខាន់ៗរបស់ GOST ។

ជំហានសំខាន់នៃការបំប្លែងគ្រីបតូ។

ជំហាននៃការបំប្លែងគ្រីបតូជាមូលដ្ឋានគឺជាសេចក្តីថ្លែងការណ៍ដែលបញ្ជាក់ពីការបំប្លែងប្លុកទិន្នន័យ 64 ប៊ីត។ ប៉ារ៉ាម៉ែត្របន្ថែមនៃប្រតិបត្តិករនេះគឺប្លុក 32 ប៊ីតដែលត្រូវបានប្រើជាធាតុសំខាន់។ ដ្យាក្រាមក្បួនដោះស្រាយជំហានសំខាន់ត្រូវបានបង្ហាញក្នុងរូបភាពទី 1 ។


រូបភាពទី 1. គ្រោងការណ៍នៃជំហានសំខាន់នៃការបំប្លែងគ្រីបតូនៃក្បួនដោះស្រាយ GOST 28147-89 ។

ខាង​ក្រោម​នេះ​គឺ​ជា​ការ​ពន្យល់​អំពី​ក្បួន​ដោះស្រាយ​ជំហាន​ចម្បង៖

ជំហាន 0

  • - ប្លុកទិន្នន័យ 64 ប៊ីតដែលបានបំប្លែង កំឡុងពេលប្រតិបត្តិជំហានតូចរបស់វា ( 1) និងជាន់ខ្ពស់ ( 2) ផ្នែកត្រូវបានចាត់ទុកជាចំនួនគត់ដែលមិនបានចុះហត្ថលេខា 32 ប៊ីតដាច់ដោយឡែក។ ដូច្នេះយើងអាចសរសេរបាន។ N=( 1 , 2).
  • X- ធាតុសំខាន់ 32 ប៊ីត;

ជំហានទី 1

ការបន្ថែមដោយប្រើសោ។ ពាក់កណ្តាលទាបនៃប្លុកដែលបានបម្លែងត្រូវបានបន្ថែមម៉ូឌុល 2 32 ជាមួយនឹងធាតុសំខាន់ដែលបានប្រើនៅជំហានលទ្ធផលត្រូវបានផ្ទេរទៅជំហានបន្ទាប់;

ជំហានទី 2

ការជំនួសប្លុក។ តម្លៃ 32 ប៊ីតដែលទទួលបានក្នុងជំហានមុនត្រូវបានបកស្រាយថាជាអារេនៃប្លុកកូដ 4 ប៊ីតចំនួនប្រាំបី៖ ស =( 0 , 1 , 2 , 3 , 4 , 5 , 6 , ៧) និង ០ មានកូនពៅ ៤ នាក់ និង ៧-៤ ប៊ីតសំខាន់ៗ .

បន្ទាប់មកតម្លៃនៃប្លុកនីមួយៗនៃប្រាំបីត្រូវបានជំនួសដោយថ្មីមួយ ដែលត្រូវបានជ្រើសរើសពីតារាងជំនួសដូចខាងក្រោម៖ តម្លៃប្លុក ការផ្លាស់ប្តូរទៅ - ធាតុទីតាមលំដាប់ (លេខពីសូន្យ) ខ្ញុំ- ថ្នាំងជំនួសនោះ (ឧ។ ខ្ញុំ-th line នៃតារាងជំនួស, លេខរៀងពីទទេ)។ ម្យ៉ាងវិញទៀត ធាតុមួយមកពីតារាងជំនួសដែលមានលេខជួរដេកស្មើនឹងចំនួនប្លុកដែលកំពុងត្រូវបានជំនួស ហើយលេខជួរឈរស្មើនឹងតម្លៃនៃប្លុកដែលកំពុងត្រូវបានជំនួសជាចំនួនគត់មិនអវិជ្ជមាន 4 ប៊ីតត្រូវបានជ្រើសរើសជាការជំនួស។ សម្រាប់តម្លៃនៃប្លុក។ នេះធ្វើឱ្យទំហំនៃតារាងជំនួសច្បាស់លាស់៖ ចំនួនជួរដេកក្នុងវាគឺស្មើនឹងចំនួនធាតុ 4 ប៊ីតក្នុងប្លុកទិន្នន័យ 32 ប៊ីត ពោលគឺប្រាំបី ហើយចំនួនជួរឈរគឺស្មើនឹងចំនួននៃ តម្លៃផ្សេងគ្នានៃប្លុកទិន្នន័យ 4 ប៊ីត ដែលត្រូវបានគេស្គាល់ថាជា 2 4, ដប់ប្រាំមួយ។

ជំហានទី 3

បង្វិល 11 ប៊ីតទៅខាងឆ្វេង។ លទ្ធផលនៃជំហានមុនត្រូវបានផ្លាស់ប្តូរជារង្វង់ដោយ 11 ប៊ីតឆ្ពោះទៅរកប៊ីតដ៏សំខាន់បំផុត ហើយត្រូវបានបញ្ជូនទៅជំហានបន្ទាប់។ នៅក្នុងដ្យាក្រាម algorithm និមិត្តសញ្ញាបង្ហាញពីមុខងារនៃការបង្វិលអាគុយម៉ង់របស់វា 11 ប៊ីតទៅខាងឆ្វេង ពោលគឺឧ។ ឆ្ពោះទៅរកឋានៈខ្ពស់។

ជំហានទី 4

ការបន្ថែម bitwise៖ តម្លៃដែលទទួលបានក្នុងជំហានទី 3 ត្រូវបានបន្ថែម bitwise modulo 2 ជាមួយនឹងពាក់កណ្តាលខ្ពស់ជាងនៃប្លុកត្រូវបានបំប្លែង។

ជំហានទី 5

ប្តូរតាមខ្សែសង្វាក់៖ ផ្នែកខាងក្រោមនៃប្លុកដែលបានបំប្លែងត្រូវបានប្តូរទៅកន្លែងចាស់ ហើយលទ្ធផលនៃជំហានមុនត្រូវបានដាក់នៅកន្លែងរបស់វា។

ជំហានទី 6

តម្លៃលទ្ធផលនៃប្លុកដែលបានបំប្លែងត្រូវបានត្រឡប់ជាលទ្ធផលនៃការប្រតិបត្តិក្បួនដោះស្រាយនៃជំហានសំខាន់នៃការបំប្លែងគ្រីបតូ។

វដ្តមូលដ្ឋាននៃការបំលែងគ្រីប។

ដូចដែលបានកត់សម្គាល់នៅដើមអត្ថបទនេះ GOST ជាកម្មសិទ្ធិរបស់ថ្នាក់នៃ block ciphers នោះគឺឯកតានៃដំណើរការព័ត៌មាននៅក្នុងវាគឺជាប្លុកទិន្នន័យ។ ដូច្នេះ វាពិតជាឡូជីខលក្នុងការរំពឹងថាវានឹងកំណត់ក្បួនដោះស្រាយសម្រាប់ការបំប្លែងគ្រីប ពោលគឺសម្រាប់ការអ៊ិនគ្រីប ការឌិគ្រីប និង "គណនេយ្យ" សម្រាប់ការរួមបញ្ចូលគ្នានៃការគ្រប់គ្រងនៃប្លុកទិន្នន័យមួយ។ ក្បួនដោះស្រាយទាំងនេះត្រូវបានគេហៅថា វដ្តមូលដ្ឋាន GOST ដែលសង្កត់ធ្ងន់លើសារៈសំខាន់ជាមូលដ្ឋានរបស់ពួកគេសម្រាប់ការសាងសង់លេខកូដនេះ។

រង្វិលជុំមូលដ្ឋានត្រូវបានបង្កើតឡើងពី ជំហានសំខាន់ៗ ការផ្លាស់ប្តូរគ្រីបគ្រីបដែលបានពិភាក្សានៅក្នុងផ្នែកមុន។ ក្នុងអំឡុងពេលជំហានសំខាន់ មានតែធាតុគន្លឹះ 32 ប៊ីតប៉ុណ្ណោះដែលត្រូវបានប្រើប្រាស់ ខណៈដែលគ្រាប់ចុច GOST មានធាតុទាំងប្រាំបី។ ដូច្នេះ ដើម្បីឲ្យគន្លឹះត្រូវបានប្រើប្រាស់យ៉ាងពេញលេញ រង្វិលជុំមូលដ្ឋាននីមួយៗត្រូវតែប្រតិបត្តិម្តងហើយម្តងទៀតនូវជំហានសំខាន់ជាមួយនឹងធាតុផ្សេងៗរបស់វា។ ក្នុងពេលជាមួយគ្នានេះ វាហាក់បីដូចជាធម្មជាតិណាស់ ដែលនៅក្នុងវដ្តមូលដ្ឋាននីមួយៗ ធាតុសំខាន់ៗទាំងអស់គួរតែត្រូវបានប្រើចំនួនដងដូចគ្នាសម្រាប់ហេតុផលនៃកម្លាំង cipher ចំនួននេះគួរតែមានច្រើនជាងមួយ។

ការសន្មត់ទាំងអស់ដែលបានធ្វើឡើងខាងលើ ដោយផ្អែកលើសុភវិនិច្ឆ័យបានប្រែក្លាយថាត្រឹមត្រូវ។ រង្វិលជុំមូលដ្ឋានមានការអនុវត្តម្តងហើយម្តងទៀត ជំហានសំខាន់ ដោយប្រើធាតុគន្លឹះផ្សេងគ្នា និងខុសគ្នាពីគ្នាទៅវិញទៅមកតែនៅក្នុងចំនួនពាក្យដដែលៗនៃជំហាន និងលំដាប់ដែលធាតុសំខាន់ៗត្រូវបានប្រើ។ ខាងក្រោម​នេះ​ជា​លំដាប់​សម្រាប់​វដ្ត​ផ្សេងៗ។

វដ្តនៃការអ៊ិនគ្រីប 32-Z៖

ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 ,ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 ,ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 ,ខេ 7 ,ខេ 6 ,ខេ 5 ,ខេ 4 ,ខេ 3 ,ខេ 2 ,ខេ 1 ,ខេ 0 .


រូបភាពទី 2 ក។ គ្រោងការណ៍នៃវដ្តនៃការអ៊ិនគ្រីប 32-З

វដ្តនៃការឌិគ្រីប 32-P៖

ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 ,ខេ 7 ,ខេ 6 ,ខេ 5 ,ខេ 4 ,ខេ 3 ,ខេ 2 ,ខេ 1 ,ខេ 0 ,ខេ 7 ,ខេ 6 ,ខេ 5 ,ខេ 4 ,ខេ 3 ,ខេ 2 ,ខេ 1 ,ខេ 0 ,ខេ 7 ,ខេ 6 ,ខេ 5 ,ខេ 4 ,ខេ 3 ,ខេ 2 ,ខេ 1 ,ខេ 0 .


រូបភាពទី 2 ខ។ គ្រោងការណ៍នៃវដ្តនៃការឌិគ្រីប 32-P

វដ្តផលិតកម្មនៃការបញ្ចូល 16-Z:

ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 ,ខេ 0 ,ខេ 1 ,ខេ 2 ,ខេ 3 ,ខេ 4 ,ខេ 5 ,ខេ 6 ,ខេ 7 .


រូបភាពទី 2 គ។ គ្រោងការណ៍នៃវដ្តផលិតកម្មនៃការធ្វើត្រាប់តាមបញ្ចូល 16-Z ។

វដ្តនីមួយៗមានការកំណត់អក្សរក្រមលេខរៀងៗខ្លួនដែលត្រូវនឹងលំនាំ " n-X"ដែលជាកន្លែងដែលធាតុដំបូងនៃការកំណត់ ( ) បញ្ជាក់ចំនួនពាក្យដដែលៗនៃជំហានសំខាន់ក្នុងវដ្ដ និងធាតុទីពីរនៃការកំណត់ ( X) លិខិតបញ្ជាក់លំដាប់នៃការអ៊ិនគ្រីប (“Z”) ឬការឌិគ្រីប (“P”) ក្នុងការប្រើប្រាស់ធាតុសំខាន់ៗ។ ការបញ្ជាទិញនេះត្រូវការការពន្យល់បន្ថែម៖

វដ្តនៃការឌិគ្រីបត្រូវតែជាបញ្ច្រាសនៃវដ្តនៃការអ៊ិនគ្រីប ពោលគឺការអនុវត្តបន្តបន្ទាប់គ្នានៃវដ្ដទាំងពីរនេះទៅជាប្លុកតាមអំពើចិត្តនៅទីបំផុតត្រូវតែផ្តល់លទ្ធផលនៃប្លុកដើម ដែលត្រូវបានឆ្លុះបញ្ចាំងនៅក្នុងទំនាក់ទំនងដូចខាងក្រោមៈ ៣២-Р ( ៣២-З ( ))=T, កន្លែងណា - ប្លុកទិន្នន័យ 64 ប៊ីតបំពាន, X ( ) - លទ្ធផលនៃការប្រតិបត្តិរង្វិលជុំ Xខាងលើប្លុកទិន្នន័យ . ដើម្បីបំពេញលក្ខខណ្ឌនេះសម្រាប់ក្បួនដោះស្រាយស្រដៀងនឹង GOST វាចាំបាច់និងគ្រប់គ្រាន់ដែលលំដាប់នៃការប្រើប្រាស់ធាតុសំខាន់ៗដោយវដ្តដែលត្រូវគ្នាគឺបញ្ច្រាសទៅវិញទៅមក។ វាងាយស្រួលក្នុងការផ្ទៀងផ្ទាត់សុពលភាពនៃលក្ខខណ្ឌជាលាយលក្ខណ៍អក្សរសម្រាប់ករណីដែលកំពុងពិចារណាដោយប្រៀបធៀបលំដាប់ខាងលើសម្រាប់វដ្ត 32-З និង 32-Р។ ផលវិបាកគួរឱ្យចាប់អារម្មណ៍មួយកើតឡើងពីខាងលើ៖ ទ្រព្យសម្បត្តិនៃវដ្តមួយដែលបញ្ច្រាស់ទៅវដ្ដមួយទៀតគឺច្រាសមកវិញ ពោលគឺវដ្ដ 32-Z គឺច្រាសទៅនឹងវដ្ដ 32-P ។ ម្យ៉ាងវិញទៀត ការអ៊ិនគ្រីបប្លុកទិន្នន័យអាចត្រូវបានអនុវត្តតាមទ្រឹស្តីដោយប្រើវដ្តនៃការឌិគ្រីប ដែលក្នុងករណីនេះការឌិគ្រីបប្លុកទិន្នន័យត្រូវតែធ្វើឡើងដោយវដ្តនៃការអ៊ិនគ្រីប។ ក្នុងចំណោមវដ្ដបញ្ច្រាសទៅវិញទៅមកទាំងពីរ ទាំងមួយអាចត្រូវបានប្រើសម្រាប់ការអ៊ិនគ្រីប បន្ទាប់មកទីពីរត្រូវតែប្រើដើម្បីឌិគ្រីបទិន្នន័យ ទោះជាយ៉ាងណាក៏ដោយ ស្តង់ដារ GOST 28147-89 កំណត់តួនាទីទៅវដ្ត និងមិនផ្តល់ឱ្យអ្នកប្រើប្រាស់នូវសិទ្ធិក្នុងការជ្រើសរើសក្នុងបញ្ហានេះទេ។ .

វដ្ដសម្រាប់ផលិតការបញ្ចូលត្រាប់តាមគឺពាក់កណ្តាលដរាបណាវដ្តនៃការអ៊ិនគ្រីប លំដាប់នៃការប្រើប្រាស់ធាតុសំខាន់ៗនៅក្នុងវាគឺដូចគ្នានឹង 16 ជំហានដំបូងនៃវដ្តនៃការអ៊ិនគ្រីប ដែលងាយស្រួលក្នុងការផ្ទៀងផ្ទាត់ដោយពិចារណាលើលំដាប់ខាងលើ ដូច្នេះ លំដាប់នេះនៅក្នុងការរចនានៃវដ្តនេះត្រូវបានអ៊ិនកូដដោយអក្សរដូចគ្នា "Z" ។

គ្រោងការណ៍នៃវដ្តមូលដ្ឋានត្រូវបានបង្ហាញនៅក្នុងរូបភាព 2a-c ។ ពួកវានីមួយៗយកជាអាគុយម៉ង់ ហើយត្រឡប់ជាលទ្ធផលប្លុកទិន្នន័យ 64 ប៊ីត ដែលបង្ហាញក្នុងដ្យាក្រាម . ជំហាននិមិត្តសញ្ញា( ,X) បង្ហាញពីការប្រតិបត្តិនៃជំហានបំប្លែងគ្រីបតូដ៏សំខាន់សម្រាប់ប្លុកទិន្នន័យ ដោយប្រើធាតុសំខាន់ X. មានភាពខុសគ្នាមួយទៀតរវាងវដ្តនៃការគណនាការអ៊ិនគ្រីប និងការធ្វើត្រាប់តាម ដែលមិនត្រូវបានរៀបរាប់ខាងលើ៖ នៅចុងបញ្ចប់នៃវដ្តនៃការអ៊ិនគ្រីបមូលដ្ឋាន ផ្នែកខ្ពស់ និងទាបនៃប្លុកលទ្ធផលត្រូវបានប្តូរ វាចាំបាច់សម្រាប់ភាពបញ្ច្រាសគ្នាទៅវិញទៅមក។

របៀបអ៊ិនគ្រីបមូលដ្ឋាន។

GOST 28147-89 ផ្តល់នូវរបៀបអ៊ិនគ្រីបទិន្នន័យបីដូចខាងក្រោម៖

  • ការជំនួសសាមញ្ញ,
  • ល្បែង,
  • លេងហ្គេមជាមួយមតិកែលម្អ,

និងរបៀបបន្ថែមមួយសម្រាប់បង្កើតការបញ្ចូលត្រាប់តាម។

នៅក្នុងរបៀបណាមួយទាំងនេះ ទិន្នន័យត្រូវបានដំណើរការជាប្លុក 64 ប៊ីត ដែលក្នុងនោះអារេត្រូវបានបែងចែក និងទទួលរងនូវការបំប្លែងសារសម្ងាត់ ដែលជាមូលហេតុដែល GOST សំដៅទៅលើការបិទកូដសម្ងាត់។ ទោះយ៉ាងណាក៏ដោយ នៅក្នុងរបៀបហ្គាម៉ាពីរ វាអាចធ្វើទៅបានដើម្បីដំណើរការប្លុកមិនពេញលេញនៃទិន្នន័យដែលមានទំហំតិចជាង 8 បៃ ដែលមានសារៈសំខាន់នៅពេលអ៊ិនគ្រីបអារេទិន្នន័យនៃទំហំបំពាន ដែលអាចមិនមែនជាពហុគុណនៃ 8 បៃ។

មុននឹងបន្តទៅការពិភាក្សាអំពីក្បួនដោះស្រាយការបំប្លែងគ្រីបជាក់លាក់ ចាំបាច់ត្រូវបញ្ជាក់ការសម្គាល់ដែលប្រើក្នុងដ្យាក្រាមក្នុងផ្នែកខាងក្រោម៖

អូ w - អារេនៃទិន្នន័យបើកចំហ និងអ៊ិនគ្រីប រៀងគ្នា;

, – ខ្ញុំ- បណ្តុំ 64 ប៊ីតតាមលំដាប់លំដោយនៃទិន្នន័យបើកចំហ និងអ៊ិនគ្រីបរៀងៗខ្លួន៖ , ប្លុកចុងក្រោយអាចមិនពេញលេញ៖ ;

- ចំនួនប្លុក 64 ប៊ីតនៅក្នុងអារេទិន្នន័យ;

X - មុខងារនៃការបំប្លែងប្លុកទិន្នន័យ 64 ប៊ីតដោយប្រើវដ្តមូលដ្ឋាន "X" algorithm ។

ឥឡូវនេះយើងនឹងពណ៌នាអំពីរបៀបអ៊ិនគ្រីបសំខាន់ៗ៖

ការជំនួសងាយស្រួល។

ការអ៊ិនគ្រីបនៅក្នុងរបៀបនេះមានការអនុវត្តវដ្ត 32-З ទៅនឹងប្លុកនៃទិន្នន័យបើកចំហ ការឌិគ្រីប - វដ្ត 32-Р ទៅប្លុកនៃទិន្នន័យដែលបានអ៊ិនគ្រីប។ នេះគឺជារបៀបសាមញ្ញបំផុតនៃប្លុកទិន្នន័យ 64 ប៊ីតត្រូវបានដំណើរការដោយឯករាជ្យពីគ្នាទៅវិញទៅមក។ គ្រោងការណ៍នៃក្បួនដោះស្រាយការអ៊ិនគ្រីប និងការឌិគ្រីបនៅក្នុងរបៀបជំនួសសាមញ្ញត្រូវបានបង្ហាញក្នុងរូបភាព 3a និង b រៀងគ្នា ពួកគេគឺតូចតាច និងមិនត្រូវការមតិយោបល់។


គំនូរ។ 3 ក. ក្បួនដោះស្រាយការអ៊ិនគ្រីបទិន្នន័យនៅក្នុងរបៀបជំនួសសាមញ្ញ


គំនូរ។ 3 ខ. ក្បួនដោះស្រាយការឌិគ្រីបទិន្នន័យនៅក្នុងរបៀបជំនួសសាមញ្ញ

ទំហំនៃអារេនៃទិន្នន័យដែលបានបើក ឬអ៊ិនគ្រីប ដែលត្រូវនឹងការអ៊ិនគ្រីប ឬការឌិគ្រីប រៀងគ្នាត្រូវតែជាពហុគុណនៃ 64 ប៊ីត៖ | o |=| w |=64· បន្ទាប់ពីអនុវត្តប្រតិបត្តិការ ទំហំនៃអារេទិន្នន័យលទ្ធផលមិនផ្លាស់ប្តូរទេ។

របៀប​បំប្លែង​កូដ​ជំនួស​សាមញ្ញ​មាន​មុខងារ​ដូច​ខាង​ក្រោម៖

  • ដោយសារប្លុកទិន្នន័យត្រូវបានអ៊ិនគ្រីបដោយឯករាជ្យពីគ្នាទៅវិញទៅមក និងទីតាំងរបស់ពួកគេនៅក្នុងអារេទិន្នន័យ ការអ៊ិនគ្រីបប្លុកអត្ថបទធម្មតាពីរដែលដូចគ្នាបេះបិទ នាំឱ្យប្លុកអក្សរសម្ងាត់ដូចគ្នាបេះបិទ និងច្រាសមកវិញ។ លក្ខណសម្បត្តិដែលបានកត់សម្គាល់នឹងអនុញ្ញាតិឱ្យអ្នកវិភាគគ្រីបតូធ្វើការសន្និដ្ឋានអំពីអត្តសញ្ញាណនៃប្លុកទិន្នន័យដើម ប្រសិនបើគាត់ជួបប្រទះប្លុកដូចគ្នាបេះបិទនៅក្នុងអារេទិន្នន័យដែលបានអ៊ិនគ្រីប ដែលមិនអាចទទួលយកបានសម្រាប់កូដសម្ងាត់ធ្ងន់ធ្ងរ។
  • ប្រសិនបើប្រវែងនៃអារេទិន្នន័យដែលបានអ៊ិនគ្រីបមិនមែនជាពហុគុណនៃ 8 បៃ ឬ 64 ប៊ីតទេនោះ បញ្ហាកើតឡើងអំពីរបៀប និងរបៀបបំពេញបន្ថែមប្លុកទិន្នន័យមិនពេញលេញចុងក្រោយនៃអារេទៅពេញ 64 ប៊ីត។ កិច្ចការនេះគឺមិនសាមញ្ញដូចដែលវាហាក់ដូចជានៅ glance ដំបូង។ ដំណោះស្រាយជាក់ស្តែងដូចជា "បន្ថែមប្លុកមិនពេញលេញជាមួយនឹងសូន្យប៊ីត" ឬជាទូទៅ "បន្ថែមប្លុកមិនពេញលេញជាមួយនឹងការរួមបញ្ចូលគ្នាថេរនៃសូន្យ និងមួយប៊ីត" អាចនៅក្រោមលក្ខខណ្ឌមួយចំនួន ផ្តល់ឱ្យអ្នកវិភាគគ្រីបតូនូវឱកាសឱ្យប្រើវិធីសាស្ត្រកម្លាំង brute ដើម្បីកំណត់ ខ្លឹមសារនៃប្លុកមិនពេញលេញនេះ ហើយការពិតនេះមានន័យថាការថយចុះនៃលេខកូដសុវត្ថិភាព។ លើសពីនេះ ប្រវែងនៃអក្សរសម្ងាត់នឹងផ្លាស់ប្តូរ ដោយកើនឡើងដល់ចំនួនគត់ដែលនៅជិតបំផុតពហុគុណនៃ 64 ប៊ីត ដែលជារឿយៗមិនចង់បាន។

នៅ glance ដំបូង លក្ខណៈពិសេសខាងលើធ្វើឱ្យវាស្ទើរតែមិនអាចប្រើរបៀបជំនួសសាមញ្ញបានទេព្រោះវាអាចប្រើបានតែដើម្បីអ៊ិនគ្រីបអារេទិន្នន័យដែលមានទំហំពហុគុណនៃ 64 ប៊ីត និងមិនមានប្លុក 64 ប៊ីតដែលធ្វើម្តងទៀត។ វាហាក់ដូចជាថាសម្រាប់ទិន្នន័យពិតប្រាកដណាមួយវាមិនអាចទៅរួចទេក្នុងការធានាការបំពេញលក្ខខណ្ឌទាំងនេះ។ នេះស្ទើរតែជាការពិត ប៉ុន្តែមានករណីលើកលែងដ៏សំខាន់មួយ៖ ចងចាំថាទំហំគន្លឹះគឺ 32 បៃ ហើយទំហំនៃតារាងជំនួសគឺ 64 បៃ។ លើសពីនេះទៀត វត្តមាននៃប្លុក 8 បៃម្តងហើយម្តងទៀតនៅក្នុងតារាងគន្លឹះ ឬជំនួសនឹងបង្ហាញពីគុណភាពអន់របស់ពួកគេ ដូច្នេះពាក្យដដែលៗបែបនេះមិនអាចមាននៅក្នុងធាតុសំខាន់ៗពិតប្រាកដនោះទេ។ ដូច្នេះហើយ យើងបានរកឃើញថា របៀបជំនួសដ៏សាមញ្ញគឺពិតជាស័ក្តិសមសម្រាប់ការអ៊ិនគ្រីបព័ត៌មានគន្លឹះ ជាពិសេសដោយសាររបៀបផ្សេងទៀតមិនសូវងាយស្រួលសម្រាប់គោលបំណងនេះ ដោយសារពួកគេត្រូវការធាតុទិន្នន័យធ្វើសមកាលកម្មបន្ថែម - សារសមកាលកម្ម (សូមមើលផ្នែកបន្ទាប់) ។ ការស្មានរបស់យើងគឺត្រឹមត្រូវ GOST ចេញវេជ្ជបញ្ជាឱ្យប្រើរបៀបជំនួសសាមញ្ញសម្រាប់បំប្លែងទិន្នន័យសោ។

អញ្ចាញធ្មេញ។

តើអ្នកអាចកម្ចាត់ចំណុចខ្វះខាតនៃរបៀបជំនួសសាមញ្ញដោយរបៀបណា? ដើម្បីធ្វើដូច្នេះបាន វាចាំបាច់ក្នុងការធ្វើឱ្យវាអាចអ៊ិនគ្រីបប្លុកដែលមានទំហំតិចជាង 64 ប៊ីត និងធានាថាប្លុក ciphertext អាស្រ័យលើចំនួនរបស់វា ម្យ៉ាងទៀត ចៃដន្យ ដំណើរការអ៊ិនគ្រីប។ នៅក្នុង GOST នេះត្រូវបានសម្រេចតាមវិធីពីរផ្សេងគ្នានៅក្នុងរបៀបអ៊ិនគ្រីបពីរគឺការផ្តល់ ការលេងហ្គេម . អញ្ចាញធ្មេញ - នេះគឺជាការដាក់ (ការដកចេញ) នៃមាត្រដ្ឋានគ្រីបគ្រីបនៅលើទិន្នន័យបើកចំហ (អ៊ិនគ្រីប) នោះគឺជាលំដាប់នៃធាតុទិន្នន័យដែលបានបង្កើតដោយប្រើក្បួនដោះស្រាយគ្រីបគ្រីបមួយចំនួនដើម្បីទទួលបានទិន្នន័យដែលបានអ៊ិនគ្រីប (បើក) ។ ដើម្បីអនុវត្តហ្គាម៉ាកំឡុងពេលអ៊ិនគ្រីប និងយកវាចេញកំឡុងពេលឌិគ្រីប ប្រតិបត្តិការប្រព័ន្ធគោលពីរបញ្ច្រាសគ្នាទៅវិញទៅមកត្រូវតែប្រើឧទាហរណ៍ ម៉ូឌុលបូក និងដក 2 64 សម្រាប់ប្លុកទិន្នន័យ 64 ប៊ីត។ នៅក្នុង GOST សម្រាប់គោលបំណងនេះ ប្រតិបត្តិការនៃម៉ូឌុលបន្ថែម bitwise 2 ត្រូវបានប្រើ ព្រោះវាគឺជាការបញ្ច្រាសរបស់វា ហើយលើសពីនេះទៅទៀត ត្រូវបានអនុវត្តយ៉ាងសាមញ្ញបំផុតនៅក្នុងផ្នែករឹង។ ហ្គាម៉ាដោះស្រាយបញ្ហាដែលបានរៀបរាប់ទាំងពីរ៖ ទីមួយ ធាតុហ្គាម៉ាទាំងអស់គឺខុសគ្នាសម្រាប់អារេដែលបានអ៊ិនគ្រីបពិតប្រាកដ ហើយហេតុដូច្នេះហើយ លទ្ធផលនៃការអ៊ិនគ្រីបសូម្បីតែប្លុកដូចគ្នាពីរនៅក្នុងអារេទិន្នន័យតែមួយនឹងខុសគ្នា។ ទីពីរ ទោះបីជាធាតុហ្គាម៉ាត្រូវបានបង្កើតក្នុងផ្នែកស្មើគ្នានៃ 64 ប៊ីតក៏ដោយ ក៏ផ្នែកនៃប្លុកបែបនេះដែលមានទំហំស្មើនឹងទំហំនៃប្លុកដែលបានអ៊ិនគ្រីបអាចត្រូវបានប្រើ។

ឥឡូវនេះ ចូរយើងផ្លាស់ទីដោយផ្ទាល់ទៅការពិពណ៌នានៃរបៀបហ្គាម៉ា។ ហ្គាម៉ាសម្រាប់របៀបនេះត្រូវបានទទួលដូចខាងក្រោម៖ ដោយមានជំនួយពីម៉ាស៊ីនបង្កើតលំដាប់លេខដែលកើតឡើងដដែលៗនៃក្បួនដោះស្រាយមួយចំនួន (RNGN) ប្លុកទិន្នន័យ 64 ប៊ីតត្រូវបានបង្កើត ដែលបន្ទាប់មកត្រូវបានបំប្លែងដោយប្រើវដ្ត 32-3 ពោលគឺត្រូវបានអ៊ិនគ្រីបក្នុងសាមញ្ញ។ របៀបជំនួស ដែលបណ្តាលឱ្យមានប្លុកហ្គាម៉ា។ ដោយសារតែកម្មវិធីហ្គាម៉ា និងការដកយកចេញត្រូវបានអនុវត្តដោយប្រើផ្តាច់មុខ ឬប្រតិបត្តិការដូចគ្នាបន្តិច ក្បួនដោះស្រាយការអ៊ិនគ្រីប និងការឌិគ្រីបនៅក្នុងរបៀបហ្គាម៉ាគឺដូចគ្នាបេះបិទ គ្រោងការណ៍ទូទៅរបស់ពួកគេត្រូវបានបង្ហាញក្នុងរូបភាពទី 4 ។

RGPG ដែលប្រើដើម្បីបង្កើតមាត្រដ្ឋានគឺជាមុខងារកើតឡើងដដែលៗ៖ – ធាតុនៃលំដាប់កើតឡើងដដែលៗ f- មុខងារផ្លាស់ប្តូរ។ ដូច្នេះ សំណួរកើតឡើងដោយជៀសមិនរួចអំពីការចាប់ផ្តើមរបស់វា ពោលគឺអំពីធាតុ ជាការពិត ធាតុទិន្នន័យនេះគឺជាប៉ារ៉ាម៉ែត្រក្បួនដោះស្រាយសម្រាប់របៀបហ្គាម៉ានៅក្នុងដ្យាក្រាមដែលវាត្រូវបានកំណត់ថាជា , និងត្រូវបានគេហៅថានៅក្នុងការគ្រីប ធ្វើសមកាលកម្មផ្ញើ ហើយនៅក្នុង GOST របស់យើង - ការបំពេញដំបូង មួយក្នុងចំណោមឧបករណ៍បំលែងកូដចុះឈ្មោះ។ សម្រាប់ហេតុផលជាក់លាក់អ្នកអភិវឌ្ឍន៍ GOST បានសម្រេចចិត្តប្រើមិនមែនជាសារធ្វើសមកាលកម្មដោយផ្ទាល់ដើម្បីចាប់ផ្តើម RGFC ទេប៉ុន្តែលទ្ធផលនៃការបំប្លែងរបស់វាយោងទៅតាមវដ្ត 32-Z: . លំដាប់នៃធាតុដែលបង្កើតដោយ RGHR អាស្រ័យទាំងស្រុងលើការបំពេញដំបូងរបស់វា ពោលគឺធាតុនៃលំដាប់នេះគឺជាមុខងារនៃចំនួនរបស់ពួកគេ និងការបំពេញដំបូងនៃ RGHR: ដែលជាកន្លែងដែល f i(X)=f(f i –1 (X)), f 0 (X)=X. ដោយគិតពីការផ្លាស់ប្តូរដោយប្រើក្បួនដោះស្រាយការជំនួសដ៏សាមញ្ញ ការពឹងផ្អែកលើគន្លឹះក៏ត្រូវបានបន្ថែមផងដែរ៖

កន្លែងណា Г ខ្ញុំខ្ញុំ- ធាតុនៃមាត្រដ្ឋាន, ខេ- គន្លឹះ។

ដូច្នេះ លំដាប់នៃធាតុហ្គាម៉ាដែលត្រូវប្រើក្នុងរបៀបហ្គាម៉ា ត្រូវបានកំណត់យ៉ាងពិសេសដោយទិន្នន័យគន្លឹះ និងសារធ្វើសមកាលកម្ម។ ជាធម្មជាតិ សម្រាប់ដំណើរការអ៊ិនគ្រីបអាចត្រឡប់វិញ សារធ្វើសមកាលកម្មដូចគ្នាត្រូវតែប្រើក្នុងដំណើរការអ៊ិនគ្រីប និងឌិគ្រីប។ ពីតំរូវការនៃភាពប្លែកនៃហ្គាម៉ា ការមិនអនុលោមតាមដែលនាំឱ្យមានការថយចុះយ៉ាងមហន្តរាយនៃកម្លាំងនៃស៊ីបភឺ វាកើតឡើងថា ដើម្បីអ៊ិនគ្រីបអារេទិន្នន័យពីរផ្សេងគ្នានៅលើកូនសោដូចគ្នា វាចាំបាច់ក្នុងការធានាការប្រើប្រាស់ សារធ្វើសមកាលកម្មផ្សេងៗគ្នា។ នេះនាំឱ្យមានតម្រូវការក្នុងការរក្សាទុក ឬបញ្ជូនសារធ្វើសមកាលកម្មតាមបណ្តាញទំនាក់ទំនង រួមជាមួយនឹងទិន្នន័យដែលបានអ៊ិនគ្រីប ទោះបីជាក្នុងករណីពិសេសមួយចំនួន វាអាចត្រូវបានកំណត់ទុកជាមុន ឬគណនាតាមវិធីពិសេសមួយ ប្រសិនបើការអ៊ិនគ្រីបអារេពីរដោយប្រើសោដូចគ្នាមិនត្រូវបានរាប់បញ្ចូល។

ឥឡូវនេះសូមមើលឱ្យកាន់តែច្បាស់អំពី RGPC ដែលត្រូវបានប្រើនៅក្នុង GOST ដើម្បីបង្កើតធាតុ gamut ។ ជាដំបូង វាគួរតែត្រូវបានកត់សម្គាល់ថាវាមិនតម្រូវឱ្យផ្តល់នូវលក្ខណៈស្ថិតិណាមួយនៃលំដាប់លេខដែលបានបង្កើតនោះទេ។ RGHR ត្រូវបានរចនាឡើងដោយអ្នកអភិវឌ្ឍន៍ GOST ដោយផ្អែកលើតម្រូវការដើម្បីបំពេញលក្ខខណ្ឌដូចខាងក្រោម:

  • រយៈពេលដដែលៗនៃលំដាប់លេខដែលបង្កើតដោយ RGPC មិនគួរមានភាពខុសគ្នាខ្លាំង (គិតជាភាគរយ) ពីតម្លៃអតិបរមាដែលអាចធ្វើបានសម្រាប់ទំហំប្លុកដែលបានផ្តល់ឱ្យនៃ 2 64;
  • តម្លៃដែលនៅជាប់គ្នាដែលផលិតដោយ RGPG ត្រូវតែខុសគ្នាពីគ្នាទៅវិញទៅមកក្នុងបៃនីមួយៗ បើមិនដូច្នេះទេភារកិច្ចរបស់អ្នកវិភាគគ្រីបនឹងត្រូវបានធ្វើឱ្យសាមញ្ញ។
  • RGPC គួរតែមានភាពងាយស្រួលក្នុងការអនុវត្តទាំងផ្នែករឹង និងសូហ្វវែរលើប្រភេទប្រព័ន្ធដំណើរការទូទៅបំផុត ដែលភាគច្រើនត្រូវបានគេស្គាល់ថាជា 32 ប៊ីត។

ដោយផ្អែកលើគោលការណ៍ដែលបានរាយបញ្ជីអ្នកបង្កើត GOST បានរចនា RGHR ដែលទទួលបានជោគជ័យយ៉ាងខ្លាំងដែលមានលក្ខណៈដូចខាងក្រោមៈ

កន្លែងណា 0 =1010101 16 ;

កន្លែងណា 1 =1010104 16 ;

subscript នៅក្នុងលេខមួយបង្ហាញពីប្រព័ន្ធលេខរបស់វា ដូច្នេះថេរដែលប្រើក្នុងជំហាននេះត្រូវបានសរសេរជាលេខគោលដប់ប្រាំមួយ។

កន្សោមទីពីរត្រូវការមតិយោបល់ ព្រោះអត្ថបទរបស់ GOST មានអ្វីផ្សេងទៀត៖ , ជាមួយនឹងតម្លៃដូចគ្នានៃថេរ ១. ប៉ុន្តែបន្ថែមទៀតនៅក្នុងអត្ថបទនៃស្តង់ដារមតិយោបល់ត្រូវបានផ្តល់ឱ្យដែលវាប្រែថានៅក្រោមប្រតិបត្តិការនៃការទទួលយកម៉ូឌុលដែលនៅសល់ 2 32 -1 នៅទីនោះមិនត្រូវបានយល់តាមរបៀបដូចនៅក្នុងគណិតវិទ្យាទេ។ ភាពខុសគ្នាគឺថាយោងទៅតាម GOST (2 32 -1) ម៉ូដ(2 32 –1)=(2 32 –1) មិនមែន 0។ តាមពិត នេះជួយសម្រួលដល់ការអនុវត្តរូបមន្ត ហើយកន្សោមត្រឹមត្រូវតាមគណិតវិទ្យាសម្រាប់វាត្រូវបានផ្តល់ឱ្យខាងលើ។

  • រយៈពេលពាក្យដដែលៗនៃលំដាប់សម្រាប់ផ្នែកខាងក្រោមគឺ 2 32 សម្រាប់ផ្នែកចាស់ 2 32 -1 សម្រាប់លំដាប់ទាំងមូលរយៈពេលគឺ 2 32 (2 32 -1) ភស្តុតាងនៃការពិតនេះគឺសាមញ្ញណាស់ ទទួលបានវា ខ្លួនឯង។ រូបមន្តទីមួយនៃរូបមន្តទាំងពីរត្រូវបានអនុវត្តនៅក្នុងពាក្យបញ្ជាមួយ ទីពីរ ថ្វីបើមានភាពលំបាកជាក់ស្តែងក៏ដោយ នៅក្នុងពាក្យបញ្ជាពីរនៅលើប្រព័ន្ធដំណើរការ 32 ប៊ីតទំនើបទាំងអស់ - ពាក្យបញ្ជាទីមួយគឺម៉ូឌុលបន្ថែមធម្មតា 2 32 ជាមួយនឹងការផ្ទុកប៊ីត និងទីពីរ ពាក្យ​បញ្ជា​បន្ថែម​ការ​យក​ប៊ីត​ទៅ​អត្ថន័យ​លទ្ធផល។

ដ្យាក្រាមក្បួនដោះស្រាយការអ៊ិនគ្រីបនៅក្នុងរបៀបហ្គាម៉ាត្រូវបានបង្ហាញក្នុងរូបភាពទី 4 ខាងក្រោមគឺជាការពន្យល់សម្រាប់គ្រោងការណ៍៖


រូបភាពទី 4. ក្បួនដោះស្រាយសម្រាប់ការអ៊ិនគ្រីប (ឌិគ្រីប) ទិន្នន័យក្នុងរបៀបហ្គាម៉ា។

ជំហាន 0

កំណត់ទិន្នន័យបញ្ចូលសម្រាប់ជំហានបំប្លែងគ្រីបតូសំខាន់ៗ៖

  • o(w) – អារេនៃទិន្នន័យបើកចំហ (អ៊ិនគ្រីប) នៃទំហំបំពាន ដែលស្ថិតនៅក្រោមនីតិវិធីនៃការអ៊ិនគ្រីប (ឌិគ្រីប) ក្នុងអំឡុងពេលដំណើរការ អារេត្រូវបានបំប្លែងជាផ្នែក 64 ប៊ីត។
  • ធ្វើសមកាលកម្មសារ ដែលជាធាតុទិន្នន័យ 64 ប៊ីតដែលតម្រូវឱ្យចាប់ផ្តើមម៉ាស៊ីនបង្កើតហ្គាម៉ា។

ជំហានទី 1

ការផ្លាស់ប្តូរដំបូងនៃសារធ្វើសមកាលកម្មដែលបានអនុវត្តដើម្បី "ចៃដន្យ" វាគឺដើម្បីលុបបំបាត់គំរូស្ថិតិដែលមាននៅក្នុងវា លទ្ធផលត្រូវបានប្រើជាការបំពេញដំបូងនៃ RGPC ។

ជំហានទី 2

ជំហានមួយនៃប្រតិបត្តិការ RGPC ដោយអនុវត្តក្បួនដោះស្រាយដដែលៗរបស់វា។ ក្នុងដំណាក់កាលនេះ កូនច្បង ( 1) និងក្មេង ( 0) ផ្នែកនៃលំដាប់ទិន្នន័យត្រូវបានបង្កើតដោយឯករាជ្យពីគ្នាទៅវិញទៅមក។

ជំហានទី 3

អញ្ចាញធ្មេញ។ ធាតុ 64 ប៊ីតបន្ទាប់ដែលបង្កើតដោយ RGPC ត្រូវបានទទួលរងនូវនីតិវិធីអ៊ិនគ្រីបដោយប្រើវដ្ត 32-3 លទ្ធផលត្រូវបានប្រើជាធាតុហ្គាម៉ាដើម្បីអ៊ិនគ្រីប (ឌិគ្រីប) ប្លុកបន្ទាប់នៃទិន្នន័យបើកចំហ (អ៊ិនគ្រីប) ដែលមានទំហំដូចគ្នា។

ជំហានទី 4

លទ្ធផលនៃក្បួនដោះស្រាយគឺជាអារេទិន្នន័យដែលបានអ៊ិនគ្រីប (ឌិគ្រីប) ។

ខាង​ក្រោម​នេះ​គឺ​ជា​លក្ខណៈ​ពិសេស​នៃ​ហ្គាម៉ា​ជា​របៀប​អ៊ិនគ្រីប៖

  1. ប្លុកដូចគ្នាបេះបិទនៅក្នុងអារេទិន្នន័យបើកចំហនឹងផ្តល់ផលប្លុកអក្សរសម្ងាត់ខុសៗគ្នានៅពេលអ៊ិនគ្រីប ដែលនឹងធ្វើឱ្យវាអាចលាក់ការពិតនៃអត្តសញ្ញាណរបស់ពួកគេ។
  2. ដោយសារការលាបលើហ្គាម៉ាត្រូវបានអនុវត្តដោយភាពច្របូកច្របល់ ការអ៊ិនគ្រីបប្លុកទិន្នន័យមួយផ្នែកត្រូវបានសម្រេចយ៉ាងងាយស្រួលដោយការអ៊ិនគ្រីបប៊ីតនៃប្លុកហ្គាម៉ាដោយប្រើប្រាស់ប៊ីតដែលត្រូវគ្នានៃប្លុកហ្គាម៉ា។ ដូច្នេះ ដើម្បីអ៊ិនគ្រីបប្លុកមិនពេញលេញនៃ 1 ប៊ីត យោងតាមស្តង់ដារ ប៊ីតដ៏សំខាន់បំផុតពីប្លុកហ្គាម៉ាគួរតែត្រូវបានប្រើ។
  3. សារសមកាលកម្មដែលប្រើសម្រាប់ការអ៊ិនគ្រីបត្រូវតែត្រូវបានបញ្ជូនដោយដូចម្ដេចដើម្បីប្រើក្នុងការឌិគ្រីប។ នេះអាចសម្រេចបានតាមវិធីដូចខាងក្រោមៈ
  • រក្សាទុក ឬបញ្ជូនសារធ្វើសមកាលកម្មរួមជាមួយនឹងអារេទិន្នន័យដែលបានអ៊ិនគ្រីប ដែលនឹងនាំឱ្យមានការកើនឡើងនៃទំហំនៃអារេទិន្នន័យ នៅពេលអ៊ិនគ្រីបដោយទំហំនៃសារធ្វើសមកាលកម្ម ពោលគឺដោយ 8 បៃ។
  • ប្រើតម្លៃដែលបានកំណត់ទុកជាមុននៃសារធ្វើសមកាលកម្ម ឬបង្កើតវាស្របគ្នាដោយប្រភព និងអ្នកទទួល យោងតាមច្បាប់ជាក់លាក់មួយ ក្នុងករណីនេះមិនមានការផ្លាស់ប្តូរទំហំនៃអារេទិន្នន័យដែលបានបញ្ជូន ឬរក្សាទុកនោះទេ។

វិធីសាស្រ្តទាំងពីរបំពេញគ្នាទៅវិញទៅមក ហើយនៅក្នុងករណីដ៏កម្រដែលទីមួយ ទូទៅបំផុតមិនដំណើរការ ទីពីរ កម្រនិងអសកម្មអាចប្រើបាន។ វិធីសាស្រ្តទីពីរមានកម្មវិធីតិចជាងច្រើន ដោយសារវាអាចបង្កើតសារធ្វើសមកាលកម្មដែលបានកំណត់ទុកជាមុនបានលុះត្រាតែមិនមានអារេទិន្នន័យលើសពីមួយត្រូវបានអ៊ិនគ្រីបលើសំណុំព័ត៌មានសំខាន់ៗដែលបានផ្តល់ឱ្យ ដែលមិនកើតឡើងញឹកញាប់ពេក។ វាក៏មិនតែងតែអាចបង្កើតសារធ្វើសមកាលកម្មដោយសមកាលកម្មនៅប្រភព និងអ្នកទទួលនៃអារេទិន្នន័យនោះទេ ព្រោះវាទាមទារការភ្ជាប់យ៉ាងតឹងរឹងទៅនឹងអ្វីមួយនៅក្នុងប្រព័ន្ធ។ ដូច្នេះ គំនិតដែលហាក់ដូចជាត្រឹមត្រូវក្នុងការប្រើចំនួននៃសារដែលបានបញ្ជូនជាសារធ្វើសមកាលកម្មនៅក្នុងប្រព័ន្ធសម្រាប់ការបញ្ជូនសារដែលបានអ៊ិនគ្រីបគឺមិនសមរម្យទេ ព្រោះសារអាចនឹងបាត់បង់ និងមិនទៅដល់អ្នកទទួល ក្នុងករណីនេះប្រព័ន្ធអ៊ិនគ្រីបប្រភព។ ហើយអ្នកទទួលនឹងក្លាយទៅជា desynchronized ។ ដូច្នេះ នៅក្នុងករណីដែលបានពិចារណា វាគ្មានជម្រើសក្នុងការបញ្ជូនសារធ្វើសមកាលកម្មរួមជាមួយនឹងសារដែលបានអ៊ិនគ្រីបនោះទេ។

ម៉្យាងទៀតឧទាហរណ៍ផ្ទុយគ្នាអាចត្រូវបានផ្តល់ឱ្យ។ ចូរនិយាយថាការអ៊ិនគ្រីបទិន្នន័យត្រូវបានប្រើដើម្បីការពារព័ត៌មាននៅលើថាស ហើយវាត្រូវបានអនុវត្តនៅកម្រិតទាប ដើម្បីធានាបាននូវការចូលប្រើដោយឯករាជ្យ ទិន្នន័យត្រូវបានអ៊ិនគ្រីបតាមវិស័យ។ ក្នុងករណីនេះ វាមិនអាចទៅរួចទេក្នុងការរក្សាទុកសារដែលធ្វើសមកាលកម្មរួមជាមួយនឹងទិន្នន័យដែលបានអ៊ិនគ្រីប ដោយសារទំហំផ្នែកមិនអាចផ្លាស់ប្តូរបាន ប៉ុន្តែវាអាចត្រូវបានគណនាជាមុខងារមួយចំនួននៃលេខក្បាលអានថាស លេខបទ (ស៊ីឡាំង) និងលេខផ្នែក។ នៅលើផ្លូវ។ ក្នុងករណីនេះ សារការធ្វើសមកាលកម្មត្រូវបានចងភ្ជាប់ទៅនឹងទីតាំងនៃវិស័យនៅលើឌីស ដែលទំនងជាមិនផ្លាស់ប្តូរដោយគ្មានការធ្វើកំណែទម្រង់ថាសនោះទេ ពោលគឺដោយមិនបំផ្លាញទិន្នន័យនៅលើវា។

របៀបហ្គាម៉ាមានមុខងារគួរឱ្យចាប់អារម្មណ៍មួយទៀត។ នៅក្នុងរបៀបនេះ ប៊ីតនៃអារេទិន្នន័យត្រូវបានអ៊ិនគ្រីបដោយឯករាជ្យពីគ្នាទៅវិញទៅមក។ ដូច្នេះ ប៊ីតនីមួយៗនៃអត្ថបទសម្ងាត់អាស្រ័យទៅលើប៊ីតដែលត្រូវគ្នានៃអត្ថបទធម្មតា ហើយជាការពិត លេខលំដាប់នៃប៊ីតក្នុងអារេ៖ . នេះ​បញ្ជាក់​ថា​ការ​ផ្លាស់​ប្តូ​រ​ប៊ីត ciphertext ទៅ​តម្លៃ​ផ្ទុយ​នឹង​នាំ​ឱ្យ​មាន​ការ​ផ្លាស់​ប្តូ​រ​ស្រដៀង​គ្នា​ទៅ​នឹង​តម្លៃ​ផ្ទុយ​នៃ plaintext bit មួយ​:

ដែលជាកន្លែងដែលតំណាងឱ្យបញ្ច្រាសដោយគោរព tតម្លៃប៊ីត () ។

ទ្រព្យសម្បត្តិនេះផ្តល់ឱ្យអ្នកវាយប្រហារនូវឱកាស តាមរយៈការជះឥទ្ធិពលលើប៊ីត ciphertext ដើម្បីធ្វើការផ្លាស់ប្តូរដែលអាចទស្សន៍ទាយបាន និងសូម្បីតែកំណត់គោលដៅចំពោះអត្ថបទធម្មតាដែលត្រូវគ្នាដែលទទួលបានបន្ទាប់ពីការឌិគ្រីប ដោយមិនចាំបាច់មានសោសម្ងាត់។ នេះបង្ហាញពីការពិតដ៏ល្បីនៅក្នុង cryptology នោះ។ ភាព​សម្ងាត់​និង​ភាព​ពិត​ប្រាកដ​គឺ​ជា​លក្ខណៈ​សម្បត្តិ​ខុស​គ្នា​ ប្រព័ន្ធគ្រីប . ម្យ៉ាងវិញទៀត លក្ខណៈសម្បត្តិនៃប្រព័ន្ធគ្រីបតូ ដើម្បីផ្តល់ការការពារប្រឆាំងនឹងការចូលប្រើដោយគ្មានការអនុញ្ញាតចំពោះខ្លឹមសារនៃសារ និងប្រឆាំងនឹងការផ្លាស់ប្តូរសារដែលគ្មានការអនុញ្ញាតគឺឯករាជ្យ ហើយអាចជាន់គ្នាបានតែនៅក្នុងករណីមួយចំនួនប៉ុណ្ណោះ។ នេះមានន័យថាមានក្បួនដោះស្រាយការគ្រីបដែលផ្តល់នូវការសម្ងាត់ជាក់លាក់នៃទិន្នន័យដែលបានអ៊ិនគ្រីប ហើយក្នុងពេលតែមួយមិនការពារប្រឆាំងនឹងការផ្លាស់ប្តូរតាមមធ្យោបាយណាមួយឡើយ ហើយផ្ទុយទៅវិញ ធានានូវភាពត្រឹមត្រូវនៃទិន្នន័យ និងមិនកំណត់លទ្ធភាពក្នុងការស្គាល់ខ្លួនឯងជាមួយ ពួកគេ។ សម្រាប់ហេតុផលនេះ ទ្រព្យសម្បត្តិដែលបានពិចារណានៃរបៀបហ្គាម៉ាមិនគួរត្រូវបានចាត់ទុកថាជាគុណវិបត្តិរបស់វាឡើយ។

ហ្គាម៉ាជាមួយមតិកែលម្អ។

របៀបនេះគឺស្រដៀងទៅនឹងរបៀបហ្គាម៉ា ហើយខុសគ្នាពីវាតែតាមរបៀបដែលធាតុហ្គាម៉ាត្រូវបានបង្កើត - ធាតុហ្គាម៉ាបន្ទាប់ត្រូវបានបង្កើតជាលទ្ធផលនៃការផ្លាស់ប្តូរវដ្ត 32-3 នៃប្លុកមុននៃទិន្នន័យដែលបានអ៊ិនគ្រីប និងដើម្បីអ៊ិនគ្រីប។ ប្លុកទីមួយនៃអារេទិន្នន័យ ធាតុហ្គាម៉ាត្រូវបានបង្កើតជាលទ្ធផលនៃវដ្តនៃការធ្វើសមកាលកម្មនៃការផ្លាស់ប្តូរដូចគ្នា។ នេះសម្រេចបាននូវការបិទខ្សែសង្វាក់ - ប្លុកអក្សរសម្ងាត់នីមួយៗនៅក្នុងរបៀបនេះអាស្រ័យលើប្លុកអត្ថបទធម្មតាដែលត្រូវគ្នា និងពីមុនទាំងអស់។ ដូច្នេះ​របៀប​នេះ​ត្រូវ​បាន​ហៅ​ថា​ពេល​ខ្លះ ល្បែងផ្គុំរូបជាមួយប្លុក . ការពិតដែលថាប្លុកត្រូវបានភ្ជាប់មិនមានឥទ្ធិពលលើកម្លាំងរបស់ cipher ទេ។

ដ្យាក្រាមនៃក្បួនដោះស្រាយការអ៊ិនគ្រីប និងឌិគ្រីបនៅក្នុងរបៀបហ្គាម៉ា ជាមួយនឹងមតិកែលម្អត្រូវបានបង្ហាញក្នុងរូបភាពទី 5 ហើយដោយសារតែភាពសាមញ្ញរបស់វា មិនត្រូវការមតិយោបល់ណាមួយឡើយ។


រូបភាពទី 5. ក្បួនដោះស្រាយសម្រាប់ការអ៊ិនគ្រីប (ឌិគ្រីប) ទិន្នន័យនៅក្នុងរបៀបហ្គាម៉ា ជាមួយនឹងមតិកែលម្អ។

ការអ៊ិនគ្រីបហ្គាម៉ាដែលបិទជិតមានលក្ខណៈពិសេសដូចគ្នាទៅនឹងការអ៊ិនគ្រីបហ្គាម៉ាធម្មតា លើកលែងតែឥទ្ធិពលនៃអំពើពុករលួយនៃអក្សរសម្ងាត់នៅលើអត្ថបទធម្មតាដែលត្រូវគ្នា។ សម្រាប់ការប្រៀបធៀប ចូរសរសេរមុខងារឌិគ្រីបប្លុកសម្រាប់របៀបដែលបានរៀបរាប់ទាំងពីរ៖

អញ្ចាញធ្មេញ;

ហ្គាម៉ាជាមួយមតិកែលម្អ;

ប្រសិនបើនៅក្នុងរបៀបហ្គាម៉ាធម្មតា ការផ្លាស់ប្តូរនៅក្នុងប៊ីតជាក់លាក់នៃអត្ថបទសម្ងាត់ប៉ះពាល់ដល់តែប៊ីតដែលត្រូវគ្នានៃអត្ថបទធម្មតា បន្ទាប់មកនៅក្នុងរបៀបហ្គាម៉ា មតិត្រឡប់រូបភាពមានភាពស្មុគស្មាញបន្តិច។ ដូចដែលអាចមើលឃើញពីសមីការដែលត្រូវគ្នា នៅពេលដែលឌិគ្រីបប្លុកទិន្នន័យនៅក្នុងរបៀបហ្គាម៉ាដែលបិទជិត ប្លុកទិន្នន័យបើកចំហអាស្រ័យលើប្លុកទិន្នន័យដែលត្រូវគ្នា និងដែលបានអ៊ិនគ្រីបពីមុន។ ដូច្នេះហើយ ប្រសិនបើអ្នកណែនាំការបង្ខូចទ្រង់ទ្រាយទៅក្នុងប្លុកដែលបានអ៊ិនគ្រីប នោះបន្ទាប់ពីការឌិគ្រីប ប្លុកទិន្នន័យបើកចំហចំនួនពីរនឹងត្រូវបានបង្ខូចទ្រង់ទ្រាយ - មួយដែលត្រូវគ្នា និងមួយធ្វើតាមវា ហើយការបង្ខូចទ្រង់ទ្រាយនៅក្នុងករណីដំបូងនឹងមានលក្ខណៈដូចគ្នាទៅនឹងរបៀបហ្គាម៉ាដែរ។ ហើយនៅក្នុងករណីទីពីរ - ដូចជានៅក្នុងការជំនួសងាយស្រួល។ ម្យ៉ាងវិញទៀត នៅក្នុងប្លុកដែលត្រូវគ្នានៃទិន្នន័យបើកចំហ ប៊ីតដូចគ្នានឹងត្រូវបានខូចដូចនៅក្នុងប្លុកនៃទិន្នន័យដែលបានអ៊ិនគ្រីប ហើយនៅក្នុងប្លុកបន្ទាប់នៃទិន្នន័យបើកចំហ ប៊ីតទាំងអស់គឺឯករាជ្យពីគ្នាទៅវិញទៅមកជាមួយនឹងប្រូបាប៊ីលីតេ 1 / 2 នឹងផ្លាស់ប្តូរតម្លៃរបស់ពួកគេ។

ការអភិវឌ្ឍន៍ការបញ្ចូលក្លែងធ្វើសម្រាប់អារេទិន្នន័យ។

នៅក្នុងផ្នែកមុន យើងបានពិភាក្សាអំពីផលប៉ះពាល់នៃអំពើពុករលួយនៃទិន្នន័យដែលបានអ៊ិនគ្រីបលើទិន្នន័យធម្មតាដែលត្រូវគ្នា។ យើងបានបង្កើតឡើងថានៅពេលដែលការឌិគ្រីបនៅក្នុងរបៀបជំនួសសាមញ្ញ ប្លុកដែលត្រូវគ្នានៃទិន្នន័យបើកចំហប្រែទៅជាត្រូវបានបង្ខូចទ្រង់ទ្រាយក្នុងវិធីដែលមិនអាចទាយទុកជាមុនបាន ហើយនៅពេលដែលការឌិគ្រីបប្លុកនៅក្នុងរបៀបហ្គាម៉ា ការផ្លាស់ប្តូរអាចព្យាករណ៍បាន។ នៅក្នុងរបៀបហ្គាម៉ារង្វិលជុំបិទ ប្លុកពីរត្រូវបានបង្ខូចទ្រង់ទ្រាយ មួយនៅក្នុងវិធីដែលអាចទស្សន៍ទាយបាន និងមួយទៀតនៅក្នុងវិធីដែលមិនអាចទាយទុកជាមុនបាន។ តើនេះមានន័យថាតាមទស្សនៈនៃការការពារប្រឆាំងនឹងការដាក់ទិន្នន័យមិនពិត របៀបហ្គាម៉ាគឺអាក្រក់ ហើយការជំនួសធម្មតា និងការផ្តល់យោបល់ចំពោះរបៀបហ្គាម៉ាគឺល្អទេ? - ក្នុងករណីណាទេ។ នៅពេលវិភាគស្ថានភាពនេះ ចាំបាច់ត្រូវពិចារណាថាការផ្លាស់ប្តូរដែលមិនអាចទាយទុកជាមុនបាននៅក្នុងប្លុកទិន្នន័យដែលបានឌិគ្រីបអាចត្រូវបានរកឃើញលុះត្រាតែទិន្នន័យដូចគ្នានេះដដែលៗ ហើយកម្រិតនៃការលែងត្រូវការតទៅទៀតនោះ លទ្ធភាពនៃការរកឃើញការបង្ខូចទ្រង់ទ្រាយកាន់តែច្រើន។ ភាពច្របូកច្របល់ធំណាស់កើតឡើង ជាឧទាហរណ៍ សម្រាប់អត្ថបទជាភាសាធម្មជាតិ និងសិប្បនិម្មិត ក្នុងករណីនេះការពិតនៃការបង្ខូចទ្រង់ទ្រាយត្រូវបានរកឃើញស្ទើរតែជៀសមិនរួច។ ទោះជាយ៉ាងណាក៏ដោយ ក្នុងករណីផ្សេងទៀត ជាឧទាហរណ៍ នៅពេលដែលរូបភាពសំឡេងឌីជីថលដែលបានបង្ហាប់ត្រូវបានបង្ខូចទ្រង់ទ្រាយ យើងនឹងទទួលបានរូបភាពខុសគ្នាដែលត្រចៀករបស់យើងអាចយល់បាន។ ការបង្ខូចទ្រង់ទ្រាយក្នុងករណីនេះនឹងនៅតែមិនអាចរកឃើញបាន លុះត្រាតែមានព័ត៌មានជាអាទិភាពអំពីលក្ខណៈនៃសំឡេង។ ការសន្និដ្ឋាននៅទីនេះគឺនេះ៖ ដោយសារសមត្ថភាពនៃរបៀបអ៊ិនគ្រីបមួយចំនួនក្នុងការរកឃើញការបង្ខូចទ្រង់ទ្រាយដែលបានណែនាំទៅក្នុងទិន្នន័យដែលបានអ៊ិនគ្រីបពឹងផ្អែកយ៉ាងសំខាន់ទៅលើវត្តមាន និងកម្រិតនៃការប្រើឡើងវិញនៃទិន្នន័យដែលបានអ៊ិនគ្រីប សមត្ថភាពនេះមិនមែនជាទ្រព្យសម្បត្តិដែលមានស្រាប់នៃរបៀបដែលត្រូវគ្នា ហើយមិនអាចចាត់ទុកថាជា អត្ថប្រយោជន៍របស់ពួកគេ។

ដើម្បីដោះស្រាយបញ្ហានៃការរកឃើញការបង្ខូចទ្រង់ទ្រាយនៅក្នុងអារេទិន្នន័យដែលបានអ៊ិនគ្រីបជាមួយនឹងប្រូបាប៊ីលីតេដែលបានផ្តល់ឱ្យ GOST ផ្តល់នូវរបៀបបន្ថែមនៃការបំលែងគ្រីប - ការអភិវឌ្ឍន៍នៃការបញ្ចូលត្រាប់តាម។ ការបញ្ចូលការក្លែងបន្លំគឺជាការរួមបញ្ចូលគ្នានៃការគ្រប់គ្រងដែលអាស្រ័យលើទិន្នន័យបើកចំហ និងព័ត៌មានសោសម្ងាត់។ គោលបំណងនៃការប្រើប្រាស់ការបញ្ចូលត្រាប់តាមគឺដើម្បីរកមើលការផ្លាស់ប្តូរដោយចៃដន្យ ឬដោយចេតនាទាំងអស់នៅក្នុងអារេព័ត៌មាន។ បញ្ហាដែលបានពិពណ៌នានៅក្នុងកថាខណ្ឌមុនអាចត្រូវបានដោះស្រាយដោយជោគជ័យដោយបន្ថែមការបញ្ចូលត្រាប់តាមទៅនឹងទិន្នន័យដែលបានអ៊ិនគ្រីប។ សម្រាប់អ្នកវាយប្រហារដែលមានសក្តានុពល កិច្ចការពីរខាងក្រោមគឺស្ទើរតែមិនអាចដោះស្រាយបាន ប្រសិនបើគាត់មិនមានគន្លឹះ៖

  • ការគណនានៃការបញ្ចូលត្រាប់តាមសម្រាប់អារេបើកចំហនៃព័ត៌មានដែលបានផ្តល់ឱ្យ;
  • ការជ្រើសរើសទិន្នន័យបើកចំហសម្រាប់ការបញ្ចូលការក្លែងធ្វើដែលបានផ្តល់ឱ្យ;

ដ្យាក្រាមនៃក្បួនដោះស្រាយសម្រាប់បង្កើតការបញ្ចូលក្លែងធ្វើត្រូវបានបង្ហាញក្នុងរូបភាពទី 6 ។


រូបភាពទី 6. ក្បួនដោះស្រាយសម្រាប់បង្កើតការបញ្ចូលក្លែងធ្វើសម្រាប់អារេទិន្នន័យ។

ផ្នែកមួយនៃប្លុកដែលទទួលបាននៅទិន្នផលត្រូវបានយកជាការបញ្ចូលក្លែងធ្វើ ដែលជាធម្មតាវាមាន 32 ប៊ីតដែលមិនសូវសំខាន់។ នៅពេលជ្រើសរើសទំហំនៃការបញ្ចូលក្លែងក្លាយ មនុស្សម្នាក់ត្រូវតែគិតគូរថាប្រូបាប៊ីលីតេនៃការដាក់ទិន្នន័យមិនពិតដោយជោគជ័យគឺស្មើនឹង 2 –| ខ្ញុំ | ក្នុងមួយការប៉ុនប៉ងជ្រើសរើស លុះត្រាតែអ្នកវាយប្រហារមានវិធីសាស្ត្រជ្រើសរើសដ៏មានប្រសិទ្ធភាពជាងការស្មាន។ នៅពេលប្រើការបញ្ចូលក្លែងធ្វើ 32 ប៊ីត ប្រូបាប៊ីលីតេនេះគឺស្មើនឹង

ការពិភាក្សាអំពីក្បួនដោះស្រាយការគ្រីប GOST ។

កម្លាំងគ្រីបតូរបស់ GOST ។

នៅពេលជ្រើសរើសក្បួនដោះស្រាយការគ្រីបសម្រាប់ប្រើក្នុងការអភិវឌ្ឍន៍ជាក់លាក់មួយ កត្តាកំណត់គឺភាពខ្លាំងរបស់វា ពោលគឺការតស៊ូប្រឆាំងនឹងការប៉ុនប៉ងរបស់សត្រូវដើម្បីបង្ហាញវា។ នៅពេលពិនិត្យកាន់តែជិត សំណួរនៃកម្លាំងរបស់ស៊ីបភឺរចុះមកជាសំណួរដែលទាក់ទងគ្នាពីរ៖

  • តើ​វា​អាច​បំបែក​កូដ​សម្ងាត់​នេះ​បាន​ទេ?
  • បើដូច្នេះ តើវាលំបាកប៉ុណ្ណាក្នុងការធ្វើជាក់ស្តែង។

Ciphers ដែល​មិន​អាច​បំបែក​បាន​ទាំង​អស់​ត្រូវ​បាន​ហៅ​ថា​ខ្លាំង​ណាស់​ឬ​ទ្រឹស្តី​។ អត្ថិភាពនៃអក្សរសម្ងាត់បែបនេះត្រូវបានបញ្ជាក់ដោយទ្រឹស្តីបទរបស់ Shannon ប៉ុន្តែតម្លៃនៃកម្លាំងនេះគឺតម្រូវការក្នុងការប្រើសោដើម្បីអ៊ិនគ្រីបសារនីមួយៗដែលមិនមានទំហំតូចជាងសារខ្លួនវានោះទេ។ ក្នុងគ្រប់ករណីទាំងអស់ លើកលែងតែករណីពិសេសមួយចំនួន តម្លៃនេះគឺហួសហេតុ ដូច្នេះក្នុងការអនុវត្តជាក់ស្តែង អក្សរសម្ងាត់ដែលមិនមានសុវត្ថិភាពទាំងស្រុងត្រូវបានប្រើប្រាស់ជាចម្បង។ ដូច្នេះ គ្រោងការណ៍ការអ៊ិនគ្រីបទូទៅបំផុតអាចត្រូវបានខូចក្នុងរយៈពេលកំណត់ ឬច្បាស់ជាងនេះទៅទៀត នៅក្នុងចំនួនកំណត់នៃជំហាន ដែលនីមួយៗគឺជាប្រភេទនៃប្រតិបត្តិការមួយចំនួនលើលេខ។ សម្រាប់ពួកគេ គំនិតសំខាន់បំផុតគឺការតស៊ូអនុវត្តជាក់ស្តែង ដែលបង្ហាញពីការលំបាកជាក់ស្តែងនៃការរកឃើញរបស់ពួកគេ។ រង្វាស់បរិមាណនៃការលំបាកនេះអាចជាចំនួននៃប្រតិបត្តិការនព្វន្ធបឋម និងតក្កវិជ្ជាដែលត្រូវតែអនុវត្តដើម្បីបើកលេខសម្ងាត់ ពោលគឺដើម្បីកំណត់អត្ថបទធម្មតាដែលត្រូវគ្នាសម្រាប់អត្ថបទសម្ងាត់ដែលបានផ្តល់ឱ្យជាមួយនឹងប្រូបាប៊ីលីតេមិនតិចជាងតម្លៃដែលបានផ្តល់ឱ្យ។ ក្នុងពេលជាមួយគ្នានេះ បន្ថែមពីលើអារេទិន្នន័យដែលបានឌិគ្រីប អ្នកវិភាគគ្រីបអាចមានប្លុកទិន្នន័យបើកចំហ និងទិន្នន័យដែលបានអ៊ិនគ្រីបដែលត្រូវគ្នា ឬសូម្បីតែសមត្ថភាពក្នុងការទទួលបានទិន្នន័យដែលបានអ៊ិនគ្រីបដែលត្រូវគ្នាសម្រាប់ទិន្នន័យបើកចំហណាមួយដែលគាត់បានជ្រើសរើស - អាស្រ័យលើបញ្ជីដែលបានរាយ និងជាច្រើនផ្សេងទៀតដែលមិនបានបញ្ជាក់។ លក្ខខណ្ឌ ប្រភេទដាច់ដោយឡែកនៃការវិភាគគ្រីបត្រូវបានសម្គាល់។

ប្រព័ន្ធគ្រីបតូទំនើបទាំងអស់ត្រូវបានបង្កើតឡើងនៅលើគោលការណ៍ Kirchhoff ពោលគឺការសម្ងាត់នៃសារដែលបានអ៊ិនគ្រីបត្រូវបានកំណត់ដោយការសម្ងាត់នៃសោ។ នេះមានន័យថា ទោះបីជាក្បួនដោះស្រាយការអ៊ិនគ្រីបខ្លួនឯងត្រូវបានគេស្គាល់ចំពោះអ្នកសរសេរគ្រីបក៏ដោយ ក៏គាត់មិនអាចឌិគ្រីបសារបានទេ ប្រសិនបើគាត់មិនមានសោដែលសមស្រប។ cipher ត្រូវបានគេចាត់ទុកថាត្រូវបានរចនាឡើងយ៉ាងល្អ ប្រសិនបើគ្មានវិធីដើម្បីបំបែកវាឱ្យមានប្រសិទ្ធភាពជាងដោយ brute force លើចន្លោះគន្លឹះទាំងមូល ពោលគឺឧ។ លើតម្លៃគន្លឹះដែលអាចធ្វើបានទាំងអស់។ GOST ប្រហែលជាត្រូវគ្នាទៅនឹងគោលការណ៍នេះ - អស់រយៈពេលជាច្រើនឆ្នាំនៃការស្រាវជ្រាវដែលពឹងផ្អែកខ្លាំង មិនមែនជាវិធីសាស្រ្តដ៏មានប្រសិទ្ធភាពតែមួយនៃការវិភាគគ្រីបរបស់វាត្រូវបានស្នើឡើងនោះទេ។ បើនិយាយពីកម្លាំងវិញ វាមានបរិមាណច្រើនលើសលប់ទៅនឹងស្តង់ដារអ៊ិនគ្រីបរបស់អាមេរិកមុន DES ។

GOST ប្រើគ្រាប់ចុច 256 ប៊ីត ហើយកម្រិតសំឡេងនៃចន្លោះគន្លឹះគឺ 2,256 ។ គ្មានឧបករណ៍អេឡិចត្រូនិចណាមួយដែលមានស្រាប់ ឬរំពឹងថានឹងត្រូវបានអនុវត្តនាពេលអនាគតដ៏ខ្លីនេះ អាចត្រូវបានប្រើដើម្បីយកកូនសោរក្នុងរយៈពេលតិចជាងរាប់រយឆ្នាំនោះទេ។ តម្លៃនេះបានក្លាយជាស្តង់ដារទំហំគន្លឹះជាក់ស្តែងសម្រាប់ក្បួនដោះស្រាយការគ្រីបស៊ីមេទ្រីនាពេលបច្ចុប្បន្ននេះ ហើយស្តង់ដារការអ៊ិនគ្រីបថ្មីរបស់សហរដ្ឋអាមេរិកក៏គាំទ្រវាផងដែរ។ អតីតស្តង់ដារអាមេរិក DES ដែលមានទំហំសោពិតប្រាកដ 56 ប៊ីត និងទំហំគ្រាប់ចុចត្រឹមតែ 2 56 លែងមានស្ថេរភាពគ្រប់គ្រាន់ទៀតហើយ ដោយសារសមត្ថភាពរបស់ឧបករណ៍កុំព្យូទ័រទំនើប។ នេះត្រូវបានបង្ហាញនៅចុងទសវត្សរ៍ទី 90 ដោយការប៉ុនប៉ងកម្លាំង brute ជោគជ័យជាច្រើនដើម្បីបំបែក DES ។ លើសពីនេះ DES ងាយនឹងប្រើបច្ចេកទេស cryptanalysis ពិសេសដូចជាឌីផេរ៉ង់ស្យែល និងលីនេអ៊ែរ។ ក្នុងន័យនេះ DES ប្រហែលជាចាប់អារម្មណ៍លើការស្រាវជ្រាវ ឬវិទ្យាសាស្រ្តជាជាងការចាប់អារម្មណ៍ជាក់ស្តែង។ នៅឆ្នាំ 1998 ភាពទន់ខ្សោយនៃគ្រីបគ្រីបរបស់វាត្រូវបានទទួលស្គាល់ជាផ្លូវការ - វិទ្យាស្ថានស្តង់ដារជាតិរបស់សហរដ្ឋអាមេរិកបានផ្តល់អនុសាសន៍ឱ្យប្រើប្រាស់ការអ៊ិនគ្រីប DES បីដង។ ហើយនៅចុងបញ្ចប់នៃឆ្នាំ 2001 ស្តង់ដារការអ៊ិនគ្រីបថ្មីរបស់សហរដ្ឋអាមេរិក AES ត្រូវបានអនុម័តជាផ្លូវការ ដោយបានបង្កើតឡើងនៅលើគោលការណ៍ផ្សេងៗគ្នា និងមិនមានការខ្វះខាតរបស់អ្នកកាន់តំណែងមុននោះទេ។

កំណត់ចំណាំលើស្ថាបត្យកម្ម GOST ។

វាត្រូវបានគេស្គាល់យ៉ាងច្បាស់ថាស្តង់ដារការអ៊ិនគ្រីបក្នុងស្រុកគឺជាតំណាងនៃគ្រួសារទាំងមូលនៃអ្នកសរសេរកូដដែលបានបង្កើតឡើងនៅលើគោលការណ៍ដូចគ្នា។ "សាច់ញាតិ" ដ៏ល្បីល្បាញបំផុតរបស់វាគឺស្តង់ដារការអ៊ិនគ្រីបរបស់អាមេរិកដែលជាក្បួនដោះស្រាយ DES ។ លេខសម្ងាត់ទាំងអស់នេះដូចជា GOST មានក្បួនដោះស្រាយបីកម្រិត។ នៅស្នូលតែងតែមាន "ជំហានមូលដ្ឋាន" ជាក់លាក់មួយ ដោយផ្អែកលើ "វដ្តមូលដ្ឋាន" ត្រូវបានបង្កើតឡើងតាមរបៀបស្រដៀងគ្នា ហើយនៅលើមូលដ្ឋាននៃនីតិវិធីជាក់ស្តែងសម្រាប់ការអ៊ិនគ្រីប និងការអភិវឌ្ឍន៍នៃការបញ្ចូលត្រាប់តាមត្រូវបានសាងសង់។ ដូច្នេះ ភាពជាក់លាក់នៃអក្សរសម្ងាត់នីមួយៗនៃគ្រួសារនេះ ស្ថិតនៅយ៉ាងជាក់លាក់នៅក្នុងជំហានចម្បងរបស់វា ឬផ្ទុយទៅវិញនៅក្នុងផ្នែករបស់វា។ ទោះបីជាស្ថាបត្យកម្មនៃប្លុកបុរាណដែល GOST សំដៅលើវាហួសពីវិសាលភាពនៃអត្ថបទនេះក៏ដោយវានៅតែមានតម្លៃនិយាយពាក្យពីរបីអំពីវា។

ក្បួនដោះស្រាយសម្រាប់ "ជំហានសំខាន់នៃការផ្លាស់ប្តូរគ្រីបតូ" សម្រាប់អក្សរសម្ងាត់ដូចជា GOST ត្រូវបានបង្កើតឡើងតាមរបៀបដូចគ្នាបេះបិទ ហើយស្ថាបត្យកម្មនេះត្រូវបានគេហៅថា បណ្តាញ Feistel មានតុល្យភាព (បណ្តាញ Feistel មានតុល្យភាព) បន្ទាប់ពីឈ្មោះរបស់អ្នកដែលបានស្នើឡើងដំបូង។ គ្រោងការណ៍បំប្លែងទិន្នន័យនៅលើវដ្តមួយ ឬដូចដែលវាត្រូវបានគេហៅជាទូទៅថា ជុំ ត្រូវបានបង្ហាញក្នុងរូបភាពទី 7 ។


រូបភាពទី 7. ខ្លឹមសារនៃជំហានសំខាន់នៃការផ្លាស់ប្តូរគ្រីបតូសម្រាប់ប្លុកស៊ីបដែលស្រដៀងនឹង GOST ។

ប្លុកនៃទំហំស្មើគ្នាត្រូវបានផ្គត់ផ្គង់ទៅការបញ្ចូលនៃជំហានសំខាន់ ដែលពាក់កណ្តាលខ្ពស់ជាង និងខាងក្រោមត្រូវបានដំណើរការដាច់ដោយឡែកពីគ្នាទៅវិញទៅមក។ កំឡុងពេលបំប្លែង ពាក់កណ្តាលខាងក្រោមនៃប្លុកត្រូវបានដាក់ជំនួសពាក់កណ្តាលចាស់ ហើយពាក់កណ្តាលដែលចាស់ជាង រួមបញ្ចូលគ្នាដោយប្រើប្រតិបត្តិការប៊ីត ផ្តាច់មុខឬ ” ជាមួយនឹងលទ្ធផលនៃការគណនាមុខងារជាក់លាក់មួយ ជំនួសកូនពៅ។ មុខងារនេះយកជាអាគុយម៉ង់ពាក់កណ្តាលទាបនៃប្លុក និងធាតុព័ត៌មានសំខាន់ ( X) គឺជាផ្នែកនៃខ្លឹមសារនៃស៊ីបភឺរ ហើយត្រូវបានគេហៅថា មុខងារអ៊ិនគ្រីប . សម្រាប់ហេតុផលផ្សេងៗ វាបានក្លាយទៅជាអត្ថប្រយោជន៍ក្នុងការបែងចែកប្លុកដែលបានអ៊ិនគ្រីបជាពីរផ្នែកនៃទំហំស្មើគ្នា៖ | 1 |=|២ | - ការពិតនេះត្រូវបានឆ្លុះបញ្ចាំងដោយពាក្យ "តុល្យភាព" នៅក្នុងឈ្មោះនៃស្ថាបត្យកម្ម។ ទោះជាយ៉ាងណាក៏ដោយ ការអ៊ិនគ្រីបបណ្តាញដែលមិនមានតុល្យភាពក៏ត្រូវបានប្រើប្រាស់ពីមួយពេលទៅមួយផងដែរ ទោះបីជាមិនញឹកញាប់ដូចបណ្តាញដែលមានតុល្យភាពក៏ដោយ។ លើសពីនេះទៀតការពិចារណានៃកម្លាំង cipher តម្រូវឱ្យទំហំនៃធាតុសំខាន់មិនគួរតិចជាងទំហំនៃប្លុកពាក់កណ្តាល: នៅក្នុង GOST ទំហំទាំងបីគឺស្មើនឹង 32 ប៊ីត។ .

ប្រសិនបើយើងអនុវត្តខាងលើទៅនឹងដ្យាក្រាមនៃជំហានសំខាន់នៃក្បួនដោះស្រាយ GOST វានឹងក្លាយជាជាក់ស្តែងដែលប្លុក 1,2,3 នៃក្បួនដោះស្រាយ (សូមមើលរូបទី 1) កំណត់ការគណនាមុខងារនៃការអ៊ិនគ្រីបរបស់វា ហើយប្លុក 4 និង 5 បញ្ជាក់ការបង្កើតប្លុកលទ្ធផលនៃជំហានសំខាន់ដោយផ្អែកលើខ្លឹមសារនៃប្លុកបញ្ចូល និងតម្លៃមុខងារអ៊ិនគ្រីប។ ព័ត៌មានលម្អិតបន្ថែមអំពីស្ថាបត្យកម្មនៃប្លុកស៊ីបទំនើបដែលមានសោសម្ងាត់អាចត្រូវបានរកឃើញនៅក្នុងស្នាដៃបុរាណ ឬក្នុងទម្រង់កែសម្រួលនៅក្នុងស្នាដៃរបស់ខ្ញុំ។

នៅក្នុងផ្នែកមុនយើងបានប្រៀបធៀប DES និង GOST រួចហើយទាក់ទងនឹងភាពធន់ឥឡូវនេះយើងនឹងប្រៀបធៀបវាទាក់ទងនឹងមាតិកាមុខងារនិងភាពងាយស្រួលនៃការអនុវត្ត។ នៅក្នុងវដ្តនៃការអ៊ិនគ្រីប GOST ជំហានសំខាន់ត្រូវបានធ្វើម្តងទៀតចំនួន 32 ដង សម្រាប់ DES តម្លៃនេះគឺ 16 ។ ទោះជាយ៉ាងណាក៏ដោយ មុខងារអ៊ិនគ្រីប GOST ខ្លួនវាគឺសាមញ្ញជាងមុខងារ DES ស្រដៀងគ្នាដែលមានការផ្លាស់ប្តូរប៊ីតមិនទៀងទាត់ជាច្រើន។ ប្រតិបត្តិការ​ទាំងនេះ​គឺ​គ្មាន​ប្រសិទ្ធភាព​ខ្លាំង​លើ​ប្រព័ន្ធ​ដំណើរការ​ដែល​មិន​មាន​ជំនាញ​ទំនើបៗ។ GOST មិនមានប្រតិបត្តិការបែបនេះទេ ដូច្នេះវាកាន់តែងាយស្រួលសម្រាប់ការអនុវត្តកម្មវិធី។

គ្មានការអនុវត្ត DES សម្រាប់វេទិកា Intel x86 ដែលត្រូវបានពិនិត្យឡើងវិញដោយអ្នកនិពន្ធឈានដល់សូម្បីតែពាក់កណ្តាលនៃការអនុវត្ត GOST ដែលបានស្នើឡើងក្នុងអត្ថបទនេះ ទោះបីជាវដ្តខ្លីជាងពីរដងក៏ដោយ។ ទាំងអស់ខាងលើបង្ហាញថាអ្នកអភិវឌ្ឍន៍ GOST បានគិតគូរទាំងទិដ្ឋភាពវិជ្ជមាន និងអវិជ្ជមាននៃ DES ហើយថែមទាំងបានវាយតម្លៃជាក់ស្តែងបន្ថែមទៀតអំពីសមត្ថភាពបច្ចុប្បន្ន និងអនាគតនៃ cryptanalysis ។ ទោះជាយ៉ាងណាក៏ដោយ ការយក DES ជាមូលដ្ឋាននៅពេលប្រៀបធៀបការអនុវត្តនៃការអនុវត្តកូដសម្ងាត់គឺមិនពាក់ព័ន្ធទៀតទេ។ ស្តង់ដារការអ៊ិនគ្រីបថ្មីរបស់សហរដ្ឋអាមេរិកកំពុងដំណើរការកាន់តែល្អប្រសើរជាមួយនឹងប្រសិទ្ធភាព - ជាមួយនឹងទំហំសោដូចគ្នានឹង GOST (256 ប៊ីត) AES ដំណើរការលឿនជាងប្រហែល 14% - នេះគឺបើប្រៀបធៀបទៅនឹងចំនួន "ប្រតិបត្តិការបឋម" ។ លើសពីនេះទៀត GOST អនុវត្តមិនអាចស្របគ្នាបានទេខណៈពេលដែល AES មានលទ្ធភាពច្រើនទៀតក្នុងរឿងនេះ។ នៅលើស្ថាបត្យកម្មមួយចំនួន អត្ថប្រយោជន៍នៃ AES នេះប្រហែលជាតិចជាង ហើយនៅលើស្ថាបត្យកម្មផ្សេងទៀតវាអាចធំជាង។ ដូច្នេះនៅលើប្រព័ន្ធដំណើរការ Intel Pentium វាឈានដល់ 28% ។ ព័ត៌មានលម្អិតអាចរកបាននៅក្នុង។

តម្រូវការសម្រាប់គុណភាពនៃព័ត៌មានសំខាន់ៗ និងប្រភពនៃកូនសោ។

មិនមែនគ្រាប់ចុច និងតារាងជំនួសទាំងអស់ផ្តល់នូវកម្លាំងសម្ងាត់អតិបរមាទេ។ ក្បួនដោះស្រាយការអ៊ិនគ្រីបនីមួយៗមានលក្ខណៈវិនិច្ឆ័យផ្ទាល់ខ្លួនសម្រាប់វាយតម្លៃព័ត៌មានសំខាន់ៗ។ ដូច្នេះសម្រាប់ក្បួនដោះស្រាយ DES វាត្រូវបានគេដឹងថាមានអ្វីដែលហៅថា " គ្រាប់ចុចខ្សោយ " នៅពេលប្រើ ការតភ្ជាប់រវាងទិន្នន័យបើកចំហ និងទិន្នន័យដែលបានអ៊ិនគ្រីបមិនត្រូវបានបិទបាំងគ្រប់គ្រាន់ទេ ហើយលេខកូដសម្ងាត់ត្រូវបានខូចយ៉ាងងាយ។

ប្រសិនបើចម្លើយដ៏ទូលំទូលាយចំពោះសំណួរអំពីលក្ខណៈវិនិច្ឆ័យគុណភាពនៃគ្រាប់ចុច GOST និងតារាងជំនួសអាចទទួលបាននៅគ្រប់ទីកន្លែងនោះ វាអាចមកពីអ្នកអភិវឌ្ឍន៍នៃក្បួនដោះស្រាយប៉ុណ្ណោះ។ ទិន្នន័យ​ដែល​ពាក់ព័ន្ធ​មិន​ត្រូវ​បាន​ចុះ​ផ្សាយ​ក្នុង​សារព័ត៌មាន​បើក​ចំហ​ទេ។ ទោះយ៉ាងណាក៏ដោយ យោងតាមនីតិវិធីដែលបានបង្កើតឡើង ដើម្បីអ៊ិនគ្រីបព័ត៌មានដែលបានចាត់ថ្នាក់ ទិន្នន័យគន្លឹះដែលទទួលបានពីអង្គការដែលមានការអនុញ្ញាតត្រូវតែប្រើ។ ដោយប្រយោល នេះអាចបង្ហាញពីវត្តមាននៃវិធីសាស្រ្តសម្រាប់ពិនិត្យមើលទិន្នន័យសំខាន់ៗសម្រាប់ចៃ។ ប្រសិនបើវត្តមាននៃសោខ្សោយនៅក្នុង GOST គឺជាបញ្ហាដែលអាចជជែកវែកញែកបាននោះ វត្តមានរបស់ឧបករណ៍ជំនួសខ្សោយគឺហួសពីការសង្ស័យ។ ជាក់ស្តែង តារាងជំនួស "មិនសំខាន់" យោងទៅតាមតម្លៃណាមួយត្រូវបានជំនួសដោយខ្លួនវា គឺខ្សោយណាស់ដែលនៅពេលប្រើវា លេខសម្ងាត់អាចត្រូវបានបំបែកដោយសាមញ្ញ មិនថាសោអ្វីនោះទេ។

ដូចដែលបានកត់សម្គាល់ខាងលើ លក្ខណៈវិនិច្ឆ័យសម្រាប់ការវាយតម្លៃព័ត៌មានសំខាន់ៗមិនមានទេ ប៉ុន្តែការពិចារណាទូទៅមួយចំនួននៅតែអាចត្រូវបានធ្វើឡើងអំពីព័ត៌មានទាំងនោះ។

សោ

គន្លឹះត្រូវតែជាអារេនៃប៊ីតឯករាជ្យស្ថិតិដែលយកតម្លៃ 0 និង 1 ជាមួយនឹងប្រូបាប៊ីលីតេស្មើគ្នា វាមិនអាចត្រូវបានបដិសេធទាំងស្រុងថាតម្លៃគន្លឹះជាក់លាក់មួយចំនួនអាចប្រែទៅជា "ខ្សោយ" នោះគឺជាតម្លៃ។ cipher ប្រហែលជាមិនផ្តល់កម្រិតនៃកម្លាំងជាក់លាក់ទេ ប្រសិនបើប្រើ។ ទោះជាយ៉ាងណាក៏ដោយសន្មតថាសមាមាត្រនៃតម្លៃបែបនេះនៅក្នុងម៉ាស់សរុបនៃគ្រាប់ចុចដែលអាចធ្វើបានទាំងអស់គឺតិចតួចណាស់។ យ៉ាងហោចណាស់ ការស្រាវជ្រាវដែលពឹងផ្អែកខ្លាំងលើលេខកូដសម្ងាត់មិនទាន់បានបង្ហាញពីគន្លឹះបែបនេះសម្រាប់តារាងជំនួសដែលគេស្គាល់ណាមួយ (ឧ. ស្នើដោយ FAPSI) ទេ។ ដូច្នេះ សោដែលបានបង្កើតដោយប្រើឧបករណ៍ចាប់សញ្ញាលេខចៃដន្យពិតប្រាកដមួយចំនួននឹងមានគុណភាពខ្ពស់ជាមួយនឹងប្រូបាប៊ីលីតេដែលខុសគ្នាពីការរួបរួមដោយចំនួនតិចតួច។ ប្រសិនបើសោត្រូវបានបង្កើតដោយប្រើម៉ាស៊ីនបង្កើតលេខចៃដន្យ នោះម៉ាស៊ីនភ្លើងដែលប្រើត្រូវតែផ្តល់លក្ខណៈស្ថិតិខាងលើ ហើយលើសពីនេះទៀតមានកម្លាំងគ្រីបគ្រីបខ្ពស់ - មិនតិចជាង GOST ខ្លួនឯងនោះទេ។ ម៉្យាងទៀតភារកិច្ចកំណត់សមាជិកដែលបាត់នៃលំដាប់នៃធាតុដែលបង្កើតដោយម៉ាស៊ីនភ្លើងមិនគួរមានលក្ខណៈសាមញ្ញជាងភារកិច្ចនៃការបំបែកលេខសម្ងាត់នោះទេ។ លើសពីនេះ លក្ខណៈវិនិច្ឆ័យស្ថិតិផ្សេងៗអាចត្រូវបានប្រើដើម្បីបដិសេធសោដែលមានលក្ខណៈស្ថិតិមិនល្អ។ នៅក្នុងការអនុវត្ត ជាធម្មតាលក្ខណៈវិនិច្ឆ័យពីរគឺគ្រប់គ្រាន់៖ ដើម្បីពិនិត្យមើលការចែកចាយប៊ីតសំខាន់ៗរវាងតម្លៃ 0 និង 1 ស្មើគ្នា ការធ្វើតេស្ត Pearson (chi square) ជាធម្មតាត្រូវបានប្រើ ហើយដើម្បីពិនិត្យមើលភាពឯករាជ្យនៃប៊ីតគន្លឹះ ការធ្វើតេស្តដំណើរការត្រូវបានប្រើ។ . អ្នកអាចអានអំពីលក្ខណៈវិនិច្ឆ័យដែលបានរៀបរាប់នៅក្នុងសៀវភៅសិក្សា ឬសៀវភៅយោងស្តីពីស្ថិតិគណិតវិទ្យា។

វិធីសាស្រ្តដ៏ល្អបំផុតសម្រាប់ការបង្កើតសោគឺត្រូវប្រើឧបករណ៍ចាប់សញ្ញាកម្រិតមធ្យមផ្នែករឹង ប៉ុន្តែវាមិនតែងតែអាចទទួលយកបានសម្រាប់ហេតុផលសេដ្ឋកិច្ច។ នៅពេលបង្កើតអារេតូចមួយនៃព័ត៌មានគន្លឹះ ជម្រើសសមហេតុផលក្នុងការប្រើប្រាស់ឧបករណ៍ចាប់សញ្ញាបែបនេះគឺវិធីសាស្ត្រ "រ៉ូឡែតអេឡិចត្រូនិច" ដែលត្រូវបានគេប្រើយ៉ាងទូលំទូលាយនៅក្នុងការអនុវត្ត នៅពេលដែលផ្នែកដែលបានបង្កើតបន្ទាប់នៃប៊ីតចៃដន្យអាស្រ័យលើពេលវេលាដែលប្រតិបត្តិករចុច គ្រាប់ចុចជាក់លាក់នៅលើក្តារចុចកុំព្យូទ័រ។ នៅក្នុងគ្រោងការណ៍នេះប្រភពនៃទិន្នន័យចៃដន្យគឺជាអ្នកប្រើប្រាស់កុំព្យូទ័រឬច្បាស់ជាងនេះទៅទៀតលក្ខណៈពេលវេលានៃប្រតិកម្មរបស់គាត់។ ក្នុងករណីនេះ ទិន្នន័យចៃដន្យតែពីរបីប៊ីតប៉ុណ្ណោះអាចបង្កើតបានក្នុងមួយគ្រាប់ចុច ដូច្នេះល្បឿនសរុបនៃការបង្កើតព័ត៌មានគន្លឹះគឺទាប - រហូតដល់ច្រើនប៊ីតក្នុងមួយវិនាទី។ ជាក់ស្តែង វិធីសាស្រ្តនេះមិនស័ក្តិសមសម្រាប់ការទទួលបានគ្រាប់ចុចធំៗទេ។

ក្នុងករណីដែលចាំបាច់ត្រូវបង្កើតអារេដ៏ធំនៃព័ត៌មានសំខាន់ៗ ការប្រើប្រាស់ឧបករណ៍ចាប់សញ្ញាលេខចៃដន្យនៃកម្មវិធីផ្សេងៗគឺអាចធ្វើទៅបាន និងរីករាលដាលយ៉ាងខ្លាំង។ ដោយសារឧបករណ៍ចាប់សញ្ញាបែបនេះតម្រូវឱ្យមានកម្រិតខ្ពស់នៃកម្លាំងគ្រីបគ្រីប វាជារឿងធម្មតាទេក្នុងការប្រើម៉ាស៊ីនបង្កើតហ្គាម៉ានៃស៊ីបភឺរដោយខ្លួនវា - យើងគ្រាន់តែ "កាត់" ហ្គាម៉ាដែលបង្កើតដោយលេខកូដទៅជា "បំណែក" នៃទំហំដែលត្រូវការសម្រាប់ GOST - 32 បៃ ជាការពិតណាស់ សម្រាប់វិធីសាស្រ្តនេះ យើងនឹងត្រូវការ "គន្លឹះមេ" ដែលយើងអាចទទួលបានដោយប្រើវិធីសាស្ត្ររ៉ូឡែតអេឡិចត្រូនិចដែលបានពិពណ៌នាខាងលើ ហើយជាមួយនឹងជំនួយរបស់វា ដោយប្រើលេខសម្ងាត់នៅក្នុងរបៀបបង្កើតហ្គាម៉ា យើងទទួលបានអារេនៃព័ត៌មានសំខាន់ៗនៃទំហំ យើង​ត្រូវការ។ ដូច្នេះវិធីសាស្រ្តទាំងពីរនេះនៃការបង្កើតកូនសោ - "សៀវភៅដៃ" និង "ក្បួនដោះស្រាយ" - ធ្វើការរួមគ្នាដោយបំពេញគ្នាទៅវិញទៅមក។ គ្រោងការណ៍បង្កើតកូនសោនៅក្នុងប្រព័ន្ធការពារការគ្រីបព៌ត័មាន "ថវិកាទាប" ស្ទើរតែតែងតែត្រូវបានបង្កើតឡើងនៅលើគោលការណ៍នេះ។

តារាងជំនួស

តារាងជំនួសគឺជាធាតុគន្លឹះរយៈពេលវែង ពោលគឺវាមានសុពលភាពសម្រាប់រយៈពេលវែងជាងគន្លឹះតែមួយ។ វាត្រូវបានសន្មត់ថាវាជារឿងធម្មតាសម្រាប់ថ្នាំងអ៊ិនគ្រីបទាំងអស់នៅក្នុងប្រព័ន្ធការពារគ្រីបគ្រីបដូចគ្នា។ ទោះបីជាការរក្សាការសម្ងាត់នៃតារាងជំនួសត្រូវបានរំលោភក៏ដោយ កម្លាំងរបស់ cipher នៅតែខ្ពស់ខ្លាំង ហើយមិនថយចុះក្រោមដែនកំណត់ដែលអាចអនុញ្ញាតបាននោះទេ។ ដូច្នេះមិនចាំបាច់រក្សាការសម្ងាត់នៃតារាងទេហើយនៅក្នុងកម្មវិធីពាណិជ្ជកម្មភាគច្រើននៃ GOST នេះត្រូវបានធ្វើ។ ម៉្យាងវិញទៀត តារាងជំនួសគឺជាធាតុសំខាន់សម្រាប់ធានានូវភាពរឹងមាំនៃលេខសម្ងាត់ទាំងមូល។ ការជ្រើសរើសតារាងខុសអាចបណ្តាលឱ្យលេខកូដសម្ងាត់ត្រូវបានបំបែកយ៉ាងងាយស្រួលដោយបច្ចេកទេសគ្រីបគ្រីបដែលគេស្គាល់។ លក្ខណៈវិនិច្ឆ័យសម្រាប់ការអភិវឌ្ឍអង្គភាពជំនួសគឺជាការសម្ងាត់ដែលត្រូវបានការពារយ៉ាងជិតស្និទ្ធ ហើយ FAPSI ទំនងជាមិនចែករំលែកវាជាមួយសាធារណៈជនក្នុងពេលអនាគតដ៏ខ្លីខាងមុខ។ នៅទីបំផុត ការប្រាប់ថាតើតារាងជំនួសដែលផ្តល់ឱ្យគឺល្អ ឬអាក្រក់ តម្រូវឱ្យមានការងារយ៉ាងច្រើន ពោលគឺមនុស្សរាប់ពាន់នាក់ និងម៉ោងម៉ាស៊ីន។ នៅពេលដែលបានជ្រើសរើស និងប្រើប្រាស់ តារាងត្រូវតែត្រូវបានជំនួសប្រសិនបើ និងលុះត្រាតែលេខកូដដែលប្រើវាប្រែទៅជាងាយរងគ្រោះទៅនឹងប្រភេទមួយ ឬប្រភេទមួយផ្សេងទៀតនៃ cryptanalysis ។ ដូច្នេះ ជម្រើសដ៏ល្អបំផុតសម្រាប់អ្នកប្រើលេខកូដមធ្យមគឺត្រូវយកតារាងមួយក្នុងចំណោមតារាងជាច្រើនដែលបានក្លាយជាសាធារណៈ។ ឧទាហរណ៍ ពីស្តង់ដារសម្រាប់មុខងារ hash ដែលត្រូវបានគេស្គាល់ផងដែរថាជាមុខងារ "ធនាគារកណ្តាល" ។ ព័ត៌មានអំពីតារាងទាំងនេះអាចរកបាននៅក្នុងសារព័ត៌មានបើកចំហ និងសូម្បីតែនៅលើអ៊ីនធឺណិត ប្រសិនបើអ្នកមើលទៅពិបាកគ្រប់គ្រាន់។

សម្រាប់​អ្នក​ដែល​មិន​ធ្លាប់​ប្រើ​ប្រាស់​ផ្លូវ​ងាយ​ស្រួល ខាង​ក្រោម​នេះ​ជា​គ្រោងការណ៍​ទូទៅ​សម្រាប់​ការ​ទទួល​បាន​តារាង​ដែល​មាន​គុណភាព​ខ្ពស់៖

  1. ដោយប្រើបច្ចេកទេសមួយ ឬមួយផ្សេងទៀត អ្នកបង្កើតសំណុំនៃឯកតាជំនួសចំនួនប្រាំបីជាមួយនឹងលក្ខណៈមិនលីនេអ៊ែរដែលត្រូវបានធានា។ មានបច្ចេកទេសបែបនេះជាច្រើនដែលមួយក្នុងចំណោមពួកគេគឺការប្រើមុខងារពត់កោង។
  2. អ្នកពិនិត្យមើលការបំពេញ "លក្ខណៈវិនិច្ឆ័យគុណភាព" សាមញ្ញបំផុត - ឧទាហរណ៍ ដែលត្រូវបានបោះពុម្ពសម្រាប់ថ្នាំងជំនួស DES ។ នេះគឺជាការពិចារណាទូទៅមួយចំនួនបន្ថែមទៀតនៅក្នុងរឿងនេះ៖ ថ្នាំងជំនួសនីមួយៗអាចត្រូវបានពិពណ៌នាដោយមុខងារឡូជីខលចំនួនបួនពីអាគុយម៉ង់ឡូជីខលចំនួនបួន។ ប្រសិនបើមុខងារទាំងនេះត្រូវបានសរសេរ ទម្រង់អប្បបរមា(ឧ. ជាមួយនឹងប្រវែងកន្សោមអប្បបរមា) នឹងមិនស្មុគស្មាញគ្រប់គ្រាន់ទេ ថ្នាំងជំនួសបែបនេះត្រូវបានច្រានចោល។ លើសពីនេះទៀត មុខងារបុគ្គលនៅក្នុងតារាងជំនួសទាំងមូលត្រូវតែមានភាពខុសគ្នាគ្រប់គ្រាន់ពីគ្នាទៅវិញទៅមក។ នៅដំណាក់កាលនេះ តារាងគុណភាពទាបជាច្រើនត្រូវបានលុបចោល។
  3. សម្រាប់លេខសម្ងាត់ដែលមានតារាងនៃជម្រើសរបស់អ្នក បង្កើតគំរូជុំផ្សេងៗគ្នាដែលត្រូវគ្នានឹងប្រភេទផ្សេងគ្នានៃការវិភាគគ្រីប និងវាស់លក្ខណៈ "ទម្រង់" ដែលត្រូវគ្នា។ ដូច្នេះ សម្រាប់ការវិភាគការគ្រីបលីនេអ៊ែរ បង្កើតអាណាឡូកស្ថិតិលីនេអ៊ែរនៃជុំនៃការអ៊ិនគ្រីប ហើយគណនាលក្ខណៈ "ទម្រង់" ដែលជាសូចនាករនៃភាពមិនលីនេអ៊ែរ។ ប្រសិនបើវាមិនគ្រប់គ្រាន់ តារាងជំនួសត្រូវបានបដិសេធ។
  4. ជាចុងក្រោយ ដោយប្រើលទ្ធផលនៃកថាខណ្ឌមុន អ្នកដាក់បញ្ចូលលេខសម្ងាត់ជាមួយនឹងតារាងដែលអ្នកបានជ្រើសរើសក្នុងការស្រាវជ្រាវដែលពឹងផ្អែកខ្លាំង - ការប៉ុនប៉ងក្នុងការវិភាគគ្រីបដោយប្រើវិធីសាស្រ្តដែលគេស្គាល់ទាំងអស់។ ដំណាក់កាល​នេះ​គឺ​ពិបាក​បំផុត និង​ចំណាយ​ពេល​ច្រើន​ជាង​គេ។ ប៉ុន្តែប្រសិនបើវាត្រូវបានផលិតឡើងដោយគុណភាពខ្ពស់ នោះជាមួយនឹងកម្រិតខ្ពស់នៃប្រូបាប៊ីលីតេ គេអាចបញ្ជាក់បានថា លេខសម្ងាត់ជាមួយនឹងតារាងដែលអ្នកបានជ្រើសរើសនឹងមិនត្រូវបានបំបែកដោយគ្រាន់តែមនុស្សស្លាប់នោះទេ ហើយវាអាចនឹងពិបាកពេកសម្រាប់ភាពវៃឆ្លាត។ សេវាកម្ម។

ទោះយ៉ាងណាក៏ដោយ អ្នកអាចធ្វើវាបានកាន់តែងាយស្រួល។ រឿងនេះគឺថា ជុំកាន់តែច្រើននៅក្នុង cipher ឥទ្ធិពលតិចនៃលក្ខណៈកម្លាំងនៃជុំមួយមានលើកម្លាំងនៃ cipher ទាំងមូល។ GOST មានច្រើនរហូតដល់ 32 ជុំ - ច្រើនជាងស្ទើរតែទាំងអស់ដែលមានស្ថាបត្យកម្មស្រដៀងគ្នា។ ដូច្នេះហើយ សម្រាប់កម្មវិធីក្នុងស្រុក និងពាណិជ្ជកម្មភាគច្រើន វាគ្រប់គ្រាន់ហើយក្នុងការទទួលបានថ្នាំងជំនួស ជាការបំលែងចៃដន្យដោយឯករាជ្យនៃលេខពី 0 ដល់ 15។ វាអាចត្រូវបានអនុវត្តជាក់ស្តែង ឧទាហរណ៍ដោយការសាប់សន្លឹកបៀចំនួន 16 សន្លឹក ដែលនីមួយៗត្រូវបានផ្តល់ឱ្យមួយក្នុងចំណោម តម្លៃនៃជួរដែលបានបញ្ជាក់។

ទាក់ទងនឹងតារាងជំនួស ការពិតគួរឱ្យចាប់អារម្មណ៍មួយទៀតគួរតែត្រូវបានកត់សម្គាល់។ សម្រាប់ភាពបញ្ច្រាសនៃវដ្តនៃការអ៊ិនគ្រីប "32-З" និង "32-Р" វាមិនត្រូវបានទាមទារថាថ្នាំងជំនួសគឺជាការបំប្លែងលេខពី 0 ដល់ 15 ទេ។ អ្វីគ្រប់យ៉ាងដំណើរការទោះបីជាថ្នាំងជំនួសមានធាតុស្ទួនក៏ដោយ និងការជំនួស កំណត់ដោយថ្នាំងបែបនេះ គឺមិនអាចត្រឡប់វិញបានទេ ប៉ុន្តែក្នុងករណីនេះកម្លាំងនៃស៊ីបភឺរត្រូវបានកាត់បន្ថយ។ ហេតុអ្វីបានជានេះពិតជាដូច្នេះមិនត្រូវបានពិភាក្សានៅក្នុងអត្ថបទនេះ ប៉ុន្តែវាមិនពិបាកក្នុងការផ្ទៀងផ្ទាត់ការពិតដោយខ្លួនឯងនោះទេ។ ដើម្បីធ្វើដូចនេះ វាគ្រប់គ្រាន់ហើយក្នុងការព្យាយាមអ៊ិនគ្រីបជាមុនសិន ហើយបន្ទាប់មកឌិគ្រីបប្លុកទិន្នន័យដោយប្រើតារាងជំនួស "មិនពេញលេញ" បែបនេះ ដែលជាថ្នាំងដែលមានតម្លៃស្ទួន។

ការប្រែប្រួលលើប្រធានបទ GOST

ជាញឹកញាប់ណាស់ សម្រាប់ការប្រើប្រាស់នៅក្នុងប្រព័ន្ធការពារទិន្នន័យគ្រីប ក្បួនដោះស្រាយដែលមានល្បឿនអនុវត្តលឿនជាង GOST គឺត្រូវបានទាមទារ ហើយកម្លាំងគ្រីបគ្រីបខ្ពស់បែបនេះមិនត្រូវបានទាមទារទេ។ ឧទាហរណ៍ធម្មតានៃការងារបែបនេះគឺជាប្រភេទផ្សេងៗនៃប្រព័ន្ធជួញដូរភាគហ៊ុនអេឡិចត្រូនិចដែលគ្រប់គ្រងវគ្គជួញដូរក្នុងពេលវេលាជាក់ស្តែង។ នៅទីនេះ ក្បួនដោះស្រាយការអ៊ិនគ្រីបដែលបានប្រើគឺត្រូវបានទាមទារដើម្បីធ្វើឱ្យវាមិនអាចទៅរួចទេក្នុងការឌិគ្រីបទិន្នន័យប្រតិបត្តិការរបស់ប្រព័ន្ធអំឡុងពេលសម័យប្រជុំ (ទិន្នន័យអំពីការបញ្ជាទិញដែលបានបញ្ជូន ប្រតិបត្តិការដែលបានបញ្ចប់។ល។) បន្ទាប់ពីផុតកំណត់របស់វា ទិន្នន័យនេះជាធម្មតាលែង គ្មានប្រយោជន៍សម្រាប់អ្នកវាយប្រហារ។ ម្យ៉ាងវិញទៀត ភាពធន់ដែលធានាបានត្រឹមតែពីរបីម៉ោងប៉ុណ្ណោះត្រូវបានទាមទារ - នេះគឺជារយៈពេលធម្មតានៃវគ្គជួញដូរ។ វាច្បាស់ណាស់ថាការប្រើ GOST ពេញលេញក្នុងស្ថានភាពនេះនឹងត្រូវបាញ់សត្វចាបដោយប្រើកាណុងបាញ់។

អ្វីដែលត្រូវធ្វើក្នុងករណីនេះនិងករណីស្រដៀងគ្នាដើម្បីបង្កើនល្បឿននៃការអ៊ិនគ្រីប? ចម្លើយគឺនៅលើផ្ទៃ - ប្រើការកែប្រែនៃលេខសម្ងាត់ជាមួយនឹងជំហានសំខាន់ៗតិចជាង (ជុំ) នៅក្នុងវដ្តមូលដ្ឋាន។ ពេលដែលយើងកាត់បន្ថយចំនួនជុំនៃការអ៊ិនគ្រីប ដំណើរការកើនឡើងដោយចំនួនដូចគ្នា។ ការផ្លាស់ប្តូរនេះអាចសម្រេចបានតាមពីរវិធី - ដោយកាត់បន្ថយរយៈពេលនៃគន្លឹះ និងកាត់បន្ថយចំនួន "វដ្តពិនិត្យឡើងវិញ" នៃគន្លឹះ។ សូមចាំថាចំនួនជំហានជាមូលដ្ឋាននៅក្នុងវដ្តនៃការអ៊ិនគ្រីបមូលដ្ឋានគឺ =n·m, កន្លែងណា - ចំនួននៃធាតុ 32 ប៊ីតនៅក្នុងគន្លឹះ, - ចំនួនវដ្តនៃការប្រើប្រាស់ធាតុសំខាន់ៗនៅក្នុងស្តង់ដារ =8, =4. អ្នកអាចកាត់បន្ថយលេខណាមួយនៃលេខទាំងនេះ ប៉ុន្តែជម្រើសដ៏សាមញ្ញបំផុតគឺកាត់បន្ថយប្រវែងនៃសោដោយមិនប៉ះពាល់ដល់របៀបដែលវាត្រូវបានប្រើ។

វាច្បាស់ណាស់ថាតម្លៃសម្រាប់ការពន្លឿនការងារនឹងជាការថយចុះនៃកម្លាំងនៃស៊ីបភឺរ។ ការលំបាកចម្បងគឺថាវាពិបាកណាស់ក្នុងការប៉ាន់ប្រមាណឱ្យបានច្បាស់លាស់នូវទំហំនៃការកាត់បន្ថយនេះ។ ជាក់ស្តែង មធ្យោបាយតែមួយគត់ដែលអាចធ្វើទៅបានគឺធ្វើការសិក្សាពេញលេញអំពីបំរែបំរួលលេខសម្ងាត់ជាមួយនឹងវដ្តនៃការបំប្លែងគ្រីបដែលបានកាត់បន្ថយ។ វាច្បាស់ណាស់ថាដំបូងបង្អស់នេះតម្រូវឱ្យមានការប្រើប្រាស់ព័ត៌មានដែលបានចាត់ថ្នាក់ដែលត្រូវបានគ្រប់គ្រងដោយអ្នកអភិវឌ្ឍន៍ GOST ហើយទីពីរវាពឹងផ្អែកលើកម្លាំងពលកម្មខ្លាំង។ ដូច្នេះហើយ ឥឡូវនេះ យើងនឹងព្យាយាមផ្តល់នូវការវាយតម្លៃដ៏រដុបខ្លាំង ដោយផ្អែកលើគំរូទូទៅប៉ុណ្ណោះ។

ចំពោះភាពធន់នៃលេខកូដសម្ងាត់ចំពោះការបំបែកដោយវិធីសាស្ត្រ "ទូលំទូលាយ" នោះគឺជាការវាយប្រហារ "កម្លាំងសាហាវ" អ្វីគ្រប់យ៉ាងគឺច្បាស់ជាងឬតិចជាងនៅទីនេះ៖ គន្លឹះនៃ 64 ប៊ីតគឺនៅកន្លែងណាមួយដែលជិតដល់ប្រភេទនេះ នៃការវាយប្រហារ លេខសម្ងាត់ដែលមានកូនសោ 96 ប៊ីត ឬខ្ពស់ជាងនេះ (សូមចាំថា គ្រាប់ចុចត្រូវតែមានចំនួនគត់នៃធាតុ 32 ប៊ីត) គឺមានភាពធន់នឹងវា។ ជាការពិតណាស់ កាលពីប៉ុន្មានឆ្នាំមុន ស្តង់ដារការអ៊ិនគ្រីបរបស់សហរដ្ឋអាមេរិក DES ពីមុនត្រូវបានលួចចូលម្តងហើយម្តងទៀតដោយវិធីសាស្ត្រ brute force - ដំបូងវាត្រូវបានវាយប្រហារដោយបណ្តាញកុំព្យូទ័រដែលរៀបចំឡើងដោយផ្អែកលើអ៊ីនធឺណិតសកល ហើយបន្ទាប់មកដោយបណ្តាញឯកទេស ពោលគឺឧ។ កុំព្យូទ័រដែលត្រូវបានរចនាឡើងជាពិសេសសម្រាប់គោលបំណងនេះ។ អនុញ្ញាតឱ្យយើងសន្មត់ថាកំណែស្តង់ដារនៃ GOST នៅពេលអនុវត្តនៅក្នុងកម្មវិធីនៅលើប្រព័ន្ធដំណើរការទំនើបដំណើរការលឿនជាង DES បួនដង។ បន្ទាប់មក 8 ជុំ "កាត់បន្ថយ GOST" នឹងដំណើរការលឿនជាង DES 16 ដង។ ចូរសន្មតផងដែរថានៅក្នុងពេលវេលាចាប់តាំងពីការ hack DES ដំណើរការកុំព្យូទ័របានកើនឡើងបួនដងយោងទៅតាមច្បាប់របស់ Moore ។ ជាលទ្ធផលយើងទទួលបានថាឥឡូវនេះការពិនិត្យមើលកូនសោ 64 ប៊ីតសម្រាប់ "កាត់បន្ថយ GOST" ជាមួយនឹងវដ្តប្រាំបីគឺលឿនជាងការពិនិត្យមើលកូនសោ DES មួយក្នុងពេលតែមួយ 64 ដង។ ដូច្នេះអត្ថប្រយោជន៍នៃកំណែ GOST លើ DES ទាក់ទងនឹងភាពស្មុគស្មាញនៃការវាយប្រហារដោយបង្ខំត្រូវបានកាត់បន្ថយពី 2 64-56 = 2 8 = 256 ទៅ 256 ។ / 64 = 4 ដង។ យល់ស្រប នេះ​ជា​ភាព​ខុស​គ្នា​ដែល​បំភាន់​ខ្លាំង ស្ទើរតែ​គ្មាន​អ្វី​ទាំងអស់។

វាពិបាកជាងក្នុងការវាយតម្លៃភាពធន់នៃការកែប្រែ GOST ដែលខ្សោយទៅនឹងវិធីសាស្ត្រ "ពឹងផ្អែកខ្លាំង" នៃការវិភាគគ្រីប។ ទោះយ៉ាងណាក៏ដោយ គំរូទូទៅក៏អាចតាមដាននៅទីនេះផងដែរ។ ការពិតគឺថាលក្ខណៈ "កម្រងព័ត៌មាន" នៃប្រភេទនៃការវិភាគគ្រីបដ៏មានឥទ្ធិពលបំផុតនាពេលបច្ចុប្បន្ននេះ អាស្រ័យដោយនិទស្សន្តលើចំនួនជុំនៃការអ៊ិនគ្រីប។ ដូច្នេះ សម្រាប់ការវិភាគលីនេអ៊ែរ (LCA) នេះនឹងក្លាយជាលក្ខណៈលីនេអ៊ែរ អិល :

កន្លែងណា ហើយជាចំនួនថេរ R គឺជាចំនួនជុំ។ ទំនាក់ទំនងស្រដៀងគ្នាមានសម្រាប់ការវិភាគគ្រីបឌីផេរ៉ង់ស្យែល។ នៅក្នុង "អត្ថន័យរាងកាយ" របស់ពួកគេ លក្ខណៈទាំងអស់នៃប្រភេទនេះគឺជាប្រូបាប៊ីលីតេ។ ជាធម្មតា បរិមាណនៃទិន្នន័យដំបូងដែលត្រូវការសម្រាប់ការវិភាគគ្រីប និងភាពស្មុគស្មាញរបស់វាគឺសមាមាត្រច្រាសទៅនឹងលក្ខណៈបែបនេះ។ វាធ្វើតាមថាសូចនាករអាំងតង់ស៊ីតេពលកម្មទាំងនេះកើនឡើងជានិទស្សន្តជាមួយនឹងចំនួនជំហាននៃការអ៊ិនគ្រីបជាមូលដ្ឋាន។ ដូច្នេះនៅពេលដែលចំនួននៃជុំត្រូវបានកាត់បន្ថយច្រើនដង ភាពស្មុគស្មាញនៃប្រភេទនៃការវិភាគដែលល្បីបំផុតនឹងផ្លាស់ប្តូរដូចជាប្រហែល និងប្រហែលឫសនៃថាមពលនេះពីបរិមាណដើម។ នេះគឺជាការធ្លាក់ចុះយ៉ាងខ្លាំងនៃភាពធន់។

ម៉្យាងវិញទៀត GOST ត្រូវបានរចនាឡើងជាមួយនឹងរឹមសុវត្ថិភាពដ៏ធំ ហើយសព្វថ្ងៃនេះមានភាពធន់ទ្រាំទៅនឹងគ្រប់ប្រភេទនៃ cryptanalysis ដែលគេស្គាល់ រួមទាំងឌីផេរ៉ង់ស្យែល និងលីនេអ៊ែរ។ ទាក់ទងទៅនឹង LCA នេះមានន័យថាសម្រាប់ការអនុវត្តប្រកបដោយជោគជ័យរបស់វា គូ "ប្លុកបើកចំហ - ប្លុកដែលបានអ៊ិនគ្រីប" ច្រើនត្រូវបានទាមទារជាង "មាននៅក្នុងធម្មជាតិ" ពោលគឺច្រើនជាង 2 64 ។ ដោយគិតពីចំណុចខាងលើ នេះមានន័យថាសម្រាប់ LCA ដែលទទួលបានជោគជ័យនៃ GOST 16 ជុំ យ៉ាងហោចណាស់ប្លុក ឬ 2 35 បៃ ឬ 32 GB នៃទិន្នន័យនឹងត្រូវបានទាមទារ ហើយសម្រាប់ 8 ជុំ យ៉ាងហោចណាស់ប្លុក ឬ 2 19 បៃ ឬ 0.5 MB ។

ការសន្និដ្ឋានពីការទាំងអស់ខាងលើត្រូវបានផ្តល់ឱ្យនៅក្នុងតារាងខាងក្រោមដែលសង្ខេបលក្ខណៈនៃកំណែដែលបានកាត់បន្ថយនៃ GOST ។

ចំនួនជុំ ទំហំគន្លឹះ, ប៊ីត សន្ទស្សន៍ការអនុវត្ត លក្ខណៈដែលអាចកើតមាននៃលេខសម្ងាត់ (ការប៉ាន់ស្មានរដុបខ្លាំង)
24 192 1,33 ធន់នឹងប្រភេទ CA ដែលគេស្គាល់ភាគច្រើន ឬនៅលើគែមនៃភាពធន់ទ្រាំ។ ការអនុវត្តជាក់ស្តែងនៃ CA គឺមិនអាចទៅរួចទេដោយសារតែតម្រូវការខ្ពស់សម្រាប់ទិន្នន័យដំបូង និងអាំងតង់ស៊ីតេកម្លាំងពលកម្ម។
16 128 2 តាមទ្រឹស្តី វាមិនស្ថិតស្ថេរចំពោះប្រភេទមួយចំនួននៃ cryptanalysis ប៉ុន្តែការអនុវត្តជាក់ស្តែងរបស់ពួកគេនៅក្នុងករណីភាគច្រើនគឺពិបាកដោយសារតែតម្រូវការខ្ពស់សម្រាប់ទិន្នន័យប្រភព និងអាំងតង់ស៊ីតេកម្លាំងពលកម្ម។
12 95 2,67 វាមិនមានភាពធន់ទ្រាំទៅនឹងប្រភេទមួយចំនួនដែលគេស្គាល់ថា cryptanalysis នោះទេ ប៉ុន្តែគឺសមរម្យសម្រាប់ការធានានូវភាពសម្ងាត់នៃទិន្នន័យតូចៗ (រហូតដល់រាប់សិប ឬរាប់រយគីឡូបៃ) ក្នុងរយៈពេលខ្លី។
8 64 4 វាមិនមានភាពធន់ទ្រាំទៅនឹងប្រភេទមួយចំនួនដែលគេស្គាល់ថា cryptanalysis នោះទេ ប៉ុន្តែគឺសមរម្យសម្រាប់ការធានានូវភាពសម្ងាត់នៃទិន្នន័យតូចៗ (រហូតដល់រាប់សិបគីឡូបៃ) ក្នុងរយៈពេលខ្លី។

ជម្រើសពីរចុងក្រោយដែលមាន 12 និង 8 ជុំគឺមានសមត្ថភាពផ្តល់ការការពារពេលវេលាកំណត់យ៉ាងខ្លាំង។ ការប្រើប្រាស់របស់ពួកគេគឺសមហេតុផលតែនៅក្នុងកិច្ចការដែលមានតែការសម្ងាត់រយៈពេលខ្លីនៃទិន្នន័យដែលត្រូវបានការពារប៉ុណ្ណោះដែលត្រូវបានទាមទារតាមលំដាប់ជាច្រើនម៉ោង។ តំបន់ដែលអាចអនុវត្តបានសម្រាប់វ៉ារ្យ៉ង់ cipher ខ្សោយទាំងនេះគឺដើម្បីទប់ស្កាត់ចរាចរណ៍ UDP ពីប្រព័ន្ធជួញដូរប្តូរប្រាក់អេឡិចត្រូនិក។ ក្នុងករណីនេះ កញ្ចប់ទិន្នន័យនីមួយៗ (datagram កណ្តាល "D" ពីអក្សរកាត់ UDP) ត្រូវបានអ៊ិនគ្រីបដោយប្រើសោ 64 ប៊ីតដាច់ដោយឡែក ហើយកូនសោខ្លួនឯងត្រូវបានអ៊ិនគ្រីបដោយប្រើសោសម័យ (សោដែលមានវិសាលភាពនៃវគ្គទំនាក់ទំនងមួយរវាង កុំព្យូទ័រពីរ) និងត្រូវបានបញ្ជូនរួមជាមួយទិន្នន័យ។

មុនពេលបញ្ចប់ជាមួយនឹងកំណែដែលបានកាត់បន្ថយនៃ GOST ខ្ញុំនឹងនិយាយថាការពិចារណាខាងលើទាំងអស់គឺជាការរំពឹងទុកខ្ពស់។ ស្តង់ដារផ្តល់នូវភាពធន់សម្រាប់តែមួយ វ៉ារ្យ៉ង់ 32 ជុំ។ ហើយគ្មាននរណាម្នាក់អាចផ្តល់ឱ្យអ្នកនូវការធានាថាភាពធន់នៃកំណែដែលបានកាត់បន្ថយនៃ cipher ទៅនឹងការបង្ក្រាបនឹងផ្លាស់ប្តូរតាមរបៀបដែលបានចង្អុលបង្ហាញខាងលើ។ ប្រសិនបើអ្នកសម្រេចចិត្តប្រើពួកវាក្នុងការអភិវឌ្ឍន៍របស់អ្នក សូមចងចាំថាអ្នកបានដើរលើដីដែលញ័រខ្លាំង ដែលអាចរអិលចេញពីក្រោមជើងរបស់អ្នកនៅពេលណាមួយ។ ដោយសារល្បឿនអ៊ិនគ្រីបគឺជាបញ្ហាសំខាន់សម្រាប់អ្នក ប្រហែលជាអ្នកគួរពិចារណាប្រើស៊ីបដែលលឿនជាង ឬកុំព្យូទ័រដែលខ្លាំងជាង? ការពិចារណាមួយទៀតថាហេតុអ្វីបានជាវាមានតម្លៃធ្វើគឺថាកំណែខ្សោយនៃ GOST នឹងមានភាពរសើបបំផុតចំពោះគុណភាពនៃគ្រឿងជំនួសដែលបានប្រើ។

បញ្ហាដែលកំពុងពិចារណាក៏មានគុណវិបត្តិដែរ។ ចុះបើល្បឿនអ៊ិនគ្រីបមិនសំខាន់ ប៉ុន្តែតម្រូវការកម្លាំងគឺតឹងរ៉ឹងខ្លាំង? ភាពធន់របស់ GOST អាចត្រូវបានកើនឡើងតាមពីរវិធី - ចូរហៅពួកគេថា "ទូលំទូលាយ" និង "ពឹងផ្អែកខ្លាំង" ។ ទីមួយនៃពួកគេគឺគ្មានអ្វីក្រៅពីការកើនឡើងសាមញ្ញនៃចំនួនជុំនៃការអ៊ិនគ្រីបនោះទេ។ វាមិនច្បាស់ទាល់តែសោះចំពោះខ្ញុំថា ហេតុអ្វីបានជាវាអាចត្រូវការជាចាំបាច់ ចាប់តាំងពីស្តង់ដារក្នុងស្រុកផ្តល់នូវភាពធន់ចាំបាច់រួចហើយដោយគ្មានវា។ ទោះជាយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកទទួលរងពីភាពវង្វេងស្មារតីលើសពីកម្រិតដែលត្រូវការ (ហើយ "អ្នកការពារព័ត៌មាន" ទាំងអស់ត្រូវមានកាតព្វកិច្ចទទួលរងពីវា នេះជាលក្ខខណ្ឌនៃភាពស័ក្តិសមក្នុងវិជ្ជាជីវៈ សំណួរតែមួយគត់គឺភាពធ្ងន់ធ្ងរនៃករណីនេះ :) នេះនឹងជួយ អ្នកស្ងប់ស្ងាត់បន្តិច។ ប្រសិនបើអ្នកមិនប្រាកដអំពីលេខកូដ KGB នេះ ឬតារាងជំនួសដែលអ្នកកំពុងប្រើ គ្រាន់តែទ្វេដង បួនជ្រុង។ល។ ចំនួនជុំ - ជ្រើសរើសពហុគុណដោយផ្អែកលើភាពធ្ងន់ធ្ងរនៃករណីរបស់អ្នក។ វិធីសាស្រ្តនេះអនុញ្ញាតឱ្យអ្នកពិតជាបង្កើនភាពរឹងមាំនៃស៊ីបភឺរ - ប្រសិនបើការវិភាគគ្រីបពីមុនគឺមិនអាចទៅរួចទេនោះឥឡូវនេះវាមិនអាចទៅរួចនោះទេ!

សំណួរដែលពិបាកនិងគួរឱ្យចាប់អារម្មណ៍ជាងនេះគឺថាតើវាអាចទៅរួចក្នុងការបង្កើនភាពរឹងមាំនៃលេខកូដសម្ងាត់ដោយមិនផ្លាស់ប្តូរចំនួននិងរចនាសម្ព័ន្ធនៃជំហាននៃការអ៊ិនគ្រីបមេ។ គួរឱ្យភ្ញាក់ផ្អើល ចម្លើយចំពោះនេះគឺវិជ្ជមាន ទោះបីជាយើងកំពុងបោះជំហានម្តងទៀតនៅលើមូលដ្ឋានរង្គោះរង្គើនៃការរំពឹងទុកក៏ដោយ។ ការពិតគឺថានៅក្នុង GOST នៅជំហានបំប្លែងសំខាន់ វាត្រូវបានសន្មត់ថាជំនួស 4 ដោយ 4 ប៊ីត ប៉ុន្តែនៅក្នុងការអនុវត្ត (យើងនឹងនិយាយអំពីវានៅពេលក្រោយ) ការអនុវត្តកម្មវិធីទាំងអស់អនុវត្តការជំនួសដោយបៃបៃពោលគឺឧ។ 8 ដោយ 8 ប៊ីត - នេះត្រូវបានធ្វើសម្រាប់ហេតុផលប្រសិទ្ធភាព។ ប្រសិនបើ​យើង​រចនា​ការ​ជំនួស​មួយ​ជា 8 ប៊ីត​ភ្លាមៗ នោះ​យើង​នឹង​ធ្វើ​ឱ្យ​ប្រសើរ​ឡើង​យ៉ាង​ខ្លាំង​នូវ​ដំណើរការ​មួយ​ជុំ។ ទីមួយ លក្ខណៈ "ការសាយភាយ" ឬ "ព្រិលធ្លាក់" សូចនាករនឹងកើនឡើង - ប៊ីតនៃទិន្នន័យប្រភព និង/ឬគន្លឹះនឹងមានឥទ្ធិពលលើចំនួនប៊ីតនៃលទ្ធផលកាន់តែច្រើន។ ទីពីរ សម្រាប់ថ្នាំងជំនួសធំជាង លក្ខណៈឌីផេរ៉ង់ស្យែលទាប និងលីនេអ៊ែរអាចទទួលបាន ដោយហេតុនេះកាត់បន្ថយភាពងាយទទួលរបស់ cipher ចំពោះប្រភេទស្រដៀងគ្នានៃ cryptanalysis ។ នេះជាការពិតជាពិសេសសម្រាប់វដ្ត GOST ដែលត្រូវបានកាត់បន្ថយ ហើយសម្រាប់ជម្រើស 8 និង 12 ជុំគឺចាំបាច់សាមញ្ញ។ នេះនឹងទូទាត់សងសម្រាប់ការបាត់បង់ភាពធន់នៅក្នុងពួកគេពីការថយចុះនៃចំនួនជុំ។ អ្វី​ដែល​ធ្វើ​ឱ្យ​ការ​ប្រើ​បច្ចេកទេស​នេះ​ពិបាក​គឺ​អ្នក​នឹង​ត្រូវ​រចនា​គ្រឿង​ជំនួស "ពង្រីក" ដោយ​ខ្លួន​ឯង។ ហើយ​ក៏​ជា​ការ​ពិត​ដែល​ថា​យូនីត​ធំ​ៗ​ជា​ទូទៅ​ពិបាក​ក្នុង​ការ​សាងសង់​ជាង​គ្រឿង​តូច​ជាង។

ការប្រើប្រាស់មិនស្តង់ដារនៃស្តង់ដារ។

ជាការពិតណាស់គោលបំណងសំខាន់នៃក្បួនដោះស្រាយគ្រីប GOST គឺការអ៊ិនគ្រីប និងការការពារទិន្នន័យ។ ទោះយ៉ាងណាក៏ដោយ ពួកគេក៏អាចស្វែងរកកម្មវិធីផ្សេងទៀតដែលទាក់ទងនឹងសុវត្ថិភាពព័ត៌មានផងដែរ។ ចូរនិយាយអំពីពួកគេដោយសង្ខេប៖

1. សម្រាប់ការអ៊ិនគ្រីបនៅក្នុងរបៀបហ្គាម៉ា GOST ផ្តល់សម្រាប់ការអភិវឌ្ឍនៃហ្គាម៉ាគ្រីប - លំដាប់នៃប៊ីតដែលមានលក្ខណៈស្ថិតិល្អ និងកម្លាំងគ្រីបគ្រីបខ្ពស់។ បន្ទាប់មកហ្គាម៉ានេះត្រូវបានប្រើដើម្បីកែប្រែទិន្នន័យបើកចំហ ដែលបណ្តាលឱ្យមានទិន្នន័យដែលបានអ៊ិនគ្រីប។ ទោះយ៉ាងណាក៏ដោយ នេះមិនមែនជាកម្មវិធីតែមួយគត់ដែលអាចធ្វើទៅបាននៃហ្គាម៉ាគ្រីបនោះទេ។ ការពិតគឺថា algorithm សម្រាប់ជំនាន់របស់វាគឺ pseudo-random number sequence generator (PRNG) ដែលមានលក្ខណៈល្អឥតខ្ចោះ។ ជាការពិតណាស់ការប្រើ PRNG បែបនេះដែលមានតែលក្ខណៈស្ថិតិនៃលំដាប់ដែលបានបង្កើតប៉ុណ្ណោះដែលត្រូវបានទាមទារ ប៉ុន្តែកម្លាំងគ្រីបមិនត្រូវបានត្រូវការទេ គឺមិនសមហេតុផលទាល់តែសោះ - សម្រាប់ករណីទាំងនេះមានម៉ាស៊ីនភ្លើងដែលមានប្រសិទ្ធភាពជាង។ ប៉ុន្តែសម្រាប់កម្មវិធីផ្សេងៗទាក់ទងនឹងសុវត្ថិភាពព័ត៌មាន ប្រភពបែបនេះនឹងមានប្រយោជន៍ខ្លាំងណាស់៖

  • ដូចដែលបានកត់សម្គាល់ខាងលើ ហ្គាម៉ាអាចត្រូវបានប្រើជា "វត្ថុធាតុដើម" សម្រាប់បង្កើតកូនសោ។ ដើម្បីធ្វើដូចនេះអ្នកគ្រាន់តែត្រូវការយកផ្នែកហ្គាម៉ានៃប្រវែងដែលត្រូវការ - 32 បៃ។ តាមវិធីនេះ គ្រាប់ចុចអាចត្រូវបានធ្វើឡើងតាមតម្រូវការ ហើយពួកវានឹងមិនចាំបាច់រក្សាទុកទេ ប្រសិនបើសោបែបនេះត្រូវការម្តងទៀត វានឹងងាយស្រួលណាស់ក្នុងការបង្កើតវាម្តងទៀត។ អ្នកគ្រាន់តែត្រូវចាំថា កូនសោអ្វីដែលវាត្រូវបានបង្កើតដំបូងនៅលើ សារណាដែលធ្វើសមកាលកម្មត្រូវបានប្រើប្រាស់ និងចំនួនបៃនៃហ្គាម៉ាដែលបានបង្កើត ដែលសោចាប់ផ្តើមជាមួយ។ ព័ត៌មានទាំងអស់ លើកលែងតែកូនសោដែលបានប្រើ គឺមិនត្រូវបានចាត់ថ្នាក់ទេ។ វិធីសាស្រ្តនេះនឹងធ្វើឱ្យមានភាពងាយស្រួលក្នុងការគ្រប់គ្រងប្រព័ន្ធសោរដែលស្មុគស្មាញ និងដាច់ដោយស្មើភាពដោយប្រើ "សោមេ" តែមួយប៉ុណ្ណោះ។
  • ស្រដៀងទៅនឹងលេខមុន ហ្គាម៉ាអាចត្រូវបានប្រើជា "វត្ថុធាតុដើម" ដំបូងសម្រាប់បង្កើតពាក្យសម្ងាត់។ នៅទីនេះសំណួរអាចកើតឡើង: ហេតុអ្វីបានជាវាចាំបាច់ដើម្បីបង្កើតពួកវាទាំងអស់តើវាមិនងាយស្រួលទេក្នុងការបង្កើតពួកវាតាមតម្រូវការ? ការបរាជ័យនៃវិធីសាស្រ្តនេះត្រូវបានបង្ហាញយ៉ាងច្បាស់ដោយឧប្បត្តិហេតុជាបន្តបន្ទាប់នៅក្នុងបណ្តាញកុំព្យូទ័រដែលធំបំផុតគឺការខ្វិនប្រចាំថ្ងៃនៃអ៊ីនធឺណិតនៅក្នុងខែវិច្ឆិកាឆ្នាំ 1988 ដែលបណ្តាលមកពីពពួក Worm Morris ។ វិធីមួយក្នុងចំណោមវិធីដែលកម្មវិធីព្យាបាទបានជ្រៀតចូលកុំព្យូទ័រគឺដោយការទាយពាក្យសម្ងាត់៖ កម្មវិធីបានព្យាយាមចូលទៅក្នុងប្រព័ន្ធដោយព្យាយាមលេខសម្ងាត់ជាបន្តបន្ទាប់ពីបញ្ជីខាងក្នុងរបស់វាជាច្រើនរយ ហើយក្នុងសមាមាត្រដ៏សំខាន់នៃករណីដែលវាបានជោគជ័យ។ ការស្រមើស្រមៃរបស់មនុស្សក្នុងការបង្កើតលេខសម្ងាត់ប្រែជាអន់ណាស់។ នោះហើយជាមូលហេតុដែលនៅក្នុងអង្គការទាំងនោះដែលសុវត្ថិភាពត្រូវបានយកចិត្តទុកដាក់ ពាក្យសម្ងាត់ត្រូវបានបង្កើត និងចែកចាយដល់អ្នកប្រើប្រាស់ដោយអ្នកគ្រប់គ្រងសុវត្ថិភាពប្រព័ន្ធ។ ការបង្កើតពាក្យសម្ងាត់គឺមានភាពស្មុគស្មាញជាងការបង្កើតកូនសោរ ព្រោះក្នុងករណីនេះ ហ្គាម៉ាគោលពីរ "ឆៅ" ត្រូវតែបំប្លែងទៅជាទម្រង់និមិត្តសញ្ញា ហើយមិនមែនគ្រាន់តែ "កាត់" ជាបំណែកៗនោះទេ។ លើសពីនេះ តម្លៃបុគ្គលអាចនឹងត្រូវបោះចោល ដើម្បីធានាថា តួអក្សរអក្ខរក្រមទាំងអស់ទំនងជាបង្ហាញក្នុងពាក្យសម្ងាត់ស្មើគ្នា។
  • វិធីមួយទៀតដើម្បីប្រើគ្រីបគ្រីបហ្គាម៉ាគឺធានាការលុបទិន្នន័យនៅលើប្រព័ន្ធផ្សព្វផ្សាយម៉ាញេទិក។ ការពិតគឺថាសូម្បីតែនៅពេលដែលព័ត៌មានត្រូវបានសរសេរឡើងវិញនៅលើឧបករណ៍ផ្ទុកម៉ាញ៉េទិចក៏ដោយ ក៏ដាននៃទិន្នន័យពីមុននៅតែមាន ដែលអាចត្រូវបានស្ដារឡើងវិញដោយការពិនិត្យសមស្រប។ ដើម្បីបំផ្លាញដានទាំងនេះ ការសរសេរជាន់លើបែបនេះត្រូវតែអនុវត្តច្រើនដង។ វាបានប្រែក្លាយថា វានឹងចាំបាច់ក្នុងការសរសេរព័ត៌មានឡើងវិញនៅលើប្រព័ន្ធផ្សព្វផ្សាយតិចជាងមុន ប្រសិនបើនីតិវិធីបែបនេះបានប្រើទិន្នន័យចៃដន្យ ឬចៃដន្យ ដែលនឹងនៅតែមិនស្គាល់សម្រាប់អ្នកជំនាញដែលកំពុងព្យាយាមស្ដារព័ត៌មានដែលបានលុប។ លេខសម្ងាត់ហ្គាម៉ានឹងមានប្រយោជន៍នៅទីនេះ។

2. មិនត្រឹមតែគ្រីបគ្រីបហ្គាម៉ាប៉ុណ្ណោះទេ ថែមទាំងការបំប្លែងគ្រីបគ្រីបខ្លួនឯងផងដែរ អាចត្រូវបានប្រើសម្រាប់តម្រូវការដែលមិនទាក់ទងដោយផ្ទាល់ទៅនឹងការអ៊ិនគ្រីប៖

  • យើងដឹងថាជម្រើសមួយក្នុងចំណោមជម្រើសទាំងនេះសម្រាប់ការប្រើប្រាស់ GOST គឺការបង្កើតការបញ្ចូលក្លែងធ្វើសម្រាប់អារេទិន្នន័យ។ ទោះយ៉ាងណាក៏ដោយ ដោយផ្អែកលើការសរសេរកូដប្លុកណាមួយ រួមទាំង GOST វាងាយស្រួលណាស់ក្នុងការសាងសង់គ្រោងការណ៍សម្រាប់ការគណនាមុខងារសញ្ញាមួយផ្លូវ ដែលគេហៅផងដែរថានៅក្នុងអក្សរសិល្ប៍ MDC ដែលប្រភពផ្សេងៗគ្នាតំណាងឱ្យ ផ្លាស់ប្តូរលេខកូដរាវរក / ឧបាយកល (ការកែប្រែ/ ការលុបបំបាត់ចោល ការ​បោះ​ឆ្នោត ode) ឬ សារសង្ខេប (អត្ថបទ igest ode) ។ ការឌិកូដដំបូងបានបង្ហាញខ្លួននៅក្នុងអក្សរសិល្ប៍ច្រើនមុននេះ ទីពីរខ្លីជាងនេះ ខ្ញុំគិតថាត្រូវបានបង្កើតឡើងដោយអ្នកដែលមិនអាចចងចាំបាន :), - វាជារឿងកំប្លែងមួយ។ MDC អាចត្រូវបានប្រើដោយផ្ទាល់នៅក្នុងប្រព័ន្ធការពារការក្លែងបន្លំជា analogue នៃការបញ្ចូលក្លែងបន្លំ ដែលទោះជាយ៉ាងណាមិនអាស្រ័យលើសោសម្ងាត់នោះទេ។ លើសពីនេះទៀត MDC ត្រូវបានគេប្រើយ៉ាងទូលំទូលាយនៅក្នុងគ្រោងការណ៍ហត្ថលេខាឌីជីថលអេឡិចត្រូនិច (EDS) ពីព្រោះភាគច្រើននៃគ្រោងការណ៍បែបនេះត្រូវបានរចនាឡើងតាមរបៀបដែលវាងាយស្រួលក្នុងការចុះហត្ថលេខាលើប្លុកទិន្នន័យនៃទំហំថេរ។ ដូចដែលអ្នកបានដឹងហើយថានៅលើមូលដ្ឋាននៃស្តង់ដារ GOST 28147-89 ដែលបានពិភាក្សានោះស្តង់ដារសហព័ន្ធរុស្ស៊ីសម្រាប់ការគណនាមុខងារសញ្ញាមួយផ្លូវ GOST R34.11-94 ត្រូវបានបង្កើតឡើង។
  • វាមិនត្រូវបានគេដឹងថានៅលើមូលដ្ឋាននៃកូដសម្ងាត់ណាមួយរួមទាំង GOST គ្រោងការណ៍ហត្ថលេខាឌីជីថលដែលមានមុខងារពេញលេញអាចត្រូវបានសាងសង់ដោយមានសោហត្ថលេខាសម្ងាត់និងការរួមបញ្ចូលគ្នានៃការផ្ទៀងផ្ទាត់បើកចំហ។ សម្រាប់ហេតុផលមួយចំនួន គ្រោងការណ៍នេះមិនបានទទួលការចែកចាយជាក់ស្តែងទូលំទូលាយទេ ទោះយ៉ាងណាក៏ដោយ ក្នុងករណីខ្លះវានៅតែអាចចាត់ទុកថាជាជម្រើសដ៏គួរឱ្យទាក់ទាញបំផុតចំពោះគម្រោងហត្ថលេខាឌីជីថល "គណិតវិទ្យា" ដែលបច្ចុប្បន្នលេចធ្លោនៅលើពិភពលោក។

អក្សរសិល្ប៍

ប្រព័ន្ធដំណើរការព័ត៌មាន។ ការការពារការសម្ងាត់។ ក្បួនដោះស្រាយបំលែងកូដសម្ងាត់ GOST 28147-89 ។ រដ្ឋ com. សហភាពសូវៀតយោងទៅតាមស្តង់ដារ M. , 1989. ftp://ftp.wtc-ural.ru/pub/ru.crypt/GOST-28147
Shannon Claude ។ ទ្រឹស្តីគណិតវិទ្យានៃប្រព័ន្ធសម្ងាត់។ នៅក្នុងការប្រមូល "ធ្វើការលើទ្រឹស្តីព័ត៌មាន និង cybernetics" M., IL, 1963, p. ៣៣៣-៣៦៩។ http://www.enlight.ru/crypto/articles/shannon/shann__i.htm
ប្រកាសការយល់ព្រមលើស្តង់ដារដំណើរការព័ត៌មានសហព័ន្ធ (FIPS) 197, Advanced Encryption Standard (AES), Federal Register Vol. 66, ទេ។ ២៣៥ / ថ្ងៃព្រហស្បតិ៍ ទី៦ ខែធ្នូ ឆ្នាំ២០០១ / សេចក្តីជូនដំណឹង ទំព័រ ៦៣៣៦៩–៦៣៣៧១។ http://csrc.nist.gov/encryption/aes/
Feistel Horst ។ ការសរសេរកូដសម្ងាត់ និងសុវត្ថិភាពកុំព្យូទ័រ។ ការបកប្រែដោយ A. Vinokurov យោងទៅតាមការបោះពុម្ពផ្សាយ Horst Feistel ។ ការសរសេរកូដសម្ងាត់ និងឯកជនភាពកុំព្យូទ័រ, វិទ្យាសាស្រ្តអាមេរិក, ឧសភា 1973, លេខ។ 228, លេខ 5, ទំ។ ១៥-២៣។ http://www.enlight.ru/crypto/articles/feistel/feist_i.htm
Schneier Bruce ។ បានអនុវត្តការគ្រីប។ ទី 2 ed ។ ពិធីការ ក្បួនដោះស្រាយ និងអត្ថបទប្រភពជាភាសា C., M., “Triumph”, 2002 http://www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm
Menezes Alfred, van Oorschot Paul, Vanstone Scott ។ សៀវភៅណែនាំអំពីការគ្រីបដែលបានអនុវត្ត។ ttp://www.cacr.math.uwaterloo.ca/hac/
Vinokurov Andrey ។ តើកូដសម្ងាត់ប្លុកដំណើរការយ៉ាងដូចម្តេច? សាត្រាស្លឹករឹត។ http://www.enlight.ru/crypto/articles/vinokurov/blcyph_i.htm
Vinokurov Andrey ។ បញ្ហាលើការគ្រីបគ្រីបសម្រាប់ទិនានុប្បវត្តិអេឡិចត្រូនិច iNFUSED BYTES តាមអ៊ីនធឺណិត។ http://www.enlight.ru/crypto/articles/ib/ib.htm
Vinokurov Andrey, Primenko Eduard ។ អត្ថបទនៃរបាយការណ៍ "ស្តីពីការអនុវត្តកម្មវិធីនៃស្តង់ដារការអ៊ិនគ្រីបនៅសហព័ន្ធរុស្ស៊ី និងសហរដ្ឋអាមេរិក" សន្និសីទស្តីពីការផ្តល់ព័ត៌មាននៅទីក្រុងមូស្គូ MEPhI ថ្ងៃទី 28-29 ខែមករា ឆ្នាំ 2001។ បានចុះផ្សាយក្នុង ដំណើរការសន្និសីទ។
ព​ត៌​មាន​វិទ្យា។ ការការពារព័ត៌មានសម្ងាត់។ មុខងារ Hash GOST R34.11-94, ស្តង់ដាររដ្ឋនៃសហព័ន្ធរុស្ស៊ី, M. , 1994 ។

ក្បួនដោះស្រាយនេះគឺចាំបាច់សម្រាប់ប្រើជាក្បួនដោះស្រាយការអ៊ិនគ្រីបនៅក្នុងអង្គការរដ្ឋាភិបាលនៃសហព័ន្ធរុស្ស៊ី និងពាណិជ្ជកម្មមួយចំនួន។

ការពិពណ៌នាអំពីក្បួនដោះស្រាយ

ដ្យាក្រាមក្បួនដោះស្រាយត្រូវបានបង្ហាញក្នុងរូប។ ៣.១. ដូចដែលអ្នកអាចមើលឃើញ ការរចនានៃក្បួនដោះស្រាយនេះគឺសាមញ្ញណាស់ ដែលជួយសម្រួលដល់ការអនុវត្តកម្មវិធី ឬផ្នែករឹងរបស់វាយ៉ាងច្បាស់។

ក្បួនដោះស្រាយ GOST 28147-89 អ៊ិនគ្រីបព័ត៌មានក្នុងប្លុក 64 ប៊ីត ដែលបែងចែកជាពីរប្លុករងនៃ 32 ប៊ីត (N1 និង N2) ។ Subblock N1 ត្រូវបានដំណើរការតាមរបៀបជាក់លាក់មួយ បន្ទាប់ពីនោះតម្លៃរបស់វាត្រូវបានបន្ថែម

ជាមួយនឹងតម្លៃនៃប្លុករង N2 (ការបន្ថែមត្រូវបានអនុវត្តម៉ូឌុល 2) បន្ទាប់មកប្លុករងត្រូវបានប្តូរ។ ការផ្លាស់ប្តូរនេះត្រូវបានអនុវត្តនៅក្នុងចំនួនជាក់លាក់នៃជុំ: 16 ឬ 32 អាស្រ័យលើរបៀបប្រតិបត្តិការនៃក្បួនដោះស្រាយ (ពិពណ៌នាខាងក្រោម) ។ ប្រតិបត្តិការខាងក្រោមត្រូវបានអនុវត្តក្នុងជុំនីមួយៗ៖

1. កម្មវិធីគន្លឹះ។ មាតិកានៃប្លុករង / VI ត្រូវបានបន្ថែមម៉ូឌុល 2 32 ជាមួយនឹងផ្នែកនៃគ្រាប់ចុច Kx ។

កូនសោអ៊ិនគ្រីបនៃក្បួនដោះស្រាយ GOST 28147-89 មានវិមាត្រ 256 ប៊ីត ហើយ Kx គឺជាផ្នែក 32 ប៊ីតរបស់វា ពោលគឺ សោអ៊ិនគ្រីប 256 ប៊ីតត្រូវបានតំណាងថាជាការភ្ជាប់នៃកូនសោរ 32 ប៊ីត (រូបភាព 3.2)៖

Shch ATI, AG2, Yu, AG4, K5, Kb, K7 ។

កំឡុងពេលដំណើរការអ៊ិនគ្រីប គ្រាប់ចុចរងទាំងនេះមួយត្រូវបានប្រើប្រាស់ អាស្រ័យលើចំនួនជុំ និងរបៀបប្រតិបត្តិការនៃក្បួនដោះស្រាយ។

អង្ករ។ ៣.១. ដ្យាក្រាមក្បួនដោះស្រាយ GOST 28147-

អង្ករ។ ៣.២. កូនសោអ៊ិនគ្រីបនៃក្បួនដោះស្រាយ GOST 28147-89

2. ការជំនួសតារាង។ បន្ទាប់ពីការចុចគ្រាប់ចុច ប្លុករង / VI ត្រូវបានបែងចែកទៅជា 8 ផ្នែកនៃ 4 ប៊ីត ដែលតម្លៃនីមួយៗត្រូវបានជំនួសដោយបុគ្គលស្របតាមតារាងជំនួសសម្រាប់ផ្នែកនៃប្លុករងនេះ។ ការជំនួសតារាង (ប្រអប់ជំនួស, S-box) ត្រូវបានគេប្រើជាញឹកញាប់នៅក្នុងក្បួនដោះស្រាយការអ៊ិនគ្រីបទំនើប ដូច្នេះវាមានតម្លៃពិចារណាពួកវាឱ្យកាន់តែលម្អិត។

ការជំនួសតារាងត្រូវបានប្រើតាមរបៀបនេះ៖ ប្លុកទិន្នន័យនៃទំហំជាក់លាក់មួយ (ក្នុងករណីនេះ 4 ប៊ីត) ត្រូវបានផ្គត់ផ្គង់ទៅការបញ្ចូល តំណាងជាលេខដែលកំណត់ចំនួននៃតម្លៃលទ្ធផល។ ឧទាហរណ៍ យើងមាន S-box នៃទម្រង់ខាងក្រោម៖

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1.

អនុញ្ញាតឱ្យប្លុក 4 ប៊ីត “0100” មកដល់ការបញ្ចូល ពោលគឺតម្លៃ 4. យោងតាមតារាង តម្លៃលទ្ធផលនឹងស្មើនឹង 15 ពោលគឺឧ។ "1111" (0 ត្រូវបានជំនួសដោយ 4, 1 ដោយ 11, តម្លៃនៃ 2 នៅតែមិនផ្លាស់ប្តូរ។ ល។ ) ។

ដូចដែលអ្នកអាចឃើញការរចនាក្បួនដោះស្រាយគឺសាមញ្ញណាស់ដែលមានន័យថាបន្ទុកដ៏ធំបំផុតនៃការអ៊ិនគ្រីបទិន្នន័យធ្លាក់លើតារាងជំនួស។ ជាអកុសល ក្បួនដោះស្រាយមានលក្ខណៈសម្បត្តិថាមានតារាងជំនួស "ខ្សោយ" ដោយប្រើដែលក្បួនដោះស្រាយអាចត្រូវបានដោះស្រាយដោយវិធីសាស្ត្រ cryptanalytic ។ ចំនុចខ្សោយរួមមានឧទាហរណ៍តារាងដែលទិន្នផលស្មើនឹងការបញ្ចូល៖

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

3. ការផ្លាស់ប្តូររង្វិលទៅខាងឆ្វេងដោយ 11 ប៊ីត។

របៀបប្រតិបត្តិការក្បួនដោះស្រាយ

ក្បួនដោះស្រាយ GOST 28147-89 មាន 4 របៀបប្រតិបត្តិការ៖

□ របៀបជំនួសងាយស្រួល;

□ របៀបហ្គាម៉ា;

P gamma mode ជាមួយនឹងមតិកែលម្អ;

□ របៀបនៃការអភិវឌ្ឍន៍ឯកសារភ្ជាប់ក្លែងក្លាយ។

របៀបទាំងនេះគឺមានភាពខុសប្លែកគ្នាខ្លះពីវិធីដែលទទួលយកជាទូទៅ (បានពិពណ៌នានៅក្នុងផ្នែកទី 1.4) ដូច្នេះវាមានតម្លៃពិចារណាពួកវាឱ្យលម្អិតបន្ថែមទៀត។

របៀបទាំងនេះមានគោលបំណងផ្សេងគ្នា ប៉ុន្តែប្រើការបំប្លែងការអ៊ិនគ្រីបដូចគ្នាដែលបានពិពណ៌នាខាងលើ។

របៀបជំនួសងាយស្រួល

នៅក្នុងរបៀបជំនួសដ៏សាមញ្ញ ប្លុកព័ត៌មាន 64 ប៊ីតនីមួយៗត្រូវបានអ៊ិនគ្រីបយ៉ាងសាមញ្ញដោយប្រើរង្វង់ 32 ដែលបានពិពណ៌នាខាងលើ។ គ្រាប់ចុចរង 32 ប៊ីតត្រូវបានប្រើក្នុងលំដាប់ដូចខាងក្រោមៈ

□ KO, Kl, K2, KZ, K4, K5, KB, AG7, KO, ATI ជាដើម - ក្នុងជុំទី 1 ដល់ 24;

□ K1, Kb, K5, K4, KZ, K2, K\, KO - ក្នុងរង្វង់ពី 25 ដល់ 32 ។

ការ​ឌិគ្រីប​ក្នុង​របៀប​ជំនួស​សាមញ្ញ​គឺ​ត្រូវ​បាន​អនុវត្ត​តាម​វិធី​ដូចគ្នា ប៉ុន្តែ​មាន​លំដាប់​ខុស​គ្នា​បន្តិច​នៃ​ការ​ប្រើ​គ្រាប់ចុច​រង៖

□ KO, K\, K2, KZ, K4, K5, Kb, KP - ក្នុងជុំទី 1 ដល់ទី 8;

□ KP, Kb, K5, K4, KZ, K2, K\, KO, K1, Kb ។ល។ - ក្នុងរង្វង់ពី 9 ដល់ 32 ។

ស្រដៀងគ្នាទៅនឹងរបៀប ECB ស្តង់ដារ ដោយសារតែការអ៊ិនគ្រីបដាច់ដោយឡែកនៃប្លុក របៀបជំនួសដ៏សាមញ្ញមិនត្រូវបានណែនាំយ៉ាងតឹងរ៉ឹងសម្រាប់ការអ៊ិនគ្រីបទិន្នន័យដោយខ្លួនឯងទេ។ វាគួរតែត្រូវបានប្រើដើម្បីអ៊ិនគ្រីបសោអ៊ិនគ្រីបផ្សេងទៀតនៅក្នុងគ្រោងការណ៍ពហុសោប៉ុណ្ណោះ។

របៀបហ្គាម៉ា

នៅក្នុងរបៀបហ្គាម៉ា (រូបភាព 3.3) ប្លុកអត្ថបទធម្មតានីមួយៗត្រូវបានបន្ថែមប៊ីតដោយម៉ូឌុល 2 ទៅប្លុកហ្គាម៉ាស៊ីប 64 ប៊ីត។ gamma cipher គឺជាលំដាប់ពិសេសមួយដែលត្រូវបានបង្កើតដោយប្រើការបំប្លែងដែលបានពិពណ៌នាខាងលើដូចខាងក្រោម៖

1. ការបំពេញដំបូងរបស់ពួកគេត្រូវបានសរសេរដើម្បីចុះឈ្មោះ N1 និង N2 ដែលជាតម្លៃ 64 ប៊ីតហៅថា "សារសមកាលកម្ម" (សារសមកាលកម្មគឺជាក់ស្តែងជា analogue នៃវ៉ិចទ័រចាប់ផ្តើមនៅក្នុងរបៀប CBC, CFB និង OFB) ។

2. ខ្លឹមសារនៃការចុះឈ្មោះ /VI និង N2 (ក្នុងករណីនេះ សារសមកាលកម្ម) ត្រូវបានអ៊ិនគ្រីបក្នុងរបៀបជំនួសសាមញ្ញ។

3. ខ្លឹមសារនៃ N1 ត្រូវបានបន្ថែមម៉ូឌុល (2 32 – 1) ជាមួយនឹង CI ថេរ = 2 24 + 2 16 + 2 8 + 4 លទ្ធផលនៃការបន្ថែមត្រូវបានសរសេរទៅចុះឈ្មោះ / VI ។

4. មាតិកានៃ N2 ត្រូវបានបន្ថែមម៉ូឌុល 2 ជាមួយនឹងថេរ C2 = 2 24 + 2 16 + 2 8 +1 លទ្ធផលនៃការបន្ថែមត្រូវបានសរសេរដើម្បីចុះឈ្មោះ N2 ។

5. ខ្លឹមសារនៃការចុះឈ្មោះ /VI និង N2 ត្រូវបានបញ្ចេញជាប្លុកហ្គាម៉ា 64 ប៊ីត (ឧទាហរណ៍ ក្នុងករណីនេះ /VI និង N2 បង្កើតជាប្លុកហ្គាម៉ាដំបូង)។

6. ប្រសិនបើប្លុកហ្គាម៉ាបន្ទាប់គឺចាំបាច់ (ឧ. ត្រូវការការអ៊ិនគ្រីប ឬឌិគ្រីបបន្ថែម) ត្រឡប់ទៅជំហានទី 2 វិញ។

សម្រាប់​ការ​ឌិគ្រីប ហ្គាម៉ា​ត្រូវ​បាន​បង្កើត​ក្នុង​លក្ខណៈ​ស្រដៀង​គ្នា​មួយ​បន្ទាប់​មក​លេខ​សម្ងាត់​និង​ហ្គាម៉ា​ប៊ីត​ត្រូវ​បាន XORed ម្ដង​ទៀត។

ដើម្បីបង្កើតជួរលេខសម្ងាត់ដូចគ្នា អ្នកប្រើប្រាស់ដែលឌិគ្រីបគ្រីបគ្រីបត្រូវតែមានសោដូចគ្នា និងតម្លៃសារនៃការធ្វើសមកាលកម្មដូចគ្នា ដែលត្រូវបានប្រើនៅពេលអ៊ិនគ្រីបព័ត៌មាន។ បើមិនដូច្នោះទេ វានឹងមិនអាចទទួលបានអត្ថបទដើមពីអត្ថបទដែលបានអ៊ិនគ្រីបនោះទេ។

នៅក្នុងការអនុវត្តភាគច្រើននៃក្បួនដោះស្រាយ GOST 28147-89 សារធ្វើសមកាលកម្មមិនមែនជាធាតុសម្ងាត់ទេ ទោះជាយ៉ាងណាក៏ដោយ សារសមកាលកម្មអាចសម្ងាត់ដូចគ្រាប់ចុចអ៊ិនគ្រីបដែរ។ ក្នុងករណីនេះ យើងអាចពិចារណាថា ប្រវែងគន្លឹះដ៏មានប្រសិទ្ធភាពនៃក្បួនដោះស្រាយ (256 ប៊ីត) កើនឡើងដោយ 64 ប៊ីតផ្សេងទៀតនៃសារធ្វើសមកាលកម្ម ដែលអាចចាត់ទុកថាជាធាតុសំខាន់បន្ថែម។

របៀបហ្គាម៉ាជាមួយមតិកែលម្អ

នៅក្នុងរបៀបហ្គាម៉ាជាមួយនឹងមតិកែលម្អ លទ្ធផលនៃការអ៊ិនគ្រីបប្លុកពីមុននៃអត្ថបទធម្មតាត្រូវបានប្រើដើម្បីបំពេញការចុះឈ្មោះ /VI និង L/2 ដោយចាប់ផ្តើមពីប្លុកទី 2 មិនមែនជាប្លុកហ្គាម៉ាមុនទេ ប៉ុន្តែលទ្ធផលនៃការអ៊ិនគ្រីបប្លុកអត្ថបទធម្មតាពីមុន (រូបភាព 3.4) ។ ប្លុកទីមួយនៅក្នុងរបៀបនេះត្រូវបានបង្កើតទាំងស្រុងស្រដៀងទៅនឹងប្លុកមុននេះ។

អង្ករ។ ៣.៤. ការបង្កើតហ្គាម៉ាស៊ីបនៅក្នុងរបៀបហ្គាម៉ាដោយមានមតិកែលម្អ

របៀបបង្កើតឯកសារភ្ជាប់ក្លែងក្លាយ

បុព្វបទគឺជាមូលប្បទានប័ត្រគ្រីបគ្រីបដែលបានគណនាដោយប្រើសោអ៊ិនគ្រីប និងត្រូវបានរចនាឡើងដើម្បីផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃសារ។ ដើម្បីគណនាវាមានរបៀបពិសេសនៃក្បួនដោះស្រាយ GOST 28147-89 ។

ការបង្កើតបុព្វបទក្លែងបន្លំត្រូវបានអនុវត្តដូចខាងក្រោម:

1. ប្លុកព័ត៌មាន 64 ប៊ីតដំបូងដែលបុព្វបទក្លែងបន្លំត្រូវបានគណនាត្រូវបានសរសេរដើម្បីចុះឈ្មោះ N1 និង N2 ហើយបានអ៊ិនគ្រីបក្នុងរបៀបជំនួសសាមញ្ញដែលកាត់បន្ថយ ដែលក្នុងនោះ 16 ជុំដំបូងក្នុងចំណោម 32 ត្រូវបានអនុវត្ត។

2. លទ្ធផលដែលទទួលបានគឺត្រូវបូកសរុបម៉ូឌុល 2 ជាមួយនឹងប្លុកព័ត៌មានបន្ទាប់ ដោយរក្សាទុកលទ្ធផលក្នុង N1 និង N2 ។

3. M និង N2 ត្រូវបានអ៊ិនគ្រីបម្តងទៀតនៅក្នុងរបៀបជំនួសសាមញ្ញខ្លីៗ។

បុព្វបទក្លែងបន្លំត្រូវបានចាត់ទុកថាជាមាតិកាលទ្ធផល 64 ប៊ីតនៃការចុះឈ្មោះ N1 និង N2 ឬផ្នែករបស់វា។ ភាគច្រើនជាញឹកញាប់ បុព្វបទក្លែងបន្លំ 32 ប៊ីតត្រូវបានប្រើ ពោលគឺពាក់កណ្តាលនៃមាតិកានៃការចុះឈ្មោះ។ នេះគឺគ្រប់គ្រាន់ហើយ ព្រោះថាដូចជាមូលប្បទានប័ត្រណាមួយ ឯកសារភ្ជាប់ក្លែងបន្លំត្រូវបានបម្រុងទុក ជាដំបូងនៃការទាំងអស់ដើម្បីការពារប្រឆាំងនឹងការបង្ខូចទ្រង់ទ្រាយព័ត៌មានដោយចៃដន្យ។ ដើម្បីការពារប្រឆាំងនឹងការកែប្រែទិន្នន័យដោយចេតនា វិធីសាស្ត្រគ្រីបគ្រីបផ្សេងទៀតត្រូវបានប្រើ - ជាចម្បងហត្ថលេខាឌីជីថលអេឡិចត្រូនិច (សូមមើលផ្នែកទី 1.1)។

បុព្វបទ​ក្លែង​ក្លាយ​ត្រូវ​បាន​ប្រើ​ដូច​ខាង​ក្រោម៖

1. នៅពេលអ៊ិនគ្រីបព័ត៌មានណាមួយ បុព្វបទក្លែងបន្លំអត្ថបទធម្មតាត្រូវបានគណនា និងផ្ញើរួមជាមួយអក្សរសម្ងាត់។

2. បន្ទាប់ពីការឌិគ្រីប បុព្វបទក្លែងបន្លំត្រូវបានគណនាម្តងទៀត និងប្រៀបធៀបជាមួយការផ្ញើ។

3. ប្រសិនបើបុព្វបទក្លែងធ្វើដែលបានគណនា និងផ្ញើមិនត្រូវគ្នា នោះអក្សរសម្ងាត់ត្រូវបានបង្ខូចទ្រង់ទ្រាយកំឡុងពេលបញ្ជូន ឬសោមិនត្រឹមត្រូវត្រូវបានប្រើកំឡុងពេលឌិគ្រីប។

បុព្វបទក្លែងបន្លំគឺមានប្រយោជន៍ជាពិសេសសម្រាប់ពិនិត្យមើលការឌិគ្រីបត្រឹមត្រូវនៃព័ត៌មានគន្លឹះនៅពេលប្រើគ្រោងការណ៍ពហុសោ។

បុព្វបទក្លែងបន្លំគឺជា analogue មួយចំនួននៃកូដផ្ទៀងផ្ទាត់សារ MAC ដែលគណនាក្នុងរបៀប CBC ។ ភាពខុសគ្នានោះគឺថានៅពេលគណនាបុព្វបទក្លែងបន្លំ សារធ្វើសមកាលកម្មមិនត្រូវបានប្រើទេ ចំណែកនៅពេលគណនា MAC វ៉ិចទ័រចាប់ផ្តើមត្រូវបានប្រើ។

ក្បួនដោះស្រាយភាពខ្លាំងនៃការគ្រីប

នៅឆ្នាំ 1994 ការពិពណ៌នានៃក្បួនដោះស្រាយ GOST 28147-89 ត្រូវបានបកប្រែជាភាសាអង់គ្លេសនិងបោះពុម្ពផ្សាយ។ វាគឺបន្ទាប់ពីនេះដែលលទ្ធផលនៃការវិភាគរបស់ខ្លួនដែលធ្វើឡើងដោយអ្នកឯកទេសបរទេសបានចាប់ផ្តើមលេចឡើង។ ទោះយ៉ាងណាក៏ដោយ គ្មានការវាយប្រហារណាមួយដែលខិតជិតលទ្ធភាពត្រូវបានរកឃើញក្នុងរយៈពេលដ៏សន្ធឹកសន្ធាប់នោះទេ។

□ ប្រវែងគន្លឹះធំ - 256 ប៊ីត; រួមជាមួយនឹងសារធ្វើសមកាលកម្មសម្ងាត់ ប្រវែងគន្លឹះមានប្រសិទ្ធភាពកើនឡើងដល់ 320 ប៊ីត។

□ 32 ជុំនៃការផ្លាស់ប្តូរ; រួចហើយបន្ទាប់ពីជុំទី 8 ឥទ្ធិពលពេញលេញនៃការបែកខ្ញែកនៃទិន្នន័យបញ្ចូលត្រូវបានសម្រេច៖ ការផ្លាស់ប្តូរមួយប៊ីតនៃប្លុកអត្ថបទធម្មតានឹងប៉ះពាល់ដល់ប៊ីតទាំងអស់នៃប្លុកអក្សរសម្ងាត់ ហើយផ្ទុយមកវិញ ពោលគឺមានរឹមកម្លាំងច្រើន។

ចូរយើងពិចារណាពីលទ្ធផលនៃការវិភាគគ្រីបនៃក្បួនដោះស្រាយ GOST 28147-89 ។

ការវិភាគតារាងជំនួស

ដោយសារតារាងជំនួសមិនត្រូវបានផ្តល់ជូនក្នុងស្តង់ដារ ការងារមួយចំនួន (ឧទាហរណ៍ក្នុង) ណែនាំថា "ស្ថាប័នមានសមត្ថកិច្ច" អាចចេញតារាងជំនួសទាំង "ល្អ" និង "អាក្រក់" ។ ទោះជាយ៉ាងណាក៏ដោយអ្នកជំនាញដ៏ល្បីល្បាញ Bruce Schneier ហៅការសន្មត់បែបនេះថា "ពាក្យចចាមអារ៉ាម" ។ វាច្បាស់ណាស់ថាកម្លាំងគ្រីបនៃក្បួនដោះស្រាយភាគច្រើនអាស្រ័យទៅលើលក្ខណៈសម្បត្តិនៃតារាងជំនួសដែលបានប្រើ អាស្រ័យហេតុនេះ មានតារាងជំនួសខ្សោយ (សូមមើលឧទាហរណ៍ខាងលើ) ការប្រើប្រាស់ដែលអាចសម្រួលដល់ការវាយប្រហារនៃក្បួនដោះស្រាយ។ ទោះជាយ៉ាងណាក៏ដោយ លទ្ធភាពនៃការប្រើប្រាស់តារាងជំនួសផ្សេងគ្នាហាក់ដូចជាគំនិតដែលសក្តិសមបំផុត ដែលការពិតពីរខាងក្រោមពីប្រវត្តិនៃស្តង់ដារការអ៊ិនគ្រីប DES អាចត្រូវបានដកស្រង់ (សម្រាប់ព័ត៌មានលម្អិត សូមមើលផ្នែកទី 3.15)៖

□ ការវាយប្រហារដោយប្រើទាំងលីនេអ៊ែរ និងឌីផេរ៉ង់ស្យែលគ្រីបគ្រីបនៃក្បួនដោះស្រាយ DES ប្រើលក្ខណៈពិសេសជាក់លាក់នៃតារាងជំនួស។ នៅពេលប្រើតារាងផ្សេងទៀត ការវិភាគគ្រីបនឹងត្រូវចាប់ផ្តើមឡើងវិញ។

□ ការប៉ុនប៉ងត្រូវបានធ្វើឡើងដើម្បីពង្រឹង DES ប្រឆាំងនឹងការវិភាគគ្រីបលីនេអ៊ែរ និងឌីផេរ៉ង់ស្យែល ដោយប្រើតារាងជំនួសដ៏រឹងមាំជាងមុន។ តារាងបែបនេះដែលពិតជារឹងមាំជាង ត្រូវបានគេស្នើឡើង ឧទាហរណ៍នៅក្នុង s 5 DES algorithm; ប៉ុន្តែ alas វាមិនអាចទៅរួចទេក្នុងការជំនួស DES ជាមួយ s 5 DES ចាប់តាំងពីតារាងជំនួសត្រូវបានកំណត់យ៉ាងតឹងរ៉ឹងនៅក្នុងស្តង់ដារហើយយោងទៅតាមការអនុវត្តនៃក្បួនដោះស្រាយប្រហែលជាមិនគាំទ្រសមត្ថភាពក្នុងការផ្លាស់ប្តូរតារាងទៅអ្នកដទៃទេ។

ការងារមួយចំនួន (ឧទាហរណ៍ , និង ) សន្និដ្ឋានខុសថា តារាងជំនួសសម្ងាត់នៃក្បួនដោះស្រាយ GOST 28147-89 អាចជាផ្នែកមួយនៃគន្លឹះ និងបង្កើនប្រវែងប្រសិទ្ធភាពរបស់វា (ដែលមិនសំខាន់ ព្រោះថាក្បួនដោះស្រាយមាន 256 ធំ។ - គ្រាប់ចុចប៊ីត) ។ ទោះជាយ៉ាងណាក៏ដោយ ការងារនេះបង្ហាញថាតារាងជំនួសសម្ងាត់អាចត្រូវបានគណនាដោយប្រើការវាយប្រហារខាងក្រោម ដែលអាចប្រើបានជាក់ស្តែង៖

1. គ្រាប់ចុចសូន្យត្រូវបានកំណត់ ហើយការស្វែងរក "វ៉ិចទ័រសូន្យ" ត្រូវបានអនុវត្ត ពោលគឺតម្លៃ z = /(0) ដែល /() គឺជាអនុគមន៍ជុំនៃក្បួនដោះស្រាយ។ ដំណាក់កាលនេះចំណាយពេលប្រហែល 2 ប្រតិបត្តិការអ៊ិនគ្រីប។

2. ដោយប្រើវ៉ិចទ័រសូន្យតម្លៃនៃតារាងជំនួសត្រូវបានគណនាដែលចំណាយពេលមិនលើសពី 2 11 ប្រតិបត្តិការ។

ការកែប្រែក្បួនដោះស្រាយ និងការវិភាគរបស់ពួកគេ។

ការងារបានអនុវត្តការវិភាគគ្រីបនៃការកែប្រែនៃក្បួនដោះស្រាយ GOST 28147-89៖

□ ក្បួនដោះស្រាយ GOST-H ដែលក្នុងនោះ ទាក់ទងទៅនឹងក្បួនដោះស្រាយដើម លំដាប់នៃការប្រើប្រាស់គ្រាប់ចុចរងត្រូវបានផ្លាស់ប្តូរ ពោលគឺនៅក្នុងជុំពី 25 ទៅ 32 គ្រាប់ចុចរងត្រូវបានប្រើប្រាស់តាមលំដាប់ផ្ទាល់ ពោលគឺដូចគ្នាទៅនឹងជុំមុននៃក្បួនដោះស្រាយ។

□ ក្បួនដោះស្រាយ GOST® 20 ជុំ ដែលជុំមួយប្រើ XOR ជំនួសឱ្យការបន្ថែម modulo-2 ដើម្បីដាក់ជាន់លើសោ។

ផ្អែកលើលទ្ធផលនៃការវិភាគ វាត្រូវបានសន្និដ្ឋានថា GOST-H និង GOST© ខ្សោយជាងក្បួនដោះស្រាយ GOST 28147-89 ដើម ដោយសារទាំងពីរមានថ្នាក់នៃសោខ្សោយ។ គួរកត់សម្គាល់ថានៅក្នុងលក្ខខណ្ឌនៃ GOST© cryptanalysis ការងារនិយាយឡើងវិញនូវពាក្យសម្រាប់ផ្នែកដែលឧទ្ទិសដល់ cryptanalysis នៃ GOST 28147-89 algorithm ដែលជាការងារល្បីដែលបានបោះពុម្ពនៅឆ្នាំ 2000 (ដោយគ្មានឯកសារយោងណាមួយទៅដើម) ។ នេះចោទជាសំណួរអំពីវិជ្ជាជីវៈរបស់អ្នកនិពន្ធនៃការងារ និងលទ្ធផលផ្សេងទៀតរបស់វា។

ការកែប្រែដ៏គួរឱ្យចាប់អារម្មណ៍នៃក្បួនដោះស្រាយត្រូវបានស្នើឡើងនៅក្នុងការងារ៖ តារាង S\...Ss ត្រូវតែខុសគ្នា។ នៅក្នុងជុំនីមួយៗនៃក្បួនដោះស្រាយ ពួកគេត្រូវតែរៀបចំឡើងវិញដោយយោងទៅតាមច្បាប់ជាក់លាក់មួយ។ ការផ្លាស់ប្តូរនេះអាចអាស្រ័យលើសោអ៊ិនគ្រីប ឬវាក៏អាចជាសម្ងាត់ (ឧ. ជាផ្នែកនៃសោអ៊ិនគ្រីបធំជាងសោ 256 ប៊ីតដើម)។ ជម្រើសទាំងពីរនេះ យោងទៅតាមអ្នកនិពន្ធរបស់ពួកគេ បង្កើនភាពធន់នៃក្បួនដោះស្រាយប្រឆាំងនឹងលីនេអ៊ែរ និងឌីផេរ៉ង់ស្យែលគ្រីបគ្រីប។

ហើយការកែប្រែមួយផ្សេងទៀតដែលទាក់ទងនឹងតារាងជំនួសត្រូវបានផ្តល់ឱ្យនៅក្នុងការងារដែលវិភាគវិធីសាស្រ្តមួយក្នុងចំណោមវិធីសាស្រ្តដែលអាចធ្វើបានសម្រាប់ការគណនាតារាងជំនួសដោយផ្អែកលើសោអ៊ិនគ្រីប។ អ្នកនិពន្ធនៃការងារបានសន្និដ្ឋានថាការពឹងផ្អែកបែបនេះធ្វើឱ្យក្បួនដោះស្រាយចុះខ្សោយ ព្រោះវានាំទៅរកវត្តមាននៃសោខ្សោយ និងភាពងាយរងគ្រោះដែលអាចកើតមាននៃក្បួនដោះស្រាយ។

ការវិភាគក្បួនដោះស្រាយពេញលេញ

វាក៏មានការវាយប្រហារលើគ្រប់ជ្រុងជ្រោយ GOST 28147-89 ដោយគ្មានការកែប្រែណាមួយឡើយ។ ការងារសាធារណៈដំបូងបង្អស់មួយក្នុងការវិភាគក្បួនដោះស្រាយ ដែលជាការងារដ៏ល្បីគឺត្រូវបានឧទ្ទិសដល់ការវាយប្រហារដែលទាញយកភាពទន់ខ្សោយនៅក្នុងនីតិវិធីពង្រីកគន្លឹះនៃក្បួនដោះស្រាយការអ៊ិនគ្រីបល្បីមួយចំនួន។ ជាពិសេស ក្បួនដោះស្រាយពេញលេញនៃ GOST 28147-89 អាចត្រូវបានបំបែកដោយប្រើឌីផេរ៉ង់ស្យែលគ្រីបគ្រីបនៅលើសោដែលពាក់ព័ន្ធ ប៉ុន្តែប្រសិនបើតារាងជំនួសខ្សោយត្រូវបានប្រើ។ កំណែ 24 ជុំនៃក្បួនដោះស្រាយ (ដែល 8 ជុំដំបូងត្រូវបានបាត់) ត្រូវបានបើកតាមរបៀបស្រដៀងគ្នាជាមួយនឹងតារាងជំនួសណាមួយ ប៉ុន្តែតារាងជំនួសខ្លាំង (ឧទាហរណ៍ដែលបានផ្តល់ឱ្យ) ធ្វើឱ្យការវាយប្រហារបែបនេះមិនអាចអនុវត្តបានទាំងស្រុង។

អ្នកវិទ្យាសាស្ត្រក្នុងស្រុក A.G. Rostovtsev និង E. B. Makhovenko ក្នុងឆ្នាំ 2001 បានស្នើវិធីសាស្រ្តថ្មីជាមូលដ្ឋាននៃ cryptanalysis (យោងទៅតាមអ្នកនិពន្ធ មានប្រសិទ្ធភាពជាង cryptanalysis លីនេអ៊ែរ និងឌីផេរ៉ង់ស្យែល) ដោយបង្កើតមុខងារគោលបំណងពីអត្ថបទធម្មតាដែលគេស្គាល់ដែលត្រូវគ្នានឹងវាក្យសព្ទ និងតម្លៃដែលចង់បាន។ ការស្វែងរកភាពខ្លាំងរបស់វាដែលត្រូវគ្នានឹងតម្លៃគន្លឹះពិត។ ពួកគេក៏បានរកឃើញថ្នាក់ធំនៃគន្លឹះខ្សោយនៃក្បួនដោះស្រាយ GOST 28147-89 ដែលធ្វើឱ្យវាអាចបើកក្បួនដោះស្រាយដោយប្រើតែ 4 អត្ថបទធម្មតាដែលបានជ្រើសរើស និងអក្សរសម្ងាត់ដែលត្រូវគ្នាជាមួយនឹងភាពស្មុគស្មាញទាប។ Cryptanalysis នៃ algorithm បន្តនៅក្នុងការងារ។

ក្នុងឆ្នាំ 2004 ក្រុមអ្នកឯកទេសមកពីប្រទេសកូរ៉េបានស្នើរឱ្យមានការវាយប្រហារដែលដោយប្រើឌីផេរ៉ង់ស្យែលគ្រីបគ្រីបលើសោដែលពាក់ព័ន្ធអាចទទួលបាន 12 ប៊ីតនៃសោសម្ងាត់ដែលមានប្រូបាប៊ីលីតេ 91.7% ។ ការវាយប្រហារទាមទារ 2 35 អត្ថបទធម្មតាដែលបានជ្រើសរើស និង 2 36 ប្រតិបត្តិការអ៊ិនគ្រីប។ ដូចដែលអ្នកអាចឃើញ ការវាយប្រហារនេះគឺពិតជាគ្មានប្រយោជន៍សម្រាប់ការបំបែកក្បួនដោះស្រាយនោះទេ។