#
rsa_encryption 0.0.2
rsa_encryption: ^0.0.2

RSA encryption package.

# rsa_encryption #

RSA encryption package.

## Getting Started #

RSA keys **generator**, String **encryption** and **decryption** and String **signing**.

## How it works #

let say **Alice** want to send a message to **Bob**. a normal messaging solution would be : Alice write the message and send it to Bob the only problem is that the Message will be **transferred** in **PlainText** and every one who **intercept** the message can **read it.**

*This is were RSA comes to play*:

- We generate keys( public & private ) for Bob.
- If Alice wanted to send a message to Bob she have to encrypt that message with Bob's public keys.
- Then the encrypted message will be transferred to Bob and only Bob's private key can decrypt that message.

that way no none can decrypt the message except the owner of that specific private key.

## How to use #

in order to use RSA encryption you need to generate *2 key*s a **public key** (used to **encrypt** a text) and a **private key** (used to **decrypt** a text).

- Generating the keys
`getKeys(); ///This function will generate keys`

- encrypting a message
`encryptedMessage = encrypt(messagePlainText, BobPublicKey);`

- decrypt a message
`decryptedText = decrypt(encryptedMessage, BobPrivateKey);`

## More on RSA #

# The RSA Encryption Algorithm (1 of 2: Computing an Example) # The RSA Encryption Algorithm (2 of 2: Generating the Keys) # How to solve RSA Algorithm Problems?

depends on pointycastle, asn1lib. thanks to GonĂ§alo Palma for his Article.

## Important #

please note that main.dart is just **demonstration** on how to use rsa_encryption

For help getting started with Flutter, view our

online documentation, which offers tutorials,

samples, guidance on mobile development, and a full API reference.