Author

Topic: مع التطبيق العملي Hash تعرف على الهاش (Read 343 times)

sr. member
Activity: 490
Merit: 275
<...> ولكن العضوين اللذان شاركا في النقاش مع الاخ عمر اختفو تماما من القسم العربي , هل يوجد سبب لاختفاء الاعضاء العرب بهده الطريقة ؟ ..
khaled0111 قام بالرد على تساؤل مقارب هنا اتفق معه
legendary
Activity: 2436
Merit: 6643
be constructive or S.T.F.U
من النادر جدا ان نرا نقاش ممتاز من هدا النوع في القسم العربي , الجدير بالذكر ان هدا الموضوع كان في نهاية العام الماضي يعني اقل من سنة ولكن العضوين اللذان شاركا في النقاش مع الاخ عمر اختفو تماما من القسم العربي , هل يوجد سبب لاختفاء الاعضاء العرب بهده الطريقة ؟

موضوع اكتر من رائع اخ عمر , اتمنى ان تستمر في رفع المواضيع السابقة المفيدة , لك مني كل تقدير.
sr. member
Activity: 490
Merit: 275
sr. member
Activity: 1153
Merit: 252
شرح رائع أخي الكريم
نحتاج لمثل هذة المواضيع من أجل زيادة المعرفة , أيضا النقاش كان رائعا بين الأخوة الأعضاء
jr. member
Activity: 168
Merit: 2
شكرااا جزيلا اخي العزيز علي هذا المجهود وهذا الشرح الرائع اتمني الجميع يستفاد من هذا الموضوع ومن هذة المعلومات جزاك الله كل خير
member
Activity: 504
Merit: 16
sr. member
Activity: 490
Merit: 275
member
Activity: 182
Merit: 25
Bitcoin=Decentralization+ Consensus+High sec=TRUST
[اقتباس من HAKHALI]
معلومات جميلة الاخ  خالد HAKHALI صح تذكرت لما نبحث عن الهاش يسمى بالمراجع العربية "التجزئة" نسيت ان اذكر هذا بالموضوع (لا اعرف هل هذا المصطلح مناسب لان كلمة تجزئة ربما تعمل على تشتيت المعنى لفهم اخر)
مع العلم عند البحث بعض الخوارزميات كسرت و لم تعد امنه و البعض بها مشاكل تقريباً خوارزميات MD4 و ماقبلها خوارزميات قديمة و كُسرت وبها مشاكل


اولا اسمي حافظ ههه ثانيا لفظ التجزئة ربما اختير لانه النصوص العادية تجزأ  بعد تحويلها الى خانات او بتات رقمية وتقسم الى بلوكات لكن شخصيا اتفق معك انه ترجمة غير مقنعة ... ماذا لو كانت الترجمة للهاش هي كلمة ( التخصير ) مثلا وهي لفظ مشتق من كلمة اختصار لان الناتج بعد عملية الهاش هو تحويل نص كبير الحجم الى نص حجمه اقل بكثير... لكن من بيده تغيير المصطلحات واعتمادها غير هيئات الترجمة المتخصصة في مجال العلوم والتقنية والتي لا ادري هل هناك لها وجود بعالمنا العربي الذي اخر همومه العلوم والتكنلوجيا ... بالنسبة للتشفير وخوارزميات التشفير المعتمدة تظل سنوات طويلة تحت الاختبار من قبل فرع من فروع علم التشفير  يسمي cryptoanalays وظيفة المتخصصين فيه العمل على محاكاة كل الاساليب الممكنة من قبل الهكر والتي يمكن ان تستخدم في حل خوارزمية التشفير الجديدة التي يعلن عنها فاذا صمدت لسنوات طويلة دون ان تكسر يقوم الهيئة الدولية للتشفير باعتمادها كخوارزمية معتمدة للاستخدام للعالم كله...لكن مع تقدم العلم وتطور اساليب التهكير بالتأكيد سيأتي وقت تكسر فيه هذه الخوارزمية وبالتالي يقوم علماء التشفير cryptographers بالبحث عن تطوير خوارزمية جديدة وهكذا يستمر الحال طول الوقت ولهذا فانه مهما كانت التقنية بالنسبة لعلم التشفير قوية ومستحيلة الكسر من منظور وقتنا الحالي ( بما فيها تقنية البلوكشين مثلا ) فان ذلك ليس حقيقة مطلقة في عالمي التشفير والتهكير المتسابقين ....
sr. member
Activity: 490
Merit: 275
[اقتباس من HAKHALI]
معلومات جميلة الاخ  خالد HAKHALI صح تذكرت لما نبحث عن الهاش يسمى بالمراجع العربية "التجزئة" نسيت ان اذكر هذا بالموضوع (لا اعرف هل هذا المصطلح مناسب لان كلمة تجزئة ربما تعمل على تشتيت المعنى لفهم اخر)
مع العلم عند البحث بعض الخوارزميات كسرت و لم تعد امنه و البعض بها مشاكل تقريباً خوارزميات MD4 و ماقبلها خوارزميات قديمة و كُسرت وبها مشاكل

member
Activity: 182
Merit: 25
Bitcoin=Decentralization+ Consensus+High sec=TRUST
السلام عليكم : لخصت وترجمت لكم هذه النقاط من احد دوكمنتات الكريبتوجرافي التي حصلت عليها مؤخرا اتمنى ان تكون مفيدة :

وظائف التجزئة (الهاش)
- اكثر المراحل التي تكون فيها  البيانات data أكثر عرضة للتلف هي مرحلة الارسال عبر شبكة غير موثوق بها مثل الإنترنت.
مخاطر تغيير او استبدال البيانات أثناء النقل عالية.  ولهذا ظهرت الحاجة للحفاظ على سلامة البيانات.
- النزاهة  Integrity تعني أن المتلقي يجب أن يتلقى بالضبط ما أرسله المرسل .
- مصادقة الرسالة message authentcation  هي تقنية تساعد على ضمان نزاهة الرسائل والتحقق من عدم العبث بها اثناء الارسال عبر شبكة غير موثوق بها.
- تهدف مصادقة الرسالة إلى:
1- التحقق من سلامة البيانات
2- التعرف على هوية مرسل البيانات .
3- اثبات تفرد البيانات
- يتم ذلك عبر استخدام  وظائف التجزئة (الهاش ) او ما يطلق عليها مصطلح  خوارزميات التجزئة hash algorithms .
- وظيفة الهاش هي تقنية تعمل عبر خوارزمية تقوم بتحويل الرسائل الطويلة الى قيمة مخرجة فريدة مشتقة من موضوع الرسالة.
- تسمى قيمة المخرجات الفريدة هذه ب ملخص الرسالة ( Message Digest (MD) ).
- تقوم وظيفة الهاش باستخدام هذه القيمة MD ، من اجل التحقق من سلامة البيانات.
-خطوات وظيفة الهاش ببساطة هي :
1-  عندما يرسل المرسل البيانات ، فإنها تمر عبر
خوارزمية تقوم بإنشاء قيمة MD للبيانات.
2-عندما يتلقى المتلقي البيانات يمررها عبر نفس الخوارزمية  كي تقوم بإنشاء
قيمة MD للبيانات.
3- في حالة تطابق قيم MD الخاصة بالمُرسِل والمُستقبل ، تعتبر البيانات موثوقة ولم تتعرض للتلف والتغيير
في مرحلة  النقل .
- المتطلبات الأساسية لوظيفة هاش قوية هي :
1- تتعامل مع البيانات المدخلة من أي طول .
2- اي بيانات مدخلة تنتج MD ذات طول ثابت .
3- القدرة على حساب قيمة MD لأي نوع من البيانات .
4- يجب أن تكون الوظيفة خالية من التصادم  collision free وهذا معناه توليد قيمة MD فريدة لايمكن ان تتطابق مع اي مخرجات لاي بيانات اخرى.
5- يجب أن تكون وظيفة أحادية الاتجاه ، بمعنى أنه لا يمكن تخمين البيانات المدخلة أو
اشتقاقها باستخدام قيمة MD .
sr. member
Activity: 490
Merit: 275
هل تعرف استخدامات اخرى للهاش ؟ اذكرها
ما أعرفه عن إستخدام الهاش كلها تتمحور حول المقارنة والتحقق ولكن بعض التطبيقات التي اعرف انها استخدمت في الواقع الذي اعرفه كالتالي:
يمكن إستخدامها في التحقق من الملفات المنقولة عن طريق الشبكات فيما إذا كان قد وقع خطأ اثناء النقل (في السابق كان يتم مقارنة خصائص الملف المنقول كالحجم)
تستخدم لتخزين البيانات المهمة والتي لا يجب ان يقرأها أحد حيث يتم تخزينها من أجل التحقق من المستخدم (في شركات الإتصالات بعض بيانات بطائق اال SIM أو ال USIM  يجب أن تكون غير قابلة للقرأة او إستعادتها بعملية عكسية عند معرفة الهاش)كم أعتقد أن منتدى Bitcointalk يستخدم الهاش لتخزين والتحقق من الباسورد لكل مستخدم.

شكراً على تزويدك بهذه المعلومات صدقت صحيح تستخدم بالمقارنة والتحقق من نزاهه المعلومات و انها لم يتم التلاعب بها وليس لتخزين المعلومات مثل مايعتقد البعض انها للتشفير بحيث يمكن استرجاع الاصل من الهاش جميل مثال الاستخدام بالبطائق SIM
member
Activity: 504
Merit: 16
هل تعرف استخدامات اخرى للهاش ؟ اذكرها
ما أعرفه عن إستخدام الهاش كلها تتمحور حول المقارنة والتحقق ولكن بعض التطبيقات التي اعرف انها استخدمت في الواقع الذي اعرفه كالتالي:
يمكن إستخدامها في التحقق من الملفات المنقولة عن طريق الشبكات فيما إذا كان قد وقع خطأ اثناء النقل (في السابق كان يتم مقارنة خصائص الملف المنقول كالحجم)
تستخدم لتخزين البيانات المهمة والتي لا يجب ان يقرأها أحد حيث يتم تخزينها من أجل التحقق من المستخدم (في شركات الإتصالات بعض بيانات بطائق اال SIM أو ال USIM  يجب أن تكون غير قابلة للقرأة او إستعادتها بعملية عكسية عند معرفة الهاش)كم أعتقد أن منتدى Bitcointalk يستخدم الهاش لتخزين والتحقق من الباسورد لكل مستخدم.
sr. member
Activity: 490
Merit: 275
<..>

سارجع لقراءة هذه المعلومات بتمعن اكثر لان اشتراك الانترنت منتهي حالياً   Cheesy وضعت هذه الملاحظات تحسباً


وجدت معلومات كثيرة لاستنتاج طريقة (لخلق) هاش الكُتلة نفسة يستخدموا بيانات block header نفسة و يعملوا لها هاش sha256 عدة مرات متتالية مثل التالي

Code:
(()sha256( sha256

هذا حسب مافهمت ياريت من لدية معلومات بهذا الخصوص يوضح لنا التفاصيل
و كيف يتم استنتاج هاش البلوك نفسة و طريقة استنتاج الهاش من بيانات الهيدر او بمعنى كيف تحول بيانات الهيدر (بمعنى هل يحسب الهاش انطلاقاً من بيانات الهيدر على شكل bits او على شكل text ويطبق عليها هاش عدة مرات متتالية لنصل لمرحلة hash هاش البلوك)  وياريت بمثال تطبيقي حتى نفهم اكثر


تحديث للمهتمين : تفاصيل كثيرة هنا شرح طريقة تحويل بيانات  block header منها الوقت و الاصدار و الصعوبة merkle root ,  nonce عملية التحويل تمر بخطوات كثيرة
الى ان تصل للنتبجة النهاية هنا شرح الخطوات :

https://www.reddit.com/r/Bitcoin/comments/6gl8ol/how_to_manually_verify_a_hash_from_a_block

http://learnmeabitcoin.com/glossary/block-hash
member
Activity: 182
Merit: 25
Bitcoin=Decentralization+ Consensus+High sec=TRUST
sr. member
Activity: 490
Merit: 275
<..>
اهلا ماشاء الله معلومات رائعة هذا الذي احاول فهمة صدقت البلوكات بالبولك شين ترتبط ببعضها البعض عن طريق هاش البلوك فكل بلوك يمتلك هاش خاص به ونفس البلوك يرتبط بالهاش الذي يسبقة و الهاش التالي

هذا من المفترض الكتلة 0 (بلوك block 0)

https://www.blockchain.com/btc/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

فلو نظرنا لبيانات Hashes بالقائمة الجانبية سنرى البلوك يمتلك Hash خاص به نفس الموجود بالرابط اعلاه
و Previous Block يشير لهاش اصفار كونة اول كُتلة بالعقدة ولا يوجد كتل سابقة
و Next Block يشير لهاش الكُتلة التالية

اظن باحد المرات سمعت شخص هنا يقول هناك سر لبداية هاشات الكُتل ب الاصفار 000 مع ان هاش العمليات لاتبداء بالاصفار
انظر ايضاً Difficulty او الصعوبة فقط يساوي 1 بالكُتلة 0 بعكس الان اخر بلوك عند كتابة هذا الرد Block #547789 الصعوبة تساوي : 7,182,852,313,938.32
رقم كبير

فهل هذا يعني يعني ان هاش الكُتلة 3 : مستنتجة من محتويات الكُتل التي تسبقها (block 1 , block 2) مثل ما وضحت انت  ؟

يحتوي اول كُتلة 0 السابقة على اول عملية تمت بالبيتكوين تحويل 50 btc من ساتوشي

اعتذر عن التشتت بالافكار  Grin
احاول افهم هذه الامور عندي الكثير من الاسئلة لكن ستاتي مع الوقت و تتضح الكثير من الامور اظن افضل مكان لها بقسم الاسئلة ساضع بعض الاسئلة التي لا افهمها
شكراً على مرورك و مرور الاخوان واعطاء معلومات مهمة
member
Activity: 182
Merit: 25
Bitcoin=Decentralization+ Consensus+High sec=TRUST
شكرا لك يا صديقي..متألق كالعادة بمواضيعك المفيدة...انا اريد فقط ان اشير الى النقاط التي تهمنا كمتابعين لتقنية البلوكشين التي اصبحت الاساس لعالم العملات الرقمية..في البلوكشين تم اعتماد الهاش من النوع SHA256 والذي يعني تقسيم البيانات المراد تشفيرها لبلوكات طولها 256 بت واباستخدام مفتاح تشفير بطول 256  بت ايضا ( ارجو ممن لديه معلومات ادق عن هذا التوصيف ان يصحح معلوماتي ان كانت خاطئة )...هذا الهاش يعتبر هاش تشفير قوي جدا ومعتمد من قبل هيئة مقاييس التشفير الدولية...في البلوكشين عشان تبدأ  تنشأ بلوك جديد لازم اولا تربطه بكل المعلومات والصفقات السابقة التي تمت في البلوكشين منذ اول بلوك حتى البلوك الجديد اللي حيبدأ انشاؤه...تخيل معي ان كل المعلومات التي ذكرناها ستجدها في الهاش النهائي الذي نتج عن اخر بلوك او مايطلق عليه BLOCK HEADER ... لان هذا الهاش هو حصيلة هاشات متتالية تمت منذ اول يوم نشأت فيه اول صفقة بأول بلوك حتى اخر بلوك ولهذا ستدرك الان لماذا تشفير البلوكشين او سلسلة البلوكشين تشفير موثوق وصعب الاختراق لانه من الصعب فك شفرة الهاش لعملية تشفير واحدة مابالك اذا كنت تحتاج لفك تشفير هاشات متتالية بعمليات تقدر بالملايين ...لنشرح الان كيف سيحدث التشفير بواسطة الهاشات في البلوك الجديد ومدى صعوبتها في البلوك الواحد كي تتضح الصورة اكثر..الان سيبدأالمعدن او بالاصح العقدة التعدينية بكل ماتمتلكه من قدرة حاسوبية باعتماد اخر BLOCK HEADER موثق ومعتمد على البلوكشين وتم التوافق عليه من قبل غالبية العقد بالشبكة .. سيحول هذا الهاش الى بتات ثنائية  ويدمج مع بيانات الصفقات الجديدة ويعمل لها هاش جديد ثم ستأتي صفقات جديدة تقسم الى بتات بطول 256 بت ويطبق عليها مفتاح التشفير بطول 256 بت ويعمل لها هاش جديد وهكذ كلما زاد عدد الصفقات كلما زاد عدد الهاشات ومن اجل اختصار كل هذه العمليات الى ناتج نهائي واحد يتم دمج هاشي كل صفقتين مع بعض ويعمل لهما هاش جديد واذا وجدت صفقة وحيدة بدون ما يوجد بجانبها صفقة اخرى تدمج معها تدبل وتجمع مع نفسها ويعمل لها هاش جديد وهكذا مع كل هاش ناتج من صفقتين مدمجتين يتم دمجها مرة اخرى بهاش جديد حتى ينتهي البلوك المحدود بالعشر دقائق لهاش وحيد  وهو الاكثر صعوبة نظرا لانه حوى اكبر عدد من الهاشات المدمجة السابقة... عملية دمج الصفقات الثنائية هي طريقة تشفير مشهورة اسمها شجرة ميريكل   وهي المعتمدة حاليا في البلوكشين والتي ينتج عنها هاش نهائي معقد  ترسل العقدة التي انتجته نتيجته الى كل العقد الاخرى بالشبكة التي تدرسه وتوافق عليه او ترفضه اذا وجدتان فيه معلومات تخالف ماهو محفوظ عندها مسبقا اما اذا وجدته بدون اي خلل فتعتمده وترسل لكل العقد الاخرى موافقتها عليه فاذا حظي هذا الهاش بموافقة الاغلبية بالشبكة يعتمد ويوثق من قبل الجميع ويعلن عنه ك BLOCK HEADER جديد للبلوك الجديد سيتخدمه المعدنون لاحقا للبناء عليه لانشاء بلوكات جديدة لاحقا.. ارجو ان تكون الصورة قد وضحت الان للجميع عن اهمية تقنية التشفير بواسطة الهاش وكيف ان التشفير في البلوكشين هو عبارة عن توليد سلسلة من الهاشات المتتالية والتي تتنافس العقد التعدينية المختلفة على انتاجها باكبر قدر ممكن من الصعوبة ..
sr. member
Activity: 490
Merit: 275
بسم الله الرحمن الرحيم

تحدثنا بمواضيع سابقة عن بعض المعلومات عن التشفير و ماهو التشفير و بعض انواعة و فكرة عملة
https://bitcointalksearch.org/topic/m.43890877

سنتحدث اليوم عن الهاش و فهم فكرته




اذن باختصار ماهو الهاش Hash ؟

عملية حسابية لتوليد هاش ثابت من البيانات المعطاءة يختلف طول الهاش باختلاف الخوارزمية المستخدمة يمكنك اعتبار الخوارزمية مثل الدالة الرياضية تعطيها مدخلات تعطيك مخرجات الان انها عبارة عن دوال احادية الاتجاة one way function بمعنى صعوبة عكس العملية او معرفة plain text بمدلولية الهاش hash
فمثلاً هاش باستخدام خوارزمية MD5 ينتج عنه 32 حرف بمجرد تغير البيانات يختلف الهاش اختلاف كبير جداً عن السابق و لو حتى اضافة حرف واحد فقط مهما تم تغير البيانات او كبرها ينتج 32 حرف فقط لا يتشابهه مع معلومات او ملفات اخرى

ما الفرق بين الهاش و التشفير ؟

بالتشفير  مثل ماعرفنا يمكنك ارسال او حفظ البيانات بسرية يصعب على من يحصل على البيانات من فهمها بسهولة و يمكن استرجاع البيانات و فهمها
اذا امتلكت مفتاح التشفير يمكن فك التشفير وفهمه (تحويل التشفيرلنص مفهوم) و تشفير البيانات اي (تحويل النص المفهوملغير مفهوم )
مصطلح encrypted للتشفير و decrypted لفك التشفير

انصحك بمشاهدة هذا الفيديو https://www.youtube.com/watch?v=aWPK2YZAbBw فهو غني بالمعلومات لتعرف الفرق اكثر

تطبيق عملي :

لفهم فكرة الهاش سنقوم بعمل بملف txt بسيط للتجربة الادوات التي تحتاجها: المفكرة Notepad و windows powershell
اذا كنت تشتغل على لينكس ستختلف الاوامر

سنعمل ملف باسم "file.txt" بالقرص c يحتوي الملف على كلمة "hello" لنحسب الهاش علينا استخدام موجة الاوامر windows powershell لكتابة الاوامر ابحث عن البرنامج من قائمة ابداء
سيكون الامر كالتالي :

Code:
Get-FileHash C:\file.txt

بعد تطبيق الامر السابق ستظهر النتيجة التالية : 2CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824
هذا هو هاش محتوى الملف "file.txt" الذي يحتوي على كلمة "hello" باستخدام خوارزمية SHA256 اذا لم تحدد خوارزمية معينة افتراضياً SHA256

الان حتى نفهم الفكرة سنقوم بتغير محتوى الملف و اضافة "." فقط نقطة بعد كلمة hello سنحفظ الملف و نقوم بتنفيذ نفس الامر السابق
ستظهر النتيجة هذه المره كالتالي : 1589999B0CA6EF8814283026A9F166D51C70A910671C3D44049755F07F2EB910

فرق كبير بين الهاش السابق و الهاش بعد تغير محتوى الملف و اضافة فقط . نقطة

اذا اردت تحديد حوارزمية معينة سيكون الامر كالتالي :

Code:
Get-FileHash C:\file.txt -Algorithm MD5 | Format-List

-Algorithm    : لاختيار خوارزمية معينة مثلاً (MD5 , SHA1, SHA512)
| Format-List : لاظهار معلومات اكثر و تنظيمة بقائمة

يمكنك التعرف اكثر على الامر Get-FileHash من توثيق ميكروسوفت

مواقع لحساب الهاش :
https://www.tools4noobs.com/online_tools/hash
https://www.fileformat.info/tool/hash.htm


بعض الاستخدامات :
اذا كنت قد سبق و تعاملت مع توزيعات لينكس او اردت تحميل توزيعة معينة بجانب ملف التحميل تجد الهاش الخاص بالملف حتى تضمن ان الملف المحمل نفس الملف و لم يتم التلاعب به او تغيرة امر مهم
يستخدم بشكل عام للتاكد من عدم تغير معلومات بيانات معينة او ملف معين
الهاش ايضاً يستخدم بمجال العملات الرقمية مارايكم اين يستخدم بمجال العملات الرقمية ؟

هل تعرف استخدامات اخرى للهاش ؟ اذكرها

ملاحظة : قد تكون بعض غير دقيقة لذلك اطلب لمن لديهم خبرة بتصحيح الخطاء
شاكر لكم متابعة الموضوع و السلام عليكم ورحمه الله
Jump to: