ABSTRACT:
Cryptography is the science of writing in secrets. In cryptography, public key algorithms are known to be slower than symmetric key alternatives because of their basis in modular arithmetic. The modular arithmetic is computationally heavy and time consuming. In view of this, it has become a great challenge to implement RSA in a faster way. The encryption operation in the RSA cryptosystem is c = me mod n. This seems to be an expensive computation, involving e-1 multiplications by m with increasingly large intermediate results, followed by a division by n. In this work, we provide two optimizations to make the operation easy: firstly, multiplying by an appropriate sequence of previous intermediate values, rather than only by m, can reduce the number of multiplications to no more than the twice the size of e in binary. And secondly, dividing and taking the remainder after each multiplication keeps the intermediate results the same size as n. Hereafter, we introduce a conversion from binary to residue number system using traditional moduli set {2n - 1, 2n, 2n +1} for the further encryption of the message and to confuse a cryptanalyst. This moduli set provides faster speed and required little hardware. The key length is also increased as the moduli set are used as part of the private key. The residue number system promises the proposed algorithms to be highly parallelizable, well adapted to parallel architecture and well suited to hardware implementations. Theoretically, our results provide a faster way of encryption operation of Rivest Shamir Adleman (RSA) algorithm while also improving the security.
KEYWORDS:
RSA algorithm, moduli set, Cryptanalyst, Encryption, Cryptography.