مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

scorpan

عضویت از 1393/07/14

RSA Decode

  • شنبه 30 آذر 1398
  • 17:44
تشکر میکنم

درود برهمه دوستان 

من یه رشته code شده با RSA رو به وسیله query string با یه لینک میگیرم . private key رو هم قبلا به من دادن . حالا باید اون query string رو RSA-Decode کنم . کسی میتونه کمکی بکنه ؟ 

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

scorpan

عضویت از 1393/07/14

  • یکشنبه 1 دی 1398
  • 11:02

کسی از دوستان تجربه ای تو این زمینه نداره ؟

کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • دوشنبه 2 دی 1398
  • 08:09

سلام

خب RSA  دارای دو فرمول است

یک فرمول برای رمز کردن که:

{\displaystyle (m^{e})^{d}\equiv m{\pmod {n}}}

یا

 c \equiv m^e \pmod{n}

و یک فرمول هم دارد برای رمزگشایی کردن که اینه:

{\displaystyle c^{d}\equiv (m^{e})^{d}\equiv m{\pmod {n}}}

این لینک را ببین

کاربر سایت

scorpan

عضویت از 1393/07/14

  • دوشنبه 2 دی 1398
  • 15:19

مهندس میدونم سیستم کارکردش چیه ولی نمیتونم decrypt کنم 

مشتری به من یه string داده و یه Private key که اون رشته با php به وسیله openssl encrypt  شده . الان من نمیتونم Decode کنم راهی سراغ دارید ؟

کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • دوشنبه 2 دی 1398
  • 16:24

سلام

در صورت نداشتن حتا یکی از کلیدها تقریبا غیرممکن است

از سال 1981 تا به امروز فقط 2 بار گزارش شکست RSA  منتشر شده

هردوی اینها هم با پردازنده های غول آسای وزارت دفاع امریکا بوده

کاربر سایت

scorpan

عضویت از 1393/07/14

  • دوشنبه 2 دی 1398
  • 16:49

منظورتون از یکی از کلیدها 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

کاربر سایت

scorpan

عضویت از 1393/07/14

  • دوشنبه 2 دی 1398
  • 17:17

اگر کسی هست که کمک بکنه هزینش رو هم پرداخت میکنم

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)