element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
Security and Identification
  • Technologies
  • More
Security and Identification
Forum Hardware Encryption Module
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Security and Identification to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 7 replies
  • Answers 1 answer
  • Subscribers 17 subscribers
  • Views 2435 views
  • Users 0 members are here
  • in:security
  • networking
Related

Hardware Encryption Module

Former Member
Former Member over 10 years ago

Hello everyone,

I am going to Implement a AES-256 using some controller. I need suggestions for road-map and a decent choices of controllers.
Should I send complete file to controller for encryption because this implementation limits my range of file sizes.

Any help will be appreciated.
Regards

  • Sign in to reply
  • Cancel

Top Replies

  • screamingtiger
    screamingtiger over 10 years ago +1 suggested
    First of all, its not a "hardware implementation" if you use a MCU BTW. Its still a software implementation. AES is simple so you can use any microcontroller. Don't know what your experience is, but Arduino…
  • Former Member
    Former Member over 10 years ago in reply to screamingtiger +1
    Hi Joey, Thanks for response. By hardware I mean a device which can be connected to a computer to encrypt data whatever implementation it may use. I am considering sending data as one block from one serial…
  • screamingtiger
    screamingtiger over 10 years ago in reply to Former Member +1 verified
    I would just design a quick protocol or use. It can be real simple like having a start a stop sequence, send 2 blocks. One block is data, the other is a check of some sort, in worse case a checksum. A…
  • gadget.iom
    0 gadget.iom over 10 years ago

    Duplicate of: Hardware Encryption Device/Module

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • screamingtiger
    0 screamingtiger over 10 years ago

    First of all, its not a "hardware implementation" if you use a MCU BTW.  Its still a software implementation.

     

    AES is simple so you can use any microcontroller.

     

    Don't know what your experience is, but Arduino would work.  Chipkit Products are good (FAST!). PSOC is good.

    All can user serial communication.  All can use C/C++.

     

    I am not sure sending a complete file is wise, most MCU have small storage.  I would do it more like a stream or block send.  That is send it blocks of data, get back the encrypted blocks.  Since AES is a block cipher this works well.

     

    Send your key to the MCU, have it perform the key expansion, then send it a block , get a the block back.  A small protocol will be needed to accomplish this but then again a protocol is always needed.

     

    I don't know your exact details needed, a bit more information would help.  Using this method you will need software running on a PC to send the file to the device, unless its a device that encrypts on the fly like a USB drive.

     

    More info!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 10 years ago in reply to screamingtiger

    Hi Joey,
    Thanks for response.
    By hardware I mean a device which can be connected to a computer to encrypt data whatever implementation it may use.
    I am considering sending data as one block from one serial port, encrypt data and receive it from the other. Should i use two different ports for sending and receiving or one will suffice?
    I am doing UG project on the basis of which I may score a job. Thatswhy i dont want to use arduino because in my country Arduino is not taken seriously and thought as a easy solution. Which other will be better or should I use arduino.?
    Also I want to store the Key in the Controller.
    Which protocol will be better to use or should I design my own for sending and receiving data.?
    Regards

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • screamingtiger
    0 screamingtiger over 10 years ago in reply to Former Member

    I would just design a quick protocol or use.  It can be real simple like having a start a stop sequence, send 2 blocks.  One block is data, the other is a check of some sort, in worse case a checksum.

     

    A single serial port is fine, which will be a USB port in today's terms.

     

    I assume your country is ok with AVR just not Arduino?  If so, check out AVRUSB

    Another commone one is the ATTiny USB

     

    I cant say if that is the exact one you should use but you need something that can either be a USB client OR has a usb->serial converter like the Arduino.

     

    Keep in mind you will need software for the PC, written by you, to function as a "Driver".  This software would allow you to drag and drop a file and it would take care of sending the device the data and saving the file.  There may be some generic functionality you can use if you are a Windows person where it detects it as an "Encryption Device".

     

    You can store the key in the controller but keep in mind that it can be extracted.  I recommend the device prompt for a password (through the driver) and compute a key or decrypt the key stored in EEPROM.  One of the issues with Symmetrical methods is key transfer as I am sure you are aware.

     

    I don't see that you would want to implement anything too complex such as data compression etc..

     

    Pick a device to use and I can help you from there. 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 9 years ago in reply to screamingtiger

    Hi Joey,

    Our adviser is urging us to use some derivative of 8051. Do you know any of them which can be used for implementation of AES-256 as it has very low memory. In pakistan, Nothing is available. We will have to import it. Kindly guide me to select a chip or kit.

    Regards

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • screamingtiger
    0 screamingtiger over 9 years ago in reply to Former Member

    I never used the 8051 in an embedded or micro system.  It is a CISC architecture and not necessary for the AES-256 which is designed for a RISC system.  So I find that requirement to be odd, but none the less.

     

    With that said here are a list of chips:

    http://www.atmel.com/products/microcontrollers/8051architecture/flash_reprogrammable.aspx

     

    2KB of flash will suffice for your code,

    http://www.atmel.com/devices/AT89C2051.aspx?tab=parameters

     

    This chip has a UART.  Personally I would look for something that is designed for USB development.  I think you would want this to look like a flash drive where you plug it in and it installs the software.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jpmc01
    0 jpmc01 over 9 years ago in reply to screamingtiger

    Hi Joey,

     

    if you connect a  FT232R to the Rxd (p3.0) and Txd (p3.1) pins of a 8051 you have a 8051 with USB capabilities.

    I am currently using a AT89C51ED2 micro (64K Flash / 2K EEPROM) connected to a FT232R : works great.

    By adding three MSOFET's an three resistors I can also use the USB port for programming the AT89C51ED2.

     

    regards JP

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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