ANDOS ( All or Nothing Disclosure Of Secrets ) är ett kryptografiskt protokoll för "hemlig försäljning av hemligheter" . Låt säljaren av S hemligheter ha en lista med frågor och lägg ut svaren på någon av dem till försäljning. Antag att köpare B vill köpa en hemlighet, men inte vill avslöja vilken. Protokollet garanterar att B kommer att få hemligheten den behöver och inget annat, medan S inte vet exakt vilken hemlighet B fick .
Låt hemligheterna som S besitter , var och en av dem innehåller lite. För varje S publicerar en beskrivning av hemligheten. Antag att köpare B och C vill köpa hemligheter respektive . Tanken är att köparna har individuella envägsfunktioner och var och en av dem opererar på de nummer som den andra får.
Steg 1. S ger B och C individuella envägsfunktioner f och g , men behåller sina inverser för sig själv. Steg 2. B berättar för C (respektive C - B ) slumpmässiga bitar (respektive ).För , som mappar -bitnummer till -bittal och -bitnummer , säg att indexet är det fasta bitindexet (FBI) som motsvarar paret om den -th biten i är lika med -th biten i . Det är tydligt att det finns en IFB som motsvarar paret om det är en IFB som motsvarar paret . Om den beter sig ganska slumpmässigt när man byter bitar i (som bra kryptografiska funktioner) så kan man för random grovt uppskatta att ungefär indexen är IFBs motsvarande
Steg 3. B berättar för C (respektive C - B ) uppsättningen IFB- index som motsvarar respektive uppsättning IFB- index motsvarande Steg 4. B (respektive C ) berättar S -tal (respektive , var är resultatet som erhålls genom att ersätta varje bit i , vars index inte är IFB , med dess motsats (respektive erhållen från på ett liknande sätt). Steg 5. S berättar B (respektive C ) nummer respektive . _ Steg 6. B (respektive C ) kan beräkna (respektive ) eftersom de är kända resp.B och C lärde sig hemligheterna de behövde. S fick inte veta något om deras val. Dessutom lärde sig varken B eller C mer än en av varandras hemligheter eller val. En maskopi mellan B och C resulterar i att de kan lära sig alla hemligheter. Samverkan mellan S och en av köparna kan avslöja vilken hemlighet den andra köparen vill ha.
Så huvudproblemet är maskopi. Men om det finns minst tre köpare, räcker det med en ärlig köpare för att göra det omöjligt att lura resten, tack vare användningen av kryptografiska funktioner, eftersom varje bit av sekvensen som skickas till köpare från S är starkt beroende av bitarna tillhandahålls av den ärliga köparen.
I de fall där det finns ett antal köpare fungerar protokollet på exakt samma sätt, men varje köpare får en funktion från säljaren tillsammans med uppsättningar av nummer från andra köpare.
.
Om C vill köpa hemligheten beräknar den det bitvisa tillägget av det andra numret som tas emot från S , nämligen:.