Дамп ключа RSA? У меня есть ключи RSA вида PublicKey(n, e) PrivateKey(n, e, d, p, q) как из них сделать ключ вроде 30 82 01 0a 02 82? И как "достать" значения обратно? Python 3.6.
Для создания дампа ключа RSA в формате, подобном "30 82 01 0a 02 82", вы можете воспользоваться стандартными библиотеками pkcs1 и asn1. Ниже приведен пример кода на Python, который создает дамп ключа RSA и затем извлекает значения обратно:
from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP from Crypto.Cipher import PKCS1_v1_5 from Crypto.Hash import SHA256 from Crypto import Random from Crypto.PublicKey import RSA from Crypto.Cipher import AES, PKCS1_OAEP from Crypto.Random import get_random_bytes def dump_key(key): return key.export_key('DER').hex() def load_key(data): return RSA.import_key(bytes.fromhex(data)) # Создание ключей RSA random_generator = Random.new().read key = RSA.generate(1024, random_generator) public_key = key.publickey() # Dump public key dumped_public_key = dump_key(public_key) print("Dumped public key:", dumped_public_key) # Load public key from dump loaded_public_key = load_key(dumped_public_key) print("Loaded public key:", loaded_public_key)
Этот код создаст пару ключей RSA, затем с помощью функций dump_key и load_key вы сможете сгенерировать и восстановить дамп ключа в виде "30 82 01 0a 02 82".
Для создания дампа ключа RSA в формате, подобном "30 82 01 0a 02 82", вы можете воспользоваться стандартными библиотеками pkcs1 и asn1. Ниже приведен пример кода на Python, который создает дамп ключа RSA и затем извлекает значения обратно:
from Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_OAEP
from Crypto.Cipher import PKCS1_v1_5
from Crypto.Hash import SHA256
from Crypto import Random
from Crypto.PublicKey import RSA
from Crypto.Cipher import AES, PKCS1_OAEP
from Crypto.Random import get_random_bytes
def dump_key(key):
return key.export_key('DER').hex()
def load_key(data):
return RSA.import_key(bytes.fromhex(data))
# Создание ключей RSA
random_generator = Random.new().read
key = RSA.generate(1024, random_generator)
public_key = key.publickey()
# Dump public key
dumped_public_key = dump_key(public_key)
print("Dumped public key:", dumped_public_key)
# Load public key from dump
loaded_public_key = load_key(dumped_public_key)
print("Loaded public key:", loaded_public_key)
Этот код создаст пару ключей RSA, затем с помощью функций dump_key и load_key вы сможете сгенерировать и восстановить дамп ключа в виде "30 82 01 0a 02 82".