This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: p. 55 # 9, 17, 20, 21 p. 60 # 6, 10, 11 p. 104 # 1, 3, 4, 6 p. 55 #9 . p. 55 # 17 . Remark: The determinant of the encryption matrix is congruent to 24 mod 26. Since gcd( 24 , 26 ) = 2, we note that quotient of the adjoint matrix by 24 is not defined. The encryption matrix has no inverse. We wish to determine multiple values [x , y] that encrypt to fixed [s, t]. Hence, we need to solve the simultaneous equations Multiplying the first congruence by 2 and subtracting from the second, we get Since gcd( 24 , 26 ) = 2, then the second linear congruence has a solution iff 2  (t2s). If 2  (t  2s), then a second solution to the congruence differs from the first solution by a multiple of = 13, as in #9, above. Hence, taking s = 0, t = 0, so that 2  (t  2s), we get two solutions to Hence, [0, 0] and [13, 13] both encrypt to [0, 0]. p. 55 #20 . Use the recurrence relation to produce a fourth element, 0, in the sequence. The matrix equation at the bottom of p. 46 with m = 2, then shows that and since the 2 by 2 matrix is the identity. p. 55 #21 . From the matrix equation at the bottom of p. 46, we can solve for the values of the c's by inverting the matrix mod 3, just as we did for Hill ciphers. with(LinearAlgebra): (2) (2) (1) (1) M:=Matrix(<<1,1><1,0>>); C:=Matrix(<02>).(1/M) mod 3; p. 60, #6. Cribbing from crypto.mw, we get # Clear memory of any assigned variables restart: # create a numerical correspondence with adenosine = 1, cytosine = 2, # guanosine = 3, and thymine = 4 # The second table is the inverse of the relation defined in numb numb:=table(["a"=1,"c"=2,"g"=3,"t"=4]); alph:=table([1="a",2="c",3="g",4="t"]); affinecrypt:=proc(txt,m,n) #option trace; # these variables have scope local to the subroutine local i,crypttext,codeletter; # start with a NULL string, to which we append letters in the loop crypttext:=NULL; for i from 1 while i<=length(txt) do # find the number associated to the ith letter in txt # shift it down since the first letter corresponds to numb[substring(txt,i)]1; # apply the affine map mod 4 to that number %*m+n mod 4; # shift it back up again then # find the letter corresponding to the result of the affine map codeletter:=alph[%+1]; # concatenate that codeletter to what has already been encoded crypttext:=cat(crypttext,codeletter); od; # return the ciphertext (3)...
View
Full
Document
 Spring '08
 Staff
 Determinant, Cryptography

Click to edit the document details