Student's name
1. Cheung Chun Kit Edward Michael (CUID: 1155030725)
2. Lo King (CUID: 1155031002)
3. Liu Nga Ting Emily (CUID: 1155030244)
Topic
19. Cryptography
Poster: http://erg2013.pbworks.com/w/file/61857570/engggroup18.pdf
Welcome to your learning page. This page is for you to keep a register of your learning history.
Tutor 
Objective 
Activities 
Date 
Comment 
Mr.Junlin Yu

Review on the beginning of the project 
Discussion on how to deal with the project.

6/11

We will first research on some cryptography methods and understand how they work. Second, we will try to use Matlab to practise those methods. 

Get some ideas about the topic 
Research on some cryptography methods. 
15/11 
We found a video called "Crypto I: making cryptography and linear algebra fun!" while searching on Youtube and jogged down three simple ciphers: Caesar, Affine and Hill for further research. As the algorithm they involve are really simple, we are deciding to use Caesar and Affine Ciphers in our introduction, in order to let our audience have an idea about what cryptography is. We may have more explanations for Hill Cipher since it involves matrix which is more related to our course.
Moreover, we searched for some information about McEliece Cryptosystem. However, we can only get a brief idea about what it is on Wikipedia and little understanding on how we can make it (but still confusing).


Prepare information about the 3 simple ciphers.
Familiarize with Matlab.

Prepare algorithms and examples.
Try to use Matlab.

23/11 
 Decided to briefly introduce Caesar and Affine Ciphers.
 More explanations for Hill Cipher, i.e. demonstrate both encryption and decryption.
 Briefly introduce the concept of McEliece Cryptosystem  public key and private key.


Start preparing the poster 
Review the information prepared and discuss the design of poster. 
30/11 
We decided to have a simple design for the poster  less graphics but clear information. Poster design will be prepared on next Thursday. The Powerpoint for presentation (if needed) will be prepared in the weekend before presentation. 
Caesar Cipher
( x + β ) mod 26 = y
plaintext letter integer constant ciphertext letter
Example may be used:
Input:
ENGINE [5, 14, 7, 9, 14, 5]
Cipher Key: β = 1
Output:
[18,1,20,22,1,18] RATVAR
To decrypt the message,
x = ( y  β ) mod 26
Reference: http://mathworld.wolfram.com/CaesarsMethod.html
Affine Cipher
(αx + β) mod 26 = y
Example may be used:
Input:
ENGINE [5, 14, 7, 9, 14, 5]
Cipher Key: α = 11 and β = 13
* α has to be relatively prime to 26 and β has to be in between 0 and 25
Output:
[16,11,12,8,11,16] PKLHKP
To decrypt the message,
there exists an interger m such that
αA = 26m + 1 [ which is also A = α^{1} (mod 26) ]
i.e. 11A = 26m + 1
In this case, we have A = 19 for the smallest integer m
Therefore,
x = ( A(y  β) ) mod 26
Reference: http://www.math.cornell.edu/~kozdron/Teaching/Cornell/135Summer06/Handouts/affine.pdf
Hill Cipher
Example may be used:
Message:
INFORMATION [9, 14, 6, 15, 18, 13, 1, 20, 9, 15, 14]
Cipher Key:
CUHK [3, 21, 8, 11]
Therefore,
[ 3 21 ]
Matrix of the cipher key, A = [ ]
[ 8 11 ]
[ 9 14 6 15 18 13 ]
Matrix of the message, X = [ ]
[ 1 20 9 15 14 0 ]
Output:
[ 22 20 25 22 10 13 ]
Y = AX mod 26 = [ ]
[ 5 20 17 25 12 0 ]
That is,
VTYVJMETQYL
To decrypt it,
GaussJordan Elimination is applied to find the decrypt matrix B such that BA = I (mod 26)
[ 3 25 ]
B = [ ]
[ 12 15 ]
Therefore, BY = X
Reference: http://massey.limfinity.com/207/hillcipher.pdf
Publickey cryptography
 consist of two keys: one may be widely available; another is only known by the recipient(usually)
Applications:
1. Publickey encryption  sender encrypts the message with public key and sends; recipient decrypts the encrypted message with private key
2. Digital signatures  sender signs its message with private key; the public verify its identity by decrypting the message with public key
Example: McEliece Cryptosystem (discuss the encryption only)
Recipient
 select a binary (n, k)linear code which can correct t errors
 generate a k x n matrix G
 select a random binary nonsingular k x k matrix S
 select a random n x n permutation matrix P which has a single 1 in each row and column and 0's everywhere else
> Private key: (S, G, P)
 G' = SGP
> Public key: (G', t)
Sender
 convert its message to a binary string m of length k
 select a random binary vector e of length n with t 1s
 encrypted message y = mG' + e
*Only public key, n, k and t are known by public.
Reference:
http://math.ucdenver.edu/~wcherowi/courses/m5410/ctcmcel.html
http://en.wikipedia.org/wiki/McEliece_cryptosystem
http://en.wikipedia.org/wiki/Publickey_cryptography
http://cacr.uwaterloo.ca/hac/about/chap8.pdf
Comments (1)
sidjaggi said
at 4:16 pm on Nov 18, 2012
ok. if you're still having trouble with the mceliece cryptosystem, please come talk to me during/after class.
You don't have permission to comment on this page.