主权项 |
1. A computer-implemented method for obstructing analysis of a computer program, the method comprising:
translating an operation of the computer program into a first data processing net; performing a composition of at least a second data processing net, the first data processing net, and a third data processing net to form a composite, and replacing, in the computer program, the operation with an implementation of the composite to yield a protected version of the computer program, wherein the first data processing net, the second data processing net, and the third data processing net comprise sequential machines MΩ with optionally plural input channels and optionally plural output channels, C is a finite set of channels, Δ is a finite set of finite alphabets, γ:C→Δ, Ω=(C, Δ, γ) is a communication rule,
EΩ={e|e={(c,σ)|σ∈γ(c)((c,σ1)∈e(c,σ2)∈eσ1=σ2)}}∪{Ø}is a set of input/output events and S is a finite set of states and
MΩ:={(S,EΩ,δ,β,s0)|δ:R→Sβ:R→EΩR⊂S×EΩ(∀[(s,x),y]∈β∀(cx,σx)∈x∀(cy,σy)∈y:cx≠cy)s0∈S}. B with B⊂C is a set of internal synchronization channels and the composition compB:MΩn→2MΩ of sequential machines is characterized by:compB:={((K1,…,Kn),K~)(K1,…,Kn)=((S1,EΩ,δ1,β1,s01),…,(Sn,EΩ,δn,βn,s0n))∃T={((x1,…,xn),(y1,…,yn),(s1′,…,sn′),x~,y~)([(s01,x1),s1′],…,[(s0n,xn),sn′])∈δ1×…×δn([(s01,x1),y1],…,[(s0n,xn),yn])∈β1×…×βn∃Hx=⋃i∈{1,…,n}xi∃Hy=⋃i∈{1,…,n}βi(xi):Hx∈EΩHy∈EΩ∀(c,σ):(c∈B⇔(c,σ)∈Hx⋂Hy)x~=Hx/Hyy~=Hy/Hx}∃MΩ′~={K′~∃((x1,…,xn),(y1,…,yn),(s1′,…,sn′),x~,y~)∈T: K′~=compB([(S1,EΩ,δ1,β1,s1′),…,(Sn,EΩ,δn,βn,sn′)])}:K~=(S~,EΩ,δ~,β~,s0~)S~=(s01,…,s0n)⋃⋃(S′~,EΩ′,δ′~,β′~,s0′~)∈Mn′~S′~δ~={[((s01,…,s0n},x~),(s1′,…,sn′)]((x1,…,xn),(y1,…,yn),(s1′,…,sn′),x~,y~)∈T}⋃⋃(S′~,EΩ′,δ′~,β′~,s0′~)∈Mn′~δ′~β~={[((s01,…,s0n),x~),y~]((x1,…,xn),(y1,…,yn),(s1′,…,sn′),x~,y~)∈T}⋃⋃(S′~,EΩ′,δ′~,β′~,s0′~)∈Mn′~β′~s0~=(s01,…,s0n)}. |