mbed TLS glue layer¶
The mbed TLS glue layer allows for using both the hardware-accelerated and software implementation of cryptography at the same time. A typical use case is if the cryptographic algorithm is limited in hardware support (for example, the AES key size or supported ciphers). In this case, the mbed TLS glue layer enables a dynamic check to verify whether the cryptographic algorithm is supported in hardware. If it is not supported, the glue layer calls into a different enabled backend as a fallback.
The mbed TLS glue layer is written by Nordic Semiconductor ASA and is a part of the nrf_security module. The mbed TLS glue layer is dependent on Kconfig variables in the nRF Connect SDK build system.
Support and priority¶
To select the backend, the mbed TLS glue layer implements a functionality check with priority reporting. The check is performed using a check function . This function is called from the API which provides configuration changes that determine the selection between the enabled backends.
In this example, the AES CCM support in the backend will report priority level 3 if the key size is 128, or 0 if the key size is different. The Arm CryptoCell cc3xx backend does not support a larger key size. If the key size is larger than 128 bits, then another enabled backend is used.
The check function can be called from multiple APIs in the mbed TLS glue layer. An example of a location that determines backend selection is an API to set an encryption key, in which case the key size may change, demanding a new selection of available and prioritized backends.
Hardware-accelerated cryptography through the Arm CryptoCell cc3xx backend is prioritized if it is supported.
Enabling the mbed TLS glue layer¶
The mbed TLS glue layer is automatically enabled when two backends are enabled for one or more of the following groups of algorithms:
AES (ECB, CBC, CTR, and CCM/CCM*)
mbed TLS glue layer mechanisms¶
The mbed TLS glue layer relies on symbol renaming of known APIs in mbed TLS to prevent collisions of identically named functions in multiple backends. The backend implementation is reached using a table of function pointers corresponding to the renamed symbols.
mbedtls_ecdh_cc3xx_backend_funcs() points to mbed TLS APIs in nrf_cc3xx_mbedcrypto library which is renamed if mbed TLS glue layer is enabled. The function pointers gen_public and compute_shared have signatures equal to the corresponding mbed TLS APIs.
The complete list of APIs that can be renamed in the mbed TLS glue layer can be found in nrfxlib/nrf_security/src/mbedcrypto_glue/symbol_rename.template.txt
© Copyright 2019-2020, Nordic Semiconductor. Last updated on Nov 22, 2020.
mbed TLS glue layer¶ The mbed TLS glue layer allows for using both the hardware-accelerated and software implementation of cryptography at the same time. A typical use case is if the
Creative Tutorials That Inspire!
Glowing Resin Succulents, Three Ways!
How To Adapt Bead Designs For the Beads In Your Stash
How To Easily Solve Bead Stringing Tension Mistakes
Confused About 2-Part and UV Resin? Learn the Difference!
How To Get MORE Out Of Your Polymer Clay Molds – Friday Findings
Strung Beads That Look Like Bead Weaving! Garden Path Bracelet Jewelry Tutorial
Six Things You Should Never Do With A Thread Burner – Friday Findings
Think Like A Designer! Combine Leather and Crystal For A Cohesive Necklace – Jewelry Tutorial
3 Top Tips For Making The Most Of Your Beads (and Subscription Boxes) – Friday Findings
DIY Customized Leather Charm Bracelet-Jewelry Tutorial
Which Adhesive is Strongest For Polymer Clay? Polybonder, Super Glue or TLS? Friday Findings
This week several orders of glue came in and it got me to thinking about the different types of glue we use in different applications: jewelry making, beading, polymer clay and other crafty things.
In fact, there are so many adhesives out just for jewelry making that Fire Mountain Gems made a chart of all of them.
I was especially thinking of Polybonder versus Super Glue, as I was out of Polybonder for a while and missed using it in my projects (silly me didn’t put the cap back on tightly.)
Polybonder is a glue formulated for use with polymer clay by Lisa Pavelka, who is a big name in the polymer clay world. It sets instantly, like Super Glue, but it’s made to withstand baking up to 300° F.
I’ve been given to understand that Super Glue gets brittle after being subjected to those temperatures.
For some reason I was in the mood to test it out. So I grabbed a few samples and did a not-entirely-scientific test.
No worries Ginger Davis Allman, I will NOT be taking over your work anytime soon! I don’t have the patience or desire to do all the careful controls and samples that you include in your testing.
While I was at it, I decided to test Translucent Liquid Sculpey, too.
Watch the video to see the results.
Here are links to a few things from the video:
Which adhesive is strongest for polymer clay? Polybonder, Super Glue or Liquid Clay like TLS? I ran a little (unscientific) test and was surprised at the results!