Skip to content

Research to compare ECC (Elliptic Curve Cryptography) with RSA and AES encryption algorithms. To implement ECC based encryption in IoT devices providing better security with smaller key sizes.

License

Notifications You must be signed in to change notification settings

tanmayidev/lora-ecc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

LoRa Technology Combined with ECC for encryption

Check out lora-ecc-analysis branch to see progress of our work - link

Definitions:

  • LoRa (Long Range) is a spread spectrum modulation technique derived from chirp spread spectrum (CSS) technology. Semtech's LoRa is a long range, low power wireless platform that has become the de facto wireless platform of Internet of Things (IoT).

  • ECC (Elliptic Curve Cryptography) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide equivalent security.

Final Goal:

  1. Implement ECC based encryption/decryption for LoRa based systems(coin-cell devices)

  2. Make a visualizer for demonstrating its advantages to potential clients.

  3. (Maybe) publish a paper on our findings, if the outcomes are feasible enough.

Need for ECC?

KEY SIZE (in bits)         GENERATION TIME (seconds)
ECC            RSA ECC                        RSA
163            1024 0.08                        0.16
233            2240 0.18                        7.47
283            3072 0.27                        9.89
409            7680 0.64                    133.90
571            15360 1.44                    679.06

Currently Used Cryptography Algorithms in IoT:

  • AES
  • DES
  • Triple-DES
  • RSA
  • DSA
  • BlowFish
  • TwoFish

Spectrum of Elliptic Curves:

  • Hessian curves
  • Edwards curves
  • Twisted curves
  • Twisted Hessian curves
  • Twisted Edwards curve
  • Doubling-oriented Doche–Icart–Kohel curve
  • Tripling-oriented Doche–Icart–Kohel curve
  • Jacobian curve
  • Montgomery curves

Assignment 1:

  1. Find the most suitable algorithm from the Spectrum of Elliptic Curves for IoT devices (Lowest possible computing power required)

  2. Simulate algorithm shortlisted from the above step. In C, C++, Python.

  3. Simulate (i.e., find time to encrypt and decrypt the message) currently used algorithms in IoT; in C, C++, Python.

  4. Simulate the respective algorithms on the following systems :

    • Intel x86/x64
    • ARM Cortex-A72
    • ESP 32
    • M1 (Apple/Mac)
  5. Collect performance samples from above simulations and make appropriate stats.

About

Research to compare ECC (Elliptic Curve Cryptography) with RSA and AES encryption algorithms. To implement ECC based encryption in IoT devices providing better security with smaller key sizes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published