47
se web page: http://ece.gmu.edu/courses/ECE746 ECE 746 ecure Telecommunication Systems E web page Courses Course web page ECE 746

Course web page: ECE 746 Secure Telecommunication Systems ECE web page Courses Course web pages ECE 746

Embed Size (px)

Citation preview

Page 1: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Course web page:

http://ece.gmu.edu/courses/ECE746

ECE 746Secure Telecommunication Systems

ECE web page Courses Course web pages ECE 746

Page 2: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Sequence of the ECE cryptography-related courses

Cryptography and Computer Network Security ECE 646

Secure Telecommunication SystemsECE 746

Computer ArithmeticECE 645

Spring or Fall

every Fall

every Spring

Page 3: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

ECE 746Part of:

MS in EE

Communications (elective)

MS in CpE

Network and System Security (strongly suggested)Computer Networks (elective)

Certificate in Information Systems Security

Certificate in Communications and Networking

PhD in ITPhD in ECE

MS in ISA (elective)

Page 4: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

NETWORK AND SYSTEM SECURITY

Concentration advisors: Jens-Peter Kaps, Kris Gaj

1. ECE 542 Computer Network Architectures and Protocols– S.-C. Chang, et al.

2. ECE 646 Cryptography and Computer Network Security– J-P. Kaps, D. Hwang, K. Gaj –

lab, project, C/C++, VHDL, or analytical

3. ECE 746 Secure Telecommunication Systems– K. Gaj, D. Hwang – lab, project, C/C++, VHDL, or analytical

4. ISA 656 Network Security – A. Stavrou

Page 5: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Kris GajResearch and teaching interests:

• cryptography• network security• computer arithmetic• FPGA & ASIC design

Contact:

Science & Technology II, room 223

[email protected], [email protected],

(703) 993-1575

Office hours: Monday, Wednesday 4:30-5:30 PM, 6:00-7:00 PM and by appointment

Page 6: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

ECE 746

Lecture Project Laboratory

40 % 10 %Homework

15 %Midterm exam 1

20 %Midterm exam 2

15 %

Specification - 5 %Results - 12 %Oral presentation - 10%Written report - 8%

Review - 5%

Page 7: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

depth

Page 8: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

• viewgraphs / chalk & blackboard

• viewgraphs (please, extend with your notes)

• books 2 required

• articles (CryptoBytes, CHES, CRYPTO, etc.)

• web sites - Crypto Resources standards, FAQs, surveys

Lecture

Page 9: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Homework

• reading assignments

• analytical problems

• theoretical problems (may require basics of number theory or probability theory)

• problems from the main textbook

• short programs

• literature surveys

Page 10: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Midterm exams

multiple choice test + short problems

practice exams available on the web

midterm exam review session - optional

Exam 1: March 31

Exam 2: May 5

Tentative dates:

Page 11: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Lecture topics (1)

ALGORITHMS

1. Cryptographic standard contests

2. AES algorithm

3. Math background: Groups, rings, and fields

4. AES – implementations in software & hardware

5. Stream ciphers

6. Survey of modern public key cryptosystems

7. Elliptic curve cryptosystems

Page 12: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Lecture topics (2)

8. Implementations of cryptography: Smart cards, FPGAs & ASICs

9. Side channel attacks: timing, power, fault, and cache attacks

10. True random bit/number generators

IMPLEMENTATIONS

Page 13: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

ADVANCED TOPICS

11. Secret sharing

12. Zero-knowledge identification schemes

13. Biometrics

14. Quantum Cryptography & Quantum Computing

Lecture topics (3)

Page 14: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

• 2-3 labs

• done at home or in the ECE labs

• based on the following software packages- Cryptool- MAGMA- KRYPTOS

• based on detailed instructions

• grading based on written reports

Laboratory

Page 15: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

“Typical” course

time

difficulty

This coursedifficulty

time

ECC Side channelZero-knowledge

Stream ciphers

Page 16: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

• depth, originality• based on additional literature• you can start in the point where former students ended• based on something you know and are interested in• teams of 1-3 students• software / hardware / analytical• may involve experiments • several topics suggested by the instructor• you may propose your own topic

Project (1)

Page 17: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Final Project Report

Initial submission: Paper for review

15 pages without counting title page and the list of references

11 pt font, Times New Roman or equivalent

Title page = Title, authors, abstract

Figures included in the text

Final submission: Camera-ready copy

IEEE format published on the web

Page 18: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Project Report Reviews

Detailed evaluation form published on the web

Reviews evaluated by the instructor based on:

• justification of evaluation scores

• mistakes found (and those overlooked)

• constructive suggestions

• fairness

Page 19: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Project Types

Software

program in a high-level language (C, C++, Java, C#)or assembly language

Hardware

RTL model in HDL (VHDL, Verilog)mapped into FPGA or ASIC,verified using timing simulation

Analytical

comparative analysis of competing algorithms, protocols, architectures, or implementations

practical case study

Page 20: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Software

Page 21: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Extensions to Cryptool

public domain educational programfor learning cryptography

Page 22: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746
Page 23: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Factoring of large numbers using Number Field Sieve

Project topics - Software

Prerequisites: C/C++

Assumptions:

• several public domain source codes already exists and may be used for this project• MAGMA can be used for experiments and debugging• four major steps that may be coded separately• multiple versions for each step e.g. linear sieving vs. lattice sieving Lancos vs. Block-Wiedemanm linear algebra• distributed implementation capable of running on multiple cores, multiple machines, and on supercomputers• close collaboration with the GMU factoring team• interesting experiments with hard to predict results

Page 24: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Timing attacks against public key cryptosystems

• Timing cryptanalysis of RSA and ECCs implemented using public-domain libraries of operations on large integers• Initial implementation developed by Kevin Magee as a part of ECE 746 & scholarly paper

Projects - Software

Messages

Key???

Page 25: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Statistical Tests for Randomness

Multiple tests for randomness available

Public domain implementations of selected tests exists - NIST Statistical Test Suite - DIEHARD battery of randomness tests by Prof. Marsaglia from University of Florida

No clear consensus which tests should be usedfor testing true and pseudorandom number generators

NIST standard in the initial stage of development

Page 26: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Generating large primes for cryptographic applications

Project topics - Software

Prerequisites: C/C++ or Java

Assumptions:

• AKS and Frobenius-Grantham algorithms• previous-semester implementations in C++ and Java inefficient• better mathematical analysis required• better choice of library functions needed

• timing measurements for various prime sizes• comparative analysis

Page 27: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Generation of truly random numbers with known factorization

Two known methods by:• Kalai• Bach

Trade-offs in terms of• difficulty of implementation• expected running time

Task: Efficient implementation and comparison in terms of

• development time• running time• randomness of generated numbers

Page 28: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Experiments with eBATS

eCRYPT Benchmarking of AsymmeTric Systems

Page 29: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

eCRYPT Benchmarking of AsymmeTric Systems

New eCRYPT project to measure differences amongspeed and memoryusage for various public-key cryptosystems(signature systems,encryption systems,secret-sharing systems)

eBATS

Page 30: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

eBATS

http://ebats.cr.yp.to

Creators:

Daniel Bernstein - University of Illinois at Chicago, USATanja Lange - Technische Universiteit Eindhoven, Holandia

URL:

Beginning:

end of 2006

Page 31: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Measuring time and the amount of memoryrequired by asymmetric cryptosystems

• digital signatures• encryption / key exchange• secret sharing

Goal:

eBATS

Page 32: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

eBATS is based on public submissions of

BATs - Benchmarkable Asymmetric Tools

BAT is an implementation of a public key cryptosystem using several functions with a standard interface

For example:

keypair() - key generation

ciphertext() - encryption

plaintext() - decryption

Page 33: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Benchmarking of Asymmetric Tools on Multiple Architectures, Non-Interactively

BATMAN

Time and memory use measurementsare performed automaticallyon multiple computers usingprogramming environmentcalled

BATMAN

Page 34: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

BATMAN: results show which cryptosystem is faster on a given computer

Cryptosystem SFLASH RSA 2048

Time [clock cycles]

- key generation 462 090 336 2 467 681 772

- signature generation 1 908 060 63 607 084

- signature verification 667 684 575 108

Size [bytes]

- private key 2823 2048

- public key 19 266 256

- signature 66 256

Page 35: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

BATMAN: Results show which implementation of a given cryptosystem is better on a given computer

Cryptosystem RSA 2048

Signature generation time [clock cycles]

Implementation

Name Language Library

Time[clock cycles]

claus-1 C OpenSSL 29 646 848claus++-1 C++ NTL 21 324 260 claus++-1 C++ GMP 13 919 316

Page 36: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

BATMAN: Results show which computeris faster for a given implementation of a certain

cryptosystem

RSA 2048

Implementation claus++-1, C++, GMP

Signature generation time [clock cycles]

ComputerTime

[clock cycles]

Intel Pentium 1 52c 28 981 828Motorola PowerPC G4 27 069 568 Intel Pentium 4 f12 13 919 316Sun UltraSPARC IV 11 306 413 AMD Athlon 622 9 892 179 AMD Athlon 64 X2 fb1 3 273 274 DEC Alpha 21264 EV6 3 082 045

Page 37: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Computers used to taking measurements for all submitted BATs

(22 computers, as of 06/24/2007)

Architecture MHz Cores CPU Owner Name

amd64 2000 2 AMD Athlon 64 UIC mace amd64 2137 2 Intel Core 2 Duo (6f6) UIC katana amd64 2192 2 AMD Opteron 250 (f58) HP td189 amd64 2390 2 AMD Opteron 250 (f5a) HP td159 amd64 3000 1 Intel Pentium 4 (f43) TU/e pclin153 ia64 900 2 HP Itanium II HP td156 ia64 1500 16 HP Itanium II HP td178 ppc32 533 2 Motorola PowerPC G4 UIC gggg sparcv9 1050 48? Sun UltraSPARC IV DTU haldx86 133 1 Intel Pentium (52c) UIC cruncher x86 800 1 Intel Pentium M (6d8) DJB atlas x86 900 1 AMD Athlon (622) UIC thoth x86 1000 2 Intel Pentium III (68a) UIC neumann x86 1400 2 Intel Pentium III (6b1) HP td152 x86 1400 2 Intel Pentium III (6b1) HP td158 ………………………………………………………………………………………………………….

Page 38: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Comparison And Visualization Environment

CAVE

After timing measurements BATS get to the CAVE

Page 39: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Ashraf AbuSharekhMS Thesis, April 2004

Comparative Analysis of SoftwareMulti-precision Arithmetic Libraries

for Public Key Cryptography

Support

HighSchemes

LowPrimitives

Low CryptoPP

PIOLOGIE

OpenSSL

MIRACL

Perform

ance

GMP,NTL, LiDIA

CLN

High

Support

HighSchemes

LowPrimitives

Low CryptoPP

PIOLOGIE

OpenSSL

MIRACL

Perform

ance

GMP,NTL, LiDIA

CLN

High

Possible topic – extension to eBATS

Page 40: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Other possible topics

• Developing eBATS based on the newECC library developed at GMU

as a part of ECE 746 in Fall 2006 ECClib

• Extending eBATs to support new emerging class of public key cryptosystems

called pairing-based cryptosystems

Page 41: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Hardware

Page 42: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Comparative analysis of various AES hardware architectures

• AES covered in detail in the first part ofthe course

• The detailed description of all architectures, including their block diagrams included in the chapter of the new (and yet unpublished) textbook on Cryptographic Engineering entitled

FPGA and ASIC Implementations of AESby Kris Gaj and Pawel Chodowiec

Page 43: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Interesting architecture comparisons

• S-box vs. T-box based iterative architecture

• Fully pipelined implementations with

a speed exceeding 20 Gbit/s with

S-boxes implemented using logic only

(instead of look-up tables)

• Compact architectures with a data path

width equal to 8-bits, 32-bits, 64-bits, 128-bits

Page 44: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

eBATS counterpart forFPGAs

• standard interfaces of cryptographic modules = hardware BATS

• scripts for an automated comparison of various - block ciphers - stream ciphers - public-key cryptosystems for - multiple families of FPGA devices, e.g. Xilinx and Altera - devices within a given family, e.g. Spartan 3 vs. Virtex 5

Should allow for an easy comparison of - various architectures of the same cryptosystem - suitability of a multiple FPGAs for a given architecture

Page 45: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Analytical

Page 46: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Preferred topics related to your• Ph.D. research• MS Thesis

Page 47: Course web page:  ECE 746 Secure Telecommunication Systems ECE web page  Courses  Course web pages  ECE 746

Examples of analytical projects related to this class:

1. Analysis of various proposed designs for True Random Number Generators

2. Analysis of countermeasures against side-channel attacks based on power analysis

3. Certification of cryptographic modules according to FIPS 140-2 and/or Common Criteria– case study of FPGA-based products and/or smart cards

4. Survey of patents related to cryptographic algorithms and their implementations