|
|
 | | From: | Axle Longhorn | | Subject: | Cryptology | | Date: | 23 Jan 2005 09:55:15 -0800 |
|
|
 | Hello, I am a newbie to cryptology and ciphers, but as I am still in highschool and we don't have any classes remotely close to cryptology, I have come here to ask for any links, books or help that you guys know of with regards to cryptology . Any and all help is appreciated. What I am basically looking for are beginners guides, and/or detailed explanations of certain cipher techniques.
Lastly, if you guys could help me understand this linear congruential generator for random numbers, I would be appreciative.
R(sub n) = (a*R(sub n-1)+c)modM values for the constants are: a=1366 R(sub 0)=0 c=150889 m=714025
|
|
 | | From: | Douglas A. Gwyn | | Subject: | Re: Cryptology | | Date: | Sun, 23 Jan 2005 16:07:09 -0500 |
|
|
 | Axle Longhorn wrote: > What I am basically looking for are beginners guides, > and/or detailed explanations of certain cipher techniques.
There are several book recommendations in the sci.crypt FAQ. Also, there are plenty of "fun" books on "codes and ciphers" in any good public library. David Kahn's "The Codebreakers" (be sure to get the unabridged hardback version) gives a comprehensive view of cryptology up to around the middle of the last century. For some coverage since that time, consult some of the other books in the FAQ.
> Lastly, if you guys could help me understand this linear congruential > generator for random numbers, I would be appreciative. > R(sub n) = (a*R(sub n-1)+c)modM > a=1366 > R(sub 0)=0 > c=150889 > m=714025
What part do you need help with? It gives a formula for calculating the next number in the series R[n], from the previous number R[n-1]. n counts invocations of the generator. The initial value R[0] is usually called the "seed" value. All the arithmetic is merely that taught in elementary school, with the exception of the modulo operator, which merely results in the remainder from dividing the first operand by the second. So 12 mod 5 is 2, 7 mod 3 is 1, 8 mod 2 is 0, etc. There are efficient algorithms for computing modular remainders that are better for large numbers than performing the standard long division. Some of the books cited in the FAQ explain such algorithms.
If what you want to know is how a LCG can give results that appear to be "random", that doesn't have a simple answer. In fact for some choices of the constants the result appears much less random. There is an large chapter about pseudo-random number generation in Knuth's "The Art of Computer Programming", Vol. 2 ("Seminumerical Algorithms".
|
|
|