Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_Kaliyev.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
951.81 Кб
Скачать

2.2.2 Итерациялық криптографиялық алгоритмді іске асыру

Жобаны практикалық іске асыру барысында кездескен қиыншылықтарды толығырақ қарастырайық.

1) Компьютерлік жүйенің күйлерінің саны шекті болу мәселесі. Хаос теориясы бойынша хаостық жүйе күйлерінің саны шексіз. Ал күйлерінің саны шекті болатын машинада хаостық жүйе жүзеге асырылмайтынын түсіну оңай. Бұл өз кезегінде есептеу үрдісінде қателіктердің жиналып, тоқтап қалуға әкеліп соғады. Соның әсерінен шифрлеуге қажет кездейсоқ сандарды генерациялау алгоритмі жарамсыз болып қалады.

Берілген мәселені шешу үшін мен ЭЕМ-дерде үздіксіз жүйелердегі модельдеудің қарапайым жолы болып табылатын толқымалы үтірі бар математиканы қолдандым. Delphi программалау ортасында толқымалы үтірі бар жуықтау функциясы RoundTo математикалық функциясы қарастырылған. Берілген функция нақты санның «минус» 37 мен 37 аралығындағы цифрларға дейінгі дәлдікпен жуықтай алады. Генератордағы сандарды сипаттау үшін мәндерінің диапазоны 5.0 x 10^-324 .. 1.7 x 10^308 болатын сандардың Double типін таңдадым.

2) Шифрлеу алгоритмін таңдау мәселесі. Аналитикалық бөлімде қарастырылған криптографиялық алгоритмдердің әр түрлілігіне қарамастан, мен қарапайым XOR әдісімен биттік қосылуды жүзеге асыратын симмметриялық алгоритмге тоқталдым (БОЛҒЫЗБАЙТЫН НЕМЕСЕ). Алгоритмнің симметриялығы дипломдық жобада қарастырылған міндеттерді шешуге байланысты таңдалды. Қандай да бір тасымал құралдарында сақтаулы фалдарды қорғау қарапайым және тиімді симметриялық алгоритмнің көмегімен жүзеге асырылады.

Берілген алгоритм – екілілік санау жүйесін қолданатын процессорлардың бір тактісінде орындалу жылдамдығы ең тез алгоритм. Басқа модельдегі процессорлар тәжірибелік кең қолданысқа ие емес. Сонымен қатар компьютерлік желілердегі ақпарат алмасу жоғары жылдамдықты қажет етеді. Симметриялық алгоритм бұл талапқа толығымен сай келеді.

Берілген әдіс процессорлық уақыттың есептеу шығындарын үнемдей отырып, жалпылай алғанда үстеменің жұмыс жылдамдығын арттырады.

2.2.3 Программаның графикалық интерфейсі

Мен берілген программалық қосымшаны жобалау барысында оның қолданушыға түсінікті, әрі жұмыс істеуге ыңғайлы болатындай етіп жасауға тырыстым. Берілген жобаның қолданушы интерфейсі қарапайым, әрі түсінікті. Программа қолданушының іс-әрекетіне талдау жүргізе отырып қадағалау жасайды, сондықтан программа қолданушы тарапынан жіті бақылауды қажет етпейді. Программада қолданушы орындайтын іс-әрекеттер барынша азайтылған және қолданушының олақ не бейжай әрекеттеріне жол бермейді.

Нәтижесінде қолданушы интерфейсіне қойылатын талаптар жиынтығы жасап шығарылды:

  1. басқару элементтерінің қарапайымдылығы және көрнекілігі;

  2. кілттерге қойылатын талаптар жайлы көрнекі мағлұмат беретін алдын-ала орнатылған мәндер жиынтығы;

  3. жұмыс істеу тәртібінің бұзылуы жағдайында басқару элементтерінің блокталып қалуы және оның себептері жайлы хабарландырылуы;

  4. жергілікті компьютер желісінде жұмыс істеу мүмкіндігі;

  5. жергілікті компьютер желісіндегі кез-келген компьютермен жылдам, әрі қауіпсіз ақпарат алмасу мүмкіндігі;

  6. байланыс орнатылған компьютерлердің атын не IP-адрестерін автоматты түрде файлда сақтау мүмкіндігі;

  7. файлды не бейнекескінді шифрлеу мүмкіндігі;

  8. шифрленген файлды не бейнекескінді сақтап қою мүмкіндігі;

  9. шифрлеу үрдісін көрнекі кескіндеу;

  10. программаның бір мезгілде клиент, әрі сервер қызметтерін атқару мүмкіндігі;

Программа кілтті енгізу және шифрлеу барысында қолданушының жіберетін қателіктерін және оның салдарын болдырмау мақсатында енгізілетін кілттер диапазонына шек қояды. Бұдан кілттер кеңістігі азайып қалмайтынын айта кету керек.

Алдымен қолданушыға құпия кілтті енгізу ұсынылады. Кілттің құрылымы күрделі: ол 5 элементтен тұрады.

  • x0 мәндерінің аралығы 0-ден 1000-ке дейін. Берілген шектеу шифрлеу үрдісін жеңілдетеді, әрі қауіпсіз етеді.

  • y0 мәндерінің аралығы 0-ден 1000-ке дейін. Берілген шектеу шифрлеу үрдісін жеңілдетеді, әрі қауіпсіз етеді.

  • z0 мәндерінің аралығы 0-ден 1000-ке дейін. Берілген шектеу шифрлеу үрдісін жеңілдетеді, әрі қауіпсіз етеді.

  • Берілген r параметрінің аралығы 24-тен 30-ға дейін. Берілген шектеу шифрлеу үрдісін жеңілдетеді, әрі қауіпсіз етеді.

  • к параметрінің аралығы 1-ден 10000-ға дейін.

Кілттің құрылымындағы элементтердің атқаратын қызметтері келесідей:

Қолданушы x0, y0, z0, r, k сандарын өз еркінше енгізеді (Сурет 19). Бұл жердегі x0, y0, z0 Лоренцтің үш сызықсыз дифференциалдық теңдеулер жүйесінің алғашқы шарттары болып табылады. Параметрлердің белгілі бір мәндерінде (дәлірек айтсақ, σ=10, b=8/3, 24≤ r ≤28) Лоренц теңдеуіндегі траекториялар алғашқы шартқа өте сезгіш келетіні жоғарыда айтылып өткен. Бұл мәндерді енгізу үшін Delphi-дегі SpinEdit компоненттерін қолдандым. Компонентке енгізілетін мәндерге максималды және минималды мәндерін орнатуға болады, және компонент тек қана сандық мәндерді қабылдайды. Бұл абайсызда кілттің құрамына әріптің не мәтіннің еніп кетуіне жол бермейді.

Кілттің келесі бір айырылмас бөлігі – r параметрі. Лоренц теңдеудегі траекториялардың r параметрдің өзгерісіне байланысты әрекеттері әр түрлі болады. Әсіресе, 24≤ r ≤28 аралығында Лоренц аттракторы туындайтынын бәрі де жақсы біледі. Қолданушы берілген параметрді 24-тен 28-ге дейін өзгерте алады. Ал Лоренц теңдеуіндегі басқа параметрлерді тұрақты етіп алдым.

Кілттің тағы бір бөлігі ол к саны. Бұл сан шифрлеуге дейінгі генератордағы итерациялардың «бос жүріс» саны. Берілген санды 1-ден 5000-ға дейін өзгертуге болады.

Программа қосылғаннан кейін жергілікті компьютерлермен байланыс орнату модулі шығады (Сурет 17). Берілген модулде қолданушы шифрленген ақпаратты (файл не бейнекескін) қабылдап алатын компьютерді таңдайды.

Сурет 17- Хабарды қабылдап алатын адамды (компьютерді) таңдау

Сурет 17-де шифрленген ақпарат жіберіле алатын қабылдап алушы адамдардың тізімі берілген. Бұл тізім Delphi-дегі RZTreeView компоненті арқылы іске асырылған. Компьютерлік желі жергілікті (TCP/IP) болғандықтан, берілген тізім компьютердің IP адресі жайлы мағлұматты қамтиды. Қолданушы қабылдап алушы компьютерлердің тізімін өзгертуге, өшіруге және жаңадан енгізуге мүмкіндігі бар. Бұл әрекеттердің барлығы контексттік меню арқылы жүзеге асады. Жаңадан енгізу үшін қолданушы контексттік менюдің «Добавить» өрісіне басады. Сол кезде жаңадан енгізу модулі ашылады (Сурет 18). Берілген модулге қабылдап алушы компьютердің IP-адресі және аты енгізіледі, компьютердің аты маңызды емес, себебі жіберуші компьютер қабылдап алушы жақты IP адрес бойынша табады.

Сурет 18- Тізімге жаңа контакт енгізу

Мәлімет жіберу үшін тізімде қабылдап алушы компьютерді таңдап, оған екі рет шерту жеткілікті. Осы әрекеттен кейін шифрлеу модулі ашылады.

Программа шифрлеу модулі қосылғаннан кейін кілтті енгізу қажет, әйтпесе фалды не бейнекескінді шифрлеу батырмалары белсенді болмайды. Кілт енгізілгеннен кейін RZPageControl компонентіндегі «Отправить_файл» және «Отправить_изображение» беттеріндегі «Загрузить» батырмалары белсенді болады (Сурет 20).

Кілт енгізілгеннен кейін шифрлеу файлын не шифрлеу бейнекескінін анықтау қажет. Файлды не бейнекескінді таңдау үшін «Загрузить» батырмасын қолданамыз. Файлды форматы маңызды емес, себебі барлық операциялар файлдың байттарына орындалады. Ал бейнекескінде операциялар бейнекескіннің пиксельдеріне орындалады. Бейнекескін файл ретінде де шифрлеуге болатынын айта кету қажет. Бұл дипломдық жобамның программалық үстемесінде мен бейнекескіннің тек BMP(Bitmap) форматын қарастырдым. Файл не бейнекескін енгізілгеннен кейін шифрленген файлды не бейнекескінді сақтау терезесі ашылады.

Сурет 19- Программаға кілттерді енгізу

Сурет 20- Программаның кілтті енгізгеннен кейінгі күйі

Шифрленген файлды не бейнекескінді компьютерлік желіде тасымалдау барысында әр түрлі келеңсіз оқиғалар болуы мүмкін: желінің үзіліп кетілуі, қабылдаушы компьютердің жұмысқа жарамсыз болып қалуы, т.б.. Ал бұл өз кезегінде қажетті ақпараттың жоғалуына алып келеді. Сондықтан мен шифрленген ақпаратты берілген компьютерде (жіберуші) сақтауды ұйғардым. Шифрленуші файлдың не бейнекескіннің сақтау орны анықталғасын шифрлеу үрдісі басталады. Қолданушы шифрлеу үрдісінің барысын Delphi-дің ProgressBar компоненті арқылы көре алады(21-сурет).

Сурет 21- Шифрлеу үрдісі

Файлды шифрлеуден кейін Delphi-дің Chart компоненті арқылы шифрленген файлдың жиіліктік сипаттамасы шығады. Сонымен қатар салыстыру үшін берілген канал арқылы шифрленбеген файлды да жіберуге болады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]