ECE 746 Secure Telecommunication Systems Course web page: http://ece.gmu.edu/courses/ECE746 ECE web page  Courses  Course web pages  ECE 746

Download Report

Transcript ECE 746 Secure Telecommunication Systems Course web page: http://ece.gmu.edu/courses/ECE746 ECE web page  Courses  Course web pages  ECE 746

ECE 746 Secure Telecommunication Systems

Course web page:

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

ECE web page

Courses

 

ECE 746 Course web pages

Sequence of the ECE cryptography-related courses Cryptography and Computer Network Security ECE 646

every Fall

Secure Telecommunication Systems ECE 746

Spring or Fall

Computer Arithmetic ECE 645

every Spring

ECE 746 Part of: MS in CpE

Network and System Security (

strongly suggested

) Computer Networks (

elective

)

MS in EE

Communications (

elective

)

MS in ISA

(

elective

)

PhD in ECE PhD in IT Certificate in Information Systems Security Certificate in Communications and Networking

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

Kris Gaj

Research 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

ECE 746

Lecture

Homework

15 %

Midterm exam 1

20 %

Midterm exam 2 15 %

Project

40 %

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

Laboratory

10 %

depth

Lecture

• viewgraphs / chalk & blackboard • viewgraphs (please, extend with your notes) • books 2 required • articles (CryptoBytes, CHES, CRYPTO, etc.) • web sites -

Crypto Resources

standards, FAQs, surveys

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

Midterm exams

multiple choice test + short problems practice exams available on the web midterm exam review session -

optional Tentative dates:

Exam 1: March 31 Exam 2: May 5

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

Lecture topics (2)

IMPLEMENTATIONS

8. Implementations of cryptography: Smart cards, FPGAs & ASICs 9. Side channel attacks: timing, power, fault, and cache attacks 10. True random bit/number generators

Lecture topics (3)

ADVANCED TOPICS

11. Secret sharing 12. Zero-knowledge identification schemes 13. Biometrics 14. Quantum Cryptography & Quantum Computing

Laboratory

• 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

difficulty “Typical” course time This course difficulty

Stream ciphers ECC Side channel Zero-knowledge

time

Project (1)

• 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

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

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

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

Software

Extensions to Cryptool

public domain educational program for learning cryptography

Project topics - Software Factoring of large numbers using Number Field Sieve 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

Projects - Software

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 ???

Key Messages

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 used for testing true and pseudorandom number generators NIST standard in the initial stage of development

Project topics - Software Generating large primes for cryptographic applications 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

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

Experiments with eBATS

e CRYPT B enchmarking of A symme T ric S ystems

eBATS

e CRYPT B enchmarking of A symme T ric S ystems New eCRYPT project to measure differences among speed and memory usage for various public-key cryptosystems (signature systems, encryption systems, secret-sharing systems)

eBATS

Creators:

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

Beginning:

end of 2006

URL:

http://ebats.cr.yp.to

eBATS

Goal:

Measuring time and the amount of memory required by asymmetric cryptosystems • digital signatures • encryption / key exchange • secret sharing

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

BATMAN B enchmarking of A symmetric T ools on M ultiple A rchitectures, N on-Interactively Time and memory use measurements are performed automatically on multiple computers using programming environment called BATMAN

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

Time [clock cycles]

- key generation - signature generation - signature verification

SFLASH RSA 2048

462 090 336 1 908 060 667 684 2 467 681 772 63 607 084 575 108

Size [bytes]

- private key - public key - signature 2823 2048 19 266 256 66 256

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 claus++-1 C++ claus++-1 C++ OpenSSL NTL GMP 29 646 848 21 324 260 13 919 316

BATMAN: Results show which computer is faster for a given implementation of a certain cryptosystem RSA 2048 Implementation claus++-1, C++, GMP Signature generation time [clock cycles] Computer Time [clock cycles] Intel Pentium 1 52c Motorola PowerPC G4 Intel Pentium 4 f12 Sun UltraSPARC IV AMD Athlon 622 AMD Athlon 64 X2 fb1 DEC Alpha 21264 EV6 28 981 828 27 069 568 13 919 316 11 306 413 9 892 179 3 273 274 3 082 045

Computers used to taking measurements for all submitted BATs (22 computers, as of 06/24/2007) Architecture MHz Cores CPU Owner Name amd64 amd64 amd64 amd64 amd64 ia64 ia64 ppc32 sparcv9 x86 x86 x86 2000 2137 2192 2390 3000 900 1500 533 1050 800 900 2 2 AMD Athlon 64 Intel Core 2 Duo (6f6) 2 AMD Opteron 250 (f58) UIC mace UIC katana HP td189 2 AMD Opteron 250 (f5a) HP td159 1 2 16 2 48? 1 1 Intel Pentium 4 (f43) HP Itanium II HP Itanium II Motorola PowerPC G4 Sun UltraSPARC IV 133 1 Intel Pentium (52c) TU/e HP HP UIC DTU UIC Intel Pentium M (6d8) DJB AMD Athlon (622) UIC pclin153 td156 td178 gggg hald cruncher atlas thoth x86 x86 1000 1400 2 2 Intel Pentium III (68a) Intel Pentium III (6b1) UIC HP neumann td152 x86 ……….

1400 2 Intel Pentium III (6b1) HP td158 …………………………………………………………………………………………………

CAVE C omparison A nd V isualization E nvironment After timing measurements BATS get to the CAVE

Comparative Analysis of Software Multi-precision Arithmetic Libraries for Public Key Cryptography

Possible topic – extension to eBATS

GMP

,NTL, LiDIA Ashraf AbuSharekh MS Thesis, April 2004

Other possible topics

• Developing eBATS based on the new ECC 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

Hardware

Comparative analysis of various AES hardware architectures

• AES covered in detail in the first part of the 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 AES

by Kris Gaj and Pawel Chodowiec

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

eBATS counterpart for FPGAs

• 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

Analytical

Preferred topics related to your

Ph.D. research

MS Thesis

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