****************************************************************************************************
This ZIP File is associated with the Application Note


   	Implementing the RSA Cryptosystem with the Public Key Accelerator (EE-385)  


that can be found at http://www.analog.com/ee-notes.

Date Created:	10/13/2015

****************************************************************************************************
CONTENTS

	1. DESCRIPTION
	2. VERSION INFORMATION
	3. DIRECTORY STRUCTURE
	4. EXTERNAL CONNECTIONS

****************************************************************************************************
1. DESCRIPTION

This Directory contains two example projects, one for the ADSP-BF70x Blackfin+ processor and one for the ADSP-2158x/ADSP-SC58x SHARC+ processor, that demonstrates the use of the TRNG and PKA to implement the RSA cryptosystem. The TRNG is used to generate
random numbers and then tested for primality to generated prime numbers. The PKA is used for the majority of arithmetic operations on large numbers used in the RSA cryptosystem. The application goes through the process of using these hardware engines on the processor to generate keys and encrypt/decrypt a message.

****************************************************************************************************
2. VERSION INFORMATION

Tested on:

IDE: 		CrossCore Embedded Studio 2.0.0.0 (w1503101)
Hardware: 	ADSP-SC589 EZ-BOARD Evaluation Platform REV	0.2
		ADSP-BF706 EZ-KIT-MINI Evaluation Platform REV 1.1 

****************************************************************************************************
3. DIRECTORY STRUCTURE

- RSAexample - root directory
	- Project\BF706 - ADSP-BF706 Blackfin+ project files
	- Project\SC58x\RSAexample_Core0 - ADSP-SC58x SHARC+ project files for Cortex-A5 ARM core (Core0)
	- Project\SC58x\RSAexample_Core1 - ADSP-SC58x SHARC+ project files for SHARC0 core (Core1)

	- src - source files
		- math_utilities.c/h- mathematical functions to test primality, calculate modular inverse, and perform division
		- pka_functions.c/h- API for large number arithmetic functions supported by the PKA engine
		- RSAexample.c/h - main application that generates the key pair and message to encrypt/decrypt, then performs the encryption/decryption
		
****************************************************************************************************
4. EXTERNAL CONNECTIONS

None required.