# تعمية بمفتاح عام
## الوصف

استعمَلت أنظمة التعمية قبل منتصف سبعينات القرن العشرين خوارزميات التعمية المتناظرة، وفيها يستعمل مُرسِل البيانات ومستقبلها مفتاح التعمية نفسه للتعمية وفك التعمية على الترتيب، مع ضرورة أن يظل المفتاح سرياً. تطلَّب استعمال هذه الأنظمة تبادُل المفتاح بطريقة آمنة قبل البدء بتعمية البيانات، عبر قناة آمنة مثلاً. توفر هذا المتطلب جعل تأمين هذه الأنظمة صعباً، خاصة عندما يكون عدد المشتركين كبيراً أو عندما لا تتوفر القناة الآمنة. ويزداد الأمر صعوبة عندما يتغير المفتاح بصفة دورية. أما في أنظمة التعمية بالمفتاح العام، فإن لكل مستخدم مفتاحان، أحدهما عام لا يُشاركه مع الجميع، والآخر خاص يحتفظ به لنفسه.
للتعمية بالمفتاح المشترك تطبيقان معروفان:
* تعمية البيانات، وهي تهدف للحفاظ على سرية البيانات. وفيها يُعمِّي مرسل البيانات بمفتاح المُستقبِل العام، فلا يمكن بعدها قراءة الرسالة إلا باستعمال الزوج الآخر من المفاتيح، وهو مفتاح المُستقبل الخاص، ويُفترض أنه بحوزة المستقبل وحده، أي أنه الوحيد القادر على قراءة الرسالة المعماة.
* التوقيع الرقمي، وهي تعدف للتأكد من أصالة مُرسِل البيانات. وفيها يُوقِّع مُرسِل البيانات الرسالة بمفتاحه الخاص، ويمكن بعدها للجميع التأكد من أنه المُوقِّع باستعمال مفتاح المُرسِل الخاص الذي شاركه مع الجميع مسبقاً.
التأكد من مصداقية حامل المفتاح العام، أو المصادقة عليه ببساطة، هي مسألة تبلغ من الأهمية الغاية في هذا النوع من الأنظمة. فقد يُستبدَل هذا المفتاح بمفتاح آخر تزرعه جهة خبيثة لغرض انتهاك سرية البيانات. لذلك يحتاج استعمال المفاتيح العامة إلى بنية تحتية للمفاتيح العامة، وهي طرف ثالث مُستقِل عن المرسِل والمستقبِل، يُعرَف أيضاً باسم هيئة استصدار الشهادات، يُؤكِّد ملكية الأطراف لأزواج المفاتيح. تعتمد العديد من بروتوكولات الشبكة، مثل بروتوكول طبقة المقابس الآمنة، على هذه البنية التي تشمل معدات وبرمجيات وتحتاج لإدارة ونظام أمن صارم.

## تعمية حسابية

تعد التعمية من أهم العمليات في الرياضيات وتستخدمه البنوك بكثرة، وتقوم على أساس اختيار عددين أوليين ثم ضربهماولنفرض أن الناتج=x ثم إيجاد حاصل ضرب العدد الأول -1 ضرب العدد الثاني -1 =A ثم إيجاد عدد y لا يكون بينه وبين (A) عامل مشترك ومنه نوجد عدد(g) يكون حاصل ضربه ب (y) متكافئ مع 1mod(A و يعلن صاحب الشفرة للناس العدد x والعدد y
وإذا أراد شخص كتابة نص معمى فيمكن ذلك عن طريق رفع العدد m (وهو العدد الذي يريد أن يعميه) إلى الأس A يساوي f ويوجد f mod n يساوي c ثم يعطي صاحب النص المعمى العدد c صاحب النص المعمى يرفع العدد c للأس g يساوي L ثم يوجد L mod x فيعطيه العدد m

## الأمان

يمكن إثبات سرية بعض طرق التعمية على أساس افتراض صلابة المشاكل الحسابية مثل تحليل حاصل ضرب عددين أوليين كبيرين أو حساب لوغاريتم منفصل.
على عكس طريقة لوحة المرة الواحدة لوحة المرة الواحدة ،لا يوجد طريقة (تعمية باستخدام المفتاح العام) آمنة ضد المعتدين الذين بحوزتهم قدرات حسابية خارقة.لذلك اعتبارات الأمن هنا ترجع لافتراض ضعف الإمكانات الحسابية للمعتدين.
الاستخدام الأوضح لطريقة التعمية باستخدام المفتاح العام يكمن في سرية الرسالة المشفرة باستخدام المفتاح العام للمستقبل، يمكن فقط تعمية ها باستخدام المفتاح السري المقابل.
التوقيع الإلكتروني باستخدام المفتاح العام يمكن استخدامه للتأكد من شخصية المرسل. في الواقع، يتم حساب قيمة معينة (hash value) للرسالة ويتم تعمية ها باستخدام المفتاح السري مع القيمة المحسوبة (Cryptographic Hash Value).
يمكن للمستقبل الـتأكد من هذه الرسالة عن طريق حساب القيمة الحسابية لهذه الرسالة ومقارنتها مع القيمة الحسابية المرفقة بالرسالة إذا تطابقت القيم الحسابية للطرفين يمكن التأكد من الرسالة والتأكد من أنه لم يعبث بها.
لتحقيق الأصالة وعدم التنكر والسرية، يمكن للمرسل تعمية الرسالة باستخدام مفتاحه السري ثم تعمية الرسالة باستخدام المفتاح العام للمستقبل.
هذه الخصائص مفيدة في العديد من التطبيقات مثل الأموال الإلكترونية، اتفاقيات مفتاح متعدد الأطراف واتفاقيات تأكيد صحة كلمة السر.

## الحساب الحقيقي – مفتاحان متصلان ببعضهما

ليست كل الحسابات عن طريق المفاتيح غير المتماثلة تعمل بهذه الطريقة بشكل دقيق. الأكثر لهم خاصية وجود مفتاحين لكل من Alice و Bob. واحد للتعمية وآخر لفك التعمية. في التعمية عن طريق المفاتيح الغير متماثلة لكي يكون التعمية آمناً لابد أن يكون المفتاح العام غير مستنتج من المفتاح السري. هذه معروفة كتعمية عن طريق المفتاح العام. مفتاح التعمية ممكن أن يكون منشوراً من غير خوف التعرض لأمان الرسالة.
في هذا القياس الذي سبق Bob يجب عليه أن ينشر التعليمات حول كيفية القفل(المفتاح العام)، لكن هذا القفل من غير الممكن استنتاجه من التعليمات حول الكيفية لجعل المفتاح يفتح القفل.
هم يرغبون بإرسال الرسالة ل Bob باستخدام المفتاح العام للتعمية و Bob يستخدم المفتاح السري لفك التعمية.
يمكن استخدام هذا الزوج من المفاتيح (العام والسري) بشكل معاكس: استخدام المفتاح السري في التعمية والمفتاح العام لفك التعمية. هذا يستخدم في التطبيقات التي تحتاج دليل على مصداقية الرسالة وأنها مصدقة وموقعة من عند المرسل كي لا يستطيع إنكار إرسال الرسالة.
نقاط الضعف: بالطبع هناك إمكانية أن أحد الأشخاص يلتقط القفل ل Alice و Bob. في التعمية عن طريق المفاتيح المتماثلة : فقط (One Time Pad) من الممكن أن يكون مثبت ليكون آمناً تجاه أي عدو. لا يوجد طريقة لكيفية حساب القوة المتاحة. لسوء الحظ لا يوجد مفتاح عام على هذا القدر من السرية، كل المفاتيح العامة معرضة لهجوم القوة الوحشية (Brute Force Attack). كل هذه الأنواع من الهجوم غير ممارسة إذا كانت كمية الحساب تتجاوز عامل العمل (Work Factor) م الذي أشار إليه Shannon. عامل العمل من الممكن أن يزاد ببساطة باختيار مفتاح أكبر. أنواع أخرى من الهجوم من الممكن أن تكون أكثر كفاءة وبعضها معروفة للتعمية باستخدام المفتاح العام.
كلا من ال RSA وتعمية ال Elgamal يتعرضان لأنواع معروفة من الهجوم أسرع من هجوم القوة الوحشية. مثل تقديرات التغير في قدرة وقوة الحاسبات والاكتشافات الرياضية الجديدة.
في الحياة العملية هذا الجانب الغير أمان ممكن أن يكون متجنب بواسطة اختيار حجم مفتاح أكبر بما فيه الكفاية، وبذلك أفضل هجوم معروف سوف يأخذ وقت طويل بحيث أن الوقت أو المال المستخدم من قبل العدويتتعدى القيمة المستفادة من النص المكسور.
على سبيل المثال تقديرات بأن الوقت سيأخذه فك التعمية ألف سنة لفك اللازم لك تعمية معلومات بطاة ائتمان هو الف عام. هنا أمان كافٍ. لأن الوقت المحتاج لفك التعمية أكبر من الوقت الذي يمكن الاستفادة منه. إذ أنه بعد سنوات قليلة ستنتهي صلاحية البطاقة. عادة حجم المفتاح بحاجة ليكون أكبر في التعمية عن طريق المفتاح العام منه في الشفير عن طريق استخدام المفاتيح المتماثلة.
بجانب القوة لزوج معين من المفاتيح الأمان يجب أن يكون مأخوذاً بعين الاعتبار عند نشر نظام المفاتيح العامة. سلطة الشهادات تؤكد صلاحية أي زوج من المفاتيح وصحة استخدامها.
الشهادات الرقمية للمفتاح العام هي صالحة لسنوات عديدة، لذا المفاتيح السرية المربوطة معها يجب أن تحمل بأمان على فترة طويلة.
عند تعرض مفتاح خاص بالسلطة للانكشاف، جميع أزواج المفاتيح تكون غير جديرة بالسلطة ويفترض أنها تعرضت للانكشاف ويعاد إصدارها من جديد.
شيفرة المفتاح العابر(Transient Key Cryptography) أنظمة تكون مستخدمة في بعض الأوقات لعنونة هذه الإصدارات. تحت نظام المفتاح العابر، الزوج من المفاتيح لRSA معين لفترة قصيرة من الوقت بدلاً من أن يكون دائما لأفراد أو شركات. المفاتح السري في المفتاح العابر شرعي لدقائق قليلة قبل أن يستبدل بمفتاح خاص جديد. في نظام المفتاح العابر لا يوجد أمان لفترة طويلة ولا يوجد نقاط ضعف وسقوط لكل سلسلة المفاتيح.
نقاط ضعف رئيسية ممكن توجد على الحساب باستخدام المفاتيح غير المتماثلة. الحساب عن طريق حزمة الحقائب(Knapsack Packing (Algorithm يكون موجود كطريقة غيرآمانه عند وجود هجوم جديد.
أخيراً بعض الهجومات مبنية على قياسات حذرة لكمية الوقت، تأخذ قطع معروفة لتعمية النص المستخدم لتبسيط البحث لمفاتيح فك التعمية.
استخدام الحساب عن طريق المفاتيح غير المتماثلة لا يؤكد وجود الأمان. هو مجال لتفعيل البحث للاكتشاف والحماية من هجومات جديدة.
تعرض آخر للأمان عند استخدام المفاتيح الغير متماثلة هو إمكانية هجوم الرجل في المنتصف (Man in the middle attack) حيث التواصل للمفاتيح العامة مشفر باستخدام وسيط ثالث ويمد الطرفين بمفاتيح عامة مختلفة وبديلة. الرسالة المشفرة والرد عليها يجب أن يكون محتجز أيضاً. فك التعمية وإعادة التعمية بواسطة المهاجم باستخدام المفتاح العام الصحيح لمختلف أجزاء التواصل في جميع الحالات لتجنب الشك.
هذا الهجوم ربما يظهر أنه يصعب تطبيقه، لكن هو ممكن عند استخدام وسيط نقل غير آمن.
مثل شبكة عامة كالإنترنت أو التواصل اللاسلكي. الشخص الماكر (malicious Member) عند وصل خدمة الإنترنت ISP عند Alice و Bob ربما يجد ذلك سهلاً.
طريقة واحدة لمنع مثل هذه الهجمات هو استخدام شهادات السلطة(Certificate authority)، وسيط ثالث مسؤول عن التأكد والتثبت من هوية المستخدم للنظام وإصدار الشهادة الرقمية التي تعين المفتاح العام ينتمي لشخص معين أو شركة. هذه الطريقة أيضاً لها نقاط ضعف. على سبيل المثال شهادة السلطة يجب أن تكون موثوقة لتتأكد من هوية حامل المفتاح والمفتاح الصحيح عند إصدار الشهادة. المهاجم الذي بإمكانه استبدال شهادة السلطة بشهادة بمفتاح عام مزيف، ثم استخدام الهجوم المتوسط بسهولة إذا كانت الشهادة غير مستخدمة. وعلى الرغم من مشاكلها هي مستخدمة بشكل كبير. مثلSSL وTLS في إرسال معلومات بطاقة الائتمان للسوق.
ربط المفتاح العام مع هويات الأشخاص: الربط بين المفتاح العام والمالك يجب أن يكون صحيح خشية أن حساب الاقتران يكون غير آمن في الممارسة والعمل. مع أكثر طرق التعمية الاتفاقية المستخدمة للتأسيس والتثبت هذا الربط يكون مهم. ربط المفتاح العام مع المالك له قيمة بواسطة تطبيق اتفاقيات البنية التحتية للمفتاح العام. هذه تسمح أن يكون الربط متثبت منه رسمياً بواسطة شريك ثالث. إما في شكل سلطة أو شهادة سلطة مثل X.509.
الربط بين المفتاح العام والمالك طريقة جوهرية للتاكد من صحة زوج المفاتيح.
العلاقة بحوادث العالم الحقيقي: المفتاح العام معروف لكثير من الناس في الواقع لمجموعة غير معروفة من المستخدمين. كل الحوادث التي تتطلب تبديل المفتاح العام ممكن أن تأخذ وقت كبير لتأخذ تأثير كامل مع كل الأشخاص المخبرين (الأشخاص العارفين للمفتاح) لهذا السبب النظام يجب أن يتفاعل مع الحوادث في الوقت الحقيقي. يجب عدم استخدام التعمية باستخدام المفتاح العام من غير أخذ عناية عظمى.
أربع نتائج للاهتمام:
1- صلاحية سحب المفتاح: السحب الماكر لبعض أو كل المفاتيح في النظام ممكن أن يسبب الفشل للنظام، إذا كان المفتاح العام ممكن أن يسحب فردياً. بينما يوجد تصميم يمكن أن يقلل حدوث ذلك في الحياة العملية.
على سبيل المثال ممكن أن نحدث ما يسمى بالمبدأ المركب (Compound principle) بمعنى أن Bob أو Alice أو كلاهما بإمكانهم سحب المفتاح ولكن ليس بإمكان أحدهم سحب المفتاح على انفراد. لكن هذا يسبب مشكلة التعويل على الطرف الآخر.
من وجهة نظر الأمان هناك نقطة وحيدة لفشل نظام سحب المفتاح العام.هجوم الإنكار إما ل Alice أو Bob أو كلاهما سوف يشكل عقبة في السحب. في الحقيقة أي انقسام بين Bob و Alice سوف يكون مؤثراً بغض النظر كيف أتى.
لأن المبدأ يملك صلاحية سحب المفتاح يكون قوي جداً. الميكانيكية المستخدمة للتحكم تشمل جميع الشركاء للحماية من الهجوم الماكر من هذا النوع. بينما في نفس الوقت ممكن التأكد أن المفتاح يمكن أن يسحب من غير تأخر خطير. شهادات المفتاح العام تشمل تاريخ انتهاء غير مرضي ربما لا يكون منطبق على حاجة السحب. لكن على الأقل مثل هذه الشهادات لا تحتاج أن كل المستخدمين متصلين بالنظام طوال الوقت.
2- توزيع المفتاح الجديد: بعد سحب المفتاح أو إضافة مستخدم جديد للنظام، المفتاح الجديد يجب أن يوزع بطريقة محددة مسبقاً.افترض أن مفتاح كارول سُحب. حتى توزيع المفتاح الجديد، كارول خارج التواصل. لا أحد يستطيع إرسال رسالة من غير التعدي على اتفاقية النظام (أي من غير المفاتح العام الشرعي) ولا أحد يستطيع تعمية الرسالة لها، والرسالة منها لا يمكن أن تكون موقعة منها لنفس السبب.
في تعبير آخر جزء من النظام المتحكم بواسطة كارول أساساً غير متاح.
هناك أحد قادر على إصدار المفاتيح كما أنه قادر على سحبها من المستخدمين. PGP فعلت هذا. لكن نشأت مشاكل فهم للمستخدم. لأسباب أمنية: هذه الطريقة مأخوذ بعين الاعتبار أنها صعبة. إذا لم يحصل شيء آخر، سوف يكون بعض المستخدمين كثير النسيان والاضطراب. من ناحية أخرى سحب شهادة المفتاح العام يجب أن ينتشر بأقصى سرعة ممكنة. من ناحية أخرى جزء من النظام سوف يكون متعذر عن العمل قبل دخول المفتاح الجديد. الوقت ممكن أن يخفض للصفر بواسطة إصدار المفتاح الجديد مع الشهادة التي تسحب المفتاح القديم. لكن هذا يتطلب كلاَ من صلاحية السحب وإصدار المفاتيح الجديدة. سقوط النظام إذا كان المبدأ يصدر مفاتيح جديدة تسقط بواسطة إصدار مفاتيح خاطئة وغير مناسبة.
3- نشر عملية السحب: سحب شهادة المفتاح يجب أن تنشر لكل من المحتمل أن يحملها وبأقصى سرعة ممكنة. هناك طريقتان لنشر عملية السحب (على سبيل المثال سحب المفتاح هنا) في النظام الموزع: المعلومات تدفع للمستخدم من النقطة المركزية أو تسحب من النقطة المركزية.
دفع المعلومات هو الحل الأبسط في الرسائل التي ترسل لكل المشتركين بينما لا يوجد طريقة لمعرفة أن كل المشتركين فعلياً استلموا الرسالة. إذا كان عدد المشتركين كبير ومسافة الشبكة كبيرة، تصبح احتمالية النجاح ضعيفة. في حالة التحديث الجزئي النظام يكون معرضاً لهجوم الإنكار. في تعبير آخر دفع رسالة سحب الشهادة ليس بالأمر السهل، لكي يكون آمناً ومعولاً عليه.
البديل للدفع هو السحب. كل الشهادات تحتوي على المفاتيح المحتاجة للتثبت أن المفتاح العام بقي شرعياً. في هذه الحالة على الأقل بعض مستخدمي النظام سوف يكونون محتجزين إذا كان المستخدم لم يستطع الوصول لخدمة التثبت.
إتجاه آخر للاستخدام أقل جدارة ولكن أكثر أماناً، هي خدمة التثبت لكن تشمل تاريخ انتهاء لكل مصدر تثبت.
4- الاسترجاع من المفتاح المتسرب: افرض أن المبدأ المركب قد رخص لسحب المفتاح، في أغلب الحالات هذا يحدث بعد حقيقة. على سبيل المثال قد يصبح معروف في وقت ما قبل حدوث حادث ان المفتاح السري عرض للخطر.
الرسالة المرسلة للمستخدم (تتطلب مفتاح خاص لتعمية ها) يجب أن تؤخذ بعين الاعتبار أنها تعرضت للخطر. ولا يوجد طريقة ترسل بها. مثل خطوات الاسترداد هذه ممكن أن تكون معقدة إلى حد بعيد بينما في تقدم النظام سوف تكون معرضة لهجوم الإنكارو أشياء أخرى.

## الاستخدام

تستخدم الشهادة (الوثيقة) في نطاق واسع في التعمية بواسطة المفناح العام. تبادل المفتاح السري بين المستخدمين يصبح غير عملي من ناحية الكفاءة والسرعة إلا في حالة الشبكات الصغيرة. التعمية بواسطة المفتاح العام يوفر حلا لهذه المشكلة. فمثلا إذا أرادتAlice أن يرسلو رسائل سرية لها، فما عليها إلا أن تنشر مفتاحها العام، أي أحد يعرف مفتاحها العام بإمكانه إرسال الرسائل السرية لها. لسوء الحظ يمكن مثلا لDaviad أن ينشر مفتاحا عاما وأن يزعم انه المفتاح العام لAlice لذا يمكن لDaviad أن يقرأ على الأقل بعض الرسائل التي من المفروض أن تكون لAlice.
لكن إذا قامتAlice بناء مفتاحها العام في وثيقة وقامت بوضع توقيعها الإلكتروني(Digital signature) عن طريق طرف ثالث موثوق به أي أحد يثق بهذا الطرف الثالث بمجرد أن يتفحص الوثيقة أن المفتاح العام هو لAlice. الطرف الثالث ممكن أن يكون أحد المستخدمين حيث عن طريقه المستخدمين ا لآخرين يتأكدون أن المفتاح العام المعين هو لذلك الشخص المحدد أو المطلوب. على مستوى عال من الانتشار ممكن أن تكون لAlice على غير علم نوثيقة Bob المصدقة (من الممكن ان يكون لكل واحد وثيقة مصدقة مختلفة عن الآخر ’إذا كان الاثنان يستخدمون الوثيقة المصدقة للموظفين، أكثر من موظف يمكن ان ينتج هذه النتائج). إذا ممكن لشهادة Bob أن تحتوي على المفتاح العام لذوي المستوى الأعلى، الذي هو مسجل من قبلAlice. هذه العملية تنسب لهيكلية الشهادة ولعلاقة معقدة من الطرف الثالث. الأساس الذي يقوم عليه المفتاح العام هو البرنامج الذي يستخدمه المدير. مثلا فيX.So9PKI، هيكلة الوثيقة دائما من الأعلى إلى الأسفل، تتركز الوثيقة في الأعلى.
يمكن ان تسحب الوثيقة إذا تبين ان المفتاح السري قد اكتشف، وان العلاقة بين الوحدة والمفتاح العام المتبقية في الوثيقة اكتشفت انها غير صحيحة أو قد تغيرت، هذه ممكن ان تحصل حيث انه يمكن للشخص ان يغير كلمة أو اسمه أو الإلغاء. يمكن ان يكون نادرا حدوثة، ولكن طالما ان الشهادة موثوق بها إذا يجب تفقدها دائما ويجب تغيرها في حالة تغير أي معلومة، حتى تكون صحيحة، وهذه قد تكون عن طريق (CRL). Certificate Revocation List. وهي عبارة عم الشهادات والوثائق التي قد ابطلت. وحتى تكون فعالة يجب أن تكون مهنية لأي شخص يريدها وان نغيرها باستمرار. هناك طريقة أخرى للتأكد من صحة هذه اوثيقة عن طريقOnline Certificate Status Protocal(OCSP) لمعرفة حالة هذه الشهادة. كل من هاتين الطريثتين يتوفران عن طريقXKMS هذه المعاير اظهرت انتشارا واسعا.
الوثيقة عادة تحتوي على :
1-المفتاح العام (العام المحدد) 2-الاسم، المنسوب لشخص، جهاز حاسوب، مؤسسة. 3-فترة الصلاحية 4-العنوانURL 5-التوقيع الإلكتروني للوثيقة.
من أكثر معاير الوثائق انتشار هوITU-TX.509. X.509 زودت للإنترنت عن طريق IETF-PKIX
أمثلة:
* Diffie – Hellman key exchange protocol.
* DSS (digital signature standard)) التي تنشئ التوقيع الرقمي
* Elgamal
* مختلف تقنيات المنحنيات الإهليلجية
* Password authenticated key agreement technique
* Paillier crypto system
* RSA encryption Algorithm(PKCS)
* Cramer Shoup encryption
أمثلة على حساب المفتاح غير المتماثل غير الآمن: Merkle – Hellman the 'knapsak' algorithm
أمثلة على اتفاقيات تستخدم الحساب عن طريق المفاتيح غير المتماثلة:
* GPG
* IKE
* LAVA Bit
* PGP
* SSL now implemented as an IETF standard TLS
* SILC

## مراجع

* ↑ "Asymmetric encryption". IONOS Digitalguide (بالإنجليزية). Archived from the original on 2024-03-13. Retrieved 2022-06-02.
* ↑ Mihir، Bellare؛ Goldwasser، Shafi. "Chapter 10: Digital signatures" (PDF). Lecture Notes on Cryptography. مؤرشف من الأصل (PDF) في 2024-09-28.
* بوابة إنترنت
* بوابة تعمية
* بوابة رياضيات
* بوابة علم الحاسوب