Учебники

Шифрование RSA

В этой главе мы сосредоточимся на различной реализации шифрования RSA и функциях, задействованных для того же самого. Вы можете ссылаться или включать этот файл python для реализации реализации алгоритма шифрования RSA.

Модули, включенные в алгоритм шифрования, следующие:

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"

Мы инициализировали значение хеш-функции как 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)

Для шифрования используется следующая функция, которая следует алгоритму RSA —

def encrypt(message, pub_key):
   cipher = PKCS1_OAEP.new(pub_key)
   return cipher.encrypt(message)

Два параметра являются обязательными: message и pub_key, который ссылается на открытый ключ. Открытый ключ используется для шифрования, а закрытый ключ — для расшифровки.

Полная программа для процедуры шифрования упомянута ниже —