ANDOS ( All or Nothing Disclosure Of Secrets ) on salausprotokolla "salaisuuksien salaiseen myyntiin" . Anna S - salaisuuksien myyjälle luettelo kysymyksistä ja laita myyntiin vastaukset mihin tahansa niistä. Oletetaan, että ostaja B haluaa ostaa salaisuuden, mutta ei halua paljastaa, mitä. Protokolla takaa, että B saa tarvitsemansa salaisuuden eikä mitään muuta, kun taas S ei tiedä tarkalleen, minkä salaisuuden B sai .
Olkoon S :n hallussa olevat salaisuudet , jokainen niistä sisältää vähän. Jokaiselle S julkaisee salaisuuden kuvauksen. Oletetaan, että ostajat B ja C haluavat ostaa salaisuuksia ja vastaavasti . Ajatuksena on, että ostajilla on yksilölliset yksisuuntaiset toiminnot ja jokainen niistä toimii toisen vastaanottamilla numeroilla.
Vaihe 1. S antaa B :lle ja C :lle yksittäiset yksisuuntaiset funktiot f ja g , mutta pitää niiden käänteisfunktiot itselleen. Vaihe 2. B kertoo C :lle (vastaavasti C - B ) satunnaiset bittiluvut (vastaavasti ).Jos , joka yhdistää -bittiluvut -bittisiin lukuihin ja -bitin numero , sano, että indeksi on Fixed Bit Index (FBI) , joka vastaa paria, jos -th bit in on yhtä suuri kuin -th bit in . On selvää, että paria vastaava IFB on, jos se on paria vastaava IFB . Jos se käyttäytyy melko satunnaisesti bittejä vaihtaessaan (kuten hyvät salaustoiminnot), niin satunnaiselle voidaan karkeasti arvioida, että suunnilleen indeksit ovat IFB:itä, jotka vastaavat
Vaihe 3. B kertoo C :lle (vastaavasti C - B ) IFB- indeksien joukon, joka vastaa vastaavasti IFB- indeksien joukkoa, joka vastaa Vaihe 4. B (vastaavasti C ) kertoo S numeroa (vastaavasti , missä on tulos, joka saadaan korvaamalla jokainen bitti kohdassa , jonka indeksi ei ole IFB , sen vastineella (vastaavasti saatu vastaavalla tavalla). Vaihe 5. S kertoo B (vastaavasti C ) numerot vastaavasti , . Vaihe 6. B (vastaavasti C ) osaa laskea (vastaavasti ), koska ne tunnetaan vastaavastiB ja C oppivat tarvitsemansa salaisuudet. S ei oppinut valinnastaan mitään. Myöskään B ja C eivät oppineet enempää kuin yhtä toistensa salaisuuksista tai valinnoista. B :n ja C :n välinen salaliitto johtaa siihen, että he voivat oppia kaikki salaisuudet. S :n ja yhden ostajan välinen salaliitto voi paljastaa, minkä salaisuuden toinen ostaja haluaa.
Suurin ongelma on siis salaliitto. Jos ostajia on kuitenkin vähintään kolme, niin yksi rehellinen ostaja riittää, jotta muiden huijaaminen on mahdotonta salaustoimintojen käytön ansiosta, koska jokainen S :ltä ostajille lähetettävä sekvenssin bitti on erittäin riippuvainen biteistä. rehellisen ostajan tarjoama.
Jos ostajia on useita , protokolla toimii täsmälleen samalla tavalla, mutta jokainen ostaja saa myyjältä toiminnon sekä numerosarjat muilta ostajilta.
.
Jos C haluaa ostaa salaisuuden , se laskee S : ltä saadun 2. luvun bittikohtaisen lisäyksen , nimittäin:.