Abstrakt. I detta arbete introducerar vi engångsprogram, ett nytt beräkningsparadigm inriktat på säkerhetsapplikationer. Ett engångsprogram kan utföras på en enda ingång, vars värde kan anges vid körning. Annat än resultatet av beräkningen på denna ingång, ingenting annat om programmet läcker. Därför är ett engångsprogram som en svart låda funktion som kan utvärderas en gång och sedan "självförstörelse". Detta sträcker sig också till k-time program, som är som svart box funktioner som kan utvärderas k gånger och sedan självförstörelse. Engångsprogram tjänar många av samma syften med program obfuscation, den uppenbara är programvaruskydd, men också inklusive applikationer såsom tillfällig överföring av kryptografisk förmåga. Dessutom, program av engångsprogram går långt utöver de av obfuscation, eftersom engångsprogram bara kan köras en gång (eller mer allmänt, ett begränsat antal gånger) medan obfuscated program har inga sådana gränser. Till exempel, en gång program leder naturligt till elektroniska pengar eller symboliska system: mynt genereras av ett program som bara kan köras en gång, och därmed inte kan dubbla spenderas. Viktigast är att det nya paradigmet för engångsdatorer öppnar nya vägar för konceptuell forskning. I detta arbete utforskar vi en sådan väg och presenterar det nya begreppet "engångsbevis", bevis som bara kan verifieras en gång och sedan bli värdelösa och oövertygade. Alla dessa uppgifter är klart omöjligt att använda programvara ensam, eftersom någon del av programvara kan kopieras och köras igen, vilket gör det möjligt för användaren att köra programmet på mer än en inmatning. Alla våra lösningar använder en säker minnesenhet, inspirerad av den kryptografiska uppfattningen om interaktiva oöverträffade överföringsprotokoll, som lagrar två hemliga nycklar (k0, k1). Enheten tar som indata en enda bit b  till {0, 1}, utgångar k b, och sedan självdestruktioner. Med hjälp av sådana enheter visar vi att alla standardprogram (Turing Machine) för varje ingångslängd effektivt kan sammanställas till ett funktionellt likvärdigt engångsprogram. Vi visar också hur denna minnesenhet kan användas för att konstruera engångsproofer. Specifikt, Vi visar hur man använder denna enhet för att effektivt konvertera ett klassiskt vittne för någon N P uttalande, till "en gång bevis" för detta uttalande.
I det senaste arbetet, Goldwasser et al. har myntat villkoren en gång program och n-time program för att hänvisa till allmänna program som bara kan köras ett begränsat antal gånger REF.
One-time programs
{'venue': 'In Advances in Cryptology – CRYPTO ’08', 'journal': None, 'mag_field_of_study': ['Computer Science']}