Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Rsa anahtarında modulus nasıl çıkarılır.
#1
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 : 


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
Cevapla
#2
Buradaki private key pem formatında kullanmak istediğin rsa library de pem import yok mu?
Eğer yoksa şu anki key için modulus ve exponent aşağıdaki gibi kullanabilirsin.
Ama piyasadaki pascal için geliştirilmiş bir çok kütüphane doğru sonuç döndüremiyor.(Tms, TurboPack LockBox3, fundamentallibs....)
Bu kullandığın sanırım tms maalesef oda sıkıntılı çalışıyor.

<RSAKeyValue><Modulus>r2CdQHtRraxXvKg9Y7WusgmehYL1iOttbomuZY5UzF2BL3AGzhW/eQdBLALOrhUATMZFkEN+qfgKL2J3BFwL3aY/9FgazWNvjK2rB0pRACwFKCiNAEwoOeuSR/0p3IDGLQnJYwbN9Jo6JXYPjciKZHNrmSMD8fA1Qe9Q0yiLejs05WmwwEb311NVckeoZPbqaSe0t7Qx5SdkoAQ1EoYd3uzCxfis2eFHGH3df9i5D8P31qTo+p3UqnM0wagvtFRsFDllMkVZzIBy4ux9n8ykjYvkiPUKmjlsr6c0Nk+1vnszdzCOZKLAsmgJCxMTr7WlNQXEue2U8+JR67nM+LZ0rw==</Modulus><Exponent>AQAB</Exponent><P>4e2R8dRoSH60pA5cDerST9xVLDgSsZPvYI74KdBMJIaY3jXmIqQWM3E0mDrrptwnW1DahR5hX+wop9/4GIHB9GI9ki9+aYMNSkIWjc7LmbUOCakemAgy+GI83m+pR2pccI5rkjZeSDDPYvQ6KfKi+wVKrTI3fxzoHL7DC2yggYM=</P><Q>xriMEtXR0t9B4ztv16pJU/uojF/nTvxkeCoC8xPEbP2uB9YoQJgEH91RWseJ6dmAAxV4wQ8sfdX9XzEQPce8eFIiq+fP40spHFl235dGk/a6ZZ0jAnOo4zBmgmAl1AKqUqrqxAwyR7tJ+faXAm1srljQ6R+KTw7pZWWVJVg8dGU=</Q><DP>jbkwnwnGbQuGl48mcdiHG2+0witelqSdOe4VgG1ZBmSkimg3OC3Ee3qdKo1ze9WInsDGg1D+dmS3UC+v+veSypHB2+0NGHUMJjP03/oEQCSSbL75IRermaJOWp6jCtiOqlC87BhM5m4v+fwIbH33fQ3hvWnN5GAmvrlvsr/uo68=</DP><DQ>ksz2PVvTm3HuXI0l/C4B6Za5VqnqWIE/Pz3Z2/Q4YUOt8oAUUFN8iIWYefV6PlS8qoqMICKzfWo9uLqoAtuwsToL/u5KtuBpSFYW6On564iS/kns+Py0QNEaiSm6CDrH1DYLJDTWWANVjODLgbGQXeOiwPTZ2blsVcmLOoFKd7k=</DQ><InverseQ>RivsB4i6DKtMBZEPKUPubMqlchvE935rVhyNEqa1IiQBgIeDaHwZU5YWNOfvdxXUi21BMuuFBfzubbdR01h9AZ7gdtao6UPBu81GqSyW859t/fPQ9UBSCF/0JtSPENE7XmiSa4l+ePlakLvc5bEqC/U5lZF2ZX4BlDCS7QZNe+U=</InverseQ><D>HLrHB/kruDezZ8Rnyh3JMIFC5rw9XOC0XJdRanGWkqP+tba0Zq5JX5pAouUS1pG6KtmQK8HizhVEFd8bgCtUBktlzrFgMqVHcNRCYD9cZZrQfXOnJZVUQajFneVrJiQyUs53nzFOK/PX8qsUgTWI9kuyJLQHwWqITvTVWMIblzo2L2hGGJaix37chuU/VK2nMcCe/NOToUHGeWKUA4heJbtmHU60IJSm+z8Rutizk49701qMQOuMlyGNipGlHEtSOnFoZpJyHnYi7M416j8Rmopae0LJ6y+IxigKSZBnt1BL0tYcu/ge5V2d9OrW6cVXLC3QzF/fgIbAgvkKjbPjgQ==</D></RSAKeyValue>
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#3
(24-04-2020, Saat: 16:29)QuAdR Adlı Kullanıcıdan Alıntı: Buradaki private key pem formatında kullanmak istediğin rsa library de pem import yok mu?
Eğer yoksa şu anki key için modulus ve exponent aşağıdaki gibi kullanabilirsin.
Ama piyasadaki pascal için geliştirilmiş bir çok kütüphane doğru sonuç döndüremiyor.(Tms, TurboPack LockBox3, fundamentallibs....)
Bu kullandığın sanırım tms maalesef oda sıkıntılı çalışıyor.

<RSAKeyValue><Modulus>r2CdQHtRraxXvKg9Y7WusgmehYL1iOttbomuZY5UzF2BL3AGzhW/eQdBLALOrhUATMZFkEN+qfgKL2J3BFwL3aY/9FgazWNvjK2rB0pRACwFKCiNAEwoOeuSR/0p3IDGLQnJYwbN9Jo6JXYPjciKZHNrmSMD8fA1Qe9Q0yiLejs05WmwwEb311NVckeoZPbqaSe0t7Qx5SdkoAQ1EoYd3uzCxfis2eFHGH3df9i5D8P31qTo+p3UqnM0wagvtFRsFDllMkVZzIBy4ux9n8ykjYvkiPUKmjlsr6c0Nk+1vnszdzCOZKLAsmgJCxMTr7WlNQXEue2U8+JR67nM+LZ0rw==</Modulus><Exponent>AQAB</Exponent><P>4e2R8dRoSH60pA5cDerST9xVLDgSsZPvYI74KdBMJIaY3jXmIqQWM3E0mDrrptwnW1DahR5hX+wop9/4GIHB9GI9ki9+aYMNSkIWjc7LmbUOCakemAgy+GI83m+pR2pccI5rkjZeSDDPYvQ6KfKi+wVKrTI3fxzoHL7DC2yggYM=</P><Q>xriMEtXR0t9B4ztv16pJU/uojF/nTvxkeCoC8xPEbP2uB9YoQJgEH91RWseJ6dmAAxV4wQ8sfdX9XzEQPce8eFIiq+fP40spHFl235dGk/a6ZZ0jAnOo4zBmgmAl1AKqUqrqxAwyR7tJ+faXAm1srljQ6R+KTw7pZWWVJVg8dGU=</Q><DP>jbkwnwnGbQuGl48mcdiHG2+0witelqSdOe4VgG1ZBmSkimg3OC3Ee3qdKo1ze9WInsDGg1D+dmS3UC+v+veSypHB2+0NGHUMJjP03/oEQCSSbL75IRermaJOWp6jCtiOqlC87BhM5m4v+fwIbH33fQ3hvWnN5GAmvrlvsr/uo68=</DP><DQ>ksz2PVvTm3HuXI0l/C4B6Za5VqnqWIE/Pz3Z2/Q4YUOt8oAUUFN8iIWYefV6PlS8qoqMICKzfWo9uLqoAtuwsToL/u5KtuBpSFYW6On564iS/kns+Py0QNEaiSm6CDrH1DYLJDTWWANVjODLgbGQXeOiwPTZ2blsVcmLOoFKd7k=</DQ><InverseQ>RivsB4i6DKtMBZEPKUPubMqlchvE935rVhyNEqa1IiQBgIeDaHwZU5YWNOfvdxXUi21BMuuFBfzubbdR01h9AZ7gdtao6UPBu81GqSyW859t/fPQ9UBSCF/0JtSPENE7XmiSa4l+ePlakLvc5bEqC/U5lZF2ZX4BlDCS7QZNe+U=</InverseQ><D>HLrHB/kruDezZ8Rnyh3JMIFC5rw9XOC0XJdRanGWkqP+tba0Zq5JX5pAouUS1pG6KtmQK8HizhVEFd8bgCtUBktlzrFgMqVHcNRCYD9cZZrQfXOnJZVUQajFneVrJiQyUs53nzFOK/PX8qsUgTWI9kuyJLQHwWqITvTVWMIblzo2L2hGGJaix37chuU/VK2nMcCe/NOToUHGeWKUA4heJbtmHU60IJSm+z8Rutizk49701qMQOuMlyGNipGlHEtSOnFoZpJyHnYi7M416j8Rmopae0LJ6y+IxigKSZBnt1BL0tYcu/ge5V2d9OrW6cVXLC3QzF/fgIbAgvkKjbPjgQ==</D></RSAKeyValue>

Evet hocam dediğiniz gibi doğru hesaplama yapmıyor. Yapan bir kod var oda chilkat ait ve ücretli. Alternatifi araştırıyorum.
Cevapla
#4
Chilkat dll olarak ve activex olarak düzgün hesaplar IPWorks Encrypt 2020 de iş görür ama ücretlidirler.
Embarcaderro nun kendi yayını lockbox3 ( https://github.com/TurboPack/LockBox3 ) ücretsiz bir kütüphane deneme yapabilirsin.
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#5
(25-04-2020, Saat: 00:00)QuAdR Adlı Kullanıcıdan Alıntı: Chilkat dll olarak ve activex olarak düzgün hesaplar IPWorks Encrypt 2020 de iş görür ama ücretlidirler.
Embarcaderro nun kendi yayını lockbox3 ( https://github.com/TurboPack/LockBox3 ) ücretsiz bir kütüphane deneme yapabilirsin.

Hocam yaptım onla ama ya ben hatalı hesapladım yada o hatalı hesaplıyor bir örnek varmı acaba elinizde ? sha256 kullanarak singhash yapıyorum. pkcs 1.15 kullanılıyor.

Doğru cevap şu şekilde (hex olarak)

86DE113E8ABD62B5E70B0EB62BBBAB993196B2016B37A487E550D87A18CD4E599C2C6388349C46358222C112FD7409FD24895EEBC65118D41C64B88CFFDC4A44E37DBC845E367491796FB14693059631AB734631656FAEE03900607439DEEB38F8958283566A163F54D1D57DD73AF14C958C79A27E2CEE1606D906651E53B101D2CC0F21EA3D5D3BA186FE91E9382D8500A68982D9B35D201A9C31ACFD4559C47E68E1A45FCEF5B5C1432073A23A72E360224548868837A57310DC0548148F939BB3FF0BC9480B564DAA33FF14FE0E1598615F6E7D89744479D5C3AD5CA8E7D7EC4B624360D35CBC0F902F632256DA18A35F57D7B221EC95F636A4EB15CFCEBF

Private key.

-----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-----

Buda hesaplama yaptığım string.

2898D62D0596658FA726E4B78597C384192AB57470B859F875B1872649C9E498
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 321 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  TMS Web Core- REST İşlemlerini Nasıl Yapabilirim? kajmerantime 0 426 13-06-2025, Saat: 14:07
Son Yorum: kajmerantime
  Delphi 7 deki pencereleri nasıl sabitleyebilirim? mxpain 1 554 12-12-2024, Saat: 08:50
Son Yorum: 3ddark
  resimdeki hatanin satirini nasil bulabiliriz. sadikacar60 6 1.111 25-11-2024, Saat: 19:18
Son Yorum: sadikacar60
  Programdaki donmanin sebebi nasil yakalanir. sadikacar60 2 741 17-10-2024, Saat: 18:21
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi