باید یک کلید مشترک 256 بیتی را به 100 یا 1000 گره توزیع کنم (کلید عمومی هر گره را دارم).
هیچ شبکه ای درگیر نیست – همه اینها با بارگذاری یک فایل واحد روی هر گره انجام می شود. این پرونده توسط یک "استاد" تولید می شود.
در بعضی موارد ، گره ها از کلیدهای RSA 2048 بیتی استفاده می کنند ، و برخی دیگر کلید eliptic Curve p521 است.
ایده ایجاد یک خط برای هر گره در پرونده توزیع شده ، کلید مشترک را رمزگذاری می کند.
اگر گره از EC استفاده می کند ، از EC عمومی گره و کلیدهای خصوصی EC استاد برای تولید یک کلید متقارن استفاده می شود که برای رمزگذاری کلید مشترک استفاده می شود. کلید به اشتراک گذاشته شده رمزگذاری شده و امضای تولید شده توسط استاد در یک خط در پرونده ذخیره می شوند.
سپس گره از طریق هر خط در پرونده حلقه می شود ، از کلید EC عمومی استاد و کلید EC خصوصی خود استفاده می کند تا همان کلید متقارن را تولید کند ، داده ها را رمزگشایی کرده و سپس امضا را بررسی کنید. اگر صحیح باشد ، آن کلید مشترک است.
اگر گره از RSA استفاده می کند ، کلید مشترک با کلید RSA عمومی گره رمزگذاری می شود ، و یک امضای تولید شده توسط استاد و هر دو در یک خط در پرونده ذخیره می شوند.
سپس گره از طریق هر خط در پرونده حلقه می شود ، از کلید RSA مخصوص آن برای رمزگشایی داده ها استفاده می کند ، سپس امضا را بررسی می کند. اگر صحیح باشد ، این کلید مشترک است.
نگرانی من این است که دانستن اینکه یک قطعه از داده های رمزگذاری شده با 1000 کلید مختلف ، به مهاجمان یک مزیت مهم برای گرفتن یک کلید خصوصی می دهد؟