Documentation. Design File Formats. Constraints Files. Verification. Slices 1 IOB 2 GCLK BRAM

Similar documents
Documentation Design File Formats

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Core Facts. Documentation. Encrypted VHDL Fallerovo setaliste Zagreb, Croatia. Verification. Reference Designs &

logibayer.ucf Core Facts

Core Facts. Documentation. Design File Formats. Simulation Tool Used Designed for interfacing configurable (32 or 64

AES Core Specification. Author: Homer Hsing

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

April 6, 2010 Data Sheet Version: v2.05. Support 16 times Support provided by Xylon

algotronix Calton Road Edinburgh, Scotland United Kingdom, EH8 8JQ Phone: URL:

April 7, 2010 Data Sheet Version: v4.00

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications

SHA Core, Xilinx Edition. Core Facts

Support Triangle rendering with texturing: used for bitmap rotation, transformation or scaling

SHA3 Core Specification. Author: Homer Hsing

AvnetCore: Datasheet

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

User Manual for FC100

Advanced Encryption Standard / Rijndael IP Core. Author: Rudolf Usselmann

January 19, 2010 Product Specification Rev1.0. Core Facts. Documentation Design File Formats. Slices 1 BUFG/

Lecture 2B. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware

LogiCORE IP Initiator/Target v5 and v6 for PCI-X

Fibre Channel Arbitrated Loop v2.3

ISE Design Suite Software Manuals and Help

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES

10GBase-R PCS/PMA Controller Core

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC Wrapper v1.7

Dynamic Phase Alignment for Networking Applications Author: Tze Yi Yeoh

A Compact FPGA Implementation of Triple-DES Encryption System with IP Core Generation and On-Chip Verification

Field Programmable Gate Array (FPGA)

Modern Symmetric Block cipher

A High-Performance VLSI Architecture for Advanced Encryption Standard (AES) Algorithm

INTRODUCTION TO FPGA ARCHITECTURE

32-Bit Initiator/Target v3 & v4 for PCI

S-DES Encryption template. Input:

Secret Key Cryptography

OCB3 Block Specification

Table 1: Example Implementation Statistics for Xilinx FPGAs

Documentation. Simulation Tool Used Executes instructions with one clock per cycle. ModelSim & NC-Sim

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

Implementation and Analysis of the PRIMATEs Family of Authenticated Ciphers

Block Ciphers and Data Encryption Standard. CSS Security and Cryptography

Virtex-6 FPGA Embedded Tri-Mode Ethernet MAC Wrapper v1.4

AvnetCore: Datasheet

RC6 Implementation including key scheduling using FPGA

AvnetCore: Datasheet

AES as A Stream Cipher

SPART. SPART Design. A Special Purpose Asynchronous Receiver/Transmitter. The objectives of this miniproject are to:

Evaluation of the RTL Synthesis Tools for FPGA/PLD Design. M.Matveev. Rice University. August 10, 2001

LUTs. Block RAMs. Instantiation. Additional Items. Xilinx Implementation Tools. Verification. Simulation

Utility Bus Split (v1.00a)

Bus Matrix Synthesis Based On Steiner Graphs for Power Efficient System on Chip Communications

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Configurable UART ver 2.10

Topics. Midterm Finish Chapter 7

Xilinx ChipScope ICON/VIO/ILA Tutorial

OPB Universal Serial Bus 2.0 Device (v1.00a)

LogiCORE IP FIFO Generator v6.1

Applied Cryptography Data Encryption Standard

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

ECT 224: Digital Computer Fundamentals Using Xilinx StateCAD

Utility Reduced Logic (v1.00a)

Implementation of Data Encryption&Decryption For the Safer+ Algorithm Using Verilog HDL

Laboratory Memory Components

Cryptography and Network Security Block Ciphers + DES. Lectured by Nguyễn Đức Thái

Graduate Institute of Electronics Engineering, NTU. FPGA Lab. Speaker : 鍾明翰 (CMH) Advisor: Prof. An-Yeu Wu Date: 2010/12/14 ACCESS IC LAB

DESIGN STRATEGIES & TOOLS UTILIZED

Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1

High Level Synthesis of Cryptographic Hardware. Jeremy Trimble ECE 646

CHAPTER 6. SYMMETRIC CIPHERS C = E(K2, E(K1, P))

Field Programmable Gate Array

ECC1 Core. Elliptic Curve Point Multiply and Verify Core. General Description. Key Features. Applications. Symbol

Architectures and FPGA Implementations of the. 64-bit MISTY1 Block Cipher

ECE 545 Lecture 12. FPGA Resources. George Mason University

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003

Chapter 6: Contemporary Symmetric Ciphers

Building Combinatorial Circuit Using Behavioral Modeling Lab

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34

SPART - A Special Purpose Asynchronous Receiver/Transmitter

Configurable UART with FIFO ver 2.20

Data Side OCM Bus v1.0 (v2.00b)

Documentation. Implementation Xilinx ISE v10.1. Simulation

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

ECE 545 Fall 2014 Midterm Exam

Topics. Midterm Finish Chapter 7

D16750 IP Core. Configurable UART with FIFO v. 2.25

Synthesis Options FPGA and ASIC Technology Comparison - 1

Digital Logic Design Lab

ICT 6541 Applied Cryptography. Hossen Asiful Mustafa

PINE TRAINING ACADEMY

I 2 C Bus Interface - Slave ver 3.08

Encryption and Decryption by AES algorithm using FPGA

Product Obsolete/Under Obsolescence

Transcription:

DES and DES3 Encryption Engine (MC-XIL-DES) May 19, 2008 Product Specification AllianceCORE Facts 10805 Rancho Bernardo Road Suite 110 San Diego, California 92127 USA Phone: (858) 385-7652 Fax: (858) 385-7770 E-Mail: fpga@avnet.com URL: www.avnet.com Documentation Design File Formats Constraints Files Verification Provided with Core Core Documentation, User Guide, Sample Design VHDL/Verilog RTL source files, EDIF netlist ucf VHDL/Verilog Testbench, Test Vector files (with source code only) Features Single and Triple DES operation Configurable to support all DES options and configurations NIST Certificate Number 31 Suitable for implementation in ECB, CBC, CFB, and OFM operating modes 56-bit key (United States only) Simple interface and timing Bit-rate is 4 times clock frequency (DC-172 Mbits/sec, single-des) Supports OC3 applications Continuous or burst mode operation Supports high speed applications (>580Mbps) Simple core interface for ease of integration Includes Verilog or VHDL source code Instantiation Templates VHDL, Verilog Reference Designs & Application Notes Additional Items Mentor Graphics Modelsim Sample Implementation in VHDL or Verilog Warranty by AvnetCore Simulation Tool Used Support Support Provided by Table 1: Example Implementation Statistics for Xilinx FPGAs Fmax Family Example Device (MHz) Slices 1 IOB 2 GCLK BRAM MULT/ DSP48/E DCM / Design CMT MGT Tools Spartan -3 XC3S400-4-FG456 74 404 34 0 0 0 0 N/A ISE 10.1.00i Virtex -4 XC4VLX15-10- 114 437 34 0 0 0 0 N/A ISE 10.1.00i SF363 Virtex -5 XC5VLX110T-1-194 83 34 0 0 0 0 N/A ISE 10.1.00i FF1136 Notes: 1) Actual slice count dependent on percentage of unrelated logic see Mapping Report File for details 2) Assuming all core I/Os and clocks are routed off-chip May 19, 2008

DES and DES3 Encryption Engine (MC-XIL-DES) PLAIN[63:0] INITIAL PERMUTATION CLK SYNC_RST DES Stage KEY[63:0] SUBKEY GENERATOR Permutation SBOXES Permutation holding register LOAD TRIPLE_DES ENCRYPT STATE MACHINE INVERSE INITIAL PERMUTATION CIPHER[63:0] CIPHER_RDY EARLYC_RDY KEYSEL[1:0] MDS8002 Applications Secure internet applications Remote access servers Cable modems Satellite modems Hardware-based RSA challenges General Description Figure 1: MC-XIL-DES Block Diagram The DES Core provides a scalable hardware implementation of the Data Encryption Standard (DES). Its ease of use and high performance makes it a cost competitive solution to dedicated hardware or software alternatives. DES is a block-oriented encryption algorithm. Plaintext data is loaded 64-bits at a time along with the encryption key. Encrypted ciphertext is available 16 clock cycles later for Single-DES operation. The same hardware can be used to decrypt a block of data. With decryption selected, a block of ciphertext is loaded along with the encryption key and 16 clocks later the plaintext is available. Triple- DES consists of applying the DES algorithm on the data three times. Encryption in Triple-DES is performed by encrypting the data with key number 1, decrypting the resulting ciphertext with key number 2, and encrypting that result with key number 3. The process is reversed for decryption. The state machine within the core controls selection of the key. The user must provide a multiplexing function specific to the end application. The DES Core supplies the base engine on which an encryption application can be built. The CBC, CFB, and OFM modes are realized by surrounding the DES Core with multiplexers and XOR functions. 2 May 19, 2008

Functional Description The DES core is made of three main blocks: the State Machine, the SubKey Generator, and the DES- Stage. Refer to DES Data Encryption Standard Engine User s Guide for detailed technical information. The User s Guide is available, directly from. General Operation When new data is presented to the core and the LOAD input is high, data is clocked into the DES-Stage holding registers. The outputs of the DES-Stage are fed back to its input. Data is cycled through the stage 16 times during a Single-DES process. Each pass through the stage consists of the following steps. 1. The data word is split into a right half and a left half. 2. The right 32 bits are expanded to 48 bits by replicating some of the bits. 3. These 48 bits are XOR d with a 48-bit subkey. The subkey changes each pass through the stage. 4. The 48-bit result is fed to 8 substitution boxes (Sbox). Each Sbox is unique and the substitution is nonlinear. A 6-bit input is converted to a 4-bit output. 5. The order of the Sbox output is permutated and the 32-bit result is XOR d with the left 32 bits from the holding register. 6. The resulting 32 bits are fed to the right half of the holding register. Data from the right half is fed to the left half of the register. SubKey Generator The SubKey Generator has a 56-bit holding register for the KEY input. Although the interface for the KEY is 64 bits, every eighth bit is a parity bit and is not used for encryption. Initial Permutation The order of the KEY value is permutated before it is loaded into a holding register. Like the DES-Stage, the KEY word is split into a right half and a left half. These halves are shifted right or left in a circular fashion depending on the state of the ENCRYPT input. The halves may be shifted 0, 1, or 2 bits depending on the cycle of the algorithm. State Machine The state machine provides control timing. It controls the cycles and operation of the core. Encryption applications often have very specific needs. For example, when operating in CBC mode, the incoming data will be XOR d with either the output of the previous encryption cycle or with an initial value that is provided as an additional input to the encryption engine. These types of changes and decisions require the state machine to be modified to control a multiplexer in the feedback path. Core Modifications The state machine delivered with the core is a simple example that will operate the core in ECB mode. It operates in single and triple mode for encryption or decryption and can be used to demonstrate timing requirements of the core. Modification of the state machine can be done by the user or by AvnetCore to the user s specifications. AvnetCore can also design system interface modules specific to the user's requirements. Contact directly to discuss any application requirements. May 19, 2008 3

DES and DES3 Encryption Engine (MC-XIL-DES) Core I/O Signals The core signal I/O have not been fixed to specific device pins to provide flexibility for interfacing with user logic. Descriptions of all signal I/O are provided in Table 2. Table 2: Core I/O Signals. Signal Direction Description PLAIN [63:0] Input Data Input to core. Plaintext input in Encrypt mode, Ciphertext input in Decrypt mode. Data must be valid during LOAD signal. CLK Input The primary clock used for all circuits in this interface. SYNC_RST Input Active-high synchronous reset. KEY [63:0] Input Key input value. Key data must be valid for duration of the LOAD signal. LOAD Input Active-high signal enables core data registers to capture KEY and input data. Signal initiates 16-stage block processing in Single-DES mode and 48-stage processing in Triple-DES mode. TRIPLE_DES Input Active-high signal selects Triple-DES mode; low select Single-DES Mode. ENCRYPT Input Active-high signal selects encrypt mode; low selects decryption in Single-DES mode. In Triple-DES mode an EDE sequence is selected when ENCRYPT is high. DED sequence is selected when ENCRYPT is low. CIPHER [63:0] Output Ciphertext output during encryption; Plaintext output during decryption. Data is valid from CIPHER_RDY active to LOAD active of next block. CIPHER_RDY Output Active high pulse indicates block processing is complete and output is available on CIPHER outputs. EARLYC_RDY Output Active high pulse precedes CIPHER_RDY by one clock cycle. KEYSEL [1:0] Output State machine outputs for control of key multiplexer in Triple-DES modes. Verification Methods An HDL testbench is used to verify operation of the core, and is provided with source code purchases only. Recommended Design Experience A basic understanding of the Data Encryption Standard is recommended. Users should be familiar with Verilog or VHDL synthesis and simulation, as well as Xilinx design flows. Ordering Information This product is available directly from Xilinx Alliance Program member. Please contact for pricing and additional information about this product using the contact information on the front page of this datasheet. 4 May 19, 2008

Related Information Industry Information (Optional) Include description and contact information for appropriate industry standards and the committees or companies that generated them. If none, then delete this section. Committee name Contact address Xilinx Programmable Logic For information on Xilinx programmable logic or development system software, contact your local Xilinx sales office, or: Xilinx, Inc. 2100 Logic Drive San Jose, CA 95124 Phone: +1 408-559-7778 Fax: +1 408-559-7114 URL: www.xilinx.com May 19, 2008 5