DEEP-3 Decryption and Encryption of MP3. Structure of Presentation Project Brief Aims and Goals...

Preview:

DESCRIPTION

Project Brief Problem –How easy is it to harness the power of re- configurable computing? –How easy is it for Software Engineers?

Citation preview

DEEP-3

Decryption and Encryption of MP3

Structure of Presentation

• Project Brief• Aims and Goals• Partitioning Design

Route• ASIP Design Route

• Application Choice• Project Management• Early Feedback• What Next• Conclusions

Project Brief

• Problem– How easy is it to harness the power of re-

configurable computing?– How easy is it for Software Engineers?

Introduction

• What is re-configurable computing?– “Computing platforms whose architecture can be modified by software to

suit the application in question. Such a system may take the form of a Field Programmable Gate Array (FPGA) combined with external memories and processors.”

• Why is it of such great interest?– Reduced development costs– Reduced time to market– Hot upgrades– Improved performance (sometimes!)

Current Trends in Reconfigurable Computing

• Greater number of gates / higher clock frequencies increased performance

• Greater volumes reduced costs

• C-like hardware description languages development accessible to software engineers more effort can be allocated to other parts of the project

Project Aims

• To investigate hardware/software co-design methods– By considering two design routes using a non-trivial

application as a test-bench– By measuring amount of effort required for each design

route– Using direct and indirect measures e.g.

• Lines of code, number of gates used and execution time• Perceived complexity

– Comparing the performance of the prototypes with the software only version

Project Goals

• To produce and demonstrate two working prototypes

• To benchmark the prototypes and the software only solution

Hardware / Software Partitioning

Program

Start EndC Source Code Profile

Simulation

HandPartitioning

HardwareFunctions

SoftwareFunctions

Tuned Hardware/ Software

MixtureCOM

S

Partitioning Methodology (1)

• C Source developed using Rapid Application Development, then evolved to fixed point implementation– Common to both routes

• Profiling– Find “Hot spot” regions within the C source

Partitioning Methodology (2)

• Partitioning– Done manually as automated solutions are not very

good – Apply partitioning rules

• C Handel C• Design inter/intra process communication, control

and synchronisation • Co-Simulation

– For Verification and Validation

Partitioning Design Route

• Advantages– Conceptually simpler to understand– De Facto Standard therefore more applied examples– Method can be used to produce low power, low cost or

high performance• Disadvantages

– Done manually– Repeated for every application

ASIP Design

ASIP Methodology (1)

• C Source same as Partitioning method• Profiling same as Partitioning method

– Also perform static analysis to discover instruction mix and number of registers required

• Instruction Set Architecture developed using coarse grain customisation

• GCC used as re-targetable compiler• Simulate to validate making necessary changes

ASIP Methodology (2)

• RISC (Load Store) Architecture– Based on MIPS– Efficient pipelining – Higher degree of parallelism – Performance advantage

• Harvard Architecture– Difficult so use Von Neuman in early stages

• VLIW– Improves performance– Only If Time Allows

ASIP Design Route

• Advantages– Most of the development effort is writing C– More efficient use of function units than GP– Shorter time to market than more customised

hardware design– Reusability

• Disadvantages– Extra complexity with compiler alterations

System Overview

Local Storage Distributor

MP3 Encoding

MP3 Decoding

EncryptedMP3

DecryptedMP3

Sound Sample

Decrypted DecompressedSound Sample

Output Source

Input Source

• Perceived as a non-trivial application-Both computationally intensive on their own

-Different instruction mix (MP3 uses reals crypto uses integers)

Requirements

• Functional Requirements– Compress & Encrypt Sound– Decrypt, Decompress & Playback

• Non-Functional Requirements– Security– Multiple Input formats– Real Time– User Friendly

MP3

• International Standard– ISO/IEC 11172-3:1993

• Legal Issues– Patented technology– Can be licensed

• Based on Psycho-Acoustics model– How the human mind perceives sound

MP3 Encoding

• Data sent as audio frames• Difficult to generate a good perceptual model

– Very few good quality implementations

MP3 Decoding

• Easier than encoding• Intended playback through speakers via

FPGA

MP3 Codec Selection

• Considered many alternatives– LAME, BlandEnc, Xing, FhG

• Criteria used– VBR, Fixed Point, Open Source, Sound

Quality, Frequency of Public Domain Usage, Independent Tests

• LAME “best”– No Fixed Point

Cryptography

• Requirements– Open Standard, Industry Strength, Integrity

Check, Authentication• Legal Issues

– Patents, Key Strengths• Algorithms

– Public / Private Key, One-Way Hashes, Digital Signatures

RSA Algorithm

• Security lies in intangibility of factoring large integers

• Key distribution problem– Compare Padlock & Key

• Algorithm based on fast modular exponentiation.– Good test of FPGA performance

RSA Walkthrough

• Diagram Here

Conceptual Model & Walkthrough

• Login– Related to encryption

Encoding & Encryption

Decryption & Playback

System Architecture

DMA

Host CPU(x86)

RC-1000 Board(FPGA – Memory)

Storage DeviceMemory (RAM)

Sound Card

Speakers Line In

CD-ROM

Microphone

PCI Bus

IDE Bus

FPGA Board Architecture

Time Management

• Application developed rapidly• Leave adequate time for

– Testing– Integration– Implementation (Handel C)– Derived from reviewing why previous group’s

system failed to be delivered on schedule

Risk Management – Identified Risks

• ASIP Design– No prior experience– Conceptually More challenging

• Resources– Limited availability of FPGA

• Handel C– No prior experience before project

• Task Complexity• Time Management

– Slow Start

Risk Management – Managing Risks

• Spiral Model– Incremental with regular reviews

• Buddy Buddy System• Dedicated Handel C “expert”• Achievable goals• Plenty of Research

Early Feedback

• Profiling results– Early identification of “hotspot” functions as

psycho analysis and Huffman coding• Metrics

– One week to grasp partitioning– Ten weeks to grasp ASIP design

• Handel C– Simple programs implemented

What Next?

• First Application Prototype– Software only

• Second Prototype– Fixed Point, software only

• Incrementally More Complex Handel C coding

• Further prototypes with the design processes

Summary

• Presented the project aims and vision• Presented two opposing development

methods• Presented an overview of the application to

be used• Identified risks and how to manage them • Presented initial results• Planned further work

Conclusion

• Project remains on schedule• Good progress made• Lots more to do

Recommended