element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Upcycle IoT Design Challenge
  • Challenges & Projects
  • Design Challenges
  • Upcycle IoT Design Challenge
  • More
  • Cancel
Upcycle IoT Design Challenge
Blog Blog #7 : Securing Recycling Factory Database and Medical IoT Cryptography
  • Blog
  • Forum
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Upcycle IoT Design Challenge to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: abhishek2018
  • Date Created: 7 Feb 2024 10:20 PM Date Created
  • Views 539 views
  • Likes 3 likes
  • Comments 4 comments
  • SHA 256
  • FIPS PUB 140-3
  • Public Key Cryptography Controller
  • FIPS PUB 140-2
  • SAME51J20A
  • drng
  • Diehard Random Tests Suite
  • EV76S68A
  • SAM E51 Curiosity Nano Evaluation Kit
  • Integrity Check Module
  • PUKCC
  • NIST Special Publication 800-22
  • American NIST
  • Deterministic RNG
  • Upcycle IoT Design Challenge
  • entropy
  • nist
  • Curiosity Nano Kits
  • Secure Hash Algorithm
  • True Random Number Generator
  • Cortex M4F
Related
Recommended

Blog #7 : Securing Recycling Factory Database and Medical IoT Cryptography

abhishek2018
abhishek2018
7 Feb 2024

In this blog, I will implement secure authentication with IoT.

The Microchip's  SAM E51 Curiosity Nano Evaluation Kit offers on-board features like AES(Advanced Encryption Standard), PUKCC(Public Key Cryptography Controller) and TRNG(True Random Number Generator).

I will implement the login protection in hardware, in AWS IoT Cloud and in Google PlayStore applet, with the simple password, and login failure and successful demonstration. The security implementations with AWS IoT Cloud and on Google PlayStore applet, are in their respective blogs.

1. True Random Number Generator

The True Random Number Generator (TRNG) of 'Microchip's  SAM E51 Curiosity Nano Evaluation Kit' provides 32-bit random number every 84 clock cycles, passing the American NIST Special Publication 800-22 and Diehard Random Tests Suites. This TRNG can also be used as an entropy source for seeding DRNG (Deterministic RNG), which the requirement of FIPS PUB 140-2 and 140-3.


2. Advanced Encryption Standard

The Microchip's  SAM E51 has onboard cryptography module to implement FIPS Publication 197 Compliant Advanced Encryption Standard (AES).

The recycling database, files and folders of employees health, the air quality levels in the recyclying processes will be encrypted using symmetric-key algorithm of AES. Different keysizes are available using Microchip's SAM E51

image

2.1 Encryption Process

image

Iin the above figure,

  1. In the ADD ROUND KEY, each byte is combined with  round key (which are derived using Rijndael's key) using bitwise XOR.
  2. The SubBytes is a non-linear substitution where each byte is replaced  according to lookup table.
  3. The ShiftRows is a  transposition step.
  4. The MixColumns is a mixing operation.

For 2 byte parallel processing, ClockFrequency=Throughput2​×Nr + 1.

2.2 Decryption Process

image


3. Public Key Cryptography Controller

Using the Microchip's SAM E51 Curiosity Nano Evaluation Kit's, PUKCC(Public Key Cryptography Controller), one can implement public key cryptography- RSA((Rivest-Shamir-Adleman), DSA,Elliptic Curves and DRNG.

The RSA can be implemented with modular exponentiation upto 7168 bits with Chinese Remainder Theorem and up to 5376 bits without Chinese Remainder Theorem.

3.1  Implementation of Public Key Cryptography Controller,on Microchip SAM E51 Curiosity Nano Evaluation Kit

 void e14upcycle_iot_PUKCC(void)
{
memset(&PUKCLParam, 0, sizeof(PUKCL_PARAM));
pvPUKCLParam = &PUKCLParam;
vPUKCL_Process(e14upcycle, pvPUKCLParam);
}

while (PUKCL(u2Status) != PUKCL_OK) {;}
while (pvPUKCLParam->P.PUKCL_e14upcycle.u4Version != PUKCL_VERSION) {;}
while (pvPUKCLParam->P.PUKCL_e14upcycle.u4CheckNum1 != 0x6E70DDD2) {;}
while (pvPUKCLParam->P.PUKCL_e14upcycle.u4CheckNum2 != 0x25C8D64F) {;}

int main(void)
{
e14upcycle_iot_design_init(); 
while ((PUKCCSR & BIT_PUKCCSR_CLRRAM_BUSY) != 0);
}
 
e14upcycle_iot_PUKCC();
while(1){} 

3.2  Implementation of SHA-256 on Microchip SAM E51 Curiosity Nano Evaluation Kit

The kit has integrated module which offers SHA1, SHA224, SHA256. I will implement Integrity Check Module based Secure Hash Algorithm,SHA256.

Code  is known and elementary

Output Testing

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image


image

  • Sign in to reply
  • DAB
    DAB over 1 year ago in reply to javagoza

    Agreed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • javagoza
    javagoza over 1 year ago

    The content of this blog is very interesting for everyone. I think you are missing an opportunity to have made a great, super useful tutorial for the entire community.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • abhishek2018
    abhishek2018 over 1 year ago in reply to shabaz

    ya, self test code from datasheet with function and variable names changed

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 1 year ago

    Trying to follow this, but the code is confusing because there are statements outside of functions. Is it pseudo-code?

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube