Patent ID: 7853018
Filing Date: 2010-12-14
Classification: H04L

Abstract:
1. A method for hiding a private encryption key, the method comprising: creating a directed acyclic graph comprising a plurality of vertices and a plurality of edges, the plurality of vertices including at least one source vertex and at least one sink vertex, each of the plurality of edges having a tail connected to a predecessor vertex and a head connected to a successor vertex, the predecessor vertex and the successor vertex being part of the plurality of vertices; associating a vertex value r(v) with each vertex of the plurality of vertices, the vertex values associated with any pair of adjacent vertices being selected independently of each other; associating a source value with each of the at least one source vertex, the source value being the same for each of the at least one source vertex; associating a sink value with each of the at least one sink vertex, the sink value being the same for each of the at least one sink vertex and being a function of the source value and the private encryption key; storing an edge value for each edge of the plurality of edges in a memory, the edge value being a function of r(in) accepting an input message to a hardware device at one of the at least one source vertex; processing the message on the hardware device along a directed path from one of the at least one source vertex to one of the at least one sink vertex; and outputting an output message from the hardware device at one of the at least one sink vertex, where the output message is an encrypted or decrypted version of the input message using the private encryption key; and wherein the output message is the same regardless of which of the plurality of vertices is on the directed path.