تشفير باستخدام المفتاح العام

تشفير حسابي

يعد التشفير من أهم العمليات في الرياضيات وتستخدمه البنوك بكثرة, ويقوم التشفير على أساس اختيار عددين أوليين ثم ضربهماولنفرض أن الناتج=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
التشفير علم واسع ويعتمد على أعداد كبيرة تتكون من أكثر من 200 خانة فلذلك لابد من استخدام جهاز الحاسب وإيجاد برامج تسهل هذا الشيء .
منعت الولايات المتحدة الأمريكية هذه البرامج بزعمها أن العصابات غير القانونية ستتمكن من خرق القانون والتخفي باستعمالها, لكن دائما لكل علم حدان سيء وجيد فلا يمكن إيقاف جميع العلوم.

الأمان

يمكن إثبات سرية بعض طرق التشفير على أساس افتراض صلابة المشاكل الحسابية مثل تحليل حاصل ضرب عددين أوليين كبيرين أو حساب لوغاريتم منفصل.
على عكس طريقة لوحة المرة الواحدة لوحة المرة الواحدة ،لا يوجد طريقة (تشفير باستخدام المفتاح المعلن) آمنة ضد المعتدين الذين بحوزتهم قدرات حسابية خارقة.لذلك اعتبارات الأمن هنا ترجع لافتراض ضعف الإمكانات الحسابية للمعتدين.
الاستخدام الأوضح لطريقة التشفير باستخدام المفتاح المعلن يكمن في سرية الرسالة المشفرة باستخدام المفتاح المعلن للمستقبل, يمكن فقط تشفيرها باستخدام المفتاح السري المقابل.
التوقيع الإلكتروني باستخدام المفتاح المعلن يمكن استخدامه للتأكد من شخصية المرسل. في الواقع, يتم حساب قيمة معينة (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- الاسترجاع من المفتاح المتسرب:
افرض أن المبدأ المركب قد رخص لسحب المفتاح، في أغلب الحالات هذا يحدث بعد حقيقة. على سبيل المثال قد يصبح معروف في وقت ما قبل حدوث حادث ان المفتاح السري عرض للخطر.
الرسالة المرسلة للمستخدم (تتطلب مفتاح خاص لتشفيرها) يجب أن تؤخذ بعين الاعتبار أنها تعرضت للخطر. ولا يوجد طريقة ترسل بها. مثل خطوات الاسترداد هذه ممكن أن تكون معقدة إلى حد بعيد بينما في تقدم النظام سوف تكون معرضة لهجوم الإنكارو أشياء أخرى.