1: Clear DeltaKey3 2: while (DeltaKey3 is not full) 3: ([[bar.T].sup.1], ...,[[bar.T].sup.8]) [left arrow] PreparePowerTraces () 4: DeltaKey1 [left arrow] DetectCollision ([[bar.T].sup.1] , ...,[[bar.T].sup.8]) 5: DeltaKey2 [left arrow] DetectError (DeltaKeyl) 6: DeltaKey3 [left arrow] Accumulate (DeltaKey2, DeltaKey3) 7 end 8: for every
candidate key K compatible to DeltaKey3 9: if (TestKey (K)) return (K) 10: end In the DetectError step, as described in Algorithm 2, we use (3) to check every elements of DeltaKeyl.
The adversary finds a
candidate key in the following key testing step by computing the only 1 byte of intermediate variable V:
* An attribute A is a key attribute in a relation R, if A is part of some
candidate key. Otherwise it is a non-key attribute in R, i.e., A is not a component of any
candidate key.
Key phrase extraction from a body of text relies on an evaluation of the importance of each
candidate key phrase [4].
Such an attribute, or combination of attributes, is called a
candidate key. One of the
candidate keys is chosen as a primary key and used as identifier for the table.
Most
candidate key and foreign-key attributes ended with the character #.
* Any form field matching a common
candidate key suffix such as NAME, NO, NUMBER, or # may represent an entity (e.g., WORK ORDER NO representing the entity WORK-ORDER).
Figure 6 lists
candidate keys. A
candidate key is a set of attributes that uniquely identify each row.