Informationclienthold

clienthold  时间:2021-01-17  阅读:()
HowtoGarbleRAMPrograms3SteveLu1andRafailOstrovsky21StealthSoftwareTechnologies,Inc.
steve@stealthsoftwareinc.
com2DepartmentofComputerScienceandDepartmentofMathematics,UCLA.
WorkdonewhileconsultingforStealthSoftwareTechnologies,Inc.
rafail@cs.
ucla.
edu3PatentPendingAbstract.
Assumingsolelytheexistenceofone-wayfunctions,weshowhowtoconstructGarbledRAMPrograms(GRAM)whereitssizeonlydependsonxedpolynomialinthesecurityparametertimestheprogramrunningtime.
WestressthatweavoidconvertingtheRAMprogramsintocircuits.
Asanexample,ourtechniquesimpliestherstgarbledbinarysearchprogram(searchingoversortedencrypteddatastoredinacloud)whichispoly-logarithmicinthedatasizeinsteadoflinear.
Ourresultrequirestheexistenceofone-wayfunctionandenjoysthesamenon-interactivepropertiesasYao'soriginalgarbledcircuits.
Keywords:SecureComputation,ObliviousRAM,GarbledCircuits.
21IntroductionOftentimes,suchasincloudcomputation,onepartywantstostoresomedataremotelyandthenhavetheremoteserverperformcomputationsonthatdata.
Iftheclientdoesnotwishtorevealthisdataorthenatureofthecomputationandtheresultsofthecomputa-tiontotheremoteserver,thenonemustresorttousingsecurecomputationmethodsinordertoprocessthisremotelystoreddata.
Inotherwords,supposetwopartieswanttocomputesomeprogramπontheirprivateinputswithoutrevealingtoeachother(orjustoneparty)anythingbuttheoutput.
Theearliestresearchinsecuretwo-partycomputa-tionmodeledπasacircuitandwasaccomplishedunderYao'sGarbledCircuits[33]ortheGoldreich-Micali-Wigderson[10]paradigm.
Bothoftheseapproachesrequiretheprogramπtobeconvertedtoacircuit.
Eventherecentworkofperformingsecurecomputationviafullyhomomorphicencryptionrequiresrepresentingtheprogramπasacircuit.
However,manyalgorithmsaremorenaturallyandcompactlyrepresentedasRAMprograms,andconvertingtheseintocircuitsmayleadtoahugeblowupinprogramsizeanditsrunningtime.
Ofcourse,thereareknownpolynomialtransformationsbetweentime-boundedRAMprograms,time-boundedTuringMachinesandcircuits[8,27]:GivenaT-timeRAMprogram,[8]showshowonecantransformitintoaO(T3)-timeTM,and[27]showshowtotransformaT-timeTMintocircuitsofsizeO(TlogT),whichresultsinaO(T3logT)blowup.
OurworkaimsatcircumventingthesetransformationcostsandexecutingRAMprogramsdirectlyinaprivatemanner,whileretainingthesamenonin-teractivepropertiesasYao'sGarbledcircuits.
Thisgoalisespeciallyimportantforthecaseofcomplexreal-worldRAMprogramswithrunningtimethatismuchlargerthantheinputsize.
UnrollingthesecomplicatedRAMprogramswithmultipleexecutionpaths,recursion,multipleloops,etc.
intoacircuitmakesthecircuitsizepolynomiallylargerandoftenprohibitive.
Itshouldbenotedthatourworkisalsoimportantinpracticalapplicationswherethesizesoftheinputsarevastlydifferent,suchasdatabasesearch,orwheremulti-plequeriesagainstthesamelargedata-setmustbeexecuted.
WhencompilingaRAMprogramintoacircuit,thecompiledcircuitmustinherentlybeabletocomputeallexe-cutionpathsoftheRAMprogram.
Thus,thecircuititselfmustbeatleastbeaslargeastheinputsize,whichinsomeapplicationsmaybeisexponentiallylargerthanexecutionpathoftheinsecuresolution(e.
g.
considerabinarysearch).
Onecanarguethatevenifthecircuitislarge,wecan"charge"thelargecircuitcosttothelargeinputsize,butinmanycasesthisisunacceptable:considerthecasewherealargedataisencryptedanduploadedoff-line,suchasalargedatabase,andmultipleencryptedqueriesaremadeon-line,wheretheinsecureexecutionpathis,forexample,poly-logarithmicinthedatabasesizeandwedonotwantto"pay"anon-linecostofcircuitsizewhichislinearinthedatabasesize.
AnalternativeapproachforsecureconversionofRAMprogramsintocircuitsisdy-namicevaluation:eveniftheresultingcircuitislargeandthetotalsizeoftheisresultingcircuitisprohibitive,onecanexecuteandevencompilethelargecircuitdynamicallyandintelligentlyevaluateonlypartsofthecircuitsoasto"pruneoff"deadpaths(e.
g.
short-circuitingtechniques)tomaketheevaluationefcient,eveninthecaseoflargein-puts.
However,untilnowitwasnotknownhowtoconvertRAMprogramsintocircuits3whichresultinanefcientsecurenon-interactiveexecutioninawaythatdoesnotre-vealtheexecutionpathofthecompiledRAMprogram.
Naturally,usinginteraction,onecanusetheGoldreich-Micali-Wigderson[10]paradigmalongwithrevealingbitsalongthewaytohelppruneanddetermineexecutionpath–howeverourultimategoalistoexplorethenon-interactivegarblingsolutionsforRAMprogramswithoutrevealingtheexecutionpath.
AnotheralternativemethodforcomputingRAMprogramswithoutrstconvert-ingthemtocircuitswasproposedbyOstrovskyandShoup[25]whichusedObliviousRAM[11]asabuildingblock.
TheOstrovsky-ShoupcompilerallowspartiestoexecuteObliviousRAMprogramsdirectly,i.
e.
,withoutrstunrollingitintoacircuit,whichprovidedanalternativeapproachtosecureRAMcomputation.
ThemethodwasfurtherimprovedbyGordonetal.
[16]inordertoperformsublinearamortizeddatabasesearch.
LuandOstrovsky[21]consideredtwo-serverObliviousRAMinsidetheOstrovsky-Shoupcompiler,whichledtologarithmicoverheadinboththecomputationandthecommunicationcomplexity.
NotethatthesethreeworksallowsecureRAMevaluationwithouthavingtounrolltheprogramintoacircuitandrepresentadifferentwaytoperformsecurecomputationthatrevealsonlytheprogramrunningtime.
Amongthese,[21]isthebestresultforprograms(insteadofcircuits)intermsofcomputationcom-plexityandcommunicationcomplexity.
However,intermsofroundcomplexity,thesepapersleavemuchtobedesired:theyallrequireatleastoneroundforeachCPUcom-putationstep,evenusingtheso-callednon-interactiveRAMsolutionof[31],whichreduceseachread/writetooneroundbetweentheclientandtheserver.
Sincetherun-ningtimeofCPUisatleasttstepsforprogramsthatrunintimet,thisleadsto(t)roundcomplexity.
Incontrast,inthispaper,weshowhowtoretainpoly-logoverheadincommunicationandcomputation,andmaketheentirecomputationnon-interactiveintheOT-hybridmodel,justlikeYao.
1.
1TheBlueprintforRAMProgramGarblingWedescribeourapproachatahighlevel:westartwithanORAMcompiler(withcertainpropertieswhichwewilldescribelater)thattakesaprogramandconvertsitintoanobliviousone.
Wecallthisnewprogramthe"ORAMCPU"becauseitcanbethoughtofasaclientrunningaCPUthatperformsalocalcomputationfollowedbyreadingorwritingsomethingontheremoteserver.
Asaconceptualsegue,considerthefollowingchange:insteadoftheORAMCPUlocallyperformingitscomputation,itcreatesagarbledcircuitrepresentingthatcomputation,andalsogarblesalltheinputsforthatcomputation(theinputsarejusttheclientstateandthelastfetcheditem,possiblywithsomerandomness)andsendsittotheserverwhothenevaluatesthecircuit.
Theoutputofthiscomputationisjustthenextstateandthenextread/writequery,andtheserverpreformstheread/writequerylocally,andsendsbacktheresultoftheread/writequeryalongwiththestatetotheORAMCPU.
Weemphasizethatthisisjustaconceptualintermediatestep,sincethisstepdoesnotactuallygiveusanysavingsandpossiblyinterfereswiththesecurityoftheORAMCPUbyhavingitsstaterevealedtotheserver.
Next,wechangewheretheORAMCPUstateisstored:insteadoflettingtheclientholdit,itisstoredontheserveringarbledformat.
Thatistosay,thegarbledcircuitthattheclientsendstotheservernowoutputsagarbledstateinsteadofaregularstate,4whichcanthenbeusedasinputforthenextORAMCPUstep.
AslongasthegarbledcircuitforthenextCPUstepusesthesameinputencodingastheonegeneratedbyourcurrentCPUstep,thentheclientdoesnotneedtointeractwiththeserver.
However,thegarbledCPUalsoperformsread/writeoperationsintoORAMmemorythatneedtobecarefullyinterleavedwithourcomputations.
Weneedtodescribehowthisisdonenext.
LetussupposethattheORAMcompilerhadthepropertythattheORAMCPUknowsexactlywhenthecontentsofamemorylocationthatitwantstoreadnextwaslastwrittento(whichisthecaseformanyORAMschemes).
Weattempttoperformthesamestrategyaswedidwithgarblingthestate:whenevertheORAMCPUwantstowritesomethingtomemory.
WestorememorybitsasYao'sgarbledkeys,basedontheactuallocation,andthetimelastwritten.
Thus,thebitstoredinsomeparticularlocationhasoneofthetwogarbledkeys.
However,thisdoesnotimmediatelywork,becauseifeachmemorylocationusesadifferentencoding,theCPUcircuitdoesnotknowwhichencodingtousewhenreadingatsomefuturetime.
Inordertoresolvethis,weconstructacircuitthatassistswiththistransition:thecircuittakesasinputatimestepandmemorylocationcomputes(inagarbledform)twopossibleencodingsfor0/1encodedinthislocationandoutputsagarbledcircuitencodedforthattimestepto"translate"keysstoredinmemorytokeysneededbytheCPU.
Sincethiscircuitdoesnotrequiretheknowledgeofthememorylocationaheadoftime,theclientcangenerateasmanyoftheseasneededatthestartofthecomputation.
Indeed,iftheORAMprogramrunsintsteps,theclientcangeneratetofthesecircuits,garblethem,andsendthemalltotheserver,non-interactively.
NotethatweneedObliviousRAMwithpoly-logoverheadwheretheclientsizeisatmostsomexedpolynomialinthesecurityparametertimessomepoly-logfactorinn.
ThisisbecauseforeveryORAMfetchoperation,wealsoneedtoemulatetheclient'sinternalcomputationoftheObliviousRAMusinggarbledcircuit,whichincursamultiplicativeoverheadinthesizeandtherunningtimeoftheclient.
Thus,thesmallertheclientofObliviousRAM,themoreefcientoursolutionis:inordertoachievepoly-logoverhead,allObliviousRAMschemeswhereclientmemoryislargerthanpoly-logarithmic(e.
g.
[9,6])isnotusefulforourpurposes.
WeexpandontheintuitioninSection3.
1.
InSection3wegivethemainconstructionforgarbledRAMprograms.
Whencombinedwithoblivioustransfer,thisgivesaone-roundsecuretwo-partyRAMprogramcomputationinthesemi-honestmodel(whichcanbeextendedtomulti-partyusingtheBeaver-Micali-Rogawayparadigm[2]),whichwediscussinSection4.
Inthefullversion[20],wealsoshowhowtoconstructasingle-roundORAM.
1.
2RelatedWorkonSecureRAMComputation.
ObliviousRAMwasintroducedinthecontextofsoftwareprotectionbyGoldreichandOstrovsky[11].
IntheoriginalworkbyGoldreich[9],asolutionwasgivenwithO(√n)andcommunicationoverheadwherelookupscouldbedoneinasingleroundandO(2√lognloglogn)communicationoverheadforarecursivesolution.
Subsequently,Ostrovsky[23,24]gaveasolutionwithonlypoly-logoverheadandconstantclientmem-ory(theso-called"hierarchicalsolution").
SubsequenttoGoldreichandOstrovsky[23,24,9,11],worksonObliviousRAM(e.
g.
[31,32,26,13,14,28,15,18,29])lookedatimprovingtheconcreteandasymptotic5parametersofObliviousRAM.
ThenotionofPrivateInformationStorageintroducedbyOstrovskyandShoup[25]allowsforprivatestorageandretrievalofdata,andwasprimarilyconcentratedintheinformationtheoreticsetting.
ThismodeldiffersfromObliviousRAMinthesensethat,whilethecommunicationcomplexityoftheschemeissub-linear,theserverperformsalinearamountofworkonthedatabase.
TheworkofOstrovskyandShoup[25]givesamulti-serversolutiontothisprobleminboththecom-putationalandtheinformation-theoreticsettingandintroducestheOstrovsky-ShoupcompileroftransformingObliviousRAMintosecureRAMcomputation.
Thenotionofsingle-server"PIRWriting"wassubsequentlyformalizedinBoneh,Kushilevitz,Ostro-vskyandSkeith[5]wheretheyprovideasingle-serversolution.
Thecaseofamortized"PIRWriting"ofmultiplereadsandwriteswasconsideredin[7].
WithregardtosecurecomputationforRAMprograms,theimplicationsoftheOstrovsky-ShoupcompilerwasexploredintheworkofNaorandNissim[22]whichshowshowtoconvertRAMprogramsintoso-calledcircuitswith"lookuptables"(LUT).
TheOstrovsky-ShoupcompilerwasfurtherexploredintheworkofGordonetal.
[16]inthecaseofamortizedprograms.
Namely,consideraclientthatholdsasmallin-putx,andaserverthatholdsalargedatabaseD,andtheclientwishestorepeatedlyperformprivatequeriesf(x,D).
Inthismodel,anexpensiveinitialization(depend-ingonlyonD)isrstperformed.
Afterwards,iffcanbecomputedintimeTwithspaceSwithaRAMmachine,thenthereisasecuretwo-partyprotocolcomputingfintimeO(T)·polylog(S)withtheclientusingO(logS)spaceandtheserverusingO(S·polylog(S))space.
ThesecureRAMcomputationsolutionofLuandOstro-vsky[21]canbeviewedasageneralizationofthe[25]modelwhereserversmustalsoperformsublinearwork.
1.
3OurResultsInthispaper,weshowhowtogarbleanyRandomAccessMachine(RAM)Programπtthatrunsintimeupperboundedbytwhilekeepingallthenon-interactiveadvantagesoftheYao'sGarbledCircuitapproach.
Morespecically,wepresentaprogramgar-blingmethodwhichconsistsofatripleofpolynomial-timealgorithms(G,GI,GE).
GtakesasinputanyRAMprogramπithatincludesanupperboundtonitsrunningtimeandapseudorandomfunction(PRF)familyFandaseedsforPRFofsizek(ase-curityparameter)andoutputsagarbledprogramΠt=G(πt,t,F,s),whereallinputsarepolynomialinthesecurityparameter.
Justlikegabledcircuits,weprovideawaytogarbleanyinputxforπtintoGarbledInputX=GI(x,s),andanalgorithmtoeval-uateagarbledprogramongarbledinputsGE(Πt,t,X).
Thecorrectnessrequirementisthatforanyx,πt,F,sitholdsthatπt(x)=GE(G(πt,t,F,s),GI(x,s))withthesecurityguaranteethatnothingaboutxisrevealedexceptitsrunningtimet,expressedintermsofcomputationalindistinguishability(≈)betweenthesimulatorSimandgar-bledoutputs.
Sofar,theabovedescriptionmatchesYao'sgarbledcircuitdescription.
Thedifferenceisbothintherunningtimeandthesizeofgarbledprogramforournewgarblingmethod.
MainTheoremAssumeone-wayfunctionsexist,andletthesecurityparameterbekandletFbeaPRFfamilybasedontheone-wayfunction.
Then,thereexistsaProgram6Garblingtripleofpoly-timealgorithmsG,GI,GEsuchthatforanytanyπtandanyinputxoflengthnwehavethefollowing.
Correctness:x,πt,F,s:πt(x)=GE[G(πt,t,F,s),GI(x,s)].
Security:poly-timesimulatorSim,suchthatπ,t,x,s,where|s|=k,[G(πt,t,F,s),GI(x,s)]≈Sim1k,t,|x|,πt(x).
GarbledProgramSize:Thesizeofthegarbledprogram|G(πt,t,F,s)|=O((|π|+t)·kO(1)·polylog(n).
GarbledInputSize:Let|x|=nand|s|=k.
x,sthegarbledinputsize|GI(x,s)|=On·kO(1)·polylog(n).
Ourmainconstructionisagarbledprogrambasedonanyone-wayfunction(orablock-cipher),andistime-compactinthesensethatiftheoriginalprogramrunsinttimeandhassizen,ourgarbledRAMrunsinO(t·poly(k,logn)).
1.
4Remarks–Makingprogramsandoutputsprivate.
WenotethatsimilartoYao,wecanmakeπttobeatime-boundeduniversalprogramut,(i.
e.
,aninterpreter)andx=(πt,y)includebothtime-boundedprogramπtandinputy,sothatut(x)=πt(y).
Partofthespecicationofπtmayalsoincludemaskingitsoutput–i.
e.
tohaveoutputblinded(XORed)witharandomstring.
Thatallows,justlikeYao,tokeepboththeprogramandtheoutputhiddenfromamachinethatevaluatesthegarbledprogram.
Suchamodicationhasbeenutilizedintheliterature(see,e.
g.
[1]).
–Reactivefunctionalities.
Ourresultshowsthatwecanrstgarblealargeinputx,|x|=nwithgarbledinputsizeequaltoO(|x|·kO(1)·polylog(n))sothatlater,givenprivateprogramsπ1t1πjtj,.
.
.
forpolynomiallymanyprogramswhereprogramπjrunsintimetjandpotentiallymodiesx,(e.
g.
,databaseupdates)wecangarbleandexecutealloftheseprogramsjustrevealingrunningtimesti,andnothingelse.
ThesizeofeachgarbledprogramremainsO(|πi|+ti)·kO(1)·polylog(n)).
Itisalsoeasytohandlethecasewherethelengthofxchanges,pro-videdthatanupperboundbyhowmucheachprogramchangesthelengthofxisknownpriortogarblingofnextprogram.
–Cloudcomputing.
Asanexampleofthepowerofourresultweoutlinesecurecloudcomputation/delegation.
Inthissimpleapplicationonepartyhasaninputandwantstostoreitremotelyandthenrepeatedlyrundifferentprivateprogramsonthisdata.
Reactivefunctionalitiesallowustodothiswithoneimportantrestriction:wedonotgivetheserverachoiceinadaptivelyselectingtheinputs:butthisisnotanissueastheserveritselfhasnoinputstotheprogram.
Theotherpossibleproblemisiftheprogramsthemselvesarecontrivedandcircularlyreferencethecodeforthegarblingalgorithm.
Suchprogramswouldbehighlyunnaturaltorunondataandsowedisallowtheminoursetting.
–Two-partycomputation.
NotethatjustlikeinYao'sgarbledcircuits,inordertotransmitthegarbledinputscorrespondingtoinputbitsheldbyadifferentpartyforthesakeofsecuretwo-partycomputation,onereliesonObliviousTransfer(OT)thatcanbedonenon-interactivelyintheOT-hybridmodel.
Here,weinsistthattheOT-selectedinputstoourgarbledprogramarecommittedtopriortoreceivingtheRAMgarbledprogram,i.
e.
non-adaptively[3].
7–Optimizations.
WeremarkthatsteptwoofourblueprintisapplicabletoalmostallORAMschemeswithsmallCPUasfollows:insteadofcollapsinginthehierarchi-calObliviousRAMsmultipleroundsofasingleread/writetoasingleround,wecanimplementourstep2directlyforeachroundofeachread/write(e.
g.
eveninsideasingleread/writesimulationofObliviousRAMthatrequiresmultiplerounds)oftheunderlyingObliviousRAM:byimplementinganoraclecallforeachObliviousRAMCPUread/writeusingourmethodofcompilingmemoryfetch"onthey"intogarbledcircuits.
AnyObliviousRAMwheretheCPUcantellpreciselywhenanymemorylocationwasoverwrittenlastcanbecompliedusingourapproach.
(WecallsuchObliviousRAMs"predictivememory"RAMsandexplorethisfur-therinthefullversion.
)Forexample,thispropertyholdsfor[18]ORAM.
Italsoallowsagenericmethodto"collapse"allmulti-roundpredictivememoryObliviousRAMwithsmallCPUintoasingleround.
ObservethattheoverallcomplexityforgarblingprogramsdependsbothontheCPUcomplexityandtheORAMread/writecomplexity.
–TighterInputCompactness.
UsinganORAMschemethathassmallinputencod-ingandsmallsizeCPU(suchas[18])wecanalsomakeInputCompactnessinourmaintheoremtighter:forallprogramswecanmakegarbledinputstobeO(nk),whererecallthatnistheinputsizeandkisthesecurityparameter.
Weremarkthatifwewishtogarbleonly"large"programsthatruntimeatleast(n·logn·kO(1)),wecanmakeInputCompactnessevenbetterundertheassumptionthatonecanen-codeinputstogarbledcircuitstobeofsizeO(n+k)andhavethegarbledprogram"unpack"theinputstothefullO(nk)size.
SuchpackingtechniquesforhavebeenrecentlydevelopedforgarblingtheinputsofgarbledcircuitsbyIshaiandKushile-vitz[17].
–StrongerAdversarialmodels.
Asalreadymentionedwedescribetheschemeinthehonest-but-curiousmodelbasedonhonest-but-curiousYao,andonlyinthenon-adaptivelysecuresetting(see[3]forfurtherdiscussionofadaptivity.
)ThereisaplethoraofworksthatconvertYao'sgarbledcircuitsfromhonest-but-curioustomalicioussetting,aswellstrengtheningitssecurityinvarioussettings.
SinceourmachineryisbuildontopofYao'sgarbledcircuits(andObviousRAMsthatworkinthefullyadaptivesetting),manyofthesetechniquesforstrongerguaranteesforYao'sgarbledcircuitapplyinastraightforwardmannertooursettingaswell.
Wepostponedescriptionofmaliciousmodelstothefullversion.
2Preliminaries2.
1ObliviousRAMWeworkintheRAMmodelwithstoredprograms,wherethereisaCPUthatcanrunaprogramthatperformsasequenceofreadsorwritestolocationsstoredonalargememory.
Thismachine,whichwewillrefertoastheCPUortheclient,canbeviewedasastateful4processorwithonlyafewspecialdataregistersthatstoreprogramcounters,4Wecanconsiderastatelessversionwhereallregistersarestoredinmemory.
Foreaseofexposition,welettheclientholdlocalstate.
8querycounters,andcryptographickeys(primarilyaseedforaPRF)andthatCPUcanrunsmallprogramswhichmodelasingleCPUstep.
GiventheCPUstateΣandthemostrecentlyreadelementx,CPU(Σ,x)doessimpleoperationssuchasaddition,multiplication,updatingprogramcounter,orexecutingPRFfollowedbyproducingthenextread/writecommandaswellasupdatingtothenextstateΣ.
Becausewewishtohidethetypeofaccessperformedbytheclient,weunifybothtypesofaccessesintoaoperationknownasaquery.
Asequenceofnqueriescanbeviewedasalistof(memorylocation,data)pairs(v1,x1)vn,xn),alongwithasequenceofoperationsop1,opn,whereopiisaREADorWRITEoperation.
InthecaseofREADoperations,thecorrespondingxvalueisignored.
Thesequenceofqueries,includingboththememorylocationandthedata,performedbyaclientisknownastheaccesspattern.
Inourmodel,wewishtoobliviouslysimulatetheRAMmachinewithaclient,whichcanbeviewedashavinglimitedstorage,thathasaccesstoaserver.
However,theserverisuntrustedandassumedtomalicious.
AnobliviousRAMissecureiftheviewofaanymaliciousservercanbesimulatedinpoly-timeinawaythatisindistinguishablefromtheviewoftheserverduringarealexecution.
Forconcreteness,wefocusonsequenceofbuffersBk,Bk+1,BLofgeometricallyincreasingsizes.
Typicallyk=O(1)(therstbufferisofconstantsize)andL=logn(thelastbuffermaycontainallnelements),wherenisthetotalnumberofmemorylocations.
Thesebuffersarestandardbucketedhashtables,withbucketsofsizeb.
Wereferthereaderto[11]formoreinformation.
2.
2Yao'sGarbledCircuitsGarbledcircuitswereintroducedbyYao[33].
Aseriesofworkslookedatprovingthesecurityandformalizingthenotionsofgarbledcircuits,includingLindellandPinkas[19],andrecently,theworkofBellareetal.
[4].
Wereferthereadertothelatterworkformoredetails,andwebrieysummarizethekeyproperties.
Acircuitgarblingschemeweviewasatripleofalgorithms(G,GI,GE)whereG(1k,C)takesasinputasecurityparameterkandcircuitCandoutputssomegarbledcircuitΓandgarblingkeygsk.
GI(x,gsk)convertsaninputxandagskintoagarbledinputX,andGE(Γ,X)evaluatesagarbledcircuitonangarbledinput.
Werstmakeanobservationthatthelabels(keys)onagivenwireusedinagarbledcircuitcanbere-usedinadditionalnewlygeneratedgates,aslongasthevaluedoesnotchangebetweentheusesanditisnotrevealedwhetherthislabelrepresents0or1.
(Forexample,assumethatgarbledcircuitevaluatorisgivenalabelonsomeinputwire,whichisakeyrepresentinga0ora1.
Weclaimthatthesamekeycanbeusedasinputkeyforothergarbledcircuitsthataregeneratedlater.
)Thisobservationallowsustoexecutegarbledcircuitsin"parallel"or"sequentially"wheresomelabelsarere-used.
Indeed,thisobservationisimplicitlyusedinclassicgarbledcircuitsingateswherethefan-outisgreaterthan1:alloutgoingwiressharethesamelabels(seee.
g.
Footnote8inLindell-Pinkas[19]).
Lemma1.
SupposeCandCaretwocircuitsandsupposethereissomeinputxforwhichwewanttocomputeC(x)andC(x)(resp.
C(C(x))).
Supposethewiresw0,wn9inCrepresenttheinputwiresforxandsimilarlydenew0,wnrepresentthein-putwiresofxinC(resp.
v0,vnbetheoutputwiresofC).
Letkbwirepresentthelabelindicatingwirewi=b,andletCandCberandomlygarbledintoGC(C)andGC(C)undertherestrictionthatkbwi=kbwi(resp.
kbwi=kbvi).
Thenthetuple(GC(C),GC(C),{kxiwi}ni=0)canbecomputationallysimulated.
Proof.
ConsiderthecompositecircuitD=C||C(resp.
E=CC)whichisjustacopyofCandacopyofCinparallel(resp.
sequence).
TheneverygarblingofDinducesagarblingofCandCwiththerestrictionexactlyasabove.
Bythesecurityofgarbledcircuits,thereexistsasimulatorthatcansimulate(GC(D),{kxiwi}ni=0).
WecanconstructasimulatorforourlemmabysimplytakingthissimulatorandtakingtheoutputandseparateoutGC(C)andGC(C),asthelemmarequires.
Remark:IfthedataisencryptedbitbybitusingYao'skeys,Lemma1allowsustorunarbitrarygarbledcircuitsonthisdata,akintogeneralpurpose"functionevaluation"onencrypteddata.
Thisobservationitselfhasanumberofapplications,wedescribetheseinthefullversionofthepaper.
3Non-interactiveGarbledRAMPrograms3.
1InformaldescriptionofmainideasWeconsidertheRAMmodelofcomputationasintheworksof[11,23,24]whereaRAMprogramalongwithdataisstoredinmemory,andasmall,statefulCPUwithaO(1)instructionsetthatcanstoreO(1)wordsthatcanbeofsizepolylog(n)=poly(k)wherekisthesecurityparameter.
OurstartingpointisaORAMmodelthatcantoleratefullymalicioustamperingadversary(see[24,11]).
EachstepoftheCPUissimplyaread/writecalltomainmemoryfollowedbyexecutingitsnextCPUinstruction.
WenowsummarizeourideasforbuildingGarbledRAMprogramsfromanObliviousRAMprogram.
InordertogarbleaRAMprogramπt,weconsiderthetwofundamentalopera-tionsseparatelyandshowhowtomeshthemtogether:1)Read/Write(v,x)from/tomemory.
2)Executeaninstructionsteptoupdatestateandproducenextread/writequery:Σ,READ/WRITE(v,x)←CPU(Σ,x).
Updatingthestatecanincludeup-datinglocalregisters,incrementingprogramcountersandquerycounters,andupdatingcryptographickeys.
Ourgoalistotransformthisintoanon-interactiveprocessbylettingtheclientsendtheserverenoughgarbledinformationtoevaluatetheprogramuptotsteps,wheretupperboundstheRAMprogramrunningtime.
Wegivesomeintuitionastohowtocon-structacircuitforeachstep,andthenhowtogarblethem.
TherstpartwillbemodeledasthecircuitCORAM,andthesecondpartwillbemodeledasthecircuitCCPU.
Thecir-cuitssatisfyanovelproperty:theplaincircuitCORAMemulatesaqueryfortheORAMclientandoutputsabitrepresentationofagarbledcircuitGCORAM.
ThisGCORAMhasoutputencodingsthatwillbecompatiblewiththegarbledcircuitGC(CCPU)toevaluateagarbledtheCPU'snextstep.
WeremarkthatGCORAMactuallycontains10severalsub-circuits,butiswrittenasasingleobjectforeaseofexposition.
Ifwegener-atetofthesegarbledcircuits,thenapartycanevaluateat-timegarbledRAMprogrambyconsumingonegarbledCORAMandonegarbledCCPUpertimestep.
WerstconsiderthecircuitCCPU,whichisstraightforwardtodescribe.
ThiscircuittakesasinputΣrepresentingtheinternalstateoftheCPU,andxthelastmemorycontentsread.
RecallthattheCPUperformsastepCPU(Σ,x)andupdatesthestatetoΣandgivesthenextread/writequerytomemorylocationvandcontentsx.
Inordertoturnthisintoacircuit,wecansacricesomeefciencyandhavea"universal"instructioninwhichweruneveryatomicinstruction(fromitsconstantsizedinstructionset)andsimplymultiplextheactualresultsusingtheinstructionopcode.
ThisuniversalinstructionismodeledasacircuitwhichisofsizekO(1).
Weremarkthatalthoughthiscircuitissimple,thecomplexityarisesfromwhenwewanttogarblethiscircuit:thegarblingmustbedoneinawaysothatthegarbledinputsandoutputsarecompatiblewithGCORAM.
ThecircuitCORAMmustemulatetheclientinObliviousRAM(wecanthinkofitasbeinganon-interactiveclienteitherbybreakingouteachindividualstepasaseparatecircuit,orusinganon-interactiveORAM).
TheinputofthecircuitisjustanORAMread/writequery5,andtheoutputofthecircuitisabitrepresentationthatdescribesasetofgarbledcircuits,equivalenttowhatwouldhavebeenproducedviatheORAMclientwhichwecallGCORAM.
WegivefulldetailsontheconstructioninSection3.
2.
ItisimportantthatwearguethattheresultofthisfetchcanbecombinedwiththeevaluationoftheCPUstep.
ObservethatsincethelabelsinourORAMaregeneratedaspseudo-randomtime-labeledencodings,soweknowaheadoftimeonlytheencodingoftheoutput(butknowneithertheinputnoroutput)ofthei-thinvocationoftheORAM.
ThuswhengarblingCCPU,theinputencodingsuseexactlytheoutputencodingsfromtherespectiveoutputsoftheORAM.
RecallinourORAMprotocoltheserversendsbacktheencodedoutputtotheclient;here,wedonotsenditback,andinsteadkeeptheresultanduseitasinputinthenextCPUstep(whichissecureandcorrectviaLemma1).
Then,puttingitalltogether,togarbleaRAMprogramπtthatrunsintimet,theprogramgarblingalgorithmGgeneratestgarbledCORAMandCCPUcircuits,andalsoencodestheinitialstateΣ0oftheCPUwiththeprograminitialized,counterssettozero,andwithfreshcryptographickeys.
ThefullconstructionofGisgiventhenextsection,Section3.
2.
3.
2MainConstructionofGarbledProgramsWerstdescribehowtoconstructthealgorithmsG,GI,GE.
Givenaprogramπtrun-ningintimet,wedescribethealgorithmGthatconvertsitintoagarbledprogramΠt.
Inordertodoso,wefollowthetwostepsoutlinedaboveandweconsidertheconstruc-tionofacircuitthatperformsanORAMqueryCORAMandacircuitthatrunsoneCPUstepCCPU.
5SincetheORAMclientusesrandomnessaswellastime-labeledencodings(whichareoutputsofthePRF),wewillallowthesetobeinputstoCORAM,sothattheymaybepre-computed"forfree"ratherthancomputedviathecircuit.
Thecircuitconsumestheseinputsinordertogeneratetheoutputgarbledcircuitwithouthavingtoevaluatetheseitself.
11OurgarblingalgorithmGwillprovideenoughgarbledcircuitstoexecutetstepsofaprogramπt.
EachstepisagarbledRAMquery(doneobliviouslyviaORAM)followedbyagarbledCPUcomputation.
ItstartswithagarbledencodingoftheinitialstateΣ0oftheCPUwiththeprogramπtinitialized,counterssettozero,andwithfreshcryptographickeys.
Foreachofthettimesteps,itcreatesagarbledGC(CORAM)foraread/writeofthattimestep,thenagarbledGC(CCPU)toperformaCPUstep.
WeshowhowtoconstructCORAMandCCPUsuchthattheycanbegarbledandinterleaved.
Wewillshowthatthisgarblingisindependentoftheactualprogrampath,regardlessofwhatmemorylocationshavebeenfetched,andiscorrectandsecure.
First,wedescribeCORAMtomimicanobliviousread/writeaccesstomainmem-ory.
Forthis,itcanjustperformthestepsinourObliviousRAM,withonedifference:Gdoesnotknowaheadoftimewhichmemorylocationwillbeused.
Hence,inordertoovercomethis,thecircuitCORAMmusttakeamemorylocationasinputandinter-nallyformulatewhattheORAMclientcomputes.
CORAMoutputswhatthe"virtual"ORAMclientwouldhavesenttotheserver:agarbledcircuitGCORAMrepresentingaread/writequery.
ThenoveltyinthisconstructionisthatwhenwefeedamemorylocationvintoCORAM,theoutputpreciselyisagarbledORAMread/writequeryrel-ativetothatmemorylocation.
Inordertohidev,bothCORAMandvaregarbledintoGC(CORAM)andVrespectively,andbythecorrectnessofgarbledevaluation,theout-putisstillGCORAM.
BythesecurityoftheunderlyingORAM,thisoutputGCORAMcanactuallybesimulated.
Althoughitisacircuitthatoutputsanothercircuit,thereisnocircularityinthisconstruction:givenaquerylocationandsomexedrandomness,thebehavioroftheORAMclientiscompletelydeterministic,straight-line,andtakeskO(1)·polylog(n)steps,sotheoutputcanberepresentedbyacircuitalsoofthatsize.
ThisORAMclientisindependentofthemainprogramCPUwhichonlyusesORAMasan"oracle".
Weemphasizethisagain,becauseGwillmostlikelyberanbyaclient,GdoesnotplaytheroleoftheORAMclientbutratheremulatestheORAMclientviaCORAM,sothisisnotaclientattemptingtocaptureitsownlogicinacircuit.
WeprovideapseudocodedescriptionofCORAMinFigure1.
Lookingahead,GwillgarblethiscircuitandensurethattheoutputofanORAMqueryhasthesameencodingasthatusedtogarbleCCPU.
ThealgorithmGcanthengarblebothCCPUandCORAMaheadoftime,withouthavingtoknowthememorylocation.
Next,weconsiderbuildingthecircuitwhichperformsasingleCPUstepintheRAMprogram,CCPUthatissupposedtoperformΣ,READ/WRITE(v,x)←CPU(Σ,x).
Inordertohidewhichinstructionisbeingexecuted,webuildthecircuittotakeaninstructionopcodeandweruneverysingle-stepinstructionfromitsconstantsizedin-structionset(notallpossibleprogrampaths)oftheCPU.
Thecircuitmultiplexestheactualresultsusingtheinstructionopcode.
ThisuniversalinstructionismodeledasacircuitwhichisofsizekO(1)andisindependentoftheORAMcircuit,independentofthequeriedlocations,andindependentofthecurrentrunningtime.
Onemayaskthequestion:HowcanthiscircuitbeinterleavedwiththeCORAMcircuitifitisindependentofit12Inputs:AnORAMquerytoread/write(v,x)andaquerynumber.
Thiscircuitinterpretstheclientperformingthe-thORAMquery,whichusesrandomnessandtime-labeledencodingsbasedon.
Assuch,thiscircuitalsotakestheserandomnessbitsandpre-computedencodingsasinputs.
Output:AgarbledcircuitGCORAMrepresentingaread/writeORAMquery.
CircuitDescription:WedescribethefunctionalityofthecircuitCORAM.
WerecallouralgorithmforaORAMquery.
Usingtime-labeledencodingsviaPRFs,itgeneratesasetof|B1|+2L2garbledGC(Cmatch)whichhashard-codedlocationinformationbuiltintoit,withcorrespondinggarbledGC(Cnext)circuits,andonenalGC(Cwrite)garbledcircuitforwritingtheelementbacktothetoplevel(andpossiblyanupdatecircuit).
AlthoughtheORAMclientevaluatesthesePRFsinternally,wedonotencodethisaspartofourcircuitCORAM,butratherwe"consume"themasinput.
Similarly,theORAMclientmustuserandomness,whichwealsoconsumefromtheinputofCORAM.
1.
Forthetoplevel,B1,foreachbucket,CORAMcreatesatime-labeledgarbledcircuitGC(Cmatch)consumingtheinputencodingstobeusedasgarbledlabels.
2.
Forsubsequentlevelsi=2.
.
.
L:(a)ThecircuitCORAMcomputesq0i=hi(v)andconsumesq1ifromtheinput(theinputitselfisuniformlyrandom)(b)Consumetwosecretkeysforencryptionsk0iandsk1ifromtheinputandcreateagarbledcircuitGC(Cnext)(c)Createtwotime-labeledgarbledcircuitsGC(Cmatch),onethatsearchesforwinbucketq0iencryptedundersk0i,andonethatsearchesforwinbucketq1iencryptedundersk1i,againconsumingtheencodingfromtheinputtoCORAM.
3.
CORAMalsocreatesagarbledGC(Cwrite)thatwritestheresultbacktotherstemptypositionthetoplevelbufferBk.
4.
Ifisamultipleof|B1|,thenareshufestepisperformedusingthetime-labeledgarbledupdatecircuitGC(Cupdate).
5.
ThecombinedsetofgarbledcircuitsisreferredtoasGCORAM.
Wepointoutthatthroughoutthisentireprocess,everytimeaquerycircuitiscreated,Gincre-mentsinordertokeeptrackofthetime-labeledencodingsrequiredbytheCORAMcircuits.
Fig.
1.
TheORAMClientCircuitCORAMTheansweristhatwhenGgarblesCCPU,theencodingwilldependontheoutputofCORAMintheprevioustime-step.
Notethatthisconstructionisnotcircularaseachgarblingonlydependsonthepreviousone,leadinguptoatotalofttimesteps.
ThiscanbedonebecauseGknowstheencodingoftheoutputencoding(butnottheoutput)oftheObliviousRAMquery,whichdoesnotdependonthelocationqueried.
ThisoutputencodingisthenusedfortheinputparameterencodingforGC(CCPU).
WeprovideapseudocodedescriptionofGinFigure2.
ThealgorithmGIforgarblinganinputofsizenisjustthetime-labeledencodingsstartingfromwherevertheRAMprogramexpectstheinputstobelocated.
ThealgorithmGEusedtoevaluateagarbledprogramΠtongarbledinputsevalu-atesthegarbledcircuitGC(CORAM),thenexecutingthegarbledinstructionGC(CCPU)oneatatime,uptottimes.
TheprocessispreciselyperformingthesamestepsasG13Inputs:Aprogramπtwithanupperboundonrunningtimet,andapseudo-randomfunctionfamilyFalongwithakeys.
AlgorithmDescription:ThealgorithmGisperformedasfollows.
ItcreatesanencodingoftheinitialstateoftheCPU,Σ0withtheprogramπtinitialized.
Italsoencodesaninitialprogramcounterandcryptographickeys.
WeshowhowtoconstructCORAMandCCPUsuchthattheycanbegarbledandinterleavedacrossttimesteps.
Wemustarguethatthisgarblingisindependentoftheactualprogrampath,regardlessofwhatmemorylocationshavebeenfetched,andiscorrectandsecure.
Foreachtimestepi=1.
.
.
t,Gcreates:1.
Agarbledread/writequerycircuitGC(CORAM)forperformingquerynumberionsome(unknownvariable)garbledlocationVi(andXiinthecaseofawrite).
Gpre-computesrandomnessandPRFevaluationsandhardwiresthem.
AlthoughGdoesnotknowtheeventualoutput,itknowstheencodingofit,whichisindependentofthequeriedlocation.
Itusesthisencodingforthefollowing:2.
AgarbledinstructioncircuitGC(CCPU)withinputwiresofXiusingtheencodingfromabove,andtheinputwiresofΣiusingtheoutputencodingfromthepreviousCPUstep.
TheoutputisagarbledlocationVi+1(andXi+1inthecaseofawrite)tobeusedinthenextread/writequeryandangarbledupdatedstateΣi+1.
Fig.
2.
ProgramGarblingAlgorithmGexceptevaluatinggarbledcircuitsinsteadofgeneratingthem.
Inaddition,onceitgetsthegarbledORAMquery,itmustalsoexecuteitaswell.
WeprovideapseudocodedescriptionofGinFigure3.
Inputs:AgarbledprogramΠtwithgarbledinputX.
AlgorithmDescription:ThealgorithmGEisperformedasfollows.
Itrststorestheinitialencodedprogramstateandinputsintomemory.
Then,foreachtimestepi=1.
.
.
t,GEperforms:1.
EvaluatethegarbledquerycircuitGC(CORAM)onagarbledmemorylocationVi.
TheoutputisGCORAMwhichitselfisagarbledcircuitthatrepresentsaread/writequeryinourORAMprotocol.
ExecutethequeryplayingtheroleoftheservertoobtainsomegarbledoutputXiwhichiskeptlocallyinsteadofsenttotheclient.
2.
EvaluatethegarbledinstructioncircuitGC(CCPU)ongarbledinputsXiandΣi.
Obtainanewread/writequeryVi+1.
Aftertsteps,outputthenalvalueXt+1.
Fig.
3.
GarbledProgramEvaluationAlgorithmGE3.
3MainResultWenowstateourmainresult:14Theorem1.
Assumeone-wayfunctionsexist,andletthesecurityparameterbekandletFbeaPRFfamilybasedontheone-wayfunction.
Then,thereexistsanefcientProgramGarblingtripleofalgorithmsG,GI,GEsuchthatforanyπtanytandanyinputxoflengthn,wehavethefollowing.
Correctness:x,πt,F,s:πt(x)=GE[G(πt,t,F,s),GI(x,s)].
Security:poly-timesimulatorSim,suchthatπ,t,x,s,where|s|=k[G(πt,t,F,s),GI(x,s)]≈Sim1k,t,|x|,πt(x).
ProgramSize:Thesizeofthegarbledprogram|G(πt,t,F,s)|=O(|π|+t)·kO(1)·polylog(n).
InputSize:Let|x|=nand|s|=k.
x,sthegarbledinputsize|GI(x,s)|=On·kO(1)·polylog(n).
Proof.
Wegiveanoutlineoftheproofofsecurity,andreferthereadertothefullver-sion[20]forthefullproofs.
Security.
WedesignthesimulatorSimasfollows.
Weknowthattheserverperformsthefollowing:1.
EvaluatethegarbledquerycircuitGC(CORAM)onagarbledmemorylocationVi.
TheoutputisGCORAMwhichitselfisagarbledcircuitthatrepresentsaread/writequeryintheunderlyingORAM.
2.
ExecutethegarbledORAMqueryGCORAMplayingtheroleoftheservertoobtainsomegarbledoutputXiwhichiskeptlocallyinsteadofsenttotheclient.
3.
EvaluatethegarbledinstructioncircuitGC(CCPU)ongarbledinputsXiandΣi.
Obtainanewread/writequeryVi+1.
TheunderlyingObliviousRAMissecureandusestime-labeledgarbledcircuitsandencodingsandcanbesimulatedbysomeSimORAM.
Furthermore,theunderlyingYao'sgarbledcircuitsaresecure,andcanbesimulatedbysomeSimYao.
Thus,theaccesspatternoftheORAMcanbesimulatedevenfortamperingadversary,andweneedonlyshowthatthegarbledcircuitemulatingtheORAMclientGC(CORAM)andgarbledinstructionsGC(CCPU)canalsobesimulated.
ThegarbledcircuitscanbeinterleavedsecurelyduetoLemma1,andthetime-labeledencodingsthemselvesarejustoutputsofaPRF.
BythesecurityofYao'sgarbledcircuitsandtheunderlyingPRF,thesecanbesimulatedsecurely.
4ApplicationtoSecureRAMComputationWegiveanexampleapplicationinwhichonlyonepartyhasinputandwantstore-peatedlyrunprogramsonthisdata.
Suchisthecaseofsecurecloudcomputing,wheresomeonestoresdatainthecloudandthenlaterrunscomputationsagainstthatdata.
Weemphasizethatinthissetting,thereisnoissueofadaptivitybecausetheserverhasnoinputs.
Inthetypicalsettingoftwo-partysecurecomputation,wedealwiththisbymakingtheserverrstperformOTstoretrieveitsinputsbeforetheclientsendsthe15garbledprogram.
Inthemulti-partysetting,thetechniquecanbeutilizedintheBeaver-Micali-Rogawayparadigm[2]toachieveconstant-roundMPCwiththesameapproachasin[2]butwithgarbledRAMprograms.
Thatistosay,inthisapplication,aclientwishestostoresomedataxonaremoteserverandthenrunvariousRAMprogramsonxwithouttheserverlearningtheresultsoftheprogramsorxitself.
Ofcourse,theclientcouldalwaysignoretheserveraltogetherandrunalltheprogramsonxlocally,soweareenvisioningascenarioinwhichtheclientdoesnotwanttocarryaroundallofitsdatalocallyandwantstoonlystoreafewcryptographickeysorcounters.
ToapplyGarbledRAMprogramstothisapplication,theclientrstgarblestheinputxtogetX=GI(x)andsendsittotheserver.
Thenforeachprogramtheclientwantstorun,itrecallstheencodingofthepreviousoutputandcreatesagarbledprogramusingthelabelsofthepreviousoutputasinputsforthecurrentprogram.
5ConclusionsandOpenProblemsRecently,Goldwasserat.
al.
[12]haveshownhowtoconstructareusableGarbledYao.
ItistemptingtoplugitintoourconstructiontoachievereusableGRAMwithcompact-nessproportionaltoprogramsizeandindependentofitsrunningtime.
Theideaistocomputepoly-manyiterationsoftheCPUcomputationusingreusableYao(insteadofsendingfreshgarbledcircuitforeachCPUstep)whereCPUcomputesitsowngarbledkeysforeachstep.
Thisispossibleonlyifthereexistspoly-timereusablecircular-secureGarbledYaowithinputencodingofsizeindependentofthecircuitsize.
Constructingsuchagadgetisaninterestingopenproblemevenundernon-standardassumptions.
6AcknolwedgementsWethankOdedGoldreichandDanielWichsforveryhelpfuldiscussionsandtheanony-mousreviewersfortheircomments.
16References1.
BennyApplebaum,YuvalIshai,andEyalKushilevitz.
Fromsecrecytosoundness:Efcientvericationviasecurecomputation.
InICALP(1),pages152–163,2010.
2.
DonaldBeaver,SilvioMicali,andPhillipRogaway.
Theroundcomplexityofsecureproto-cols(extendedabstract).
InSTOC,pages503–513,1990.
3.
MihirBellare,VietTungHoang,andPhillipRogaway.
Adaptivelysecuregarblingwithapplicationstoone-timeprogramsandsecureoutsourcing.
InASIACRYPT,pages134–153,2012.
4.
MihirBellare,VietTungHoang,andPhillipRogaway.
Foundationsofgarbledcircuits.
InACMConferenceonComputerandCommunicationsSecurity,pages784–796,2012.
5.
DanBoneh,EyalKushilevitz,RafailOstrovsky,andWilliamE.
SkeithIII.
Publickeyen-cryptionthatallowsPIRqueries.
InCRYPTO,pages50–67,2007.
6.
DanBoneh,DavidMazieres,andRalucaAdaPopa.
Remoteobliviousstorage:MakingobliviousRAMpractical.
CSAILTechnicalReport,MIT-CSAIL-TR-2011-018,2011.
7.
NishanthChandran,RafailOstrovsky,andWilliamE.
SkeithIII.
Public-keyencryptionwithefcientamortizedupdates.
InSCN,pages17–35,2010.
8.
StephenA.
CookandRobertA.
Reckhow.
Timeboundedrandomaccessmachines.
JournalofComputerandSystemSciences,7(4):354–375,1973.
9.
OdedGoldreich.
TowardsatheoryofsoftwareprotectionandsimulationbyobliviousRAMs.
InSTOC,pages182–194,1987.
10.
OdedGoldreich,SilvioMicali,andAviWigderson.
Howtoplayanymentalgameoracompletenesstheoremforprotocolswithhonestmajority.
InSTOC,pages218–229,1987.
11.
OdedGoldreichandRafailOstrovsky.
SoftwareprotectionandsimulationonobliviousRAMs.
J.
ACM,43(3):431–473,1996.
12.
ShaGoldwasser,YaelKalai,RalucaAdaPopa,VinodVaikuntanathan,andNickolaiZel-dovich.
Succinctfunctionalencryptionandapplications:Reusablegarbledcircuitsandbe-yond.
CryptologyePrintArchive,Report2012/733,2012.
13.
MichaelT.
GoodrichandMichaelMitzenmacher.
Privacy-preservingaccessofoutsourceddataviaobliviousRAMsimulation.
InICALP,pages576–587,2011.
14.
MichaelT.
Goodrich,MichaelMitzenmacher,OlgaOhrimenko,andRobertoTamassia.
ObliviousRAMsimulationwithefcientworst-caseaccessoverhead.
InCCSW,pages95–100,2011.
15.
MichaelT.
Goodrich,MichaelMitzenmacher,OlgaOhrimenko,andRobertoTamassia.
Privacy-preservinggroupdataaccessviastatelessobliviousramsimulation.
InSODA,pages157–167,2012.
16.
S.
DovGordon,JonathanKatz,VladimirKolesnikov,FernandoKrell,TalMalkin,MarianaRaykova,andYevgeniyVahlis.
Securetwo-partycomputationinsublinear(amortized)time.
InACMConferenceonComputerandCommunicationsSecurity,pages513–524,2012.
17.
YuvalIshaiandEyalKushilevitz.
Personalcommunication,2012.
18.
EyalKushilevitz,SteveLu,andRafailOstrovsky.
Onthe(in)securityofhash-basedobliviousRAMandanewbalancingscheme.
InSODA,pages143–156,2012.
19.
YehudaLindellandBennyPinkas.
Aproofofsecurityofyao'sprotocolfortwo-partycom-putation.
J.
Cryptology,22(2):161–188,2009.
20.
SteveLuandRafailOstrovsky.
HowtogarbleRAMprograms.
CryptologyePrintArchive,Report2012/601,2012.
21.
SteveLuandRafailOstrovsky.
Distributedobliviousramforsecuretwo-partycomputation.
InTCC,pages377–396,2013.
22.
MoniNaorandKobbiNissim.
Communicationpreservingprotocolsforsecurefunctionevaluation.
InSTOC,pages590–599,2001.
1723.
RafailOstrovsky.
EfcientcomputationonobliviousRAMs.
InSTOC,pages514–523,1990.
24.
RafailOstrovsky.
SoftwareProtectionandSimulationOnObliviousRAMs.
PhDthesis,Mas-sachusettsInstituteofTechnology,Dept.
ofElectricalEngineeringandComputerScience,June1992.
25.
RafailOstrovskyandVictorShoup.
Privateinformationstorage(extendedabstract).
InSTOC,pages294–303,1997.
26.
BennyPinkasandTzachyReinman.
ObliviousRAMrevisited.
InCRYPTO,pages502–519,2010.
27.
NicholasPippengerandMichaelJ.
Fischer.
Relationsamongcomplexitymeasures.
J.
ACM,26(2):361–381,1979.
28.
ElaineShi,T.
-H.
HubertChan,EmilStefanov,andMingfeiLi.
ObliviousRAMwithO((logN)3)worst-casecost.
InASIACRYPT,pages197–214,2011.
29.
EmilStefanov,ElaineShi,andDawnSong.
TowardspracticalobliviousRAM.
InNDSS,2012.
30.
DanielWichs.
PersonalCommunication.
March2013.
31.
PeterWilliamsandRaduSion.
SingleRoundAccessPrivacyonOutsourcedStorage.
InACMCCS,pages293–304,2012.
32.
PeterWilliams,RaduSion,andBogdanCarbunar.
Buildingcastlesoutofmud:practicalac-cesspatternprivacyandcorrectnessonuntrustedstorage.
InACMConferenceonComputerandCommunicationsSecurity,pages139–148,2008.
33.
AndrewChi-ChihYao.
Protocolsforsecurecomputations(extendedabstract).
InFOCS,pages160–164,1982.

Hostwinds:免费更换IP/优惠码美元VPS免费更换IP4.99,7月最新优惠码西雅图直连VPS

hostwinds怎么样?2021年7月最新 hostwinds 优惠码整理,Hostwinds 优惠套餐整理,Hostwinds 西雅图机房直连线路 VPS 推荐,目前最低仅需 $4.99 月付,并且可以免费更换 IP 地址。本文分享整理一下最新的 Hostwinds 优惠套餐,包括托管型 VPS、无托管型 VPS、Linux VPS、Windows VPS 等多种套餐。目前 Hostwinds...

创梦网络-四川一手资源高防大带宽云服务器,物理机租用,机柜资源,自建防火墙,雅安最高单机700G防护,四川联通1G大带宽8.3W/年,无视UDP攻击,免费防CC

? ? ? ?创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川联通大带宽,四川联通高防IP,一手整CIP段,四川电信,联通高防机柜,CN2专线相关业务。成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快...

HostKvm:夏季优惠,香港云地/韩国vps终身7折,线路好/机器稳/适合做站

hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...

clienthold为你推荐
域名域名是干什么的域名代理域名代理能转到钱吗,如何赚钱啊?能够成为国外的域名代理商吗?vps虚拟主机请通俗解析一下虚拟主机,VPS和云主机?它们各有什么用途?网站服务器租用哪些网站适合独立服务器租用?价格方面怎么样?美国网站空间美国空间做什么网站好?网站空间购买国内网站空间购买哪里的比较实惠啊?什么是虚拟主机什么是“虚拟主机”?请解释祥细些!郑州虚拟主机什么是双线虚拟主机?深圳虚拟主机深圳市虚拟主机深圳双线虚拟主机深圳主机合租深圳合租主机空推荐有哪?虚拟主机测评我们可以用哪些命令来测试一个虚拟主机的好坏?
广东虚拟主机 美国和欧洲vps godaddy域名解析教程 谷歌域名邮箱 pw域名 vmsnap3 permitrootlogin wdcp 哈喽图床 好看qq空间 云全民 域名转接 免费高速空间 支持外链的相册 华为云盘 河南移动梦网 云营销系统 中国电信测速网站 cdn网站加速 114dns 更多