درود برهمه دوستان
من یه رشته code شده با RSA رو به وسیله query string با یه لینک میگیرم . private key رو هم قبلا به من دادن . حالا باید اون query string رو RSA-Decode کنم . کسی میتونه کمکی بکنه ؟
کسی از دوستان تجربه ای تو این زمینه نداره ؟
سلام
خب RSA دارای دو فرمول است
یک فرمول برای رمز کردن که:
یا
و یک فرمول هم دارد برای رمزگشایی کردن که اینه:
مهندس میدونم سیستم کارکردش چیه ولی نمیتونم decrypt کنم
مشتری به من یه string داده و یه Private key که اون رشته با php به وسیله openssl encrypt شده . الان من نمیتونم Decode کنم راهی سراغ دارید ؟
سلام
در صورت نداشتن حتا یکی از کلیدها تقریبا غیرممکن است
از سال 1981 تا به امروز فقط 2 بار گزارش شکست RSA منتشر شده
هردوی اینها هم با پردازنده های غول آسای وزارت دفاع امریکا بوده
منظورتون از یکی از کلیدها public key و private key هست ؟
من نمیخوام بشکونمش. این سفارش مشتری هست . یه رشته json که encrypt شده پاس میده به من من باید با private key که داده اونو decrypt کنم ولی نمیتونم .
شیوه رمزگشایی payload ارسالی
۱ )دریافت اطالعات ارسالی از پارامتر payload در QueryString
2 )جایگزینی کاراکتر های غیرمجاز
a .کاراکتر نقطه ).( با کاراکتر مثبت )+(
b .کاراکتر underline )_( با کاراکتر slash)
3 )اجرای عملیات decode_base64 بر روی payload
4 )اجرای عملیات رمزگشایی به روش 1#PKCS_RSA و با استفاده از کلید خصوصی
5 )Parse کردن اطالعات رمزگشایی شده به صورت JSON
این نمونه کد PHP هم گزاشته
<?php // Getting the payload from query string $payload = base64_decode(strtr($_GET['payload'], '._-', '+/=')); // Decrypt the data $decrypted = ""; $private_key = file_get_contents('private.key'); openssl_private_decrypt($payload, $decrypted, $private_key, OPENSSL_PKCS1_PADDING); // Convert JSON to PHP Array $data = json_decode($decrypted, true); // Check expiry (TTL < 2min) if(time() - $data['created_at'] >= 2*60) { http_response_code(410); exit(); } // REST OF YOUR CODES
اگر کسی هست که کمک بکنه هزینش رو هم پرداخت میکنم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)