course web page: ece 746 secure telecommunication systems ece web page courses course web pages ...
Post on 12-Jan-2016
219 Views
Preview:
TRANSCRIPT
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
top related