ما هو التشفير من طرف لطرف End-to-end encryption الذي ترونه عند استعمال الواتس أو الماسنجر؟ ولماذا يقتضي منع مقدمي الخدمة أنفسهم -كالواتسآب أو التلغرام- من الوصول للمحادثة؟

يعتمد هذا التشفير على أساسات كثيرة، أولها التعمية المتناظرة Symmetric-key cryptography، وهنا عندنا خوارزميات AES (Advanced Encryption Standard) التي تستخدم المفتاح ذاته للتشفير ولفضّ التشفير. تشتغل AES على 128 بِتْ مع حجوم للمفاتيح من 128 و192 و256 بت.

ولكنَّ التعمية غير المتناظرة Asymmetric أكثر تقدما، ومن أشهر خوارزمياتها RSA المسمَّاة على أسماء ثلاثة علماء تشفير، وECC (Elliptic Curve Cryptography)، هذه الخوارزميات تستعمل زوجا من المفاتيح — مفتاح عام للتشفير ومفتاح خاص لفضّ التشفير

إذن فكل مستخدم يولد زوجا من المفاتيح، المفتاح العام تجري مشاركته مع الطرف الثاني في حين يبقى المفتاح الخاص معروفا لصاحبه فحسب، وعملية توليد المفتاح تتضمن اختيارا للمعاملات تختلف باختلاف الخوارزمية المستعملة، ففي RSA: يجري توليد عددَيْن أوليَّيْن كبيريْن جدا p وq، وبحساب المودولاس
n = pq
واختيار أسّ التشفير e مع
φ(n) = (p-1)(q-1)
كعددين أوليين فيما بينهما فإن أسّ فضّ التشفير d يجري حسابه كمعاكس ضربي نمطي Modular Multiplicative Inverse ل
e modulo φ(n)

ولإنشاء نظام آمن للتشفير المتناظر يجري المستخدمون بروتوكولا لتبادل المفاتيح، كDiffie-Hellman:

1. يتفق قيس وليلى على عدد أولي p ومولِّد g
2. تختار ليلى رقما سريا a، تحسب A = g^a mod p، وترسل A لقيس.
3. يختار قيس رقما سريا b، يحسب B = g^b mod p، ويرسل B لليلى.
4. تحسب ليلى السر المشترك s = B^a mod p
5. يحسبه قيس كذلك، s = A^b mod p

والآن لدى كل من قيس وليلى نفس السر المشترك
s = g^(ab) mod p
والذي لا يمكن لأي طرف دخيل يعرف A وB فحسب أن يحسبه.

يتبع...