Avoiding Weak or Duplicate Keys - Avoiding Weak or Duplicate Keys - XAPP1098

Developing Tamper-Resistant Designs with UltraScale and UltraScale+ FPGAs (XAPP1098)

Document ID
XAPP1098
Release Date
2025-05-22
Revision
1.5.1 English

All zeros, all ones, or repetitive patterns should never be used in user keys. Keys should not be reused if at all possible. Personnel access to the key values should be tightly controlled (only those with a need to know should have access to key data). Ideally, a random source should be used to create the keys. Avoid using weak keys. (For example, an all zeros random key is theoretically possible.) The Vivado software can automatically generate the AES-GCM keys. However, it uses a pseudorandom process seeded with the current date and time. The most secure keying material comes from a truly random process.

Key management is a very important element (and probably the most complex) in any cryptographic system. For additional help on this subject, the NIST Key Management Guideline is a useful reference.