English
Language : 

DS5002FP_1 Datasheet, PDF (7/29 Pages) Dallas Semiconductor – Secure Microprocessor Chip
DS5002FP
own algorithm for encrypting data, both depend on the 64-bit key word which is contained in the
Encryption Key registers. Both the encryptors operate during loading of the application software and also
during its execution.
DS5002FP SECURITY CIRCUITRY Figure 2
The address encryptor translates each “logical” address, i.e., the normal sequence of addresses that are
generated in the logical flow of program execution, into an encrypted address (or “physical” address) at
which the byte is actually stored. Each time a logical address is generated, either during program loading
or during program execution, the address encryptor circuitry uses the value of the 64-bit key word and of
the address itself to form the physical address which will be presented on the address lines of the RAM.
The encryption algorithm is such that there is one and only one physical address for every possible logical
address. The address encryptor operates over the entire memory range which is configured during
Bootstrap Loading for access on the byte-wide bus.
As Bootstrap Loading of the application software is performed, the data encryptor logic transforms the
opcode, operand, or data byte at any given memory location into an encrypted representation. As each
byte is read back to the CPU during program execution, the internal data encryptor restores it to its
original value. When a byte is written to the external nonvolatile program/ data RAM during program
execution, that byte is stored in encrypted form as well. The data encryption logic uses the value of the
64-bit key, the logical address to which the data is being written, and the value of the data itself to form
the encrypted data which is written to the nonvolatile program/data RAM. The encryption algorithm is
repeatable, such that for a given data value, Encryption Key value, and logical address the encrypted byte
will always be the same. However, there are many possible encrypted data values for each possible true
data value due to the algorithm’s dependency on the values of the logical address and Encryption Key.
When the application software is executed, the internal CPU of the DS5002FP operates as normal.
Logical addresses are calculated for opcode fetch cycles and also data read and write operations. The
DS5002FP has the ability to perform address encryption on logical addresses as they are generated
internally during the normal course of program execution. In a similar fashion, data is manipulated by the
7 of 29