Table of Contents
Overview
The DES module provides hardware-accelerated data encryption and decryption functions. The module runs either the single DES or the triple DES (3DES) algorithm in compliance with the FIPS 46-3 standard and supports the following operating modes:
- Electronic codebook (ECB)
- Cipher block chaining (CBC)
- Cipher feedback (CFB)
The DES module is based on a symmetric algorithm, meaning that the encryption and decryption keys are identical. To encrypt data means to convert it from plain text to an unintelligible form called cipher text. Decrypting cipher text converts previously encrypted data back to its original plain text form.
Application details
The application is a reference to usage of DES DriverLib functions on CC3200. Developers can refer to this simple application and re-use the functions in their applications.
- desdemo: This command allows the user to excercise the DES funcitonality on CC3200. The command needs one parameter:
- des-mode - DES algorithm. The value can be ECB, CBC, CFB, TECB, TCBC, or TCFB.
User will be prompted for inputs for key and plain text input. User can also undefine USER_INPUT
in main.c to use the default test vectors for debugging (psDESTestVectors
in des_vector.h.
Source Files briefly explained
- main.c - The main file that contains the core-logic for encryption and decryption. The functions in the file uses DriverLib calls to perform encryption and decryption.
- des_userinput.c - This file is used in the USER-INPUT mode. The function in the file reads the input from the user, parses the input string and feed the core-logic functions in the des_main.c
- pinmux.c - Generated by the PinMUX utility. UARTA0 pins are brought out in this file.
- startup_*.c - Initialize vector table and IDE related functions
- uart_logger.c - Functions to display information on UART
Usage
- Setup a serial communication application. Open a serial terminal on a PC with the following settings:
- Port: Enumerated COM port
- Baud rate: 115200
- Data: 8 bit
- Parity: None
- Stop: 1 bit
- Flow control: None
- Run the reference application.
- Open the project in CCS/IAR. Build the application and debug to load to the device, or flash the binary using UniFlash.
- A prompt will appear on the terminal. Enter the aesdemo command with your chosen inputs as shown above.