Tool to decrypt/encrypt with RSA cipher. RSA is an asymetric algorithm for public key cryptography created by Ron Rivest, Adi Shamir and Len Adleman. It is the most used in data exchange over the Internet.

RSA Cipher - dCode

Tag(s) : Modern Cryptography, Arithmetics

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

Currently RSA decryption is unavailable. However, the following dCode tools can be used to decrypt RSA semi-manually.

⮞ Go to: Multiplication

⮞ Go to: Modular Exponentiation

⮞ Go to: Modular Multiplicative Inverse

Tool to decrypt/encrypt with RSA cipher. RSA is an asymetric algorithm for public key cryptography created by Ron Rivest, Adi Shamir and Len Adleman. It is the most used in data exchange over the Internet.

**RSA** encryption is purely mathematical, any message must first be encoded by integers (any encoding works: ASCII, Unicode, or even A1Z26). For **RSA** encryption, the numbers $ n $ and $ e $ are called public keys.

The (numeric) message is decomposed into numbers (less than $ n $), for each number M the encrypted (numeric) message C is $$ C \equiv M^{e}{\pmod {n}} $$

__Example:__ Encrypt the message R,S,A (encoded 82,83,65) with the public key $ n = 1022117 $ and $ e = 101 $ that is $ C = 828365^{101} \mod 1022117 = 436837 $, 436837 is the encrypted message.

**RSA** needs a public key (consisting of 2 numbers $ (n, e) $) and a private key (only 1 number $ d $).

- Select 2 distinct prime numbers $ p $ and $ q $ (the larger they are and the stronger the encryption will be)

- Calculate $ n = p \times q $

- Calculate the indicator of Euler $ \phi(n) = (p-1)(q-1) $

- Select an integer $ e \in \mathbb{N} $, prime with $ \phi (n) $ such that $ e < \phi(n) $

- Calculate the modular inverse $ d \in \mathbb{N} $, ie. $ d \equiv e^{-1} \mod \phi(n) $ (via the extended Euclidean algorithm)

With these numbers, the pair $ (n, e) $ is called the public key and the number $ d $ is the private key.

__Example:__ $ p = 1009 $ and $ q = 1013 $ so $ n = pq = 1022117 $ and $ \phi(n) = 1020096 $. The numbers $ e = 101 $ and $ \phi(n) $ are prime between them and $ d = 767597 $.

The keys are renewed regularly to avoid any risk of disclosure of the private key.

Decryption requires knowing the private key $ d $ and the public key $ n $. For any (numeric) encrypted message C, the plain (numeric) message M is computed: $$ M \equiv C^{d}{\pmod {n}} $$

__Example:__ Decrypt the message C=436837 with the public key $ n = 1022117 $ and the private key $ d = 767597 $, that is $ M = 436837^{767597} \mod 1022117 = 828365 $, 82,83,65 is the plain message (ie. the letters R,S,A)

The message is fully numeric and is normally accompanied by at least one key (also numeric). In practice the keys are displayed in hexadecimal, their length depends on the complexity of the **RSA** implemented (256 bits, 512, 1024 or 2048 are common)

To find the private key, a hacker must be able to realize the prime factor decomposition of the number $ n $ to find its 2 factors $ p $ and $ q $. For small values (up to a million or a billion), it's quite fast with current algorithms and computers, but beyond that, when the numbers $ p $ and $ q $ have several hundred digits, the decomposition requires on average several hundreds or thousands of years of calculation.

With the numbers $ p $ and $ q $ the private key $ d $ can be computed and the messages can be decrypted.

Ronald Rivest, Adi Shamir and Leonard Adleman described the algorithm in 1977 and then patented it in 1983.

dCode retains ownership of the online 'RSA Cipher' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for RSA Cipher download for offline use on PC, tablet, iPhone or Android !

Please, check our community Discord for help requests!

rsa,https,key,public,privaterivest,shamir,adleman,euclidean,division,modulo,asymetric

Source : https://www.dcode.fr/rsa-cipher

© 2020 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲