نظرًا لأن التشفير المتماثل أسرع بكثير ، يمكنك أولاً إنشاء مفتاح سري ونقله عبر خط مضمون بواسطة تشفير المفتاح العام. الآن يمكن لجميع الاتصالات المستقبلية استخدام المفتاح السري.
الفرق بين التشفير والتشفير
التشفير هل دراسة تحويل النص العادي (تنسيق قابل للقراءة) إلى نص مشفر (تنسيق غير قابل للقراءة).ه. التشفير. ويسمى أيضا دراسة التشفير. علم التشفير, من ناحية أخرى ، هي دراسة تحويل النص العادي إلى النص المشفر والعكس صحيح. ويسمى أيضا دراسة التشفير وفك التشفير. أحد الاختلافات الرئيسية هو أن علم التشفير هو والد التشفير. دعونا نرى الاختلافات الأخرى.
SL. لا.
التشفير
علم التشفير
1.
التشفير هو عملية تحويل النص العادي إلى نص تشفير.
علم التشفير هو عملية تحويل النص العادي إلى نص مشفر والعكس صحيح.
2.
ويسمى أيضًا دراسة التشفير
ويطلق عليه أيضًا دراسة التشفير والتشفير.
3.
يحدث على جانب المرسل
يتم على جانب المرسل وجانب المتلقي
4.
في التشفير ، يرسل المرسل الرسالة إلى جهاز الاستقبال.
في علم التشفير ، يرسل كل من المرسل والمستقبل رسائل إلى بعضهما البعض.
5.
يمكن اعتبار التشفير على أنه طفل في علم التشفير.
يمكن اعتبار علم التشفير الوالد للتشفير
6.
يتناول التشفير تقنيات التواصل الآمن.
تتعامل التشفير مع دراسة التواصل الآمن.
7.
يركز التشفير على ممارسة إخفاء المعلومات
يركز التشفير على الجوانب النظرية والرياضية لأمن المعلومات
تتضمن التشفير تطبيقات مثل التحليل التشفير ، وكسر الكود ، والتحليل الرياضي لطرق التشفير.
آخر تحديث: 09 مارس ، 2023
مثل المادة
علم التشفير
هذه الملاحظات بمثابة مقدمة للتشفير وليس منهجًا كاملاً لتجعلك خبيرًا مرخصًا لتنفيذ الأصفار أو التجزئة أو التوقيعات أو أي شيء من هذا القبيل في أي تطبيق حقيقي. بالتأكيد ، من الجيد أن نلعب في المنزل ، ولكن لا تحاول أبدًا تنفيذ إجراءات تشفير للعميل أو شركتك الخاصة. اترك الأمر للمحترفين. هناك مكتبات جيدة هناك. استخدمهم.
ومع ذلك ، يجب عليك دائمًا التحقق ، وتسأل ، ما إذا كانت المكتبة التي تستخدمها تستخدم خوارزمية لم يتم تكسيرها بعد ، ولها طول مفتاح كافٍ.
لقد كان هذا إعلانًا مهمًا للخدمة العامة.
خلفية
من المعتاد التحدث عن Crypto في بيئة مع عدد قليل من الشخصيات المسمى Alice (The Sender) و Bob (The Receiver) و Eve (taveddropper) و Mallroy (ممثل ضار قوي).
يمكن أن تكون Alice and Bob أشخاصًا وعملاء وخوادم وأجهزة كمبيوتر الأقران ومخازن البيانات وأجهزة توجيه الشبكات وما إلى ذلك. يمكن أن تلاحظ حواء التواصل. لا يمكن لـ Mallory التنصت فحسب ، بل أيضًا محاكاة ساخرة لأحد المشاركين ، إضافة أو تعديل أو حذف الرسائل الفعلية ، واختطاف الاتصال ، والقيام برفض الخدمة ، أو حقن البرامج الضارة ، وما إلى ذلك.
الأهداف:
: يجب أن تكلف عشية أكثر لاسترداد $ m $ من $ m $ يستحق.
: يجب أن يكون بوب قادرًا على التحقق من أن أليس هي التي أرسلت $ m $.
: يجب أن يكون بوب قادرًا على التحقق من أن $ m $ لم يتم العبث به.
: لا ينبغي أن تكون أليس قادرة على رفض إرسال $ m $.
إذا تعرضت خوارزميةك السرية للخطر (يمكن لشخص ما مغادرة مجموعتك) ، فيجب عليك تغييرها ، وهذا أمر أصعب من مجرد تغيير المفتاح!
يمكن أن تخضع الخوارزميات العامة لآلاف الخبراء الذين يبحثون عن عيوب ، لذلك لديك درجة من الثقة في أولئك الذين يقاومون التدقيق.
تعريفات
الكلمات التي يجب معرفتها: تشفير الفن وعلم تحضير الأصفار. تحليل Cryptanalys كسر الأصفار ، أنا.ه., استخراج $ m $ إعطاء $ c $ ، $ e $ ، $ d $ ، وربما $ k_e $. علم التشفير دراسة التشفير والتشفير.
يمارس: تعرف على Steganography. كيف يختلف عن التشفير?
Cryptosystem مجموعة معينة من الخوارزميات والبروتوكولات للتشفير ، فك التشفير ، وتوليد المفاتيح. أمثلة: نظام تشفير cramer——cramer ، نظام تشفير رابين ، نظام تشفير benaloh ، نظام التشفير RSA. نظام التشفير أي نظام يستخدم التشفير. تشفير خوارزمية تستخدم في نظام تشفير.
يمارس: كيف يختلف “رمز” عن “تشفير”? هل الرموز أكثر أمانًا من الأصفار? لماذا لا يستخدمون كثيرًا?
الارتباك خاصية وجود علاقة بين النص العادي ، النص المشفر ، والمفتاح معقد للغاية بحيث تكون عديمة الفائدة بالنسبة للمحلل المشفرة. نشر خاصية وجود أنماط إحصائية في النص العادي تنتشر على نطاق واسع في جميع أنحاء النص المشفر.
الجداول الزمنية
مقالة تاريخ ويكيبيديا للتشفير
الجدول الزمني لـ Wikipedia
الجدول الزمني لكارل إليسون
أنواع الأصفار
: تشفير سهل بما يكفي ليتم القيام به باليد ، وعادة ما يعتمد على الشخصية. أيضا يسمى .
: إلى حد كبير أي تشفير غير كلاسيكي.
: يتم استبدال كل حرف من النص العادي بواحدة أو أكثر لصنع النص المشفر.
: يتم إعادة ترتيب الأحرف في النص العادي لتشكيل النص المشفر.
: تشفير استبدال يتم استبدال حرف النص العادي دائمًا بنفس الشخصية.
: تشفير بديل يستخدم بشكل أساسي تعيينات متعددة أحادية الباطن.
: استبدال يمكن له من شخصية واحدة أن يرسمه إلى أحد الشخصيات.
: استبدال كتل الشخصيات لكتل الشخصيات.
: تشفير polyalphabetic الذي يتكرر فيه مخطط الاستبدال.
: توضيح ذاتي إذا فهمت الدورية.
: تشفير لا يحدث لكل حرف ولكن لكل كتل من الأحرف.
: تشفير يعمل على دفق بيانات بطول غير معروف ، وعادة ما يتضمن ردود الفعل.
: تشفير يكون فيه $ k_e $ و $ k_d $ متماثلًا أو مشتقًا من بعضهما البعض ؛ يتطلب من الأطراف الاجتماع سراً لتبادل المفاتيح التي سيستخدمونها. أيضا يسمى .
: مخطط يكون فيه مفتاح تشفير الجميع معروفًا للجمهور ولكن مفتاح فك التشفير الخاص بهم سرية. أيضا يسمى .
الأصفار ممتعة للدراسة ، لكنها تختلف على نطاق واسع من حيث فائدتها في الأمن. واحدة من أكبر عيوب الأمن في النظام هي إساءة استخدام التشفير. هذا صحيح: المشكلة هي إساءة استخدامها ، وليس إغفالها!
لمجرد أن الشفرات مدرجة في هذه الصفحة لا يعني أنه يجب عليك استخدامه. هدفنا هو تعلم مجموعة واسعة من الأصفار ، التاريخية والحديثة سواء.
تشفير المفتاح السري
إذا احتاج الأشخاص $ n $ في مجموعة إلى التواصل ، فهم بحاجة إلى مفاتيح $ \ frac $.
يجب توزيع المفاتيح بشكل آمن (سراً).
يجب أن تبقى المفاتيح آمنة.
يجب تغيير المفاتيح بشكل متكرر ، والتي تغذي صداع التوزيع.
في الأمثلة المستندة إلى الشخصية أدناه ، سنفترض (دون أي فقدان عام) أبجدية رمز 26 (أ..ض).
قيصر الشفرات
تشفير مثير للشفقة وغير آمن تمامًا بالمعايير الحديثة. مفتاح التشفير $ k_e $ هو عدد صحيح صغير و $ k_d = k_e $. لتشفير ، أضف $ k_e $ إلى كل حرف نص عادي ؛ لفك تشفير ، اطرح. على سبيل المثال ، مع k = 5 ، يصبح الهجوم fyyfhpfyifbs تافهة لتكسير: فقط تخمين $ k_e $.
الاستبدال أحادي المفاتيح
بدلاً من مجرد إضافة إزاحة ثابتة إلى كل حرف ، يمكنك أن تسبق أويل أ جدول الاستبدال من خلال توليد تقليب عشوائي من الأبجدية الخاصة بك. على سبيل المثال:
لذا فإن الهجوم الآن هو mnnmhrmnpmdb . أنت لا تكسر هذا عن طريق تخمين المفتاح (هناك $ n!مفاتيح محتملة $) ، ولكن تحليل التردد يمكن أن يكسر أي تشفير أحادي الفوضى ، شريطة أن تكون الرسالة طويلة بما يكفي. للتقنيات التي يكون مفتاحها عبارة. على سبيل المثال ، يعد التحسين المبكرة هو جذر جميع الشر يعطي هذا الخرائط البديل:
prematuoiznshflvbcdgjkqwxy
الاستبدال المتجانس
يقوم كل حرف نص عادي بتعيين رمز واحد أو أكثر في النص المشفر. يجب أن يكون عدد الأهداف يتناسب مع تردده (لهزيمة تحليل التردد). مثال:
A 12 15 36 50 56 70 81 95 B 51 84 C 16 44 65 D 04 06 48 82 E 01 17 19 34 47 49 58 60 67 77 85 90 F 13 27 G 09 28 H 26 42 53 59 68 71 I 35 73 76 86 91 96 J 18 K 07 L 29 40 54 87 M 25 30 N 21 61 62 69 74 94 O 02 03 08 10 57 75 93 P 41 98 T 00 20 23 33 46 52 72 78 88 U 11 64 66 V 37 W 63 92 X 31 Y 24 55 Z 05
لتشفير ، اختر بشكل عشوائي من بين الاحتمالات. على سبيل المثال ، تشفير واحد محتمل للهجوم هو:
56 78 20 95 65 07 12 72 06 50 92 61
Vigenère البسيطة
لا تم اختراع الشفرات المعروفة باسم The Vigenère على الإطلاق. يبدو أنه قد وصفه جيوفان باتيستا بيلاسو لأول مرة. المفتاح عبارة عن سلسلة تضيفها إلى النص العادي مع إضافة معيارية ، كما هو الحال في هذا المثال (a = 0 ، b = 1 ، c = 2, . z = 25):
نص عادي: TakeacopyofyourpolicytonormawiLcoxonthirdfloor المفتاح: quarkquarkquarkquarkquarkquarkquarkquarkaar ciphertext:
لإنشاء نص مشفر باليد ، يمكنك استخدام عجلة رمز أو مستقيم Tabula. هذا المخطط غير آمن منذ أن يتكرر المفتاح. إذا كان من الممكن تحديد طول المفتاح ، يمكن للمحلل المشفرة إجراء تحليلات تردد متعددة (واحدة لكل قيمة تحول في المفتاح). طرق تحديد طول المفتاح هي طريقة Kaisiski واختبار فريدمان. للبيانات الثنائية (أنا.ه., سلسلة من البتات) قاعدة الإضافة المعيارية هي مجرد XOR بسيطة. مثال:
النص العادي: 011000010101010011111111111110101010100000000111111101 المفتاح: 000001110011100100111000001110010111001110 CipherTex
Auto-Key Vigenère
قام Vigenère بالفعل بإنشاء مشفر تلقائي وهو أقوى لأن المفتاح لا يتكرر أبدًا. بدلاً من ذلك ، يتكون “المفتاح” من عبارة المفاتيح تليها النص العادي ، مثل هذا:
نص عادي: takeacopyofyourpolicytonormawilcoxonthithirdfloor المفتاح: QuarktakeAcopyofyourpolicytonormawilcoxonthethird ciphertex
هذا واحد استخدم النص العادي كجزء من المفتاح. يمكنك أيضًا استخدام النص المشفر. أنظر كيف?
أصفاف السيارات الحديثة
لا يزال بإمكانك كسر أصفاف Vigenère من خلال التحليل اللغوي ، لأن المفتاح يحتوي على نص وبالتالي من المحتمل أن يكون له رسائل عالية التردد. تولد أصفاف المفتاح التلقائي الحديثة قيم التحول مع مولد أرقام عشوائية. البذور الرئيسية المولد.
يمارس: تنفيذ تشفير تلقائي في لغة البرمجة التي تختارها.
لوحة وقت واحد
طالما أو أطول من الرسالة التي يتم تشفيرها
تم إنشاؤه عشوائيًا حقًا
يستخدم مرة واحدة وفقط مرة واحدة
يمارس: لماذا لا تستخدم منصات مرة واحدة شائعة الاستخدام ، إذن ، بالنظر إلى أنها أكثر الأصفار آمنة ممكنة?
اللعب بالنار
هذا مثال على أ . يحل محل أزواج الشخصيات. المفتاح هو التقليب , على سبيل المثال:
Z C B M L G D A Q E T U O K H F S X V N P I Y R W
دع $ (a ، b) $ يكون الصف وعمود الحرف الأول و $ (c ، d) $ يكون الصف وعمود الثاني.
إذا كان $ a \ neq c $ و $ b \ neq d $ ثم إرجاع $ (a ، d) (b ، c) $.
إذا كان $ a = c $ ثم إرجاع $ (a ، (b+1) \ bmod 5) (c ، (d+1) \ bmod 5) $.
إذا كان $ b = d $ ثم إرجاع $ ((a+1) \ bmod 5 ، b) ((c+1) \ bmod 5 ، d) $.
ثم الهجوم من الشرق ⇒ th en في xt ac kf ro mt he xe as tx ⇒ ut hw go db db tv yk zk nh na dx of ⇒ uthwgofodbtvvykzknadxof
يعمل فك التشفير على تشغيل القواعد في الاتجاه المعاكس. مشفر Playfair غير آمن جدًا.
أربعة مربع
تشفير digraphs مثل playfair ، ولكن أقوى قليلاً لأنها تسمح بأحرف مزدوجة ولا تسفر عن digraphs ciphertex. مثال
A
ثم الهجوم من الشرق ⇒ th en في ta ck fr om ee as tx ⇒ ni vl ev fm mo bv df ni ma vv nx
حسنًا ، أقوى قليلاً من Playfair ولكن ماذا في ذلك? يمكن لأجهزة الكمبيوتر أن تكسر هذه الأشياء في ثوانٍ ، أو ربما دقائق (مع ما يكفي من النص المشفر).
تبديل كتلة بسيطة
إن أبسط تشفير تبديل يمنح الرسالة إلى كتل بحجم $ n $ ، ثم يزعج كل كتلة وفقًا للتقليب (1..ن) $. على سبيل المثال ، إذا كان مفتاحنا هو $ (4،1،6،3،2،5) $ ، يتم تشفير رسالة GetThathealthInspect .
تبديل عمودي
اكتب صف الرسائل حسب الصف في شبكة ، ثم اقرأه في الأعمدة. غير آمن تماما. المفتاح هو مجرد عدد الصفوف. خمن ذلك.
سياج السكة الحديدية
سياج السكك الحديدية ليس أفضل من الأخير ، فقط أكثر متعة. المفتاح هو عدد القضبان التي تكتب عليها النص العادي بطريقة صعوداً وهبوطاً ، مما يولد النص المشفر عن طريق قراءة سكة حديد في وقت واحد. مثال: لتشفير “املأ وتقديم نموذج WS2475” على 4 قضبان:
F T L 4 M I U A I E 2 7 R L O N F A S 5 O L D W
ثم قرأت النص المشفر “ftl4miuaie27rlonfas5oldwf” . هذا تافهة للكسر. فقط تخمين $ k $.
الجمع بين الاستبدال والتحول
النقل وحده ضعيف للغاية ؛ الاستبدال وحده ضعيف للغاية. الجمع بينهم أفضل. يمكنك مزج الكثير من أصفاف الاستبدال الكلاسيكي مع عمليات نقل مختلفة ، أو استخدام بعض الأصفار المزيجة مثل bifid. أيضا ، معظم آلات الدوار الشهيرة والأصفار الحديثة تستخدم هذا المزيج. في الواقع يطبقون هذه التحولات عدة مرات.
أشرم
هذا يحل محل الرسائل مع إحداثياتها في شبكة ويقوم بإجراء تبديل عمودي على الإحداثيات. مثال:
Z C B M L G D A Q E T U O K H F S X V N P I Y R W
اكتب إحداثيات (الصف ، العمود) تحت كل حرف من النص العادي (هـ.ز., “A” في الصف 1 ، العمود 2 ؛ “T” في الصف 2 ، العمود 0 ، إلخ.):
HoughtAtdawn 122102121143 200213201244
ثم اقرأ في الصفوف ، مجموعة من Twos وابحث عن رسائل النص المشفر:
122102121143200213201244 a u b a d r t b q t a w
ثلاثي
مثل bifid ، ولكن على المكعب. مثال:
Z C B M L F V N P G D A Q E X I R W T U O K H S . ي
لتشفير ، اكتب الإحداثيات أولاً:
هجوم 000001000022 122102121110 200210201221
000001000022122112121110200210201221 Z C Z O S F H Q V I N .
لغز
لن يتم تشفير أي رسالة لنفسها
تعني التعادل الذاتي أن هناك إمكانيات أقل
كان من السهل حقًا العثور على أسرة. بدأت معظم الرسائل بتقرير الطقس.
في وقت مبكر ، ظهرت مفاتيح الرسائل مرتين على التوالي.
طرق التشفير الحديثة
تعمل على سلاسل البت ، وليس سلاسل الشخصيات
حريصون على إخفاء الأنماط والتكرار في النص العادي
يستخدم عشوائي مفاتيح (يمكن إعادة استخدامها أيضًا)
تأكد من أن التغييرات الطفيفة للغاية في النص العادي تؤثر على جزء كبير من النص المشفر (والعكس صحيح). وهذا ما يسمى تأثير الانهيار.
فعال
مستحمل للخطأ
البنك المركزي الأوروبي – دفتر الكود الإلكتروني
CBC – Cipher Block Clinking
CFB – ردود الفعل المشفر
OFB – ردود الفعل الإخراج
CTR – العداد
قبل الميلاد – كتلة التسلسل
PCBC – نشر كتلة التشفير
CBCC – كتلة تشفير التسلسل مع checksum
des
فكرة
RC4
RC6
السمك
سمكتان
AES
في ويكيبيديا AES هو المعيار الجديد ، لتحل محل des. كان الفائز بالمسابقة (في عام 2001) ، حيث تم تقديمه تحت اسم Rijndael ، وفاز على RC6 ، والثعبان ، والمريخ ، و Twofish.
التبادل الرئيسي
أظهر Diffie و Hellman (الفائزين بجائزة Turing 2015) وصديقهما Merkle في عام 1976 أنه من الممكن لشخصين أن يتبادلوا مفتاحًا سريًا دون الاضطرار إلى الالتقاء فعليًا سراً:
تقوم أليس باختيار $ $ n $ وترسل هذا الأمر إلى BOB CLEAR
تقوم أليس باختيار الجذر البدائي mod $ n $ (كيفية العثور) ، ودعا $ g $ ، وترسل هذا الأمر إلى bob clear
تقوم أليس باختيار عدد صحيح سري $ a $ ، وترسل $ g^a \ bmod n $ في واضح إلى بوب
بوب يختار عددًا صحيحًا سريًا $ b $ ، ويرسل $ g^b \ bmod n $ في واضح إلى أليس
Alice Computes ($ g^b \ bmod n)^a \ bmod n $ و bob computes ($ g^a \ bmod n)^b \ bmod n $. هذا هو المفتاح! (إنه $ g^ \ bmod n $)
من المحتمل أن يكون هذا آمنًا ، شريطة أن يكون $ n $ كبيرًا جدًا و $ \ frac $ هو أيضًا Prime ، لأنه على الرغم من أن Eve تعرف $ g $ ، و $ n $ ، و $ g^a \ bmod n $ ، و $ g^b \ bmod n $ ، هناك لا توجد طريقة فعالة معروفة للحصول على $ A $ أو $ B $ من هذه. هذه هي مشكلة اللوغاريتم المنفصلة ، تذكر? مثال مع $ $ n $:
Alice تختار $ n = 208799 $ و $ g = 13 $ وترسلها إلى بوب
Alice تختار $ A = 152335 $ و BOB يختار $ B = 98113 $
أليس يرسل بوب $ 13^ \ BMOD 208799 = 73033 $
بوب يرسل alice $ 13^ \ BMOD 208799 = 147540 $
أليس يحسب 147540 دولارًا^ \ BMOD 208799 = 8435 $
بوب يحسب 73033 دولار^ \ BMOD 208799 = 8435 $
المفتاح السري هو 8435 دولار.
لا تفعل ذلك بالفعل بقيم صغيرة من $ n $. بشكل عام ، ما لم تحصل على نوع من الشهادات ، لا تحاول تأمين أي أنظمة حقيقية بمفردك. لكن بالطبع المضي قدمًا وتعلم الخوارزميات وممارسة الترميز في الوقت الحالي.
تشفير المفتاح العام
تحل أصفاف المفتاح العمومي كابوس الإدارة الرئيسية للأصفار السرية الرئيسية ، على حساب السرعة. في مجموعة من $ n $ people ، يحتاج المرء فقط إلى مفاتيح عامة دولار ومفاتيح $ n $ الخاصة.
RSA Cryptosystem
يولد اثنين من الأعداد الأولية ، $ p $ و $ Q $.
تختار قيمة $ e $ prime نسبيًا إلى $ (p-1) (Q-1) $.
ينشر مفتاحه العام $ (n ، e) $ حيث $ n = pq $.
يحسب $ d $ = عكسي معياري بقيمة $ e $ نسبة إلى $ (p-1) (Q-1) $ ، مع إبقائها سرية.
يدمر $ p $ و $ Q $.
لكي ترسل Alice رسالة $ m $ إلى BOB ، ترسل $ c = m^e \ bmod n $.
Bob يفكّر هذا بسهولة لأن $ M = C^d \ bmod n $.
يمارس: البحث في الرياضيات وراء RSA. لماذا تعمل بالتفصيل? سوف تستفيد إجابتك من النظريات الكامنة وراء وظيفة Totient Euler ؛ تأكد من إظهار كيف ينخفض إلى $ (p-1) (Q-1) $ عندما يكون $ pq $ prime ، من بين أشياء أخرى.
يمارس: يعتبر Diffie-Hellman (DH) في بعض الأحيان جزءًا من التشفير الرئيسي للمفتاح ، على الرغم من أنه يتعامل مع التبادل الرئيسي وليس في حد ذاته خوارزمية تشفير. لماذا ، إذن ، يعتبره بعض الناس مفتاحًا عامًا? (الإجابة على هذا يتطلب بعض الأبحاث.)
للحصول على مثال تافهة ، فقط حتى تتمكن من رؤية الرياضيات أثناء العمل ، دعنا نفعل RSA بمفاتيح 32 بت:
هذا المثال هو للتوضيح فقط. لا تنفذ أبدًا خوارزمية التشفير الخاصة بك. تأكد أيضًا. يجب أن تحتوي المفاتيح الحقيقية على آلاف البتات.
أولاً ، ننشئ اثنين من الأعداد الأولية عشوائية 16 بت (16 لأن هذا هو نصف حجم المفتاح ، وهو 32): $ \ start P = 36469 \\ Q = 50929 \ End$ قم بإنشاء برئي n = pq = 1857329701 \\ d = \ mathsf (e ، (p-1) (q-1)) = 39569516a9 \\ \ end$ دعنا نتشفير السلسلة ¿dónde está ud.? . هنا في UTF-8:
C2 BF 44 C3 B3 6E 64 65 20 65 73 74 C3 A1 20 75 64 2E 3F
نريد تقسيم رسالتنا إلى كتل. حجم الكتلة الموصى به هو $ \ lfloor \ frac \ rfloor $. نظرًا لأننا نقوم بعمل RSA-32 (مفاتيح 32 بت) ، نريد $ \ lfloor \ frac \ rfloor $ ، أو 3. لذلك دعونا نجمع بايتنا في كتل من ثلاثة:
C2BF44 C3B36E 646520 657374 C3A120 75642E 3F0202
02 02 في النهاية هو حشو PKCS#7 لجعل الرسالة مضاعفة من 3 بايت. في عشري ، كتلنا هي 12762948 ، 12825454 ، 6579488 ، 6648692 ، 12820768 ، 7693358 ، 4129282. الآن دعنا نطبق وظيفة التشفير على كل :: $ 12762948^ \ BMOD 1857329701 = 1674934738 $ $ 12825454^ \ BMOD 1857329701 = 920121142 $ $ 6579488^ \ BMOD 1857329701 = 703310795 $ $ 6648692^ \ BMOD 1857329701 = 1740932196 $ $ 12820768^ \ BMOD 1857329701 = 512101030 $ $ 76933358^ \ BMOD 1857329701 = 1327283085 $ $ 4129282^ \ BMOD 1857329701 = 1468977038 $ هذا هو النص المشفر في العشري ، وهو 1674934738 ، 920121142 ، 703310795 ، 1740932196 ، 512101030 ، 1327283085 ، 1468977038 إلى decrypt: $ 1674934738 $ 920121142^ \ BMOD 1857329701 = 12825454 $ $ 703310795^ \ BMOD 1857329701 = 6579488 $ $ 1740932196^ \ BMOD 1857329701 = 6648692 $ $ 512101030^ \ BMOD 1857329701 = 12820768 $ $ 1327283085^ \ BMOD 1857329701 = 7693358 $ $ 1468977038^ \ BMOD 1857329701 = 4129282 $ نحصل على الرسالة الأصلية مرة أخرى! من أجل المتعة ، انظر كيف تم إنشاء المثال أعلاه.
نظرًا لأن التشفير المتماثل أسرع بكثير ، يمكنك أولاً إنشاء مفتاح سري ونقله عبر خط مضمون بواسطة تشفير المفتاح العام. الآن يمكن لجميع الاتصالات المستقبلية استخدام المفتاح السري.
يمارس: لماذا سيكون من الخطأ استخدام حجم كتلة 4 بايت في المثال أعلاه?
تجزئة التشفير
ابحث عن رسالة تجدد قيمة معينة ()
ابحث عن رسالتين تجزئان بنفس القيمة ()
من الناحية الرياضية ، تنتج وظيفة تجزئة التشفير $ h $ تجزئة من رسالة ، $ h (m) = c $ ، بحيث لا يمكن تحديد $ m $ بكفاءة من $ c $ ، ولا يمكن للمرء العثور على $ m_1 \ neq m_2 $ مثل $ h (m_1) = h (m_2) $,
عادةً ما يتسبب تغيير جزء واحد فقط في الرسالة في أن يبدو Digest مختلفًا تمامًا ومختلفًا تمامًا.
$ cat will هذه إرادتي. أترك 1000 دولار لأليس وكل شيء آخر لبوب. وقعت ، حواء. $ md5sum سوف C18FEB890752C9E680C99D1E909FD761 WILL $ sed "s/1/9/g" سوف$ cat will هذه إرادتي. أترك 9000 دولار لأليس وكل شيء آخر لبوب. وقعت ، حواء. $ md5sum سوف 85570BC2D0458B1F98F484261DEE7D4D WILL
يوفر التجزئة الآمنة طريقة لتحديد ما إذا كانت الرسالة تم العبث بها. انظر دليل ستيف فريدل المصور لتجزئة cryptpgraphic.
رموز مصادقة الرسائل
هذه تشبه تجزئة التشفير إلا أنها تستخدم مفتاحًا سريًا ، في حين أن التجزئة استخدم فقط الرسالة نفسها. $ \ Mathit(M ، K) = C $
Macs مقابل. تجزئة في stackoverflow
التوقيعات الرقمية في ويكبيديا
Macs في ويكيبيديا
التوقيعات الرقمية
كيف يمكن أن تتأكد من أن الرسالة جاءت من أليس وليس شخصًا آخر? بقلم أليس التوقيع هو – هي؛ هكذا. في الممارسة العملية ، عادة ما يوقع أحد التجزئة ، وليس الرسالة بأكملها .
RSA للتوقيعات الرقمية
لكي ترسل أليس رسالة إلى بوب,
تقوم أليس بتشفير م مع مفتاحها الخاص
أليس تشفير مع مفتاح بوب العام
يقوم بوب بفك تشفير مفتاحه الخاص
يقوم بوب بفك تشفير مفتاح أليس العام
DSA
التحليل التشفير
تحليل التردد
هجوم معروف في النص العادي
هجوم مشفر معروف
هجوم النص العادي المختار
هجوم رئيسي مختار
تحليل خطي
تحليل التشفير التفاضلي
سرقة
الرشوة
ابتزاز
يمارس: قم ببعض الدراسة الذاتية على التحليل المشفرة أو ابحث عن دورة ممتعة عبر الإنترنت.
أمثلة البرمجة
هيه ، لن نوضح كيفية لفها. سننظر في بعض مكتبات exsiting الفعلية.
هل تقوم بنقل البيانات عبر شبكة IP?
بالنسبة لأجزاء أخرى من التطبيق الذي يحتاج إلى تشفير ، اقرأ على.
أمثلة JavaScript
بنيت في الوحدة النمطية: تشفير العقدة .
أمثلة بيثون
أمثلة جافا
المرجع: Java Cryptography Architecture (JCA)
أفضل الممارسات الأمنية لـ Crytpo
من أي وقت مضى من أي وقت مضى من أي وقت مضى من أي وقت مضى لفة الخاصة بك
استخدم مكتبة تم اختبارها جيدًا محدثة ، وتنظر إليها من قبل الخبراء ، واعتبرها آمنة في الوقت الحالي
لا تستخدم خوارزمية تم تصدعها
لا تستخدم خوارزمية يمكن تصدعها نظريًا
لا تستخدم خوارزمية لها عيب قابل للاستغلال
استخدم النوع الصحيح من الخوارزمية لاحتياجاتك ، هـ.ز., يجب أن يكون تجزئة كلمة المرور بطيئة ، لذا استخدم شيئًا مثل bcrypt.
استخدم أحجام المفاتيح التي تكون طويلة بما يكفي
إذا تخزين كلمة مرور التجزئة ، فاستخدم الملح دائمًا
أمثلة التشفير
VPN 0 Comments
أمثلة التشفير
الفرق بين التشفير والتشفير
التشفير هل دراسة تحويل النص العادي (تنسيق قابل للقراءة) إلى نص مشفر (تنسيق غير قابل للقراءة).ه. التشفير. ويسمى أيضا دراسة التشفير. علم التشفير, من ناحية أخرى ، هي دراسة تحويل النص العادي إلى النص المشفر والعكس صحيح. ويسمى أيضا دراسة التشفير وفك التشفير. أحد الاختلافات الرئيسية هو أن علم التشفير هو والد التشفير. دعونا نرى الاختلافات الأخرى.
آخر تحديث: 09 مارس ، 2023
مثل المادة
علم التشفير
هذه الملاحظات بمثابة مقدمة للتشفير وليس منهجًا كاملاً لتجعلك خبيرًا مرخصًا لتنفيذ الأصفار أو التجزئة أو التوقيعات أو أي شيء من هذا القبيل في أي تطبيق حقيقي. بالتأكيد ، من الجيد أن نلعب في المنزل ، ولكن لا تحاول أبدًا تنفيذ إجراءات تشفير للعميل أو شركتك الخاصة. اترك الأمر للمحترفين. هناك مكتبات جيدة هناك. استخدمهم.
ومع ذلك ، يجب عليك دائمًا التحقق ، وتسأل ، ما إذا كانت المكتبة التي تستخدمها تستخدم خوارزمية لم يتم تكسيرها بعد ، ولها طول مفتاح كافٍ.
لقد كان هذا إعلانًا مهمًا للخدمة العامة.
خلفية
من المعتاد التحدث عن Crypto في بيئة مع عدد قليل من الشخصيات المسمى Alice (The Sender) و Bob (The Receiver) و Eve (taveddropper) و Mallroy (ممثل ضار قوي).
يمكن أن تكون Alice and Bob أشخاصًا وعملاء وخوادم وأجهزة كمبيوتر الأقران ومخازن البيانات وأجهزة توجيه الشبكات وما إلى ذلك. يمكن أن تلاحظ حواء التواصل. لا يمكن لـ Mallory التنصت فحسب ، بل أيضًا محاكاة ساخرة لأحد المشاركين ، إضافة أو تعديل أو حذف الرسائل الفعلية ، واختطاف الاتصال ، والقيام برفض الخدمة ، أو حقن البرامج الضارة ، وما إلى ذلك.
الأهداف:
تعريفات
الكلمات التي يجب معرفتها: تشفير الفن وعلم تحضير الأصفار. تحليل Cryptanalys كسر الأصفار ، أنا.ه., استخراج $ m $ إعطاء $ c $ ، $ e $ ، $ d $ ، وربما $ k_e $. علم التشفير دراسة التشفير والتشفير.
يمارس: تعرف على Steganography. كيف يختلف عن التشفير?
Cryptosystem مجموعة معينة من الخوارزميات والبروتوكولات للتشفير ، فك التشفير ، وتوليد المفاتيح. أمثلة: نظام تشفير cramer——cramer ، نظام تشفير رابين ، نظام تشفير benaloh ، نظام التشفير RSA. نظام التشفير أي نظام يستخدم التشفير. تشفير خوارزمية تستخدم في نظام تشفير.
يمارس: كيف يختلف “رمز” عن “تشفير”? هل الرموز أكثر أمانًا من الأصفار? لماذا لا يستخدمون كثيرًا?
الارتباك خاصية وجود علاقة بين النص العادي ، النص المشفر ، والمفتاح معقد للغاية بحيث تكون عديمة الفائدة بالنسبة للمحلل المشفرة. نشر خاصية وجود أنماط إحصائية في النص العادي تنتشر على نطاق واسع في جميع أنحاء النص المشفر.
الجداول الزمنية
أنواع الأصفار
الأصفار ممتعة للدراسة ، لكنها تختلف على نطاق واسع من حيث فائدتها في الأمن. واحدة من أكبر عيوب الأمن في النظام هي إساءة استخدام التشفير. هذا صحيح: المشكلة هي إساءة استخدامها ، وليس إغفالها!
لمجرد أن الشفرات مدرجة في هذه الصفحة لا يعني أنه يجب عليك استخدامه. هدفنا هو تعلم مجموعة واسعة من الأصفار ، التاريخية والحديثة سواء.
تشفير المفتاح السري
في الأمثلة المستندة إلى الشخصية أدناه ، سنفترض (دون أي فقدان عام) أبجدية رمز 26 (أ..ض).
قيصر الشفرات
تشفير مثير للشفقة وغير آمن تمامًا بالمعايير الحديثة. مفتاح التشفير $ k_e $ هو عدد صحيح صغير و $ k_d = k_e $. لتشفير ، أضف $ k_e $ إلى كل حرف نص عادي ؛ لفك تشفير ، اطرح. على سبيل المثال ، مع k = 5 ، يصبح الهجوم fyyfhpfyifbs تافهة لتكسير: فقط تخمين $ k_e $.
الاستبدال أحادي المفاتيح
بدلاً من مجرد إضافة إزاحة ثابتة إلى كل حرف ، يمكنك أن تسبق أويل أ جدول الاستبدال من خلال توليد تقليب عشوائي من الأبجدية الخاصة بك. على سبيل المثال:
لذا فإن الهجوم الآن هو mnnmhrmnpmdb . أنت لا تكسر هذا عن طريق تخمين المفتاح (هناك $ n!مفاتيح محتملة $) ، ولكن تحليل التردد يمكن أن يكسر أي تشفير أحادي الفوضى ، شريطة أن تكون الرسالة طويلة بما يكفي. للتقنيات التي يكون مفتاحها عبارة. على سبيل المثال ، يعد التحسين المبكرة هو جذر جميع الشر يعطي هذا الخرائط البديل:
الاستبدال المتجانس
يقوم كل حرف نص عادي بتعيين رمز واحد أو أكثر في النص المشفر. يجب أن يكون عدد الأهداف يتناسب مع تردده (لهزيمة تحليل التردد). مثال:
لتشفير ، اختر بشكل عشوائي من بين الاحتمالات. على سبيل المثال ، تشفير واحد محتمل للهجوم هو:
Vigenère البسيطة
لا تم اختراع الشفرات المعروفة باسم The Vigenère على الإطلاق. يبدو أنه قد وصفه جيوفان باتيستا بيلاسو لأول مرة. المفتاح عبارة عن سلسلة تضيفها إلى النص العادي مع إضافة معيارية ، كما هو الحال في هذا المثال (a = 0 ، b = 1 ، c = 2, . z = 25):
لإنشاء نص مشفر باليد ، يمكنك استخدام عجلة رمز أو مستقيم Tabula. هذا المخطط غير آمن منذ أن يتكرر المفتاح. إذا كان من الممكن تحديد طول المفتاح ، يمكن للمحلل المشفرة إجراء تحليلات تردد متعددة (واحدة لكل قيمة تحول في المفتاح). طرق تحديد طول المفتاح هي طريقة Kaisiski واختبار فريدمان. للبيانات الثنائية (أنا.ه., سلسلة من البتات) قاعدة الإضافة المعيارية هي مجرد XOR بسيطة. مثال:
Auto-Key Vigenère
قام Vigenère بالفعل بإنشاء مشفر تلقائي وهو أقوى لأن المفتاح لا يتكرر أبدًا. بدلاً من ذلك ، يتكون “المفتاح” من عبارة المفاتيح تليها النص العادي ، مثل هذا:
هذا واحد استخدم النص العادي كجزء من المفتاح. يمكنك أيضًا استخدام النص المشفر. أنظر كيف?
أصفاف السيارات الحديثة
لا يزال بإمكانك كسر أصفاف Vigenère من خلال التحليل اللغوي ، لأن المفتاح يحتوي على نص وبالتالي من المحتمل أن يكون له رسائل عالية التردد. تولد أصفاف المفتاح التلقائي الحديثة قيم التحول مع مولد أرقام عشوائية. البذور الرئيسية المولد.
يمارس: تنفيذ تشفير تلقائي في لغة البرمجة التي تختارها.
لوحة وقت واحد
يمارس: لماذا لا تستخدم منصات مرة واحدة شائعة الاستخدام ، إذن ، بالنظر إلى أنها أكثر الأصفار آمنة ممكنة?
اللعب بالنار
هذا مثال على أ . يحل محل أزواج الشخصيات. المفتاح هو التقليب, على سبيل المثال:
يعمل فك التشفير على تشغيل القواعد في الاتجاه المعاكس. مشفر Playfair غير آمن جدًا.
أربعة مربع
تشفير digraphs مثل playfair ، ولكن أقوى قليلاً لأنها تسمح بأحرف مزدوجة ولا تسفر عن digraphs ciphertex. مثال
حسنًا ، أقوى قليلاً من Playfair ولكن ماذا في ذلك? يمكن لأجهزة الكمبيوتر أن تكسر هذه الأشياء في ثوانٍ ، أو ربما دقائق (مع ما يكفي من النص المشفر).
تبديل كتلة بسيطة
إن أبسط تشفير تبديل يمنح الرسالة إلى كتل بحجم $ n $ ، ثم يزعج كل كتلة وفقًا للتقليب (1..ن) $. على سبيل المثال ، إذا كان مفتاحنا هو $ (4،1،6،3،2،5) $ ، يتم تشفير رسالة GetThathealthInspect .
تبديل عمودي
اكتب صف الرسائل حسب الصف في شبكة ، ثم اقرأه في الأعمدة. غير آمن تماما. المفتاح هو مجرد عدد الصفوف. خمن ذلك.
سياج السكة الحديدية
سياج السكك الحديدية ليس أفضل من الأخير ، فقط أكثر متعة. المفتاح هو عدد القضبان التي تكتب عليها النص العادي بطريقة صعوداً وهبوطاً ، مما يولد النص المشفر عن طريق قراءة سكة حديد في وقت واحد. مثال: لتشفير “املأ وتقديم نموذج WS2475” على 4 قضبان:
ثم قرأت النص المشفر “ftl4miuaie27rlonfas5oldwf” . هذا تافهة للكسر. فقط تخمين $ k $.
الجمع بين الاستبدال والتحول
النقل وحده ضعيف للغاية ؛ الاستبدال وحده ضعيف للغاية. الجمع بينهم أفضل. يمكنك مزج الكثير من أصفاف الاستبدال الكلاسيكي مع عمليات نقل مختلفة ، أو استخدام بعض الأصفار المزيجة مثل bifid. أيضا ، معظم آلات الدوار الشهيرة والأصفار الحديثة تستخدم هذا المزيج. في الواقع يطبقون هذه التحولات عدة مرات.
أشرم
هذا يحل محل الرسائل مع إحداثياتها في شبكة ويقوم بإجراء تبديل عمودي على الإحداثيات. مثال:
اكتب إحداثيات (الصف ، العمود) تحت كل حرف من النص العادي (هـ.ز., “A” في الصف 1 ، العمود 2 ؛ “T” في الصف 2 ، العمود 0 ، إلخ.):
ثم اقرأ في الصفوف ، مجموعة من Twos وابحث عن رسائل النص المشفر:
ثلاثي
مثل bifid ، ولكن على المكعب. مثال:
لتشفير ، اكتب الإحداثيات أولاً:
لغز
طرق التشفير الحديثة
des
فكرة
RC4
RC6
السمك
سمكتان
AES
في ويكيبيديا AES هو المعيار الجديد ، لتحل محل des. كان الفائز بالمسابقة (في عام 2001) ، حيث تم تقديمه تحت اسم Rijndael ، وفاز على RC6 ، والثعبان ، والمريخ ، و Twofish.
التبادل الرئيسي
أظهر Diffie و Hellman (الفائزين بجائزة Turing 2015) وصديقهما Merkle في عام 1976 أنه من الممكن لشخصين أن يتبادلوا مفتاحًا سريًا دون الاضطرار إلى الالتقاء فعليًا سراً:
من المحتمل أن يكون هذا آمنًا ، شريطة أن يكون $ n $ كبيرًا جدًا و $ \ frac $ هو أيضًا Prime ، لأنه على الرغم من أن Eve تعرف $ g $ ، و $ n $ ، و $ g^a \ bmod n $ ، و $ g^b \ bmod n $ ، هناك لا توجد طريقة فعالة معروفة للحصول على $ A $ أو $ B $ من هذه. هذه هي مشكلة اللوغاريتم المنفصلة ، تذكر? مثال مع $ $ n $:
تشفير المفتاح العام
تحل أصفاف المفتاح العمومي كابوس الإدارة الرئيسية للأصفار السرية الرئيسية ، على حساب السرعة. في مجموعة من $ n $ people ، يحتاج المرء فقط إلى مفاتيح عامة دولار ومفاتيح $ n $ الخاصة.
RSA Cryptosystem
يمارس: البحث في الرياضيات وراء RSA. لماذا تعمل بالتفصيل? سوف تستفيد إجابتك من النظريات الكامنة وراء وظيفة Totient Euler ؛ تأكد من إظهار كيف ينخفض إلى $ (p-1) (Q-1) $ عندما يكون $ pq $ prime ، من بين أشياء أخرى.
يمارس: يعتبر Diffie-Hellman (DH) في بعض الأحيان جزءًا من التشفير الرئيسي للمفتاح ، على الرغم من أنه يتعامل مع التبادل الرئيسي وليس في حد ذاته خوارزمية تشفير. لماذا ، إذن ، يعتبره بعض الناس مفتاحًا عامًا? (الإجابة على هذا يتطلب بعض الأبحاث.)
للحصول على مثال تافهة ، فقط حتى تتمكن من رؤية الرياضيات أثناء العمل ، دعنا نفعل RSA بمفاتيح 32 بت:
هذا المثال هو للتوضيح فقط. لا تنفذ أبدًا خوارزمية التشفير الخاصة بك. تأكد أيضًا. يجب أن تحتوي المفاتيح الحقيقية على آلاف البتات.
أولاً ، ننشئ اثنين من الأعداد الأولية عشوائية 16 بت (16 لأن هذا هو نصف حجم المفتاح ، وهو 32): $ \ start P = 36469 \\ Q = 50929 \ End$ قم بإنشاء برئي n = pq = 1857329701 \\ d = \ mathsf (e ، (p-1) (q-1)) = 39569516a9 \\ \ end$ دعنا نتشفير السلسلة ¿dónde está ud.? . هنا في UTF-8:
نريد تقسيم رسالتنا إلى كتل. حجم الكتلة الموصى به هو $ \ lfloor \ frac \ rfloor $. نظرًا لأننا نقوم بعمل RSA-32 (مفاتيح 32 بت) ، نريد $ \ lfloor \ frac \ rfloor $ ، أو 3. لذلك دعونا نجمع بايتنا في كتل من ثلاثة:
02 02 في النهاية هو حشو PKCS#7 لجعل الرسالة مضاعفة من 3 بايت. في عشري ، كتلنا هي 12762948 ، 12825454 ، 6579488 ، 6648692 ، 12820768 ، 7693358 ، 4129282. الآن دعنا نطبق وظيفة التشفير على كل :: $ 12762948^ \ BMOD 1857329701 = 1674934738 $
$ 12825454^ \ BMOD 1857329701 = 920121142 $
$ 6579488^ \ BMOD 1857329701 = 703310795 $
$ 6648692^ \ BMOD 1857329701 = 1740932196 $
$ 12820768^ \ BMOD 1857329701 = 512101030 $
$ 76933358^ \ BMOD 1857329701 = 1327283085 $
$ 4129282^ \ BMOD 1857329701 = 1468977038 $
هذا هو النص المشفر في العشري ، وهو 1674934738 ، 920121142 ، 703310795 ، 1740932196 ، 512101030 ، 1327283085 ، 1468977038 إلى decrypt: $ 1674934738
$ 920121142^ \ BMOD 1857329701 = 12825454 $
$ 703310795^ \ BMOD 1857329701 = 6579488 $
$ 1740932196^ \ BMOD 1857329701 = 6648692 $
$ 512101030^ \ BMOD 1857329701 = 12820768 $
$ 1327283085^ \ BMOD 1857329701 = 7693358 $
$ 1468977038^ \ BMOD 1857329701 = 4129282 $
نحصل على الرسالة الأصلية مرة أخرى! من أجل المتعة ، انظر كيف تم إنشاء المثال أعلاه.
نظرًا لأن التشفير المتماثل أسرع بكثير ، يمكنك أولاً إنشاء مفتاح سري ونقله عبر خط مضمون بواسطة تشفير المفتاح العام. الآن يمكن لجميع الاتصالات المستقبلية استخدام المفتاح السري.
يمارس: لماذا سيكون من الخطأ استخدام حجم كتلة 4 بايت في المثال أعلاه?
تجزئة التشفير
عادةً ما يتسبب تغيير جزء واحد فقط في الرسالة في أن يبدو Digest مختلفًا تمامًا ومختلفًا تمامًا.
يوفر التجزئة الآمنة طريقة لتحديد ما إذا كانت الرسالة تم العبث بها. انظر دليل ستيف فريدل المصور لتجزئة cryptpgraphic.
رموز مصادقة الرسائل
هذه تشبه تجزئة التشفير إلا أنها تستخدم مفتاحًا سريًا ، في حين أن التجزئة استخدم فقط الرسالة نفسها. $ \ Mathit(M ، K) = C $
التوقيعات الرقمية
كيف يمكن أن تتأكد من أن الرسالة جاءت من أليس وليس شخصًا آخر? بقلم أليس التوقيع هو – هي؛ هكذا. في الممارسة العملية ، عادة ما يوقع أحد التجزئة ، وليس الرسالة بأكملها .
RSA للتوقيعات الرقمية
لكي ترسل أليس رسالة إلى بوب,
DSA
التحليل التشفير
يمارس: قم ببعض الدراسة الذاتية على التحليل المشفرة أو ابحث عن دورة ممتعة عبر الإنترنت.
أمثلة البرمجة
هيه ، لن نوضح كيفية لفها. سننظر في بعض مكتبات exsiting الفعلية.
بالنسبة لأجزاء أخرى من التطبيق الذي يحتاج إلى تشفير ، اقرأ على.
أمثلة JavaScript
بنيت في الوحدة النمطية: تشفير العقدة .
أمثلة بيثون
أمثلة جافا
المرجع: Java Cryptography Architecture (JCA)
أفضل الممارسات الأمنية لـ Crytpo
ملخص