PDA

View Full Version : رمز نگاری متن



JYasProgramer
جمعه 01 بهمن 1395, 10:07 صبح
سلام دوستان
متنی هست که باید رمزنگاری بشه
الگوریتم های مورد نظر رو میدونم و به روش رمزنگاری کلید خصوصی پیش رفتم
اما مشکل اینه در صورت دی کامپایل کردن نرم افزار کلید به راحتی به دست میاد، چرا که String و int در اینکد کردن نرم افزار هنگام اکسپرت گرفتن اینکد نمیشه و عین متن میشه به دست باید، حتی اگه نرم افزار رو به روش استاندارد اکسپرت کنم و کلید مورد نظر من هم یا میتونه از نوع String یا از نوع int باشه؛
حالا اگه روشی دوستان برای مخفی موندن کلید میدونن پیشنهاد بدن ممنون میشم
با تشکر

spiderman200700
جمعه 01 بهمن 1395, 12:42 عصر
سلام.
در کل هیچ روشی وجود نداره که 100% نشه کلید رو به دست آورد. ولی میشه کار رو سخت کرد.
اگه اتصال به اینترنت همیشه فراهم باشه میتونی کلید رو از سرور بگیری.
یا با کلاس هایی توزیع شده در پکیج های مختلف برنامه ، از یک رشته (مثلا پکیج اصلی برنامه) کلید ساخته بشه.
یا هر روش مشابه دیگه ای.

به هر حال بسته به حساسیت اطلاعات موجود در برنامه باید روش قدرتمند تری رو به کار برد. چون هر چقدر ارزش اطلاعات در برنامه بیشتر بشه ، افراد وقت و انرژی بیشتری برای نفوذ به برنامه صرف می کنن.

JYasProgramer
جمعه 01 بهمن 1395, 14:39 عصر
درست
اما در این مورد توضیحی بیشتری لطفا بدین


با کلاس هایی توزیع شده در پکیج های مختلف برنامه ، از یک رشته (مثلا پکیج اصلی برنامه) کلید ساخته بشه

spiderman200700
یک شنبه 03 بهمن 1395, 14:05 عصر
مثلا دو متد در دو کلاس مختلف دارید که هر کدوم بخشی از متن رو رمزنگاری می کنن.
این دو کلاس هر کدوم در دو پکیج مخالف هستند.
وقتی می خواید متن رو رمزنگاری کنید متن رو به دو بخش تقسیم می کنید و هر بخش رو به یکی از کلاس ها می دید تا کل متن رمز بشه.
این کار باعث میشه در فرایند دیکامپایل و مهندسی معکوس دنبال کردن موقعیتی که متن رو رمزنگاری کرده مشکل بشه.

البته من این مثال رو به دوکلاس گفتم ولی در عمل خودم دیدم که با بیش از 20 کلاس و متد مختلف این کار انجام شده.

JYasProgramer
یک شنبه 03 اردیبهشت 1396, 10:14 صبح
سپاس گزارم دوست گرامی
یه موضوعی اگه از الگوریتمی استفاده کنم که دارای یک key باشه (برای رمز گشایی) و اون key رو از بستر بگیرم کار مناسبیه بنظرتون؟

spiderman200700
یک شنبه 03 اردیبهشت 1396, 14:57 عصر
خواهش میکنم.
بله. اگر key داینامیک باشه خیلی بهتره و امنیت بالاتر میره. به شرطی که اطلاعات بستر تغییر ناپذیر باشه. یعنی چند وقت بعد اون اطلاعات که key رو ازش گرفتید تغییر نکنه.