انواع روشهای رمزنگاری
روش های رمزنگاری رو در ساده ترین حالت ممکن به دو نوع رمزهای جانشینی و جایگشتی تقسیم بندی میکنیم در ادامه توضیحاتی رو در خصوص هر یک از این روش های رمزنگاری میگیم
رمزهاي جانشينی
يكي از كلماتی كه ممكنه در موسسه مالی باشد financial هست با توجه به اينكه كلمه financial حرف تكراري داره و (i) است به طوری كه چهار حرف ديگه بين دو اتفاق i وجود داره حروف تكراری در متن رمزی رو در اين فاصله پيدا می كنيم 12 مورد وجود داره كه در موقعيت هاي 6 و 15 و 27 و 31 و 42 و 48 و 56 و 66 و 70 و 71 و 76 و 82 است (از چپ به راست) فقط در دو تا از اينها يعني 31 و 42 كاراكتر بعدی (متناظر با n در متن ساده) در موقعيت مناسبي تكرار شده از اين دو تا فقط در موقعيت 31 حرف a در موقعيت درستی قرار داره بنابراین میفهمیم كه financial از موقعيت 30 شروع میشه پس با استفاده از تكرار آماری در متن انگليسی به راحتی میتونیم به كليد دسترسی پیدا کنیم
رمزهای جابجايی
روش های رمزنگاری رو در ساده ترین حالت ممکن به دو نوع رمزهای جانشینی و جایگشتی تقسیم بندی میکنیم در ادامه توضیحاتی رو در خصوص هر یک از این روش های رمزنگاری میگیم
رمزهاي جانشينی
در رمز جانشيني هر حرف يا گروهی از حروف به جای حرف يا گروهی از حروف ديگه قرار میگیرن تا پنهان سازی انجام بشخ در اين روش a به D ، b به E ، c به F ، ...... و z به C تبديل ميشن به عنوان مثال : عبارتattack به DWWDFN تبدیل میشه در مثال ها متن ساده با حروف كوچك و متن رمزی با حروف بزرگ مشخص میشه در این مثال کلید (k) برابر 3 هست که میتونه متغیر باشه هر سیستم رمزنگاری که در اون یک سمبل با سمبل دیگر جایگزین میشه اصطلاحا سیستم جانشینی تک حرفی گفته میشه که در اون کلید رمز یک رشته ی 26 حرفی هستمثال : طبق این الگو عبارت attack به متن QZZQEA تبديل میشه روش ديگه حدس زدن كلمه يا حروفه به عنوان مثال متن رمزی زير رو از يك موسسه مالی درنظر بگيريد(به صورت گروههای پنج كاراكتری دسته بندی شدن ):
متن ساده: a b c d e f g h I j k l m n o p q r s t u v w x y z
متن رمزي: Q W E R T Y U I O P A S D F G H J K L Z X C V B N
CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUJ QJSGS TJQZZ MNQJS VLNSX VSZJU JDSTS JQUUS JUBXJ DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW يكي از كلماتی كه ممكنه در موسسه مالی باشد financial هست با توجه به اينكه كلمه financial حرف تكراري داره و (i) است به طوری كه چهار حرف ديگه بين دو اتفاق i وجود داره حروف تكراری در متن رمزی رو در اين فاصله پيدا می كنيم 12 مورد وجود داره كه در موقعيت هاي 6 و 15 و 27 و 31 و 42 و 48 و 56 و 66 و 70 و 71 و 76 و 82 است (از چپ به راست) فقط در دو تا از اينها يعني 31 و 42 كاراكتر بعدی (متناظر با n در متن ساده) در موقعيت مناسبي تكرار شده از اين دو تا فقط در موقعيت 31 حرف a در موقعيت درستی قرار داره بنابراین میفهمیم كه financial از موقعيت 30 شروع میشه پس با استفاده از تكرار آماری در متن انگليسی به راحتی میتونیم به كليد دسترسی پیدا کنیم
رمزهای جابجايی
رمزهای جانشينی ترتيب نماد های متن ساده رو حفظ میكنن ولي اونا را تغيير میدن رمز های جابه جايی ترتيب حروف رو عوض میکنن ولی اونا رو را تغيير نمیدن
🔥3👍1
الگوريتمهای کليد متقارن یا Symmetric Key Algorithms
DES (Data Encryption Standard)
3DES
الگوريتمهای کليد نامتقارن (کليد عمومی) یا Asymmetric Key Algorithms
که داخل این رابطه D از E بسيار بسيار سخت تره بنابراین E رو نمیتونیم به سادگی کشف کنیم دیفی-هلمن و RSA نمونه ای از اين الگوريتمها هستند
رمز گذاری و رمز برداری با يک کليد انجام میشه از این دسته می تونیم روش های زیر رو نام ببریم
DES (Data Encryption Standard)
3DES
الگوريتمهای کليد نامتقارن (کليد عمومی) یا Asymmetric Key Algorithms
هر فرد يک کليد عمومی و يک کليد خصوصی داره که بر اساس قوانين زير عمل می کنن:
D(E(P))=P
که داخل این رابطه D از E بسيار بسيار سخت تره بنابراین E رو نمیتونیم به سادگی کشف کنیم دیفی-هلمن و RSA نمونه ای از اين الگوريتمها هستند
👍4
الگوریتم های رمزنگاری متقارن
یک الگوریتم متقارن از یک كلید برای رمزنگاری و از همون کلید برای رمزگشایی استفاده میکنه بیشترین شكل استفاده از این نوع رمزنگاری كه در كارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود داره Data Encryption Algorithm یا DEA هست كه بیشتر بعنوان DES شناخته میشه الگوریتم DES یک محصول دولت ایالات متحده است كه امروزه بعنوان یک استاندارد بینالمللی شناخته شده و بطور زیادی مورد استفاده قرار میگیره و کاربرد داره بلوک های 64 بیتی دیتا توسط یک كلید تنها كه معمولا 56 بیت طول داره رمزنگاری و رمزگشایی میشن الگوریتم DES از نظر محاسباتی ساده است
👍4
رمزنگاری DES
استاندارد رمزنگاری داده (DES) یک الگوریتم ریاضیه كه برای رمزنگاری و رمزگشایی اطلاعات كدشده باینری به كار میره رمزنگاری داده ها رو تبدیل به داده های نامفهومی به نام cipher میکنه رمزگشایی از cipher اون رو به داده های اصلی برمیگردونه الگوریتم ذکر شده هر دو عملیات رمزنگاری و رمزگشایی رو بر اساس یک عدد باینری به نام كلید مشخص میکنه داده ها تنها در صورتی قابل بازیابی از cipher هستند كه دقیقا از كلیدی كه برای رمزنگاری استفاده شده برای رمزگشایی استفاده بشه
استاندارد رمزنگاری داده (DES) یک الگوریتم ریاضیه كه برای رمزنگاری و رمزگشایی اطلاعات كدشده باینری به كار میره رمزنگاری داده ها رو تبدیل به داده های نامفهومی به نام cipher میکنه رمزگشایی از cipher اون رو به داده های اصلی برمیگردونه الگوریتم ذکر شده هر دو عملیات رمزنگاری و رمزگشایی رو بر اساس یک عدد باینری به نام كلید مشخص میکنه داده ها تنها در صورتی قابل بازیابی از cipher هستند كه دقیقا از كلیدی كه برای رمزنگاری استفاده شده برای رمزگشایی استفاده بشه
👍4
الگوریتم رمزنگاری :
کلید رمزنگاری :
الگوریتم DES منتشر شده شامل چندین تكرار از یک تغییر شكل ساده با استفاده از هر دو تكنیک جابجایی و جایگزینی هست این الگوریتم تنها از یک كلید برای encryption و decode استفاده میكنه و به همین جهت به اون رمزنگاری كلید اختصاصی میگن در این حالت حفظ كلید به صورت محرمانه توسط فرستنده و گیرنده پیغام خیلی اهمیت داره چون الگوریتم به صورت عمومی public در اختیار همگان هست و در صورت لو رفتن كلید هر كسی میتونه پیغام محرمانه رو ببینه به همین جهت در رمزنگاری DES معمولاً عمر كلید به اندازه عمر تراكنش هست
کلید رمزنگاری :
كلید DES یک توالی هشت بایتی است كه هر بایت شامل یک كلید هفت بیتی و یك بیت توازن هست در حین رمزنگاری الگوریتم DES متن اصلی رو به بلوک های 64 بیتی میشکنه این الگوریتم در هر زمان بر روی یک بلوک كار میکنه و اون رو از نصف شكسته و كاراكتر به كاراكتر رمزنگاری می كنه كاراكترها 16 بار تحت نظارت كلید تغییر شكل پیدا كرده و در نهایت یک متن رمزنگاری شده 64 بیتی تولید میشه كلید حاوی 56 بیت معنادار و هشت بیت توازن هست
الگوریتم رمزنگاری متقارن 3DES
با توجه به نقاط ضعف الگوریتم DES و اینکه تقویت بشه این الگوریتم 3DES معرفی شد الگوریتم 3DES بر مبنای الگوریتم DES طراحی شده است وجه تمایز الگوریتم 3DES در اجرای سه مرحله ای اون هست این الگوریتم از سه کلید مجزا برای رمزنگاری استفاده میکنه فرایند های رمزنگاری و رمزگشایی در این روش به روش زیر می باشد
فرایند رمزنگاری:
O=Ek3(Dk2(Ek1(I)))
I=Dk1(Ek2(Dk3(O)))
مستند FIPS46-3 ترکیب پیشنهادی زیر رو برای انتخاب کلیدهای K1, K2, K3 ارائه میده
با توجه به نقاط ضعف الگوریتم DES و اینکه تقویت بشه این الگوریتم 3DES معرفی شد الگوریتم 3DES بر مبنای الگوریتم DES طراحی شده است وجه تمایز الگوریتم 3DES در اجرای سه مرحله ای اون هست این الگوریتم از سه کلید مجزا برای رمزنگاری استفاده میکنه فرایند های رمزنگاری و رمزگشایی در این روش به روش زیر می باشد
فرایند رمزنگاری:
O=Ek3(Dk2(Ek1(I)))
1- متن مورد نظر بوسیله الگوریتم DES و کلید k1 رمزنگاری میشهفرایند رمزگشایی:
2 - خروجی مرحله اول توسط کلید k2 رمزگشایی میشه
3 - خروجی مرحله دوم توسط کلید k3 مجددا رمزنگاری میشه
I=Dk1(Ek2(Dk3(O)))
1 - متن رمزشده توسط کلید k3 رمزگشایی میشه
2 - خروجی مرحله اول توسط کلید k2 رمزنگاری میشه
3 - خروجی مرحله دوم توسط کلید k1 رمزنگاری میشه
خروجی مرحله سوم به عنوان متن اولیه قابل استفاده میشه با کمی بررسی میبینیم که فرایند رمزگشایی قرینه فرایند رمزنگاری هست
مستند FIPS46-3 ترکیب پیشنهادی زیر رو برای انتخاب کلیدهای K1, K2, K3 ارائه میده
1 - K1, K2, K3 مستقل از همدیگر انتخاب میشن
2 - K1, K2 بطور مستقل از هم انتخاب شده و K1=K3 هست
3- K1=K2=K3
❤5👍1🔥1
Radare2: The Reverse Engineering Tool You Need in Your Arsenal
https://medium.com/p/dd7460d0d391
https://medium.com/p/dd7460d0d391
Medium
Radare2: The Reverse Engineering Tool You Need in Your Arsenal
What is radare2?
❤5
دوستان خیلی ببخشید درگیر امتحانای دانشگاه هستم سرم شلوغه بعد امتحانا شروع میکنیم دوباره
❤🔥13❤4💩2🤝1
الگوریتم رمزنگاری CBC
ساده ترین شیوه ی زنجیره سازی بلوکهای رمز اونه که نتیجه ی رمزنگاری هر بلوک کوچیک در رمزنگاری بلوکهای بعدیه طبق این شیوه هر گونه تغییر یا جابجایی در یک بلوک باعث میشه که متن رمزگشایی شده از محل دستکاری به بلوکهای آشغال و بی معنی تبدیل بشه این روش به اختصار شیوه( CBC (Cipher Block Chaining یا شیوه زنجیره سازی بلوکهای رمز هست برای رمزنگاری اولین بلوک متن یک مقدار اولیه مشهور به IV در نظر گرفته میشه که از لحاظ طول دقیقاً هم اندازه با بلوک متنه به عبارت دیگر اولین بلوک متن با یک مقدار اولیه XOR میشه مقدار IV اصلا اهمیتی نداره و کاملا تصادفی انتخاب و به همراه داده ها (به صورت آشکار) ارسال میشه چرا که شاه کلید رمز مخفیه و بدون کلید هیچ چیزی از رمز خارج نمیشه
ساده ترین شیوه ی زنجیره سازی بلوکهای رمز اونه که نتیجه ی رمزنگاری هر بلوک کوچیک در رمزنگاری بلوکهای بعدیه طبق این شیوه هر گونه تغییر یا جابجایی در یک بلوک باعث میشه که متن رمزگشایی شده از محل دستکاری به بلوکهای آشغال و بی معنی تبدیل بشه این روش به اختصار شیوه( CBC (Cipher Block Chaining یا شیوه زنجیره سازی بلوکهای رمز هست برای رمزنگاری اولین بلوک متن یک مقدار اولیه مشهور به IV در نظر گرفته میشه که از لحاظ طول دقیقاً هم اندازه با بلوک متنه به عبارت دیگر اولین بلوک متن با یک مقدار اولیه XOR میشه مقدار IV اصلا اهمیتی نداره و کاملا تصادفی انتخاب و به همراه داده ها (به صورت آشکار) ارسال میشه چرا که شاه کلید رمز مخفیه و بدون کلید هیچ چیزی از رمز خارج نمیشه
👍5
آموزش جامع مهندسی معکوس رایگان که شامل معماری های x86 و x64 و ARM و معماری امبدد RISC-V هستش
https://github.com/mytechnotalent/Reverse-Engineering
https://github.com/mytechnotalent/Reverse-Engineering
GitHub
GitHub - mytechnotalent/Reverse-Engineering: A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit…
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit ARM, 8-bit AVR and 32-bit RISC-V architectures. - mytechnotalent/Reverse-Engineering
👍1🤔1
الگوریتم رمزنگاری OFB
مد Output Feedback بسیار شبیه به CFB هست ولی مثل اون به زنجیر كردن متن های رمزنگاری شده نمی پردازد و به جای اون یک سری پردازش دیگر بر روی متن اصلی انجام میده از این مد برای رمزنگاری ارتباطات ماهواره ای استفاده میشه مدهای CBC و CFB تایید پیغام و رمزنگاری رو پشت سر هم انجام میدن تایید پیغام جهت اطمینان از مطابقت متن ارسال شده و متن دریافت شده هست در هنگام رمزنگاری DES بلوک های متن به هم لینک میشن در مدهای CFB و CBC رمزنگاری هر بلوک وابسته به رمزنگاری بلوک قبل از اونه به علت وجود همین اتصال در صورت ایجاد تغییر حتی در یک كاراكتر، بلوک نهایی رمزنگاری شده تغییر میکنه به همین دلیل بلوک آخر به عنوان یک كد تأیید هویت كار میكنه و از یک cryptographic checksum برای آزمایش دقت انتقال و تشخیص دستكاری پیغام استفاده میشه كلیدهایDES 40 بیتی امروزه در عرض چندین ساعت توسط كامپیوترهای معمولی شكسته میشن و بنابراین نباید برای محافظت از اطلاعات مهم و با مدت اعتبار طولانی استفاده شه كلید 56 بیتی معمولا توسط سختافزار یا شبكههای بخصوصی شكسته میشه
مد Output Feedback بسیار شبیه به CFB هست ولی مثل اون به زنجیر كردن متن های رمزنگاری شده نمی پردازد و به جای اون یک سری پردازش دیگر بر روی متن اصلی انجام میده از این مد برای رمزنگاری ارتباطات ماهواره ای استفاده میشه مدهای CBC و CFB تایید پیغام و رمزنگاری رو پشت سر هم انجام میدن تایید پیغام جهت اطمینان از مطابقت متن ارسال شده و متن دریافت شده هست در هنگام رمزنگاری DES بلوک های متن به هم لینک میشن در مدهای CFB و CBC رمزنگاری هر بلوک وابسته به رمزنگاری بلوک قبل از اونه به علت وجود همین اتصال در صورت ایجاد تغییر حتی در یک كاراكتر، بلوک نهایی رمزنگاری شده تغییر میکنه به همین دلیل بلوک آخر به عنوان یک كد تأیید هویت كار میكنه و از یک cryptographic checksum برای آزمایش دقت انتقال و تشخیص دستكاری پیغام استفاده میشه كلیدهایDES 40 بیتی امروزه در عرض چندین ساعت توسط كامپیوترهای معمولی شكسته میشن و بنابراین نباید برای محافظت از اطلاعات مهم و با مدت اعتبار طولانی استفاده شه كلید 56 بیتی معمولا توسط سختافزار یا شبكههای بخصوصی شكسته میشه
👍6🖕1