Ma'lumotlarni shifrlash usullari - veb-dasturchining blogi. Asimmetrik shifrlash. U qanday ishlaydi


Shifrlash - bu axborotni sir saqlashda eng ko'p qo'llaniladigan kriptografik usul bo'lib, u ma'lumotlarni u bilan ruxsatsiz tanishishdan himoya qiladi. Dastlab, biz kriptografik axborotni himoya qilishning asosiy usullarini ko'rib chiqamiz. Bir so'z bilan aytganda, kriptografiya - matematik usullardan foydalangan holda axborot xavfsizligi fani. Kriptografiyaga qarama-qarshi va himoyalangan ma'lumotlarni ochish usullariga bag'ishlangan fan ham mavjud - kriptanaliz... Kriptografiya va kriptanaliz kombinatsiyasi odatda deyiladi kriptologiya... Kriptografik usullarni har xil usulda tasniflash mumkin, lekin ko'pincha ular tegishli kriptoalgoritmlarda ishlatiladigan tugmalar soniga qarab bo'linadi (1-rasmga qarang):

  1. Hech qanday tugmachani ishlatmaydigan kalitsiz.
  2. Bitta kalit - ular ba'zi bir qo'shimcha kalit parametrlaridan foydalanadilar - odatda maxfiy kalit.
  3. Ikkala kalit, ularning hisob-kitoblarida ikkita kalit yordamida: sir va oshkora.

Shakl: 1. Kriptoalgoritmlar

Kriptografik texnikaga umumiy nuqtai

Shifrlash asosiy himoya usuli hisoblanadi; biz buni quyida batafsil ko'rib chiqamiz.

Qolgan kriptografik usullar haqida bir necha so'z aytishga arziydi:

  1. Ma'lumotlarning yaxlitligi va muallifligini tasdiqlash uchun elektron imzo ishlatiladi. Ma'lumotlarning yaxlitligi, saqlash yoki uzatish paytida ma'lumotlar tasodifiy yoki qasddan o'zgartirilmaganligini anglatadi.
    Algoritmlar elektron imzo ikki xil tugmachadan foydalaning:
    • elektron imzo hisoblash uchun maxfiy kalit ishlatiladi;
    • uni tekshirish uchun ochiq kalit ishlatiladi.
    Kriptografik jihatdan kuchli elektron imzo algoritmidan foydalanganda va maxfiy kalitni to'g'ri saqlash va ishlatishda (ya'ni kalitni egasidan boshqasi foydalana olmasa), boshqa hech kim biron bir elektron hujjatning to'g'ri elektron imzosini hisoblab chiqa olmaydi.
  2. Autentifikatsiya sizga foydalanuvchi (yoki) ekanligini tekshirishga imkon beradi masofaviy kompyuter) aslida u kimligini da'vo qilmoqda. Eng oddiy sxema autentifikatsiya parolga asoslangan - maxfiy element sifatida foydalanuvchi uni tekshirishda ko'rsatadigan paroldan foydalanadi. Bunday sxemani kuchaytirish uchun maxsus ma'muriy va texnik choralar ko'rilmasa, uning kuchsizligi isbotlangan. Va shifrlash yoki xeshlash asosida (pastga qarang), siz haqiqatan ham kuchli foydalanuvchi autentifikatsiya sxemalarini yaratishingiz mumkin.
  3. Kriptografik checksumning turli usullari mavjud:
    • kalit va kalitsiz xeshlash;
    • prefikslarni hisoblash;
    • xabarni tasdiqlash kodlaridan foydalanish.
    Darhaqiqat, ushbu usullarning barchasi har xil yo'llar bilan, o'zboshimchalik o'lchamidagi ma'lumotlardan, maxfiy kalit yordamida yoki bo'lmasdan, dastlabki ma'lumotlarga juda mos keladigan qat'iy o'lchamdagi ma'lum bir summani hisoblab chiqadi.
    Ushbu kriptografik checksum keng qo'llaniladi turli xil usullar axborotni muhofaza qilish, masalan:
    • elektron imzodan foydalanish imkonsiz bo'lgan (masalan, resurslarni ko'p iste'mol qilish sababli) yoki ortiqcha bo'lgan holatlarda har qanday ma'lumotlarning yaxlitligini tasdiqlash;
    • elektron imzo sxemalarida o'zlari ma'lumotlarning xashlari odatda "imzolanadi" va barcha ma'lumotlar to'liq emas;
    • yilda turli xil sxemalar foydalanuvchi autentifikatsiyasi.
  4. Tasodifiy va psevdo generatorlari tasodifiy raqamlar kriptografiyada keng qo'llaniladigan tasodifiy sonlar ketma-ketligini yaratishga imkon beradi, xususan:
    • maxfiy kalitlarni yaratish uchun tasodifiy raqamlar kerak, ular ideal holda umuman tasodifiy bo'lishi kerak;
    • tasodifiy raqamlar ko'plab elektron imzo algoritmlarida qo'llaniladi;
    • tasodifiy raqamlar ko'plab autentifikatsiya sxemalarida qo'llaniladi.
    To'liq tasodifiy raqamlarni olish har doim ham mumkin emas - buning uchun yuqori sifatli apparat generatorlari kerak. Biroq, nosimmetrik shifrlash algoritmlari asosida siz yuqori sifatli psevdo-tasodifiy sonlar generatorlarini yaratishingiz mumkin.
Shifrlash

Shifrlash axborot - bu ochiq ma'lumotni shifrlangan ma'lumotga aylantirish (ko'pincha shunday deyiladi) shifrlangan matn yoki kriptogramma), va teskari. Ushbu jarayonning birinchi qismi deyiladi shifrlash, ikkinchisi parolni hal qilish.

Siz quyidagi formulada shifrlashni tasavvur qilishingiz mumkin:

S \u003d E k1 (M),

qaerda:
M (xabar) - ochiq ma'lumotlar,
Dan (shifr matni) - shifrlash natijasida olingan shifrlangan matn,
E (shifrlash) - kriptografik o'zgarishlarni amalga oshiradigan shifrlash funktsiyasi M,
k1 (kalit) - funktsiya parametri Edeb nomlangan kalit shifrlash.

GOST 28147-89 standartida (standart ichki simmetrik shifrlash algoritmini belgilaydi) kontseptsiya kalit quyidagicha ta'riflanadi: "kriptografik o'zgartirish algoritmining ba'zi bir parametrlarining o'ziga xos maxfiy holati, bu barcha mumkin bo'lganlar to'plamidan bitta transformatsiyani tanlashni ta'minlaydi. ushbu algoritm transformatsiyalar ".

Kalit ma'lum bir foydalanuvchiga yoki foydalanuvchilar guruhiga tegishli bo'lishi va ular uchun noyob bo'lishi mumkin. Ma'lum bir kalit yordamida shifrlangan ma'lumotni faqat bitta kalit yoki u bilan bog'liq bo'lgan ma'lum bir nisbatda kalit yordamida ochish mumkin.

Shifrni echish shunga o'xshash tarzda taqdim etilishi mumkin:

M "\u003d D k2 (C),

qaerda:
M "- parolni hal qilish natijasida olingan xabar,
D. (parolni hal qilish) - parolni hal qilish funktsiyasi; shifrlash funktsiyasi bilan bir qatorda u shifrlangan matnda kriptografik o'zgarishlarni amalga oshiradi,
k2 - parolni hal qilish kaliti.

Parolni ochish natijasida to'g'ri matnni olish uchun (ya'ni avval shifrlangan: M "\u003d M) bir vaqtning o'zida quyidagi shartlar bajarilishi kerak:

  1. Shifrni echish funktsiyasi shifrlash funktsiyasiga mos kelishi kerak.
  2. Shifrlash tugmachasi shifrlash kalitiga mos kelishi kerak.

To'g'ri kalitsiz k2 asl xabarni oling M " = M to'g'ri funktsiyadan foydalanish D. imkonsiz. Bu holda "imkonsiz" so'zi odatda hisoblashning mumkin emasligini anglatadi haqiqiy vaqt mavjud hisoblash resurslari bilan.

Shifrlash algoritmlarini ikkita toifaga bo'lish mumkin (1-rasmga qarang):

  1. Simmetrik shifrlash algoritmlari.
  2. Asimmetrik shifrlash algoritmlari.

Algoritmlarda nosimmetrik shifrlash parolni hal qilish uchun, odatda, xuddi shu kalit shifrlash uchun ishlatiladi yoki ba'zi bir oddiy munosabatlar bilan bog'liq bo'lgan kalit. Ikkinchisi, ayniqsa zamonaviy shifrlash algoritmlarida juda kam uchraydi. Bunday kalit (shifrlash va parolni hal qilish uchun keng tarqalgan) odatda oddiy deb nomlanadi shifrlash kaliti.

IN assimetrik shifrlash shifrlash kaliti k1 kalitdan osongina hisoblangan k2 teskari hisoblash imkonsiz bo'ladigan tarzda. Masalan, kalit nisbati quyidagicha bo'lishi mumkin:

k1 \u003d a k2 mod p,

bu erda a va p - shifrlash algoritmining parametrlari bo'lib, ular etarlicha katta o'lchovga ega.

Ushbu kalit nisbati elektron imzo algoritmlarida ham qo'llaniladi.

Shifrlash algoritmining asosiy xarakteristikasi kriptografik quvvat, bu uning kriptoanaliz usullari bilan oshkor qilinishiga chidamliligini aniqlaydi. Odatda, bu xususiyat shifrni sindirish uchun zarur bo'lgan vaqt oralig'i bilan belgilanadi.

Nosimmetrik shifrlash unchalik qulay emas, chunki shifrlangan ma'lumotlarni uzatishda kimdir ma'lumotni parolini hal qilish uchun oldindan kalitni qabul qilishi kerak. Asimmetrik shifrlashda bunday muammo bo'lmaydi (chunki ochiq kalit tarmoq orqali erkin uzatilishi mumkin), ammo uning o'ziga xos muammolari, xususan, ochiq kalitni almashtirish muammosi va sekin shifrlash tezligi mavjud. Ko'pincha, assimetrik shifrlash nosimmetrik bilan birgalikda ishlatiladi - ma'lumotlarning asosiy qismini shifrlaydigan nosimmetrik shifrlash kaliti. Biroq, kalitlarni saqlash va uzatish sxemalari alohida maqola uchun mavzu. Bu erda nosimmetrik shifrlash assimetrikdan ko'ra tez-tez ishlatilishini ta'kidlashga jur'at etaman, shuning uchun maqolaning qolgan qismi faqat simmetrik shifrlashga bag'ishlanadi.

Nosimmetrik shifrlashning ikki turi mavjud:

  • Shifrlashni bloklash - ma'lumotlar qat'iy uzunlikdagi bloklarga bo'linadi (masalan, 64 yoki 128 bit), shundan so'ng ushbu bloklar birma-bir shifrlanadi. Bundan tashqari, turli xil shifrlash algoritmlarida yoki hatto turli xil rejimlar Xuddi shu algoritm ishlaganda bloklar bir-biridan mustaqil ravishda yoki "birlashma bilan" shifrlanishi mumkin - joriy ma'lumotlar blokining shifrlash natijasi avvalgi blokning qiymatiga yoki oldingi blokning shifrlash natijasiga bog'liq bo'lganda.
  • Oqimlarni shifrlash - bu, avvalambor, ma'lumotni bloklarga ajratib bo'lmaydigan holatlarda - masalan, ma'lum bir ma'lumot oqimini, har bir belgisini shifrlash va biron joyga yuborish kerak, blokni yaratish uchun etarli bo'lgan ma'lumotlarning qolgan qismini kutmasdan kerak. Shuning uchun, oqim shifrlash algoritmlari ma'lumotlarni bit yoki belgi bo'yicha belgilar bilan shifrlaydi. Shuni ta'kidlash kerakki, ba'zi tasniflar blok va oqim shifrlashni ajratmaydi, chunki oqim shifrlash bitta uzunlikdagi bloklarni shifrlashdir.

Blok nosimmetrik shifrlash algoritmlari ichkaridan qanday ko'rinishini ko'rib chiqamiz.

Zamonaviy shifrlash algoritmlarining aksariyati juda o'xshash tarzda ishlaydi: shifrlangan matnda ma'lum bir transformatsiya shifrlash klavishi yordamida amalga oshiriladi, bu ma'lum bir necha marta (dumaloqlar) takrorlanadi. Shu bilan birga, takroriy transformatsiya turiga ko'ra, shifrlash algoritmlari odatda bir nechta toifalarga bo'linadi. Bu erda turli xil tasniflar ham mavjud, ulardan birini beraman. Shunday qilib, tuzilishi bo'yicha shifrlash algoritmlari quyidagicha tasniflanadi:

  1. Feistel tarmog'iga asoslangan algoritmlar.

    Feistel tarmog'i qayta ishlangan ma'lumotlar blokini bir nechta pastki bloklarga (ko'pincha ikkitasiga) bo'lishni nazarda tutadi, ulardan biri ma'lum bir funktsiya bilan qayta ishlanadi. f () va bir yoki bir nechta boshqa subbirliklarga joylashtirilgan. Shakl. 2 Feistel tarmog'iga asoslangan algoritmlarning eng keng tarqalgan tuzilishini ko'rsatadi.

    Shakl: 2. Feistel tarmog'iga asoslangan algoritmlarning tuzilishi.

    Ixtiyoriy funktsiya argumenti f (), rasmda ko'rsatilgan. 2 qanday Kideyiladi dumaloq kalit... Dumaloq tugma - bu kalitlarni kengaytirish protsedurasi bilan shifrlash kalitini qayta ishlash natijasidir, uning vazifasi kerakli sonli tugmachalarni olishdir Ki nisbatan kichik o'lchamdagi asl shifrlash kalitidan (hozirda 128 bit simmetrik shifrlash kaliti uchun etarli deb hisoblanadi). Oddiy holatlarda tugmachalarni kengaytirish protsedurasi oddiygina kalitni bir nechta qismlarga ajratadi, ular o'z navbatida shifrlash turlarida ishlatiladi; ko'pincha tugmachalarni kengaytirish protsedurasi juda murakkab va tugmachalar Ki asl shifrlash kalitining ko'pgina bitlarining qiymatlariga bog'liq.

    Qayta ishlanmagan subblokni ishlov berilmagan subblokka yuklash ko'pincha "eksklyuziv yoki" - XOR mantiqiy operatsiyasi yordamida amalga oshiriladi (2-rasmda ko'rsatilgandek). Bu erda ko'pincha XOR o'rniga modulli qo'shimchalar qo'llaniladi. 2 nqayerda n - subblock hajmi bitlarda. Qatlamdan so'ng subbloklar almashtiriladi, ya'ni algoritmning navbatdagi bosqichida yana bitta pastki bloklar qayta ishlanadi.

    Shifrlash algoritmlarining ushbu tuzilishi o'z nomini Lusifer shifrlash algoritmi va uning asosida ishlab chiqilgan DES (Ma'lumotlarni shifrlash standarti) algoritmini ishlab chiquvchilardan biri Horst Feisteldan oldi - avvalgi (ammo hanuzgacha keng qo'llaniladigan) AQSh shifrlash standarti. Ushbu algoritmlarning ikkalasi ham shaklda ko'rsatilganiga o'xshash tuzilishga ega. 2. Feistel tarmog'iga asoslangan boshqa algoritmlar qatorida misol sifatida GOST 28147-89 ichki shifrlash standartini va boshqa taniqli algoritmlarni: RC5, Blowfish, TEA, CAST-128 va boshqalarni misol qilib keltirish mumkin.

    Ko'pgina zamonaviy shifrlash algoritmlari Feistel tarmog'iga asoslangan - bunday tuzilmaning ko'plab afzalliklari tufayli quyidagilar e'tiborga loyiq:

    • Feistel tarmog'iga asoslangan algoritmlarni shunday tuzish mumkinki, xuddi shu algoritm kodini shifrlash va parolni hal qilish uchun ishlatilishi mumkin - bu operatsiyalar orasidagi farq faqat Ki tugmalaridan foydalanish tartibida bo'lishi mumkin; algoritmning bu xususiyati uning apparatini amalga oshirish yoki platformalar uchun eng foydalidir cheklangan resurslar; GOST 28147-89 - bunday algoritmga misol.
  2. Feistel tarmog'iga asoslangan algoritmlar eng ko'p o'rganilgan - juda ko'p miqdordagi kriptanalitik tadqiqotlar bunday algoritmlarga bag'ishlangan, bu algoritmni ishlab chiqishda ham, uni tahlil qilishda ham shubhasiz ustunlikdir.

    Shuningdek, Feistel tarmog'ining yanada murakkab tuzilishi mavjud, uning misoli shakl. 3.

    Shakl: 3. Feistel tarmog'ining tuzilishi.

    Ushbu tuzilish deyiladi umumlashtirilgan yoki kengaytirilgan Feistel tarmog'i va an'anaviy Feistel tarmog'iga qaraganda kamroq qo'llaniladi. Bunday Feistel tarmog'iga RC6 algoritmi misol bo'la oladi.

  3. Algoritmlar almashtirish tarmoqlari (SP tarmog'i - almashtirish-almashtirish tarmog'i).

    Feistel tarmog'idan farqli o'laroq, SP tarmoqlari butun shifrlangan blokni bitta turda qayta ishlaydi. Ma'lumotni qayta ishlash asosan almashtirishga qadar pasayadi (masalan, kirish qiymatining bir qismi almashtirish qiymatlari jadvaliga muvofiq boshqa qism bilan almashtirilganda, bu asosiy qiymatga bog'liq bo'lishi mumkin) Ki) va kalitga qarab almashtirishlar Ki (soddalashtirilgan diagramma 4-rasmda ko'rsatilgan).

    Shakl: 4. Almashtirish-almashtirish tarmog'i.

    Biroq, bunday operatsiyalar boshqa turdagi shifrlash algoritmlari uchun odatiy holdir, shuning uchun, mening fikrimcha, "almashtirish-almashtirish" tarmog'i o'zboshimchalik bilan ishlatilgan.

    SP-tarmoqlari Feistel tarmoqlariga qaraganda ancha kam tarqalgan; Serpent yoki SAFER + algoritmlari SP tarmoqlariga misol bo'la oladi.

  4. Algoritmlar tuzilishi bilan "kvadrat" (Kvadrat).

    "Kvadrat" tuzilmasi ikki o'lchovli bayt massivi shaklida shifrlangan ma'lumotlar blokini namoyish qilish bilan tavsiflanadi. Kriptografik o'zgartirishlar qatorning alohida baytlarida, shuningdek qatorlari yoki ustunlarida amalga oshirilishi mumkin.

    Algoritmning tuzilishi o'z nomini 1996 yilda Vincent Rijmen va Joan Daemen - Rijndael algoritmining bo'lajak mualliflari tomonidan ishlab chiqilgan Square algoritmidan oladi, bu esa ochiq tanlovda g'olib chiqqanidan so'ng AQShning yangi AES shifrlash standartiga aylandi. Rijndael algoritmi ham Kvadratga o'xshash tuzilishga ega; Bundan tashqari, Shark (Ridgeman va Damen tomonidan ilgari ishlab chiqilgan) va Kripton. "Kvadrat" tuzilishga ega algoritmlarning kamchiliklari ularning etarli darajada bilimga ega emasligi, bu Rijndael algoritmining AQShning yangi standartiga aylanishiga to'sqinlik qilmagan.

    Shakl: 5. Rijndael algoritmi.

    Shakl. 5-da Rijndael algoritmi tomonidan bajarilgan ma'lumotlar blokidagi operatsiyaning namunasi ko'rsatilgan.

  5. Nostandart tuzilishga ega algoritmlar, ya'ni sanab o'tilgan turlarning birortasiga berib bo'lmaydigan algoritmlar. Zukkolik cheksiz bo'lishi mumkinligi aniq, shuning uchun shifrlash algoritmlarining barcha mumkin bo'lgan variantlarini tasniflash qiyin. Nostandart tuzilishga ega bo'lgan algoritmga misol sifatida har bir turda etarlicha mavjud bo'lgan tuzilishida noyob bo'lgan FROG algoritmini keltirish mumkin. murakkab qoidalar shifrlangan ma'lumotlarning ikki baytini o'zgartirish amalga oshirildi (6-rasmga qarang).

    Shakl: 6. Ikki baytli shifrlangan ma'lumotlarning modifikatsiyasi.

    Yuqorida tavsiflangan tuzilmalar o'rtasida qat'iy chegaralar mavjud emas, shuning uchun turli mutaxassislar tomonidan belgilangan algoritmlar turli xil turlari tuzilmalar. Masalan, CAST-256 algoritmi muallifi tomonidan SP-tarmog'iga ishora qiladi va ko'plab mutaxassislar uni kengaytirilgan Feistel tarmog'i deb atashadi. Yana bir misol - HPC algoritmi, uning muallifi Feistel tarmog'i deb nomlangan, ammo mutaxassislar tomonidan nostandart tuzilishga ega algoritmlarga tegishli.

Sergey Panasenko,
rivojlanish bo'limi boshlig'i dasturiy ta'minot "Ankad" firmasi,
[elektron pochta bilan himoyalangan]

Asosiy tushunchalar

Ochiq ma'lumotlarni shifrlangan va aksincha konvertatsiya qilish jarayoni odatda shifrlash deb ataladi va ushbu jarayonning ikkita komponenti mos ravishda shifrlash va parol hal qilish deb nomlanadi. Ushbu o'zgarish matematik jihatdan dastlabki ma'lumotlar bilan harakatlarni tavsiflovchi quyidagi bog'liqliklar bilan ifodalanadi:

C \u003d Ek1 (M)

M "\u003d Dk2 (C),

bu erda M (xabar) ochiq ma'lumotdir (axborot xavfsizligi bo'yicha adabiyotlarda u ko'pincha "manba matn" deb nomlanadi);
C (shifr matni) - shifrlash natijasida olingan shifrlangan matn (yoki kriptogramma);
E (shifrlash) - asl matnda kriptografik o'zgarishlarni amalga oshiradigan shifrlash funktsiyasi;
k1 (tugma) - shifrlash kaliti deb ataladigan E funktsiyasining parametri;
M "- parolni hal qilish natijasida olingan ma'lumotlar;
D (parol hal qilish) - shifrlangan matn orqali teskari shifrlash kriptografik o'zgarishlarini amalga oshiradigan parolni hal qilish funktsiyasi;
k2 - bu ma'lumotni parolini hal qilish uchun ishlatiladigan kalit.

GOST 28147-89 standartidagi "kalit" tushunchasi (nosimmetrik shifrlash algoritmi) quyidagicha ta'riflanadi: "ushbu algoritm uchun barcha mumkin bo'lgan transformatsiyalar to'plamidan bitta transformatsiyani tanlashni ta'minlaydigan kriptografik transformatsiya algoritmining ba'zi parametrlarining o'ziga xos maxfiy holati." Boshqacha qilib aytganda, bu kalit shifrlash algoritmining natijalarini o'zgartirish uchun ishlatilishi mumkin bo'lgan noyob element: bir xil manba matni turli xil tugmachalardan foydalanganda har xil yo'llar bilan shifrlanadi.

Shifrni echish natijasi dastlabki xabarga to'g'ri kelishi uchun (ya'ni M "\u003d M uchun) bir vaqtning o'zida ikkita shart bajarilishi kerak. Birinchidan, parol hal qilish funktsiyasi D shifrlash funktsiyasiga to'g'ri kelishi kerak. Ikkinchidan, k2 parolini ochish kaliti shifrlash kaliti k1.

Agar shifrlash uchun kriptografik jihatdan kuchli shifrlash algoritmi ishlatilgan bo'lsa, unda to'g'ri k2 tugmachasi bo'lmagan taqdirda, M "\u003d M. ni olish imkonsiz. Kriptografik kuch shifrlash algoritmlarining asosiy xarakteristikasi bo'lib, birinchi navbatda k2 kalitisiz asl matnni shifrlangan holda olishda qiyinchilik darajasini ko'rsatadi.

Shifrlash algoritmlarini ikki toifaga bo'lish mumkin: nosimmetrik va assimetrik shifrlash. Birinchisi uchun shifrlash va parol hal qilish tugmachalarining nisbati k1 \u003d k2 \u003d k (ya'ni, E va D funktsiyalarida bir xil shifrlash kaliti ishlatiladi) deb belgilanadi. Asimmetrik shifrlashda k1 shifrlash kaliti k2 kaliti yordamida teskari konvertatsiya qilish imkonsiz bo'ladigan tarzda hisoblab chiqiladi, masalan, k1 \u003d ak2 mod p formuladan foydalanib (a va p - ishlatiladigan algoritm parametrlari).

Nosimmetrik shifrlash

Simmetrik shifrlash algoritmlari qadimgi davrlardan beri o'z tarixiga ega: ma'lumotni yashirishning bu usuli miloddan avvalgi I asrda Rim imperatori Gay Yuliy Tsezar tomonidan qo'llanilgan. e., va u tomonidan ixtiro qilingan algoritm "Qaysarning kriptosistemasi" nomi bilan tanilgan.

Hozirda eng mashhuri 1977 yilda ishlab chiqilgan DES (Data Encryption Standard) nosimmetrik shifrlash algoritmi. Yaqin vaqtgacha u "AQSh standarti" edi, chunki ushbu mamlakat hukumati undan foydalanishni tavsiya qilgan turli xil tizimlar ma'lumotlarni shifrlash. Dastlab DESni 10-15 yildan ortiq bo'lmagan muddatda ishlatish rejalashtirilganligiga qaramay, uni almashtirishga urinishlar faqat 1997 yilda boshlangan.

Biz DESni batafsil yoritmaymiz (qo'shimcha materiallar ro'yxatidagi deyarli barcha kitoblarda mavjud) batafsil tavsif) va zamonaviyroq shifrlash algoritmlariga o'ting. Shuni ta'kidlash kerakki, shifrlash standartini o'zgartirishning asosiy sababi uning nisbatan zaif kriptografik kuchidir, buning sababi DES tugmachasining uzunligi atigi 56 ga teng. muhim bitlar... Ma'lumki, har qanday kriptografik jihatdan kuchli algoritmni shifrlash kalitlarining barcha mumkin bo'lgan variantlarini (qo'pol kuch usuli deb ataladigan) o'tish orqali sindirish mumkin. qo'pol kuch hujum). Hisoblash oson, har biri soniyada 1 million tugmachani hisoblab chiqadigan 1 million protsessordan iborat klaster deyarli 20 soat ichida 256 DES tugmachasini tekshiradi va bunday hisoblash quvvati bugungi kun me'yorlariga ko'ra haqiqat ekan, 56 bitli kalit juda qisqa ekanligi aniq va dES algoritmi kuchliroq bilan almashtirilishi kerak.

Bugungi kunda ikkita zamonaviy kriptografik kuchli shifrlash algoritmlari tobora ko'proq qo'llanilmoqda: mahalliy standart GOST 28147-89 va AQShning yangi kripto standarti - AES (Advanced Encryption Standard).

GOST 28147-89 standarti

GOST 28147-89 tomonidan belgilangan algoritm (1-rasm) shifrlash kaliti uzunligi 256 bitga teng. U ma'lumotni 64 bitli bloklarda shifrlaydi (bunday algoritmlar blok algoritmlari deb ataladi), keyinchalik ular 32 bitli (N1 va N2) ikkita kichik bloklarga bo'linadi. N1 pastki blok ma'lum bir usulda qayta ishlanadi, shundan so'ng uning qiymati N2 pastki blok qiymatiga qo'shiladi (qo'shimcha 2-modulda amalga oshiriladi, ya'ni XOR mantiqiy operatsiyasi - "eksklyuziv yoki" qo'llaniladi), so'ngra pastki bloklar almashtiriladi. Ushbu o'zgarish u algoritm ishlash rejimiga qarab ma'lum bir necha marta ("dumaloqlar") bajariladi: 16 yoki 32. Har bir turda ikkita operatsiya o'tkaziladi.

Birinchisi - bu asosiy qoplama. N1 kichik blok tarkibiga Kx tugmachasining 32 bitli qismi bilan 2 modul qo'shiladi. To'liq kalit shifrlash 32 bitli pastki tugmachalarni birikmasi sifatida ifodalanadi: K0, K1, K2, K3, K4, K5, K6, K7. Shifrlash jarayonida dumaloq raqamga va algoritmning ishlash rejimiga qarab ushbu pastki kalitlardan biri ishlatiladi.

Ikkinchi operatsiya - stolni almashtirish. Kalit qo'llanilgandan so'ng, N1 kichik blok 4 bitdan iborat 8 qismga bo'linadi, ularning har birining qiymati pastki blokning ushbu qismi uchun almashtirish jadvaliga muvofiq almashtiriladi. Keyin kichik blok 11 bitga chapga siljiydi.

Jadvalni almashtirish(Substitution box - S-box) zamonaviy shifrlash algoritmlarida tez-tez ishlatiladi, shuning uchun bunday operatsiya qanday tashkil etilganligini tushuntirishga arziydi. Bloklarning chiqish qiymatlari jadvalga yozilgan. Ma'lum o'lchamdagi ma'lumotlar bloki (bizning holatimizda, 4-bit) chiqadigan qiymatning sonini belgilaydigan o'z raqamli ko'rinishiga ega. Masalan, agar S-quti 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 ga o'xshasa va 4 bitli blok "0100" kirishga kirsa (qiymat 4), keyin jadvalga muvofiq chiqish qiymati 15 ga teng bo'ladi, ya'ni "1111" (0 a 4, 1 a 11, 2 a 2 ...).

GOST 28147-89 tomonidan belgilangan algoritm to'rtta ish rejimini ta'minlaydi: oddiy almashtirish, gamming, gamming mulohaza va simulyatorlarni yaratish. Ular yuqorida tavsiflangan bir xil shifrlash transformatsiyasidan foydalanadilar, ammo rejimlarning maqsadi turlicha bo'lganligi sababli bu konvertatsiya ularning har birida turlicha amalga oshiriladi.

Tartibda oddiy almashtirishhar bir 64 bitli ma'lumot blokini shifrlash uchun yuqorida tavsiflangan 32 ta tur bajariladi. Bunday holda, 32-bitli pastki tugmalar quyidagi ketma-ketlikda ishlatiladi:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1 va boshqalar - 1 dan 24 gacha bo'lgan turlarda;

K7, K6, K5, K4, K3, K2, K1, K0 - 25 dan 32 gacha bo'lgan turlarda.

Shifrni ochish ushbu rejim xuddi shu tarzda, lekin pastki tugmachalardan foydalanishning biroz boshqacha ketma-ketligi bilan amalga oshiriladi:

K0, K1, K2, K3, K4, K5, K6, K7 - 1 dan 8 gacha bo'lgan turlarda;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 va boshqalar - 9 dan 32 gacha bo'lgan turlarda.

Barcha bloklar bir-biridan mustaqil ravishda shifrlanadi, ya'ni har bir blokning shifrlash natijasi faqat uning tarkibiga bog'liq (manba matnining mos keladigan bloki). Agar asl (oddiy) matnning bir nechta bir xil bloklari bo'lsa, tegishli shifrlangan matn bloklari ham bir xil bo'ladi, bu qo'shimcha beradi foydali ma'lumotlar kodni buzishga urinayotgan kriptanalizator uchun. Shuning uchun ushbu rejim asosan shifrlash kalitlarini o'zi shifrlash uchun ishlatiladi (ko'pincha bir nechta sabablarga ko'ra kalitlar bir-birining ustiga shifrlangan ko'p kalitli sxemalar amalga oshiriladi). Axborotni o'zi shifrlash uchun yana ikkita ishlash tartibi mo'ljallangan - teskari aloqa bilan gamming va gamming.

IN gamma rejimi oddiy matnning har bir blokiga 64-bitli shifrli gamma-blok bilan modul 2 qo'shiladi. Gamma shifr - bu N1 va N2 registrlari bilan muayyan operatsiyalar natijasida olinadigan maxsus ketma-ketlik (1-rasmga qarang).

1. N1 va N2 registrlarida ularning dastlabki to'ldirilishi yozilgan - 64-bitli qiymat, sinxronizatsiya portlashi deb nomlanadi.

2. N1 va N2 registrlari tarkibi oddiy almashtirish rejimida shifrlangan (bu holda xabarlarni sinxronlashtirish).

3. N1 registri tarkibiga doimiy (C1 \u003d 224 + 216 + 28 + 24) modul (232 - 1) qo'shiladi va qo'shilish natijasi N1 registrga yoziladi.

4. N2 registrning tarkibi 232 modul bilan doimiy C2 \u003d 224 + 216 + 28 + 1 bilan qo'shiladi va qo'shilish natijasi N2 registrga yoziladi.

5. N1 va N2 registrlarning tarkibi shifr gammasining 64-bitli bloki sifatida chiqariladi (bu holda N1 va N2 gammaning birinchi blokini tashkil qiladi).

Agar navbatdagi gamma bloki kerak bo'lsa (ya'ni, shifrlashni yoki parolni hal qilishni davom ettirishingiz kerak bo'lsa), siz 2-bosqichga qaytasiz.

Parolni hal qilish uchun gamma shunga o'xshash tarzda hosil bo'ladi, so'ngra yana XOR operatsiyasi shifrlangan va gamma-bitlarga qo'llaniladi. Ushbu operatsiyani qaytarish mumkin bo'lganligi sababli, to'g'ri ishlab chiqilgan o'lchovda asl matn (jadval) olinadi.

Gama rejimida shifrlash va parolni hal qilish

Parolni hal qilish uchun kerakli shifr gamutini yaratish uchun kriptogrammani parolini hal qiladigan foydalanuvchi bir xil kalit va ma'lumotni shifrlash uchun ishlatilgan sinxron-xabar qiymatiga ega bo'lishi kerak. Aks holda, shifrlangan matndan asl nusxasini olish mumkin bo'lmaydi.

GOST 28147-89 algoritmining aksariyat dasturlarida sinxronizatsiya xabari sir emas, ammo sinxronlash xabari shifrlash kaliti bilan bir xil maxfiy element bo'lgan tizimlar mavjud. Bunday tizimlar uchun algoritm kalitining samarali uzunligi (256 bit) maxfiy sinxronlash xabarining yana 64 bitiga ko'payadi, bu ham asosiy element sifatida qaralishi mumkin.

Qayta aloqa bilan gamma holatida, 2-blokdan boshlab N1 va N2 registrlarini to'ldirish uchun avvalgi gamma blok emas, balki avvalgi oddiy matnli blokni shifrlash natijasi ishlatiladi (2-rasm). Ushbu rejimdagi birinchi blok butunlay oldingisiga o'xshash tarzda yaratiladi.

Shakl: 2. Teskari gamma rejimida shifr shkalasini yaratish.

Rejimni hisobga olgan holda simulyatorlar avlodi, avlod mavzusining kontseptsiyasi aniqlanishi kerak. Prefiks - bu xabarlarning yaxlitligini tekshirish uchun shifrlash kaliti yordamida hisoblangan kriptografik nazorat summasi. Prefiksni yaratishda quyidagi operatsiyalar bajariladi: prefiks hisoblangan ma'lumot massivining birinchi 64-bitli bloki N1 va N2 registrlariga yoziladi va qisqartirilgan oddiy almashtirish rejimida shifrlanadi (32 ta birinchi 16 tur bajariladi). Olingan natija 2-modul bilan keyingi ma'lumotlar bloki bilan yig'ilib, natijani N1 va N2-da saqlaydi.

Tsikl oxirgi ma'lumot blokiga qadar takrorlanadi. Olingan N1 va N2 registrlarining 64-bitli tarkibi yoki uning bir qismi, bu konvertatsiyalar natijasida hosil bo'ladi, prefiks deb ataladi. Prefiksning kattaligi talab qilinadigan xabar ishonchliligi asosida tanlanadi: r bitli prefiks uzunligi bilan xabar o'zgarishi sezilmay qolishi ehtimoli 2-r ni tashkil qiladi. Ko'pincha 32-bitli prefiks ishlatiladi, ya'ni registr tarkibining yarmi. Bu etarli, chunki har qanday chegara summasi singari, simulyator ham birinchi navbatda ma'lumotlarning tasodifiy buzilishidan himoya qilish uchun mo'ljallangan. Ma'lumotlarni qasddan o'zgartirishdan himoya qilish uchun boshqa kriptografik usullardan foydalaniladi - birinchi navbatda elektron raqamli imzo.

Axborot almashish paytida simulyator qo'shimcha boshqaruv vositasi bo'lib xizmat qiladi. Ba'zi ma'lumotlar shifrlangan va shifrlangan matn bilan birga yuborilganida, u oddiy matn uchun hisoblanadi. Shifrni echishdan so'ng, yangi prefiks qiymati hisoblanadi, u yuborilgan bilan taqqoslanadi. Agar qiymatlar mos kelmasa, demak, uzatishda shifrlangan matn buzilgan yoki parol hal qilinayotganda noto'g'ri tugmalar ishlatilgan. Prefiks, ayniqsa, parolni hal qilishning to'g'riligini tekshirish uchun foydalidir asosiy ma'lumotlar ko'p kalitli sxemalardan foydalanganda.

GOST 28147-89 algoritmi juda kuchli algoritm hisoblanadi - hozirda uni oshkor qilish uchun hozircha taklif qilinmagan. samarali usullaryuqorida aytib o'tilgan "qo'pol kuch" usulidan ko'ra. Uning yuqori xavfsizligiga birinchi navbatda kalitning katta uzunligi - 256 bit tufayli erishiladi. Yashirin sinxronlash xabaridan foydalanganda samarali kalit uzunligi 320 bitgacha oshiriladi va almashtirish jadvalining maxfiyligi qo'shimcha bitlarni qo'shadi. Bundan tashqari, kriptografik quvvat transformatsiyalar turlarining soniga bog'liq bo'lib, ulardan GOST 28147-89 ga binoan 32 bo'lishi kerak (kirish ma'lumotlarining dispersiyasining to'liq samarasi 8 turdan so'ng erishiladi).

AES standarti

Uzoq vaqt davomida maxfiy bo'lib qolgan GOST 28147-89 algoritmidan farqli o'laroq, Amerika standarti aES shifrlashDES o'rnini bosuvchi, ochiq tanlov orqali tanlangan bo'lib, unda barcha manfaatdor tashkilotlar va shaxslar algoritm-abiturientlarni o'rganish va sharhlashlari mumkin edi.

DES o'rnini bosuvchi tanlov 1997 yilda AQSh Milliy Standartlar va Texnologiyalar Instituti (NIST) tomonidan e'lon qilingan. Kriptografiya sohasida taniqli tashkilotlar (RSA Security, Counterpane va boshqalar) tomonidan ham, jismoniy shaxslar tomonidan ham ishlab chiqilgan 15 ta algoritm-da'vogarlar taqdim etildi. Tanlov natijalari 2000 yil oktyabr oyida e'lon qilindi: Belgiyadan ikki kriptograf - Vinsent Raymen va Joan Daemen tomonidan ishlab chiqilgan Rijndael algoritmi g'olib bo'ldi.

Rijndael algoritmi taniqli nosimmetrik shifrlash algoritmlarining ko'pchiligiga o'xshamaydi, ularning tuzilishi "Feistel tarmog'i" deb nomlanadi va Rossiyaning GOST 28147-89 ga o'xshashdir. Feistel tarmog'ining o'ziga xos xususiyati shundaki, kirish qiymati ikki yoki undan ortiq subbloklarga bo'linadi, ularning ba'zilari ma'lum bir qonun bo'yicha har bir turda qayta ishlanadi, so'ngra ishlov berilmagan subbloklarga joylashtiriladi (1-rasmga qarang).

Mahalliy shifrlash standartidan farqli o'laroq, Rijndael algoritmi ma'lumotlar blokini 4X4, 4X6 yoki 4X8 o'lchamdagi ikki o'lchovli baytlar qatori shaklida taqdim etadi (shifrlangan axborot blokining bir nechta belgilangan o'lchamlariga ruxsat beriladi). Barcha operatsiyalar massivning alohida baytlarida, shuningdek mustaqil ustunlar va qatorlarda bajariladi.

Rijndael algoritmi to'rtta transformatsiyani amalga oshiradi: BS (ByteSub) - massivning har bir baytini jadvalga almashtirish (3-rasm); SR (ShiftRow) - qator qatorlarining siljishi (4-rasm). Ushbu operatsiyani bajarish paytida birinchi satr o'zgarishsiz qoladi, qolganlari esa massivning kattaligiga qarab belgilangan baytlar soniga chapga siljiydi. Masalan, 4X4 qatori uchun 2, 3 va 4 qatorlar mos ravishda 1, 2 va 3 baytga siljiydi. Keyinchalik MC (MixColumn) keladi - bu massivning mustaqil ustunlaridagi operatsiya (5-rasm), har bir ustunni ma'lum bir qoidaga muvofiq sobit matritsa (x) bilan ko'paytirganda. Va nihoyat, AK (AddRoundKey) - kalitni qo'shish. Massivning har bir bitiga dumaloq tugmachaning mos keladigan biti bilan 2-modul qo'shiladi, bu esa o'z navbatida shifrlash tugmachasidan ma'lum tarzda hisoblab chiqiladi (6-rasm).


Shakl: 3. BS operatsiyasi.

Shakl: 4. SR operatsiyasi.

Shakl: 5. MC operatsiyasi.

Rijndael algoritmidagi shifrlash turlarining soni (R) o'zgaruvchan (10, 12 yoki 14 tur) va blok kattaligiga va shifrlash kalitiga bog'liq (shuningdek, kalit uchun bir nechta aniq o'lchamlar mavjud).

Shifrni echish quyidagi teskari operatsiyalar yordamida amalga oshiriladi. Jadval teskari bo'lib, jadvalni almashtirish teskari jadvalda amalga oshiriladi (shifrlash uchun ishlatiladiganga nisbatan). SR ning teskari tomoni qatorlarni chapga emas, balki o'ngga aylantirishdir. MC uchun teskari operatsiya - bu xuddi shu qoidalar bo'yicha shartni qondiradigan boshqa d (x) matritsa bilan ko'paytirish: c (x) * d (x) \u003d 1. AK tugmachasini qo'shish o'z-o'zidan teskari, chunki u faqat XOR operatsiyasidan foydalanadi. Ushbu teskari operatsiyalar shifrlash paytida shifrlash paytida ishlatilgan tartibda teskari tartibda qo'llaniladi.

Rijndael boshqa algoritmlarga nisbatan bir qator afzalliklari tufayli ma'lumotlarni shifrlashning yangi standartiga aylandi. Avvalo, u barcha platformalarda yuqori tezlikda shifrlashni ta'minlaydi: dasturiy ta'minotda ham, apparatni amalga oshirishda ham. Bu tanlov uchun taqdim etilgan boshqa algoritmlar bilan taqqoslaganda hisoblashlarni parallellashtirishning eng yaxshi imkoniyatlari bilan ajralib turadi. Bundan tashqari, uning ishlashi uchun resurs talablari minimaldir, bu uni hisoblash qobiliyatlari cheklangan qurilmalarda qo'llashda muhimdir.

Algoritmning birdan-bir kamchiligi uning o'ziga xos noan'anaviy sxemasidir. Gap shundaki, Feistel tarmog'iga asoslangan algoritmlarning xususiyatlari yaxshi o'rganilgan va Rijndael, aksincha, yashirin zaifliklarni o'z ichiga olishi mumkin, uni faqat keng tarqalgandan beri bir muncha vaqt o'tgach topish mumkin.

Asimmetrik shifrlash

Yuqorida ta'kidlab o'tilganidek, assimetrik shifrlash algoritmlarida ikkita tugmachadan foydalaniladi: k1 - shifrlash kaliti yoki ochiq, k2 - bu parolni hal qilish kaliti yoki sir. Ochiq kalit sirdan hisoblangan: k1 \u003d f (k2).

Asimmetrik shifrlash algoritmlari bir tomonlama funktsiyalardan foydalanishga asoslangan. Y \u003d f (x) funktsiya ta'rifi bo'yicha bir yo'nalishli bo'ladi, agar: hamma uchun hisoblash oson mumkin bo'lgan variantlar $ x $ va $ y $ ning mumkin bo'lgan qiymatlari uchun $ y \u003d f (x) $ uchun x ning bunday qiymatini hisoblash juda qiyin.

Ikki katta sonni ko'paytirish: N \u003d P * Q. Bir tomonlama funktsiyaga misol. Bunday ko'paytirishning o'zi oddiy operatsiya. Ammo, faktorizatsiya deb ataladigan teskari funktsiya (N ning ikkita katta omilga ajralishi) zamonaviy zamon taxminlariga ko'ra ancha murakkab matematik muammo. Masalan, P da 664 bitli faktoring N? Q uchun taxminan 1023 ta operatsiya kerak bo'ladi va $ a, p $ va $ y $ ma'lum bo'lgan ($ a $ va $ p $ o'lchamlari bilan) modulli y \u003d ax mod p ko'rsatkichi uchun $ x $ ni qaytarish uchun taxminan 1026 ta operatsiya talab qilinadi. Ushbu misollarning oxirgisi Diskret Logaritma Muammosi (DLP) deb nomlanadi va bunday funktsiya ko'pincha assimetrik shifrlash algoritmlarida, shuningdek elektron raqamli imzolarni yaratish uchun ishlatiladigan algoritmlarda qo'llaniladi.

Asimmetrik shifrlashda ishlatiladigan yana bir muhim funktsiya sinfi - bu orqa eshikli bir tomonlama funktsiyalar. Ularning ta'rifida ta'kidlanishicha, funktsiya maxfiy yo'l bilan bir tomonlama bo'lib, agar u bir yo'nalishli bo'lsa va teskari funktsiyani x \u003d f-1 (y) ni samarali hisoblash imkoniyati mavjud bo'lsa, ya'ni "maxfiy o'tish" ma'lum bo'lsa (ma'lum bir maxfiy raqam, qo'llanilganda assimetrik shifrlash algoritmlari uchun - maxfiy kalit qiymati).

Orqa eshikning bir yo'nalishli funktsiyalari mashhur RSA assimetrik shifrlash algoritmida qo'llaniladi.

RSA algoritmi

1978 yilda uchta muallif (Rivest, Shamir, Adleman) tomonidan ishlab chiqilgan bo'lib, u o'z nomini ishlab chiquvchilar familiyalarining birinchi harflaridan oldi. Algoritmning ishonchliligi katta sonlarni faktorizatsiya qilish va diskret logarifmlarni hisoblashning murakkabligiga asoslanadi. RSA algoritmining asosiy parametri N tizim moduli bo'lib, unga ko'ra tizimdagi barcha hisob-kitoblar amalga oshiriladi va N \u003d P * Q (P va Q maxfiy tasodifiy katta sonlar, odatda bir xil o'lchamga ega).

K2 maxfiy kaliti tasodifiy tanlanadi va quyidagi shartlarga javob berishi kerak:

1

bu erda GCD eng katta umumiy bo'luvchi, ya'ni k1 Eyler funktsiyasi qiymati bilan tenglashtirilgan bo'lishi kerak F (N), ikkinchisi esa N dan nusxa ko'chirish 1 dan N gacha bo'lgan musbat tamsayılar soniga teng va quyidagicha hisoblanadi F (N) \u003d (P - 1) * (Q - 1).

K1 ochiq kaliti aloqadan hisoblanadi (k2 * k1) \u003d 1 mod F (N)va buning uchun umumlashtirilgan Evklid algoritmi (eng katta umumiy bo'luvchini hisoblash algoritmi) ishlatiladi. Ma'lumotlar bloki RSA algoritmi yordamida quyidagicha shifrlanadi: C \u003d M [k1 kuchiga] mod N... RSA-dan foydalangan holda haqiqiy kriptosistemada k1 soni juda katta bo'lganligi sababli (hozirgi vaqtda uning hajmi 2048 bitga yetishi mumkin), to'g'ridan-to'g'ri hisoblash M [k1 kuchiga] real bo'lmagan. Uni olish uchun natijalarni ko'paytirish bilan M ning to'rtburchaklarining kombinatsiyasi qo'llaniladi.

Ushbu funktsiyani teskari yo'naltirish katta o'lchamlar uchun mumkin emas; boshqacha qilib aytganda, ma'lum bo'lgan C, N va k1 dan M ni topish mumkin emas. Biroq, oddiy o'zgarishlardan foydalanib, k2 maxfiy kaliti mavjud bo'lib, biz M \u003d Ck2 mod N ni hisoblashimiz mumkin. Shubhasiz, maxfiy kalitning o'zi bilan bir qatorda, P va Q parametrlarining maxfiyligini ta'minlash kerak. Agar tajovuzkor ularning qiymatlarini qo'lga kiritsa, u k2 maxfiy kalitini hisoblashi mumkin bo'ladi.

Qaysi shifrlash yaxshiroq?

Nosimmetrik shifrlashning asosiy kamchiligi - tugmachalarni qo'ldan qo'lga uzatish zaruriyati. Ushbu kamchilik juda jiddiy, chunki cheklanmagan miqdordagi ishtirokchilari bo'lgan tizimlarda nosimmetrik shifrlashni qo'llash mumkin emas. Biroq, nosimmetrik shifrlashning qolgan qismi ba'zi bir afzalliklarga ega bo'lib, ular assimetrik shifrlashning jiddiy kamchiliklari fonida aniq ko'rinadi.

Ulardan birinchisi - bu resurslarni talab qiladigan operatsiyalar mavjudligi sababli shifrlash va parol hal qilish operatsiyalarining past tezligi. Yana bir "nazariy" nuqson shundaki, assimetrik shifrlash algoritmlarining kriptografik kuchi matematik jihatdan isbotlanmagan. Bu, avvalambor, diskret logaritma muammosiga bog'liq - hozirgacha uni oqilona vaqt ichida hal qilishning iloji yo'qligini isbotlashning iloji bo'lmadi. Ochiq kalitlarni almashtirishdan himoya qilish zarurati ham keraksiz qiyinchiliklarni keltirib chiqaradi - qonuniy foydalanuvchining ochiq kalitini o'zgartirib, tajovuzkor o'zining ochiq kalitidan foydalanib muhim xabarni shifrlay oladi va keyinchalik uni shaxsiy kaliti bilan osonlikcha parolini hal qiladi.

Biroq, bu kamchiliklar assimetrik shifrlash algoritmlaridan keng foydalanishga to'sqinlik qilmaydi. Kriptosistemalar bugungi kunda ochiq kalitlarni sertifikatlashni qo'llab-quvvatlaydi, shuningdek simmetrik va assimetrik shifrlash algoritmlarini birlashtiradi. Ammo bu allaqachon alohida maqola uchun mavzu.

Qo'shimcha ma'lumot manbalari

Shifrlashga qiziqqan o'quvchilar uchun muallif quyidagi kitoblar yordamida o'z ufqlarini kengaytirishni tavsiya qiladi.

  1. Brassard J. "Zamonaviy kriptologiya".
  2. Petrov A. A. "Kompyuter xavfsizligi: himoya qilishning kriptografik usullari".
  3. Romanets Yu. V., Timofeev PA, Shangin VF "Zamonaviy kompyuter tizimlarida axborotni muhofaza qilish".
  4. Sokolov A. V., Shangin V. F. "Tarqatilgan korporativ tarmoqlar va tizimlarda axborot xavfsizligi".

Shifrlash algoritmlarining to'liq tavsifini quyidagi hujjatlarda topishingiz mumkin:

  1. GOST 28147-89. Axborotni qayta ishlash tizimi. Kriptografik himoya. Kriptografik o'zgartirish algoritmi. - M.: Gosstandart SSSR, 1989 y.
  2. AES algoritmi: http://www.nist.gov/ae.
  3. RSA algoritmi: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.

Axborotning ishlash muddati

§ Shifrlash algoritmlarining ba'zi turlari uchun shifrlangan xabarni ushlab turganda, siz ba'zi belgilar paydo bo'lish chastotasini hisoblashingiz va ularni ba'zi belgilar yoki ularning kombinatsiyalari (bigramlar, trigrammalar va boshqalar) ning paydo bo'lish ehtimoli bilan taqqoslashingiz mumkin. Bu esa, o'z navbatida, shifrlangan xabarning alohida bo'limlarini aniq ochib berishga (ochib berishga) olib kelishi mumkin.

§ Ehtimol so'zlarning mavjudligi. Bu tutilgan xabarda paydo bo'lishini kutish mumkin bo'lgan so'zlar yoki iboralar (masalan, inglizcha matn uchun - "va", "the", "are" va boshqalar).

§ Shifrlangan xabarlarni statistik tahlil qilish va so'z tahlili uchun deyarli yaroqsiz qilish usullari mavjud. Bularga quyidagilar kiradi.

§ Diffuziya.Ochiq xabarda bitta belgining ta'siri shifrlangan xabarning ko'plab belgilariga to'g'ri keladi. Ushbu usul, garchi parolni ochish paytida xatolar sonining ko'payishiga olib keladi, ammo uning yordami bilan ochiq xabarning statistik tuzilishini yashirish mumkin.

§ Chalkashlik.Tarqoqlik tamoyilini ishlab chiqish. Unda bitta asosiy belgining ta'siri shifrlangan ko'plab belgilarga to'g'ri keladi

xabarlar.

§ Aralash.Bu asl xabarning maxsus transformatsiyalaridan foydalanishga asoslangan bo'lib, natijada mumkin bo'lgan ketma-ketliklar mumkin bo'lgan ochiq xabarlar maydoniga tarqalib ketganga o'xshaydi. Ushbu usulni ishlab chiqish, almashtirish va almashtirishning oddiy operatsiyalari ketma-ketligidan iborat bo'lgan kompozit shifrlash algoritmlaridan foydalanish edi.

Ta'riflangan usullarning namunalari DES shifrlash standartlari va GOST 28147-89.

Shifrlash algoritmlarining ikkita asosiy turi mavjud:

§ nosimmetrik shifrlash algoritmlari;

§ assimetrik shifrlash algoritmlari.

Nosimmetrik shifrlash.

Nosimmetrik shifrlash algoritmlari xabarni shifrlash va uni parolini hal qilish uchun bir xil (umumiy) kalit ishlatilishiga asoslanadi (1-rasm).

Nosimmetrik usullarning asosiy afzalliklaridan biri bu shifrlash va parolni hal qilish tezligi, asosiy kamchiligi esa maxfiy kalit qiymatini qabul qiluvchiga o'tkazish zarurati.



Muqarrar ravishda muammo tug'iladi: qanday qilib kalitni uzatish va shu bilan birga tajovuzkorlarning uni ushlashiga yo'l qo'ymaslik.

Kriptografiyaning afzalliklari nosimmetrik tugmalar bilan:

· Yuqori ishlash.

· Yuqori chidamlilik.Boshqa barcha narsalar teng bo'lsa, kriptografik algoritmning kuchi kalit uzunligi bilan belgilanadi. Kalit uzunligi 256 bit bo'lgan holda, uni aniqlash uchun 10 77 ta takrorlashni bajarish kerak.

Kriptografiyaning kamchiliklari nosimmetrik tugmalar bilan.

§ Asosiy tarqatish muammosi.Xuddi shu kalit shifrlash va parolni hal qilish uchun ishlatilganligi sababli ularni tarqatish (uzatish) uchun juda ishonchli mexanizmlar talab qilinadi.

§ Miqyosi.Yuboruvchi ham, qabul qiluvchi ham bir xil kalitdan foydalanganligi sababli, aloqa kalitlari soniga qarab talab qilinadigan tugmachalar soni muttasil ortib boradi. 10 foydalanuvchi o'rtasida xabar almashish uchun 45 ta, 1000 foydalanuvchi uchun esa 499 500 ta kalit bo'lishi kerak.

§ Cheklangan foydalanish.Ma'lumotlarni shifrlash va ularga kirishni cheklash uchun maxfiy kalit bilan kriptografiya qo'llaniladi, ma'lumotlarning haqiqiyligi va bunday xususiyatlarini ta'minlash mumkin emas

rad qilmaslik.

Asimmetrik shifrlash

Asimmetrik shifrlash algoritmlari (ochiq kalit kriptografiyasi) ikkita kalitdan foydalanadi. Birinchi kalit ochiq.U hech qanday choralar ko'rmasdan, butunlay bepul tarqatiladi. Ikkinchi, yopiqkalit sir saqlanadi.

Ushbu tugmalardan biri yordamida shifrlangan har qanday xabarni faqat uning juftlashgan tugmachasi yordamida shifrdan chiqarish mumkin. Odatda, xabar yuboruvchisi qabul qiluvchining ochiq kalitidan, qabul qiluvchi esa o'z shaxsiy shaxsiy kalitidan foydalanadi.

Shifrlangan xabarlarni uzatish uchun assimetrik sxemada ikkala tugma bitta ishlab chiqaruvchidan olinadi asosiy kalit.Bittadan ikkita kalit hosil bo'lganda, ular matematik jihatdan bog'liqdir, ammo hisoblash murakkabligi tufayli ularning ikkalasini ham boshqasidan hisoblash mumkin emas. Ikkala tugma yaratilgandan so'ng (ham jamoat, ham xususiy, ham shaxsiy) asosiy kalit yo'q qilinadi va shu bilan undan olingan tugmachalarning qiymatlarini tiklashga urinishlar to'xtatiladi.

Asimmetrik sxema umumiy xabarlar tarmoqlaridan (masalan, Internet) foydalanishga juda mos keladi. Har qanday tarmoq abonenti ochiq kalitni muzokaralar olib borayotgan sherigiga to'liq erkin yuborishi mumkin, ikkinchisi esa xabar yuboruvchi rolida ushbu kalitdan yuborilayotgan xabarni shifrlashda foydalanadi (2-rasm). Faqat avval tegishli ochiq kalitni yuborgan xabar oluvchisi ushbu xabarni shaxsiy kalit bilan parolini hal qilishi mumkin. Bunday kalitni ushlab turuvchi tajovuzkor uni faqat kalitning qonuniy egasiga shifrlangan xabarlarni uzatish maqsadida ishlatishi mumkin.

Asimmetrik sxemaning kamchiligi shifrlash va parolni hal qilish uchun zarur bo'lgan katta vaqt, bu ularni dialog rejimida uzoq xabarlarni tez almashish uchun ishlatishga imkon bermaydi. Asimmetrik shifrlash usullarini amalga oshirish protsessorni intensiv talab qiladi. Shu sababli, ochiq shaklda kriptografiya odatda jahon amaliyotida qo'llanilmaydi.



Shakl: 2. Asimmetrik shifrlash sxemasi

Nosimmetrik yoki assimetrik shifrlash algoritmlari qaysi biri yaxshiroq ekanligini solishtirish mumkin emas. Nosimmetrik kriptografik algoritmlarning kaliti uzunroq va tezroq ekanligi ta'kidlangan.

Yashirin kriptografiya va ochiq kalit kriptografiya juda xilma-xil muammolarni hal qilishga mo'ljallangan. Nosimmetrik algoritmlar ma'lumotlarni shifrlash uchun juda mos keladi, assimetrik algoritmlar ko'pgina tarmoq kriptografik protokollarida amalga oshiriladi.

Ikkala sxemaning afzalliklarini birlashtirgan eng keng tarqalgan usullar. Birlashtirilgan sxemalarning ishlash printsipi shundan iboratki, keyingi xabar almashish seansi uchun nosimmetrik (sessiya) kalit yaratiladi. Keyin ushbu kalit shifrlanadi va assimetrik sxema yordamida yuboriladi. Joriy muzokara sessiyasi tugagandan so'ng, nosimmetrik kalit yo'q qilinadi.

Ko'pincha savol tug'iladi: uy yo'riqchisi uchun qanday Wi-Fi shifrlashni tanlash kerak. Bu ahamiyatsiz bo'lib tuyuladi, ammo noto'g'ri parametrlar bilan tarmoqda muammolar paydo bo'lishi mumkin, va hatto chekilgan kabel orqali ma'lumot uzatishda ham.

Shuning uchun, bu erda zamonaviy WiFi routerlari tomonidan ma'lumotlarni shifrlashning qaysi turlarini qo'llab-quvvatlashini va AES shifrlash turi mashhur wpa va wpa2-dan qanday farq qilishini ko'rib chiqamiz.

Simsiz shifrlash turi: xavfsizlik usulini qanday tanlash kerak?

Shunday qilib, shifrlashning 3 turi mavjud:

  1. 1. WEP shifrlash

WEP shifrlash turi uzoqroq 90-yillarda paydo bo'lgan va Wi-Fi tarmoqlarini himoya qilishning birinchi varianti bo'lgan: u simli tarmoqlarda shifrlash analogi sifatida joylashtirilgan va RC4 shifridan foydalangan. O'tkazilgan ma'lumotlar uchun uchta umumiy shifrlash algoritmi mavjud edi - Neesus, Apple va MD5 - lekin ularning har biri kerakli darajada xavfsizlikni ta'minlamadi. 2004 yilda IEEE standartni eskirgan deb e'lon qildi, chunki u nihoyat tarmoqqa xavfsiz ulanishni to'xtatdi. Ayni paytda wifi uchun ushbu turdagi shifrlash tavsiya etilmaydi, chunki u kriptografik jihatdan xavfsiz emas.

  1. 2. WPS ishlatilmaydigan standartdir. Routerga ulanish uchun faqat tegishli tugmani bosishingiz kerak, biz maqolada batafsil muhokama qildik.

Nazariy jihatdan, WPS sakkiz xonali kod yordamida kirish nuqtasiga ulanishga imkon beradi, ammo amalda ko'pincha to'rttasi kifoya qiladi.

Ushbu haqiqatdan tezda (3-5 soat ichida) WiFi tarmoqlarini buzgan ko'plab xakerlar xotirjamlik bilan foydalanadilar, shuning uchun ushbu ulanishdan foydalanish tavsiya etilmaydi.

  1. 3. Shifrlash turi WPA / WPA2

WPA shifrlash bilan ishlar ancha yaxshi. Bu erda zaif RC4 shifrining o'rniga AES shifrlash ishlatiladi, bu erda parol uzunligi o'zboshimchalik qiymati (8 - 63 bit). Ushbu turdagi shifrlash odatdagi xavfsizlikni ta'minlaydi va oddiy Wi-Fi routerlari uchun juda mos keladi. Bundan tashqari, uning ikki turi mavjud:

PSK turi (Pre-Shared Key) - kirish nuqtasiga ulanish oldindan belgilangan parol yordamida amalga oshiriladi.
- Enterprise - har bir tugun uchun parol RADIUS serverlarida tekshirish bilan avtomatik ravishda hosil bo'ladi.

WPA2 - bu xavfsizlik yaxshilangan WPA-ning davomi. Ushbu protokolda AES shifrlashga asoslangan RSN ishlatiladi.

WPA shifrlash singari, WPA2 ham ikkita ish rejimiga ega: PSK va Enterprise.

2006 yildan beri WPA2 shifrlash turi barcha Wi-Fi uskunalari tomonidan qo'llab-quvvatlanadi, mos keladigan geo har qanday yo'riqnoma uchun tanlanishi mumkin.

WPA-dan WPA2 shifrlashning afzalliklari:

Shifrlash kalitlari yo'riqchiga ulanish paytida hosil bo'ladi (statik o'rniga);
- O'tkazilgan xabarlarning yaxlitligini boshqarish uchun Maykl algoritmidan foydalanish
- ancha uzun uzunlikdagi ishga tushirish vektoridan foydalanish.
Bundan tashqari, Wi-Fi shifrlash turi sizning yo'riqnoma qaerda ishlatilishiga qarab tanlanishi kerak:

WEP, TKIP va CKIP shifrlashdan umuman foydalanmaslik kerak;

Uyga kirish nuqtasi uchun WPA / WPA2 PSK yaxshi;

WPA / WPA2 Enterprise uchun.

Asimmetrik shifrlash qanday ishlashini aniq biladiganlar kam. Masalan, https protokolini uzatilgan ma'lumotlarning etarli darajada himoyasi deb hisoblamaydigan odamlar bor. Va, qoida tariqasida, ularni boshqacha tarzda ishontirishga urinishganda, ular "agar biz shifrlangan ma'lumotlarni uzatadigan bo'lsak, unda biz qanday qilib parolini ochish kerakligini aytib berishimiz kerak va bu ma'lumotni ushlab qolish mumkin va shuning uchun ma'lumotlarni parolini ochish mumkin" kabi bir narsa bilan javob berishadi. Va bu unchalik emasligi va assimetrik shifrlash asosidagi dalillarga javob "Xo'sh, nima?".

Yaxshi, men hamma ham assimetrik shifrlashni amalga oshirishning barcha nozikliklarini bilishi shart emasligini tushunaman. Ammo ishlashning umumiy printsipi, menimcha, har qanday tarzda kompyuterlar bilan bog'liq bo'lgan har bir kishiga ma'lum bo'lishi kerak.

Men ushbu yozuvning mohiyatini ushbu izohga kiritmoqchiman: Esingizda bo'lsin, assimetrik shifrlash xavfsizdir, tabiiy ravishda har qanday sharoitda. Va buni isbotlash uchun men algoritmni tushunarli tilda tasvirlashga harakat qilaman, shunda hamma uning xavfsizligini tushunishi mumkin. Elis, Bob va Momo Havo bilan tanishish va ularning maxfiy xabarlarini etkazish.

Aytgancha, nima uchun Elis va Bob? Vikipediyada bu haqda qisqa maqola bor: Elis, Bob va Momo Havo. Aniqroq qilish uchun Elis va Bob bir-birlari bilan xabar almashishni istaydilar va Momo Havo ushbu xabarlarni tinglashga va o'qishga harakat qilmoqda.

Bir oz tarix

O'tgan asrlarning kriptografiyasida bitta katta muammo - kalitlarni uzatish muammosi bo'lgan. O'sha kunlarda faqat "nosimmetrik" deb nomlangan shifrlar - shifrlar mavjud edi, ularda ma'lumotlar bir xil kalit bilan shifrlangan va shifrdan chiqarilgan.

Masalan, Elis biron bir xabarni shifrlagan va uni Bobga jo'natmoqchi. Tabiiyki, Bob uni o'qishi uchun unga ushbu xabar shifrlangan kalit kerak. Va keyin hech kim uni ushlab qolmasligi uchun kalitni qanday o'tkazish kerakligi muammosi paydo bo'ladi. Aql-idrokni taklif qilishadi - uni shaxsan o'zlariga etkazishlariga imkon bering, so'ngra xohlagancha muloqot qiling. Ha, men bahslashmayman, chiqish yo'li. Endi bir soniya tasavvur qiling, Internet-pochtangiz, unga kirishdan oldin, sizning pochta serveringizning joylashgan joyiga borishingizni talab qiladi. Qulaymi? Ehtimol juda ko'p emas.

Albatta, kalit boshqa aloqa kanali orqali uzatilishi mumkin. Ammo kriptografiya barcha xavfsiz bo'lmagan aloqa kanallarini xavfli deb hisoblaydi. Ya'ni, masalan, Bobga kalitni telefonga topshirish xavfli deb hisoblanadi, chunki Momo Havoni ham telefonni bosishga hech narsa to'sqinlik qilmaydi.

70-yillarga qadar bu muammo shunchalik keng tarqaldiki, aksioma deb hisoblanadiki, xabarni uzatish uchun xabar shifrlangan kalitni uzatish zarur (va ba'zi odamlar hanuzgacha shunday deb o'ylashadi). Ammo 76 yilda Diffie va Hellman o'zlarining "eksponentli kalitlarni almashtirish usulini" taklif qilishdi. Shu yildan boshlab assimetrik kriptotizimlarning rivojlanishi boshlandi.

Bir oz haqiqiy hayot

Har qanday algoritmni o'rganishdan oldin uning qanday ishlashini tasavvur qilishingiz kerak. Va eng oson yo'li - uni haqiqatda biron bir narsaning ishi bilan taqqoslash.

Tasavvur qiling, Elis va Bob butun pochta tizimi umuman axloqsiz bo'lgan va pochta xodimlari barcha himoyalanmagan xatlarni o'qigan mamlakatda yashaydilar. Elis, qiz ahmoq emas, Bobga xabar yuborishdan oldin, temir qutini oldi va xatni ichiga qo'yib, qulf bilan yopib, bu qutini Bobga yubordi.

Tabiiyki, ular ushbu xatni pochtada o'qiy olmaydilar, lekin Bobning o'zi uni o'qiy olmaydi, chunki uning qulfi yopilgan kalit yo'q. Albatta, Elis yana bir temir qutini olib, oldingisidagi kalitni ichiga solib, Bobga yuborishi mumkin, lekin Bob ham uni ocholmaydi ...

Yagona usul - bu dublikatning kalitini yaratish va uni shaxsan Bobga berish ...

Va endi kalit almashinuvi shifrlashning muqarrar qismi bo'lib tuyulmoqda - yoki shunday emasmi?

Keling, boshqa rasmni tasavvur qilaylik. Men bosqichma-bosqich yozaman:

  1. Elis o'z xatini temir qutiga solib, qulfga bog'lab, Bobga yuboradi.
  2. Bob qutini olgandan so'ng, Bob (diqqat!) Qulfini oladi va qo'shimcha ravishda qutini u bilan qulflab, qaytarib yuboradi.
  3. Elis ikkita qulflangan quti bilan birga keladi (sizga Elisning birinchi qulfini eslatib qo'yaman, unda uning kaliti bor, ikkinchisida - faqat Bobda kalit mavjud).
  4. Elis qulfini ochib, qutini Bobga qaytarib yuboradi
  5. Bob allaqachon qulfidan bittasi bo'lgan qutisiga keladi, uning ichida kaliti bor
  6. Bob qolgan qulfini kalit bilan ochadi va xabarni o'qiydi

Ushbu qisqa hikoyaning ahamiyati juda katta. Bu shuni ko'rsatadiki, ikki kishi maxfiy xabarni kalitlarni almashtirmasdan uzatishi mumkin. O'ylab ko'r! Ushbu voqea aslida o'sha paytdagi kriptografiya qurilgan barcha aksiomalarni yo'q qiladi. Ha, biz jarayonni biroz murakkablashtiramiz (qutini uch marta yuborish kerak edi), ammo natija ...

Kriptografiyaga qaytish

Bu echim topilganga o'xshaydi. Yuboruvchi va qabul qiluvchi o'z xabarlarini shifrlashadi, so'ngra suhbatdoshlar navbat bilan o'zlarining shifrlarini olib tashlashadi.


Ammo nuqta shundaki, boshqa shifrdan shifrni olib tashlashga imkon beradigan hech qanday shifr yo'q. Ya'ni, Elis shifrini olib tashlaydigan bosqich imkonsiz:


Afsuski, barcha mavjud algoritmlar hanuzgacha ular qo'llanilgan navbatdagi shifrlarni olib tashlashni talab qiladi. Men uni aksioma deb atashdan qo'rqaman (chunki tarix allaqachon bunday aksiomalar bir-biriga urib tushirilgan holatlarni biladi), ammo bu hali ham shunday.

Matematikaga qaytish

Yuqorida tavsiflangan quti g'oyasi Diffi va Xellmanni xabarni etkazish yo'lini izlashga undadi. Oxir oqibat ular bir tomonlama funktsiyalarni o'ylab topdilar.

Bir tomonlama funktsiya nima? Masalan, ikki baravar ko'paytirish funktsiyasi mavjud, ya'ni. juft (4) \u003d 8, bu ikki tomonlama, chunki natijadan 8 boshlang'ich qiymatini olish oson. Bir tomonlama funktsiya bu funktsiyadir, undan keyin boshlang'ich qiymatni olish deyarli mumkin emas. Masalan, sariq va ko'k bo'yoqlarni aralashtirish bir tomonlama funktsiyalarning namunasidir. Ularni aralashtiring oson, lekin asl qismlarini qaytarib olish uchun - imkonsiz... Matematikadagi shunday funktsiyalardan biri modulli hisoblash.

Algoritm uchun asos sifatida Xellman funktsiyani taklif qildi Y x (mod P)... Bunday funktsiya uchun teskari konvertatsiya qilish juda qiyin va biz aytishimiz mumkinki, aslida bu asl qadriyatlarning to'liq ro'yxati.

Masalan, sizga shunday deyishgan 5 x (mod 7) \u003d 2, topishga harakat qiling x, a? Topdingizmi? Endi tasavvur qilingki, Y va P - 10 300 tartibli raqamlar.

Aytgancha, chidamlilikni oshirish uchun, son P asosiy va bo'lishi kerak Y - antiderivativ ildiz moduli bo'ling P... Ammo biz hali ham nazariyani tushunishga harakat qilayotganimiz sababli, men bu bilan bezovtalanish uchun hech qanday sabab ko'rmayapman.

Diffie-Hellman algoritmi

Keyin bir kuni Hellmanga tushdi va u ishlaydigan kalitlarni almashtirish algoritmini ishlab chiqara oldi. Ushbu algoritm bilan ishlash uchun har ikki tomonning ham qadamlarini bajarishingiz kerak, shuning uchun men buni jadvalga eskiz qilib olaman:

Elis Fasol
1-bosqich Ikkala ishtirokchi ham qadriyatlar to'g'risida kelishib oldilar Y va P umumiy bir tomonlama funktsiya uchun. Ushbu ma'lumot maxfiy emas. Aytaylik, qadriyatlar tanlangan 7 va 11 ... Umumiy funktsiya quyidagicha ko'rinadi: 7 x (mod 11)
2-bosqich Masalan, Elis tasodifiy sonni tanlaydi 3 A Bob tasodifiy sonni tanlaydi, masalan 6 , sir tutadi, keling, uni raqam sifatida belgilaymiz B
3 bosqich Elis raqamni almashtiradi A 7 3 (mod 11) \u003d 343 (mod 11) \u003d 2 a Bob raqamni ulaydi B umumiy funktsiyaga aylanadi va natijani hisoblaydi 7 6 (mod 11) \u003d 117649 (mod 11) \u003d 4 , ushbu hisoblash natijasini raqam sifatida bildiradi b
4-bosqich Elis raqamni uzatadi a Bob Bob raqamni uzatadi b Elis
5-bosqich Elis oladi b Bobdan va qiymatini hisoblab chiqadi b A (mod 11) \u003d 4 3 (mod 11) \u003d 64 (mod 11) \u003d 9 Bob oladi a Elisdan va qiymatini hisoblab chiqadi a B (mod 11) \u003d 2 6 (mod 11) \u003d 64 (mod 11) \u003d 9
6-bosqich Ikkala ishtirokchi ham raqam bilan yakunlandi 9 ... Bu kalit bo'ladi.

Sehrmi? Men bahslashmayman, bu birinchi qarashda aniq emas. Ammo ushbu jadvalni o'qib, o'ylab ko'rgandan so'ng, uning qanday ishlashi aniq bo'ladi. Ammo, agar aniq bo'lmasa, bobning oxiriga o'ting, men u erda tushuntirish videosini joylashtirdim.

Bundan tashqari, yakuniy formulada kalitni olish uchun har qanday odam uchta qiymatga ega bo'lishi kerakligini unutmang:

  • Qadriyatlar a va Pva Bobning maxfiy raqami B
  • yoki qiymatlar b va P, va Elisning maxfiy raqami A

Ammo maxfiy raqamlar kanal orqali uzatilmaydi! Momo Havo kimningdir maxfiy raqamisiz kalitni ololmaydi. Nima uchun - men yuqorida yozgan edim, bu funktsiya bir tomonlama. Tenglamani echishga harakat qiling 4 x (mod 11) \u003d 2 y (mod 11) topish x va y.

Hellmanning sxemasi qanday ishlashini aniqroq qilish uchun rangni qandaydir tarzda kalit sifatida ishlatadigan shifrni tasavvur qiling:

Boshida faraz qilaylik, Elis, Bob va Momo Havoni o'z ichiga olgan har bir kishi uch litrli idishga ega, unda bir litr sariq bo'yoq quyiladi. Agar Elis va Bob maxfiy kalit to'g'risida kelishmoqchi bo'lsalar, ular o'zlarining konservalariga bir litr o'zlarining yashirin bo'yoqlarini qo'shadilar.

Elis binafsha rangni, Bob esa malinani qo'shishi mumkin. Shundan so'ng, ularning har biri aralashgan tarkibidagi idishni boshqasiga yuboradi.

Nihoyat, Elis Bobning aralashmasini oladi va uning ichiga bir litr maxfiy bo'yoqini quyadi, Bob esa Elisning aralashmasini oladi va unga bir litr maxfiy bo'yoqini qo'shadi. Ikkala qutidagi bo'yoq endi bir xil rangga ega bo'ladi, chunki har birida bir litrdan sariq, binafsha va qirmizi bo'yoqlar mavjud.

Aynan shu rang, bo'yoq idishlariga ikki marta qo'shib olingan va kalit sifatida ishlatiladi. Elis Bobga qanday bo'yoq qo'shganini, Bob ham Elisning qanday bo'yoq quyganini bilmaydi, ammo ikkalasi ham bir xil natijaga erishdilar.

Ayni paytda, Momo Havo g'azablandi. Agar u oraliq qutilarni ushlab turishga qodir bo'lsa ham, u muzokara qilingan kalit bo'lgan yakuniy rangni aniqlay olmaydi. Momo Havo Bobga yuborilgan kavanozda sariq bo'yoq va Elisning maxfiy bo'yoqlarini aralashtirish natijasida olingan bo'yoq rangini ko'rishi mumkin va u Elisga yuborilgan bankadagi sariq bo'yoq va Bobning maxfiy bo'yoqlarini aralashtirish orqali olingan bo'yoq rangini ko'rishi mumkin, ammo kalitni topish uchun u, aslida siz Elis va Bobning asl maxfiy ranglarini bilishingiz kerak. Biroq, Momo Havo aralash bo'yoqlardan qarab, Elis va Bobning sirlarini aniqlay olmaydi. Agar u aralash bo'yoqlardan birining namunasini olsa ham, sirni topish uchun uni asl bo'yoqlarga ajrata olmaydi, chunki bo'yoqni aralashtirish bir tomonlama vazifadir.

Hali ham aniq emasmi? Keyin videoni tomosha qiling:

Umid qilamanki, kalitlarni xavfsiz almashtirishning juda aniq usuli borligini angladingiz. Iltimos, ushbu algoritmni assimetrik shifr deb atashning iloji yo'qligini unutmang, chunki aslida bu shunchaki kalit almashish algoritmi.

Asimmetrik shifrlash

assimetrik algoritm ikkita kalit mavjudligini taxmin qiladi - umumiy va shaxsiy. Ya'ni, xabar ochiq kalit bilan shifrlanadi va boshqa hech narsa bilan maxfiy kalit bilan shifrlanadi. Darhaqiqat, Diffining o'zi ishlab chiqqan ushbu kontseptsiya edi.

Umuman olganda, ushbu algoritmning mohiyati shundan iboratki, qabul qiluvchi tomon xabarni qabul qilishdan oldin, modulli arifmetik algoritmga asoslangan kalit juftligini hosil qiladi (bu tamoyil Diffie-Hellman algoritmidagi kabi), shaxsiy va ochiq kalitning o'zi. Yuborishdan oldin, jo'natuvchi ochiq kalitni oladi va ushbu kalit bilan xabarni shifrlaydi, shundan so'ng ushbu xabarni qabul qiluvchi tomon sir tutgan faqat shaxsiy kalit bilan parolini ochish mumkin.


Agar biz qulflar bilan o'xshashlikka qaytsak, ochiq kalit shifrlashni quyidagicha tasavvur qilish mumkin:

Har kim qulfni shunchaki yopib qo'yishi bilan qulflashi mumkin, lekin uni faqat kaliti bo'lgan kishi ochishi mumkin. Qulfni (shifrlashni) qulflash oson, deyarli hamma buni uddalay oladi, lekin uni faqat kalit egasi ochishi mumkin (parol hal qilish). Qulfni yopib qo'yishi uchun uni qanday mahkamlashni bilsangiz, qanday qilib qulfni ochish mumkinligi sizga aytilmaydi.

Bundan ham chuqurroq o'xshashlik qilish mumkin.

Elisning qulf va kalitni loyihalashini tasavvur qiling. U hushyorlik bilan kalitni qo'riqlaydi, shu bilan birga minglab nusxadagi qulflarni ishlab chiqaradi va ularni butun dunyo bo'ylab pochta aloqasi bo'limlariga yuboradi. Agar Bob xabar yubormoqchi bo'lsa, uni qutiga solib, mahalliy pochta bo'limiga boradi, "Elisning qulfi" ni so'raydi va shu bilan qutini qulflaydi. Endi u qutini ocholmaydi, lekin Elis qutini olgach, uni bitta kaliti bilan ochishi mumkin.

Qulfni qulflash va uni yopish uchun yopib qo'yish, umumiy shifrlash kalitiga teng keladi, chunki hamma qulflarga kirish huquqiga ega va har kim qutidagi xabarni yopish uchun qulfdan foydalanishi mumkin. Qulfni kaliti shaxsiy shifrni ochish kalitiga tengdir, chunki faqat Elis unga ega, faqat u qulfni ochishi mumkin va faqat u qutidagi xabarga kirish huquqiga ega.

Asimmetrik shifrlashni amalga oshiradigan bir nechta algoritmlar mavjud. Ulardan eng mashhuri RSA. Men uni yozib olishning ma'nosini ko'rmayapman, chunki u qanday qilib tezda ishlashini hali ham tushuna olmayman va Vikipediyada yozilganlardan ham yaxshiroq yozolmayman.

Xulosa

Umid qilamanki, assimetrik shifrlash ichkaridan qanday ishlashini tushunib, siz unga ko'proq ishonishni boshlaysiz va shunga ko'ra SSL-dan tez-tez foydalanasiz \u003d)

Singx Simon - "Shifrlar kitobi" kitobidan foydalanilgan materiallar. Aytgancha, bu hech bo'lmaganda kriptografiyani tushunmoqchi bo'lganlar uchun eng yaxshi kitob. Men hammaga o'qishni maslahat beraman.

  1. televizor

    Bunday kalitni tanlash sizga ko'p vaqt talab etadi. Koinot mavjudligidan ozroq narsa. Hatto juda kuchli kompyuterlarda ham.

  2. Igor

    Bu ochiq kalit nima uchun kerak? Nosimmetrik yanada ishonchli.
    Hayrli kun!
    Yaxshi sayt, material aniq aytilgan, muallifga katta rahmat. Men bu erga sentyabr oyida amaliy shifrlash to'g'risida ma'lumot qidirayotganda tasodifan etib keldim.
    Yozyapman, chunki so'ramoqchiman: nosimmetrik shifrlash uchun raqamlarni qanday topishni bilmoqchi bo'lganlar bormi? P raqamini soddaligi uchun (g sonini izlamasdan) tezda tekshirishni barmoqlarimga o'rgata olaman - lekin bu qiziq emas. Eng qiziqarli:
    Istalgan uzunlikdagi P sonini va unga g sonini toping. Men n-plyus bitta (yoki minus bitta) quvvatga hech qanday 2 ishlatmayman. Tabiiyki, bu bepul. Hatto o'zimning ishimni joylashtirgan veb-sayt ham mavjud.

  • Uasya Petrovich

    Ko'p vaqt o'tganini tushunaman, ammo baribir men kabi yangi kitobxonlar uchun javob beraman.

    Bu ishlamaydi, chunki 2 va 3-harakatlardan so'ng, biz bloklarning har birining soni o'zgarganligini ko'rmoqdamiz, shuning uchun Bobning maxfiy raqami biz uchun aniq bo'lib qoladi va biz faqat 4-harakatdan keyin xabarni ushlab turishimiz kerak (ya'ni allaqachon Elis shifrisiz) va bizga allaqachon ma'lum bo'lganlardan foydalanishimiz kerak Bobning raqami.

  • Evgeniy

    Maqola uchun katta rahmat!
    O'qishdan so'ng deyarli hamma narsa javonlarga tushdi, qurish oson bo'lgan tuzilishga ega bo'ldi.
    Bunday tuzilish bilan to'g'ri savollarni yaratish oson (MiTM hujumlari uchun javon, Mixailga alohida rahmat :)).

    Pedagogik nuqtai nazardan, siz hamma narsani mukammal qildingiz. Menimcha, siz ushbu maqolaga MiTM hujumlarini qo'shmagansiz, aks holda bu ma'lumotni haddan tashqari oshirib yuborgan bo'lar edi.

    Video yoqimli, ayniqsa uning yoshini hisobga olgan holda.

    PS: "murakkab" tizimlarni tushuntirish uchun metaforalardan foydalanishni halollik bilan baholash qiyin. Yana bir bor raxmat!

  • dbzix

    Ushbu maqoladan men Diffie-Hellman algoritmidan ikkita obunachi maxfiy kalitni olish uchun jamoat ma'lumotlari va hisob-kitoblarning oraliq natijalarini almashadigan (masalan, 6 ta bosqich bor edi) shifrlash uchun ma'lum bir ochiq kalit ishlatadigan bosqichga o'tish vaqtini tushunmadim. shaxsiy kod yordamida shifrlangan (bu erda men ma'lumotlarni uzatishning atigi 2 bosqichini hisoblayman - ochiq kalitni yuborish va ushbu kalit bilan shifrlangan xabar yuborish).
    O'sha. Men tushunamanki, bu ikki tushuntirish o'rtasida bironta matematika bo'lishi kerak va oxir-oqibat tushuntirish "bu shunday ishlaydi, shunchaki ishonavering" degan tushunchaga tushadi. Ammo bu to'satdan o'tishni tushunish osonroq bo'lar edi, agar bo'yoqlar bilan o'xshashlik kengaytirilgan kalit bilan shifrlashning mohiyatini tushuntirish uchun kengaytirilsa, keyin shaxsiy bilan ochish. Ayni paytda, bu qandaydir "B ishlaydi, chunki A" chiqadi, A va B o'rtasida aniq aloqa yo'q. Hech bo'lmaganda men uchun.
    Hurmatli muallif, menga A dan B ga sirli sakrashni tushuntirish uchun shunday muloyim bo'larmidingiz? :) Rahmat!

  • Evgeniy

    Hayrli kun,

    Berilgan: Y ^ x (mod P) formulasi mavjud.
    maqoladagi misol 7 ^ x (mod 11) formulaga asoslangan

    mening misolim uchun 4 ^ x (mod 7) oldim
    va men umumiy kalitni topa olmadim.
    Savol: Nima uchun misoldagi algoritm 4 ^ x (mod 7) uchun emas, balki 7 ^ x (mod 11) uchun ishlaydi?

  • Jessi-Jeyn
  • Andrey

    Rahmat, maqola juda zo'r!
    Faqat endi men deyarli algoritmni, modul orqali qanday hisoblashni tushunib etdim.
    Agar A soni moduldan kam bo'lsa, B sonini qanday hisoblash kerakligini ayta olasizmi?
    Masalan, masalan:
    3 (mod 13) \u003d?

    Men bilaman, masalan, 625 (mod 13) ni hisoblashingiz kerak bo'lsa, sizga 625/13 kerak bo'ladi va undan keyin mumkin bo'lgan eng katta bo'linuvchi (48) modulga ko'paytiriladi (bu erda 624 ga teng bo'ladi) va nihoyat 625-624 \u003d 1
    625 va 1 raqamlari taqqoslanadigan 13 modulidir, chunki 624 13 ga bo'linadi.
    Men buni tushunaman. Ammo agar modul a sonidan katta bo'lsa-chi?

  • Sariq dahshat

    1. O'rtada odam hujumi jiddiy muammo. Aytishim mumkinki, faqat bitta kriptografiya doirasida u jur'at etolmaydi: agar Momo Havo Elisga kelgan yoki undan har qanday aloqa kanallari orqali chiqadigan BARCHA ma'lumotni ushlab turishi va sezilmasdan o'zgartirishi mumkin deb hisoblasak, hech qanday shifrlash yordam bermaydi. Elis tomonidan kamida bitta sertifikat mutlaqo ishonchli manbadan olinishi kerak. Ammo tajovuzkor faqat aloqa kanalida tinglashi va undagi ma'lumotlarni o'zgartirmasligi mumkin bo'lsa, assimetrik shifrlash juda ishonchli.
    2. Bitta "shifr qatlamini" ikkinchisining ostidan olib tashlash qobiliyatiga kelsak, bu xususiyat qadim zamonlardan to hozirgi kungacha kriptografiyada keng qo'llaniladigan banal XOR funktsiyasiga ega. Menimcha, uni patentlash mumkin emas :(

    1. Dmitriy Amirov Muallif

      Ha, siz haqsiz, bugungi kunda mitm hujumi mutlaqo paranoyak bo'lsangiz, hech qanday tarzda hal qilinmaydi. Agar ular mavjud bo'lmasa, guvohnoma va imzolarni taqiqlash "zarur va etarlicha" himoyani ta'minlaydi.

      XOR funktsiyasiga kelsak, uni shifr deb atash qiyin bu uning mohiyatida emas.

      1. Sariq dahshat

        Kel? Google Vernam Cipher haqida. Bu bilan xabar almashish tizimi mutlaq kripto qarshilik. Va u XORga asoslangan. Agar ba'zi bir tashkiliy qiyinchiliklarni (bir xil taqsimot bilan chinakam tasodifiy tugmachalarni yaratish, shifrlangan maydon sirini do'stona bo'lmagan muhitda saqlash va ishlatilgan kalitlarni ishonchli yo'q qilish) qoldirsak, insoniyat hali ham sodda va ishonchli narsani o'ylab topmagan.

      2. Sariq dahshat

        Shunga qaramay, agar men tajovuzkor shifrlash algoritmini bilsa, ikki marta qaytariladigan shifrlash usuli ishlamasligini yaxshi xulosada angladim. Mixailning g'oyasiga misol keltiraylik:

        1. Biz shifrlangan ma'lumotlarni bloklarga ajratamiz. Har bir blok raqam bilan ifodalanadi. Blok kattaligi (bitlar soni) mumkin bo'lgan blok qiymatlari sonini va (shunga mos ravishda) shifrlash kuchini aniqlaydi.
        2. Xabarni shifrlash uchun Elis maxfiy raqamni tanlaydi (u hech kimga yubormaydi), u bloklardagi raqamlarning har biriga qo'shiladi va shu tarzda shifrlangan xabarni Bobga yuboradi.

        Hozircha hammasi joyida: Momo Havo Elisning xabarini o'qiy olmaydi, chunki kalit raqamini bilmaydi. Agar bloklar etarlicha katta bo'lsa, Elisning xabarini tiklash qiyin, ammo blok blokdan uzunroq bo'lsa va kalit zaif tomonlari bo'lmasa, bu mumkin emas. Ammo Momo Havo Elisning shifrini nusxalashi mumkin va buni amalga oshiradi.

        3. Bob shifrlangan xabarni oladi, uning maxfiy raqamini tanlaydi (u ham uni hech kimga jo'natmaydi), Elis tomonidan shifrlangan xabar bloklaridagi har bir raqamga ushbu raqamni qo'shadi va bu ikki shifrlangan xabarni Elisga yuboradi.

        Va bu erda muammolar allaqachon boshlanadi: Momo Havo hali ham Elisning xabarini o'qiy olmaydi, lekin Bob tomonidan qabul qilingan shifrlash kodining nusxasi va unga yuborilgan er-xotin shifrlash bilan u qayta tiklay oladi. kalit Bob.

        4. Elis ushbu ikki baravar shifrlangan xabar bloklaridagi har bir raqamdan o'zining maxfiy raqamini chiqarib tashlaydi va natijada Bobga xabar yuboradi.

        Elis o'zining "qatlamini" olib tashladi va endi Bobga faqat Bobning kaliti bilan shifrlangan maktubini yubordi. Qaysi Momo Havo allaqachon bor! Momo Havo xatni parolini ochib, uni o'qiydi, shuningdek, Elisning kalitini qayta tiklashi mumkin, chunki xatning shifrlangan matni va u ushlagan birinchi shifr yordamida.

  • Dmitriy

    Salom. Yaxshi maqola, lekin men yuqorida aytib o'tgan ba'zi fikrlarni tushunmadim.
    Bu ikkala suhbatdosh tomonidan (Elis va Bob) maxfiy kalitni olish algoritmidan (ularni umumiy foydalanishga qo'ymasdan) assimetrik shifrlashga o'tish.
    Siz xabar Elis tomonida Bobdan olingan ochiq kalit bilan kodlanganligini yozdingiz. Ammo agar biz ochiq kalit bilan shifrlasak, u holda Momo Havo uni osongina oladi va o'zi shifrini ochadi, to'g'rimi?
    Qanday qilib ochiq kalit bilan shifrlash va parolni hal qilish mumkinligi men uchun noaniq bo'lib qoldi faqat Bob tarafdagi sir. Ya'ni, ular "Uy" so'zi bilan shifrlashdi va "Tinchlik" so'zi bilan ochishdi. Men uchun bu qandaydir bema'nilik.
    Ushbu aniq bo'shliqlarga asoslanib (siz ham, men ham) men bu erda rasmga qaraganda diagramma murakkabroq bo'lishi kerak degan xulosaga keldim. Ehtimol, Bobning ochiq kalitidan Elisgacha bo'lgan o'q boshqa narsani anglatadi, ya'ni "Y" va "P" ni olish, oraliq natijalarni olish va h.k. Boshqacha qilib aytganda, menimcha, asl xabarni go'yoki ochiq kalit bilan shifrlashda u ochiq kalit bilan emas, balki har bir tomonda alohida hisoblangan maxfiy kalit bilan shifrlangan.

    Ikkita shifrlangan xabarni parolini hal qilish haqida savolim bor. Agar biz, masalan, Qaysar shifrini olsak, u erda har bir harf boshqa harf bilan shifrlangan, ya'ni aytaylik, 3 ta pozitsiya. Agar Elis xabarda A harfini B harfi bilan shifrlasa va Bob bu B harfini G harfi bilan shifrlasa, unda G harfidan A harfini olish oson va har qanday tartibda bo'ladi. To'g'ri, bu ikkalasi ham suhbatdoshning shifrlash turini va juda oddiy shifrlash turlari (mono alifbo / polyalphabetic) bilan bilgan taqdirdagina ishlaydi. Men ham kriptografiya bilan yangi tanishman, shuning uchun bu mening IMHO;)

    1. Dmitriy

      Men so'rashni unutdim.
      Nosimmetrik va assimetrik usullarning farqi nimada?

      1. Dmitriy

        Men o'qidim, ozmi-ko'pmi qandaydir xayolimdagi hamma narsani birlashtirdim.
        Yozgan savollarimga javob beraman, ehtimol boshqa o'quvchilarga yordam beraman.
        1. Masalasida

        Siz xabar Elis tomonida Bobdan olingan ochiq kalit bilan kodlanganligini yozdingiz. Ammo agar biz ochiq kalit bilan shifrlasak, u holda Momo Havo uni osongina oladi va o'zi shifrini ochadi, to'g'rimi?
        Qanday qilib ochiq kalit bilan shifrlash va faqat Bob tarafidagi sir bilan shifrlash mumkinligi men uchun noaniq bo'lib qoldi. Ya'ni, ular "Uy" so'zi bilan shifrlashdi va "Tinchlik" so'zi bilan ochishdi. Men uchun bu qandaydir bema'nilik.

        Ushbu maqolada RSA algoritmi eslatib o'tilgan. Simmetrik shifrlash algoritmi. Aslida quyidagi algoritmdan foydalaniladi:
        1) ba'zi bir tomonlama shifrlash funktsiyalariga tayanib (bir yo'nalishda hisoblash oson, ammo boshqa yo'nalishda juda qiyin bo'lgan funktsiya. A) biz qabul qiluvchida juftlik yaratamiz (ochiq kalit; shaxsiy kalit). Ushbu juftlik noyobdir, ya'ni har bir ochiq kalitda ushbu bir tomonlama funktsiya uchun noyob shaxsiy kalit mavjud.

        3) Yuboruvchi xabarni shifrlaydi
        4) Qabul qiluvchiga o'tkazmalar

        Ko'rib turganingizdek, jo'natuvchi shaxsiy kalitni bilmaydi va o'zi shifrlangan xabarni o'zi hal qila olmaydi. Shuning uchun, u assimetrik deb nomlanadi, birida barcha tugmachalar, ikkinchisida faqat shifrlash uchun zarur bo'lgan qism mavjud.

        Nosimmetrik va assimetrik usullarning farqi nimada?
        Agar men maxfiy kalitni uzatish uchun Diffie va Hellman algoritmidan foydalansam va u holda shifrlangan xabarni xavfsiz ravishda uzata olsam, bu usul nosimmetrik bo'larmidi?

        Daffi-Hellman algoritmi kalitlarni almashtirish va keyingi nosimmetrik shifrlash uchun xizmat qiladi... Ya'ni, uning mohiyati shundaki, avval ikkalasi ham shifrlash va parolni hal qilish uchun to'liq kalitni oladi va keyin eng keng tarqalgan simmetrik shifrlashni boshlaydi.

        Asimmetrik usul - bitta tugunda shifrlash / parolni hal qilish uchun barcha ma'lumotlar mavjud, ikkinchisi, odatda, faqat shifrlash uchun

        Nosimmetrik - ikkala tugun ham barcha shifrlash / parolni hal qilish ma'lumotlarini biladi.

        3. Umid kimgadir yordam bergan; 3

        1. Dmitriy

          Ushbu maqolada RSA algoritmi eslatib o'tilgan. Asimmetrik shifrlash algoritmi Muhrlangan.

        2. Dmitriy Amirov Muallif

          Xm ... hozir sizning sharhlaringizni payqadingiz. Uzr so'rayman.

          Hammasi to'g'ri bo'lganga o'xshaydi. Bitta narsa bor, lekin sizning oxirgi xatboshingizga ko'ra, ya'ni shartlar:

          • Daffi-Hellman algoritmi - bu bitta umumiy maxfiy kalitni olish imkoniyatini beruvchi algoritm bo'lib, u endi yo'q
          • Asimmetrik / nosimmetrik shifrlash - umuman, hamma narsa siz bilan to'g'ri
          • RSA - bu narsalarning kombinatsiyasi bo'lgan algoritm. Barmoqlarda: Deffie-Helman protokoli bo'yicha assimetrik shifrlash yordamida sirli kalit o'rnatiladi, uning yordamida suhbatdoshlar orasidagi xabarlar nosimmetrik shifrlash usuli bilan shifrlanadi.
        3. Dmitriy

          Men hali ham bayonotni tushunmadim:
          2) ochiq kalit jo'natuvchiga beriladi.
          3) Yuboruvchi xabarni shifrlaydi
          4) Qabul qiluvchiga o'tkazmalar
          5) Qabul qiluvchining yopiq kaliti bilan parolini ochadi. Ushbu xabarni ochiq kalit bilan ochib bo'lmaydi.

          Ma'lum bo'lishicha, siz boshidanoq ko'zingizni buzgansiz. Uy so'zini shifrlaymiz va Tinchlik so'zini ochamiz. Bu shuni anglatadiki, Dunyo va Uyni bir-biri bilan bog'laydigan yana bir algoritm mavjudmi?

  • Robert

    Katta raxmat!!!

  • Roman

    Rahmat. Nihoyat, men ushbu maqoladan qanday ishlashini va qanday ishlashini tushunishga qaror qildim. Faqatgina ishonaman, agar sheriklar bir-birlarini bilsalar va ochiq kalitlarni almashtirish imkoni bo'lsa, unda bunga arziydi. Tugmachalarni almashtirganda o'rtada paydo bo'lishi mumkin bo'lgan odamning paydo bo'lishining zararli ta'sirini istisno qilish uchun, u o'zlarini A bilan B va B kabi ko'rsatib, kalitlarni o'zlariga almashtiradi va natijada barcha ma'lumotlarni ko'rib chiqadi.

    Va videoda, ular bu 3 ^ (24 * 54), tk dan foydalanmasliklari kerak deb o'ylayman. qaerdan kelib chiqqanligi umuman aniq emas yoki ular buni shartli deb tushuntirishadi.

  • RinswinD

    Maqola uchun tashakkur. Hamma narsa juda oson tushuntiriladi.

  • grigoriy

    Xo'sh, hamma bu imlo savodsizligidan bezovtalanmoqda - "bir tomonlama", "qo'llaniladigan", "uzunlik", go'yo allaqachon 5-sinfda bo'lganidek. Va shuning uchun, asoslarni tushunish uchun yomon emas.

  • grigoriy

    Savol oddiy bo'lishi mumkin. Ransomware viruslari shaxsiy kalitdan foydalanadi. Asl fayl bor, shifrlangan fayl bor. Vazifa: birinchi faylni ikkinchisiga aylantirish algoritmini qidiradigan algoritmni topish, uni ...

  • Alleksiya

    Tushunarli va zerikarli maqola uchun tashakkur! Va nihoyat men buni asoslarga o'rgandim :).

  • Yaroslav

    Afsuski, barcha mavjud algoritmlar hanuzgacha ular qo'llanilgan navbatdagi shifrlarni olib tashlashni talab qiladi.

    Bu butunlay to'g'ri emas. Men misol keltiraman:
    - har bir harf A \u003d 1, B \u003d 2, B \u003d 3 va boshqalarning raqamli kodlariga to'g'ri keladi deylik;
    - faraz qiling, Elis Bobga bitta A harfidan iborat xat yubordi (misolni soddalashtirish uchun);

    Elis: A + 2 \u003d B shifrini o'rnatadi

    Bob: uning kodini qo'yadi B + 3 \u003d E
    Bob: Elisga xat yuboradi
    Elis: E - 2 \u003d G shifrini olib tashlaydi
    Elis: Bobga xat yuboradi
    Bob: G - 3 \u003d A kodini olib tashlaydi

    Bu erda 2 raqami - Elisning maxfiy kaliti, 3 - Bobning maxfiy kaliti. Bundan tashqari, u bitta belgidan iborat bo'lmasligi mumkin. Aslida uning uzunligi hech narsa bilan cheklanmaydi.

  • Dmitriy

    Men uzoq vaqtdan beri assimetrik shifrlashning nazariy asoslaridan qochib keldim. Men yuzaki bilardim - ma'lumotlar shifrlangan ochiq kalit va bu ma'lumotlar shifrlangan shaxsiy kalit mavjud. Ammo men har doim bunday shifrlashni amalga oshirishni o'ylardim.
    Maqolangiz katta yordam berdi, buning uchun katta rahmat!
    Faqat oxirigacha men yana bu bema'nilikni ko'rdim - "ochiq kalit bilan shifrlangan". Axir, qat'iyan aytganda, xabar ochiq kalit bilan emas, balki jo'natuvchining shaxsiy kalitidan va qabul qiluvchining ochiq kalitidan olingan kalit bilan shifrlanadi (bu o'z navbatida qabul qiluvchining shaxsiy kaliti asosida yaratilgan). Darhaqiqat, Elis va Bob haqidagi jadvalda - ular va ular faqat bitta "9" kalitini olishgan - bu xabarni shifrlash va parolini hal qilish uchun ishlatiladi. Ammo siz ushbu kalitni faqat bir juft kalit asosida olishingiz mumkin - maxfiy (Elis / Bob) va jamoat (Bob / Elis).
    Majoziy ma'noda - ha, xabar har doim jo'natuvchining maxfiy kaliti (taxminan aytganda, doimiy) va qabul qiluvchining ochiq kaliti bilan shifrlanadi (bu aniq qabul qiluvchiga bog'liq), shuning uchun tavsifda "maxfiy" tugmachasi bilan shifrlash qoldirilgan - va bu kamchilik fikrning barcha uyg'unligini buzadi.

  • klarkson

    men maqolani o'qidim va barchasini bir xil tushunmadim, garchi vikidan yaxshiroq edi. Lekin men bir narsani tushunmayapman. agar kimdir to'g'ri javob bersa - yordam bering.

    agar hammaga "2 + 2 qancha bo'ladi?" degan savolni yuborsam. men haqiqatan ham ulanishni xohladimmi?

    1. Dmitriy Amirov Muallif

      Bu erda siz savolni biroz noto'g'ri qo'ydingiz.

      Agar siz kimdir bilan aloqa o'rnatishingiz kerak bo'lsa, unda siz teskari tomondan borishingiz kerak. Siz suhbatdosh bilan bog'lanasiz va allaqachon u sizga sizning emas, balki sizning ochiq kalitingizni taqdim etadi.

      UPD: haqida maqola yozdi, bu sizning savolingizga to'g'ri javob bo'ladi deb o'ylayman.

      1. klarkson

        mening ahmoqligim bilan kurashish kerak bo'ladi. sharhlarda va sizning maqolangizda mavzu chaynalgan, hamma narsa tushuntirilganga o'xshaydi.

        hali. Nima uchun uning ochiq kaliti menga kerak? agar men to'g'ri tushunmasam, menga ayting.
        Men tashabbuskorman (javoblar kerak, masalan men mezbonman), shuning uchun men juftlikni yarataman. javob beradigan kishi (sizning namunangizdagi jo'natuvchi) mening jamoatchiligimga muhtoj

        Yuborishdan oldin, jo'natuvchi ochiq kalitni oladi va xabarni ushbu kalit bilan shifrlaydi, shundan so'ng ushbu xabarni faqat shaxsiy kalit bilan ochish mumkin, uni qabul qiluvchi tomon sir tutadi.

  • Beshot

    Ushbu maqolani va boshqalarni mavzu bo'yicha bir necha bor qayta o'qidim, elektron pochtada elektron pochta xabarlarini ishlatish algoritmi aniq emas. hujjatlar. Agar shunday bo'lsa: https://ru.wikipedia.org/wiki/Electronic_signature, unda kelishmovchiliklar paydo bo'ladi. Shunday qilib biz shaxsiy kalit yoki ochiq kalit yordamida shifrlaymizmi?

    1. Dmitriy Amirov Muallif

      Agar biz biror narsaga imzo qo'yadigan bo'lsak, imzo bizning shaxsiy kalitimiz asosida yaratiladi. Qabul qiluvchida bizning ochiq kalitimiz bo'lishi kerak, uning yordamida u ushbu imzoning parolini ochishi mumkin.

      Agar imzo "shifrdan chiqarilgan" bo'lsa, unda ochiq kalit yopiqga mos keladi va undan beri apriori, faqat jo'natuvchining shaxsiy kaliti bor, demak u hujjatni imzolagan jo'natuvchi edi.

      1. Beshot

        Dmitriy, sizning maqolangiz menga katta yordam berdi, sizda yaxshi uslub bor. Ammo tushunarsiz bir lahza bor, siz assimetrik algoritm ikkita kalitning mavjudligini taxmin qiladi - jamoat va xususiy. Ya'ni, xabar ochiq kalit bilan shifrlangan va boshqa hech narsa bilan maxfiy kalit bilan shifrlangan.

        Bu asl topshiriq tufayli bo'lishi mumkin, masalan, qabul qiluvchi messenjerni tasdiqlashi kerak.
        Keyin men ushbu sxema qanday yordam berishini tasavvur qila olmaymanmi?

        1. Dmitriy Amirov Muallif

          Ya'ni, xabar ochiq kalit bilan shifrlangan va boshqa hech narsa bilan maxfiy kalit bilan shifrlangan.

          To'liq emas. Xabar bitta kalit bilan shifrlangan va ikkinchisi bilan shifrlangan. O'sha. xususiy kodni shifrlash va ochiq kodni ochish mumkin.

          Keling, misol keltiraylik. Siz menga xabar yubormoqchisiz, men uni sizga yuborganingizga ishonch hosil qilmoqchiman. Qadam ba qadam:
          1) Siz xabarni shaxsiy kalit bilan shifrlaysiz
          2) Menga yuboring
          3) men siz bilan bog'lanaman va ochiq kalitingizni sizdan olaman
          4) Qabul qilingan xabarni sizning ochiq kalitingiz bilan parolini hal qildim
          5) Agar xabar shifrlangan bo'lsa, uni siz yuborgansiz

          Hech kim bu xabarni siz kabi ko'rsatib yubora olmaydi, chunki faqat sizda shaxsiy kalit bor.

          1. Beshot

            Yaxshi, lekin agar siz xabarni qiziquvchan ko'zlardan yashirishni istasangiz nima bo'ladi?

  • Anya

    Hayrli kun! Maqola menga yoqdi, lekin savollar bor edi (hatto bir nechta o'xshash narsalar sharhlarda topilgan, ammo javobsiz).
    Agar maqolaning ikkinchi qismida biz Elis va Bob bilan taqqoslashga, xususan A, B, a, b, P raqamlariga va misolda olingan 9 raqamiga murojaat qilsak, ularning qaysi biri yopiq kalit, qaysi biri ochiq bo'ladi? Javobingiz uchun oldindan rahmat!

    1. Anya

      Mening sharhim ketdi yoki yo'qligi aniq emas :(

    2. Dmitriy Amirov Muallif

      Ma'lumot almashish jarayonida Elis va Bob umumiy kalitni olishadi, deb aytish to'g'ri bo'lar edi 9 , keyinchalik ularning xabarlarini shifrlash uchun ishlatilishi mumkin. Darhaqiqat, maqolada men assimetrik shifrlashning o'zi emas, balki assimetrik shifrlashning rivojlanishiga turtki bergan kalit almashinuv protokolini tasvirladim.
      Shaxsiy / ochiq kalit juftligini yaratish algoritmi aslida biroz murakkabroq, garchi u yuqorida tavsiflangan algoritmga o'xshash bo'lsa-da, lekin, ehtimol, alohida maqolaga arziydi. Izohda men bu erda darhol yozmayman, chunki ko'p narsalarni chalkashtirib yuborishim mumkin.

  • Gregori
  • Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: