|
Summary
Microchip offers a reliable security solution for embedded applications built on the 16- and 32-bit microcontroller platform. This solution is provided by means of a single library. This library features the symmetric key encryption/decryption functions Advanced Encryption Standard (AES) and Triple-Data Encryption Algorithm (Triple-DES). These algorithms are also recommended by most Internet Engineering Task Force (IETF), Federal Information Processing Standards (FIPS) and IPSec standards.)
Features
•
|
Optimized for speed, code size and RAM usage
|
•
|
Library functions tested for adherence to applicable standards
|
•
|
Application note describes APIs
|
•
|
Several examples of use are provided for each library function
|
•
|
All Microchip 16-bit Families supported
|
Typical Applications
•
|
Web access
|
•
|
Secure XML transactions
|
•
|
Virtual Private Networks (VPN)
|
•
|
Secure transfer of stored calibration data
|
Cryptographic Functions: 16-bit MCUs and DSCs
Cryptographic Algorithm
|
Applicable Specification
|
Cryptographic Function(1)
|
Code Size (bytes)
|
Data Rate(2) (Kbytes,sec)
|
T-DES
|
FIPS 46-3
|
Basic Encryption and Decryption
|
7500
|
19.8 (16 MIPS)
49.5 (40 MIPS)
|
AES (128-bit)
|
FIPS 197
|
Basic Encryption
|
3018
|
74.1 (16 MIPS)
184.7 (40 MIPS)
|
Notes:
1) AES and T-DES data rate represents the average of the data rates for performing basic encryption and decryption functions for a single block of data.
2) Wrapper functions are used in combination with the underlying basic encryption and/or decryption functions for the respective algorithm (AES,T-DES).
Cryptographic Functions: 32-bit MCUs
Cryptographic Algorithm
|
Cryptographic Function
|
CPU Cycle Times in uSec (1,2)
|
Throughput (Kbytes/sec)
|
AES (128-bit)
|
Create Session Key
|
40.45
|
764
|
Encryption Block
|
20.45
|
Decrypt Block
|
20.45
|
AES (192-bit)
|
Create Session Key
|
48.83
|
634.4
|
Encryption Block
|
24.63
|
Decrypt Block
|
24.63
|
AES (256-bit)
|
Create Session Key
|
57.68
|
544.4
|
Encryption Block
|
28.70
|
Decrypt Block
|
28.70
|
AES Library for PIC32 MCUs Memory Usage:
With MIPS32 Instructions: 14.9 KB
With MIPS16 Instructions: 13.9 KB
Notes:
1) Speed (Time) optimized -03 loops unrolled.
2) PIC32 MCU running at 80 MHz.
Encryption software can be downloaded below as part of the Data Encryption Libraries.
|