Home LSET Professional How it Works Resources Random Numbers News Contact


LSET Professional

The LSET Professional encryption algorithms are based on a Session Key used by both the message transmitter and receiver to generate a Symmetric Key. The Session Key is sent with each message and is typically a random number. The Session Key contains a coded set of instructions for generating the Symmetric Key. This allows a different set of encryption ciphers to be generated for every message, so the transmitted data will be different even if the unencrypted data doesn’t change (which can be common in some IoT applications). This makes it much more difficult to break the encryption algorithm even when the unencrypted data is known.

The LSET Professional packages include C source code for both device-side firmware and server-side software. The source code is designed to be easily incorporated into existing products (assuming sufficient code and data memory space), allowing data encryption to be added to a product in just a few hours in many cases. Both the encryption and decryption functions can operate "in place" so that additional RAM space isn't required for an encrypted data buffer. The LSET algorithms can be used on any network with any higher level network protocol that supports binary data transfers. This does NOT include the HTTP protocol except as a file transfer.

The degree of randomness in the encrypted data is an important indicator for how an encryption algorithm will stand up to brute-force attacks. The LSET algorithms were subjected to two sets of industry standard tests to access the degree of randomness in the encrypted data. These tests are:
  • The Diehard tests are a suite of tests that analyze data to determine the degree of randomness in that data, it was considered the gold standard for random number generator quality testing for many years. All three LSET Professional versions compare very favorably to the widely used Triple DES or 3DES (192 bit key) and AES (256 bit key) algorithms in the Diehard tests.
  • The National Institute of Standards and Technology (NIST) developed a suite of tests referred to as NIST 800-22 that have replaced the Diehard tests as the gold standard for random number generator quality testing. Scoring better than 95% on the suite of tests indicates a high quality random number generator with a very high degree of randomness. All three LSET Professional versions were run against the NIST 800-22 suite with five different sources of unencrypted data with an average score of 97.6%.

The tables below compare the basic features and typical performance of the LSET Professional versions. Each version can be customized to provide an additional degree of security. If the standard LSET algorithms are ever hacked these customizations would have to be learned to break your custom implementation of the algorithm.

Detailed information on the LSET Professional packages including algorithm test results is available under Non-Disclosure Agreement. Please contact us if you would like additional information.

LSET Professional Packages and Features1
Feature LSET Pro LSET ProX LSET ProXT
Encryption cypher generation Feedback shift register Feedback shift register Feedback shift register
Session key size (bits) 32 32 32
Device specific Symmetric Key generation No No Yes
Shift register Single 32-bit Single 32-bit Single or dual 32-bit
Double encryption No No With 2nd shift register
Max message length (bytes)2 256 512 1024
Applications Short control/status messages Short control/status messages, video, firmware updates Short control/status messages, video, firmware updates
Target micro class 8/16-bit < 10Mhz 16/32-bit < 20Mhz 32-bit > 20Mhz
NIST 800-22 score3 98.0% 96.6% 98.2%
Standard price $500 $1,100 $1,500
1. See the "Important Notices" at the bottom of this page.
2. Recommended maximum message lengths based on repetition of encryption ciphers, longer messages can be used with reduced security.
3. Average score for 5 runs of the NIST 800-22 test suite on encrypted data using five different sources of unencrypted data. Scores > 95% indicate a high degree of randomness.
Standard pricing is for use within a single product line (see our Software License Agreement for details). Bundled pricing is available for purchase of two packages. In some cases it may be desirable to use LSET Pro for minimized power consumption in device/gateway communications and LSET ProX or ProXT for maximized security in gateway/server communications. Please contact us for non-standard pricing.


Device-side LSET Professional Typical Performance1,2
LSET Pro LSET ProX LSET ProXT
Code/RAM space used (bytes)3,4 460 - 780 Code
55 - 59 RAM
580 - 940 Code
55 - 78 RAM
680 - 1550 Code
82 - 98 RAM
Micro PN and clock speed NXP LPC1764
ARM Cortex M3
12 Mhz
NXP LPC1764
ARM Cortex M3
12 Mhz
NXP LPC1764
ARM Cortex M3
12 Mhz
Symmetric Key generation time5 101uS - 103uS 102uS - 104uS 103uS - 125uS
Encrypt/decrypt time per byte 4.4uS - 4.8uS 3.9uS - 4.8uS 4.3uS - 8uS
Micro PN and clock speed NXP LPC1764
ARM Cortex M3
50 Mhz
NXP LPC1764
ARM Cortex M3
50 Mhz
NXP LPC1764
ARM Cortex M3
50 Mhz
Symmetric Key generation time5 24.2uS - 24.5uS 24.5uS - 24.8uS 24.5uS - 29.8uS
Encrypt/decrypt time per byte 1.1uS - 1.2uS 0.93uS - 1.2uS 1.1uS - 1.9uS
1. Performance will vary based on the options that are enabled for each version. Performance can vary considerably based on the microcontroller and the C compiler and optimization options used.
2. Random number generation times are not included in the times shown. Random number generation functions are included with the LSET source code packages but generation times can vary significantly depending on the number/type of data sources used and the degree of randomness required for the specific application.
3. These numbers show a range of code and RAM space from no optional features enabled to all optional features enabled. These numbers should only be used for comparison between LSET versions. Code space requirements in particular can vary considerably based on the microcontroller and the C compiler and optimization options used.
4. RAM utilization does not include buffer space for encrypted data. The LSET algorithms can operate "in place" so additional RAM space isn't required for an encrypted data buffer.
5. Times shown are for initial Symmetric Key generation, optional features allow for significantly shorter times for generating subsequent Symmetric Keys.

Important Notices
(1) LSE Technologies products are currently not available for sale or export outside the US. Export of devices using any data encryption is subject to US regulations on exporting encryption technology. Purchases will not be refunded if it is determined that a device may not be exported due to use of LSE Technologies encryption software.
(2) Due to the nature of software source code sales, refunds will not be offered for any reason. It is your responsibility to determine if LSE Technologies products are suitable for use in your application prior to purchasing our product.
(3) Purchase of LSET Professional products are contingent on executing our Non-Disclosure Agreement and Software License Agreement.
(4) The LSET Professional algorithms are intended for short messages in an IoT application and are not expected to provide "cryptographically secure" encryption. The algorithms are not designed or tested for large blocks of data such as needed for file encryption.
(5) Customers should expect to do some modifications to the C source code for their specific development environment. This would primarily involve changing data types but certain compilers may require other changes as well.


LSET ProfessionalTM and LSET MakerTM are trademarks of LSET Technologies
Copyright 2016 LSE Technologies