Code Monkey home page Code Monkey logo

elliptic-curve-on-esp32's Introduction

Elliptic-Curve-on-ESP32

Takes temperature and pressure's mesure with a BMP180 and ESP32 module.

ESP32

To compile, build and flash ESP32 project see here

Connection between ESP32 module and BMP180

  • Connect VIN pin of BMP180 with 3v3 pin on ESP32
  • Connect GND pin of BMP180 with GND pin on ESP32
  • Connect SCL pin of BMP180 with IO23 pin on ESP32
  • Connect SDA pin of BMP180 with IO22 pin on ESP32

Cryptographic function

Samples are encrypted with AES-GCM 256 bits. Symetric key is sent to the receiver by being encrypted following ECIES schema. uECC files from ESP32's library is used for the elliptic curve cryptography and mbdetls/aes.h is used for AES-GCM.

First connection between ESP32 and Server

ESP32 and server wich receives datas must be connected on the same WiFi network. When connection is done, the server must send first his ECIES public key in compressed format (ie begining with 0x40). Then ESP32 sends a packet with the symetric key encrypted with ECIES schema. The used elliptic curve is secp256r1.

Sending sample

ESP32 bufferizes 10 samples and encrypts them with AES-GCM 256 bits. A local timestamp is added to the sample.

Files

PS

This project is very specific but i put it on github more for the cryptographic example than to make it functionnal for another user.

elliptic-curve-on-esp32's People

Contributors

bizyroth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elliptic-curve-on-esp32's Issues

request: ECC hardware acceleration

Hello,
does the ESP32 platform provide for elliptic curve hardware acceleration?
If it does, does your code leverage it?

Thanks for you answer,
Antonio

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.