c sender, call him Bob) and one for decryption (individual destinee, call her Alice). I shall now describe how this puzzling approach can make sense. Define the two following keys: For encryption: a number e, such that it is relatively prime with (N)=(p-1) = (q - 1); For decryption: the number d, which satisfies ed = 1 mod , or d = e-¹ mod . We shall call e the public key and d the private key. As its name indicates, the public key should be available to anyone (Bob) who wants to send an encrypted message to Alice. On the other side, Alice keeps her "private" key in absolute secrecy. The number N = pq (also called the RSA modulus) is known or accessible to the general public, Bob, or anyone else. The operation of encryption with the public key e consists first of decomposing the plaintext message into as many numerical blocks smaller than N. In the binary system, a 64-bit block represents a maximum number of 1.8 X 1019, therefore, it is an eligible block size if N > 2 X 1019. For messages of arbitrary or random length, it is always possible to "pad" the blocks with zeros on the left (called "nulls" in crypto jargon), SO that they fit a convenient standard size. Encryption of each of these blocks with number value m is performed by calculating the (cipher) number me mod N. (20.36) used from history to now, see E. Desurvire, Global Telecommunications, Broadband Access, Optical Components and Networks, and Cryptography (New York: J. Wiley and Sons, 2004), Ch. 3, pp. 345-478, from which this section on PKC is partially inspired. For an advanced description, see, for instance, B. Schneier, Applied Cryptography (New York: J. Wiley and Sons, 2006). If the key is easy or likely to be figured out by any third party, it is called a weak key. Shor's factorization algorithm For Alice, who is the only one to own and know the private key d, the operation of block-by-block decryption consists of computing (20.37) Let's now look at the modular-arithmetic value of the m' that Alice gets. It takes a few substitutions to figure out