briefly here in the context of this chapter. Public-key cryptography was invented and developed by R. Rivest, A. Shamir and L. Adleman, a trio of people who gave the name to the RSA standard. The RSA principle feeds on the current fact that it is extremely difficult, if not completely intractable, to factorize large composite numbers, or decompose them into a product of primes. Given N, factorization (or prime decomposition) consists of finding the unique set of prime numbers p1, P2, powers = N. For instance, N = 1000 accepts the unique factorization or decomposition 23 53 = 1000. For the purpose of PKC, we may just use two sufficiently large (and assumedly dif- ferent!) prime numbers p, to generate a "big" composite number N = pq, rest- ing on the confidence that if anyone in the public domain knows N, that a person or entity would have a hard time or find it impossible to figure out the two primes For instance, consider the number N = 615 533. To find its factorization, we need to divide it by prime numbers, trying them out one after another. In this example, the answer is p = 7919 and q = 7907, which are the highest two primes to be found at the first thousands. This unfortunate choice made the factorization easy, since anyone can figure it out from such a list as representing the biggest product. What about n = 15 773 077? The answer (p = 2383, q = 6619) is less immediate, since it takes 200 division tests to find q starting from the top of this first-thousand-prime list. Assume next that p, q are selected from a huge list of known primes, for instance up to 109, yielding composites N = pq up to the order of 1018 Even at a rate of 109 division tests per second (a state-class computing power that only a few may afford), this would leave about 109 seconds or 31.7 years to find the prime factors! I shall now focus on the RSA standard and algorithm specifics, after recalling the basic underlying principle of cryptography. The principle of cryptography is to encode (or encrypt) a given "open-text" message, called 