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

Preview:

Citation preview

Course web page:

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

ECE 746Secure 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

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)

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 GajResearch and teaching interests:

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

Contact:

Science & Technology II, room 223

kgaj@gmu.edu, kgaj01@yahoo.com,

(703) 993-1575

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

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%

depth

• 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

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

Exam 1: March 31

Exam 2: May 5

Tentative dates:

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)

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

ADVANCED TOPICS

11. Secret sharing

12. Zero-knowledge identification schemes

13. Biometrics

14. Quantum Cryptography & Quantum Computing

Lecture topics (3)

• 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

“Typical” course

time

difficulty

This coursedifficulty

time

ECC Side channelZero-knowledge

Stream ciphers

• 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)

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 programfor learning cryptography

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

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

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

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

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

eCRYPT Benchmarking of AsymmeTric Systems

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

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

Measuring time and the amount of memoryrequired by asymmetric cryptosystems

• digital signatures• encryption / key exchange• secret sharing

Goal:

eBATS

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

Benchmarking of Asymmetric Tools on Multiple Architectures, Non-Interactively

BATMAN

Time and memory use measurementsare performed automaticallyon multiple computers usingprogramming environmentcalled

BATMAN

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

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

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

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 ………………………………………………………………………………………………………….

Comparison And Visualization Environment

CAVE

After timing measurements BATS get to the CAVE

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

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

Hardware

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

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

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

Recommended