در هنگام یادگیری من از این دنیای جالب رمزنگاری ، با سؤالات متعددی روبرو شدم که عبارتند از:

روش های مختلفی برای انجام MAC وجود دارد ، اما بدون شک استفاده از بیشتر و کارآمدترین موارد در بسیاری موارد HMAC است ، این خدمت می کند. برای تأیید اینکه پیام تغییر نکرده است. به طور منظم از هشی مانند sha-256 ، sha-512 یا bcrypt استفاده می شود.

این اولین شک من است ، bcrypt هرگز همان هش تولید نمی کند ، چگونه می توانم ببینم که هش فرستنده برابر است با گیرنده. اگر آنها هرگز یکسان نخواهند بود (زیرا آنها SALT را اجرا می کنند)؟

همچنین سؤال دیگری را در مورد هش ایجاد می کند:

2 نوع هش وجود دارد: هش معمولی و هش رمزنگاری شده

همانطور که می بینم. تنها تفاوت این میان این است که هش رمزنگاری در برابر برخورد مقاوم تر است و قصد دارد تعدادی از ویژگی های امنیتی را تضمین کند.

آیا این واقعیت دارد؟

چه موقع از هریک استفاده می کنم؟ چگونه می دانم که الگوریتم های هشینگ (مانند bcrypt ، sha و غیره) با هر یک از این موارد مطابقت دارد؟

سرانجام ، من با اصطلاح "امضای دیجیتال" شک داشتم:

اساساً برخلاف "HMAC" ، اینها به دنبال تأیید تغییر پیام نیستند یا نه. امضای دیجیتالی به منظور تأیید تقلب ، به منظور تأیید تقلب در ارسال کننده (فرستنده) به توافق رسیده است.

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

آیا من در مورد امضاهای دیجیتال صحیح هستم؟

من خوانده ام که بهتر است از sha-512 از bcrypt استفاده کنید ، زیرا bcrypt در همه سیستم عامل ها نیست یا با همه چیز سازگار نیست و از نظر با استفاده از sha-256 یا sha-512 تفاوت در این بود که اگر pc آن 32 بیتی باشد از sha-256 بهتری استفاده می کند اما اگر از رایانه 64 بیتی استفاده می کرد از sha-512 بهتری استفاده می کرد برای سرعت و

بنابراین من از bcrypt ، sha 256 یا sha-512 استفاده می کنم؟

PDTA: لطفا شک و تردیدهایی را که در پرانتز به من ارائه شده است برطرف کنید ، به جز این موارد -> (مانند bcrypt ، SHA ، و غیره) و ( امضای دیجیتال).

متشکرم.