Shamirning maxfiy almashish sxemasi

Bank kassasini himoya qilishingiz kerak bo'lgan stsenariyni ko'rib chiqing. Bu sizga ishning birinchi kunida beriladigan kalitsiz mutlaqo o'tkazib bo'lmaydigan hisoblanadi. Sizning maqsadingiz kalitni xavfsiz saqlashdir.

Aytaylik, siz kalitni har doim yoningizda saqlashga qaror qildingiz va kerak bo'lganda xotiraga kirishni ta'minlaysiz. Ammo siz tezda bunday yechim amalda yaxshi miqyosga ega emasligini tushunasiz, chunki har safar saqlashni ochganingizda jismoniy mavjudligingiz talab qilinadi. Sizga va'da qilingan ta'til haqida nima deyish mumkin? Bundan tashqari, savol yanada qo'rqinchli: agar siz yagona kalitingizni yo'qotib qo'ysangiz nima bo'ladi?

Ta'tilingizni hisobga olib, siz kalitning nusxasini yaratishga va uni boshqa xodimga topshirishga qaror qilasiz. Biroq, bu ham ideal emasligini tushunasiz. Kalitlar sonini ikki baravar oshirish orqali siz kalitlarni o'g'irlash ehtimolini ham ikki baravar oshirasiz.

Umidsizlikda siz dublikatni yo'q qilasiz va asl kalitni yarmiga bo'lishga qaror qilasiz. Endi siz kalitni olish va omborni ochish uchun kalit bo'laklari bo'lgan ikkita ishonchli odam jismonan hozir bo'lishi kerak deb o'ylaysiz. Bu shuni anglatadiki, o'g'ri ikkita bo'lakni o'g'irlashi kerak, bu bitta kalitni o'g'irlashdan ikki baravar qiyin. Biroq, tez orada siz ushbu sxema faqat bitta kalitdan ko'ra yaxshiroq emasligini tushunasiz, chunki kimdir kalitning yarmini yo'qotsa, to'liq kalitni tiklab bo'lmaydi.

Muammoni bir qator qo'shimcha kalitlar va qulflar bilan hal qilish mumkin, ammo bu yondashuv tezda talab qilinadi много kalitlar va qulflar. Xavfsizlik butunlay bir kishiga tayanmasligi uchun kalitni bo'lishish ideal dizayn bo'ladi, deb qaror qilasiz. Bundan tashqari, siz fragmentlar soni uchun ma'lum bir chegara bo'lishi kerak degan xulosaga keldingiz, shunda bitta bo'lak yo'qolsa (yoki odam ta'tilga chiqsa), butun kalit ishlamaydi.

Qanday qilib sirni baham ko'rish kerak

Ushbu turdagi kalitlarni boshqarish sxemasi haqida Adi Shamir 1979 yilda o'z ishini nashr etganida o'ylagan "Qanday qilib sirni baham ko'rish kerak". Maqolada qisqacha so'zda tushuntirilgan Shamirning maxfiy almashish sxemasi maxfiy qiymatni (masalan, kriptografik kalit) samarali bo'lish uchun chegara sxemasi Shamirning maxfiy almashish sxemasi qismlar. Keyin, qachon va faqat qachon kamida Shamirning maxfiy almashish sxemasi dan Shamirning maxfiy almashish sxemasi qismlar yig'ilgan, siz sirni osongina tiklashingiz mumkin Shamirning maxfiy almashish sxemasi.

Xavfsizlik nuqtai nazaridan, ushbu sxemaning muhim xususiyati shundaki, tajovuzkor hech bo'lmaganda hech narsani bilmasligi kerak. Shamirning maxfiy almashish sxemasi qismlar. Hatto mavjudligi Shamirning maxfiy almashish sxemasi qismlar hech qanday ma'lumot bermasligi kerak. Biz bu xususiyatni chaqiramiz semantik xavfsizlik.

Polinom interpolyatsiyasi

Shamir chegara sxemasi Shamirning maxfiy almashish sxemasi kontseptsiyasi atrofida qurilgan polinom interpolyatsiyasi. Agar siz ushbu tushuncha bilan tanish bo'lmasangiz, bu juda oddiy. Haqiqatan ham, agar siz biror marta grafikda nuqtalarni chizgan bo'lsangiz va ularni chiziqlar yoki egri chiziqlar bilan bog'lagan bo'lsangiz, siz undan allaqachon foydalangansiz!

Shamirning maxfiy almashish sxemasi
Ikki nuqta orqali cheksiz miqdordagi 2 darajali ko'phadlarni chizishingiz mumkin. Ulardan bittasini tanlash uchun uchinchi nuqta kerak bo'ladi. Tasvir: Vikipediya

Birinchi darajali polinomni ko'rib chiqing, Shamirning maxfiy almashish sxemasi. Agar siz ushbu funktsiyani grafikda chizmoqchi bo'lsangiz, sizga nechta nuqta kerak? Biz bilamizki, bu chiziq hosil qiluvchi chiziqli funktsiyadir va shuning uchun u kamida ikkita nuqtaga muhtoj. Keyin, ikkinchi darajali polinom funksiyani ko'rib chiqing, Shamirning maxfiy almashish sxemasi. Bu kvadratik funktsiya, shuning uchun grafikni chizish uchun kamida uchta nuqta kerak. Uchinchi darajali polinom haqida nima deyish mumkin? Kamida to'rt ball. Va hokazo va hokazo.

Bu xususiyatning chindan ham ajoyib tomoni shundaki, polinom funktsiyasi darajasi va hech bo'lmaganda Shamirning maxfiy almashish sxemasi nuqtalar, biz bu polinom funksiya uchun qo'shimcha nuqtalarni olishimiz mumkin. Biz bu qo'shimcha nuqtalarni ekstrapolyatsiya deb ataymiz polinom interpolyatsiyasi.

Sir yaratish

Shu o‘rinda Shamirning aqlli sxemasi ishga tushishini allaqachon tushungandirsiz. Keling, sirimizni aytaylik Shamirning maxfiy almashish sxemasi Ismi? Shamirning maxfiy almashish sxemasi. Biz aylana olamiz Shamirning maxfiy almashish sxemasi grafikdagi bir nuqtaga Shamirning maxfiy almashish sxemasi va darajali ko'phadli funktsiyani toping Shamirning maxfiy almashish sxemasi, bu fikrni qondiradi. Keling, buni eslaylik Shamirning maxfiy almashish sxemasi zarur bo'laklar ostonasi bo'ladi, shuning uchun agar biz chegarani uchta bo'lakka qo'ysak, biz ikkinchi darajali polinom funksiyasini tanlashimiz kerak.

Bizning polinomimiz shaklga ega bo'ladi Shamirning maxfiy almashish sxemasiqayerda Shamirning maxfiy almashish sxemasi и Shamirning maxfiy almashish sxemasi — tasodifiy tanlangan musbat sonlar. Biz shunchaki darajali polinom qurmoqdamiz Shamirning maxfiy almashish sxemasi, bu erda erkin koeffitsient Shamirning maxfiy almashish sxemasi - Bu bizning sirimiz Shamirning maxfiy almashish sxemasi, va keyingi har biri uchun Shamirning maxfiy almashish sxemasi shartlar tasodifiy tanlangan ijobiy koeffitsient mavjud. Agar biz asl misolga qaytsak va buni taxmin qilsak Shamirning maxfiy almashish sxemasi, keyin biz funktsiyani olamiz Shamirning maxfiy almashish sxemasi.

Ushbu nuqtada biz ulanish orqali fragmentlarni yaratishimiz mumkin Shamirning maxfiy almashish sxemasi ichida noyob butun sonlar Shamirning maxfiy almashish sxemasiqayerda Shamirning maxfiy almashish sxemasi (chunki bu bizning sirimiz). Ushbu misolda biz to'rtta bo'lakni uchta chegara bilan taqsimlamoqchimiz, shuning uchun biz tasodifiy nuqtalarni yaratamiz. Shamirning maxfiy almashish sxemasi va to'rt ishonchli kishining har biriga bittadan ochko yuboring, kalitning saqlovchisi. Buni odamlarga ham yetkazamiz Shamirning maxfiy almashish sxemasi, chunki bu ommaviy axborot hisoblanadi va tiklanish uchun zarur Shamirning maxfiy almashish sxemasi.

Sirni qayta tiklash

Biz allaqachon polinom interpolyatsiyasi kontseptsiyasini va u Shamirning chegara sxemasiga asoslanishini muhokama qildik. Shamirning maxfiy almashish sxemasi. To'rtta ishonchli shaxsdan uchtasi qayta tiklamoqchi bo'lganda Shamirning maxfiy almashish sxemasi, ular faqat interpolyatsiya qilishlari kerak Shamirning maxfiy almashish sxemasi o'ziga xos nuqtalari bilan. Buning uchun ular o'z nuqtalarini aniqlashlari mumkin Shamirning maxfiy almashish sxemasi va quyidagi formuladan foydalanib Lagranj interpolyatsiya ko‘phadini hisoblang. Agar dasturlash sizga matematikaga qaraganda tushunarli bo'lsa, u holda pi aslida operatordir for, bu barcha natijalarni ko'paytiradi va sigma for, bu hamma narsani qo'shadi.

Shamirning maxfiy almashish sxemasi

Shamirning maxfiy almashish sxemasi

da Shamirning maxfiy almashish sxemasi biz buni shunday hal qilishimiz va asl polinom funksiyamizni qaytarishimiz mumkin:

Shamirning maxfiy almashish sxemasi

Chunki biz buni bilamiz Shamirning maxfiy almashish sxemasi, tiklanish Shamirning maxfiy almashish sxemasi oddiygina bajarildi:

Shamirning maxfiy almashish sxemasi

Xavfli tamsayı arifmetikasidan foydalanish

Garchi biz Shomirning asosiy g'oyasini muvaffaqiyatli qo'llagan bo'lsak ham Shamirning maxfiy almashish sxemasi, biz shu paytgacha e'tibordan chetda qoldirgan muammo bilan qoldik. Bizning polinom funksiyamiz xavfli butun son arifmetikasidan foydalanadi. E'tibor bering, tajovuzkor bizning funktsiyamiz grafigida olgan har bir qo'shimcha nuqta uchun boshqa nuqtalar uchun kamroq imkoniyatlar mavjud. Butun son arifmetikasidan foydalangan holda ko‘p nomli funksiya uchun nuqtalar sonini ko‘paytirishda buni o‘z ko‘zingiz bilan ko‘rishingiz mumkin. Bu bizning belgilangan xavfsizlik maqsadimizga ziddir, chunki tajovuzkor hech bo'lmaganda hech narsani bilmaguncha hech narsani bilmasligi kerak Shamirning maxfiy almashish sxemasi parchalar.

Butun sonli arifmetik sxema qanchalik kuchsizligini ko‘rsatish uchun tajovuzkor ikki ball olgan stsenariyni ko‘rib chiqing. Shamirning maxfiy almashish sxemasi va ommaviy axborotni biladi Shamirning maxfiy almashish sxemasi. Bu ma'lumotlardan u xulosa chiqarishi mumkin Shamirning maxfiy almashish sxemasi, ikkitaga teng va ma'lum qiymatlarni formulaga kiriting Shamirning maxfiy almashish sxemasi и Shamirning maxfiy almashish sxemasi.

Shamirning maxfiy almashish sxemasi

Keyin tajovuzkor topa oladi Shamirning maxfiy almashish sxemasi, hisoblash Shamirning maxfiy almashish sxemasi:

Shamirning maxfiy almashish sxemasi

Biz aniqlaganimizdan beri Shamirning maxfiy almashish sxemasi tasodifiy tanlangan musbat butun sonlar sifatida cheklangan soni mumkin Shamirning maxfiy almashish sxemasi. Ushbu ma'lumotlardan foydalanib, tajovuzkor xulosa chiqarishi mumkin Shamirning maxfiy almashish sxemasi, chunki 5 dan kattaroq narsa bajariladi Shamirning maxfiy almashish sxemasi salbiy. Biz aniqlaganimizdan beri bu haqiqat bo'lib chiqdi Shamirning maxfiy almashish sxemasi

Keyin tajovuzkor mumkin bo'lgan qiymatlarni hisoblashi mumkin Shamirning maxfiy almashish sxemasialmashtirish Shamirning maxfiy almashish sxemasi в Shamirning maxfiy almashish sxemasi:

Shamirning maxfiy almashish sxemasi

Cheklangan imkoniyatlar bilan Shamirning maxfiy almashish sxemasi qiymatlarni tanlash va tekshirish qanchalik oson ekanligi ayon bo'ladi Shamirning maxfiy almashish sxemasi. Bu erda faqat beshta variant mavjud.

Xavfli tamsayı arifmetikasi bilan muammoni yechish

Ushbu zaiflikni bartaraf qilish uchun Shamir modulli arifmetikadan foydalanishni taklif qiladi Shamirning maxfiy almashish sxemasi haqida Shamirning maxfiy almashish sxemasiqayerda Shamirning maxfiy almashish sxemasi и Shamirning maxfiy almashish sxemasi — barcha tub sonlar toʻplami.

Keling, modulli arifmetika qanday ishlashini tezda eslaylik. Qo'llar bilan soat - bu tanish tushuncha. U soatdan foydalanadi Shamirning maxfiy almashish sxemasi. Soat yelkasi o'n ikkiga o'tishi bilan yana birga qaytadi. Ushbu tizimning qiziqarli xususiyati shundaki, biz soatga qarab, soat qo'li qancha aylanishni amalga oshirganligini aniqlay olmaymiz. Biroq, agar soat yelkasi 12 to'rt marta o'tganini bilsak, oddiy formuladan foydalanib o'tgan soatlar sonini to'liq aniqlashimiz mumkin. Shamirning maxfiy almashish sxemasiqayerda Shamirning maxfiy almashish sxemasi bizning bo'luvchimiz (bu erda Shamirning maxfiy almashish sxemasi), Shamirning maxfiy almashish sxemasi koeffitsient (bo'luvchi asl songa qoldiqsiz necha marta kiradi, bu erda Shamirning maxfiy almashish sxemasi), va Shamirning maxfiy almashish sxemasi qolgan qismi bo'lib, u odatda modul operator chaqiruvini qaytaradi (bu yerda Shamirning maxfiy almashish sxemasi). Ushbu qiymatlarning barchasini bilish bizga tenglamani echishga imkon beradi Shamirning maxfiy almashish sxemasi, lekin agar biz koeffitsientni o'tkazib yuborsak, biz hech qachon asl qiymatini tiklay olmaymiz.

Bu bizning sxemamiz xavfsizligini qanday yaxshilashini sxemani avvalgi misolimizga qo'llash va foydalanish orqali ko'rsatishimiz mumkin. Shamirning maxfiy almashish sxemasi. Bizning yangi polinom funksiyamiz Shamirning maxfiy almashish sxemasi, va yangi nuqtalar Shamirning maxfiy almashish sxemasi. Endi asosiy saqlovchilar funktsiyamizni qayta qurish uchun yana bir bor polinom interpolyatsiyasidan foydalanishlari mumkin, faqat bu safar qo'shish va ko'paytirish operatsiyalari modullarni qisqartirish bilan birga bo'lishi kerak. Shamirning maxfiy almashish sxemasi (masalan Shamirning maxfiy almashish sxemasi).

Ushbu yangi misoldan foydalanib, tajovuzkor ushbu yangi nuqtalardan ikkitasini bilib oldi deb faraz qilaylik, Shamirning maxfiy almashish sxemasi, va ommaviy axborot Shamirning maxfiy almashish sxemasi. Bu safar tajovuzkor o'zida mavjud bo'lgan barcha ma'lumotlarga asoslanib, quyidagi funktsiyalarni chiqaradi, bu erda Shamirning maxfiy almashish sxemasi - barcha musbat sonlar to'plami, va Shamirning maxfiy almashish sxemasi modul koeffitsientini ifodalaydi Shamirning maxfiy almashish sxemasi.

Shamirning maxfiy almashish sxemasi

Endi bizning hujumchimiz yana topadi Shamirning maxfiy almashish sxemasi, hisoblash Shamirning maxfiy almashish sxemasi:

Shamirning maxfiy almashish sxemasi

Keyin yana urinib ko'radi Shamirning maxfiy almashish sxemasialmashtirish Shamirning maxfiy almashish sxemasi в Shamirning maxfiy almashish sxemasi:

Shamirning maxfiy almashish sxemasi

Bu safar u jiddiy muammoga duch keldi. Formulada qiymatlar yetishmayapti Shamirning maxfiy almashish sxemasi, Shamirning maxfiy almashish sxemasi и Shamirning maxfiy almashish sxemasi. Ushbu o'zgaruvchilarning cheksiz sonli birikmalari mavjud bo'lgani uchun u qo'shimcha ma'lumot ololmaydi.

Xavfsizlik masalalari

Shamirning maxfiy almashish sxemasi taklif qiladi axborot nazariyasi nuqtai nazaridan xavfsizlik. Bu shuni anglatadiki, matematika hatto cheksiz hisoblash kuchiga ega bo'lgan hujumchiga ham chidamli. Biroq, sxema hali ham bir nechta ma'lum muammolarni o'z ichiga oladi.

Misol uchun, Shamirning sxemasi yaratmaydi tekshirilishi kerak bo'lgan qismlar, ya'ni odamlar soxta bo'laklarni erkin taqdim etishi va to'g'ri sirni tiklashga xalaqit berishi mumkin. Etarli ma'lumotga ega bo'lgan dushman parcha saqlovchisi hatto o'zgartirish orqali boshqa fragmentni ishlab chiqarishi mumkin Shamirning maxfiy almashish sxemasi o'z xohishingizga ko'ra. Ushbu muammo yordamida hal qilinadi tasdiqlanadigan maxfiy almashish sxemalari, masalan, Feldman sxemasi.

Yana bir muammo shundaki, har qanday bo'lakning uzunligi mos keladigan sirning uzunligiga teng, shuning uchun sirning uzunligini aniqlash oson. Bu muammoni arzimas narsa bilan hal qilish mumkin to'ldirish belgilangan uzunlikka qadar o'zboshimchalik raqamlar bilan sir.

Va nihoyat, shuni ta'kidlash kerakki, bizning xavfsizlik muammolarimiz dizaynning o'zidan tashqariga chiqishi mumkin. Haqiqiy kriptografik ilovalar uchun ko'pincha tajovuzkor dasturni bajarish vaqti, keshlash, ishdan chiqish va hokazolardan foydali ma'lumotlarni olishga harakat qiladigan yon kanal hujumlari xavfi mavjud. Agar bu tashvish tug'dirsa, ishlab chiqish jarayonida funktsiyalar va doimiy qidiruvlar, xotiraning diskda saqlanishiga yo'l qo'ymaslik kabi himoya choralarini qo'llash va ushbu maqola doirasidan tashqarida bo'lgan bir qator boshqa fikrlarni diqqat bilan ko'rib chiqish kerak.

Namoyish

ning Ushbu sahifa Shamirning sir almashish sxemasining interaktiv namoyishi mavjud. Kutubxonaga asoslangan ko'rgazma ssss-js, bu o'zi mashhur dasturning JavaScript portidir ssss. Katta qiymatlarni hisoblashni unutmang Shamirning maxfiy almashish sxemasi, Shamirning maxfiy almashish sxemasi и Shamirning maxfiy almashish sxemasi biroz vaqt talab qilishi mumkin.

Manba: www.habr.com

a Izoh qo'shish