كذلك في البرنامج
- صياغة مشكلة الحقيبة (+ لماذا حقيبة الظهر؟)
- تحديات سهلة وصعبة
- أمثلة على
- التاريخ
ما هو تشفير المفتاح العام؟
.
: , .
, - !
- , , «», .
- . , , , .
: , .
, - !
استخدمت أول خوارزمية المفتاح العام العام خوارزمية الحقيبة.
بناءً على تعريف أنظمة المفاتيح العامة ، يلزم وجود مفتاحين لتشفير (وفك تشفير) الرسالة بنجاح. يعرف المستلم "القانوني" للرسالة المفتاح السريبينما يمتلك المرسل مفتاحًا عامًا آخر
ماذا تفعل إذا أصبح المفتاح العمومي معروفًا للمهاجم؟
هناك إجابة: يجب الحصول على المفتاح العمومي من المفتاح السري باستخدام تحويل ( وظيفة أحادية الاتجاه )
بمعرفة A ، من السهل حساب الوظيفة نفسهاB = f ( A )
، ومن الصعب حساب الدالة العكسيةA = f − 1 ( B )

ما هو "سهل" و "صعب"؟
.
«» , . ..n , — t ∝ n a , a — . , .
«» . , , .
..n , t ∝ 2 n , , .
«» , . ..
«» . , , .
..
تمت صياغة مشكلة الحقيبة على النحو التالي
المجموعة (ناقلات حقيبة الظهر)
في النسخة الأكثر شهرة من مشكلة الحقيبة على الظهر ، يلزم معرفة ما إذا كان زوج معين لديه
تشبيه حقيبة الظهر
في أبسط الحالات
تمتلئ حقيبة الظهر بالكامل.
أي تخيل أن لديك مجموعة من الأوزان 1 و 6 و 8 و 15 و 24 ، فأنت بحاجة إلى حزم حقيبة ظهر بوزن 30.

من حيث المبدأ ، يمكن دائمًا العثور على حل من خلال البحث الشامل لمجموعات فرعية
ولكن ماذا لو كان هناك عدة مئات من الأرقام
في مثالنا ، n = 5 ، حتى لا يتم تعقيد العرض. في الظروف الحقيقية ، سيكون المثال ، على سبيل المثال ، 300
هل الوظيفة تلبي المتطلبات المحددة؟
نحدد الوظيفة
أي
وظيفة
التشفير
نص عادي
(. plain text) — , , . ( ).
يمكنك التشفير بطريقتين:
- يتم الحصول على تشفير الرسالة عن طريق رفع عناصر متجه الحقيبة هذا إلى قوة البتات المقابلة للرسالة المشفرة ثم ضرب جميع النتائج ، أي إذا
والرسالةA = ( 2 , 3 , 5 ) ، ثم سيكون التشفير هو الرقم( 100 ) ... هذه طريقة مضاعفة .2 1 ∗ 3 0 ∗ 5 0 = 2 - يتم الحصول على تشفير الرسالة بضرب عناصر متجه الحقيبة هذا في البتات المقابلة للرسالة المشفرة ثم تلخيص جميع النتائج ، أي إذا
والرسالةA = ( 2 , 3 , 5 ) ، ثم سيكون التشفير هو الرقم( 100 ) ... هذه الطريقة تسمى المضافة .2 ∗ 1 + 3 ∗ 0 + 5 ∗ 0 = 2
مثال
لتشفير نص عادي في التمثيل الثنائي ، يتم تقسيمه إلى كتل من الطول

يوفر تشفير حقيبة الظهر طريقة جيدة لإنشاء مفاتيح عامة وخاصة ، حيث يكون المفتاح الخاص سهل الاستخدام ويصعب اكتشاف المفتاح العام.
لذلك ، يمكننا إنشاء نظام حيث: المشكلة "الصعبة" هي
المفتاح العمومي ، لأن يمكن استخدامه للتشفير بسهولة ولا يمكن فك تشفيره.
مفتاح خاص - ستكون المشكلة "السهلة" بمثابة باستخدامه ، يمكنك بسهولة فك تشفير الرسالة. بدون مفتاح خاص ، يجب عليك حل مشكلة حقيبة الظهر "الصعبة".
مشكلة "سهلة"
سوبر تزايد ناقلات حقيبة الظهر
A = ( a 1 , . . . , a n ) , Σ i = 1 j − 1 a i < a j j = 2 , . . . , n , . .
بالنسبة للناقلات فائقة النمو ، يمكن حل مشكلة حقيبة الظهر بسهولة. أولئك. حقيبة الظهر سهلة التجميع.
لنأخذ مثالا:

الخوارزمية
- .
, , . , . - .
- (1)-(2) .
, .
"مشكلة صعبة
من الصعب جدًا فك شفرة مشكلة حقيبة الظهر غير الكبيرة الحجم .
تم إنشاء خوارزمية واحدة ، والتي تستخدم حقيبة ظهر ذات مفتاح خاص كبير الحجم وحقيبة ظهر ذات مفتاح عام غير كبير الحجم ، بواسطة Merkle و Hellman.
لقد فعلوا ذلك عن طريق أخذ مهمة حقيبة الظهر كبيرة الحجم وتحويلها إلى مهمة غير كبيرة الحجم.
(ابتكر ميركل وهيلمان ، باستخدام الحساب المعياري ، طريقة لتحويل حقيبة الظهر "الخفيفة" إلى حقيبة "صلبة")
إنشاء مفتاح عمومي
عدة مفاهيم مهمة
-
( x , m o d m ) x ,m
— ,x , [x/m] — ,m > 1 x = ( x , m o d m ) + [ x / m ] ∗ m
-
,A m > m a x A ,t < m .( t , m ) = 1
,B = ( b 1 , . . . , b n ) ,b i = ( t a i , m o d m ) , , B A m t , ,i = 1 , . . . , n .( m , t )
( t , m ) = 1
, ,t − 1 = u
t u ≡ 1 ( m o d m )
. ,1 ≤ u < m A B
.m , u
-
m > m a x A
, ,m > Σ i = 1 n a i B A .m , t
- — , , , .
منشئ نظام التشفير يختار مثل هذا النظام
يجب أن يحل جهاز اعتراض الرسائل مشكلة الحقيبة
ويحل مشكلة دخول حقيبة الظهر
يظهر كل هذا في اللمة التالية.
ليما . دعونا نتظاهر بذلك
(ط) مشكلة الحقيبة
(2) مشكلة الحقيبة
(3) إذا كان هناك حل للدخول
برهان (ص 104)
مثال
تأمل في تسلسل فائق النمو ؛ على سبيل المثال ، {1 ، 2 ، 4 ، 10 ، 20 ، 40}. يجب أن يكون المعامل أكبر من مجموع كل الأرقام في التسلسل ، على سبيل المثال 110. يجب ألا يكون للمضاعف قواسم مشتركة مع المعامل. لذلك دعونا نختار 31.

لذلك ، حسبنا المفتاح العمومي: {31 ، 62 ، 14 ، 90 ، 70 ، 30} والمفتاح الخاص - {1 ، 2 ، 4 ، 10 ، 20.40}.
لنحاول الآن إرسال تسلسل ثنائي: 100100111100101110

بعض فوائد المفاتيح العامة
- عند استخدام نظام تشفير بالمفتاح العام ، لا يلتقي الطرفان ، وقد لا يعرف كل منهما الآخر ويستخدم أي نوع من الاتصالات.
- طول المفتاح. في التشفير المتماثل ، إذا كان المفتاح أطول من الرسالة الأصلية ، فلن يتم تحقيق مكاسب حقيقية. بالنسبة لأنظمة تشفير المفتاح العام ، لا يهم طول مفتاح التشفير ، لأنه عام وعام. لذلك ، فإن طول مفتاح فك التشفير ليس مهمًا جدًا (يخزنه المستلم فقط في مكان سري)
التاريخ
لفترة طويلة ، اعتبرت أنظمة التشفير على الظهر أكثر أنظمة التشفير جاذبية وواعدة نظرًا لاكتمالها NP وسرعتها العالية في التشفير وفك التشفير. تستخدم العديد من المخططات مشكلة الحقيبة على الظهر (في أشكال مختلفة) ، وهنا عدد قليل منها: مشكلة الحقيبة المدمجة ، مشكلة حقيبة الظهر المضاعفة ، مشكلة الحقيبة المعيارية ، مشكلة غلاف المصفوفة ، مشكلة عامل المجموعة ...
لسوء الحظ ، معظمهم معرضون للإصابة الهجمات. اتضح أنه ليس من السهل تصميم نظام تشفير آمن يعتمد على مشكلة الحقيبة ، على الرغم من أن المشكلة تُعرف باسم NP-complete. تم اختراق معظم أنظمة التشفير المحمولة على الظهر. على الرغم من ذلك ، على عكس التحليل العاملي واللوغاريتم المنفصل ، فإن مشكلة الحقيبة (الحل) العامة هي مشكلة NP كاملة مثبتة.
يعتقد بعض الناس أنه في يوم من الأيام يمكن اختراع خوارزمية متعددة الحدود لحل مشاكل العوامل اللوغاريتمية المنفصلة ، بينما لا تزال مشكلة الحقيبة على الظهر مكتملة NP.
هناك العديد من "BUTs" هنا.
أولاً ، يعتمد اكتمال NP على تحليل أسوأ الحالات ؛ ثانيًا ، يعد اكتمال NP سمة لمشكلة عامة ، وليس حالة معينة. هذا يعني أنه إذا أخذنا في الاعتبار متوسط التعقيد ، يمكن أن تكون مشكلة حقيبة الظهر سهلة.
تم إعداد المادة على أساس هذه الأدبيات:
(1) أ. سالوما. تشفير المفتاح العام. - سبرينغر فيرلاغ ، 1990. - ص. 75-82 ، ص 101-111
(2)مين كين لاي. أنظمة التشفير على الحقيبة : الماضي والمستقبل - جامعة كاليفورنيا ، 2001
(3) باوكانغ وانغ ، تشيان هونغ وو ، يوبو هو. مخطط تشفير احتمالي قائم على الحقيبة. 2007
(4) - (5)