3-amaliy ishi Mavzu: Klassik shifrlarni dasturiy ko’rinishda amalga oshirish Ishdan maqsad
Download 0.74 Mb. Pdf ko'rish
|
3-amaliy ish
- Bu sahifa navigatsiya:
- Nazariy qism Sezar usuli.
- Vijiner shifri.
- Vijiner usulida shifrlash.
- Vernam shifri.
1
Mavzu: Klassik shifrlarni dasturiy ko’rinishda amalga oshirish Ishdan maqsad: Klassik shifrlarni haqida amaliy bilim va ko’nikmalarga ega bo’lish. Nazariy qism Sezar usuli. Sezar shifri oddiy siljitish shifrining bir qismi hisoblanadi. Bu shifrni rimlik imperator Gole Yuliy Sezar o‘ylab topgan. Shifrlashda matnning har bir harfi boshqa harf bilan quyidagi qoida asosida almashtiriladi. Harflarni almashtirishda kelayotgan yozuv harflarini k-ga siljitib almashtiriladi. Bu erda M – butun son hisoblanib, ochiq matni belgisini biror alfavitdagi o‘rni, S – butun son bo‘lib, shifr belgini biror alfavitdagi o‘rni. C=(M+k)modm, m - alfavit uzunligi. Deshifrlash ifodasi esa M=(C-k)modm ifoda bilan ifodalanadi. Yuliy Sezar bevosita k = 3 bo‘lganda ushbu usuldan foylangan. Sezar usulining kamchiligi bu bir xil harflarning o‘z navbatida, bir xil harflarga almashishidir. Masalan, matn sifatida T 0 =KOMPUTER so‘zini va K=3 deb oladigan bo‘lsak Sezar usuli natijasida quyidagi shifrlangan yozuv hosil bo‘ladi: T 1 = NRPSXWHU. Vijiner shifri. Birinchi bo’lib Vijiner tizimi 1586-yilda chop etilgan va u ko’p alifboli tizimga nisbatan Yuqoriroq o’rinda turadi. Bleza Vijinera o’zini XVI asrning fransuz diplomati deb hisoblaydi. U kriptografiya tizimiga, Ya’ni uning rivojlanishiga o’z hissasini qo’shgan. Vijiner tizimi Sezar shifrlash tizimiga qaraganda mukammalroq hisoblanib, unda kalit harfidan harfga almashtiriladi. Bunday ko’p alifboli almashtirish shifrini shifrlash jadvali orqali ifodalash mumkin. Quyidagi jadvallarda Vijinerning ingliz alifbosi va kiril alifbolari uchun mos keluvchi qiymatlar ko’rsatilgan.
2
a li t
A B
C
D E
F
G H
I
J K
L
M N
O
P Q
R
S T
U
V W
X
Y Z 1 A B C D E F G H I J K L M N
O P Q R S T U V W X Y Z 2 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 3 C D E F G H I J K L M N
O P Q R S T U V W X Y Z A B 4 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 5 E F G
H I J K L M N O P Q R S T U V W X Y Z A B C D 6 F G H I J K L M N
O P Q R S T U V W X Y Z A B C D E 7 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 8 H I
J K L M N O P Q R S T U V W X Y Z A B C D E F G 9 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 10 J K L
M N O P Q R S T U V W X Y Z A B C D E F G H I 11 K L M N O P
R S T U V W X Y Z A B C D E F G H I J 12 L M N
O P Q R S T U V W X Y Z A B C D E F G H I J K 13
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 14 N O P Q R S T U V W X
Y Z A B C D E F G H I J K L M 15 O P Q
R S T U V W X Y Z A B C D E F G H I J K L M N 16 P Q R S T U V W X
Y Z A B C D E F G H I J K L M N O 17
Q R S T U V W X
Y Z A B C D E F G H I J K L M N O P 18 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 19
S T U
V W X
Y Z A B C D E F G H I J K L M N O P Q R 20
T U V W X
Y Z A B C D E F G H I J K L M N O P Q R S 21 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 22
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 23 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 24 X Y Z A B C D E F G H I J K L M N
O P Q R S T U V W 25 Y Z A
B C D E F G H I J K L M N O P Q R S T U V W X 26 Z A B
C D E F G H I J K L M N
O P Q R S T U V W X Y 3
Kiril alifbosida А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _
А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _
Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А
В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б
Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В
Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г
Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д
Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е
Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё
З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж
И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З
Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И
К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й
Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К
М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л
Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М
О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н
П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О
Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П
С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р
Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С
У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т
Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У
Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф
Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х
Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц
Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч
Ь Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш
Ъ Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь
Э Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ
Ю Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Я Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч
Ш Ь Ъ Э
Ю
Ў Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я
Қ Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў
Ғ Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ
Ҳ _ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ
_ А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э
Ю Я Ў Қ Ғ Ҳ
Vijiner usulida shifrlash. Bu shifrlash usuli ko‘p alfavitli shifrlash usuliga kiradi. Quyida kiril alifbosidan foydalanilgan holda kalit “КЎЗА” ga teng bo‘lgan holda, “БАЙРАМ_КУНИ” ochiq matnini shifrlash keltirilgan. Buning uchun dastlab satr bo‘ylab kiril alifbosi yoziladi. Alifboni birinchi harfi tagidan kalit so‘z 4
vertikal shaklda yoziladi. Shundan so‘ng har bir kalit so‘zning harfi orqasidan gorizontal shaklda alfavit to‘ldirib yoziladi.
Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ - К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ - А Б В Г Д Е Ё Ж З И Й Ў Қ Ғ Ҳ - А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ - А Б В Г Д Е Ё Ж А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Ь Ъ Э Ю Я Ў Қ Ғ Ҳ -
Ushbu jadvaldan shifrlash natijasi sifatida quyidagini olish mumkin: Т 1 =ЛЎСРКЗЖКЎИР. Ochiq matn Б А
Й Р А М _ К У Н И
Kalit К Ў
З А К Ў З А К Ў З
Shifrlangan matn Л Ў
С Р К З Ж К
Ў И Р
Vernam shifri. Vernamning shifrlash tizimi modul qiymati m=2 bo’lgan Vijiner shifrlash tizimining bir qismi hisoblanib, 1926-yilda bu usulning aniq ko’rinishi ishlab chiqiladi. Gilbertom Vernam AT&SSHA firmasi xomiyligi ostida kiruvchi matn sifatida ikkilik sanoq sistemasidan foydalandi. Shifrlashda birinchi Ingliz alifbosidagi (A, B...Z). Matnning har bir harfi 5-bit bo’lakli (b0,b1…b4) Bado raqami bilan kodlanadi. Ixtiyoriy ketma-ketlikdagi ikkilik kalitlar k0,k1,k2, avval kitobsimon lentaga yoziladi. Quyidagi rasmda uzatilayotgan axborotni Vernam usuli orqali shifrlash ko’rsatilgan (3.1-rasm).
3.1- rasm. Vernam usuli orqali shifrlash Kiruvchi matnni shifrlashda x-kiruvchi matn ikkilik ko’rinishiga Kalit ketma-ketligi k k
y= x XOR k x= y XOR k Kiruvchi yozuvi Shifrlangan yozuv Tiklangan yozuv 5
o’tkaziladi va ikkilik modul ostida ikkilik ketma-ketlikdagi k-kalit bilan shifrlash amalga oshiriladi. Bu shifrlangan yozuv quyidagi tenglik orqali amalga oshiriladi. y = x ⊕ k
Deshifrlash uchun shifrmatn va kalit xor amalida qo’shiladi.
Amaliy qism Affin shifrlash algoritmining dasturiy ta’minotini ishlab chiqishda Eclipse IDE for Java Developers - 2020-03 va jdk-14.0.1 obe’ktga mo‘ljallangan dasturlash tilidan foydalanilgan. Jdk-14.0.1 ishga tushirish uchun cmd buyrugidan foydalaniladi (pusk va R teng bosiladi):
3.2-rasm. Cmd buyrug’ini ishga tushirilad Dastur kodi saqlovchi notepad++, Текстовый документ (.txt) ni joylashgan joyiga murojat qilinadi. Cmd oynasidagi joyi papkasidan chiqish va yuqoridagi dastur kodini ishga tushurishimiz uchun cd.. buyrug’i orqali amalga oshiramiz.
3.2.1-rasm. Cmd oynasi Keyingi qadamda dastur kodi mavjud bo’lgan papkani aniq manzili kiritiladi va dir buyrug’i orqali papka tarkibini ko’rish mumkin bo’ladi. 6
3.2.2-rasm. dastur kodi mavjud bo’lgan papkani manzili Dasturni ishga tushirish uchun javac sezar.java buyrug’i orqali xatoliklar mavjudliligi aniqlanadi. Agar xatolik bo’lmasa java sezar buyrug’i bilan dasturni ishga tushuramiz
3.2.3-rasm. dastur kodini ishga tushirish Yuqorida ko’rib chiqqan misolni “KOMPUTER” so’zini shifrlab ko’ramiz
3.2.4-rasm. Shifr ma’lumot Eclipse IDE for Java Developers - 2020-03 muhitida Affin shifrlash algoritmi yuqorida ko’rib chiqqan misolni “KOMPYUTER” so’zini shifrlab ko’ramiz:
7
3.3-rasm. Dastur kodi
2.6-rasm. Shifr ma’lumot 3.3.3-rasm. C++ muhitida Vijiner shifrlash algoritmida shifrlash jarayoni Ishni bajarilish tartibi va qo’yilgan vazifa Asosiy matn shifrlash usullarida shifrlansin va qadamma – qadam izohlansin. Shuningdek Delpi, Java, C++ va C# dasturlash tizimlaridan birida dasturiy ta’minot yaratilsin. Nazorat savollari 1. Bir alifboli shifrlashning umumiy mohiyati nimada? 2. Vernam shifrini tavsiflang. 3. Vijiner shifrida ma’lumotlarni shifrlash va deshifrlash qanday amalga oshiriladi? Download 0.74 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling