RSA Şifreleme Şifreleme
Bu bölümde, RSA şifreleme şifrelemesinin farklı uygulamalarına ve bununla ilgili işlevlere odaklanacağız. RSA şifreleme algoritması uygulamasını uygulamak için bu python dosyasına başvurabilir veya dahil edebilirsiniz.
Şifreleme algoritması için dahil edilen modüller aşağıdaki gibidir -
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"
Daha iyi güvenlik amacıyla hash değerini SHA-256 olarak başlattık. Aşağıdaki kodu kullanarak yeni anahtarlar veya bir çift genel ve özel anahtar oluşturmak için bir işlev kullanacağız.
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)
Şifreleme için, RSA algoritmasını takip eden aşağıdaki işlev kullanılır -
def encrypt(message, pub_key):
cipher = PKCS1_OAEP.new(pub_key)
return cipher.encrypt(message)
İki parametre zorunludur: message ve pub_keyGenel anahtarı ifade eder. Şifreleme için bir genel anahtar kullanılır ve şifre çözme için özel anahtar kullanılır.
Şifreleme prosedürü için eksiksiz program aşağıda belirtilmiştir -
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)