PPT slides - Rivier University

advertisement
Central Connecticut State University
March 6, 2012
Algorithms and Software Tools for Learning
Mathematical Fundamentals of Computer
Security (with demonstration of the Java Applets)
Vladimir V. Riabov, Ph.D.
Professor of Computer Sciences & Mathematics
Rivier College, Nashua, New Hampshire, USA
E-mail: vriabov@rivier.edu
Web: http://www.rivier.edu/faculty/vriabov/cs572aweb/
Mathematical Fundamentals of Computer
Security: CHALLENGES
Many computer security topics involve Math concepts
that are not often taught, or inadequately covered, in
curricula, including sets, permutations, combinations, and
probability; number theory (divisibility, primes, groups, rings,
and fields); modular arithmetic; and computability theory
(the reasonableness of an algorithm).
 The challenge is how to introduce these topics to a
typically Math-phobic audience, without eliciting a “deer
in the headlights” response.
 We try to motivate coverage based on simple, realworld applications of these topics.

Vladimir Riabov
Math Fundamentals of Computer Security
2
Non-Trivial Motivational Study Cases:
Puzzling vs. Drilling
“The whole art of teaching is only the art of awakening the natural curiosity of the young mind
for the purpose of satisfying it afterwards,” – Anatole France
“The important thing is not to stop questioning... Never lose a holy curiosity,” – Albert Einstein
Warm-Up Study Case:
What is the last digit of the number 25975927
[mod(10)]?
 Using MSExcel™ spreadsheet, find the last digit
of the number 719 [mod(10)]?
 How to use your findings in these two cases for
encrypting e-messages?

Vladimir Riabov
Math Fundamentals of Computer Security
3
What is the last digit of the number
25975927 [mod(10)]?









It’s enough to consider the last digit of a
simpler number 75927;
Do your experiments! (see Table)
“LAST” can be 7, 9, 3, or 1 only;
therefore, it is a cycle of four cases;
The power, 5927 can be represented
as 5927 = 4*1481+3;
Therefore, “LAST” of 75927 is the same
as the “LAST” of 73, which is “3”.
Answer: “3”.
Try MS Excel™Spreadsheets! (see
Table)
Why the last digit of the number 7N at N
> 18 is 0 there?
HINT: Consider the number of
“valuable” digits in large natural
numbers calculated with MS Excel™!
Vladimir Riabov
N
7^N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
7
49
343
2401
16807
117649
823543
5764801
40353607
282475249
1977326743
13841287201
96889010407
678223072849
4747561509943
33232930569601
232630513987207
1628413597910450
11398895185373100
79792266297612000
Math Fundamentals of Computer Security
4
Assignment-1: Cracking a Simple Cipher
The course textbook (Network Security: Private Communication in a Public World by Charlie Kaufman, Radia Perlman,
Mike Speciner, 2nd edition, 2004) contains two ciphers:
On the page immediately following the title page:
Si spy net work, big fedjaw iog link kyxogy
On page 44:
Cf lqr'xs xsnyctm n eqxxqgsy iqul qf wdcp eqqh,
erl lqrx qgt iqul!
These ciphers are simple substitution ciphers of the type
that newspapers often publish daily as crypto-puzzles.
Vladimir Riabov
Math Fundamentals of Computer Security
5
What to Submit in Assignment-1 Report?



What plan of attack have you used? This may actually be
more than one plan of attack, if one or more plans failed
to produce results. I want to hear about all the
unsuccessful attempts as well as the successful one(s) –
this is often more illuminating than just discussing the
successful approaches. (You learn a lot more from your
mistakes than from your successes!)
What assumptions you made; what deductions you made?
How long it took you to solve each of the puzzles.
HINT: Edgar Allan Poe's The Gold Bug and Sir Arthur Conan Doyle's The
Adventure of the Dancing Men show examples of explanations of how their
characters solved ciphers.
Vladimir Riabov
Math Fundamentals of Computer Security
6
Examples of Student’s Assignment-1 Reports
Vladimir Riabov
Math Fundamentals of Computer Security
7
Examples of Student’s Assignment-1 Reports
Vladimir Riabov
Math Fundamentals of Computer Security
8
Lectures
History of cryptography;
 Sets, permutations, combinations, and probability;
 Number theory and modular arithmetic;
 Classical cryptosystems;
 Symmetric block ciphers;
 Public key cryptography;
 Message authentication codes;
 Hashes and message digests;
 Web security and privacy for users;
 Firewalls, tunneling and virtual private networks (VPNs);
 Malware.

Vladimir Riabov
Math Fundamentals of Computer Security
9
Java Applets Security Tools
Students have used these tools
for reviewing topics on
probabilities and combinatorics,
as well as for deciphering simple
Shift Substitution ciphertexts,
MonoAlphabetic substitution
ciphers, Playfair and Vigenère
ciphers, as well as for exploring
modular arithmetic and message
digests.
Web: http://www.rivier.edu/faculty/vriabov/webresos.htm
Vladimir Riabov
Math Fundamentals of Computer Security
10
Assignment-2: Cracking Classic Ciphers

Here's the ciphertext for a message enciphered by using
the Shift Substitution Cipher (known as Caesar's Cipher):
Qeb bkbjv mixkp ql xqqxzh lk Qrbpaxv jlokfkd
Q: Given the approach described
above, for a Shift Substitution
Cipher, how many possibilities
are there for a shift value? Is this
a feasible task?
Ans: …
Vladimir Riabov
Math Fundamentals of Computer Security
11
MonoAlphabetic Substitution Ciphers
MonoAlphabetic Substitution Ciphers employ another
approach: Instead of using a simple shift to determine the
letter mapping, they select an individual mapping for each
character, where the relative position of the corresponding
characters is, in general, different for all characters.
 Q: How many possibilities are there for character mappings
in this approach? Is this a feasible task?
 Ans: ……
 Assumptions about the plaintext:

◦ That the plaintext consists of characters, not some kind of binary code.
◦ That it is written in some known natural language (e.g., English).
◦ That we know the frequency of letters in a typical piece of text in that language.
◦ That the plaintext is typical of normal English text, and so we expect the same
frequencies of letters (approximately, within statistical fluctuations).
Vladimir Riabov
Math Fundamentals of Computer Security
12
Student’s Report on Assignment-2:
Cracking Classic Ciphers
Vladimir Riabov
Math Fundamentals of Computer Security
13
MonoAlphabetic Substitution Ciphers
Decrypt the cipher text-1 (3 pages, 620 words,
2,685 characters), where the original word
spacing, punctuation, and style is retained.
Vladimir Riabov
Letter Frequencies Analysis
Math Fundamentals of Computer Security
14
Student’s Report on Assignment-2:
MonoAlphabetic Substitution Ciphers
Vladimir Riabov
Math Fundamentals of Computer Security
15
Polygram Substitution Ciphers

Mapping single letters to single letters is not secure, so
cryptographers came up with the concept of mapping
entire blocks of plaintext letters to blocks of ciphertext
letters.
◦ For example, using a block size of 8, we could map
blocks of 8 letters at a time: AAAAAAAA through
ZZZZZZZZ -- there are 268 distinct possibilities.
◦ To break such a cipher, you would have to have a
table of size 268 = 208,827,064,576 blocks, and also
know the relative frequencies of the occurrence of
8-letter blocks in the plaintext.
Vladimir Riabov
Math Fundamentals of Computer Security
16
Exploring the Playfair Cipher
In 1854, Sir Charles Wheatstone invented the Playfair
Cipher, which is a polygram substitution cipher using a
block size of 2. Based on the use of a 5 × 5 square matrix of
letters, constructed starting from a keyword or keyphrase.
Each unique letter from the phrase is inserted into the
square, until there are no more letters, and then the
remaining letters of the alphabet are added to fill the
square. For example, the phrase "Cynicism is the last
refuge of the romantic" produces the matrix shown below.
C
Y
N
I/J
S
M
T
H
E
L
A
R
F
U
G
O
B
D
K
P
Q
V
W
X
Z
Vladimir Riabov
Math Fundamentals of Computer Security
17
Exploring the Playfair Cipher (continue)

Here are the rules to encipher a piece of plaintext:
Massachusetts goes Republican!
◦ First, eliminate all non-letter characters, and upcase all
letters:
MASSACHUSETTSGOESREPUBLICAN
◦ Then, arrange the plaintext in pairs of letters. If any
pair of letters contains the same letter (for example,
'SS'), then insert an 'X':
MA SX SA CH US ET TS GO ES RE PU BL IC AN
◦ If there is a last character not paired, add an 'X'.
Vladimir Riabov
Math Fundamentals of Computer Security
18
Exploring the Playfair Cipher (continue)

For each pair of plaintext characters, call the first p, and the
second q; the corresponding ciphertext characters c and d:
◦ If p and q are in the same row of the matrix, c is the letter to the
right of p, and d is the letter to the right of q, wrapping around if
necessary
◦ If p and q are in the same column of the matrix, c is the letter below
p, and d is the letter below q, wrapping around if necessary
◦ If p and q share neither the same row nor column, they define the
corners of a square. The other two corners of the square are c and
d, with c being the letter in the same column as p.
MA SX SA CH US ET TS GO ES RE PU BL IC AN
AO ZI GC MN IG LH YL PA IL TU GK TP SY CF
How would you decipher this message?
Vladimir Riabov
C
Y
N
I/J
S
M
T
H
E
L
A
R
F
U
G
O
B
D
K
P
Q
V
W
X
Z
Math Fundamentals of Computer Security
19
Trying the Playfair Cipher Java Applet
Vladimir Riabov
Math Fundamentals of Computer Security
20
PolyAlphabetic Substitution Ciphers

Because monoalphabetic substitution ciphers are
so notoriously insecure, cryptographers invented
PolyAlphabetic Substitution Ciphers

A PolyAlphabetic Substitution Cipher has:
◦ A set of related monoalphabetic substitution rules, and
◦ A key to determine which particular rule is chosen for
a given transformation
Vladimir Riabov
Math Fundamentals of Computer Security
21
The Vigenère Cipher

Vladimir Riabov
The best known (and
one of the simplest)
polyalphabetic
substitution cipher is
the Vigenère Cipher
It uses a Vigenère
Tableau (table in
French) or Vigenère
Square
Math Fundamentals of Computer Security
22
The Vigenère Cipher

To encrypt a plaintext
message:
o Choose a key.
o Extract the first letter in the
plaintext, p, and the first letter in the
key, q.
o Use p to select a column in the
tableau and q to select a row in the
tableau. The character in the
corresponding cell is the ciphertext
character.
o Repeat for the second plaintext character, and second key letter, and
so on. When you come to the end of the key, you wrap around to the
first letter of the key.
o The length of the key is called the period of the cipher.
Vladimir Riabov
Math Fundamentals of Computer Security
23
The Vigenère Cipher


The strength of this cipher is that there are multiple
ciphertext letters for each plaintext letter, and so the
letter frequency information is obscured.
For a long time, the Vigenère Cipher was considered
unbreakable.
◦ Then a retired Prussian cavalry officer named Kasiski noticed
that repetitions occur in the ciphertext when characters of the
key appear over the same characters in the ciphertext. The
number of characters between the repetitions is a multiple of
the period.
◦ The longer the period, the more secure is the cipher -preferably the key value should be chosen to be as long as the
plaintext, and should have no statistical relationship with it.
Vladimir Riabov
Math Fundamentals of Computer Security
24
Variations of the Vigenère Cipher:
◦ The Full Vigenère Cipher
 Use of a tableau with each line representing a permutation of
the alphabet, not just a simple shift
◦ The Auto-Key Vigenère Cipher
 Both the key and [part of] the plaintext are the used as the real
key
◦ The Running Key Vigenère Cipher (Vernam Cipher)
 Makes use of a very long key — for example, a passage from a
book, or a running loop of tape.
but each one of them is still vulnerable to a letter
frequency analysis.
Vladimir Riabov
Math Fundamentals of Computer Security
25
The One-Time Pad Cipher

A U.S. Army Signal Officer, Joseph Mauborgne,
proposed an improvement on the Vernam Cipher -the One-Time Pad.
◦ Uses a random key that is truly as long as the message, with no
repetitions.
◦ This type of cipher is provably unbreakable.
◦ It produces random output that bears no statistical
relationship to the plaintext, and so there is no way to break
the cipher.

In practice, the one-time pad has problems:
◦ No practical way of making large quantities of random keys.
◦ Key distribution is a truly daunting task.
◦ For these reasons, the one-time pad is not used today
Vladimir Riabov
Math Fundamentals of Computer Security
26
Exploring Probabilities: Simulating a Coin Toss
• 50%-50% chance the coin will land with heads facing
up in a large number (N) of tosses;
• Error is proportional to ~ 1/SQRT(N).
Vladimir Riabov
Math Fundamentals of Computer Security
27
Exploring Probabilities:
Factorial, Power, Permutation, and Combination Utility of
Java Applets
Vladimir Riabov
Math Fundamentals of Computer Security
28
Exploring Prime Numbers:
The Sieve of Eratosthenes Java Applet
Vladimir Riabov
Math Fundamentals of Computer Security
29
Exploring Modular Arithmetic:
Multiplicative Inverse
a-1 ≡ x (mod p) has a solution iff a and p are relatively prime.
The only rows and columns in the Multiplication Table that
contain a 1 are for values that are relatively prime to p = 10:
1, 3, 7, 9.
Vladimir Riabov
Math Fundamentals of Computer Security
30
Modular Arithmetic: Finite, or Galois Fields

A finite field (also known as a Galois* Field) is a field
with a finite number of elements. Finite fields are
critical to the success of many cryptographic algorithms.
◦ The finite fields are completely known:
 It can be shown that the order of a finite field
(number of elements in the field) must be a power
of a prime, pn, where n is a positive integer.

For a given prime, p, the finite field of order p, GF(p) is
defined as the set Zp of integers {0, 1, ... , p - 1}, together
with the arithmetic operations modulo p.
*Evariste Galois (1811-1832), French mathematician
Vladimir Riabov
Math Fundamentals of Computer Security
31
Modular Arithmetic: Binary Systems

Here are the values for (a + b) mod 2:

and (a•b) mod 2:
Implementation:
(a  b) mod2  a XOR b
(a  b) mod2  a ANDb
The field Z2, ({0, 1}), is an important tool to analyze
cryptographic algorithms by computer.
Vladimir Riabov
Math Fundamentals of Computer Security
32
Modular Arithmetic:

Cryptography uses modular arithmetic a great
deal, because:
◦ Calculating discrete logarithms and square roots mod n
can be hard problems.
◦ It's easier to work with on computers, because it restricts
the range of all intermediate values and results
 For a k-bit modulus, n, the intermediate results of any addition,
subtraction, or multiplication will not exceed 2k bits in length.
 We can perform modular exponentiation without generating
huge intermediate results
 Arithmetic operations, mod 2, are natural for computers,
because of the equivalence of addition with XOR, and
multiplication with AND, etc.
Vladimir Riabov
Math Fundamentals of Computer Security
33
Modular Arithmetic: Field Zn*
 Z is the set of all integers
 We've seen that Zn is the set of integers
mod n
◦ Z10 = {0,1,2,3,4,5,6,7,8,9}

Zn* is defined as the set of mod n
integers that are relatively prime to n
◦ Z10* = {1,3,7,9}
1
3
7
9
1
1
3
7
9
3
3
9
1
7
7
7
1
9
3
9
9
7
3
1
(0 is missing because gcd(0, 10) = 10)
The multiplication table for Z10* indicates:
Zn* is closed under multiplication mod n
Vladimir Riabov
Math Fundamentals of Computer Security
34
Euler's Totient Function

An important quantity in number theory is
Euler's Totient Function:
◦ The number of positive integers less than n, that are
relatively prime to n.

It is written φ(p):
φ(1) = 1
φ(p) = p – 1 (for p prime)
φ(m) < m – 1 (for m composite)

In other words, Euler's Totient Function φ(p) is
the number of elements in Zn*
Vladimir Riabov
Math Fundamentals of Computer Security
35
Properties of Euler's Totient Function

Assume we have two distinct prime numbers, p and q,
and an integer n = pq
◦ Then: φ(n)  φ( pq)  φ( p)  φ(q)  ( p  1)  (q  1)
◦ The set of residues in Zn is {0,1,...,(pq - 1)}
◦ The residues that are not relatively prime to n are:
 The set {p, 2p, ... ,(q - 1)p}, the set {q, 2q, ... ,(p - 1)q}, and 0
◦ So: φ(n)  pq  [(q  1)  ( p  1)  1]
 pq  ( p  q)  1
 ( p  1)  (q  1)
 φ( p )  φ ( q )
This fact laid the foundation to various modern encryption
algorithms, including the RSA public key encryption (1977).
Vladimir Riabov
Math Fundamentals of Computer Security
36
RSA Algorithm (1977)
RSA Algorithm was created by Ron Rivest, Adi Shamir, and Len Adleman from MIT
Vladimir Riabov
Math Fundamentals of Computer Security
37
RSA Example
Vladimir Riabov
Math Fundamentals of Computer Security
38
Triple Data Encryption Algorithm





Original Data Encryption Standard (DES-1977)
declared insecure in 1998
Electronic Frontier Foundation & DES Cracker
machine
New DEA Standard (ANSI X9.17 1985)
TDEA Algorithm (1999) uses 3 keys and 3
executions of DEA algorithm
Effective key length 168 bit.
Vladimir Riabov
Math Fundamentals of Computer Security
39
Location of Encryption Devices
Vladimir Riabov
Math Fundamentals of Computer Security
40
Automatic Key Distribution
Traffic Padding:

Produce cipher text continuously

If no plain text to encode, send random data

Make traffic analysis impossible
Vladimir Riabov
Math Fundamentals of Computer Security
41
The Advanced Encryption Standard (AES)
In 1997, the National Institute of Standards (NIST)
announced a contest to select a new encryption standard to
be used for protecting sensitive, non-classified, U.S.
government information.
 Among 5 finalists, NIST chose a submission called "Rijndael"
by two Belgian cryptographers – Joan Daemen and Vincent
Rijmen. Rijndael uses arithmetic in the Galois Field GF(28), the
finite field of order 256.
 The order of a finite field (number of elements in the field)
must be a power of a prime, pn, where n is a positive integer.
In Rijndael n = 8, and each element of the field can be
represented by an octet. The bits in the octet are the
coefficients of a polynomial over Z2 modulo the irreducible Z2
polynomial.

Vladimir Riabov
Math Fundamentals of Computer Security
42
Polynomial Algebra

Operation of addition is performed using an XOR operation
denoted by  . For example, all notations below are equivalent:
(x6 + x4 + x2 + x + 1) + (x7 + x + 1) = x7 + x6 + x4 + x2 + 0
[polynomial notation];
{01010111}  {10000011} = {11010100} [binary notation].
Multiplication in Rijndael is the multiplication of polynomials modulo
the irreducible polynomial. For example, in the polynomial notation:
(x6 + x4 + x2 + x + 1) • (x7 + x + 1)
= x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1,
and
(x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1) mod (x6 + x4 + x2 + x + 1)
= x7 + x + 1.

The set of 256 possible byte values, with XOR used as addition,
and the multiplication  defined as above, has the structure of the
finite field GF(28).
Vladimir Riabov
Math Fundamentals of Computer Security
43
One-Way Hash Functions

Can be viewed as a variation on a Message
Authentication Code (MAC) function:
◦ A Hash Function accepts a variable-size message, M, as input
and produces a fixed-size output, referred to as a Hash Code,
or Message Digest:
h = H(M)
◦ Unlike a MAC function, a hash code:
 does not use a key, and so
 is a function only of the input message
◦ A change to any bit (or bits) of the message results in a change
to the hash code, which can provide an error-detection
capability.
◦ A message digest can be used as a fingerprint for a message, to
allow detection of message modification.
Vladimir Riabov
Math Fundamentals of Computer Security
44
One-Way Hash Functions (continue)

Requirements for a hash function are:
◦ Can be applied to a block of data of any size
◦ Produces a fixed-length output
◦ H(M) is relatively easy to compute for any given M,
allowing for both software and hardware implementations
◦ For any given value h, it is computationally infeasible to find
M such that h = H(M). This is the One-way Property.
◦ For any given block, M, it is computationally infeasible to
find M' != M with H(M') = H(M).
 This is called Weak Collision Resistance.
◦ It is computationally infeasible to find any pair (M, M') such
that H(M) = H(M').
 This is called Strong Collision Resistance.
Vladimir Riabov
Math Fundamentals of Computer Security
45
One-Way Hash Functions (continue)

The drive for hash/message digest
algorithms began with public key
cryptography
◦ RSA Encryption Algorithm (1977) was
invented, but it was slow enough at that time
to make it impractical when used alone.
◦ A cryptographically secure message digest
algorithm with high performance would make
RSA Encryption Algorithm much more useful.
Vladimir Riabov
Math Fundamentals of Computer Security
46
One-Way Hash Function: Message Digest (MD)



After several attempts, Ron Rivest (of RSA fame) invented MD5
(defined in RFC 1321)
◦ Produces a 128-bit one-way hash function
The NSA designed the Secure Hash Algorithm (SHA)
The National Institute of Standards and Technology (NIST), made it
a standard.
◦ They revised it very late in the game, because of some
(unspecified) weakness that had been found, and changed its
name to SHA-1.
◦ SHA-1 is a 160-bit hash function based on MD4;
◦ Shares much in common with MD5, but has a much more
conservative design;
◦ 2 or 3 times slower than MD5.
Vladimir Riabov
Math Fundamentals of Computer Security
47
Exploring Message Digests with Java Applets
Vladimir Riabov
Math Fundamentals of Computer Security
48
Typical Usage of Digests

Here's an example of the use of SHA-1 in a real
application – Java JAR files:
◦ In the jce.jar (Java Cryptography Extension) JAR file, the
manifest contains the following:
Manifest-Version: 1.0
Created-By: 1.4.1-internal (Sun Microsystems Inc.)
Name: javax/crypto/SealedObject.class
SHA1-Digest: R+GWl6Zuqgtty1zOaP5RrRSGfQo=
Name: javax/crypto/KeyAgreementSpi.class
SHA1-Digest: fdmlqpiTKMzV65+93O4tJ3Uo6wg=
Name: javax/crypto/spec/DESedeKeySpec.class
SHA1-Digest: Q7UJvLuk8GST42GW6xDlXHe3Xv8=
Name: javax/crypto/spec/DHParameterSpec.class
SHA1-Digest: y0oY9yd/BQQxEc/2q1Cytta/r2E=
Name: javax/crypto/interfaces/DHPrivateKey.class
SHA1-Digest: jwgw7pakTyKOlLBNivsp6V6Ad4k=
Vladimir Riabov
Math Fundamentals of Computer Security
49
Students' projects implemented in local
companies and the community:









Senthil Balakrishnan, “Wireless Encryption Technology”
Tom Borick, “Secure Wi-Fi Technologies for Enterprise LAN
Network”
Travis Bryant, “Steganography and Steganalysis”
Soumya Busani, Anitha Karthikeyan, and Sunitha Malipeddi,
“Intrusion Prevention System”
Praveen Dandu and Vineeta Sharma, “Security and SQL Injections”
Nigel D'Souza, Charles Heintzelman, and Suresh Kumar
Sundaravadivelu, “Virtual Private Networks”
Harika Samudrala, “Firewalls Overview”
Tejinder Singh, Arti Sood, and Daniel Szilagyi, “RADIUS Protocol”
Pratheeba Thangavel and Malathi Thiagarajan, “Secured
Communication in Java.”
Vladimir Riabov
Math Fundamentals of Computer Security
50
Selected students' publications in
Rivier Academic Journal:









Snogles, D. Personal Encrypted Talk - Securing Instant Messaging
with a Java Application. (2005).
Kumar, A. Development of Laboratory Exercises Based on OPNET
IT Guru Academic Version. (2005).
Wekhande,V. Wi-Fi Technology: Security Issues. (2006).
Zupko, R. Introduction to the IEEE 802.16 Standard: Wireless
Broadband Access. (2007).
Sood, A. Network Access Control. (2007).
Grossman, J. Coding Theory: Introduction to Linear Codes and
Applications. (2008).
Szilagyi, D., Sood, A., and Singh, T. RADIUS: A Remote Authentication
Dial-In User Service. (2009).
Selent, D. Advanced Encryption Standard. (2010).
(see http://www.rivier.edu/journal/).
Vladimir Riabov
Math Fundamentals of Computer Security
51
Conclusions & Acknowledgement
The author has described some algorithms, tools, and
experience of using the Java Applets in computer security
courses for seniors and graduate students.
 The experience has been in general a very positive one, while
at the same time providing useful lessons learned.
 The author believes that this algorithm-exploration and
project-based approach with the Java Applets can be
effectively applied to courses of a similar nature in academia,
and the model can be extended to other areas of applied
mathematics.
 The presenter would like to acknowledge a contribution of
Dr. Bryan Higgs, who taught the course on Computer
Security at Rivier College in AYs 2005-2008.

Vladimir Riabov
Math Fundamentals of Computer Security
52
References
[1] Riabov,V.V. and Higgs, B. J. J. Comput. Small Coll., 2010; 25(6): 245-247.
[2] Kaufman, C., Perlman, R., and Speciner, M. Network Security: Private
Communica-tion in a Public World, 2nd edition. Upper Saddle River, NJ:
Prentice Hall, 2002.
[3] Grossman, J. Coding Theory: Introduction to Linear Codes and
Applications. [Online] http://www.rivier.edu/journal/RCOAJ-Fall2008_table.htm.
[4] Selent, D. Advanced Encryption Standard. Rivier Academic Journal, 2010, 6(2).
[Online] http://www.rivier.edu/journal/archive/.
[5] Rivest, R., Shamir, A., and Adleman, L. Communications of the ACM, 1978;
21(2): 120-126.
[6] Riabov,V.V. J. Comput. Small Coll., 2006; 21(6): 88-99.
[7] Linton, T. Shift Substitution Cipher Tool: ShiftApplet.java. [Online]
http://pages.central.edu/emp/LintonT/classes/spring01/cryptography/java/Shi
ft.html.
[8] Bishop, D. Introduction to Cryptography with Java Applets. Sudbury, MA: Jones
& Bartlett Learning, 2002.
Vladimir Riabov
Math Fundamentals of Computer Security
53
References (continue)
[9] Frequencies. [Online]
http://www.simonsingh.net/The_Black_Chamber/frequencyanalysis.html
[10] Graham, R. L., Knuth D. E., and Patashnik, O. Concrete Mathematics.
Reading, MA: Addison-Wesley, 1994.
[11] Ferguson, N., and Schneier, B. Practical Cryptography. Hoboken, NJ: Wiley,
2002.
[12] Federal Information Processing Standard (FIPS) for the Advanced
Encryption Standard, FIPS-197. [Online]
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
[13] The MD5 Message-Digest Algorithm. Request For Comments, No. 1321.
[Online] http://www.faqs.org/rfcs/rfc1321.html
[14] Secure Hash Standard. Federal Information Processing Standards Publication
180-1. NIST. [Online] http://www.itl.nist.gov/fipspubs/fip180-1.htm
[15] Riabov,V. and Higgs, B. CS572A Computer Security Website. [Online]
http://www.rivier.edu/faculty/vriabov/cs572aweb/
[16] Riabov,V. and Higgs, B. Java Applets for Computer Security. [Online]
http://www.rivier.edu/faculty/vriabov/webresos.htm
Vladimir Riabov
Math Fundamentals of Computer Security
54
Download