Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
RSA_HW
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hasan.bahjat
RSA_HW
Commits
22f01fce
Commit
22f01fce
authored
Jan 13, 2025
by
hasan khaddour
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add demo files
parent
5cad10b9
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
0 deletions
+52
-0
demo.py
demo.py
+52
-0
No files found.
demo.py
0 → 100644
View file @
22f01fce
from
key_generator
import
KeyGenerator
from
pem_converter
import
PEMConverter
from
rsa_encryptor
import
RSAEncryptor
def
demo
():
print
(
"=== RSA DEMO ==="
)
# [1] Key generation
key_generator
=
KeyGenerator
(
bits
=
512
)
## Generate a private key
private_key
=
key_generator
.
generate_private_key
()
## Generate a public key
public_key
=
key_generator
.
extract_public_key
(
private_key
)
print
(
"Private Key:"
,
private_key
)
print
(
"Public Key:"
,
public_key
)
# [2] Convert to PEM format
pem_converter
=
PEMConverter
()
# defin pem formater
private_pem
=
pem_converter
.
to_pem
(
private_key
,
"PRIVATE"
)
# format the priavte key
public_pem
=
pem_converter
.
to_pem
(
public_key
,
"PUBLIC"
)
# format the publiie key
print
(
"
\n
Private Key (PEM):
\n
"
,
private_pem
)
print
(
"
\n
Public Key (PEM):
\n
"
,
public_pem
)
# [3] Encrypt and decrypt a message
## Creata an Encrpytor
rsa_encryptor
=
RSAEncryptor
()
message
=
"
\n\n
Hello, RSA!"
print
(
"
\n
Original Message:"
,
message
)
encrypted_message
=
rsa_encryptor
.
encrypt
(
message
,
public_key
)
print
(
"Encrypted Message:"
,
encrypted_message
)
decrypted_message
=
rsa_encryptor
.
decrypt
(
encrypted_message
,
private_key
)
print
(
"Decrypted Message:"
,
decrypted_message
)
# [4] Convert PEM back to keys
restored_private_key
=
pem_converter
.
from_pem
(
private_pem
)
restored_public_key
=
pem_converter
.
from_pem
(
public_pem
)
# [5] Verify decryption with restored keys
print
(
"
\n
Verifying decryption with restored keys..."
)
decrypted_with_restored
=
rsa_encryptor
.
decrypt
(
encrypted_message
,
restored_private_key
)
print
(
"Decrypted Message with Restored Key:"
,
decrypted_with_restored
)
if
__name__
==
"__main__"
:
demo
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment