Mignotte-malli on kynnyksen salainen jakamismalli , joka on rakennettu alkulukujen avulla . Mahdollistaa salaisuuden (numeron) jakamisen osapuolten kesken siten, että kuka tahansa osallistuja voi palauttaa sen, mutta osallistujat eivät voi palauttaa salaisuutta. Kaava perustuu Kiinan jäännöslauseeseen .
Ranskalainen tiedemies Maurice Mignotte ehdotti järjestelmää ensimmäisen kerran vuonna 1982 yhdeksi vaihtoehdoksi Adi Shamirin kuvaaman kynnysjärjestelmän käyttämiselle . Shamir itse ehdotti ratkaisua käyttämällä polynomiinterpolaatiota äärellisessä kentässä, jossa salaisuus oli itse polynomi. Mignotte puolestaan pystyi tarjoamaan yksinkertaisemman ratkaisun, joka perustuu modulaariseen lähestymistapaan - tietty luku on salaisuus ja sen jäännös modulo tietty luku on osittainen salaisuus. Mignotten muokattu kaava on Asmuth-Bloom -kaavio . Molemmissa skeemoissa salaisuuden palauttamiseen käytetään kiinalaista jäännöslausetta, jonka muotoilu määrittelee ainutlaatuisen ratkaisun (salaisuuden) [1] .
Kaava perustuu kiinalaisen jäännöslauseen käyttöön, jonka avulla käyttäjät, joilla on osa salaisuudesta, voivat palauttaa itse salaisuuden ja ainutlaatuisella tavalla. Lauseen on olemassa useita versioita, sanotaan seuraavaksi yleiseksi: Olkoon . Sitten yhtälöjärjestelmä
on ratkaisuja jos ja vain jos . Lisäksi, jos pelkistetyssä järjestelmässä on ratkaisuja , sillä on ainutlaatuinen ratkaisu in määrittää pienimmän yhteisen kerrannaisen . Jos , Kiinan jäännöslausetta kutsutaan standardiksi [2] .
Oletetaan, että on n käyttäjää numeroituina välillä - ja joukko ryhmiä , joissa ovat kaikki ryhmän aliryhmät . Itse asiassa salainen jakamisjärjestelmä on tapa luoda salaisuuksia siten, että:
kutsumme pääsyrakennetta - salaisuudeksi ja - varjoiksi . Kutsutaan elementtijoukkoja valtuutusryhmistä . Ihanteellisessa salaisuuden jakamisjärjestelmässä minkään sellaisen ryhmän varjo, joka ei ole valtuutusryhmä, ei anna (informaatioteorian kannalta) tietoa salaisuudesta. On todistettu, että missä tahansa ihanteellisessa salaisuuden jakamisjärjestelmässä jokaisen varjon koon ei tulisi olla pienempi kuin itse salaisuuden koko. Luonnollinen edellytys on, että pääsyrakenteen tulee olla monotoninen, eli: . Kaikki käyttöoikeusrakenteet on kuvattu hyvin käyttämällä valtuutusryhmien vähimmäisjoukkoa: . Voit myös kuvata käyttöoikeusrakenteen, jolla ei ole valtuutusominaisuuksia: . Sitä kuvaa hyvin "ei-valtuutettujen" ryhmien enimmäismäärä:
Ensimmäisissä salaisissa jakamisjärjestelmissä vain osallistujien määrällä oli merkitystä salaisuuden palauttamisessa. Tällaisia järjestelmiä on kutsuttu kynnyksen salaisiksi jakamisjärjestelmiksi. Olkoon , silloin pääsyrakennetta kutsutaan -kynnyspääsyrakenteeksi.
On myös syytä harkita, että -kynnyskäyttörakenteissa:
.
Kaikkia salaisuuden jakamismenetelmiä kutsutaan myös kynnysarvosalaisuuden jakamisjärjestelmiksi [1] .
Mignotten kynnyksen salainen jakamisjärjestelmä käyttää erityisiä numerosarjoja, joita kutsutaan Mignotte-sekvensseiksi. Antaa olla kokonaisluku, , ja . -Mignotte-sekvenssi on positiivisten koprime -jonojen sarja siten, että viimeinen lause vastaa myös seuraavaa: [1]
Kun otetaan huomioon Mignotte-julkinen avain, järjestelmä toimii seuraavasti:
Salaisuus on ratkaisu yllä olevaan järjestelmään, lisäksi se on sisällä , koska . Toisaalta, kun on vain erilaisia varjoja , voimme sanoa, että missä on ainoa ratkaisu alkuperäisen järjestelmän moduloimiseksi (tässä tapauksessa: . [1] Hyväksyttävän turvallisuustason saavuttamiseksi Mignotte-sekvenssit, joilla on suuri arvo [ 3 ] Ilmeisesti Mignotte-skeemalla ei ole merkittävää kryptografista vahvuutta , mutta se voi olla hyödyllinen sovelluksissa, joissa varjojen tiiviys on ratkaiseva tekijä.
Oletetaan, että haluat jakaa salaisuuden käyttäjien kesken, jotta kuka tahansa voi palauttaa sen.
.
Kiinan jäännöslauseen muotoilusta tiedämme, että ratkaisu on ainutlaatuinen.
Tietyssä kynnyskaaviossa sekvenssin elementit eivät välttämättä ole koprime. Antaa olla kokonaisluku, . Yleistetty Mignotte-sekvenssi on positiivisten kokonaislukujen sarja siten, että . On helppo nähdä, että mikä tahansa Mignotte -sekvenssi on yleistetty Mignotte -sekvenssi. Lisäksi, jos kerromme jokaisen yleistetyn sekvenssin elementin kiinteällä elementillä , saadaan myös yleistetty Mignotte -sekvenssi. Laajennettu Mignotte-skeema toimii samalla tavalla kuin tavallinen ja ja . Tässä tapauksessa salaisuuden löytämiseksi on käytettävä yleistettyä versiota kiinalaisesta jäännöslauseesta. [neljä]
Kaavaa voidaan soveltaa myös painotetun salaisen jakamisjärjestelmän toteuttamiseen. Tasapainojärjestelmissä, joka on klassinen Mignotte-skeema, jokainen osallistuja saa samanarvoisen varjon. Kaavaa voidaan kuitenkin muokata niin, että osallistujat, joilla on suurempi varjopaino, tarvitsevat vähemmän muita varjoja kuin osallistujat, joilla on pienempi varjopaino.
Olkoon salaisuus, missä ovat käyttäjän varjojen painot. Luodaan Mignotte -sekvenssi, jossa . Sitten , Missä on mielivaltainen osio asettaa sellainen, että
Voit nähdä, että varjon koon ja painon välillä on yksi yhteen vastaavuus: esimerkiksi bitti on varjo, jonka paino on 1, varjo painolla painaa bittejä. Mignotte-mallin toteuttaminen painotetulla salaisen jakamisen kanssa ei ole tarkoituksenmukaista, koska Mignotte-sekvenssin ja painotetun pääsykynnysrakenteen generointi on työ- ja resurssiintensiivinen tehtävä. On olemassa yksinkertaisempia ja tehokkaampia painotettuja salaisia jakamisjärjestelmiä, jotka myös poistavat riippuvuuden varjon painon ja koon välillä. [5]
ja laske S käyttämällä Kiinan jäännöslausetta. Koska koko on bittiä, modulotuotteen koko koostuu vähintään :sta, voidaan nähdä, että vaikka . Tämä mahdollistaa salaisuuden laskemisen ainutlaatuisella tavalla. Osuuksien painojen summan ehtoa voidaan heikentää arvoon , niin jos pituus on vähintään , joten on tarpeen rajoittaa biteihin . Jos tämä ei ole mahdollista, voit tallentaa piirin ottamalla käyttöön lisäelementin, jonka moduuli on pienin alkuluku bittejä, elementin murto-osa on . Tätä elementtiä voidaan käyttää lisäyhtälönä yllä olevassa järjestelmässä, jolloin salaisuus voidaan palauttaa ainutlaatuisella tavalla. Tässä kaaviossa eliminoidaan yksi painotetun salaisuuden jakamisen tavanomaisen järjestelmän päähaitoista - mikä tahansa osuus voidaan kuvata pisteellä , eikä tällä pisteellä ole suhdetta oman painonsa ja koonsa välillä.
Tätä mallia voidaan myös muokata toimimaan useiden salaisuuksien kanssa. Oletetaan, että sinun täytyy jakaa salaisuuksia , jokainen salaisuus koostuu palasista. Lisätään salaisuudet yhteen, jolloin saadaan yksi pieni salaisuus. Kolme tapausta on otettava huomioon:
Merkittävä osa piirin suoritusajasta kuluu Mignotte-sekvenssien ja koprime-moduulien generointiin. Oletetaan, että on osakkeita , joiden painot vastaavasti. Osakkeiden kokonaispaino on , salaisuuden paljastamiseen vaadittava paino - , numerobittien koko .
Siten Mignotte-sekvenssin luomisen kokonaismonimutkaisuus on .
Piirillä ei ole hyvää suorituskykyä, koska sitä on mahdollista muokata ja siten päästä eroon tarpeesta generoida Mignotte-sekvenssejä. Kaaviot esittävät Mignotte-skeemaan perustuvan järjestelmän suorituskyvyn analyysin tulokset salaisuuden ja itse järjestelmän painotetulla erolla. Graafin rakentamiseksi valittiin -kynnyskaavio, jossa oli yksi salaisuus, ja sen mukaisesti [5] .
Hyökkääjien käyttäytymistä kynnysjärjestelmissä kuvaavat kaksi mallia: CDV-malli, jossa hyökkääjät tietävät salaisuuden ja yrittävät lähettää vääriä tietoja muille osallistujille, ja OKS-malli, jossa hyökkääjät eivät tiedä salaisuutta. etukäteen. Tavallisessa Mignotte-mallissa yksi hyökkääjä voi aina pettää käyttäjiä CDV-mallissa ja suurella todennäköisyydellä OKS-mallissa. Oletetaan, että osallistujat jakavat salaisuuden ja käyttäjä päättää huijata. Siksi sen on muutettava varjonsa niin , että . Anna . Kiinan jäännöslauseen avulla saamme , eli esitämme sen muodossa . Koska Mignotte-sekvenssi tunnetaan, voimme löytää . Voit valita missä
CDV-mallissa hyökkääjä tietää salaisuuden, joten käyttämällä ilmaisua hän voi varmistaa, että (kuva 1) olemassaolo on taattu, jos osallistujat eivät pysty määrittämään salaisuutta. Siksi hyökkääjä voi huijata järjestelmän osallistujia todennäköisyydellä 1. Lisäksi tässä mallissa hyökkääjä voi hallita arvoa laskemalla suoraan : sta , jossa
OKS-mallissa, koska hyökkääjä ei tiedä salaisuutta, hän ei voi tarkistaa epätasa-arvojen ja . Siinä tapauksessa hän voi aina käyttää . Ainoa vaihtoehto, jossa petos voidaan paljastaa, on mistä (Kuva 2) tai (Kuva 3). Siksi onnistuneen petoksen todennäköisyys on [7]
Anna . Sitten salaisuudelle luodaan varjot . Oletetaan, että jäsenet 1,2,3 ovat yhdistäneet panoksensa ja jäsen 1 haluaa huijata. Sitten hän laskee ja muuttaa osuutensa siten, että . Tässä tapauksessa yhtälöjärjestelmän ratkaisemisen jälkeen osallistujat palauttavat väärän salaisuuden , joka on myös välillä ja . Tämän avulla käyttäjä 1 voi saada todellisen salaisuuden: [7]
Voit välttää tällaisen petoksen seuraavasti: