24-04-2020, Saat: 11:16
Merhaba. Rsa anahtarında modulus nasıl çıkartılıyor. Python kodunda sormuyor ama delphide bulduğum kaynakta modulus anahtarı şartı var malasef. Bilgim hatalı olabilir rsa konusunda pek ileri değilim yardımcı olursanız memnun olurum.
Python kodu :
Bulduğum delphi kodu bu şekilde.
private key şu şekilde.
pub dosyasıda bu şekilde.
Python kodu :
from Crypto.Hash import SHA256 from Crypto.PublicKey import RSA from Crypto.Signature import pkcs1_15 class PycryptodomeAuthSigner(protocol.AuthSigner): def __init__(self, rsa_key_path=None): super(PycryptodomeAuthSigner, self).__init__() if rsa_key_path: with open(rsa_key_path + '.pub', 'rb') as rsa_pub_file: self.public_key = rsa_pub_file.read() print self.public_key; with open(rsa_key_path, 'rb') as rsa_priv_file: self.rsa_key = RSA.import_key(rsa_priv_file.read()) def Sign(self, data): h = SHA256.new(data) return pkcs1_15.new(self.rsa_key).sign(h) def GetPublicKey(self): return self.public_key
Bulduğum delphi kodu bu şekilde.
uses
System.SysUtils, RSAObj, MiscObj;
var
RSA: TRSAEncSign;
begin
try
RSA := TRSAEncSign.Create;
RSA.keyLength := kl2048;
RSA.encType := oaep;
RSA.outputFormat := base64;
RSA.modulus := 'nHOjA+WQ8NgRJ1O2ZvbQE7h3RaxBNGCxwwudVvGcqjE4+bmhO9hE/2iX/uZEhTNDEEVS6OSm3aO/jEpjJ3iu+baZq16Zd3leAgNmvISlREbu25OaMA1sN/an9Hkrda5es9xcnRoCvPfv76'
+ 'WXFSaaag+mIE9vlZG7InR9kOdESNHXvaFkhAOW7lPquVv/jwsCtP/jXSOvRWSXjvSFJvoiP1i1MKd4imFg/TUk8LRQ1onehiyMs1719AH5rOjPr/lasTB0Do8Zc3NwEkj2+W2ylMZYH5KvQ1YkF6bc6sg40nq4hWgyZ3a9MmacPP3u4m9nbyO8WCPpcYY3uXwDn6tl4Q==';
RSA.PublicExponent := 'AQAB';
WriteLn('Modulus: ' + RSA.modulus);
WriteLn('Public Exponent: ' + RSA.PublicExponent);
except
on E: Exception do
WriteLn(E.ClassName, ': ', E.Message);
end;
Readln;
end.
private key şu şekilde.
-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvYJ1Ae1GtrFe8 qD1jta6yCZ6FgvWI621uia5ljlTMXYEvcAbOFb95B0EsAs6uFQBMxkWQQ36p+Aov YncEXAvdpj/0WBrNY2+MrasHSlEALAUoKI0ATCg565JH/SncgMYtCcljBs30mjol dg+NyIpkc2uZIwPx8DVB71DTKIt6OzTlabDARvfXU1VyR6hk9uppJ7S3tDHlJ2Sg BDUShh3e7MLF+KzZ4UcYfd1/2LkPw/fWpOj6ndSqczTBqC+0VGwUOWUyRVnMgHLi 7H2fzKSNi+SI9QqaOWyvpzQ2T7W+ezN3MI5kosCyaAkLExOvtaU1BcS57ZTz4lHr ucz4tnSvAgMBAAECggEAHLrHB/kruDezZ8Rnyh3JMIFC5rw9XOC0XJdRanGWkqP+ tba0Zq5JX5pAouUS1pG6KtmQK8HizhVEFd8bgCtUBktlzrFgMqVHcNRCYD9cZZrQ fXOnJZVUQajFneVrJiQyUs53nzFOK/PX8qsUgTWI9kuyJLQHwWqITvTVWMIblzo2 L2hGGJaix37chuU/VK2nMcCe/NOToUHGeWKUA4heJbtmHU60IJSm+z8Rutizk497 01qMQOuMlyGNipGlHEtSOnFoZpJyHnYi7M416j8Rmopae0LJ6y+IxigKSZBnt1BL 0tYcu/ge5V2d9OrW6cVXLC3QzF/fgIbAgvkKjbPjgQKBgQDh7ZHx1GhIfrSkDlwN 6tJP3FUsOBKxk+9gjvgp0EwkhpjeNeYipBYzcTSYOuum3CdbUNqFHmFf7Cin3/gY gcH0Yj2SL35pgw1KQhaNzsuZtQ4JqR6YCDL4Yjzeb6lHalxwjmuSNl5IMM9i9Dop 8qL7BUqtMjd/HOgcvsMLbKCBgwKBgQDGuIwS1dHS30HjO2/XqklT+6iMX+dO/GR4 KgLzE8Rs/a4H1ihAmAQf3VFax4np2YADFXjBDyx91f1fMRA9x7x4UiKr58/jSykc WXbfl0aT9rplnSMCc6jjMGaCYCXUAqpSqurEDDJHu0n59pcCbWyuWNDpH4pPDull ZZUlWDx0ZQKBgQCNuTCfCcZtC4aXjyZx2Icbb7TCK16WpJ057hWAbVkGZKSKaDc4 LcR7ep0qjXN71YiewMaDUP52ZLdQL6/695LKkcHb7Q0YdQwmM/Tf+gRAJJJsvvkh F6uZok5anqMK2I6qULzsGEzmbi/5/Ahsffd9DeG9ac3kYCa+uW+yv+6jrwKBgQCS zPY9W9Obce5cjSX8LgHplrlWqepYgT8/Pdnb9DhhQ63ygBRQU3yIhZh59Xo+VLyq iowgIrN9aj24uqgC27CxOgv+7kq24GlIVhbo6fnriJL+Sez4/LRA0RqJKboIOsfU NgskNNZYA1WM4MuBsZBd46LA9NnZuWxVyYs6gUp3uQKBgEYr7AeIugyrTAWRDylD 7mzKpXIbxPd+a1YcjRKmtSIkAYCHg2h8GVOWFjTn73cV1IttQTLrhQX87m23UdNY fQGe4HbWqOlDwbvNRqkslvOfbf3z0PVAUghf9CbUjxDRO15okmuJfnj5WpC73OWx Kgv1OZWRdmV+AZQwku0GTXvl -----END PRIVATE KEY-----
pub dosyasıda bu şekilde.
QAAAALGd1oavdLb4zLnrUeLzlO25xAU1pbWvExMLCWiywKJkjjB3M3u+tU82NKevbDmaCvWI5IuNpMyffezicoDMWUUyZTkUbFS0L6jBNHOq1J366KTW98MPudh/3X0YR+HZrPjFwuzeHYYSNQSgZCflMbS3tCdp6vZkqEdyVVPX90bAsGnlNDt6iyjTUO9BNfDxAyOZa3NkisiND3YlOpr0zQZjyQktxoDcKf1Hkus5KEwAjSgoBSwAUUoHq62Mb2PNGlj0P6bdC1wEd2IvCvipfkOQRcZMABWuzgIsQQd5vxXOBnAvgV3MVI5lrolubeuI9YKFngmyrrVjPai8V6ytUXtAnWCvpSJnV5uUqE+TKztThhmCouqFxq3pENeZ19LHDyBka1ZZFXLyq2vcqa0rkyFElv3oh6D9zLOkFmKuFyFssGkACI44n+cDOtfvr7drQdqWTIa1Zd/W7dyhz53mcLqCsPNPdfW6nDoNhINNXBZKyLHreWsnupFcH9nHV224818yNcGgOG1p0imxBewVOKNWjNvEsPgzM+4X5PL7SaL1mYLK7YoBSizf40aJFsNeUvfXFcsQVoUyuRBAOfnNXMapHekVkrR7eVLaH/ZEC+HQts46WvTNXhSGFiYCkzFTmJaX5sryfSpDdmjJbqkMRiG1VA0G/Tkm5j915HKHlMeCF6lZggEAAQA= @unknown

