Top Banner
Encryption/Decryption system Midterm Presentation By: Shay Amosi & Jasmin Amitai Mentor: Mony Orbach Spring 2013
22

Encryption/Decryption system Midterm Presentation

Feb 24, 2016

Download

Documents

libba

By: Shay Amosi & Jasmin Amitai Mentor: Mony Orbach Spring 2013. Encryption/Decryption system Midterm Presentation. Our project. Our project goal i s to create a hardware system that encrypts the data quickly and efficiently. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Encryption/Decryption system Midterm Presentation

Encryption/Decryption systemMidterm Presentation

By: Shay Amosi & Jasmin Amitai

Mentor: Mony Orbach

Spring 2013

Page 2: Encryption/Decryption system Midterm Presentation

Our project Our project goal is to create a hardware system that encrypts the data quickly and efficiently. The system will simulate real-time encryption between a PC and USB using FPGA.

Page 3: Encryption/Decryption system Midterm Presentation

Twofish

The Twofish is a symmetric key 128-bit Block Feistel network. Twofish can work with variable key length from 128 to 256

bits. Twofish exhibits fast and versatile performance across most

platforms. The Twofish structure offers a great deal of flexibility in terms

of space versus speed tradeoffs.

Page 4: Encryption/Decryption system Midterm Presentation

The Twofish algorithn

Page 5: Encryption/Decryption system Midterm Presentation

The Twofish algorithn

The Twofish Consists of the following steps:The plaintext is split into 4 words Input Whitening16 rounds of the F functionOutput Whitening

Page 6: Encryption/Decryption system Midterm Presentation

Implementation methods

Pipeline: Good choice when it comes to performance, best for

pipes that contain pure logic flow without too many stalls resulting from control lines. Requires the use of many resources.

Iterative: Good choice when it comes to cost reduction, best when

we are not required to meet high performance.

Combining both: Good choice when we want to achieve the optimal

performance under resource constraints, yet the implementation is more complex.

f f f f

f

f f

Page 7: Encryption/Decryption system Midterm Presentation

Pipeline is our choice!

Since the goal of our project as we have defined

earlier is a high-performances, and the core of

our hardware performs many serial permutations and logic calculations,

the right choice is to pipe our computational

unit.

During the project we will have to match the

dimensions of our design to the FPGA’s size.

Page 8: Encryption/Decryption system Midterm Presentation

TOP LEVEL SCHEME

Fifo in

Twofish

Fifo out

SRAM

Twofish control

Keys ROM

Page 9: Encryption/Decryption system Midterm Presentation

TWOFISH ALGORITHEM

DATA I

N

f

H

H

PHT

f

H

H

PHT

DATA

OUT

X 16

Page 10: Encryption/Decryption system Midterm Presentation

Twofish top level

Page 11: Encryption/Decryption system Midterm Presentation

Twofish control

Page 12: Encryption/Decryption system Midterm Presentation

Twofish (Encoder/Decoder)

Page 13: Encryption/Decryption system Midterm Presentation

Twofish pipe

Page 14: Encryption/Decryption system Midterm Presentation

F-component

Page 15: Encryption/Decryption system Midterm Presentation

f-function

Page 16: Encryption/Decryption system Midterm Presentation

H-function

Page 17: Encryption/Decryption system Midterm Presentation

Interfacing with SRAM

Page 18: Encryption/Decryption system Midterm Presentation

Hardware environment

FPGA

TWOFISH

FIFOIN

FIFO OUT

CTRL

Page 19: Encryption/Decryption system Midterm Presentation

Hardware Test Phase #1: Defining a set of unique inputs as the test blocks to be

encrypted and save the plaintext in a separate file.

Phase #2: Encrypt the set of inputs (henceforth- Twofished blocks).

Phase #3: Save the ciphered text in a separate file and compare it with the

expected output. (This comparison is necessary to verify the correctness of the encryption and avoid possible double errors)

Phase #4: Decrypt the Twofished blocks and compare it to the initial test

blocks via automated script.

Page 20: Encryption/Decryption system Midterm Presentation

Hardware Test (Phase #1-3)

256KB

256KB

FPGA

TWOFISHFIFOIN

FIFO OUT

CTRL

PHASE #3

PHASE #1

PLAINTEXT

CIPHERTEXT

PHASE #2

Page 21: Encryption/Decryption system Midterm Presentation

Hardware Test (Phase #4)

256KB

256KB

FPGA

TWOFISHFIFOIN

FIFO OUT

CTRL

PLAINTEXT????????

CIPHERTEXT

PHASE #4

Page 22: Encryption/Decryption system Midterm Presentation

Project timeline

7-2013 • סיוםכתיבתקודההצפנה Twofish וכתיבתקודה - Controller8-2013 • תקופתמבחנים 9-2013 • קומפילציהוסימולציהכלליתב - Modelsim

9-2013 • בדיקתתאימותתכולהב - FPGA והוספתהשינוייםהמתאימים 9-2013 • סימולציההיקפיתב - Modelsim

10-2013 • סינתזהב - Quartus

10-2013 • הורדתהתכןל - FPGA

10-2013 • הרצתהמערכתבחומרהובניית Tests מוגדריםמראש

12-2013 • בדיקהוניתוחביצועים