سؤال

مرحبًا يا شباب ، لقد كنت أعمل على مساحة اسم P2P لبعض برامجي. قمت بإنشاء نظام لتشفير/فك تشفير الحزم إرسال/استلام مع الفصل. كنت أستخدم نظام المفتاح الخاص الأساسي الخاص: 1) تشفير البيانات باستخدام التشفير المتماثل 2) تشفير المفتاح المتماثل مع RSA. ثم افعل العكس عندما فك تشفير ..

كنت أتساءل رغم ذلك ، كيف يمكنك التحقق مما إذا كانت الحزمة قادمة من المكان الذي قاله. كنت سأستخدم نظام الشهادات الأساسي (حيث تقوم بتشفيره بمفتاح RSA الخاص ، ثم يقومون بفك تشفيره بمفتاحك العام) ، لكنني لا أعرف كيفية القيام بذلك باستخدام C#. أنا أستخدم فئة RsacryptoserviceProvider.

هل يعرف أحد كيف يفعل هذا؟ شكرا ، ماكس

هل كانت مفيدة؟

المحلول

البروتوكول القياسي لإرسال الحزم بشكل آمن هو SSL/TLS. RFCs ل TLS و DTLSإصلاح لخلل حديث) هي الطريق للذهاب. يجب أن يعتبروا أيضًا موردًا لأولئك الذين يتعلمون ويبحثون عن الأفكار.

يبدو أنك تبحث عن ملف ماك. مجموعة فعالة للغاية من بدائل التشفير التي تؤدي كل من التشفير والتشفير في نفس الوقت هي AEAD الأصفار ، انظر على سبيل المثال CCM و GCM حظر أوضاع الشفرات.

لا أعتقد أن .NET يدعم أي أصفار AEAD. يمكنك أيضًا استخدام الأبطأ ولكن كافية تمامًا HMAC الخوارزمية المدعومة في .NET ، أو يمكنك استخدام مكتبة Bouncycastle C# الذي يدعم أصفاف AEAD.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top