Group Theoretic Cryptography (GTC) Offers an Alternative to TLS’s ECC/RSA Security for Microcontrollers

SecureRF Group Theoretic Cryptography

The Transport Layer Security (TLS), sometimes incorrectly referred as its predecessor: Secure Sockets Layer (SSL), helps securing messages over the network using symmetric cryptography, and optionally public-key cryptography (aka asymmetric cryptography). This works well in servers and computers, but with the Internet of Things, even low-power sensor nodes would benefit from secure communication. The trouble is that today’s commonly-implemented RSA- and Diffie-Hellman-type public-key protocols have a memory footprint that will not fit on resource-constrained microcontrollers systems, e.g. Arm Cortex-M0 based ones, and power consumption may also be an issue since many of those are battery-powered. I’m writing about this topic today, as there may be a better alternative for resource-constrained microcontrollers which I noticed in Arm Techcon 2019 schedule, with SecureRF Corporation’s session entitled “When it comes to connect IoT devices, how small is small?” that will present an alternative to TLS’s ECC and RSA based security that relies on […]

Semtech Releases Open Source Software for LoRa Gateways & Devices

Lora Basic Station

Semtech has released open source software for LoRa-based gateways including LoRa Basic Station packet forwarder for Linux-based gateways, LoRa Basic MAC implementation of the LoRa Alliance’s LoRaWAN specification, and LoRa Basic loader bootloader capable of handling firmware updates. All three components are available for free under a revised 3-Clause BSD license. LoRa Basic Station supports LoRaWAN Classes A, B, and C, presents a unified radio abstraction layer supporting Concentrator Reference Designs v1.5 and v2, and implements various backend protocols. Apart from mbedTLS and libloragw/-v2, it does not rely on external dependencies, the code is written in C language only, and easily portable to Linux gateways and embedded systems. LoRa Basic MAC is a fork of IBM’s LMiC library, also implemented in C language,  supports multiple regions selectable at compile and/or run time, and can handle Class A, Class B, and Class C devices. Basic MAC uses LoRa Basic loader to […]

Eclipse IoT Survey Report Reveals Arm & Linux Dominate, Security Concerns

Constrained devices Arm IoT

The Eclipse IoT Working Group has just released a report asking the global IoT developer community to share their perceptions, requirements, and priorities. And with over 1,700 individuals taking the survey between February and March 2019, the key findings are interesting: IoT drives real-world, commercial outcomes today. 65% of respondents are currently working on IoT projects professionally or will be in the next 18 months. IoT developers mostly use C, C++, Java, JavaScript, and Python AWS, Azure, and GCP are the leading IoT cloud platforms Top three industry focus areas remain the same as last year: IoT Platforms, Home Automation, and Industrial Automation / IIoT. MQTT remains the dominant IoT communication protocol leveraged by developers The Eclipse Desktop IDE is the leading IDE for building IoT applications The last point may be slightly biased because the survey was done by the Eclipse IoT Working Group, so most respondents were already […]

A Tale of Many Divisions – Naive Prime Factorization Across a Handful of Architectures

Compiler Explorer Dissassembly

CNXSoft: Another guest post by blu where he looks at how a small piece of code involving divisions behaves on different architectures. Once upon a time (i.e. the other week) I was giving tips to my 5th-grader how to efficiently compute least common multiples, when it struck me I could do better ‒ I could write a prime factorizer that could be useful to the elementary-school-goers in this house, as well as to the people checking the formers’ homeworks. Moreover, a naive prime factorizer could show kids how computers would carry out algorithms taught in class. There was also a bit of curiosity involved ‒ last time I wrote a prime factorizer I was in high school, and the language was Applesoft BASIC, so 30 years later, armed with a modern C++ arsenal and a supercomputer (by late ‘80s standards), I wondered what one might come up with today, approaching […]

Zero-overhead Destructors in C

CNXSoft: This is another guest by Blu, this time about C programming, and specifically destructors in C programming language If you asked seasoned C++ developers what their favorite features in the C++ language might be, chances are that destructors would be on everybody’s shortlist. As many other C++ developers, I too tend to do my occasional share of C, and if there’s one feature I dearly miss in C that is destructors ‒ precisely in their capacity of automating the release of resources at the right moment. But first a disclaimer is in order: many people call simple application of destructors ‘RAII’ ‒ ‘Resource Acquisition Is Initialization’; I find this acronym unnecessarily awkward and obfuscating an otherwise straightforward concept, so you won’t see this acronym through the end of this text. Instead, I’ll be using ‘end-of-scope’ action. Traditionally, in the language of C end-of-scope (more often end-of-function) actions are achieved […]

Getting Started with ANAVI Light pHat Starter Kit with RGB LED Strip, Light Sensor

ANAVI Light pHAT is an expansion board best suited for Raspberry Pi Zero (W/WH) boards, but also working with any other Raspberry Pi boards with a 40-pin header, that can control a 12V RGB LED strip and sensors. The project’s crowdfunding has just been successfully completed on CrowdSupply with 82 pledges, but you can still pre-order the board or kits for $25 and up. The developer – Leon ANAVI – had sent me a starter kit a little while ago, and this week-end I had time to test the basic functionalities of the board. The package includes the pHAT board itself, a one meter RGB LED strip, an I2C sensor, and some stickers. The sensor is based on BH1750 ambient light intensity sensor. The light pHAT boards include a 4-pin 12V/RGB blue terminal, EEPROM, three I2C connecter, a 3.3V UART connector to access the serial console for debugging / running […]

JeVois-A33 Linux Computer Vision Camera Review – Part 2: Setup, Guided Tour, Documentation & Customization

Computer Vision, Artificial Intelligence, Machine Learning, etc.. are all terms we hear frequently those days. JeVois-A33 smart machine vision camera powered by Allwinner A33 quad core processor was launched last year on Indiegogo to bring such capabilities in a low power small form factor devices for example to use in robotics project. The company improved the software since the launch of the project, and has now sent me their tiny Linux camera developer kit for review, and I’ve already checked  out the hardware and accessories in the first post. I’ve now had time to test the camera, and I’ll explained how to set it up, test some of the key features via the provided guided tour, and show how it’s possible to customize the camera to your needs with one example. Getting Started with JeVois-A33 In theory, you could just get started by inserting the micro SD card provided with […]

Aspencore 2017 Embedded Markets Study – Programming Languages, Operating Systems, MCU Vendors, and More

Aspencore media group asked readers of their EE Times and Embedded.com websites to fill out an online survey about their embedded system projects. They got 1,234 respondents mostly from North America (56.3%), followed by Europe (25.2%), and Asia (10.6%). This resulted in a 102-page market study which you can download here. I’ve extracted a few slides to have a look at some of the trends. C language is still the most used language in embedded systems, but other languages like C++, Python and even assembly language are gaining traction. Operating system is more spread with Linux being the most used via Embedded Linux distributions, Debian, and Ubuntu. FreeRTOS comes in second place, while Android registers fourth with 13%. Git has finally supplanted Subversion in 2017, with all other version control software losing ground. Switching to some hardware slides, 44% used a development board to start their embedded design with ST […]

Exit mobile version