إذا كان لديك أكثر من عدد قليل من البطاقات المصرفية، أو إدخال كلمات مرور دخول الباب، أو كلمات المرور الرقمية الصغيرة الأخرى التي يجب تذكرها، فإنه في النهاية يحصل على متاعب. الأسوأ، بالنسبة لي، هي بطاقة مصرفية لحساب تجاري أقوم به مرة واحدة في القمر الأزرق. ربما استخدمته ثماني مرات خلال خمس سنوات، ثم أعطاني بطاقة جديدة مع دبوس جديد. تنهد.
سريع، ما هو دبوس بلدي؟
كيف يتعامل الشخص العادي مع انتشار دبابيس؟ يكتبون الأرقام على قطعة من الورق واحتفظ بها في محفظتها. نحن جميعا نعرف كيف ينتهي ذلك، أليس كذلك؟ محفظة مفقودة وحسابات مصرفية فارغة متعددة. كيف يمكن للمقلقة التعامل معها؟ اكتب كل رقم لأسفل على البطاقة نفسها، ولكن مشفرة، بطبيعة الحال، مع نظام التشفير الوحيد غير القابل للكسر هناك هناك: لوحة لمرة واحدة (OTP).
OTP هو بطة غريبة بين أساليب التشفير. من المفترض أن يتم فك تشفيرها في رأسك، ولكن طالما ظل المفتاح السري آمنا، فهي صخرة صلبة. إذا حاولت من أي وقت مضى ترميز الصناديق S وكل ما يضيف، والتحويل، والخلط الذي يستمر مع طريقة تشفير طبيعية، فإن OTPS هي بسيطة بشكل منعادة. المفاضلة هي مفتاح “طويل”، ولكن OTP مثالي للغاية لتشفير دبابيسك.
يبدو أن الجزء الأول من هذه المقالة هو pablum “Life-Hack” الودية التي ستحصل عليها في مكان آخر، لكنها لا تيأس، إنها أيضا مقدمة من الباب الخلفي في OTP. الغطس الشوط الثاني في وسادة لمرة واحدة مع بعض الحدس التشفير العميق، وبعض الرياضيات الودية، ونأمل حجة مقنعة أن تكتسب دبابيسك المشفرة هي الشيء الصحيح الذي يجب القيام به. على طول الطريق، أقوم بإدراج الأشياء الثلاثة التي يمكنك القيام بها خاطئة عند تنفيذ OTP. (ولم يصدق أي منها! فضولي حتى الآن؟ واصل القراءة.
حل دبوس
أولا أولا حل مشكلة البطاقة المصرفية: اكتب رقم التعريف الشخصي الخاص بك مشفرا بسرا لا تعرفه إلا. بدلا من الحاجة إلى تذكر رقم مكون من أربعة أرقام لكل بطاقة جديدة، ستحتاج فقط إلى رقم واحد من أربعة أرقام إلى الأبد. يتمثل المفتاح في اختيار مخطط تشفير سهل بما يكفي للتراجع بحيث لن تبدو غريبة للغاية عندما يطلب منك كتابة رقم التعريف الشخصي في نافذة Bank Teller. هذا هو الاستخدام الكلاسيكي ل OTP – تشفير يمكنك التراجع عنه في رأسك.
أولا، حدد عشوائيا رقم سر مكون من أربعة أرقام. ثم، اطرح هذا الرقم من رقم التعريف الشخصي الخاص بك واكتب النتيجة على بطاقتك. للحصول على رقم التعريف الشخصي الخاص بك، عند الوقوف أمام الصراف المصرفي، ببساطة ننظر إلى البطاقة وإضافة العدد السري مرة أخرى. سوف يعتقد الصراف أنك كتبت رقم التعريف الشخصي على البطاقة. لا تتردد في الشعور بالمرض، لأنك استخدمت مخطط تشفير غير قابل للكسر.
بدلا من الإضافة العادية والطرح، مع الحمل والاقتراض عبر الأرقام، ستحتاج إلى استخدام Modulo-10 Math – إضافة أو طرح عشرة من النتيجة في أي وقت يحصل فيه خارج النطاق 0-9. سنتحدث عن سبب أدناه، ولكن الآن، إليك مثال عمل.
لنفترض أن دبوس 1234 – يجب أن يحدث حتى شخص ما، أليس كذلك؟ – وعدد سرائي العشوائي هو 1337، بطبيعة الحال. دعونا تشفير. طرح 1 من 1 يعطي صفر، لذلك أكتب ذلك إلى أسفل. طرح 3 من 2 يعطي -1، وهو المكان الذي يأتي فيه الحساب Modulo-10. في هذه الحالة، يحول -1 إلى 9 من خلال إضافة عشرة. 3 – 3 = 0، و 4 – 7 = 7، وزارة الدفاع -10. بطاقتي لديها الآن 0907 مكتوبة عليها.
الآن دعونا فك التشفير. بالنظر إلى أسفل على البطاقة، أرى 0 وإضافة 1. 9 + 3 = 12، لذلك سنحتاج إلى طرح عشرة للحصول على 2. (هذا هو السبب في اختيار إضافة مرحلة فك التشفير، من السهل فقط إسقاط أي رائدة 1S.) 0 + 3 = 3 و 7 + 7 = 14 -> 4 <. أنا اكتب في 1234، والمال هو لي! بمجرد أن تحصل على تعليق من إضافة رقمك السري إلى أي رقم آخر، مكون من رقم MOD-10، ستفاجأ مدى سرعة العمل. جربه وأرى ما إذا كنت ترغب في ذلك في غضون عشر دقائق. منصات لمرة واحدة لوحة لمرة واحدة هي كلا من مخطط التشفير المتماثل أبسط أيضا وغير قابل للكسر بالكامل. لديها ثلاثة ميزات حاسمة، اثنان منها أظهرت أعلاه، والحصول على أي منهم خطأ يمكن أن يكون كارثيا. الميزة الأكثر أهمية في OTP هي أن كلمة المرور تحتاج إلى أن تكون عشوائية، ونفس طول النص الذي تشفه - وبالتالي السر المكون من أربعة أرقام للحصول على رقم التعريف الشخصي. في OTP، كل شيء يدور حول السر، وهو أيضا كعب أخيلها. لعدد من أربعة أرقام، إبقاء سر مكون من أربعة أرقام ليس مشكلة. ولكن تخيل أنك تريد إرسال غيغابايت من الصور المشفرة لعطلتك إلى صديق. هذا كثير من المواد الرئيسية للحفاظ على اليد والسرا. الأصلي بواسطة [matt_crypto]، DomaSecond العام، طريقة الجمع بين الرسالة مع السر يجب أن تكون مشابهة مشابها لحساب modulo، في مجموعة من الأحرف المشفرة ومجموعة أحرف النص pin - على مثال التعريف الشخصي - على سبيل المثال واحد لواحد. MOD-10 يضمن هذا بسهولة: كلاهما في النطاق 0-9. ربما كنت على دراية باستخدام مشغل XOR على البيانات الثنائية، وهو نفس الشيء كما additi إماعلى أو الطرح، وزارة الدفاع 2. (0 + 0 = 0، 0، 0 + 1 = 1، 1 + 0 = 1، و 1 + 1 = 2 -> 0. QED.) يمكنك أيضا استخدام الحروف ولف الأبجدية حولها في “z” مثل Caesar Cipher أو rot13، والتي تعاني من مجرد تعيين الأبجدية في أرقام وتعيين الرياضيات MOD-26.
ثالثا، وربما هذا أمر قريب من الأول، يجب أن لا تستخدم السر في وسادة لمرة واحدة. كنت تعتقد أن هذا كان واضحا، لأنه حتى في اسم طريقة التشفير، ولكن من الصعب القيام به في الممارسة العملية. وفي الواقع، يكسر مخطط تشفير PIN هذه القاعدة باستخدام نفس السر عبر مفاتيح متعددة. سوف ندخل في ذلك قريبا.
العبث التشفير المثالي
لماذا غير قابل للكسر؟ كسر معظم مخططات التشفير غالبا ما يتلخص إلى الاحتمالات والإحصاءات. على سبيل المثال، إذا قمت بتشفير نص باستخدام CIESAR Cipher أعلاه، يتم تعيين كل حرف في النص إلى حرف واحد آخر في كل مرة يحدث فيها في النص المشفر. إذا كنت تعرف أن النص الأصلي باللغة الإنجليزية، حيث يكون الحرف الأكثر استخداما هو “ه”، فهذا يراهن جيدا أنه إذا كان “Q” هو الحرف الأكثر شيوعا في الفم المشفر، فهذا يعني “E”. وهذا هو، نجد أوجه التشابه الإحصائي بين النص العظيم والتشفير، واستخدامها لجعل جسر بين الاثنين.
باستخدام مفتاح سري يبلغ طوله، ويتم اختياره بشكل عشوائي، يكسر أي علاقة إحصائية مع النص المشفر. بالنظر إلى نص مشفر محدد مكتوب على بطاقتي، فإن كل دبوس من 0000 إلى 9999 ممكن، وإذا تم اختيار المفتاح بشكل عشوائي، من المحتمل بنفس القدر. لا توجد معلومات حول النص العظيم في النص المشفر – وهذا هو دليل Claude Shannon (PDF كلاسيكي تماما) باختصار. وهذا هو السبب في أن OTP غير قابل للكسر.
Diana لمرة واحدة وسادة [الولايات المتحدة الأمريكية NSA]، هو في الواقع هو في الواقع مفتاح فهم مجال التشفير: إنها محاولة لتدافع المعلومات حول النص العظيم أثناء عملية التشفير حتى على الرغم من استخدام مفتاح أقصر، لا بقاء آثار ذات صلة من النص الإحصائي. هذه الرغبة في مفاتيح قصيرة ليست مجرد مسألة راحة إما: تخيل أنك و Hackaday اضطررا إلى استبدال 500 كيلو بايت من البيانات العشوائية فقط لتنزيل هذه المقالة وقراءتها. تخيل طول كلمة مرور WiFi التي يجب عليك الكتابة للضيوف! هذا هو الشعور الذي يكون فيه OTP تافهة وغير متجانسة – قد يكون غير قابل للكسر، ولكن الأسرار طويلة جدا بالنسبة لمعظم التطبيقات. يعد Crypto الحقيقي عن العثور على الخوارزميات التي تنكسر العلاقة الإحصائية مع الحد الأدنى من المواد الرئيسية.
مع وضع ذلك في الاعتبار، يمكنك تثبيت تطبيق OTP باستخدام كلمة مرور قصيرة أو غير عشوائية. تخيل باستخدام 1 ككلمة مرورك وتكرارها حسب الضرورة؛ سوف يقرأ نص المشفر الخاص بنا 2345، وسيتم تخمين رقم التعريف الشخصي في المحاولة الثانية. تريد أيضا استخدام كلمة مرور عشوائية؛ اختيار 0000 لأنه يجعل الرياضيات سهلة هي الشيء الوحيد الأسوأ من أعلاه. (على الرغم من أن التحدث بدقة، سأعيد رول إذا حصلت على 0000 و 1111 و 9999 أو 1234 أو 4321 أو ما شابه ذلك.) على أي حال، لا تستخدم عيد ميلادك. قد تكون أرقام الهواتف القديمة من أصدقاء الطفولة مقبولة.
دور الحساب المودل هو أكثر دقة قليلا. مهما كانت الوظيفة المستخدمة، يتعين على مجموعة الأحرف الممكنة في النص العادي تعيين واحد إلى واحد مع النص المشفر. لماذا ا؟ تخيل أنك استخدمت إضافة بسيطة بدلا من إضافة MOD-10. للحصول على الرقم الأخير من نص PIN الخاص بنا، استخدمنا 4 – 7 = -3 -> 7 وفزعت مع 7 + 7 = 14 -> 4. إذا كتبنا إلى أسفل -3 بدلا من ذلك، فإن المهاجم سيعرف أن الرقم الأخير الخاص بنا يجب أن تكون أكبر من 6 لأن إضافة 9، والحد الأقصى للقيمة، تعطي فقط 6. لقد نسربت المعلومات عن طريق وجود مجموعة أكبر في النص المشفر منه في النص العظيم.
وهذا يترك آخر طريقة للفوضى: إعادة استخدام لوحة “لمرة واحدة”. واضح، أليس كذلك؟ خاطئ – ظلم – يظلم.
آلة Lorenz، المجال العام
من ناحية، إعادة الاستخدام هي مسؤولية محددة. أعد استخدام كلمة مرور في مخطط تشفير مشابه للغاية “TUNNNE”، وهو رمز مهم خلال الحرب العالمية الثانية. تم إرسال رسالة مشفرة 4000 حرفا ولكن لم يتم استلامها بشكل صحيح. إعادة إرسال الرسالة المرسل، مع نفس السر، لكن تغييرات صغيرة في النص، باستخدام اختصارات مختلفة وما إلى ذلك. أعطى هذا الحلفاء كافية لكسر المهندس التلقي والعكس الجهاز الذي تشفيره. انتهت اللعبة.
إليك الرياضيات التي جعلت عمل فك تشفير TUNNY، ويجب أن تقنعك بإعادة استخدام مفتاحي تقريبا. إذا كنا نشيف الرسائل A و B مع المفتاح السري C، وشخص ما على حد سواء، فيمكنهم فقط تعديلها معا للحصول على (وزارة الدفاع C) mod (b mod c) = (a mod b) mod c mod c = a وزارة الدفاع ب، حيث يوجد MOD هو مشغل Modulo Bitwise أو Number-Wise الذي اعتد عليه الآن. نظرا لأن اتخاذ Modulo ثنائي هو عكسه الخاص، فإن النتيجة هي شيء يرتبط بكلا من الصريحة، ومستقلة عن المفتاح السري.
من هنا، يمكن مقارنة التخمينات الذكية ل A و B ومقارنتها عن نتيجة وزارة الدفاع B كسر الكود. لذلك إذا كنت متأكدا من أن “الهجوم” يظهر في كلا النصين (أنواع التشفير دائما تشفير “الهجوم عند الفجر”)،ثم يمكنك تجربة تعديل “الهجوم” معا في مواقف مختلفة حتى تحصل على تطابق مع وزارة الدفاع ب.
مفاجأة تنتهي
ولكن هنا هو تطور النهائي! يمكننا الابتعاد عن إعادة استخدام المفتاح السري في جميع بطاقاتنا المصرفية، حتى على الرغم من الرياضيات أعلاه. لماذا ا؟ لأن الدبابيس نفسها عشوائية. على النقيض من الرسائل اللغوية الطبيعية المرسلة أثناء زمن الحرب، فإن وزارة الدفاع B هي عشوائية مثل وزارة الدفاع C إذا كانت كل من دبابيس عشوائية.
لذلك هذا هو كيف يتذكر المتسلل دبابيس: من خلال تعلم الكثير عن الوسادة لمرة واحدة، وكيفية كسرها، وكيف تكون مفيدة للغاية إذا كانت الرسالة التي تحتاجها للحماية قصيرة. وكيف، رسائل معينة، يمكنك حتى كسر القواعد.