PDA

View Full Version : زبان برنامه نویسی برای تست کردن یک الگوریتم رمزنگاری



alireza es
دوشنبه 08 اردیبهشت 1393, 21:39 عصر
با عرض سلام.
من یه الگوریتم رمز نگاری طراحی کردم و میخوام اونو تست کنم.
به این صورت که تو انجمن های مختلف(از جمله برنامه نویس)یه نرم افزار قرار بدم که بیان و متون مختلفو امتحان کنند و رمزشدشو به دست بیارن
و اگه تونستن رمزگشایی کنن و الگوریتمو به دست بیارن یعنی الگوریتمم مشکل داره و سادس :لبخند:
حالا سوال اینجاست.من زبان های زیرو بلدم
javascript/php/C++‎‎‎/delphi
سوالم اینجاست که باید این الگوریتمو تو کدوم زبان طراحی کنم؟نمیخووام طرف با هک کردن نرم افزار و به دست آوردن سورس کد الگوریتمو بفهمه و تنها چیزی که در اختیار داره متن
و رمزگذاری شده متن باشد
جاوا اسکریپت که از همین الان حذف !
به نظر شما بین php و C++‎‎‎ و delphi کدومو انتخواب کنم؟

eshpilen
سه شنبه 09 اردیبهشت 1393, 08:28 صبح
ببخشید که بنده بهتون ضدحال میزنم و رک هستم، ولی خلاصه من اینطوری هستم و دلیلی نمیبینم در مسائل علمی و فنی طور دیگری باشم. اصولا اهمیتی نداره و وقت و حوصله و انرژیش رو ندارم که بخوام پشت پرده حرف بزنم و مطلب رو با تعارف و پشت پرده گویی بپیچونم و احتمالا حجیم و دچار ابهام کنم :چشمک:

وقتی الگوریتم های استاندارد بدون نقصی مثل AES و RSA همه جا در دسترس هستن و سالها امتحان خودشون رو پس دادن و از زیر تیغ تحلیل عموم و متخصصان طراز اول گذشتن، شما رفتی الگوریتم رمزنگاری طراحی کردی که چی بشه؟
تازه اگر فرض کنیم که شما علم و تجربهء قبلی کافی در زمینهء رمزنگاری مدرن رو داشتید و بعد الگوریتم طراحی کردید، بازم بعیده که کارتون به امنیت این الگوریتمهای استاندارد حتی نزدیک هم بشه.
اینم که چند نفر افراد بی نام و نشان اینجا یکسری تست سطحی و محدود در حد دانش و حوصله خودشون بکنن و نتونن کرکش کنن که دلیل خوبی بر حرفه ای بودن و امنیت الگوریتم شما نیست.

نمیخووام طرف با هک کردن نرم افزار و به دست آوردن سورس کد الگوریتمو بفهمه و تنها چیزی که در اختیار داره متن
از همین گفتهء شما معلوم شد که در زمینهء علم رمزنگاری مدرن دانش و بینش خاصی ندارید.
الگوریتم های رمزنگاری حرفه ای امروزی بر «امنیت از طریق تیرگی (http://www.hamidreza-mz.tk/?p=461)» استوار نیستن.
برنامه ای که امنیتش بر پنهان ماندن الگوریتم و طرز کارش استوار باشه، الگوریتم تقریبا بدردنخوری محسوب میشه (مگر در بعضی حالات خاص و مثلا بعنوان یک لایه افزوده و در ترکیب با روشهای اصولی/استاندارد).

Delphi Coder
سه شنبه 09 اردیبهشت 1393, 12:34 عصر
به این صورت که تو انجمن های مختلف(از جمله برنامه نویس)یه نرم افزار قرار بدم که بیان و متون مختلفو امتحان کنند و رمزشدشو به دست بیارن
و اگه تونستن رمزگشایی کنن و الگوریتمو به دست بیارن یعنی الگوریتمم مشکل داره و سادس :لبخند:
نمیخووام طرف با هک کردن نرم افزار و به دست آوردن سورس کد الگوریتمو بفهمه و تنها چیزی که در اختیار داره متن

یه جورایی شبیه بازی اسم و فامیل میمونه. دلیلی نمیتونه داشته باشه که کسی وقت بزاره برای این کار جز این که بیکار باشه و صرفا بخواد یه جوابی به پست شما بده.
پ ن:
الگوریتمهای رمزنگاری که ساخته دست خودتون هست میتونه یه جاهایی مفید باشه مثلا لابلای کدهای تولید registration code برای یک نرم افزار میشه استفاده کرد. معمولا cracker ها یا keygener ها اول سراغ الگوریتمهای شناخته شده میرن چون مجبور نیستند دستور به دستور کد رو تحلیل کنند. اما این مفید بودن باز هم دلیل نیست تا کسی وقت بزاره و الگوریتم شما رو از روی نتایج reverse کنه.

coderinnetwork
سه شنبه 09 اردیبهشت 1393, 12:35 عصر
سلام
فرض اولیه و اساسی در هر الگوریتم رمز نگاری شفاف بودن خود الگوریتم هست.شما چطور انتظار دارید که افراد از سرویسی استفاده کنن که از مبنای ریاضی پشتش مشخص نیست؟

eshpilen
سه شنبه 09 اردیبهشت 1393, 13:22 عصر
شما دقیقا میخوای چکار کنی؟
بحث جلوگیری از مهندسی معکوس/کرک با بحث رمزنگاری عمومی تفاوت میکنه.
مثلا من یه چیزی رو رمز میکنم با یک کلید محرمانه، بعد اون متن رمز شده رو جایی ذخیره میکنم یا ارسال میکنم، این میشه رمزنگاری عمومی - کلید فقط دست خودتونه یا طرفهایی که بهشون اعتماد دارید.
ولی یوقت هست میخوایم روی فایل اجرایی رمزنگاری کنیم برای جلوگیری از استفادهء غیرمجاز یا کرک یا موارد مشابه، که همه چیز (منجمله خود کلیدهای احتمالی) توی خود فایله و اون فایل در دسترس عموم یا افراد غیرقابل اعتماد قرار میگیره، این بحثش متفاوته و فقط بحث رمزنگاری نیست بلکه بحث Obfuscation و اینا هم هست بطور معمول.

در رمزنگاری عمومی (البته این اسمی هست که من الان روش گذاشتم)، الگوریتم های استاندارد بی نقص هستن و هیچ دلیلی برای طراحی و استفاده از الگوریتمهای شخصی وجود نداره، بلکه این کار اشتباهه از نظر اصولش (مگر اینکه شما یکی از نخبه های علم رمزنگاری در دنیا باشید که این قضیه مقداری تفاوت بکنه).

alireza es
سه شنبه 09 اردیبهشت 1393, 16:26 عصر
من نمیخوام یه الگوریتم رمز نگاری بین المللی داشته باشم.من یه گروه تست و امنیت میشناسم که باهاشون سر این مساله(کشف الگوریتم)توافق کرده ایم
راستش این الگوریتمو نمیدونم تکراری هست یا نه؟و نمیخوام خودمو پیش اون گروه مسخره کنم.طوری مسخره میکنید که انگار خودتون یه الگوریتم 512 بیتی تولید کرده اید
هدف من اینه که بفهمم اگه این الگوریتم پیش افراد مبتدی(و گاهی حرفه ای)فروم دووم نیاورد دیگه علم رمزنگاری رو ول کنیم و بدونیم استعداد نداریم.
و زمانی که دووم آورد اول پیش این گروه نیمه حرفه ای و بعد از آن شاید بتونم به ثبتش برسونم و بره تو رزومم.چه ایرادی داره که پیش الگوریتم های معروف الگوریتم منم باشه(که احتمالش خیلی کمه و بازم نباید نا امید شد)
سوال و مطلب دیگه ای نیست؟میشه بریم سر این موضوع که کدوم زبان بهتره؟

Delphi Coder
سه شنبه 09 اردیبهشت 1393, 17:25 عصر
شما دقیقا میخوای چکار کنی؟
بحث جلوگیری از مهندسی معکوس/کرک با بحث رمزنگاری عمومی تفاوت میکنه.
مثلا من یه چیزی رو رمز میکنم با یک کلید محرمانه، بعد اون متن رمز شده رو جایی ذخیره میکنم یا ارسال میکنم، این میشه رمزنگاری عمومی - کلید فقط دست خودتونه یا طرفهایی که بهشون اعتماد دارید.
ولی یوقت هست میخوایم روی فایل اجرایی رمزنگاری کنیم برای جلوگیری از استفادهء غیرمجاز یا کرک یا موارد مشابه، که همه چیز (منجمله خود کلیدهای احتمالی) توی خود فایله و اون فایل در دسترس عموم یا افراد غیرقابل اعتماد قرار میگیره، این بحثش متفاوته و فقط بحث رمزنگاری نیست بلکه بحث Obfuscation و اینا هم هست بطور معمول.

در رمزنگاری عمومی (البته این اسمی هست که من الان روش گذاشتم)، الگوریتم های استاندارد بی نقص هستن و هیچ دلیلی برای طراحی و استفاده از الگوریتمهای شخصی وجود نداره، بلکه این کار اشتباهه از نظر اصولش (مگر اینکه شما یکی از نخبه های علم رمزنگاری در دنیا باشید که این قضیه مقداری تفاوت بکنه).
علاوه از registration code که صرفا یک مثال بود موارد استفاده دیگری هم هست شما یک رشته یا شناسه یا پسورد رو رمز میکنید و روی سروری که خودتون طراحی کردید میفرستید. ممکنه به دلیل مسائلی مثل performance سرور یا سرورها نتونید از الگوریتمهای شناخته شده مثل md5 و امثالهم که بار زیادی روی سرور دارند استفاده کنید و یا شاید از بیم شبیه سازی نرم افزارتون مجبور به طراحی یک الگوریتم custom و سبکتر منحصر به خودتون بشید. یک مثال زنده yahoo messenger میتونه باشه که برای جلوگیری از دسترسی غیر مجاز به سرورهاش و شبیه سازی messenger توسط کسانی که booter مینوشتند قید الگوریتم md5 رو زد و الگوریتمهای خاص خودشو برای encryption استفاده کرد هر چند اون هم پس از مدتی از روی خود کلاینت reverse شد ولی شاید اگر یاهو تا این حد وسیع و جهانی نبود هیچوقت این اتفاق نمیافتاد.

Delphi Coder
سه شنبه 09 اردیبهشت 1393, 17:30 عصر
سوال و مطلب دیگه ای نیست؟میشه بریم سر این موضوع که کدوم زبان بهتره؟
با این تفاسیر که شما گفتید من فکر میکنم php بهترین گزینه هست چون میتونید بزارید روی یک وب سرور و طرف مقابل هر چقدر که دوست داشت میتونه ورودی بده و خروجی بگیره بدون اینکه لازم باشه تا فایل exe رو بهش بدین. چون درآوردن الگوریتم از روی فایل exe به سادگی/سختی ساختن یک keygen هست.

coderinnetwork
سه شنبه 09 اردیبهشت 1393, 21:08 عصر
من نمیخوام یه الگوریتم رمز نگاری بین المللی داشته باشم.من یه گروه تست و امنیت میشناسم که باهاشون سر این مساله(کشف الگوریتم)توافق کرده ایم
راستش این الگوریتمو نمیدونم تکراری هست یا نه؟و نمیخوام خودمو پیش اون گروه مسخره کنم.طوری مسخره میکنید که انگار خودتون یه الگوریتم 512 بیتی تولید کرده اید
هدف من اینه که بفهمم اگه این الگوریتم پیش افراد مبتدی(و گاهی حرفه ای)فروم دووم نیاورد دیگه علم رمزنگاری رو ول کنیم و بدونیم استعداد نداریم.
و زمانی که دووم آورد اول پیش این گروه نیمه حرفه ای و بعد از آن شاید بتونم به ثبتش برسونم و بره تو رزومم.چه ایرادی داره که پیش الگوریتم های معروف الگوریتم منم باشه(که احتمالش خیلی کمه و بازم نباید نا امید شد)
سوال و مطلب دیگه ای نیست؟میشه بریم سر این موضوع که کدوم زبان بهتره؟

خب بفرمایید الگوریتمتون چیه.باز هم میگم الگوریتم رمز نگاری باید مشخص باشه و الا هیچ ارزشی نداره.اگر می خواید بین الگوریتم های معروف الگوریتم شمام باشه باید توضیح بدینش خب.
الگوریتم های رمز نگاری یه سری اثبات فرمال دارن این طوری نیست که مثلا چون بچه های فروم نتونستن بشکوننش حله.به نظرم یه مقداری با نظریه اطلاعات و نظریه رمز نگاری آشنا بشید تا بتونید معیار های امنیتی الگوریتم خودتون ( نظیر پراکندگی و گیج کنندگی) را بررسی کنید.

alireza es
سه شنبه 09 اردیبهشت 1393, 21:42 عصر
خب بفرمایید الگوریتمتون چیه.باز هم میگم الگوریتم رمز نگاری باید مشخص باشه و الا هیچ ارزشی نداره.اگر می خواید بین الگوریتم های معروف الگوریتم شمام باشه باید توضیح بدینش خب.
الگوریتم های رمز نگاری یه سری اثبات فرمال دارن این طوری نیست که مثلا چون بچه های فروم نتونستن بشکوننش حله.به نظرم یه مقداری با نظریه اطلاعات و نظریه رمز نگاری آشنا بشید تا بتونید معیار های امنیتی الگوریتم خودتون ( نظیر پراکندگی و گیج کنندگی) را بررسی کنید.

اگه به ثبت برسه اولین فرومی که توش به بچه خواهم گفت شمایید :قلب: اما صبر کنید به ثبت برسه
الان یه چیزی شبیه به یه ایدست و گفتن ایده در فروم چند هزار نفری کار درستی نیست !
نمیخوام تا قبل از به ثبت رسیدن ،الگوریتم لو بره وگرنه خودمم میدونم که الگوریتم باید مشخص باشه و درعین مشخص بودن سخت باشه !
من آمادم که با php طراحی کنم اما بازم به سرور ها اعتماد ندارم(سرور ها و هاست های رایگان)و به نظرم امنیتشون ضعیفه
در حقیقت من هم اکنون نیازمند یاری سبز و آگاهانه شما برنامه نویس ها هستم !که بدونم باید چی کار کنم :متفکر:

alireza es
سه شنبه 09 اردیبهشت 1393, 22:48 عصر
یه نگاه دقیق تر به پست شماره #4 (http://barnamenevis.org/showthread.php?450210-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%DA%A9%D8%B1%D8%AF%D9%86-%DB%8C%DA%A9-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C&p=2013759&viewfull=1#post2013759) انداختم و دیدم راس میگه.فعلا گیج شدم و کلا نمیدونم باید چیکار کنم.

coderinnetwork
سه شنبه 09 اردیبهشت 1393, 23:05 عصر
اگه به ثبت برسه اولین فرومی که توش به بچه خواهم گفت شمایید :قلب: اما صبر کنید به ثبت برسه
الان یه چیزی شبیه به یه ایدست و گفتن ایده در فروم چند هزار نفری کار درستی نیست !
نمیخوام تا قبل از به ثبت رسیدن ،الگوریتم لو بره وگرنه خودمم میدونم که الگوریتم باید مشخص باشه و درعین مشخص بودن سخت باشه !
من آمادم که با php طراحی کنم اما بازم به سرور ها اعتماد ندارم(سرور ها و هاست های رایگان)و به نظرم امنیتشون ضعیفه
در حقیقت من هم اکنون نیازمند یاری سبز و آگاهانه شما برنامه نویس ها هستم !که بدونم باید چی کار کنم :متفکر:

هر جور خودتون میدونید.با این روش شما ممکنه یه سری از حفره ها را بشه بررسی کرد با روش هایی مثل آنالیز فرکانسی و ...اما یافتن حفره های اصلی بدون دانستن الگوریتم اصلا ممکن نیست.مثلا تهش این طور میشه هیچ کی نمی تونه رمزتونو بشکونه اما وقتی الگوریتم را افشا می کنید یه سری راه حل بدیهی برای شکوندن رمز تو الگوریتم دیده میشه.

eshpilen
چهارشنبه 10 اردیبهشت 1393, 07:43 صبح
من نمیخوام یه الگوریتم رمز نگاری بین المللی داشته باشم.من یه گروه تست و امنیت میشناسم که باهاشون سر این مساله(کشف الگوریتم)توافق کرده ایم
راستش این الگوریتمو نمیدونم تکراری هست یا نه؟و نمیخوام خودمو پیش اون گروه مسخره کنم.طوری مسخره میکنید که انگار خودتون یه الگوریتم 512 بیتی تولید کرده اید
هدف من اینه که بفهمم اگه این الگوریتم پیش افراد مبتدی(و گاهی حرفه ای)فروم دووم نیاورد دیگه علم رمزنگاری رو ول کنیم و بدونیم استعداد نداریم.
و زمانی که دووم آورد اول پیش این گروه نیمه حرفه ای و بعد از آن شاید بتونم به ثبتش برسونم و بره تو رزومم.چه ایرادی داره که پیش الگوریتم های معروف الگوریتم منم باشه(که احتمالش خیلی کمه و بازم نباید نا امید شد)
سوال و مطلب دیگه ای نیست؟میشه بریم سر این موضوع که کدوم زبان بهتره؟
شما اگر میدونستی علم رمزنگاری مدرن چیه، اصولش چیه، داستانش چیه، ریاضیات و محاسبات و کار تئوریک چقدر میخواد، ...، میفهمیدی که این کارهایی که میکنید بیشتر یه بازی و وقت گذرانیه تا چیز دیگه.
هرچیزی اصولی داره علمی داره ترتیب یادگیری داره. اول برو ببین داستان چیه تاحالا بشریت چه کرده به کجا رسیده چه نتایج و اصولی رو بدست آورده، بعد طراحی کن.
مثل اینکه شما ریاضیات رو نخونی و درحد جمع و تفریق و ضرب و تقسیم و نهایت جذر گرفتن بلد باشی، بعد بیای همینطور با اعداد و فرضیات خودت پشتک بالانس بزنی بلکه رابطه ای و چیز جدیدی کشف کنی که بدردبخور باشه. بنظر شما درسته؟ احتمالش چقدره؟
احتمال بیشتر اینه که سر کار هستی و داری وقت و انرژی خودت رو تلف میکنی.
خیلی ها اینطوری میخوان راه راحت و سریع رو برن، ولی خب این فقط در تخیل و تصور خودشون ممکنه.

eshpilen
چهارشنبه 10 اردیبهشت 1393, 07:56 صبح
علاوه از registration code که صرفا یک مثال بود موارد استفاده دیگری هم هست شما یک رشته یا شناسه یا پسورد رو رمز میکنید و روی سروری که خودتون طراحی کردید میفرستید. ممکنه به دلیل مسائلی مثل performance سرور یا سرورها نتونید از الگوریتمهای شناخته شده مثل md5 و امثالهم که بار زیادی روی سرور دارند استفاده کنید
پرفورمنس؟
MD5؟
عزیزم MD5 یکی از سریعترین الگوریتم های هشه و پرفورمنس خاصی مصرف نمیکنه. اون پلتفرمی که نتونه MD5 رو اجرا کنه چیه به چه دردی میخوره، اولا تخیلی است، دوما مشکلش جدی تر از این حرفهاست چون شما عملا هیچ الگوریتم قوی و اصولی امنیتی رو نمیتونی روش اجرا کنی و البته همینطور خیلی از الگوریتم های عادی و بخشهای دیگر برنامه رو. واقعا که خنده داره چنین چیزی. قدرت تخیل خوبی داری :لبخند: یه گوشی موبایل عهد بوق هم میتونه MD5 رو اجرا کنه! MD5 برای سرعت اجرای بالا در نرم افزار و سخت افزار طراحی شده و از نظر سرعت و مصرف منابع بسیار بهینه است.
یه چیزی بگو با عقل جور دربیاد!
ضمنا MD5 مدتهاست سوراخ و از استانداردها خارج شده.
شما اگر یجا محدودیت در اون حد داشته باشی که یه MD5 ساده هم نتونی استفاده کنی، دیگه تقریبا هیچی نخواهی داشت به هیچ صورتی، منجمله امنیت درست و حسابی. بنده توصیه میکنم سرور خودتون رو عوض کنید یا خلاصه یه فکر و کار درست و حسابی، نه اینکه بشینی برای دههء 1960 الگوریتم رمزنگاری طراحی کنی!
الان MD5 در زمینهء امنیت تقریبا هیچی نیست. برای هش پسورد هم ازش استفاده نمیشه یکیش بخاطر همین که بیش از حد سبک و سریعه و در نتیجه کرکرها هم میتونن خیلی راحت هش پسوردها رو Brute force کنن. حداقل حداقلش الگوریتمی که الان استفاده میکنن اینه که برای هر هش چند هزار بار MD5 رو تکرار میکنن، که تازه اینم امروزه روز بیش از حد غیراصولی و ضعیفه. بعد شما میگی اصلا نمیتونی MD5 استفاده کنی اینقدر که سنگینه و سرور جواب نمیده و بجاش خودت الگوریتم طراحی میکنی :متعجب:


و یا شاید از بیم شبیه سازی نرم افزارتون مجبور به طراحی یک الگوریتم custom و سبکتر منحصر به خودتون بشید. یک مثال زنده yahoo messenger میتونه باشه که برای جلوگیری از دسترسی غیر مجاز به سرورهاش و شبیه سازی messenger توسط کسانی که booter مینوشتند قید الگوریتم md5 رو زد و الگوریتمهای خاص خودشو برای encryption استفاده کرد هر چند اون هم پس از مدتی از روی خود کلاینت reverse شد ولی شاید اگر یاهو تا این حد وسیع و جهانی نبود هیچوقت این اتفاق نمیافتاد.
یاهو چکار کرد بعد تازه خودت میگی اونم به دردی نخورد!!
بعدم این باز بحث موارد خاص و سمت کلاینت و Obfuscation و جلوگیری از مهندسی معکوس و این حرفا هست بازم و ربطی به مواردی که من گفتم نداره.
من گفتم اونکه شما میخوای از مهندسی معکوس شدن برنامت که دست عموم هست جلوگیری کنی یه بحث دیگه است.

alireza es
چهارشنبه 10 اردیبهشت 1393, 15:37 عصر
شما اگر میدونستی علم رمزنگاری مدرن چیه، اصولش چیه، داستانش چیه، ریاضیات و محاسبات و کار تئوریک چقدر میخواد، ...، میفهمیدی که این کارهایی که میکنید بیشتر یه بازی و وقت گذرانیه تا چیز دیگه.
هرچیزی اصولی داره علمی داره ترتیب یادگیری داره. اول برو ببین داستان چیه تاحالا بشریت چه کرده به کجا رسیده چه نتایج و اصولی رو بدست آورده، بعد طراحی کن.
مثل اینکه شما ریاضیات رو نخونی و درحد جمع و تفریق و ضرب و تقسیم و نهایت جذر گرفتن بلد باشی، بعد بیای همینطور با اعداد و فرضیات خودت پشتک بالانس بزنی بلکه رابطه ای و چیز جدیدی کشف کنی که بدردبخور باشه. بنظر شما درسته؟ احتمالش چقدره؟
احتمال بیشتر اینه که سر کار هستی و داری وقت و انرژی خودت رو تلف میکنی.
خیلی ها اینطوری میخوان راه راحت و سریع رو برن، ولی خب این فقط در تخیل و تصور خودشون ممکنه.

وقتی این ایده به ذهنم اومد حدود یه ماه توی روش های رمز گذاری مدرن مطالعه کردم.نه برای این که یکی از نامداران رشته رمز گذاری بشم نه.
برای این که مطمئن بشم الگوریتمم تاحالا استفاده نشده.الانم تو این تایپک فهمیدم نمیشه از مخفی کاری استفاده کنم و بگم الگوریتمم خوبه.
از افشا گری هم نمیتونم استفاده کنم چون میخوام به نام خودم ثبت شه(بعد از سال ها یه طرح خوب به ذهنم رسیده)
شما میگی باید چی کار کنم؟

coderinnetwork
چهارشنبه 10 اردیبهشت 1393, 22:13 عصر
الگوریتم را پیام خصوصی کنید تا بررسی کنم براتون.

eshpilen
پنج شنبه 11 اردیبهشت 1393, 08:43 صبح
وقتی این ایده به ذهنم اومد حدود یه ماه توی روش های رمز گذاری مدرن مطالعه کردم.نه برای این که یکی از نامداران رشته رمز گذاری بشم نه.
برای این که مطمئن بشم الگوریتمم تاحالا استفاده نشده.الانم تو این تایپک فهمیدم نمیشه از مخفی کاری استفاده کنم و بگم الگوریتمم خوبه.
از افشا گری هم نمیتونم استفاده کنم چون میخوام به نام خودم ثبت شه(بعد از سال ها یه طرح خوب به ذهنم رسیده)
شما میگی باید چی کار کنم؟
یک ماه خیلی کمه.
اونم که صرفا الگوریتم رو بخونی و فکر کنی فهمیدی، اشتباه متداول مبتدی هاست.
رمزنگاری یه چیزی نیست که صرفا عملی و تجربی باشه. تازه میشه گفت تئوریش بیشتره. با خوندن کد و الگوریتم یه چیزایی یاد میگیری احتمالا، ولی نه زیاد و نه بقدر کافی.
مثلا بقول خودت تازه فهمیدی که استفاده از مخفی کاری درست نیست! درحالیکه باید اینو از قبل میدونستی؛ تازه این فقط یه مفهوم و بحث کلیه و ریاضیات یا الگوریتم پیچیده ای توش نداره.
الان یه سوال فنی ازت میپرسم خوف کنی :لبخند:
در رمزنگاری متقارن AES، امنیت ECB Mode چرا کمه و چه چیزی در CBC Mode هست که اون ضعف رو از بین میبره؟ :چشمک:


شما میگی باید چی کار کنم؟
بنظر من کلا بیخیال شو.
بذارش کنار.
برو دنبال یه کار دیگه.
جدی میگم!
چون بسیار بعیده که شخصی با این حد از دانش و تجربه در چنین رشتهء تخصصی و علمی ای، چیز بدردبخور جدیدی اختراع کرده باشه.
هزاران نفر مثل شما در سراسر دنیا تا حالا از اینطور تصورات داشتن و اینطور کارها کردن و آخرش هم هیچی به هیچی! بعضیا بالاخره فهمیدن داستان چیه و بعضیا هم نفهمیدن!!
حالا شما میخوای نفر چندم باشی؟
بجای این کارها برو یه چیز کاربردی تر یاد بگیر، روی تخصص واقعی کار کن، مباحث تئوریکش رو مطالعه و درک کن. اینا خیلی مفیدتره.
درحال حاضر، الگوریتم های رمزنگاری بسیار قوی در دسترس عموم قرار دارن که بزرگترین متخصصان و نابغه های این رشته ها که خیلی هاشون تخصص آکادمیک ریاضی هم دارن، هنوز نتونستن چیز روی دست اونا بیارن، من و شما که جای خود داریم!
اگر از بنده میپرسید، اینکه شما طرز کار همین الگوریتم های استاندارد موجود رو یاد بگیرید و درک کنید و خواص و روش و اصول و طرز استفاده و ترکیب اونا رو بفهمید و بتونید در عمل بصورت اصولی/بهینه ازشون استفاده کنید، بسیار کاربردی تر و مفیدتره برای شما و همچنین احتمالا برای دیگران!