زملائي الأعزاء.
لقد وجدت عيّناتي العكسية القديمة ، للأسف ليست أحدث نسخة.
لا أتذكر جميع التفاصيل بدقة عالية ، فقد أجريت التجربة في عام 2012 ، ولكن عندما يحفرون في الشفرة ، تظهر بشكل أكثر وضوحًا.
تحذير: يتم أخذ المزيد من التعليمات البرمجية خارج السياق ، ويتم وصف وصف عملها من الذاكرة وقد تحتوي على أخطاء ، يتم توفيرها للأغراض التعليمية فقط.
هكذا تم إعداد البيانات لتدريب واختبار الشبكة العصبية. أولاً ، تم إنشاء سلاسل من هذا النوع ؛ تمثل النتيجة المرجوة:
spins : 0; server code word : 74b0dc5166334873643c9869327b23c6 spins : 1; server code word : 46e87ccd238e1f29625558ec2ae8944a spins : 2; server code word : 79e2a9e341b71efb2eb141f2507ed7ab spins : 3; server code word : 4db127f8122008545bd062c2515f007c spins : 4; server code word : 140e0f7666ef438d1190cde71f16e9e8
ثم تحول شيء مثل هذا إلى تجزئات لتدريب الشبكة العصبية.
FILE *fp; sha256_context stx; int ss,zz,yy,ii,jj,zzi; unsigned long int pdata; fp = fopen("data_src", "rb"); if(!fp) return 1;
الذي أعطى الإخراج شيئًا مثل ما يلي:
d34453f3c04552ee19cb6734ab71ad124710cfc98401570f73f65cb8cfa2a64d 6cc8ca5b918d1a22d5141494ad08b76a6c67cd5f649744f80d2fad4916b2b6d9 f89e9fd9609099b22924a77a5c8122c06118608c4287fca1cdafe5827249bce7 35280fd1e2289488828004682679452a070ccd90c12072fcb904529ab18e3f9d 1112c4cffb617c835874446f13c4d7d29fa091ba7ac996b776998f89dedffcc1 02e0521aae2d4ecdeb4482bda545bb222e1280ec1f580d5d23e29fb719252f70
ثم كل هذا يتكشف شيئا فشيئا:
نتيجة العمل في مثل:
855 1408 1408 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [...]
تم تغذية الملفات إلى الشبكة العصبية كعينة تدريب واختبار.
باستخدام مكتبة FANN ، جربت خلايا عصبية مختلفة.
كانت النتيجة بالتأكيد ، لكنها كانت مختلطة. لم يكن من الممكن استعادة النص الأصلي بالكامل.
ومع ذلك ، في بعض الأحيان انزلقت أجزاء من الخطوط من خلال استعادة دقيقة للغاية.
أعتقد أن هذه المشكلة لها حل ، فقط لتجدها لا تزال بحاجة إلى بذل جهد.
على سبيل المثال ، من المنطقي تغذية جميع المتغيرات الداخلية لخوارزمية التجزئة لإدخال الشبكة أثناء التدريب. من المنطقي أيضًا إطلاق شبكات تنافسية وتعليم شبكة أخرى للتعرف على نتيجة الاستشارة.
يمكن الآن إجراء هذه التجارب الغريبة أسهل بكثير من 2012.
مع ظهور أدوات مثل Python مع Tensorflow ، و sklearn numpy ، و scipy ، وخزانة المستودع ، أصبح من السهل التحقق من كل هذا.