الگوریتم های نامتقارن توصیه شده برای JWT

من تأیید JWT را برای یک سرویس وب جدید اجرا میکنم و مطمئن نیستم که کدام الگوریتم نامتقارن را انتخاب کند. من در اطراف جستجو کرده ام و هیچ توصیه و یا روشنی را پیدا نکرده ام. با توجه به اسناد PyJWT: https://pyjwt.readthedocs.io/en/latest/algorithms.html چند الگوریتم متفاوت برای انتخاب وجود دارد.

من می خواهم از یک الگوریتم که امن (البته) ، سربار کم است و اثبات آینده است. کدام الگوریتم متناسب با لایحه است؟

رمزگذاری – PGP – 2048 بیت کلید VS اندازه فایل از کلید صادر شده است

من رمزنگاری جدید هستم، پس لطفا با من بمانید.

اگر من کلید های 2048 بیتی را ایجاد کنم و کلید امنیتی صادراتی به فایل key.gpg (بدون زره ASCII) بفرستم، یک فایل با اندازه 1.28 کیلوبایت .

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

چگونه می توانم کلید را در شکل خام از صفر و صفر مشاهده کنم؟

تأیید اعتبار – قدرت جفت کلیدی

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

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

برای یک حمله نیروی محرک، من انتظار دارم که هزینه تولید یک جفت کلیدی خیلی بیشتر از تولید رمز عبور باشد، اما مقدار زیادی از آن تفاوت در هزینه اعتبار سنجی جفت کلید در مقایسه با اعتبار گذرواژه؟

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

زیرساخت کلید عمومی – آیا مبادله متقارن کلید از طریق رمزنگاری نامتقارن باید به صورت نامتقارن انجام شود؟

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

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

    آیا این درست است؟

    رمزگذاری – کلید رمزنگاری عمومی / خصوصی برای سیستم های آفلاین

    متخصصان Crypto Hi از هیچ کدام از شیوه های مناسب در جهت توزیع بسته های ecnrypted به سیستم های مختلف کاربر نهایی استفاده می کنند، مخصوصا اگر سیستم پایان نامه آفلاین باشد؟ در چارچوب رمزنگاری assymetric

    آیا باید برای ایجاد مجموعه های منحصر به فرد pub / pt کلید [ per end user system] و چندین بار رمزگشایی یکپارچه با کلید کلیدهای پشته داشته باشیم که در نتیجه یک بسته خاص برای هر کاربر نهایی می شود؟ چگونه این مقیاس

    خواهد بود که یک عمل خوب برای امضای کلیدی خصوصی خصوصی [ corresponding to pub keys used to encrypt the package] با کلیدهای خصوصی فرستندگان است و سپس با استفاده از کلیدهای کلیدهای پایه کاربر سیستم را امضا می کند و به طور مستقیم با کاربر نهایی اشتراک گذاری می کند؟ از طریق ارتباط قابل اعتماد

    یا، رمز کلیدی Pvt را با کلید عمومی عمومی سیستمهای پایانی کاربر رمزگذاری کنید، با کلید خصوصی فرستنده و دوباره رمزگذاری کنید [symmetric] این را با حشری از یک رشته خاص به طور منحصر به فرد برای شناسایی یک سیستم کاربر نهایی؟ این هش باید از لحاظ برنامه نویسی با استفاده از شناسه های منحصر به فرد سیستم در فرآیندهای رمزگشایی، قابل بازیابی باشد. به این ترتیب، برای بازگرداندن کلید خصوصی اصلی برای رمزگشایی بسته، برای هرکدام از کلیدهای مربوط به ارقام [end user clients] و همچنین دستگاه کاربر نهایی [the hash of string to be generated at runtime on end user system.] و کلید عمومی فرستنده برای مدیریت صحت، نیاز است

    متشکرم بازخورد!