V850. Application Note. 32-Bit Single-Chip Microcontrollers AES 128 Encryption/Decryption. Document No. U19668EE1V0AN00 Date Published January 2009



Similar documents
DATA SHEET PNP SILICON EPITAXIAL TRANSISTOR FOR HIGH-VOLTAGE HIGH-SPEED SWITCHING

BIPOLAR ANALOG INTEGRATED CIRCUIT

DATA SHEET. The information in this document is subject to change without notice.

BIPOLAR ANALOG INTEGRATED CIRCUIT

Connection Cable for LED Driver Board

Old Company Name in Catalogs and Other Documents

Old Company Name in Catalogs and Other Documents

Old Company Name in Catalogs and Other Documents

USB Stick Driver Installation Instructions

SILICON TRANSISTOR 2SC3355

DATA SHEET COMPACT AND LIGHTWEIGHT, SMALL MOUNTING SIZE, HIGH BREAKDOWN VOLTAGE

Old Company Name in Catalogs and Other Documents

10-/100-Mbps Ethernet Media Access Controller (MAC) Core

Old Company Name in Catalogs and Other Documents

µpd6379, 6379A, 6379L, 6379AL

C. System Requirements. Apple Software is supported only on Apple-branded hardware that meets specified system requirements as indicated by Apple.

FILEMAKER PRO ADVANCED SOFTWARE LICENSE

AN AES encryption and decryption software on LPC microcontrollers. Document information

PoNET kbd48cnc. User s manual

HG2 Series Product Brief

Infineon Technologies North America Corp. Terms and Conditions of Sale

Old Company Name in Catalogs and Other Documents

Part Number Decoder for Toshiba NAND Flash

Intel SSD 520 Series Specification Update

AMERICAN INSTITUTES FOR RESEARCH OPEN SOURCE SOFTWARE LICENSE

SUBSCRIPTION SERVICES.

TOSHIBA Transistor Silicon PNP Epitaxial Type (PCT Process) 2SA1020

PLEASE READ THIS AGREEMENT CAREFULLY. BY INSTALLING, DOWNLOADING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Nexinto Business Cloud Terms Microsoft Volume Licensing End user License Terms

Rev.F 1/3 c 2013 ROHM Co., Ltd. All rights reserved.

Product Brief. 2.0 microtoled. Intelligent GOLDELOX Display Module. µtoled-20-g2. Rev 1.0

SN54165, SN54LS165A, SN74165, SN74LS165A PARALLEL-LOAD 8-BIT SHIFT REGISTERS

TOSHIBA Transistor Silicon NPN Epitaxial Type (PCT Process) 2SC2383

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

2 How to Set the Firewall when Using OptoLyzer Suite?

etpu Host Interface by:

Pervasive Software Inc. Pervasive PSQL v11 Insurance License Agreement

CITRIX SYSTEMS, INC. SOFTWARE LICENSE AGREEMENT

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB

SAMPLE SOFTWARE LICENSE AGREEMENT (Review Copy)

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Website TERMS OF USE AND CONDITIONS

CLOUD SERVICE SCHEDULE

PERFORCE End User License Agreement for Open Source Software Development

General Software Licence Agreement of windream GmbH

APPLICATION NOTE. Secure Personalization with Transport Key Authentication. ATSHA204A, ATECC108A, and ATECC508A. Introduction.

General Terms and Conditions of NEC Tokin Europe GmbH

SDLS068A DECEMBER 1972 REVISED OCTOBER Copyright 2001, Texas Instruments Incorporated

DATA SHEET HIGH ISOLATION VOLTAGE SSOP PHOTOCOUPLER

INTEL SOFTWARE LICENSE AGREEMENT (OEM / IHV / ISV Distribution & Single User)

Installing Your MS Access Database (Manual Installation Instructions)

TOSHIBA Bipolar Linear Integrated Circuit Silicon Monolithic TAR5SB15~TAR5SB50

Tower Software License Agreement

6. MODIFICATIONS. Licensee may modify, adapt and create improvements to the SOFTWARE subject to the following conditions:

Intel Technical Advisory

What Types of ECC Should Be Used on Flash Memory?

NetSuite End User License Agreement for Mobile Applications

DPDT SWITCH FOR 2.4 GHz AND 6 GHz DUAL-BAND WIRELESS LAN

License Agreement Software as a Service (SaaS)

SELLING TERMS AND CONDITIONS

Performance Analysis and Software Optimization on Systems Using the LAN91C111

MDM Zinc 3.0 End User License Agreement (EULA)

SPYDERS END USER LICENSE AGREEMENT TERMS AND CONDITIONS

QUADRO POWER GUIDELINES

ZIMPERIUM, INC. END USER LICENSE TERMS

Master Anamorphic Lens 100/T1.9 Lens Flare Set. Date: May 2015

BROCADE COMMUNICATIONS SYSTEMS, INC. END USER SOFTWARE LICENSE AGREEMENT FOR BROCADE IP ANALYTICS PACK FOR VMWARE VREALIZE OPERATIONS

UNITY ASSET STORE - TERMS OF SERVICE END USER LICENSE AGREEMENT

TPN4R712MD TPN4R712MD. 1. Applications. 2. Features. 3. Packaging and Internal Circuit Rev.4.0. Silicon P-Channel MOS (U-MOS )

Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch

How To Use The Blog Safely And Responsibly

Intel Media SDK Library Distribution and Dispatching Process

SSM3K335R SSM3K335R. 1. Applications. 2. Features. 3. Packaging and Pin Configuration Rev.3.0. Silicon N-Channel MOS (U-MOS -H)

TESLA K20 GPU ACCELERATOR

Oracle Endeca Information Discovery Integrator

Advanced Encryption Standard (AES) User's Guide

Intel Service Assurance Administrator. Product Overview

Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX

Terms of Use The Human Face of Big Data Website

Website Hosting Agreement

EXHIBIT A SOFTWARE LICENSE TERMS AND CONDITIONS

SPC5-CRYP-LIB. SPC5 Software Cryptography Library. Description. Features. SHA-512 Random engine based on DRBG-AES-128

THE SOFTWARE MAY NOT BE SOLD, TRANSFERRED, OR FURTHER DISTRIBUTED EXCEPT AS AUTHORIZED BY LICENSOR.

iscsi Quick-Connect Guide for Red Hat Linux

NVIDIA GRID 2.0 ENTERPRISE SOFTWARE

Mobile Banking Service Agreement (Addendum to your Primary Online Banking Service Agreement)

SOFTWARE LICENSE AGREEMENT

Terms of Use/ Disclaimers/ Contract/ Agreement

DUAL MONITOR DRIVER AND VBIOS UPDATE

SecureDoc Disk Encryption Cryptographic Engine

Therm-App Software Development Kit License Agreement

Open Source Software used in the product

Haswell Cryptographic Performance

DISCRETE SEMICONDUCTORS DATA SHEET. dbook, halfpage M3D088. BB201 Low-voltage variable capacitance double diode. Product specification 2001 Oct 12

Transcription:

Application Note V850 32-Bit Single-Chip Microcontrollers AES 128 Encryption/Decryption Document No. U19668EE1V0AN00 Date Published January 2009 NEC Electronics (Europe) GmbH

DISCLAIMER The related documents in this application note may include preliminary versions. However, preliminary versions may not have been marked as such. The information in this application note is current as of its date of publication. The information is subject to change without notice. For actual design-in, refer to the latest publications of NEC s data sheets or data books, etc., for the most up-to-date specifications of PRODUCT(S). Not all PRODUCT(S) and/or types are available in every country. Please check with an NEC sales representative for availability and additional information. No part of this application note may be copied or reproduced in any form or by any means without prior written consent of NEC. NEC assumes no responsibility for any errors that may appear in this application note. NEC does not assume any liability for infringement of patents, copyrights or other intellectual property rights of third parties by or arising from the use of PRODUCT(S) listed in this application note or any other liability arising from the use of such PRODUCT(S). No license, express, implied or otherwise, is granted under any patents, copyrights or other intellectual property rights of NEC or others. Descriptions of circuits, software and other related information in this application note are provided for illustrative purposes of PRODUCT(S) operation and/or application examples only. The incorporation of these circuits, software and information in the design of customer s equipment shall be done under the full responsibility of customer. NEC assumes no responsibility for any losses incurred by customers or third parties arising from the use of these circuits, software and information. While wherever feasible, NEC endeavors to enhance the quality, reliability and safe operation of PRODUCT(S) the customer agrees and acknowledges that the possibility of defects and/or erroneous thereof cannot be eliminated entirely. To minimize risks of damage to property or injury (including death) to persons arising from defects and/or errors in PRODUCT(S) the customer must incorporate sufficient safety measures in their design, such as redundancy, fire-containment and anti-failure features. The customer agrees to indemnify NEC against and hold NEC harmless from any and all consequences of any and all claims, suits, actions or demands asserted against NEC made by a third party for damages caused by one or more of the items listed in the enclosed table of content of this application note for PRODUCT(S) supplied after the date of publication. PRODUCT(S) are classified into the following three quality grades: Standard, Special and Specific. The Specific quality grade applies only to PRODUCT(S) developed based on a customer-designated quality assurance program for a specific application. The recommended applications of PRODUCT(S) depend on its quality grade, as indicated below. Customers must check the quality grade of each PRODUCT(S) before using it in a particular application. Standard : Computers, office equipment, communications equipment, test and measurement equipment, audio and visual equipment, home electronic appliances, machine tools, personal electronic equipment and industrial robots Special : Transportation equipment (automobiles, trains, ships, etc.), traffic control systems, antidisaster systems, anti-crime systems, safety equipment and medical equipment (not specifically designed for life support). Specific : Aircraft, aerospace equipment, submersible repeaters, nuclear reactor control systems, life support systems and medical equipment for life support etc. The quality grade of PRODUCT(S) is Standard unless otherwise expressly specified in NEC data sheets or data books, etc. If customers wish to use PRODUCT(S) in applications not intended by NEC, they must contact NEC sales representative in advance to determine NEC s willingness to support a given application. If the supplied goods/information are subject to Japanese, German, European and/or North American export controls, the customer shall comply with the relevant export control regulations in the event that the goods are exported and/or re-exported. If deliveries are exported without payment of duty at the request of the customer, the customer accepts liability for any subsequent customs administration claims with respect to NEC. Notes: (1) NEC as used in this statement means NEC Electronics Corporation and also includes its direct or indirect owned or controlled subsidiaries. (2) PRODUCT(S) means any product developed or manufactured by or for NEC (as defined above). 2 Application Note U19668EE1V0AN00

Table of Contents Chapter 1 Supporting Data Security... 4 Chapter 2 Revision History... 5 Application Note U19668EE1V0AN00 3

Application Note for V850 Chapter 1 Supporting Data Security NEC Electronics Europe (GmbH) has ported the Rijndael ANSI C code by Rijmen, Bosselaers and Barreto to our 32-bit V850 microcontroller, with a view to providing unrestricted AES128 middleware libraries free-ofcharge to designers using, what is today, the world s number one selling 32-bit microcontroller. (Source: Gartner Dataquest, April 2008). There are three main components included in the library: Source code of the encryption, decryption routines. Associated header file for the above. Test routines to verify the execution speed of the routines provided. The software supports encryption key lengths of 128-bits, 192-bits and 256-bits and can be used with any V850 family microcontroller. Implementing the library is very straightforward, following this simple process: Call a function that initialises the key that will be used to encrypt and decrypt the messages; you just need to pass the size of the key (128-, 192- or 256-bits) to the library function provided. Call a function to encrypt a 128-bit message; the result is a 128-bit encrypted message. Call the decrypt function. Two test functions are also provided by NEC Electronics. The first, called SimpleAESTest, performs three encryptions / decryptions with three different key sizes (128-, 192- and 256-bits). Comparison is performed to verify that the result of each of these three encryptions / decryptions gives back the plaintext as well as measuring the encryption / decryption timings for each key size. The second function, ValidAES, performs a deeper validation of the Rijndael implementation using externally validated test vectors. Details on this validation method can be found on the Internet at http://blogs.msdn.com/si_team/archive/2006/05/19/602055.aspx. It goes without saying that responsibility for the actual implementation lies with the user of the middleware. In terms of resource required, our middleware requires 4,494 bytes of code memory, 4,096 bytes of data memory and 10,376 bytes of constant memory, based on its usage in a V850 32-bit microcontroller. It should be noted that whilst developed with a 32-bit microcontroller in mind, given the availability of C source code in NEC Electronics library, it would be practical to easily port the code to a 16-bit or even an 8- bit microcontroller, although the required response time should be considered as the CPU clock speed of the selected NEC Electronics microcontroller decreases. Further details are available by contacting NEC Electronics at www.eu.necel.com. 4 Application Note U19668EE1V0AN00

Application Note for V850 Chapter 2 Revision History Item Date published Document No. Comment 1 January 22, 2009 U19668EE1V0AN00 1 st Release Application Note U19668EE1V0AN00 5