CRYPTOGRAPHY: ALGORITHMS AND APPLICATIONS

CS627
Spring 2005


This syllabus is available in both PDF format and HTML format. The PDF format is more printer friendly while the HTML version contains many URL links, including the links to course slides (in the COURSE CONTENT section).

 

INSTRUCTOR INFORMATION

Name

:

Dr Xunhua Wang

E-Mail

:

Phone

:

(540) 568-3668

Fax

:

(540) 568-2745 (add Attn: Xunhua Wang)

Office

:

ISAT/CS 205

Web Site

 

:

 

Blackboard. Syllabus and course content will also be available from

http://users.cs.jmu.edu/wangxx/web/2005spring-cs627/index.html

Office Hours

:

Monday-Friday. May also be available on weekends but not guaranteed


CATALOG DESCRIPTION

Cryptographic techniques to achieve confidentiality, integrity, authentication and non-repudiation are examined. The underlying mathematical concepts are introduced. Topics to be covered include symmetric and public key encryption, hashing, digital signature, cryptographic protocols and other recent developments in the field.


PREREQUISITE

CS 515

Fundamentals of Computer Science for Information Security

or

the permission of the instructor


TEXTBOOK

Required

:

William Stallings. Cryptography and Network Security Principles and Practices (The 3rd Edition). Prentice Hall Press. 2002. ISBN: 0130914290. Visit author's website for book information and errata. (This book is called CNS hereafter.)

Optional

:

Niels Ferguson and Bruce Schneier. Practical Cryptography. John Wiley & Sons. 2003. ISBN: 0471223573. (This book is called PC hereafter.)

 

 

A. Menezes, P. van Oorschot and S. Vanstone. Handbook of Applied Cryptography. CRC Press. 1996. Note that this book is available on-line for free at http://www.cacr.math.uwaterloo.ca/hac


GRADING

Your grade in the course will be earned / calculated as follows:

Class participation

15%

Graded homework

25%

Project

20%

Final

40%

 

GRADE

 

POINT RANGE

DESCRIPTION

A

®

94

-

100

Excellent

A-

®

90

-

93

 

B+

®

85

-

89

Very Good

B

®

80

-

84

Good

B-

®

70

-

79

 

C

®

60

-

69

Poor

F

®

0

-

59

Failure

Notes

  1. No incomplete grades will be given for this course. If you plan to drop this course, it is your responsibility to drop it before the deadline.

  2. Each unit starts at 12:01AM, Monday and ends at 11:59PM, Sunday of the same week. For instance, unit #1 starts at 12:01AM, January 10th, 2005 (Monday) and ends at 11:59PM, January 16th, 2005 (Sunday). 

  3. In-class participation. This course will be taught as a distance learning class and in-class participation is in the form of on-line discussion. There are 8 discussions in total and students are expected to participate in all of them.
    • Each discussion starts at 12:01AM, Monday of the specified starting unit and ends at 11:59PM, Sunday of the specified ending unit. It should be noted that a discussion may last more than one unit and could extend more than one week. For example, discussion #1 starts at the beginning of unit # 1 and ends at the end of unit # 2.
    • The class participation grade will be based on the quality (not quantity) of the questions you ask, your answers to and comments on other students' questions. There are 2 points for each discussion. Your grades for each discussion will be available the following week in the Blackboard system.
    • Bonus points will be given to good discussions.

  4. There will be NO extensions for class participation, homework, project or exams unless explicit approvals are given. Extension approvals will only be granted before the unit starts and convincing evidences (such as documented medical or family emergencies) might be required.

Honor code: All homework, project and final exam should be individual work. JMU honor code applies.

 

General submission: It is your responsibility to make sure that you have submitted your homework/project correctly. You can verify the submission by downloading a copy and checking it. Late resubmission will NOT be accepted and submission of an empty file will result in a zero grade for that assignment.

 

Homework: Each homework is assigned at 12:01AM, Monday of the specified week and is due at 11:59PM, Sunday of the same week. The details for each homework are given in the teaching slides of the corresponding unit.

 

Homework submission: Homework must be submitted through the Blackboard system. When submitting your homework, please use [your-first-name]_[your-last-name]_Homework_[homework-unit-number].filename-extension as the file name. Microsoft Word and RTF formats are acceptable. If applicable, you should also add your full name to the document header.

 

Project: The project is assigned at 12:01AM, Monday of the specified starting week and is due at 11:59PM, Sunday of the specified ending week.

 

Project reminder: Please do not discuss the project in the Blackboard system before unit 15 (the course review unit). Any form of violation of this will be treated as cheating and JMU honor code applies. Reference solution for the project will be provided in the course review unit (unit 15).

 

Final exam: The final exam will last 2 hours and will be administrated by Prometric.

  1. This grading policy is subject to change, depending on the performance of the students. Notices will be given if this is necessary.


IMPORTANT DATES

These dates are for your information ONLY. It is your responsibility to contact the university to get the official dates. You can find the university calendar at http://www.jmu.edu/registrar/calendar_2004-2005.shtml

First class

:

Jan 10th, 2005 (Monday)

Drop deadline without tuition liability

:

Jan 14th, 2005

Add deadline

:

 Jan 18th, 2005

Drop deadline without Dean's permission

:

 Jan 14th , 2005

Midterm exam

:

 None

Last class

:

April 25th  ~ 29th, 2005

Final Exam

:

To be announced


ACADEMIC HONOR CODE

You are required to read the JMU Academic Honor Code and abide by it. The details of the JMU academic honor code can be found in Section VI of the JMU Student Handbook.


STUDENTS WITH DISABILITIES

Students with disabilities who require reasonable accommodations to fully participate in course activities and/or meet course requirements are strongly encouraged to register with the Office of Disability Service (ODS) and contact me to privately discuss access issues. ODS will provide you with an Access Plan Letter that will verify your need for services and make recommendations for accommodations to be used in my classroom. ODS is located in the Wilson Hall Learning Center, Room 107. Phone/TTY 8-6705.


COURSE CONTENT

Table 1 gives the tentative schedule for this course. In the HTML version of this syllabus, for each unit, you can find the URL links to the teaching slides, which are given in five formats: one-slide-per-page (1), two-slide-per-page (2), three-slide-per-page (3), four-slide-per-page (4) and six-slide-per-page (6). Some, but not all, units also provide accompanying notes (0). These slides can be best viewed using Adobe Reader 5.0 or higher versions, which is free and can be downloaded at http://www.adobe.com/products/acrobat/readstep2.html.

 

Table 1: Course Content (Tentative)

Date

Topic / Activity

Text

Discussion

Homework

&

Project

Unit

Start Date

End Date

1

Jan 10th

Jan 16th

Syllabus & Introduction

(0, 1, 2, 3, 4, 6)

CNS-Chap 1, PC-Chap {1, 2, 3}

Discussion

1 starts

 

2

Jan 17th

Jan 23rd

The confidentiality model

& classical techniques

(0, 1, 2, 3, 4, 6)

CNS-Chap 2

Discussion 1

ends

Homework 1

assigned

3

Jan 24th

Jan 30th

DES & Related

(1, 2, 3, 4, 6)

CNS-Chap {3, 6.1, 6.4}, PC-Chap {4, 5}

Discussion 2

starts

 

4

Jan 31st

Feb 6th

Number Theory 1

(0, 1, 2, 3, 4, 6)

CNS-Chap 4

Discussion 2

Continues

Homework 2

assigned

5

Feb 7th

Feb 13th

AES

(1, 2, 3, 4, 6)

CNS-Chap{5,

5A}

Discussion 2

ends

 

6

Feb 14th

Feb 20th

Applied Confidentiality

(1, 2, 3, 4, 6)

CNS-Chap {6.5, 7}, PC-Chap 18

Discussion 3

 

7

Feb 21st

Feb 27th

Number theory 2

(1, 2, 3, 4, 6)

CNS-Chap 8, PC-Chap 11

Discussion 4

starts

Homework 3

assigned

8

Feb 28th

Mar 6th

Public key encryption:

RSA

(1, 2, 3, 4, 6)

CNS-Chap 9, PC-Chap 13

Discussion 4

ends

 

 

Mar 7th

Mar 13th  

Spring Break (no class)

9

Mar 14th 

Mar 20th 

Diffie-Hellman & ECC

(1, 2, 3, 4, 6)

CNS-Chap 10, PC-Chap 12

Discussion 5

Homework 4

assigned

10

Mar 21st 

Mar 27th

The authentication model,

MAC, CBC-MAC, HMAC

(1, 2, 3, 4, 6)

CNS-Chap 11, PC-Chap 7

Discussion 6

starts

Project

assigned (project selection is due)

11

Mar 28th 

Apr 3rd

Hash algorithms

(1, 2, 3, 4, 6)

CNS-Chap 12, PC-Chap 6

Discussion 6

continues

Project phase I (draft design) is due

12

Apr 4th 

Apr 10th 

Digital signature: RSA, DSA & PKI (1, 2, 3, 4, 6)

CNS-Chap {13, 14.2}, PC-Chap {19, 20, 21}

Discussion 6

ends

 

13

Apr 11th 

Apr 17th 

Authentication applications

(1, 2, 3, 4, 6)

CNS-Chap 14, PC-Chap 8

Discussion 7

 

14

Apr 18th 

Apr 24th

E-mail Security

(1, 2, 3, 4, 6)

CNS-Chap 15

Discussion 8

Project due

15

Apr 25th 

May 1st

Course Review

(1, 2, 3, 4, 6)

NOTES

 

 

16

May 2nd 

May 8th 

Final Exam Week (exam date to be announced)


COURSE OBJECTIVES

By the end of this semester, you should be able to

  1. explain in your own words the following terminologies:

1)      cryptology, cryptography, cryptanalysis, steganography, threat, assets, vulnerability, confidentiality, integrity, availability, authentication, data-origin authentication, entity authentication, non-repudiation, general use cryptosystem, restricted use cryptosystem, code

2)      plaintext, ciphertext/cryptogram, encryption/encipherment, key, symmetric key, public key, private key, Kerckhoff assumption, perfect secrecy, one-time pad, unconditional secrecy, conditional/computational secrecy, substitution, transposition, diffusion, confusion, Feistel cipher, DES weak keys, DES semi-weak keys, stream cipher, block cipher, AES, DES, Triple-DES, ECB, CBC, CFB, OFB, CTR, RC4, brute-force attack, ciphertext-only attack, known-plaintext attack, chosen plaintext attack, chosen ciphertext attack, adaptive chosen ciphertext attack, differential cryptanalysis, linear cryptanalysis

1)      one-way function, plain RSA, ElGamal, DH, DSA/DSS, elliptic-curve cryptosystem, Chinese Remainder Theorem (CRT), discrete logarithm, Euclidean GCD, extended Euclidean GCD, prime, key exchange, authenticated key exchange, one-way/mutual authentication

2)      digital signature, hash function, MD5, SHA-1, RIPEMD-160, MAC, CBC-MAC, HMAC, strong/weak collision resistance

3)      digital certificate, CRL, OCSP, PKI

4)      replay attack, active attack, passive attack

5)      link encryption, end-to-end encryption, traffic analysis, random, pseudo-random

6)      PGP, GPG, S/MIME 

  1. explain the confidentiality model

1)      For the symmetric key cryptography model, the students should be able to compare and contrast block cipher with stream cipher, AES with DES, CBC with CTR

2)      For the public key cryptography model, one should know

                                                        I.      how RSA encryption/decryption works (how to find two large primes, how RSA decryption works, how to do modulo exponentiation efficiently), why we need PKCS #1, why and how we can use Chinese Remainder Theorem to speed up the computation

                                                     II.      how ElGamal works

                                                   III.      how ECC works

  1. explain the authentication model. Students should be able to explain the difference between data-origin authentication and entity authentication, the difference between authentication and non-repudiation, and the different between MAC and digital signature

1)      how RSA digital signature works

2)      how DSA works

3)      how ECDSA works

  1. explain the difference between key transport and key agreement; how DH works; what is vulnerability of the standard DH key agreement.
  2. explain what is birthday attack
  3. explain how Kerberos achieves the property of stateless. Why do we need TGT server in Kerberos?
  4. Understand that cryptography always assume secure implementation, which is hard to achieve in real world.


STUDY HINTS

  • You do not need to be a mathematician to understand cryptography. Mathematical background necessary to understand cryptography will be covered/reviewed in class. But be prepared to think hard and review the course materials from time to time.
  • Exams are based on the course objectives. If you (or your team, if applicable) can master the objectives, you will do well. Also restudying your course objectives from time to time may help a lot.
  • For each homework/exam, after returning the grades, please see me after class (rather than later) if you have any questions.
  • The course slides are designed to help you master the important points quickly. They are not intended to replace the textbooks and you are required to read the textbooks.
  • Applied cryptography (to network security) is a very hot area. There is an increasing demand for information security professional (please see me if you need more information). Your efforts will be rewarded.
  • Applied cryptography is a fast developing area and it might even make those books recently published obsolete. For instance, PKCS #1, which is about how RSA is implemented, is not covered in Stallings' book (instead, plain RSA is covered there which is not considered secure in real world!); AES is recently announced and DSA is recently modified (p should be 1024-bit long in DSA now and a new pseudorandom number generator is adopted), which are not reflected in many course textbooks. Secret sharing, which is a very important topic, is not covered in William Stallings' book.

This course is structured for the most recent development (at least to my best knowledge). So, stick to your notes.

  • This course focuses on the practical aspect of cryptography. Many advanced topics (such as unconditional security, threshold cryptography, secure distributed computing and zero knowledge proof) are not covered in this course. If you need some further reading, please send me emails.
  • Do NOT hesitate to ask questions. Cryptography is a tricky subject. Many protocols and cryptosystems designed by smart cryptographers were broken some years later. Indeed, many ciphers and security applications provide no provable security.
  • This is an Internet-based course and I will try to make myself available as possible as I can. Normally you can expect fast responses from me during weekdays. Occasionally I will also check the Blackboard and my emails on Saturday. I might not be available on Sunday.
  • In addition to the discussion board, there will be at least one 1-hour Virtual Classroom session per two-week period, which allows students and instructor to have real time communications. It is not mandatory but is highly recommended. It is highly recommended that students prepare some questions before each Virtual Classroom session. Both the discussion boards and the Virtual Classroom are archived and students who miss them can read the transcripts later.
  • Please use Blackboard for communication to me and avoid personal email as possible. In case of emergency, you can call me.


QUOTES

It is insufficient to protect ourselves with laws; we need to protect ourselves with mathematics
¾ Bruce Schneier

 

It's just not true. Cryptography can't do any of that. ... I was pretty naïve.

¾ Bruch Schneier, referring to his above remark

 

Skill in production cryptanalysis has always been heavily on the side of the professionals, but innovation, particularly in the design of new type of cryptographic systems, has come primarily from the amateurs.
-- Whitfield Diffie and Martin Hellman

 

...all the great cryptographic papers in the world do not protect a single bit of traffic.
-- Whitfield Diffie


Xunhua (Steve) Wang 2004-12-20