Enkripsi Cipher RSA
Dalam bab ini, kita akan fokus pada implementasi berbeda dari enkripsi cipher RSA dan fungsi yang terlibat untuk hal yang sama. Anda dapat merujuk atau menyertakan file python ini untuk mengimplementasikan implementasi algoritma cipher RSA.
Modul yang disertakan untuk algoritma enkripsi adalah sebagai berikut -
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA512, SHA384, SHA256, SHA, MD5
from Crypto import Random
from base64 import b64encode, b64decode
hash = "SHA-256"
Kami telah menginisialisasi nilai hash sebagai SHA-256 untuk tujuan keamanan yang lebih baik. Kami akan menggunakan fungsi untuk menghasilkan kunci baru atau sepasang kunci publik dan pribadi menggunakan kode berikut.
def newkeys(keysize):
random_generator = Random.new().read
key = RSA.generate(keysize, random_generator)
private, public = key, key.publickey()
return public, private
def importKey(externKey):
return RSA.importKey(externKey)
Untuk enkripsi, fungsi berikut digunakan yang mengikuti algoritma RSA -
def encrypt(message, pub_key):
cipher = PKCS1_OAEP.new(pub_key)
return cipher.encrypt(message)
Dua parameter wajib: message dan pub_keyyang mengacu pada kunci publik. Kunci publik digunakan untuk enkripsi dan kunci pribadi digunakan untuk dekripsi.
Program lengkap untuk prosedur enkripsi disebutkan di bawah -
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA512, SHA384, SHA256, SHA, MD5
from Crypto import Random
from base64 import b64encode, b64decode
hash = "SHA-256"
def newkeys(keysize):
random_generator = Random.new().read
key = RSA.generate(keysize, random_generator)
private, public = key, key.publickey()
return public, private
def importKey(externKey):
return RSA.importKey(externKey)
def getpublickey(priv_key):
return priv_key.publickey()
def encrypt(message, pub_key):
cipher = PKCS1_OAEP.new(pub_key)
return cipher.encrypt(message)