Patent ID: 8141162

Claim:
A method for embedding information as a hidden message in a computer program comprising: performing data dependency analysis on said computer program to identify locations within said computer program where pipeline processing dependencies require a stall; scanning said locations of said stall to find no-operation instructions that are already part of said computer program; selecting said no-operation instruction on a particular execution path in a pipeline; selecting said no-operation instruction in an order that it appears in said pipeline; encoding said information; replacing the no-operation instruction, already part of said computer program and found by said scanning said locations, in said locations with a new instruction; wherein said new instruction contains at least a portion of said information by: dividing said information into a plurality of consecutive sections; and replacing the no-operation instruction with said new instruction containing said plurality of consecutive sections non-consecutively into said locations within said computer program; wherein said new instruction does not alter a functionality of said computer program; and wherein said new instruction performs an operation and a subsequent new instruction is inserted to undo said operation; and detecting said hidden message by performing data dependency analysis on said pipeline, which comprises: decoding said new instruction to its corresponding bit in said hidden message when removal of said new instruction from said pipeline results in said stall in said pipeline; and ignoring said new instruction when the removal of said new instruction from said pipeline does not result in said stall in said pipeline.