Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Encryption Transaction with
3DES
Objective: To implement a
secure credit card transaction
using 3DES encryption using
Kerberos-style authentication.
Team W2
Yervant Dermenjian
Taewan Kim
Evan Mengstab
Xiaochun Zhu
(W21)
(W22)
(W23)
(W24)
Design Manager: Rebecca Miller
Current Stage: Short Final Presentation 04/12/2004
Status Update

Have not found source of voltage drop on Vdd problem

Debugging Attempts









1) Simulate PC alone with long Vdd & Gnd rails: Works
2) Simulate (1) with min sized buffers on input AND output: Works
3) Simulate PCROM alone with long Vdd & Gnd rails: Works
4) Simulate (3) with min sized buffers on input AND output: Works
5) Simulate PC & PCROM together without resistances: Works
6) Simulate PC & PCROM together with resistances: Doesn't Work
7) Remove excess M1 to Gnd contacts in ROM and decoder in (6):
Doesn't Work
8) Do (7) with NWell and contacts along long Vdd rail: Works
They’re connected by a few microns of wire: Shouldn’t be a problem

Workaround: Layed Vdd and Gnd rails everywhere possible

Runs at 150MHz
Project Description

Implement Triple DES Encryption using 0.18μ CMOS
technology

Attain speeds appropriate for application in
Automated Teller Machines (200MHz)

Integrate Encryption into ATM transation

Use Kerberos-style authentication



Encrypt User Information as data using CC# and Pin
as Keys
Transaction Authorizer decrypts using CC# and Pin
(which they know)
Credit Card Number and PIN are never transmitted,
but are essential to authenticate
Marketability

Point-of-sale terminals transmit your name, credit card
number, and expiration dates ‘in the clear.’

Credit and charge card fraud costs cardholders and
issuers hundreds of millions of dollars each year

Using Kerberos-style authentication, we transmit
encrypted information that can be verified by the card
authorizer without actually containing sensitive
information.

Uses existing cards and phone network

Finalist for the 2001 Advanced Encryption Standard

April 1, 2005 – MasterCard requires all ATMs be
3DES compliant
System Integration
Triple DES Compliant
Unencrypted
Card# + PIN
Verified
Verified
Triple DES
Encryption
Encrypted Card# + PIN
Encrypted Card# + PIN
The 3DES Algorithm

Overview





DES vs. 3DES



Block Cipher - acts on a 64-bit block of plaintext
Converts it into a 64-bit block of cipher text using a 56-bit
key
Specified in FIPS Pub 46-3
Symmetric Key Cipher – encryption & decryption use
same key
3DES applies 3 stages of DES with a separate key for
each stage
Total key length in 3DES is 56 bits x 3 key = 168 bits
Stages



Stage 1: Encrypt plaintext with Key 1
Stage 2: Decrypt cipher text from Stage 1 with Key 2
(produces new cipher text)
Stage 2: Encrypt cipher text from Stage 2 with Key 3
3DES Algorithm Flowchart (I)
Encryption
DES-1
DES
K1
K2
K3
DES-1
DES
DES
Plain Text
Decryption
DES-1
Cipher Text
3DES Algorithm Flowchart (II)
Extension
32 bit 48 bit
Left Half
Sub
key
64 bit plain Text
Initial Permutation
48 Bit XOR
S Box
16 Rounds
Encryption
32 Bit XOR
Final Permutation
Single
Round
Right Half
cipher Text
3DES Algorithm Flowchart (III)
Key Schedule
56bit Key
Initial Permutation
I=1
I=I+1
Left/Right Half 28 bits
Left Barrel Shift
N
I=16?
Final Permutation
Y
Ready
48 bit Sub-key [ I ]
Density
.09 Trans/um2
=
clock
Enc_ShiftL
Dec_ShiftL
Input
125,534 um2
.126 mm2
All large functional blocks use Metal 1 269
andum
Metal 2.
334.37 um Program Control
32’b XOR
56’b 2:1 mux
32’b 2:1 mux
PC-2 wiring
(L)56b -> 48b
32’b Text Register
IP-1
IP Wiring
PC-2 wiring 56b -> 48b
Mux 56’b 2:1 mux
Mux
KeySub 56’b-1Register
Enc_ShiftL
Des_ShiftR
KeySub
mux
2:1 Register
IP 56’b56’b
56’b 2:1 mux
56’b Key Latch
64 -> 56
Output
Expand
S-box 512 x 4’b
Expand
32’b Text Register (R)
32’b Mux
32’b Mux
48’b XOR
32’b XOR
IP-1 Wiring
415 um
XOR
Reg
64’b
Text 32’b
P Wiring
mux
64’b 2:1
x 4’b
512
S-box
IP (wiring)
48’b XOR
32’b 2:1 demux
Expand
32’b 2:1 mux
32’b 2:1 mux
Data Reg (R) 32’b
(Instruction ROM)
Mux
56’b
Left Barrel Shifter
2:1 demux
64’b
Right Barrel Shifter 56’b
56’b Key Reg
32’b 2:1 demux
64 ->2:1
56 demux
PC (wiring) 64’b
Program Control
IP (wiring)
56’b Key Latch
(Instruction ROM) PC2
64’b 2:1 mux
PC (wiring)
56’b 2:1 mux
Data Reg (L) 32’b
PC1
Input
32’b Latch
Input
Program Control
32’b Latch
Output
Total Area:
111947 um2
2
377.44
um
= 0.112mm
P Wiring
367μm
64’b
P
48’b XOR
Revised
Floorplan
Final Floorplan
Original
Floorplan
M1
M2
M3
M4
Output
2:1 mux
Transistor
Density: 0.136
trans/ um2
379μm
Expected Output :
Verification 2f 81 a8 bf 3c 6b df b4

Verify




C Simulation
Behavioral
Schematic
Layout
C code Verification
Structural Verification
Behavioral Verification
Spice Verification
Problems Encountered


Layout

Interconnections between components back and forth due
to complicated algorithm

Permutations take too much space
Spice Simulation

Vdd Strength drops along conductor wires

No DC path to ground from node
Module Specifications
BlockName
32'b Latch
56'b Mux
56'b Left Barrel Shifter
56'b Right Barrel Shifter
56'b Key Register
32'b Mux
32'b XOR
48'b XOR
Expand Permutation
Control Logic Buffers
64'b Text Register
64'b Mux
SBOX (each)
Inverse IP Permutation
IP Permutation
PC2 Permutation
P Permutation
PCROM
Program Counter (PC)
PC1 Permutation
Transistors
512
336
392
392
1344
192
256
384
160
36
1536
384
592
256
256
192
128
798
186
240
Area
2129.76
2265.554
3696.1
3696.1
6818.04
1297.628
1687.284
2526.336
3621.4479
239.512
7864.5672
2606.9526
2357.343
16609.0176
16609.0176
5815.4391
6410.331
2593.08
1201.2831
10824.0363
Density
(tr/um^2)
0.240402674
0.148308096
0.106057737
0.106057737
0.1971241
0.147962282
0.151723124
0.151998784
0.044181224
0.150305621
0.195306361
0.14729842
0.251130192
0.015413314
0.015413314
0.033015564
0.019967768
0.307742144
0.154834443
0.022172875
Overall Chip Specifications

Input Pins






Output Pins











32 Data Pins (used for input text and keys)
1 Clock Pin
1 Reset Pin (asserted high)
1 Vdd Pin
1 Ground Pin
32 Cipher Text Pins (64’b cipher text delivered over 2 clocks)
1 Valid Output Pin
1 Get Next Key Pin
Total Pin Count: 70
Chip Aspect Ratio: 1.03
Chip Area: 139093 μm2 = 0.139093 mm2
Total Transistor Count: 13,697 (PMOS: 4,324 NMOS: 9,373)
Transistor Density: 0.09847 transistors/μm2 = 10.155 μm2/transistor
Operation: 256’b Input
64’b Output over 54 clock cycles
Faster Clock Speed: 150MHz
Total Throughput: 169.54 Mbits / second
Layer Masks
Control
Program
XOR
S BOX ROM and Decoders
P Permutation
Expand Permutation
Text Register
Final Permutation
Initial Permutation
Key Register
PC2 Perumtation
Barrel Shifting
Initial Permutation
Input Latch
Full Chip Layout
Final Presentation Breakdown









Marketing
Algorithm Description
Design Process
Floorplan Evolution
Verification
Issues
Specifications
Layout
Conclusions
Evan
Xiaochun
Evan
Taewan
Taewan
Yervant
Xiaochun
Yervant
Yervant
Related documents