Как закодировать закрытый ключ RSA для уменьшения - PullRequest
0 голосов
/ 03 мая 2018

Я занимаюсь разработкой системы блокчейнов с колбой Python. Я использую ключи RSA (размер = 2048) для кошелька. Я использую base64 для уменьшения размера закрытого ключа, но он все еще слишком длинный

rsaObj = RSA.generate(2048)
privateKey = rsaObj.exportKey()

print privateKey
# output
"""
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3qP80JKhGgn9IQ4P0khE5Y67bA0rPCgEp2pE1i7I5V32X9rH
ttO8O3qgchdtUojhaDtMk3ixj8ihNGtRPcYlJ34rEn0eafddSZVnteb9RMrtKOyx
d+1pWPORyQY+DqJ9byySDCjXlgUODQkiYtrdbUI9CQU/U3DxcFNnbSmVRfAI4gN/
Pgb//QMLjlSQhtiSWERrQHGhcjoUXuhF2sYTK/JQ5HUL6sj82XRBVLJVqe6pUYZD
JMlJg2rqW9agw/nWlOnL7gmRpJQmZOJ4u7l8mAByknDquDU6yop2l7wQOpfspp5B
CDKsbhoZUxpFMkuoHCyKAlRKuk6854JW6ORdGwIDAQABAoIBAQCDVbFZSGYIekP8
L9NddIxP7nbZMpuCjQjRyXp57ndL9rXTrbeKPjUX0Sq8ot02htCRMAnoJJZ5/xw5
U+VEz5IzTdYSvgQm9mjtc1kOkQhugFaOgbHe0QoIEwa40xnggDIGVwCAc8dZE/pJ
7k1+iyV7wktG+vV0P3ftjwW/+3u3GNwOmwikQ1KXQ2UobWXDPSULpPo053uSh2i4
D4GFs4PS4f7qQQT3/BuEJpp/EdVAQjyJwG6BnDbwOpYu8hd3bqe1ST38v0jzlqjM
rDhvbrvpwr4Ugbs4TCpWCibb4lOoy0yLU8Ixt7bQQgDGJLdIC7s/01qC+jdOLiPB
vGOJz+zBAoGBAOaVanrADhvFYsabWYVeYh8qwNBoLuyFFsepFwzCCvuCoycIyopm
EwblyikGyH0K9UKBU7abnCKEld1s3hHdVkeNfb/eMjaoEqEHdUxWkw+oLNoZJxri
+4PFlNUs1YDKIWCOTzcm3JKHX6Td4CS66BSqtGo7sA3YxAMlnwAWGFDZAoGBAPcu
b0dMOrGOcDfx7kMfHrINsH0WSF8zNB/Dxky+AT9MCQomrbdOuPUF5nEogtyAMwhi
0yqZQz03Ilned65v72XJ4r3breQ5gkKRfmjJ3EPuYO7amqBhdBNW7z27d5uhGcee
/qp9VYPTBDBU4EyCfmLDMR9jwnHaYXjWd708PyUTAoGAJOEtAKkLGKH/ZGigbtZj
tzxtTmf7aVT4CcMfrqiyfPuuAKZFTtF4pZfHN7ygAG/qPlLVAtXsqRCvr5SkCBNw
o00cGb3+JgPHxv2cYzNNnil10wRG3uQC+lZ1sYrUMx8hK4JXZSjQCpegUowyN221
hOiwpnUZeX18DEzOG4NtLDECgYEAnkPjCDms0wcqnweO0PdaBhNxz4W27Q2x8CzA
CV8XGVor544AaIBFOM2AUS/pKhoDkvkD0CC1xrpIilZBNzWAiSIMxhekbZ7M4qaZ
06p8GBrHgegCXXJIiiF9qX8hBErQYNpSoQMDABbadb/CpfpfxgjIqRqM4605/88C
d+3dWHUCgYEAj2bFYD6+U2Rf3M9kkBRqob9y7xHv42OyJmTzbZWG0/6zO09cF48l
RGrZ2RvaXJNCOm8ZIRiA1q6Le0WLdiWEzlhmFkqfNIGY2pa6jls04H8sRqPB5qm+
0nBpV2fI0uM1CGYZmVdVcphlk9IH+KF97WtsKIZXIUkh+hE03bB9Ax8=
-----END RSA PRIVATE KEY-----
"""

print base64.b64encode(privateKey)
# output
"""
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBM3FQODBKS2hHZ245SVE0UDBraEU1WTY3YkEwclBDZ0VwMnBFMWk3STVWMzJYOXJICnR0TzhPM3FnY2hkdFVvamhhRHRNazNpeGo4aWhOR3RSUGNZbEozNHJFbjBlYWZkZFNaVm50ZWI5Uk1ydEtPeXgKZCsxcFdQT1J5UVkrRHFKOWJ5eVNEQ2pYbGdVT0RRa2lZdHJkYlVJOUNRVS9VM0R4Y0ZObmJTbVZSZkFJNGdOLwpQZ2IvL1FNTGpsU1FodGlTV0VSclFIR2hjam9VWHVoRjJzWVRLL0pRNUhVTDZzajgyWFJCVkxKVnFlNnBVWVpECkpNbEpnMnJxVzlhZ3cvbldsT25MN2dtUnBKUW1aT0o0dTdsOG1BQnlrbkRxdURVNnlvcDJsN3dRT3Bmc3BwNUIKQ0RLc2Job1pVeHBGTWt1b0hDeUtBbFJLdWs2ODU0Slc2T1JkR3dJREFRQUJBb0lCQVFDRFZiRlpTR1lJZWtQOApMOU5kZEl4UDduYlpNcHVDalFqUnlYcDU3bmRMOXJYVHJiZUtQalVYMFNxOG90MDJodENSTUFub0pKWjUveHc1ClUrVkV6NUl6VGRZU3ZnUW05bWp0YzFrT2tRaHVnRmFPZ2JIZTBRb0lFd2E0MHhuZ2dESUdWd0NBYzhkWkUvcEoKN2sxK2l5Vjd3a3RHK3ZWMFAzZnRqd1cvKzN1M0dOd09td2lrUTFLWFEyVW9iV1hEUFNVTHBQbzA1M3VTaDJpNApENEdGczRQUzRmN3FRUVQzL0J1RUpwcC9FZFZBUWp5SndHNkJuRGJ3T3BZdThoZDNicWUxU1QzOHYwanpscWpNCnJEaHZicnZwd3I0VWdiczRUQ3BXQ2liYjRsT295MHlMVThJeHQ3YlFRZ0RHSkxkSUM3cy8wMXFDK2pkT0xpUEIKdkdPSnorekJBb0dCQU9hVmFuckFEaHZGWXNhYldZVmVZaDhxd05Cb0x1eUZGc2VwRnd6Q0N2dUNveWNJeW9wbQpFd2JseWlrR3lIMEs5VUtCVTdhYm5DS0VsZDFzM2hIZFZrZU5mYi9lTWphb0VxRUhkVXhXa3crb0xOb1pKeHJpCis0UEZsTlVzMVlES0lXQ09UemNtM0pLSFg2VGQ0Q1M2NkJTcXRHbzdzQTNZeEFNbG53QVdHRkRaQW9HQkFQY3UKYjBkTU9yR09jRGZ4N2tNZkhySU5zSDBXU0Y4ek5CL0R4a3krQVQ5TUNRb21yYmRPdVBVRjVuRW9ndHlBTXdoaQoweXFaUXowM0lsbmVkNjV2NzJYSjRyM2JyZVE1Z2tLUmZtakozRVB1WU83YW1xQmhkQk5XN3oyN2Q1dWhHY2VlCi9xcDlWWVBUQkRCVTRFeUNmbUxETVI5anduSGFZWGpXZDcwOFB5VVRBb0dBSk9FdEFLa0xHS0gvWkdpZ2J0WmoKdHp4dFRtZjdhVlQ0Q2NNZnJxaXlmUHV1QUtaRlR0RjRwWmZITjd5Z0FHL3FQbExWQXRYc3FSQ3ZyNVNrQ0JOdwpvMDBjR2IzK0pnUEh4djJjWXpOTm5pbDEwd1JHM3VRQytsWjFzWXJVTXg4aEs0SlhaU2pRQ3BlZ1Vvd3lOMjIxCmhPaXdwblVaZVgxOERFek9HNE50TERFQ2dZRUFua1BqQ0RtczB3Y3Fud2VPMFBkYUJoTnh6NFcyN1EyeDhDekEKQ1Y4WEdWb3I1NDRBYUlCRk9NMkFVUy9wS2hvRGt2a0QwQ0MxeHJwSWlsWkJOeldBaVNJTXhoZWtiWjdNNHFhWgowNnA4R0JySGdlZ0NYWEpJaWlGOXFYOGhCRXJRWU5wU29RTURBQmJhZGIvQ3BmcGZ4Z2pJcVJxTTQ2MDUvODhDCmQrM2RXSFVDZ1lFQWoyYkZZRDYrVTJSZjNNOWtrQlJxb2I5eTd4SHY0Mk95Sm1UemJaV0cwLzZ6TzA5Y0Y0OGwKUkdyWjJSdmFYSk5DT204WklSaUExcTZMZTBXTGRpV0V6bGhtRmtxZk5JR1kycGE2amxzMDRIOHNScVBCNXFtKwowbkJwVjJmSTB1TTFDR1labVZkVmNwaGxrOUlIK0tGOTdXdHNLSVpYSVVraCtoRTAzYkI5QXg4PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==
"""

Я хочу закодировать закрытый ключ и уменьшить его размер, чтобы передать его пользователю, поскольку закрытый ключ слишком длинный.

...