[INTEL NAVIGATION HEADER]

PROPER 8XC51FX ENCRYPTION ARRAY USAGE

ABSTRACT:

This TechBit cautions encryption array users to fill all program code locations with a value other than 0FFH.

PROPER 8XC51FX ENCRYPTION ARRAY USAGE

Customers using the program lock features on FX devices should not use the same value for all bytes in the Encryption Array, or leave large blocks of code memory unprogrammed.

To enable FX ROM (or QROM) lock features, customers must submit a 64-byte encryption file along with their program code. The factory then programs the device encryption array and sets Lock Bit 1 before the device is shipped. Those customers using EPROM devices must program the encryption array themselves.

There is one important factor that needs to be considered before using the encryption array as a means for program protection.

The encryption feature exclusively NORs each code byte with one of the encryption bytes. All unprogrammed encryption bytes have the value 0FFH. If the encryption array is left unprogrammed, any code byte XNORed with 0FFH leaves the byte unchanged. Similarly, if a code byte has the value 0FFH, verification of the byte will produce the encryption byte value. If a large block (> 64 bytes) of code is left unprogrammed (an unprogrammed byte has value 0FFH), a verification routine will, essentially, display the contents of the encryption array.

For this reason it is strongly recommended that all unused code bytes be programmed with some value other than 0FFH, and not all of them the same value. This practice will ensure the maximum possible program protection for this feature.



Legal Stuff © 1997 Intel Corporation

Free Web Hosting