کلید خصوصی و کلید عمومی

رمزنگاری و کلید عمومی

رمزنگاری چیست؟ارتباطات ایمن به سرعت در حال تبدیل شدن به هنجاری برای دنیای امروز وب است.در سال 2018 ، Google Chrome تصمیم گرفت برای همه سایتهای منتقل شده از طریق HTTP (به جای HTTPS) اعلان های ” غیر امن” بودن را شروع کند.موزیلا هم تصمیم به یک برنامه مشابه گرفت. در آن هنگام در حالی که رمزنگاری در حال رایج تر شدن بود ، درک آن آسان تر نشده بود.گواهینامه های Let’s Encrypt به عنوان یک راه حل عالی برای ارائه وتمدید دوره ای گواهینامه های امنیتی رایگان ساخته شدند.

ویژگی های ارتباطات ایمن

محرمانه بودن هدف کاملاً آشکار رمزنگاری است: هر پیام می تواند دور از دید هر چشم کنجکاوی منتقل شود.برای محرمانه بودن اطلاعات ، ما یک پیام را رمزگذاری می کنیم:با استفاده از یک پیام ، آن را با یک کلید جفت می کنیم وچیزی ایجاد می کنیم که فقط با برگرداندن همین روند و با استفاده از همان کلید می تواند دوباره مفید و قابل استفاده باشد. (از این طریق آن را رمزگشایی می کنند)

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

احراز هویت خاصیتش این است که بدانید شخصی که با شما ارتباط برقرار می کند در واقع همان کسی است که ادعا می کند.امنیت اطلاعات خصوصیات دیگری دارد ، اما محرمانه بودن ، صداقت و تأیید اعتبار سه صفتی است که باید بدانید.

رمزگذاری و رمزها

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

رمزگذار با استفاده از بیت های آن کلید ، بیت های متن ساده را تبدیل می کند.از آنجا که ما می خواهیم قادر به رمزگشایی متن رمزنگاری شده باشیم ، پس رمزنگاری ما نیز به صورت قابل برگشت می باشد.ما می توانیم از XOR به عنوان نمونه ای ساده استفاده کنیم.این مورد برگشت پذیر است و معکوس خودش است. (P ^ K = C؛ C ^ K = P) بنابراین می تواند متن را رمزگذاری کند و یا متن رمزنگاری شده را دوباره رمزنگاری کند.استفاده بی اهمیت از XOR می تواند برای رمزگذاری یک بار استفاده شود ، اما عموماً عملی نیست.با این وجود ، می توان XOR را با عملکردی ترکیب کرد که یک جریان دلخواه از داده های تصادفی از یک کلید واحد تولید می کند.رمزگذارهای مدرن مانند AES و Chacha20 دقیقاً همین کار را می کنند.

رمزنگاری متقارن :

هر رمزنگاری ای را که از همان کلید برای رمزگذاری و رمزگشایی استفاده می کند را رمزنگاری متقارن می نامیم.رمزهای متقارن به رمزهای جریانstream ciphers و رمزهای بلوکblock ciphers تقسیم می شوند.رمزگذاری جریان از طریق یک پیام یک بیت یا بایت را به طور همزمان اجرا می کند.اگر طول متن ساده ناشناخته باشد (مانند داده هایی که از یک لوله یا سوکت وارد می شوند) ، رمزهای جریان مفید هستند.RC4 بهترین رمزنگاری شده جریان است اما در برابر حملات مختلف آسیب پذیر است و جدیدترین نسخه پروتکل TLS هم حتی از آن پشتیبانی نمی کند.تلاشهایی برای ایجاد رمزگذارهای جریان جدید در حال انجام است که برخی از کاندیداها مانند ChaCha20 در TLS از آن پشتیبانی می کنند.

رمزنگاری بلوک

رمزنگاری بلوک, یک بلوک به اندازه ثابت می گیرد و آن را با یک کلید با اندازه ثابت رمزگذاری می کند. استاندارد رمزگذاری پیشرفته (AES) , پادشاه فعلی در دنیای رمزنگاری کد است و اندازه بلوک آن 128 بیت است.این داده ها خیلی زیاد نیستند ، بنابراین رمزگذارهای بلاک حالتی دارند که نحوه استفاده از عملکرد بلوک رمز را در یک پیام با اندازه دلخواه توصیف می کنند.ساده ترین حالت ، کتاب کد الکترونیکی (ECB) است که پیام را می گیرد ، آن را در بلوک ها تقسیم می کند (در صورت لزوم به بلوک نهایی پیام وصل می شود) ، و سپس هر بلوک را با کلید به طور مستقل رمزگذاری می کند.

Electronic Code Book
کتاب کد الکترونیکی (ECB)

ممکن است در اینجا مشکلی مشاهده کنید:اگر همان بلوک چندین بار در پیام ظاهر شود (مثلاً عبارتی مانند “GET / HTTP / 1.1” در ترافیک وب) و ما آن را با استفاده از همان کلید رمزگذاری کنیم ، نتیجه مشابه را می گیریم.ظاهر یک الگو در ارتباطات رمزگذاری شده ما باعث می شود که این حمله در معرض خطر قرار گیرد.

بنابراین حالت های پیشرفته تری مانند Cipher Block Chaining-CBC وجود دارد که نتیجه رمزگذاری هر بلوک با نام ساده بلوک بعدی XOR می شود.اولین متن بلوک اول با یک بردار اولیه اعداد تصادفی XOR می شود.حالت های بسیاری دیگر وجود دارد که هر دو مزیت ها و معایب مختلفی در امنیت و سرعت دارند.حتی حالتهایی مانند Counter -CTR وجود دارد که می توانند متن رمزنگاری شده را به رمزنگاری جریان تبدیل کنند.

Counter -CTR
می توانند رمزنگاری شده را به رمزنگاری جریان تبدیل کنند

رمزهای نامتقارن :

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

کلید خصوصی و عمومی
دنیای رمزنگاری و رمزگزاری

دنیای رمزنگاری گسترده و پیچیده است ، اما امیدوارم که این مقاله یک مدل ساده ذهنی از اهداف و مؤلفه های اصلی استفاده ازکلیدهای عمومی و خصوصی به شما ارائه داده باشد.

 

درحال ارسال
امتیاز دهی کاربران
0 (0 رای)
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.