Crypto Hardware Design for

Size: px
Start display at page:

Download "Crypto Hardware Design for"

Transcription

1 Crypto Hardware Design for Embedded Applications Dr. Amlan Chakrabarti & Mr. Suman Sau Real Time EmbeddedSystem Research Group A.K.Choudhury School of Information Technology University of Calcutta l i i 1

2 Agenda Insight to Embedded Systems High Performance Embedded System Design Requirements Challenges Basic Concepts of Cryptography Public & Private Keys Hashing Digital Signature Block Cipher and Stream Cipher Crypto Hardware for Embedded Systems Requirements Challenges Reconfigurable Hardware Architectures Design examples Crypto Engine Design Prototype Design Using FPGA Example Conclusion 2

3 Insight to Embedded Systems An embedded system is nearly any computing system (other than a general purpose computer) with the following characteristics Single functioned Typically, is designed to perform predefined function Tightly constrained Tuned for low cost Single to fewer components based Performs functions fast enough Consumes minimum power Reactive and real time Must continually monitor the desired environment and react to changes Hardware and software co existence 3

4 Insight to Embedded Systems (2) 4

5 Insight to Embedded Systems (3) Typical embedded softwarecomponents: Embedded Application Code Device Drivers A Real Time Operating System (RTOS) Hardware abstraction layer(s) System initialization routines Amlan Chakrabarti, PHYSTENS Dec. 2012

6 High Performance Embedded Systems (4) Massive computational resources with requirements of Small size Low Weight Very low power consumption Need to employ innovative, advanced system architectures Architectures typically feature Multiple processor cores Tieredmemory structures with multi level level memory caching Multi layer bus structures. Super pipelining pipelining and/or super scalingscaling Amlan Chakrabarti, PHYSTENS Dec. 2012

7 High Performance Embedded Systems (6) Increasing software content The software content of embedded systems is increasing at a phenomenal rate software development and test often dominate the costs, timelines, and risks associated with today's embedded system designs. Amlan Chakrabarti, PHYSTENS Dec. 2012

8 Multi-Core Embedded Systems 8

9 9 Log(Pe erformanc ce) Superscalar Era Processor Memory Latency Memory Bandwidth 0% / year Single thread performance scaled at 50% per year Bandwidth increases much more slowly, but we could add additional bits or channels. Lack of diversity in architecture = lack of individual id ltuning Power wall has capped single thread performance

10 Why Multicore? It is reasonable to question whether multicore is worth this additional work, or whether it is possible to continue gaining improvements through single-core devices. Raising Clock Frequency Crank up the frequency But it has become all too apparent that pushing the frequency came at a price Frequency improvements penalize power consumption, which in turn generates heat that requires more advanced cooling, decreases reliability, and shortens the longevity of the device. Other issues Techniques such as parallelizing instructions, speculative execution, and pipelining cannot generally scale with the frequency 10

11 Multi-core embedded systems Need Increased computing demands from embedded system with constrained energy and power A 3G mobile handset s signal processing requires GOPS Constraints: power dissipation budget of 1W Performance efficiency required: 25 mw/gop or 25 pj/operation Multi-core embedded systems provide a promising solution to meet these performance and power constraints Multi-core embedded systems architecture Processor cores Caches Memory controllers Interconnection network 11

12 Multicore for Multiple Reasons Asynchronous multiprocessing (AMP) Minimizes i i overhead and synchronization issues Core 1 runs legacy OS, Core 2 runs RTOS, others do a variety of processing tasks (i.e. where applications can be optimized) Parallel pipelining Taking advantage of proximity The performance opportunity. APPLICATION Linux RTOS Thread1 Thread2 Thread3 Thread4 Threadn Video Compress Security 12

13 Different Types of Multicore Homogenous Describes a multicore environment in which cores are identical and execute the same instruction set Heterogeneous Describes a multicore environment in which cores are not identical and implement different instruction sets The current trend is to create homogeneous multicore devices, but a significant performance advantage can be obtained by using specialized cores and accelerators to offload the main cores. 13

14 Major Challenges for Multi Core Designs Communication Memory hierarchy Data allocation (you have a large shared L2/L3 now) Interconnection network Scalability Bus Bandwidth, how to get there? Power Performance P Win or lose? Borkar s multicore arguments 15% per core performance drop 50% power saving Giant, single core wastes power when task is small How about leakage? Process variation iti and yield ild Programming Model A. Chakrabarti and S. Sau, ICISS

15 Basic Concepts of Cryptography 15

16 Ciphers ==> ciphertext We start with plaintext. Something we can read We apply a mathematical algorithm to the plaintext The algorithm is the cipher The plaintext is turned in to ciphertext Almost all ciphers were secret until recently Creating a secure cipher is HARD 16

17 What it Looks Like 17

18 Symmetric Cipher Private Key/Symmetric Ciphers clear text K cipher text K clear text The same key is used to encrypt the document before sending and to decrypt it once it is received Examples: DES, 3DES, AES, Blowfish, IDEA 18

19 Public/Private Keys We generate a cipher key pair. One key is the private key, the other is the public key The private key remains secret and should be protected The public key is freely distributable. It is related mathematically to the private key, but you cannot (easily) reverse engineer the private key from the public key Use the public key to encrypt data Only someone with the private key can decrypt. 19

20 Example (Public/Private Key pair) clear text cipher text k 1 k 2 clear text (public key) (private key) One key is used to encrypt the document, a different key is used to decrypt it. This is a big deal! 20

21 Block Cipher and Stream Cipher Block cipher operates on fixed length groups of bits, called blocks unvarying transformation that is specified by a symmetric key widely used to implement encryption of bulk data Stream Cipher plaintext digits are combined witha pseudorandom cipher digit stream (key stream) each plaintext digit is encrypted one at a time with the corresponding digit of the key stream 21

22 Hashing One-Way Encryption clear text hashing function Fixed length hash or message digest Munging the document gives a short message digest (hash). h) Not possible to go back from the digest to the original document. 22

23 Protecting the Private Key symmetric k cipher 2 k 2 (encrypted on disk) key 2 ready for use Passphrase entered by user hash *Such as SHA-1 or SHA-2 K 2 = private key 23

24 Digital i Signatures Let's reverse the role of public and private keys. To create a digital signature on a document do: Munge a document. Encrypt thehash hash with your private key. Send the document plus the encrypted hash. On the other end munge the document and decrypt the encrypted message digest with the person's public key. If they match, the document is authenticated. 24

25 Digital Signatures Take a hash of the document and encrypt only that. An encrypted hash is called a "digital signature" hashh hashh digital signature COMPARE k k 2 (private) 1 k 1 (public) 25

26 Security Functions data confidentiality data integrity authentication ti ti 26

27 Embedded Security Pyramid 27

28 Design Challenges 28

29 Crypto Hardware design 29

30 Hardware Implementation Benefits More secure implementations Implementing both algorithms in hardware removes bottleneck associated with ih Single hardware implementation supporting both algorithms reduce costs of separate hardware 30

31 Architectures for Security Processing 31

32 Second- and third-generation security processing architectures Cryptographic Hardware Accelerators obtained through custom hardware implementations of cryptographic (asymmetric, symmetric, hash) algorithms Applications low-power mobile appliances and smartcards to high-performance network routers and application servers [Discretix; Safenet] Embedded Processor Enhancements Improving the security processing capabilities of general-purpose processors accelerating bitlevel arithmetic operations such as the permutations performed in crypto algorithms Examples Smart MIPS, ARM SecureCore family, MOSES security processor developed at NEC 32

33 Second- and third-generation security processing architectures contd. Security Protocol Engines Security protocol engines accelerate all or most of the functionality ypresent in a security yprotocol higher efficiency than cryptographic accelerators these protocol engines, if programmable, can be used to execute multiple l protocols efficiently i programmable security protocol engines are being used increasingly gy by embedded system designers when both flexibility and efficiency are required Examples 7811 security processor from HIFN can be used in VPNs to perform IPSec processing 33

34 HW-SW Codesign Support multiple algorithms and protocols 34

35 Implementation Platforms 35

36 Reconfigurable Hardware and Why Hardware? Cryptography Software Implementations are too slow for time critical applications Hardware implementations are intrinsically more secure Why Reconfigurable? 36

37 Reconfigurable Hardware and Cryptography (2) Advantages of reconfigurable platforms Algorithm agility Algorithm Upgradability Architecture Efficiency Resource Efficiency Algorithm Modification Throughput (Relative to software) Cost Efficiency (Relative to ASICs) 37

38 ASIC vs FPGA 38

39 Design With Reconfigurable Hardware Programmable Hardware: FPGA Re-Programmable Hardware Enables the development of nearly all digital circuits Leading vendors: Xilinx, Altera, MicroSemi Trend to heterogeneous multicore systems out of processors, DSPs, high-speed I/O and programmable logic Usually a rapid prototyping platform but increased exploitation as ASIC substitute 39

40 Advantages of FPGA Embedded Processor Systems Merge CPU and I/O functions onto a single board Flexible design template optimize power, data, and form factor to match application and I/O requirements Tightly coupled high speed logic and control system interface on a single chip versatile tradeoff between hardware and software task Advanced tools bridge software and logic development, provide BSP generation for Linux, VxWorks 40

41 Embedded Processors on FPGA Hard Core Embedded processor is a dedicated physical component of the chip, separate from the programmable logic E.g. Xilinx Virtex families w/ PowerPC 405 Soft Core Embedded processor is built out of the programmable logic on the chip E.g. Xilinx MicroBlaze, Altera NIOS 41

42 Hard Core vs. Soft Core Considerations Both cores utilize about the same % of total chip resources Hard core performance = 3-4x faster than fastest soft cores FPGAs with hard cores are more expensive Soft cores more flexible Multiple cores can be used in a single chip Can be used in a chip with a hard core 42

43 Architecture of the appl. specific FPGA 43

44 Application specific FPGA: Toolflow 44

45 Crypto Engine Design 45

46 What is crypto engine? Designed to implement the specific cipher need Implementation ti through a library of general purpose FPGA design blocks Can be also configured for multiple ciphers 46

47 Crypto Engine as a Coprocessor Customized co processor core as per the requirement of the algorithm Main processor can execute the other required application tasks concurrently Enables multi taskingtasking Communicates with the main processor core through h a bus 47

48 Co processor based Hardware Design on FPGA 48

49 Co processor using FSL bus(internal Architecture) 49

50 Example Design of AES Crypto Engine Internal Architecture of AES Core 50

51 AES Engine as coprocessor with Micro blaze core. 51

52 System Architecture 52

53 Research Issues Hardware design of latest crypto/hash algorithms Parallelization li i of cryptographic algorithms Higher throughput Low power design Hardware error dt detectionti 53

54 Conclusion Multi-core architecture presented provides a good trade-off between flexibility, performances and resource consumption Crypto-accelaretors and crypto-engines can be efficiently catered by multi-core based designs Synchronization is a great challenge Reconfigurable hardware provides new opportunities 54

55 Prof. Ranjan Ghosh, University of Calcutta Mr. Rourab Paul, Research Scholar, University of Calcutta Mr. Sangeet Saha, M.Tech. student, University of Calcutta 55

56 56

A unified multicore programming model

A unified multicore programming model A unified multicore programming model Simplifying multicore migration By Sven Brehmer Abstract There are a number of different multicore architectures and programming models available, making it challenging

More information

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 11 Basic Cryptography

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 11 Basic Cryptography Security+ Guide to Network Security Fundamentals, Third Edition Chapter 11 Basic Cryptography Objectives Define cryptography Describe hashing List the basic symmetric cryptographic algorithms 2 Objectives

More information

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology September 19, 2007 Markus Levy, EEMBC and Multicore Association Enabling the Multicore Ecosystem Multicore

More information

Security. Communication security. System Security

Security. Communication security. System Security Security Communication security security of data channel typical assumption: adversary has access to the physical link over which data is transmitted cryptographic separation is necessary System Security

More information

Embedded Systems. 7. System Components

Embedded Systems. 7. System Components Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Security IP-Cores. AES Encryption & decryption RSA Public Key Crypto System H-MAC SHA1 Authentication & Hashing. l e a d i n g t h e w a y

Security IP-Cores. AES Encryption & decryption RSA Public Key Crypto System H-MAC SHA1 Authentication & Hashing. l e a d i n g t h e w a y AES Encryption & decryption RSA Public Key Crypto System H-MAC SHA1 Authentication & Hashing l e a d i n g t h e w a y l e a d i n g t h e w a y Secure your sensitive content, guarantee its integrity and

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information

Embedded Systems: Hardware Components (part I) Todor Stefanov

Embedded Systems: Hardware Components (part I) Todor Stefanov Embedded Systems: Hardware Components (part I) Todor Stefanov Leiden Embedded Research Center Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded System

More information

Survey of Commercially available chips and IP cores implementing cryptographic algorithms

Survey of Commercially available chips and IP cores implementing cryptographic algorithms Survey of Commercially available chips and IP cores implementing cryptographic algorithms Prepared by - Micheal Dugan, Prajakta Gogte, Prerna Arora Prepared for - ECE 646, Prof. Kris Gaj December 19, 2005

More information

Cryptographic Concepts

Cryptographic Concepts Outline Identify the different types of cryptography Learn about current cryptographic methods Chapter #23: Cryptography Understand how cryptography is applied for security Given a scenario, utilize general

More information

EECS150 - Digital Design Lecture 13 - Accelerators. Recap and Outline

EECS150 - Digital Design Lecture 13 - Accelerators. Recap and Outline EECS150 - Digital Design Lecture 13 - Accelerators Oct. 10, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)

More information

2011 IBM Research Strategic Initiative: Workload Optimized Systems

2011 IBM Research Strategic Initiative: Workload Optimized Systems PIs: Michael Hind, Yuqing Gao Execs: Brent Hailpern, Toshio Nakatani, Kevin Nowka 2011 IBM Research Strategic Initiative: Workload Optimized Systems Yuqing Gao IBM Research 2011 IBM Corporation Motivation

More information

Dynamically Reconfigurable Coprocessors in FPGA-based Embedded Systems

Dynamically Reconfigurable Coprocessors in FPGA-based Embedded Systems Dynamically Reconfigurable Coprocessors in PGA-based Embedded Systems Ph.D. Thesis March, 2006 Student: Ivan Gonzalez Director: ranciso J. Gomez Ivan.Gonzalez@uam.es 1 Agenda Motivation and Thesis Goal

More information

Interfacing a High Speed Crypto Accelerator to an Embedded CPU

Interfacing a High Speed Crypto Accelerator to an Embedded CPU Interfacing a High Speed Crypto Accelerator to an Embedded CPU Alireza Hodjat ahodjat @ee.ucla.edu Electrical Engineering Department University of California, Los Angeles Ingrid Verbauwhede ingrid @ee.ucla.edu

More information

Energy Efficient Computing Systems (EECS) Magnus Jahre Coordinator, EECS

Energy Efficient Computing Systems (EECS) Magnus Jahre Coordinator, EECS Energy Efficient Computing Systems (EECS) Magnus Jahre Coordinator, EECS Who am I? Education Master of Technology, NTNU, 2007 PhD, NTNU, 2010. Title: «Managing Shared Resources in Chip Multiprocessor Memory

More information

Five Ways to Build Flexibility into Industrial Applications with FPGAs

Five Ways to Build Flexibility into Industrial Applications with FPGAs GM/M/A\ANNETTE\2015\06\wp-01154- flexible-industrial.docx Five Ways to Build Flexibility into Industrial Applications with FPGAs by Jason Chiang and Stefano Zammattio, Altera Corporation WP-01154-2.0 White

More information

Hardware Acceleration for Cryptographic Functions

Hardware Acceleration for Cryptographic Functions Hardware Acceleration for Cryptographic Functions (AES Algorithm) By: Ahmed Moussa Outline Introduction Why Accelerate Cryptographic Functions? Why Hardware Acceleration? Approaches Literature Review Problem

More information

Security in NFC Readers

Security in NFC Readers Security in Readers Public Content and security, a different kind of wireless Under the hood of based systems Enhancing the security of an architecture Secure data exchange Information security goals Cryptographic

More information

Distributed Systems. 26. Cryptographic Systems: An Introduction. Paul Krzyzanowski. Rutgers University. Fall 2015

Distributed Systems. 26. Cryptographic Systems: An Introduction. Paul Krzyzanowski. Rutgers University. Fall 2015 Distributed Systems 26. Cryptographic Systems: An Introduction Paul Krzyzanowski Rutgers University Fall 2015 1 Cryptography Security Cryptography may be a component of a secure system Adding cryptography

More information

Connecting Securely to the Cloud

Connecting Securely to the Cloud Connecting Securely to the Cloud Security Primer Presented by Enrico Gregoratto Andrew Marsh Agenda 2 Presentation Speaker Trusting The Connection Transport Layer Security Connecting to the Cloud Enrico

More information

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory Embedded Systems 8. Hardware Components Lothar Thiele Computer Engineering and Networks Laboratory Do you Remember? 8 2 8 3 High Level Physical View 8 4 High Level Physical View 8 5 Implementation Alternatives

More information

Block Ciphers. Secure Software Systems

Block Ciphers. Secure Software Systems 1 Block Ciphers 2 Block Cipher Encryption function E C = E(k, P) Decryption function D P = D(k, C) Symmetric-key encryption Same key is used for both encryption and decryption Operates not bit-by-bit but

More information

Uses of Cryptography

Uses of Cryptography Uses of Cryptography What can we use cryptography for? Lots of things Secrecy Authentication Prevention of alteration Page 1 Cryptography and Secrecy Pretty obvious Only those knowing the proper keys can

More information

Anand Raghunathan

Anand Raghunathan ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.26: Example: Hardware Architecture Anand Raghunathan raghunathan@purdue.edu ECE 695R: System-on-Chip Design, Fall 2014 Fall 2014,

More information

ECE Lecture 2. Basic Concepts of Cryptology. Basic Vocabulary CRYPTOLOGY. Symmetric Key Public Key Protocols

ECE Lecture 2. Basic Concepts of Cryptology. Basic Vocabulary CRYPTOLOGY. Symmetric Key Public Key Protocols ECE 646 - Lecture 2 Basic Concepts of Cryptology 1 CRYPTOLOGY CRYPTOGRAPHY CRYPTANALYSIS Symmetric Key Public Key Protocols Block Cipher Stream Cipher from Greek cryptos - hidden, secret logos - word graphos

More information

Security Applications

Security Applications 1. Introduction Security Applications Abhyudaya Chodisetti Paul Wang Lee Garrett Smith Cryptography applications generally involve a large amount of processing. Thus, there is the possibility that these

More information

SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017

SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017 SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017 WHAT WE DO What we do Robust and Efficient Cryptographic Protocols Research in Cryptography and

More information

Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications

Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications September 2013 Navigating between ever-higher performance targets and strict limits

More information

Cryptography Basics. IT443 Network Security Administration Slides courtesy of Bo Sheng

Cryptography Basics. IT443 Network Security Administration Slides courtesy of Bo Sheng Cryptography Basics IT443 Network Security Administration Slides courtesy of Bo Sheng 1 Outline Basic concepts in cryptography systems Secret key cryptography Public key cryptography Hash functions 2 Encryption/Decryption

More information

9/30/2016. Cryptography Basics. Outline. Encryption/Decryption. Cryptanalysis. Caesar Cipher. Mono-Alphabetic Ciphers

9/30/2016. Cryptography Basics. Outline. Encryption/Decryption. Cryptanalysis. Caesar Cipher. Mono-Alphabetic Ciphers Cryptography Basics IT443 Network Security Administration Slides courtesy of Bo Sheng Basic concepts in cryptography systems Secret cryptography Public cryptography 1 2 Encryption/Decryption Cryptanalysis

More information

Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS Non-Proprietary Security Policy, Version 1.7 Level 1 Validation

Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS Non-Proprietary Security Policy, Version 1.7 Level 1 Validation Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS 140-2 Non-Proprietary Security Policy, Version 1.7 Level 1 Validation October 2007 1. INTRODUCTION 3 2. PRODUCT, BOUNDARY,

More information

CSC 474/574 Information Systems Security

CSC 474/574 Information Systems Security CSC 474/574 Information Systems Security Topic 2.1 Introduction to Cryptography CSC 474/574 By Dr. Peng Ning 1 Cryptography Cryptography Original meaning: The art of secret writing Becoming a science that

More information

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y.

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Published in: Proceedings of the 2010 International Conference on Field-programmable

More information

Computer Security: Principles and Practice

Computer Security: Principles and Practice Computer Security: Principles and Practice Chapter 2 Cryptographic Tools First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Cryptographic Tools cryptographic algorithms

More information

Cryptography Functions

Cryptography Functions Cryptography Functions Lecture 3 1/29/2013 References: Chapter 2-3 Network Security: Private Communication in a Public World, Kaufman, Perlman, Speciner Types of Cryptographic Functions Secret (Symmetric)

More information

FPGA & Hybrid Systems in the Enterprise Drivers, Exemplars and Challenges

FPGA & Hybrid Systems in the Enterprise Drivers, Exemplars and Challenges Bob Blainey IBM Software Group 27 Feb 2011 FPGA & Hybrid Systems in the Enterprise Drivers, Exemplars and Challenges Workshop on The Role of FPGAs in a Converged Future with Heterogeneous Programmable

More information

Chapter 2 Parallel Hardware

Chapter 2 Parallel Hardware Chapter 2 Parallel Hardware Part I. Preliminaries Chapter 1. What Is Parallel Computing? Chapter 2. Parallel Hardware Chapter 3. Parallel Software Chapter 4. Parallel Applications Chapter 5. Supercomputers

More information

ELCT 912: Advanced Embedded Systems

ELCT 912: Advanced Embedded Systems ELCT 912: Advanced Embedded Systems Lecture 2-3: Embedded System Hardware Dr. Mohamed Abd El Ghany, Department of Electronics and Electrical Engineering Embedded System Hardware Used for processing of

More information

Micro-Architectural Attacks and Countermeasures

Micro-Architectural Attacks and Countermeasures Micro-Architectural Attacks and Countermeasures Çetin Kaya Koç koc@cs.ucsb.edu Çetin Kaya Koç http://koclab.org Winter 2017 1 / 25 Contents Micro-Architectural Attacks Cache Attacks Branch Prediction Attack

More information

Fundamentals of Quantitative Design and Analysis

Fundamentals of Quantitative Design and Analysis Fundamentals of Quantitative Design and Analysis Dr. Jiang Li Adapted from the slides provided by the authors Computer Technology Performance improvements: Improvements in semiconductor technology Feature

More information

SoC Basics Avnet Silica & Enclustra Seminar Getting started with Xilinx Zynq SoC Fribourg, April 26, 2017

SoC Basics Avnet Silica & Enclustra Seminar Getting started with Xilinx Zynq SoC Fribourg, April 26, 2017 1 2 3 4 Introduction - Cool new Stuff Everybody knows, that new technologies are usually driven by application requirements. A nice example for this is, that we developed portable super-computers with

More information

Parallelism in Hardware

Parallelism in Hardware Parallelism in Hardware Minsoo Ryu Department of Computer Science and Engineering 2 1 Advent of Multicore Hardware 2 Multicore Processors 3 Amdahl s Law 4 Parallelism in Hardware 5 Q & A 2 3 Moore s Law

More information

Modern system architectures in embedded systems

Modern system architectures in embedded systems Wir schaffen Wissen heute für morgen Paul Scherrer Institut Timo Korhonen Modern system architectures in embedded systems Outline What is driving the technology? Two most prominent trends How can we take

More information

CSC 774 Network Security

CSC 774 Network Security CSC 774 Network Security Topic 2. Review of Cryptographic Techniques CSC 774 Dr. Peng Ning 1 Outline Encryption/Decryption Digital signatures Hash functions Pseudo random functions Key exchange/agreement/distribution

More information

CryptoManiac: Application Specific Architectures for Cryptography. Overview

CryptoManiac: Application Specific Architectures for Cryptography. Overview : Application Specific Architectures for Cryptography Lisa Wu, Chris Weaver, Todd Austin {wul,chriswea,taustin}@eecs.umich.edu Overview Goal - fast programmable cryptographic processing Fast : efficient

More information

Multicore Challenges and Choices: Deciding Which Solution Is Right for You

Multicore Challenges and Choices: Deciding Which Solution Is Right for You Multicore Challenges and Choices: Deciding Which Solution Is Right for You Tomas Evensen Chief Technology Officer, Wind River Table of Contents Executive Summary... 1 Business and Technology Trends...

More information

Topic & Scope. Content: The course gives

Topic & Scope. Content: The course gives Topic & Scope Content: The course gives an overview of network processor cards (architectures and use) an introduction of how to program Intel IXP network processors some ideas of how to use network processors

More information

Kernel level AES Acceleration using GPUs

Kernel level AES Acceleration using GPUs Kernel level AES Acceleration using GPUs TABLE OF CONTENTS 1 PROBLEM DEFINITION 1 2 MOTIVATIONS.................................................1 3 OBJECTIVE.....................................................2

More information

Lecture 1: Introduction

Lecture 1: Introduction Contemporary Computer Architecture Instruction set architecture Lecture 1: Introduction CprE 581 Computer Systems Architecture, Fall 2016 Reading: Textbook, Ch. 1.1-1.7 Microarchitecture; examples: Pipeline

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Outline Embedded systems overview What is embedded system Characteristics Elements of embedded system Trends in embedded system Design cycle 2 Computing Systems Most of

More information

Symmetric Key Algorithms. Definition. A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting.

Symmetric Key Algorithms. Definition. A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting. Symmetric Key Algorithms Definition A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting. 1 Block cipher and stream cipher There are two main families

More information

Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( )

Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( ) Systems Group Department of Computer Science ETH Zürich Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming (252-0061-00) Timothy Roscoe Herbstsemester 2012 Today Non-Uniform

More information

Massively Parallel Hardware Security Platform

Massively Parallel Hardware Security Platform Massively Parallel Hardware Security Platform Dan Cvrček, Enigma Bridge, UK dan@enigmabridge.com Petr Švenda, CRoCS, Masaryk University, CZ svenda@fi.muni.cz Overview 1. Cryptography as a Service 2. Usage

More information

Microprocessor Trends and Implications for the Future

Microprocessor Trends and Implications for the Future Microprocessor Trends and Implications for the Future John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 522 Lecture 4 1 September 2016 Context Last two classes: from

More information

Memory Systems IRAM. Principle of IRAM

Memory Systems IRAM. Principle of IRAM Memory Systems 165 other devices of the module will be in the Standby state (which is the primary state of all RDRAM devices) or another state with low-power consumption. The RDRAM devices provide several

More information

Parallel Computing. Parallel Computing. Hwansoo Han

Parallel Computing. Parallel Computing. Hwansoo Han Parallel Computing Parallel Computing Hwansoo Han What is Parallel Computing? Software with multiple threads Parallel vs. concurrent Parallel computing executes multiple threads at the same time on multiple

More information

Parallelism. CS6787 Lecture 8 Fall 2017

Parallelism. CS6787 Lecture 8 Fall 2017 Parallelism CS6787 Lecture 8 Fall 2017 So far We ve been talking about algorithms We ve been talking about ways to optimize their parameters But we haven t talked about the underlying hardware How does

More information

Apps with Hardware Enabling Run-time Architectural Customization in Smart Phones

Apps with Hardware Enabling Run-time Architectural Customization in Smart Phones Apps with Hardware Enabling Run-time Architectural Customization in Smart Phones Michael Coughlin, Ali Ismail, Eric Keller University of Colorado Boulder Mobile Devices Devices are designed around certain

More information

ARM Security Solutions and Numonyx Authenticated Flash

ARM Security Solutions and Numonyx Authenticated Flash ARM Security Solutions and Numonyx Authenticated Flash How to integrate Numonyx Authenticated Flash with ARM TrustZone* for maximum system protection Introduction Through a combination of integrated hardware

More information

FPGA-based Implementation Alternatives for Keyed-Hash Message Authentication Code in Networked Embedded Systems

FPGA-based Implementation Alternatives for Keyed-Hash Message Authentication Code in Networked Embedded Systems FPGA-based Implementation Alternatives for Keyed-Hash Message Authentication Code in Networked Embedded Systems Enrico Heinrich, Marian Lüder, Ralf Joost and Ralf Salomon University of Rostock College

More information

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014 Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline

More information

Toward a Memory-centric Architecture

Toward a Memory-centric Architecture Toward a Memory-centric Architecture Martin Fink EVP & Chief Technology Officer Western Digital Corporation August 8, 2017 1 SAFE HARBOR DISCLAIMERS Forward-Looking Statements This presentation contains

More information

Big Data Systems on Future Hardware. Bingsheng He NUS Computing

Big Data Systems on Future Hardware. Bingsheng He NUS Computing Big Data Systems on Future Hardware Bingsheng He NUS Computing http://www.comp.nus.edu.sg/~hebs/ 1 Outline Challenges for Big Data Systems Why Hardware Matters? Open Challenges Summary 2 3 ANYs in Big

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Objectives of Chapter To provide a grand tour of the major computer system components:

More information

Parallel Computer Architecture

Parallel Computer Architecture Parallel Computer Architecture What is Parallel Architecture? A parallel computer is a collection of processing elements that cooperate to solve large problems fast Some broad issues: Resource Allocation:»

More information

Breaking the Bitstream Decryption of FPGAs

Breaking the Bitstream Decryption of FPGAs Breaking the Bitstream Decryption of FPGAs 05. Sep. 2012 Amir Moradi Embedded Security Group, Ruhr University Bochum, Germany Acknowledgment Christof Paar Markus Kasper Timo Kasper Alessandro Barenghi

More information

Computer Architecture

Computer Architecture Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 10 Thread and Task Level Parallelism Computer Architecture Part 10 page 1 of 36 Prof. Dr. Uwe Brinkschulte,

More information

Ref:

Ref: Cryptography & digital signature Dec. 2013 Ref: http://cis.poly.edu/~ross/ 2 Cryptography Overview Symmetric Key Cryptography Public Key Cryptography Message integrity and digital signatures References:

More information

Multicore Hardware and Parallelism

Multicore Hardware and Parallelism Multicore Hardware and Parallelism Minsoo Ryu Department of Computer Science and Engineering 2 1 Advent of Multicore Hardware 2 Multicore Processors 3 Amdahl s Law 4 Parallelism in Hardware 5 Q & A 2 3

More information

Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors

Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors Paul Ekas, DSP Engineering, Altera Corp. pekas@altera.com, Tel: (408) 544-8388, Fax: (408) 544-6424 Altera Corp., 101

More information

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off

More information

Parallel Processors. The dream of computer architects since 1950s: replicate processors to add performance vs. design a faster processor

Parallel Processors. The dream of computer architects since 1950s: replicate processors to add performance vs. design a faster processor Multiprocessing Parallel Computers Definition: A parallel computer is a collection of processing elements that cooperate and communicate to solve large problems fast. Almasi and Gottlieb, Highly Parallel

More information

Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Practical Aspects of Modern Cryptography Lecture 3: Symmetric s and Hash Functions Josh Benaloh & Brian LaMacchia Meet Alice and Bob Alice Bob Message Modern Symmetric s Setup: Alice wants to send a private

More information

Modern Processor Architectures. L25: Modern Compiler Design

Modern Processor Architectures. L25: Modern Compiler Design Modern Processor Architectures L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant minimising the number of instructions

More information

Using FPGAs in Supercomputing Reconfigurable Supercomputing

Using FPGAs in Supercomputing Reconfigurable Supercomputing Using FPGAs in Supercomputing Reconfigurable Supercomputing Why FPGAs? FPGAs are 10 100x faster than a modern Itanium or Opteron Performance gap is likely to grow further in the future Several major vendors

More information

Computer Architecture Crash course

Computer Architecture Crash course Computer Architecture Crash course Frédéric Haziza Department of Computer Systems Uppsala University Summer 2008 Conclusions The multicore era is already here cost of parallelism is dropping

More information

Fundamentals of Computer Design

Fundamentals of Computer Design CS359: Computer Architecture Fundamentals of Computer Design Yanyan Shen Department of Computer Science and Engineering 1 Defining Computer Architecture Agenda Introduction Classes of Computers 1.3 Defining

More information

ECE 545 Lecture 8b. Hardware Architectures of Secret-Key Block Ciphers and Hash Functions. George Mason University

ECE 545 Lecture 8b. Hardware Architectures of Secret-Key Block Ciphers and Hash Functions. George Mason University ECE 545 Lecture 8b Hardware Architectures of Secret-Key Block Ciphers and Hash Functions George Mason University Recommended reading K. Gaj and P. Chodowiec, FPGA and ASIC Implementations of AES, Chapter

More information

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University A.R. Hurson Computer Science and Engineering The Pennsylvania State University 1 Large-scale multiprocessor systems have long held the promise of substantially higher performance than traditional uniprocessor

More information

Securing the Frisbee Multicast Disk Loader

Securing the Frisbee Multicast Disk Loader Securing the Frisbee Multicast Disk Loader Robert Ricci, Jonathon Duerig University of Utah 1 What is Frisbee? 2 Frisbee is Emulab s tool to install whole disk images from a server to many clients using

More information

Leveraging OpenSPARC. ESA Round Table 2006 on Next Generation Microprocessors for Space Applications EDD

Leveraging OpenSPARC. ESA Round Table 2006 on Next Generation Microprocessors for Space Applications EDD Leveraging OpenSPARC ESA Round Table 2006 on Next Generation Microprocessors for Space Applications G.Furano, L.Messina TEC- OpenSPARC T1 The T1 is a new-from-the-ground-up SPARC microprocessor implementation

More information

EECS150 - Digital Design Lecture 09 - Parallelism

EECS150 - Digital Design Lecture 09 - Parallelism EECS150 - Digital Design Lecture 09 - Parallelism Feb 19, 2013 John Wawrzynek Spring 2013 EECS150 - Lec09-parallel Page 1 Parallelism Parallelism is the act of doing more than one thing at a time. Optimization

More information

Today. SMP architecture. SMP architecture. Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( )

Today. SMP architecture. SMP architecture. Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( ) Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming (252-0061-00) Timothy Roscoe Herbstsemester 2012 Systems Group Department of Computer Science ETH Zürich SMP architecture

More information

Multithreading: Exploiting Thread-Level Parallelism within a Processor

Multithreading: Exploiting Thread-Level Parallelism within a Processor Multithreading: Exploiting Thread-Level Parallelism within a Processor Instruction-Level Parallelism (ILP): What we ve seen so far Wrap-up on multiple issue machines Beyond ILP Multithreading Advanced

More information

SDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center

SDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center SDAccel Environment The Xilinx SDAccel Development Environment Bringing The Best Performance/Watt to the Data Center Introduction Data center operators constantly seek more server performance. Currently

More information

Digital Systems Design. System on a Programmable Chip

Digital Systems Design. System on a Programmable Chip Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements

More information

Deflating the hype: Embedded Virtualization in 3 steps

Deflating the hype: Embedded Virtualization in 3 steps Deflating the hype: Embedded Virtualization in 3 steps Klaas van Gend MontaVista Software LLC For Embedded Linux Conference Europe 2010, Cambridge Agenda Why multicore made the topic more relevant Partitioning

More information

Next Generation Enterprise Solutions from ARM

Next Generation Enterprise Solutions from ARM Next Generation Enterprise Solutions from ARM Ian Forsyth Director Product Marketing Enterprise and Infrastructure Applications Processor Product Line Ian.forsyth@arm.com 1 Enterprise Trends IT is the

More information

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018 Computer Security 08. Cryptography Part II Paul Krzyzanowski Rutgers University Spring 2018 March 23, 2018 CS 419 2018 Paul Krzyzanowski 1 Block ciphers Block ciphers encrypt a block of plaintext at a

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is connected

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

CIS 4360 Secure Computer Systems Symmetric Cryptography

CIS 4360 Secure Computer Systems Symmetric Cryptography CIS 4360 Secure Computer Systems Symmetric Cryptography Professor Qiang Zeng Spring 2017 Previous Class Classical Cryptography Frequency analysis Never use home-made cryptography Goals of Cryptography

More information

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey System-on-Chip Architecture for Mobile Applications Sabyasachi Dey Email: sabyasachi.dey@gmail.com Agenda What is Mobile Application Platform Challenges Key Architecture Focus Areas Conclusion Mobile Revolution

More information

APNIC elearning: Cryptography Basics

APNIC elearning: Cryptography Basics APNIC elearning: Cryptography Basics 27 MAY 2015 03:00 PM AEST Brisbane (UTC+10) Issue Date: Revision: Introduction Presenter Sheryl Hermoso Training Officer sheryl@apnic.net Specialties: Network Security

More information

EECS 750: Advanced Operating Systems. 01/29 /2014 Heechul Yun

EECS 750: Advanced Operating Systems. 01/29 /2014 Heechul Yun EECS 750: Advanced Operating Systems 01/29 /2014 Heechul Yun 1 Administrative Next summary assignment Resource Containers: A New Facility for Resource Management in Server Systems, OSDI 99 due by 11:59

More information

PASSWORDS & ENCRYPTION

PASSWORDS & ENCRYPTION PASSWORDS & ENCRYPTION Villanova University Department of Computing Sciences D. Justin Price Fall 2014 CRYPTOGRAPHY Hiding the meaning of a message from unintended recipients. Open source algorithms are

More information

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor.

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor. CS 320 Ch. 18 Multicore Computers Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor. Definitions: Hyper-threading Intel's proprietary simultaneous

More information

SmartNICs: Giving Rise To Smarter Offload at The Edge and In The Data Center

SmartNICs: Giving Rise To Smarter Offload at The Edge and In The Data Center SmartNICs: Giving Rise To Smarter Offload at The Edge and In The Data Center Jeff Defilippi Senior Product Manager Arm #Arm Tech Symposia The Cloud to Edge Infrastructure Foundation for a World of 1T Intelligent

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Ninth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information