• رمزگذاری متقارن و نامتقارن HTTP چیست

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

    رمزگذاری چیست

    رمزگذاری زمانی مفید خواهد بود که بخواهید برخی از اطلاعات را از آن مخفی کنید خارجی هاو داده های محرمانه را به کاربران مجاز ارائه دهید.

    از ویژگی های این نوع انتقال داده استفاده از کلید است.

    سه حالت امنیتی وجود دارد:

    • پنهان کردن اطلاعات از غریبه ها؛
    • پیشگیری از تغییر؛
    • حفظ یکپارچگی اطلاعات؛
    • شناسایی فرستنده

    برای خواندن اطلاعات غیر از کلید، رمزگشا لازم است. این همان چیزی است که دستیابی به داده ها را برای مهاجمان غیرممکن می کند، زیرا با داشتن داده های رهگیری شده، اما بدون کلید، خواندن آنها غیرممکن است.

    دو نوع رمزگذاری وجود دارد: متقارن و نامتقارن.

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

    • فرستنده داده ها را رمزگذاری می کند.
    • گیرنده رمزگشایی می کند

    هر تبدیل با استفاده از الگوریتم هایی اجرا می شود که از کلیدها برای حل استفاده می کنند. روش های رمزگذاری متقارن و نامتقارن در قدرت رمزنگاری متفاوت است.

    مقاومت کریپتو

    سیستم های رمزگذاری متقارن و نامتقارن دارای ویژگی هایی هستند که مسبب دشواری دسترسی غیرمجاز است.

    2 نوع اصلی قدرت رمزنگاری سیستم رمزگذاری وجود دارد.

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

    حداکثر اندازه کلید RSA 4096 بیت است.

    برای رمزگذاری و امضا استفاده می شود. قدرت رمزنگاری را می توان به عنوان 2.7.1028 برای یک کلید 1300 بیتی توصیف کرد. این طرح در بسیاری از استانداردها استفاده می شود، اصل رمزگذاری RSA یکی از اولین الگوریتم های نامتقارن است.

    اندازه کلید طرح الگامال RSA - 4096 بیت است. هم برای رمزگذاری و هم برای رمزگذاری استفاده می شود امضای دیجیتالی. قدرت رمزنگاری این سیستم با RSA با همان اندازه کلید تفاوتی ندارد.

    روش DSA از یک کلید بسیار کوچکتر استفاده می کند - 1024 بیت. این به طور انحصاری برای امضای دیجیتال استفاده می شود.

    رمزگذاری متقارن و نامتقارن

    این دو نوع رمزگذاری از نظر تعداد کلیدها و میزان مقاومت در برابر هک متفاوت هستند.

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

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

    ویژگی های رمزگذاری متقارن

    سیستم حفاظتی متقارن دارای مزایای زیر است.

  • سرعت بالا و سهولت اجرا.
  • برای اطمینان از قدرت رمز، از طول کلید کوچک استفاده می شود.
  • معایب شامل موارد زیر است:

    • پیچیدگی مدیریت کلید در یک شبکه بزرگ؛
    • پیچیدگی تبادل کلید؛
    • نیاز به یافتن یک کانال قابل اعتماد برای انتقال کلید به طرفین؛
    • عدم امکان استفاده برای امضای دیجیتال، گواهی ها.

    برای جبران کاستی ها، از یک طرح ترکیبی استفاده می شود که در آن کلید مورد استفاده برای رمزگشایی با استفاده از رمزگذاری نامتقارن منتقل می شود. با استفاده از رمزگذاری متقارن منتقل می شود.

    ویژگی های رمزگذاری نامتقارن

    استفاده از یک جفت کلید عمومی-خصوصی می تواند به صورت زیر استفاده شود:

    • ابزار مستقل حفاظت از اطلاعات؛
    • معنی توزیع کلید؛
    • ابزار احراز هویت کاربر

    چنین مزایایی دارد:

    • ذخیره کردن کلید مخفی در مکانی امن، به جای آن باز کردن کانالباز منتقل می شود
    • کلید رمزگشایی فقط برای یک طرف شناخته شده است.
    • در یک سیستم بزرگ نامتقارن، از کلیدهای کمتری نسبت به یک سیستم متقارن استفاده کنید.

    ایجاد هرگونه تغییر در چنین الگوریتم هایی دشوار است. چنین سیستمی دارای کلیدهای طولانی است. اگر کلید متقارن 128 بیت باشد، کلید RSA 2304 بیت است. به همین دلیل، سرعت رمزگشایی آسیب می بیند - 2-3 برابر کندتر است. رمزگشایی به منابع محاسباتی زیادی نیاز دارد.

    نمونه های زیادی از سیستم های رمزگذاری متقارن و نامتقارن وجود دارد.

    رمزگذاری متقارن - چگونه به نظر می رسد؟

    نمونه ای از رمزگذاری متقارن و یک نمودار پیاده سازی در زیر آمده است.

  • دو طرف گفتگو هستند که قصد دارند اطلاعات محرمانه را مبادله کنند.
  • مخاطب اول یک کلید d، الگوریتم های رمزگذاری E و رمزگشایی D را تولید می کند. سپس این اطلاعات را برای مخاطب دوم ارسال می کند.
  • پیام با کلید d رمزگشایی می شود.
  • عیب اصلی عدم امکان اثبات صحت متن است. اگر کلید رهگیری شود، مهاجم اطلاعات مخفی را رمزگشایی می کند.

    روش های کلاسیک وجود دارد.

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

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

    "مربع جادویی" ساختار پیچیده تری است که یک ماتریس است. اعداد طبیعی به گونه ای در خانه ها وارد می شوند که مجموع اعداد هر ستون، ردیف، مورب یکسان باشد. هر عدد مربوط به یک نامه پیام است. متن به دست آمده به صورت رشته ای نوشته می شود که اعداد و کاراکترها مطابقت دارند.

    نمونه هایی از رمزگذاری نامتقارن

    که در این موردکلید عمومی از طریق یک کانال باز ارسال می شود و از نظر تئوری می تواند توسط مهاجمان رهگیری شود.

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

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

  • رمز الگامال.
  • RSA

    RSA اولین الگوریتم رمزنگاری است که هم برای رمزگذاری و هم برای امضای دیجیتال استفاده می شود.

    اینگونه توصیف شده است.

  • دو عدد اول انتخاب می شوند، به عنوان مثال، 3 و 7.
  • ماژول n محاسبه می شود - حاصل ضرب دو عدد. معلوم می شود 21.
  • تابع اویلر φ=(p-1)×(q-1)=2×6=12 محاسبه می شود.
  • هر عدد اول e کوچکتر از φ و عدد اول با φ محاسبه می شود. گزینه های موجود: 5، 7، 11.
  • یک جفت اعداد e, n (5, 21) یک کلید عمومی است. حالا اعداد d و n کلید خصوصی محاسبه می شود. عدد d شرط (d × e) mod φ=1 را برآورده می کند و برابر با 17 است. در نتیجه جفت دوم اعداد 17 و 21 کلید خصوصی است. رمزگذاری به صورت زیر انجام می شود: پیام به توان e افزایش می یابد، باقیمانده تقسیم بر n گرفته می شود و نتیجه باید کمتر از عدد n باشد. معلوم می شود 10 - این داده های رمزگذاری شده خواهد بود. برای رمزگشایی، e به توان d افزایش می یابد و باقیمانده تقسیم بر n محاسبه می شود.

    DSA

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

  • انتخاب تابع هش رمزنگاری H(x).
  • بیتی یک عدد اول q باید برابر با مقدار تابع هش H(x) باشد.
  • انتخاب عدد اول p به گونه ای که p-1 به طور مساوی بر q بخش پذیر باشد.
  • محاسبه عدد g = h (p-1)/q mod p. h باید یک عدد دلخواه بین 1 و p-1 باشد.
  • انتخاب شد عدد تصادفی k از 0 تا q.
  • r = (gk mod p) mod q را محاسبه کنید.
  • سپس s = k-1 (H(m) + xr)) mod q.
  • اگر r=0 یا s=0 باشد، عدد دیگری k انتخاب می شود.
  • طرح الگمال

    رمزگذاری ElGamal برای امضای دیجیتال استفاده می شود. این یک توسعه از الگوریتم دیفی-هلمن است.

    هنگام کار بر اساس این طرح، مهم است که ویژگی زیر را در نظر بگیرید. رمزگذاری ElGamal یک الگوریتم امضای دیجیتال بر اساس طرحی به همین نام نیست. هنگام رمزگذاری، متن به رمزی تبدیل می شود که 2 برابر بیشتر از پیام اصلی است.

    تولید کلید به شرح زیر است.

  • یک عدد اول تصادفی p انتخاب می شود.
  • عدد g باید یک ریشه ابتدایی p باشد.
  • عدد x باید بزرگتر از 1 و کوچکتر از p-1 باشد. این کلید خصوصی خواهد بود.
  • سپس کلید عمومی y با استفاده از فرمول g^x mod p محاسبه می شود.
  • هنگام رمزگذاری متن M، کلید سیستم K انتخاب می شود که بزرگتر از یک و کوچکتر از p-1 است. سپس اعداد a و b محاسبه می شوند که متن رمزی a = g^k mod p و b = y^k M mod p هستند.

    سلام!
    بیایید ببینیم رمزنگاری متقارن و نامتقارن چیست - چرا آنها به این نام خوانده می شوند، برای چه استفاده می شوند و چگونه متفاوت هستند.

    برای دقیق تر، گفتن الگوریتم های رمزگذاری متقارن و نامتقارن صحیح تر است.

    رمزنگاری (کریپتو - پنهان کردن، پنهان کردن)، به عنوان علم پنهان کردن آنچه نوشته شده است، علم پنهان کردن اطلاعات.

    اکثر الگوریتم های رمزگذاری مورد استفاده باز هستند، یعنی توضیحات الگوریتم در دسترس همه است. راز کلید رمزگذاری است که بدون آن رمزگذاری غیرممکن است، چه رسد به رمزگشایی اطلاعات.

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

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

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

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

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

    در زندگی، البته، همه چیز کمی متفاوت از تئوری است.
    در زندگی از ترکیبی از الگوریتم های متقارن و نامتقارن استفاده می شود.

    به عنوان مثال، VPN با رمزگذاری:

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

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

    تعداد کمی از مردم می دانند که دقیقا چگونه کار می کند رمزگذاری نامتقارن. مثلاً افرادی هستند که در نظر نمی گیرند پروتکل httpsهرگونه حفاظت کافی از داده های ارسال شده و به عنوان یک قاعده، هنگامی که آنها سعی می کنند آنها را در غیر این صورت متقاعد کنند، به چیزی در این زمینه پاسخ می دهند: "اگر ما داده های رمزگذاری شده را منتقل کنیم، باید به شما بگوییم که چگونه آن را رمزگشایی کنید، و این اطلاعات را می توان رهگیری کرد و بنابراین، داده ها می توانند رمزگشایی شود.» و به استدلال هایی که اینطور نیست و رمزگذاری نامتقارن مبتنی بر آن است، پاسخ این است که "پس چی؟".

    خوب، می‌دانم که لازم نیست همه ظرافت‌های اجرای رمزگذاری نامتقارن را بدانند. ولی اصل کلیکار، من معتقدم، هر کسی که به نوعی با رایانه در ارتباط است باید بداند.

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

    به هر حال، چرا آلیس و باب؟ مقاله کوتاهی در ویکی پدیا در این مورد وجود دارد: آلیس، باب و حوا. برای روشن تر شدن موضوع، آلیس و باب می خواهند پیام هایی را رد و بدل کنند و ایو سعی می کند این پیام ها را رهگیری کرده و بخواند.

    کمی تاریخ

    رمزنگاری قرن های گذشته یک مشکل بزرگ داشت - مشکل انتقال کلید. در آن روزها فقط رمزهای به اصطلاح "متقارن" وجود داشت - رمزهایی که در آنها داده ها با همان کلید رمزگذاری و رمزگشایی می شوند.

    به عنوان مثال، آلیس یک پیام را رمزگذاری کرده است و می خواهد آن را برای باب ارسال کند. طبیعتاً، برای اینکه باب آن را بخواند، به کلیدی نیاز دارد که رمزگذاری شده است پیام داده شده. و اینجا مشکل پیش می آید که چگونه کلید را منتقل کنیم تا کسی نتواند آن را رهگیری کند. ذهن‌های کنجکاو پیشنهاد می‌کنند - اجازه دهید شخصا صحبت کنند و سپس هر چقدر که می‌خواهند ارتباط برقرار کنند. بله، من بحث نمی کنم، راه خروج. حال برای لحظه ای تصور کنید که ایمیل اینترنتی شما، قبل از ورود به آن، از شما می خواهد که به مکان فیزیکی سرور ایمیل سفر کنید. راحت؟ شاید نه خیلی زیاد.

    البته، کلید می تواند از طریق کانال ارتباطی دیگری منتقل شود. اما رمزنگاری تمام کانال های ارتباطی ناامن را ناامن می داند. به عنوان مثال، انتقال کلید به باب از طریق تلفن، ناامن تلقی می شود، زیرا هیچ چیز مانع از گوش دادن حوا به تلفن نیز نمی شود.

    تا دهه 70، این مشکل به قدری آشنا شد که به عنوان یک بدیهیات در نظر گرفته می شد که برای انتقال یک پیام، باید کلیدی که پیام با آن رمزگذاری شده بود نیز منتقل شود (و هنوز هم برخی از افراد اینطور فکر می کنند). اما در سال 76، دیفی و هلمن "روش تبادل کلید نمایی" خود را پیشنهاد کردند. از این سال ها توسعه سیستم های رمزنگاری نامتقارن آغاز شد.

    کمی زندگی واقعی

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

    بیایید تصور کنیم که آلیس و باب در کشوری زندگی می کنند که کل سیستم پستی کاملاً غیراخلاقی است و کارمندان پست تمام نامه های ناامن را می خوانند. آلیس، دختری نه احمق، قبل از ارسال پیام به باب، جعبه ای آهنی را برداشت و با گذاشتن نامه ای داخل آن و بستن آن با قفل، این جعبه را برای باب می فرستد.

    به طور طبیعی، این نامه را نمی توان در اداره پست خواند، اما خود باب نمی تواند آن را بخواند، زیرا کلیدی که قفل با آن بسته شده را ندارد. البته آلیس می تواند جعبه آهنی دیگری را بردارد، کلید قبلی را در آن بگذارد و برای باب بفرستد، اما باب نیز نمی تواند آن را باز کند ...

    تنها راه این است که کلید را کپی کنید و شخصاً به باب بدهید...

    و اکنون به نظر می رسد که تبادل کلید بخشی اجتناب ناپذیر از رمزگذاری است - یا اینطور نیست؟

    بیایید تصویر متفاوتی را تصور کنیم. قدم به قدم می نویسم:

    1. آلیس نامه خود را در یک جعبه آهنی می گذارد و پس از قفل کردن آن، آن را برای باب می فرستد.
    2. باب، با دریافت جعبه، (توجه!) قفل خود را می گیرد و علاوه بر این جعبه را با آن قفل می کند، آن را پس می فرستد.
    3. جعبه قبلاً با دو قفل به آلیس می رسد (اجازه دهید به شما یادآوری کنم با قفل اول آلیس که برای آن کلید دارد و با قفل دوم - باب که فقط باب برای آن کلید دارد).
    4. آلیس قفل خود را آزاد می کند و جعبه را برای باب می فرستد
    5. باب جعبه ای با یکی از قفل هایش دریافت می کند که از آن یک کلید دارد.
    6. باب قفل باقی مانده خود را با کلید خود باز می کند و پیام را می خواند

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

    بازگشت به رمزنگاری

    به نظر می رسد راه حلی پیدا شده است. فرستنده و گیرنده پیام خود را رمزگذاری می کنند و سپس طرفین به نوبت رمز خود را حذف می کنند.


    اما نکته اصلی این است که چنین رمزهایی وجود ندارد که به شما اجازه دهد رمز را از زیر رمز دیگری حذف کنید. یعنی مرحله ای که آلیس رمز خود را حذف می کند غیرممکن است:


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

    بازگشت به ریاضی

    ایده جعبه ای که در بالا توضیح دادم الهام بخش دیفی و هلمن شد تا به دنبال راهی برای ارسال پیام باشند. آنها در نهایت به استفاده از توابع یک طرفه آمدند.

    تابع یک طرفه چیست؟ به عنوان مثال، یک تابع دو برابر کردن وجود دارد، i.e. دو برابر (4) = 8، دو طرفه است، زیرا از نتیجه 8 به راحتی می توان مقدار اولیه 4 را بدست آورد. تابع یک طرفه تابعی است که پس از اعمال آن تقریباً غیرممکن است که مقدار اولیه را بدست آوریم. به عنوان مثال، مخلوط کردن رنگ زرد و آبی نمونه ای از عملکرد یک طرفه است. آنها را با هم مخلوط کنید به آسانی، اما برای بازگرداندن اجزای اصلی - غیر ممکن. یکی از این تابع ها در ریاضیات است مدول.

    هلمن تابع را به عنوان اساس الگوریتم پیشنهاد کرد Y x (Mod P). تبدیل معکوس برای چنین تابعی بسیار دشوار است و می‌توان گفت که در واقع شامل شمارش کامل مقادیر اصلی است.

    مثلاً به شما گفته شد 5 x (mod 7) = 2سعی کنید پیدا کنید ایکس، آ؟ پیدا شد؟ حال تصور کنید که Y و P اعدادی از مرتبه 10 300 هستند.

    اتفاقا برای افزایش ماندگاری تعداد پباید عدد اول باشد و Y- یک مدول ریشه اولیه باشد پ. اما از آنجایی که ما هنوز در حال تلاش برای درک نظریه هستیم، من اهمیتی در این نمی بینم.

    الگوریتم دیفی هلمن

    و سپس یک روز به هلمن رسید و او توانست یک الگوریتم تبادل کلید را ایجاد کند. برای کار بر روی این الگوریتم، باید مراحل را در هر دو طرف انجام دهید، بنابراین من آن را در یک جدول ترسیم می کنم:

    آلیس لوبیا
    مرحله ی 1 هر دو طرف بر سر ارزش ها توافق دارند Yو پبرای یک عملکرد یک طرفه کلی این اطلاعات محرمانه نیست. فرض کنید مقادیر انتخاب شده اند 7 و 11 . عملکرد کلی به شکل زیر است: 7 x (Mod 11)
    مرحله 2 به عنوان مثال، آلیس یک عدد تصادفی را انتخاب می کند 3 آ باب یک عدد تصادفی مانند را انتخاب می کند 6 ، آن را مخفی نگه می دارد، بیایید آن را به عنوان یک عدد نشان دهیم ب
    مرحله 3 آلیس یک عدد را وارد می کند آ 73 (Mod 11)= 343 (mod 11) = 2 آ باب شماره را وصل می کند ب V عملکرد کلیو نتیجه را محاسبه می کند 7 6 (Mod 11)= 117649 (mod 11) = 4 ، نتیجه این محاسبه را به عنوان یک عدد نشان می دهد ب
    مرحله 4 آلیس یک شماره می فرستد آباب باب شماره ای می فرستد بآلیس
    مرحله 5 آلیس دریافت می کند باز باب، و مقدار را محاسبه می کند b A (Mod 11)= 4 3 (mod 11) = 64 (mod 11) = 9 باب دریافت می کند آاز آلیس، و مقدار را محاسبه می کند a B (Mod 11)= 2 6 (mod 11) = 64 (mod 11) = 9
    مرحله 6 هر دو شرکت‌کننده به یک عدد ختم شدند 9 . این کلید خواهد بود.

    شعبده بازي؟ من بحث نمی کنم، در نگاه اول مشخص نیست. اما پس از مطالعه و تفکر در مورد این جدول، نحوه عملکرد آن مشخص می شود. با این حال، اگر واضح نشد، به انتهای فصل بروید، جایی که یک ویدیوی توضیحی ارسال کردم.

    و توجه داشته باشید که برای دریافت کلید در فرمول نهایی، هر شخصی باید سه مقدار داشته باشد:

    • ارزش های آو پو شماره مخفی باب ب
    • یا ارزش ها بو پو شماره مخفی آلیس آ

    اما شماره های مخفی از طریق کانال مخابره نمی شود! حوا نمی تواند کلید را بدون شماره مخفی کسی بازیابی کند. چرا - من در بالا نوشتم، عملکرد داده شدهیک طرفه است سعی کنید معادله را حل کنید 4 x (mod 11) = 2 y (mod 11)یافته ایکسو y.

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

    ابتدا فرض کنید همه، از جمله آلیس، باب و حوا، یک شیشه سه لیتری پر از یک لیتر رنگ زرد دارند. اگر آلیس و باب بخواهند روی یک کلید مخفی به توافق برسند، هر کدام یک لیتر از رنگ مخفی خود را به شیشه هایشان اضافه می کنند.

    آلیس می تواند رنگ بنفش اضافه کند و باب می تواند زرشکی اضافه کند. پس از آن، هر یک از آنها شیشه محتویات مخلوط خود را برای دیگری می فرستد.

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

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

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

    هنوز مشخص نیست؟ سپس ویدیو را تماشا کنید:

    خوب، امیدوارم متوجه شده باشید که کاملا وجود دارد راه واقعیتبادل کلید امن اما لطفاً توجه داشته باشید که هنوز نمی‌توان این الگوریتم را رمز نامتقارن نامید، زیرا در واقع فقط یک الگوریتم تبادل کلید است.

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

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

    که در جوهر کلی این الگوریتمدر این واقعیت نهفته است که طرف گیرنده، قبل از دریافت پیام، یک جفت کلید را بر اساس الگوریتم محاسباتی مدولار (اصل مانند الگوریتم Diffie-Hellman است)، کلیدهای خصوصی و عمومی واقعی تولید می کند. قبل از ارسال، فرستنده یک کلید عمومی دریافت می کند و پیام را با این کلید رمزگذاری می کند، پس از آن این پیام فقط با یک کلید خصوصی که توسط طرف گیرنده مخفی نگه داشته می شود، قابل رمزگشایی است.


    با بازگشت به قیاس قفل، رمزگذاری کلید عمومی را می توان به صورت زیر در نظر گرفت:

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

    قیاس عمیق تری نیز می توان ترسیم کرد.

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

    قفل و بستن آن معادل یک کلید رمزگذاری مشترک است، زیرا همه به قفل ها دسترسی دارند و همه می توانند از قفل برای بستن پیام در جعبه استفاده کنند. کلید قفل معادل کلید رمزگشایی مخفی است زیرا فقط آلیس آن را دارد، فقط او می تواند قفل را باز کند و فقط او می تواند به پیام موجود در جعبه دسترسی پیدا کند.

    چندین الگوریتم وجود دارد که رمزگذاری نامتقارن را پیاده سازی می کند. معروف ترین آنها RSA است. من در توصیف آن فایده ای نمی بینم، زیرا هنوز نمی توانم درک کنم که چگونه در حال حرکت کار می کند، و هنوز هم نمی توانم بهتر از آنچه در ویکی پدیا نوشته شده است بنویسم.

    نتیجه

    خوب ، امیدوارم با درک نحوه عملکرد رمزگذاری نامتقارن از داخل ، اعتماد بیشتری به آن داشته باشید و بر این اساس ، بیشتر از SSL استفاده کنید =)

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

    1. تلویزیون

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

    2. ایگور

      این مزخرفات کلید عمومی برای چیست؟ متقارن قابل اعتمادتر است.
      عصر بخیر
      سایت خوبی است، مطالب به وضوح ارائه شده است، با تشکر فراوان از نویسنده. در سپتامبر به طور تصادفی به اینجا آمدم، زمانی که به دنبال اطلاعاتی در مورد رمزگذاری عملی بودم.
      من می نویسم زیرا می خواهم بپرسم: آیا کسی هست که بخواهد بداند چگونه اعداد را برای رمزگذاری متقارن پیدا کند؟ من می توانم روی انگشتانم یاد بدهم که چگونه به سرعت عدد P را برای سادگی بررسی کنم (بدون جستجوی عدد g) - اما بعید است که جالب باشد. جذابترین:
      یک عدد P با هر طول و یک عدد g برای آن پیدا کنید. من از هیچ 2 به توان n به اضافه یک (یا منهای یک) استفاده نمی کنم. طبیعتاً رایگان است. حتی سایتی هست که من کارهایم را در آن قرار دادم.

  • واسیا پتروویچ

    من می دانم که زمان زیادی گذشته است، اما هنوز هم برای خوانندگان جدیدی مانند خودم پاسخگو خواهم بود.

    این کار نخواهد کرد، زیرا بعد از مراحل 2 و 3، تفاوت تعداد هر یک از بلوک ها را مشاهده می کنیم، بنابراین، شماره مخفی باب برای ما آشکار می شود و ما فقط می توانیم پیام را بعد از مرحله 4 (یعنی قبلاً بدون رمز آلیس) رهگیری کنیم و از شماره باب که قبلاً برای ما شناخته شده است استفاده کنید.

  • یوجین

    با تشکر بسیار برای این مقاله است!
    پس از خواندن، تقریباً همه چیز در قفسه های خود افتاد، ساختاری به دست آورد که ساخت آن آسان است.
    با چنین ساختاری، ایجاد سؤالات صحیح آسان است (قفسه برای حملات MiTM، با تشکر ویژه از میخائیل :)).

    از نظر آموزشی، شما همه چیز را عالی انجام دادید. فکر می کنم حق با شماست که حملات MiTM را به این مقاله اضافه نکردید، در غیر این صورت بار اطلاعاتی زیاد می شود.

    این ویدیو به خصوص با توجه به سنش بسیار جذاب است.

    PS: استفاده از استعاره برای توضیح سیستم های "پیچیده" واقعاً سخت است که بیش از حد برآورد شود. بازم ممنون

  • dbzix

    از این مقاله، من لحظه انتقال از الگوریتم Diffie-Hellman را دریافت نکردم، جایی که دو مشترک داده های عمومی و نتایج متوسط ​​محاسبات را برای به دست آوردن یک کلید مخفی (در مثال، 6 مرحله مشخص شد) به مرحله ای که از یک کلید عمومی خاص برای رمزگذاری استفاده می شود، که سپس با استفاده از یک کلید خصوصی رمزگشایی می شود (در اینجا من فقط 2 مرحله انتقال داده را می شمارم - ارسال یک کلید عمومی و ارسال پیام رمزگذاری شده با این کلید).
    آن ها من می‌دانم که جایی بین این دو توضیح احتمالاً ریاضیات زیادی وجود دارد، و در پایان توضیح به این خلاصه می‌شود که «اینطوری کار می‌کند، فقط به من اعتماد کن». اما اگر قیاس با رنگ ها برای توضیح ماهیت رمزگذاری با یک کلید عمومی و به دنبال آن رمزگشایی با یک کلید خصوصی گسترش یابد، احتمالاً درک این انتقال ناگهانی آسان تر خواهد بود. در این میان، معلوم می‌شود که نوعی «ب» به این دلیل کار می‌کند که «الف» کار می‌کند، در حالی که هیچ ارتباط روشنی بین A و B وجود ندارد. حداقل برای من.
    نویسنده محترم، آیا اینقدر لطف دارید که این جهش عرفانی از A به B را برای من توضیح دهید؟ :) متشکرم!

  • یوجین

    عصر بخیر،

    با توجه به: یک فرمول Y^x (mod P) وجود دارد.
    مثال در مقاله بر اساس فرمول 7^x (mod 11) است.

    من 4^x (mod 7) را برای مثالم در نظر گرفتم
    و من نتوانستم به یک کلید مشترک برسم.
    سوال: چرا الگوریتم در مثال برای 7^x (mod 11) و نه برای 4^x (mod 7) کار می کند؟

  • جسی جین
  • آندری

    با تشکر، مقاله عالی!
    فقط اکنون تقریباً الگوریتم را فهمیدم ، نحوه محاسبه از طریق ماژول.
    به من نگویید اگر عدد A از ماژول کمتر باشد چگونه عدد B را محاسبه کنم؟
    خوب مثلا:
    3 (mod 13) = ?

    می دانم که اگر مثلاً باید 625 را محاسبه کنید (mod 13) به 625/13 نیاز دارید و سپس بزرگترین مقسوم علیه عدد صحیح ممکن (48) ضرب در مدول (که در اینجا 624 خواهد بود) و در نهایت 625- 624 = 1
    اعداد 625 و 1 مدول 13 متجانس هستند، زیرا 624 بر 13 بخش پذیر است.
    این چیزی است که من می فهمم. اما اگر ماژول تعداد بیشترآ؟

  • ترسناک زرد

    1. حمله مرد در وسط یک مشکل جدی است. تا آنجا که من می توانم بگویم، در اصل تنها در چارچوب رمزنگاری، نمی توان آن را حل کرد: اگر فرض کنیم که حوا بتواند تمام داده هایی را که از طریق هر کانال ارتباطی به آلیس می رسد یا از او خارج می شود، رهگیری کرده و بی سر و صدا جایگزین کند، هیچ رمزگذاری وجود ندارد. کمک خواهد کرد. حداقل یک گواهی باید توسط آلیس از یک منبع کاملاً قابل اعتماد دریافت شود. اما اگر یک مهاجم فقط بتواند به کانال ارتباطی گوش دهد و داده های موجود در آن را تغییر ندهد، رمزگذاری نامتقارن کاملا قابل اعتماد است.
    2. در مورد توانایی حذف یک "لایه رمز" از زیر لایه دیگر، این ویژگی دارای عملکرد پیش پا افتاده XOR است که از زمان های قدیم تا به امروز به طور گسترده در رمزنگاری استفاده می شود. فکر نکنم ثبت اختراع بشه :(

    1. دیمیتری امیروفنویسنده

      بله، شما درست می گویید، حمله mitm امروز به هیچ وجه حل نمی شود اگر شما کاملاً پارانوئید هستید. در غیر این صورت، سر و صدا با گواهی ها و امضاها محافظت "لازم و کافی" را فراهم می کند.

      در مورد تابع XOR، دشوار است که آن را رمزگذاری کنیم، زیرا ذاتاً آنها نیست.

      1. ترسناک زرد

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

      2. ترسناک زرد

        اگرچه، با تأمل، متوجه شدم که اگر مهاجم الگوریتم رمزگذاری را بداند، روش رمزگذاری دوگانه برگشت پذیر کار نمی کند. مثال ایده مایکل را در نظر بگیرید:

        1. اطلاعات رمزگذاری شده را به بلوک می کنیم. هر بلوک با یک عدد نشان داده می شود. اندازه بلوک (تعداد بیت ها) تعداد مقادیر احتمالی بلوک و (به ترتیب؟) قدرت رمزگذاری را تعیین می کند.
        2. برای رمزگذاری پیام، آلیس یک شماره مخفی را انتخاب می کند (که آن را برای کسی ارسال نمی کند) که آن را به هر یک از اعداد موجود در بلوک ها اضافه می کند و پیام رمزگذاری شده را برای باب می فرستد.

        تا اینجا خوب است: ایو نمی تواند پیام آلیس را بخواند زیرا کلید شماره را نمی داند. اگر بلوک ها به اندازه کافی بزرگ باشند، بازیابی پیام آلیس دشوار است، اما اگر بلوک طولانی تر از پیام باشد و کلید هیچ آسیب پذیری نداشته باشد، غیرممکن است. اما حوا می تواند متن رمز آلیس را کپی کند و این کار را انجام می دهد.

        3. باب پیام رمزگذاری شده را دریافت می کند، شماره مخفی خود را انتخاب می کند (که برای کسی نیز ارسال نمی شود)، این شماره را به هر یک از اعداد موجود در بلوک های پیام رمزگذاری شده توسط آلیس اضافه می کند و این پیام رمزگذاری شده مضاعف را برای آلیس می فرستد.

        و از اینجاست که مشکلات شروع می شود: ایو هنوز نمی تواند پیام آلیس را بخواند، اما با داشتن یک نسخه از رمزنگاری دریافتی توسط باب و رمزگذاری مضاعف ارسال شده برای او، آن را بدون هیچ مشکلی بازیابی می کند. کلیدباب

        4. آلیس شماره مخفی خود را از هر عدد در بلوک های این پیام رمزگذاری شده مضاعف کم می کند و پیام حاصل را برای باب می فرستد.

        آلیس "لایه" رمز خود را حذف کرده و اکنون نامه خود را برای باب می فرستد که فقط با کلید باب رمزگذاری شده است. که حوا قبلاً دارد! حوا نامه را رمزگشایی می کند و آن را می خواند، و در هر صورت، می تواند کلید آلیس را با استفاده از متن رمزگشایی شده نامه و اولین متن رمزی که رهگیری کرده است، بازیابی کند.

  • دیمیتری

    سلام. مقاله خوبی بود، اما برخی از نکاتی که در بالا توضیح داده شد را نیز متوجه نشدم.
    این انتقال از الگوریتم برای به دست آوردن یک کلید مخفی توسط هر دو طرف (آلیس و باب) است (بدون قرار دادن آنها در دسترسی عمومی) به رمزگذاری نامتقارن.
    شما نوشته اید که پیام در سمت آلیس با کلید عمومی دریافت شده از باب کدگذاری شده است. اما اگر با کلید عمومی رمزگذاری کنیم، حوا به راحتی می تواند آن را دریافت کند و خودش آن را رمزگشایی کند، درست است؟
    هنوز برای من نامشخص است که چگونه با کلید عمومی رمزگذاری کنم و رمزگشایی کنم فقطراز در کنار باب یعنی با کلمه «خانه» رمزگذاری کردند و با کلمه «دنیا» رمزگشایی کردند. برای من، این یک نوع مزخرف است.
    بر اساس این شکاف های آشکار (یا شما یا من) به این نتیجه رسیدم که در اینجا مدار باید پیچیده تر از تصویر باشد. به احتمال زیاد، فلش کلید عمومی باب به آلیس به معنای چیز دیگری است، یعنی کل توالی اقدامات برای به دست آوردن «Y» و «P»، به دست آوردن نتایج میانی و غیره. به عبارت دیگر، من فکر می‌کنم وقتی پیام اصلی با یک کلید عمومی رمزگذاری می‌شود، در واقع با یک کلید عمومی رمزگذاری نمی‌شود، بلکه با یک رمزی رمزگذاری می‌شود که در هر طرف جداگانه محاسبه می‌شود.

    من همچنین یک سوال در مورد رمزگشایی یک پیام دوبار رمزگذاری شده داشتم. برای مثال، اگر رمز سزار را در نظر بگیریم، جایی که هر حرف با حرف دیگری رمزگذاری شده است، مثلاً 3 موقعیت جلوتر. اگر آلیس حرف A را در پیام با حرف B رمزگذاری کند و سپس باب این حرف B را با حرف D رمزگذاری کند، دریافت حرف A از D آسان و به هر ترتیبی خواهد بود. درست است ، این به احتمال زیاد فقط در مواردی کار می کند که هر دو نوع رمزگذاری مخاطب را می دانند و با انواع رمزگذاری نسبتاً ساده (تک الفبایی / چند الفبایی) کار می کنند. من هم در کریپتو تازه کار هستم، پس این IMHO من است ;)

    1. دیمیتری

      فراموش کردم بپرسم
      تفاوت بین روش های متقارن و نامتقارن چیست؟

      1. دیمیتری

        خواندم، کم و بیش به نوعی همه چیز را در ذهنم گروه بندی کردم.
        من به سوالاتی که نوشتم پاسخ خواهم داد، شاید به سایر خوانندگان کمک کنم.
        1. در باره

        شما نوشته اید که پیام در سمت آلیس با کلید عمومی دریافت شده از باب کدگذاری شده است. اما اگر با کلید عمومی رمزگذاری کنیم، حوا به راحتی می تواند آن را دریافت کند و خودش آن را رمزگشایی کند، درست است؟
        همچنین برای من نامشخص بود که چگونه می توان با یک کلید عمومی رمزگذاری کرد و فقط با یک کلید مخفی در سمت باب رمزگشایی کرد. یعنی با کلمه «خانه» رمزگذاری کردند و با کلمه «دنیا» رمزگشایی کردند. برای من، این یک نوع مزخرف است.

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

        3) فرستنده پیام را رمزگذاری می کند
        4) به گیرنده پاس می دهد

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

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

        الگوریتم دافی-هلمن که برای تبادل کلید و رمزگذاری متقارن بیشتر خدمت می کند. یعنی ماهیت آن این است که ابتدا هر دو دریافت می کنند کلید کاملبرای رمزگذاری و رمزگشایی، و سپس رایج ترین رمزگذاری متقارن را آغاز می کنند.

        روش نامتقارن - یک گره تمام اطلاعات را برای رمزگذاری / رمزگشایی دارد و دیگری، به عنوان یک قاعده، فقط برای رمزگذاری

        متقارن - هر دو گره تمام اطلاعات را برای رمزگذاری / رمزگشایی می دانند.

        امیدوارم به کسی کمک کند؛ 3

        1. دیمیتری

          این مقاله به الگوریتم RSA اشاره می کند. الگوریتم رمزگذاری نامتقارنمهر و موم شده است.

        2. دیمیتری امیروفنویسنده

          هوم... تازه متوجه نظرات شما شدم. عذرخواهی من.

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

          • الگوریتم دافی هلمن- الگوریتمی است که به شما امکان می دهد یک کلید مخفی مشترک دریافت کنید و نه بیشتر
          • رمزگذاری نامتقارن/متقارن- در کل حق با شماست
          • RSA- الگوریتمی که ترکیبی از این موارد است. روی انگشتان: با استفاده از رمزگذاری نامتقارن با استفاده از پروتکل Deffi-Helman، یک کلید مخفی ایجاد می شود که با کمک آن پیام های بین طرفین با استفاده از روش رمزگذاری متقارن رمزگذاری می شود.
        3. دیمیتری

          من هنوز این جمله را متوجه نشدم:
          2) کلید عمومی به فرستنده منتقل می شود.
          3) فرستنده پیام را رمزگذاری می کند
          4) به گیرنده پاس می دهد
          5) گیرنده با کلید خصوصی رمزگشایی می کند. این پیام با استفاده از کلید عمومی قابل رمزگشایی نیست.

          به نظر می رسد که شما و کم عمق در نظر از همان ابتدا. ما با کلمه House رمزگذاری می کنیم و با کلمه World رمزگشایی می کنیم. آیا این بدان معناست که الگوریتم دیگری وجود دارد که جهان و خانه را به یکدیگر متصل می کند؟

  • رابرت

    خیلی ممنون!!!

  • رمان

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

    و در ویدیو، من فکر می کنم، بیهوده از این 3 ^ (24 * 54) استفاده می کنند، زیرا اصلاً مشخص نیست که از کجا آمده است، یا توضیح می دهند که این مشروط است.

  • رینسویند

    بابت مقاله از شما متشکرم. همه چیز خیلی واضح توضیح داده شده است.

  • گریگوری

    خوب ، این بی سوادی املایی همه را آزار می دهد - "یک طرفه" ، "کاربردی" ، "طولانی" ، گویی قبلاً در کلاس 5 هستم. و بنابراین، برای درک اصول اولیه بد نیست.

  • گریگوری

    گاهی اوقات سوال ساده است. ویروس های رمزگذاری از یک کلید خصوصی استفاده می کنند. بخور فایل اصلی، یک فایل رمزگذاری شده وجود دارد. وظیفه: برای پیدا کردن یک الگوریتم، برای گفتن، که به دنبال الگوریتمی برای تبدیل فایل اول به فایل دوم است ...

  • آلکسیس

    با تشکر از مقاله واضح و مفید! بالاخره به اصول اولیه رسیدم :).

  • یاروسلاو

    متأسفانه، همه الگوریتم‌های موجود هنوز نیاز به حذف رمزهای موجود در صفی که در آن اعمال شده‌اند، دارند.

    این کاملا درست نیست. مثالی میزنم:
    - فرض کنید که هر حرف مربوط به کد دیجیتال A = 1، B = 2، C = 3، و غیره.
    - فرض کنید که آلیس نامه ای متشکل از یک حرف A برای باب می فرستد (برای ساده کردن مثال).

    آلیس: رمز خود را A + 2 = B تحمیل می کند

    باب: رمز خود را B + 3 = E تحمیل می کند
    باب: نامه ای برای آلیس می فرستد
    آلیس: رمز خود را حذف می کند - 2 = G
    آلیس: نامه ای برای باب می فرستد
    باب: رمز خود را حذف می کند - D - 3 = A

    در اینجا عدد 2 کلید مخفی آلیس و 3 کلید مخفی باب است. علاوه بر این، ممکن است تک شخصیتی نباشد. در اصل، طول آن با هیچ چیز محدود نمی شود.

  • دیمیتری

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

  • کلارکسون

    من مقاله را خواندم و خیلی خوب متوجه نشدم، اگرچه بهتر از ویکی است. اما یک چیز وجود دارد که من نمی فهمم. اگر کسی می تواند درست پاسخ دهد - کمک کنید.

    اگر من برای همه سؤال "2 + 2 چقدر خواهد بود؟" را بفرستم، به من بگویید چگونه پاسخ را برای من رمزگذاری کنم (کلید عمومی را به همه می گویم) و همه پاسخ سؤال را برای من ارسال می کنند ، چگونه می توانم بفهمم دقیقاً از چه کسی منتظر پاسخ هستم، پس از آن کسی که واقعاً می خواستم با او ارتباط برقرار کنم؟

    1. دیمیتری امیروفنویسنده

      شما اینجا سوال را کمی اشتباه مطرح می کنید.

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

      UPD:مقاله ای در مورد آن نوشت، فکر می کنم این پاسخ صحیح به سوال شما باشد.

      1. کلارکسون

        من باید با حماقتم مبارزه کنم. موضوع در نظرات جویده می شود و در مقاله شما به نظر می رسد همه چیز توضیح داده شده است.

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

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

  • beshot

    من چندین بار این مقاله و مقاله های دیگر را در مورد این موضوع دوباره خواندم، الگوریتم استفاده از EDS در ایمیل نامفهوم است. اسناد. اگر، مانند اینجا: https://ru.wikipedia.org/wiki/Electronic_signature، در این صورت اختلاف نظر ایجاد می شود. پس آیا همچنان با کلید خصوصی رمزگذاری می کنیم یا کلید عمومی؟

    1. دیمیتری امیروفنویسنده

      اگر چیزی را امضا کنیم، امضا بر اساس کلید خصوصی ما ایجاد می شود. و گیرنده باید کلید عمومی ما را داشته باشد که با کمک آن بتواند این امضا را رمزگشایی کند.

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

      1. beshot

        دیمیتری، مقاله شما خیلی به من کمک کرد، شما سبک خوبی دارید. اما یک لحظه غیرقابل درک وجود دارد، شما ادعا می کنید که الگوریتم نامتقارن مستلزم وجود دو کلید - عمومی و خصوصی است. یعنی پیام با کلید عمومی رمزگذاری می شود و با کلید خصوصی رمزگشایی می شود و هیچ چیز دیگری.

        شاید در وظیفه اصلی باشد، برای مثال، گیرنده باید پیام رسان را احراز هویت کند.
        سپس من نمی دانم که چگونه این طرح می تواند کمک کند؟

        1. دیمیتری امیروفنویسنده

          یعنی پیام با کلید عمومی رمزگذاری می شود و با کلید خصوصی رمزگشایی می شود و هیچ چیز دیگری.

          کاملا درست نیست. یک پیام با یک کلید رمزگذاری شده و با کلید دیگر رمزگشایی می شود. آن ها رمزگذاری خصوصی و رمزگشایی عمومی کاملاً ممکن است.

          بیایید به یک مثال نگاه کنیم. شما می خواهید برای من یک پیام بفرستید، من می خواهم مطمئن شوم که این شما بودید که آن را برای من ارسال کردید. گام به گام:
          1) پیام را با کلید خصوصی رمزگذاری می کنید
          2) برای من بفرست
          3) من با شما تماس می گیرم و کلید عمومی شما را از شما دریافت می کنم
          4) پیام دریافتی را با کلید عمومی شما رمزگشایی می کنم
          5) اگر پیام رمزگشایی شده بود، این شما بودید که آن را ارسال کردید

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

          1. beshot

            خوب، اما اگر بخواهید پیامی را از چشمان کنجکاو پنهان کنید چه؟

  • آنیا

    عصر بخیر مقاله را دوست داشتم، اما سؤالاتی وجود داشت (حتی چند مورد مشابه در نظرات یافت شد، اما بدون پاسخ).
    اگر در قسمت دوم مقاله همچنان به قیاس با آلیس و باب بپردازیم، به ویژه به اعداد A، B، a، b، P و عدد 9 به دست آمده در مثال، کدام یک از آنها کلید خصوصی و کدام عمومی باشد؟ پیشاپیش از پاسخ شما تشکر میکنم!

    1. آنیا

      مطمئن نیستم نظرم درست شد یا نه :(

    2. دیمیتری امیروفنویسنده

      درست تر است که بگوییم در فرآیند تبادل داده ها، آلیس و باب یک کلید مشترک دریافت می کنند 9 ، که بعداً می تواند برای رمزگذاری پیام های آنها استفاده شود. در واقع، در مقاله من رمزگذاری نامتقارن را توصیف نکردم، بلکه پروتکل تبادل کلید را توضیح دادم که به توسعه رمزگذاری نامتقارن انگیزه داد.
      الگوریتم برای تولید یک جفت کلید خصوصی / عمومی در واقع کمی پیچیده تر است، اگرچه شبیه به الگوریتم بالا است، اما احتمالاً ارزش یک مقاله جداگانه را دارد. در کامنت، من فوراً اینجا را امضا نمی کنم، زیرا می توانم خیلی چیزها را با هم اشتباه بگیرم.

  • گریگوری
  • سیستم های رمزنگاری نامتقارن در دهه 1970 توسعه یافتند. تفاوت اساسی بین یک سیستم رمزگذاری نامتقارن و یک سیستم رمزگذاری متقارن این است که از کلیدهای مختلفی برای رمزگذاری اطلاعات و سپس رمزگشایی آن استفاده می شود:

      کلید عمومی K: برای رمزگذاری اطلاعات، محاسبه شده از کلید خصوصی k استفاده می شود.

      کلید مخفی k: برای رمزگشایی اطلاعات رمزگذاری شده با جفت کلید عمومی آن K استفاده می شود.

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

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

    طرح کلی نامتقارن سیستم های رمزگذاری رمزگذاری

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

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

    فرآیند رمزگذاری و ارسال پیام

    فرآیند انتقال اطلاعات رمزگذاری شده در یک سیستم رمزنگاری نامتقارن به شرح زیر انجام می شود:

    1. مرحله مقدماتی.

    مشترک که دریک جفت کلید تولید می کند: کلید مخفی ک بو کلید عمومی به V. کلید عمومی به Vبرای مشترک ارسال می شود آو سایر مشترکین (یا برای مثال در یک منبع مشترک در دسترس است).

    2. استفاده - تبادل اطلاعات بین مشترکین A و B.

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

    توابع یک طرفه

    الگوریتم های نامتقارن مبتنی بر استفاده از توابع یک طرفه هستند.

    تابع F:X→Yاگر دو شرط زیر وجود داشته باشد یک طرفه نامیده می شود:

      یک الگوریتم کارآمد وجود دارد که محاسبه می کند F(x)برای هرکس ایکسایکس;

      هیچ الگوریتم وارونگی تابع کارآمدی وجود ندارد اف، یعنی الگوریتمی که به شما امکان می دهد مقدار x را با مقدار تعیین کنید F(x).

    "کارآمد" یک الگوریتم چند جمله ای نامیده می شود، به عنوان مثال. الگوریتمی که برای دریافت نتیجه طول ورودی nبیشتر خرج نکن P(n)مراحل که در آن پچند جمله ای است

    هر تابع یک طرفه را نمی توان برای رمزگذاری استفاده کرد. در واقع، اگر متن ساده را تغییر دهیم تیبا عملکرد یک طرفه: c = F (t)، سپس متن دریافتی را رمزگشایی کنید، یعنی از c بازیابی کنید تی، هیچ کس نمی تواند، از جمله گیرنده حق. برای استفاده در رمزنگاری، لازم است که مشکل معکوس کردن تبدیل رمزگذاری (به عنوان مثال، محاسبات) تیتوسط F(t)) در یک زمان معقول قابل حل بود، اما تنها کسی که کلید مخفی را می دانست می توانست این کار را انجام دهد. چنین توابعی را توابع مخفی یک طرفه می نامند.

    یک تابع یک طرفه با یک راز یک تابع است اف ک : ایکسY، بسته به پارامتر کک(این پارامتر یک راز نامیده می شود)، که شرایط زیر برای آن صادق است:

      برای هرچی ککیک الگوریتم کارآمد وجود دارد که محاسبه می کند اف ک (ایکس) برای هرکس ایکسایکس;

      با ناشناخته کهیچ الگوریتم وارونگی تابع کارآمدی وجود ندارد اف ک ;

      با یک شناخته شده کیک الگوریتم کارآمد برای معکوس کردن تابع وجود دارد اف ک .

    الگوریتمRSA

    در یک سیستم رمزنگاری کلید عمومی، هر شرکت کننده هم یک کلید عمومی و هم یک کلید خصوصی دارد. در سیستم رمزنگاری RSA، هر کلید از یک جفت اعداد صحیح تشکیل شده است. هر شرکت کننده به تنهایی کلید عمومی و خصوصی خود را ایجاد می کند. هر یک از آنها کلید خصوصی را مخفی نگه می دارند و کلیدهای عمومی را می توان با هر کسی به اشتراک گذاشت یا حتی منتشر کرد.

    اعداد همزمان اعدادی هستند که مقسوم علیه مشترکی جز 1 ندارند.

    تابع اویلر (پ) از طبیعی پتعداد اعداد کمتر از پو coprime با n(عدد 1 همزمان با هر عددی است).

      اگر پیک عدد اول است، پس (پ) = پ - 1.

      اگر پ- ساده، آ یک عدد طبیعی است، پس (پ آ ) = پ آ - پ آ -1 .

      اگر پو qپس کوپرایم (pq) = (پ) (q)

      تولید کلید طبق الگوریتم زیر انجام می شود:

      1. دو عدد اول بزرگ را انتخاب کنید p, q(امروزه معمولاً اعدادی از 200 تا 400 کاراکتر انتخاب می شوند)

      2. محصول آنها محاسبه می شود n، که نمی توان آن را در یک زمان معقول فاکتور گرفت. این اثر نام دارد مدول

      3 . مقدار تابع اویلر محاسبه می شود

      φ(n) = φ(pq) = (p - 1) (q - 1).

      4. یک عدد صحیح انتخاب شده است ه (1< ه< (n)) ، coprime با مقدار (n) . معمولا به عنوان هگرفتن اعداد اول، حاوی تعداد کمی 1 بیت در نماد دودویی، مانند اعداد اول فرما 17، 257، یا 65537. هتماس گرفت نمایشگاه باز

      5. عدد محاسبه می شود د، ارضای شرط:

      de1(مد(n))

      یا به شکل دیگری:

      de=1+k(n)

      عدد دتوان مخفی نامیده می شود

      6. جفت کردن پ = (ه, n) به عنوان کلید عمومی سیستم RSA منتشر می شود.

      7. جفت کردن اس = (د, n) کلید مخفی RSA نامیده می شود و مخفی نگه داشته می شود.

    1. رمزگذاری پیام

    برای رمزگذاری داده ها با استفاده از یک کلید شناخته شده P = (e, n)، لازم است متن رمزگذاری شده را به دو طرف تقسیم کنیم، که هر یک را می توان به عنوان یک عدد M(i) = 0، 1، ...، n- نمایش داد. 1. علاوه بر این، متن به عنوان دنباله ای از اعداد M(i) که با فرمول زیر تبدیل شده اند رمزگذاری می شود:

    C(i) = M(i)emod(n)

    2. رمزگشایی پیام

    برای رمزگشایی پیام با استفاده از کلید مخفی P=(d,n)، هر عدد از دنباله پیام رمزگذاری شده باید با استفاده از فرمول تبدیل شود:

    M(i) = C(i)dmod(n)

    نتیجه مجموعه ای از اعداد M(i) خواهد بود که متن اصلی است.

    آزاد کردیم کتاب جدید"بازاریابی محتوای رسانه های اجتماعی: چگونه می توانید در ذهن مشترکین قرار بگیرید و آنها را عاشق برند خود کنید."

    اشتراک در

    HTTP همانی است که به شما امکان انتقال داده را می دهد. در ابتدا، برای ارسال و دریافت اسناد حاوی پیوندهای داخل برای انجام انتقال به منابع شخص ثالث ایجاد شد.

    این مخفف به عنوان "پروتکل انتقال ابرمتن" خوانده می شود که به معنای "پروتکل برای انتقال" است. HTTP متعلق به یک گروه است سطح کاربردیبر اساس مشخصات مورد استفاده توسط OSI.

    برای درک بهتر معنای HTTP، بیایید یک تشبیه ساده را در نظر بگیریم. تصور کنید که با یک خارجی در یک شبکه اجتماعی چت می کنید. او برای شما پیامی می فرستد زبان انگلیسی، شما آن را دریافت می کنید. اما شما نمی توانید محتوا را درک کنید زیرا به زبان کافی صحبت نمی کنید. از دیکشنری برای رمزگشایی پیام استفاده کنید. با درک اصل، شما به خارجی به زبان روسی پاسخ می دهید و پاسخ را ارسال می کنید. خارجی پاسخ را دریافت می کند و با کمک یک مترجم پیام را رمزگشایی می کند. برای ساده‌سازی کل مکانیسم، پروتکل‌های اینترنت HTTP عملکرد یک مترجم را انجام می‌دهند. با کمک آنها، مرورگر می تواند محتوای رمزگذاری شده صفحات وب را ترجمه کرده و محتوای آنها را نمایش دهد.

    HTTP برای چیست؟

    پروتکل HTTP برای تبادل اطلاعات استفاده می شود مدل مشتری-سرور. مشتری درخواستی را نوشته و به سرور ارسال می کند، سپس سرور آن را پردازش و تجزیه و تحلیل می کند، پس از آن یک پاسخ ایجاد و برای کاربر ارسال می شود. در پایان این فرآیندمشتری یک دستور جدید می دهد و همه چیز تکرار می شود.

    بنابراین، پروتکل HTTP امکان تبادل اطلاعات بین آنها را فراهم می کند برنامه های کاربردی مختلفکاربران و سرورهای وب خاص و همچنین اتصال به منابع وب (معمولاً مرورگرها). امروزه پروتکل شرح داده شده عملکرد کل شبکه را تضمین می کند. پروتکل انتقال داده HTTP همچنین برای انتقال اطلاعات با استفاده از پروتکل های دیگر برای اطلاعات بیشتر استفاده می شود سطح پایین، مانند WebDAV یا SOAP. در این حالت پروتکل وسیله حمل و نقل است. بسیاری از برنامه ها نیز مبتنی بر استفاده از HTTP به عنوان ابزار اصلی برای تبادل اطلاعات هستند. داده ها در ارائه شده است فرمت های مختلف، مانند JSON یا XML.

    HTTP پروتکلی برای تبادل اطلاعات از طریق اتصال IP/TCP است. به طور معمول، سرور برای این کار از پورت 80 از نوع TCP استفاده می کند. اگر پورت تنظیم نشده باشد، نرم افزارکلاینت به طور پیش فرض از پورت 80 از نوع TCP استفاده می کند. در برخی موارد ممکن است از پورت های دیگری استفاده شود.

    که در پروتکل HTTPیک طرح رمزگذاری متقارن استفاده می شود؛ سیستم های رمزنگاری متقارن در کار آن استفاده می شود. سیستم های رمزنگاری متقارنشامل استفاده از همان کلید برای رمزگذاری و رمزگشایی اطلاعات است.

    تفاوت بین HTTP و HTTPS چیست؟

    تفاوت را می توان حتی از رونوشت اختصارات تشخیص داد. HTTPS مخفف «امنیت پروتکل انتقال ابرمتن» است. بنابراین، HTTP یک پروتکل مستقل است و HTTPS یک افزونه برای محافظت از آن است. HTTP اطلاعات را ناامن منتقل می کند، در حالی که HTTPS ارائه می دهد حفاظت رمزنگاری. این امر به ویژه برای منابعی که دارای مجوز مسئول هستند صادق است. میتونه باشه رسانه های اجتماعییا سایت های سیستم های پرداخت.

    خطر انتقال داده های محافظت نشده چیست؟ برنامه رهگیر می تواند در هر زمان آنها را به مهاجمان منتقل کند. HTTPS دارای یک سازمان فنی پیچیده است که به شما امکان می دهد به طور ایمن از اطلاعات محافظت کنید و امکان دسترسی غیرمجاز به آنها را از بین ببرید. تفاوت در پورت ها نهفته است. HTTPS معمولا روی پورت 443 کار می کند.

    بنابراین، HTTP برای انتقال داده ها استفاده می شود و HTTPS امکان انتقال امن داده ها را با استفاده از رمزگذاری و مجوز در منابع با سطح بالاامنیت.

    عملکرد اضافی

    HTTP از نظر عملکرد غنی است و با برنامه های افزودنی مختلف سازگار است. مشخصات 1.1 که امروزه مورد استفاده قرار می گیرد، امکان استفاده از هدر Upgrade را برای جابجایی و کار از طریق پروتکل های دیگر هنگام تبادل داده ها فراهم می کند. برای این کار کاربر باید با هدر داده شده درخواستی را به سرور ارسال کند. اگر سرور نیاز دارد با استفاده از پروتکل دیگری به یک صرافی خاص سوئیچ کند، درخواستی را به کلاینت برمی‌گرداند که وضعیت "426 ارتقاء لازم است" را نمایش می‌دهد.

    این ویژگی به ویژه برای تبادل اطلاعات از طریق WebSocket مرتبط است (این ویژگی دارای مشخصات RFC 6455 است، به شما امکان می دهد در هر زمان و بدون درخواست های غیر ضروری HTTP، داده ها را مبادله کنید). برای ارتقاء به WebSocket، یک کاربر درخواستی با هدر Upgrade و مقدار "websocket" ارسال می کند. سپس سرور با "101 پروتکل سوئیچینگ" پاسخ می دهد. پس از این مرحله، انتقال اطلاعات از طریق WebSocket آغاز می شود.