یکی از مفاهیمی که دونستنش قبل از ورود به بحث امضای دیجیتال مهمه، تفاوت رمزنگاری symmetric و asymmetric هست. فرض کنیم که قراره کاربر A داده مهمی را به کاربر B بفرستد.
رمزنگاری symmetric به زبان ساده یعنی کاربر A داده های خود را با یک کلید رمزنگاری کرده و به کاربر B ارسال میکند. سپس کاربر B با همان کلید، داده رمز شده را آشکار سازی کرده و به داده های اصلی دست پیدا میکند. در این حالت هر دو کاربر A و B باید تلاش کنند امنیت کلید مشترک را حفظ کنند.
رمزنگاری asymmetric به این صورت است که رمزنگاری و آشکارسازی با دو کلید انجام میشود. کاربر B یک کلید به نام private key را جهت آشکارسازی پیش خود نگه داشته و کلید دیگری به نام public key را به کاربر A میدهد تا کاربر A داده های خود را با آن رمزنگاری کند. پس public key جهت رمزنگاری و private key جهت آشکارسازی استفاده میشوند.
ویژگی و ارتباط این دو کلید این است که هر داده ای که توسط کلید public رمزنگاری شود، تنها و تنها توسط کلید private میتواند آشکار شود. بنابراین اگر کسی بجز کاربر A به کلید public دسترسی پیدا کند، امکان آشکارسازی داده را ندارد. کاربر A داده های خود را با کلید public رمزنگاری کرده و به کاربر B میفرستد. کاربر B با کلید private خود، داده ها را آشکارسازی میکند. در این حالت کاربر B باید تلاش کند امنیت کلید private خود را حفظ کند.
درک این تفاوت میتونه دروازه ورود به بحث امضای دیجیتال باشه
:)