Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools & Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Power Management Fundamentals II Session 5: Deeper Look into Power Protection

    When is the best time to discover your power circuit needs protection? Let's explore the use of some input protection and control options like ideal diodes...

    Places

    • ADI Academy
    • ADI Webinars
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Latest Webinars

    • Design Smarter with Compact, Low-Power Precision Current Source Signal Chains
    • Power Management Fundamentals II Session 6: Key Layout Considerations for Power
    • A 16T/16R X-Band Direct Sampling Phased Array Subsystem using Apollo MxFE
    • Power Management Fundamentals II Session 5: Deeper Look into Power Protection
    • Power Management Fundamentals II Session 4: Isolated Converters Explained
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ296 about repairing an equation in a digital display

      1. Quote of this month: " When I die, I want to die like my grandfather who died peacefully in his sleep. Not screaming like all the passengers in his...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card!

      Important: Read the blog first . The quiz questions are all based on the content from the blog: Mature, Not Old! The Longevity of 4 – 20 mA New...

    View All

    Places

    • Community Help
    • Analog Dialogue Quiz
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Achieving Power Over Data with RS-485 Transceivers

    By Bryson Barney What if a single wire could carry both energy and information seamlessly—without either getting in the way? The future of connectivity...

     

    ​​Functional Safety: A Driver of “Shift Left”​

    By Richard Obrien The key to faster, safer product development is to start smart - not catch up hard. In this blog, we’ll explore how the "Shift Left...

    Latest Blogs

    • The 5 Advantages of Hardware Fault Tolerance
    • The Power Problem Inside Every AI Breakthrough: Part 1 of 3
    • Simplifying Stability with EVAL-KW4503Z: Part 1 of 3
    • Energy Transfer Considerations in Isolated SMPS: Part 2 of 4
    • Automating LTspice .NOISE Measurements with .STEP and .MEAS Directives: Part 2 of 3
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • ContentZone

    Visit ContentZone

    ContentZone

    Technical articles. Blogs. Videos. Your ADI content, all in one place.

    View ContentZone

    Featured Content

    Featured Content Title

    Blurb About Content

    View Content By Industry

    • Aerospace and Defense Systems
    • Automotive Solutions
    • Consumer Technology Solutions
    • Data Center Solutions
    • Energy Solutions
    • Healthcare Solutions
    • Industrial Automation Technology Solutions
    • Instrumentation and Measurement Solutions
    • Intelligent Building Solutions
    • Wireless Communication Solutions

    View Content By Technology

    • A2B Audio Bus
    • ADI OtoSense Predictive Maintenance Solutions
    • Dynamic Speaker Management
    • Gallium Nitride (GaN) Technology
    • Gigabit Multimedia Serial Link (GMSL)
    • Industrial Vision
    • Power Solutions
    • Precision Technology
    • RF
    • Sensor Interfaces
    • SmartMesh
EngineerZone
EngineerZone
Blackfin Processors
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
Blackfin Processors
  • Processors & DSP
Blackfin Processors
Documents Generate safe and strong keys: FAQ
  • Forums
  • File Uploads
  • FAQs/Docs
  • Members
  • Tags
  • Cancel
  • +Documents
  • +.ldf file: FAQ
  • +ADI EZ-Kit: FAQ
  • +ADSP-BF50x: FAQ
  • +ADSP-BF527: FAQ
  • +ADSP-BF537: FAQ
  • +ADSP-BF548: FAQ
  • +ADSP-BF592: FAQ
  • ADSP-BF5xx SPI Full Duplex communication in DMA mode
  • +BF506F: FAQ
  • +BF50xF: FAQ
  • +BF51x: FAQ
  • +BF51xF: FAQ
  • +BF525C: FAQ
  • +BF527: FAQ
  • +BF537: FAQ
  • +BF54x/BF52x USB controller: FAQ
  • BF592: FAQ
  • +BF702: FAQ
  • +Blackfin: FAQ
  • CLI and "Target option Mask interrupts during step" FAQ
  • +External vs. Internal Voltage Regulator: FAQ
  • +EZ-KITs via USB: FAQ
  • Floating point to integer conversion error: FAQ
  • Frame sync operation for Primary and secondary data mode with TFSR: FAQ
  • Generate safe and strong keys: FAQ
  • Global variables for multi cores: FAQ
  • +I2S BUS: FAQ
  • +Lockbox: FAQ
  • +PPI port pins: FAQ
  • +SDP image: FAQ
  • +SDRAM: FAQ
  • SPI example for ADSP-BF592
  • TRU Assembly code for ADSP-BF609
  • +USB VBUS: FAQ
  • USB:: Disabling Double Buffering FAQ
  • +VisualDSP++: FAQ
  • ADSP-BF527 SPORT examples
  • ADSP-BF527 SSL booting using bfrom_spiboot
  • How to find the unique chip ID information?
  • Migrating Legacy BLACKFIN to ADSP-BF60x/70x BLACKFIN+ Processors

Generate safe and strong keys: FAQ

Q:

How do I generate safe and strong keys suitable for use with Lockbox for commercial requirements and product deployment in which sensitive information must be protected?

----------------------

A:
ADI does not directly provide key management services. One recommended approach would be to partner with a 3rd party that has security expertise and experience.


For example, Elliptic http://www.ellipticsemi.com/ is a 3rd party member of the ADI DSP Collaborative that is familiar with the Blackfin processor. They have utilities for key generation and for signing messages.


Another approach may be to download one of the many cryptography libraries available online. Miracl http://www.shamus.ie/ is one such set of libraries. If you use a library, you should make sure that you pick the Koblitz curve and the parameters described in the Blackfin literature (BF54x hardware reference manual and also in the VisualDSP++ Lockbox example).

Often times, these libraries provide usage examples that demonstrate the usage of the library but that should not be used as is. For example, the signature generation and the message signing operations require random number generation. The libraries will often use a pseudo random number generation or will simply use a constant number instead. If you want to use such libraries, you need to make sure that you are using a true random number for the signature generation and for the message signing.


The utility provided to demonstrate security features with the ADI EZ-Kit, ecsgen, is distributed solely for demonstration use and relies on a non-cryptographically robust 9 digit decimal input to seed its internal random number generator. The internal random number generator is NOT truly random.  The internal random number generator is actually implemented as a Marsaglia & Zaman pseudo-random number generator (PRNG). Since there is a 1:1 relationship between the seed and the resulting "random" number, this exposes the private/public key to a brute-force attack by simply generating private/public keys for all 1 billion possible seed values and checking the resulting public keys until you find a match. This exposes the private key!


Conclusions
1) DO NOT USE ecsgen to generate a private key for Blackfin Lockbox unless you replace the PRNG - see item 2).
2) Ideally, I would advise you to use a true Hardware Random Number generator (HRNG) to create the private key. This means that you should NEVER be able to generate the same private key twice.
3) You should verify that the random number you chose for the private key is not possible to obtain from ecsgen2 or from whatever method you choose to use for your key generation.


Recommendations

Use a seed from a true HRNG or a seed of your choosing with acceptable entropy suitable for your application.


The information on this page be understood before use of any of these numbers:
http://www.random.org/randomness/


The following are some of the sources of true random numbers:

http://www.random.org/premium/
http://www.fourmilab.ch/hotbits/
http://random.hd.org/index.html


Whatever the source of the data - It is critical to independently confirm that the data is truly random.

See http://www.random.org/statistics/ for some of these tests that should be duplicated on the data regardless of its source.


Finally - It is important to avoid random numbers that are easily generated or guessed:
ie: lowest, middle and highest 1 Trillion numbers, binary, hex or decimal boundaries, over-represented, repeating or sequential sequenced digits, numbers that represent real items (telephone numbers, birthdays etc.)

This FAQ was generated from the following discussion: Lockbox

Tags: lockbox blackfin
  • Share
  • History
  • More
  • Cancel
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved