<h1> مفتاح التشفير الخاص مقابل المفتاح العام </ h1>
الحصول على عبر متجر التطبيقات قراءة هذه المشاركة في التطبيق لدينا!
كيف ترتبط المفاتيح العامة والخاصة بالمحفظة؟
أنا أفهم أن كل بروتوكول Bitcoin يستند إلى تشفير غير متماثل.
يحصل المستخدم على مفتاحين (عام و خاص). كيف تتصل هذه المفاتيح ب Bitcoins؟
كيف ترتبط المفاتيح بالمحفظة؟ كيف يمكنني تحديد عدد وحدات Bitcoins التي سيتم نقلها عند استخدام مفتاحي الخاص؟
إن إجابة توماس صحيحة ، لكني أعتقد أن الإصدار السهل يمكن تقديره أيضًا.
أفترض أنك تعرف مفهوم التشفير بالمفتاح العمومي؟ إذا لم تقم بذلك ، فإليك شرحًا قصيرًا جدًا (أو اقرأ صفحة ويكيبيديا): إن التشفير العام للمفتاح (كما هو مستخدم في Bitcoin) ، يسمح لك بتسليم الأشخاص مفتاحًا عامًا واستخدام المفتاح الخاص المقابل لإثبات الملكية. حتى تتمكن من إنشاء أي مفتاح خاص عشوائي (احتفظ به سراً) وحساب المفتاح العام المقابل (أخرجه للجمهور للتحقق). باستخدام هذا المفتاح الخاص ، يمكنك تسجيل رسالة ويمكن للآخرين التحقق من ملكيتك للمفتاح الخاص باستخدام مفتاحك العام.
لذلك ، طبقت على البيتكوين.
عنوان Bitcoin هو مجرد رمز اختصار لمفتاح عمومي. عندما يقوم شخص ما بإجراء معاملة إلى عنوان ، يقول "أعطي الحق في إنفاق هذا المال على الشخص الذي يملك المفتاح الخاص المطابق لهذا العنوان". وسيتمكن الشخص الذي استلم هذه المعاملة من دفع المعاملة عن طريق توقيع المعاملة باستخدام مفتاحه الخاص. مع هذا التوقيع يمكن أن يثبت أنه يملك المفتاح ، دون الإفصاح عنه. يمكن للآخرين التحقق من التوقيع باستخدام المفتاح العام.
أما بالنسبة للجزء الثاني من سؤالك ، فإنه يصبح أكثر تقدمًا قليلاً. والطريقة السهلة للنظر إليه هي أن كل معاملة تأخذ عددًا من المدخلات وتولد عددًا من المخرجات. المدخلات في هذه الحالة هي مخرجات من المعاملات السابقة. بالنسبة لكل إدخال ، يجب على المستخدم توفير التحقق من أنه مسموح له بقضاء هذا الناتج بإضافة توقيع.
تتكون محفظة Bitcoin البسيطة من واحدة من أكثر الأزواج من المفاتيح العامة والخاصة (أقول ببساطة هنا لأن بعض بنية المحفظة تسمح لأجيال المفتاح العمومي الحتمي والمفاتيح الخاصة التي لا تستطيع سوى إنفاق جزء من المحفظة ، ولكن المبدأ مع الجمهور / المفاتيح الخاصة لا تزال هي نفسها). يحدث "الارتباط" بـ Bitcoin مبدئيًا أثناء إنشاء الكتلة حيث يتم إنشاء كمية معينة من Bitcoin وإرسالها إلى عنوان عامل التعدين العام ؛ هذا مجرد سجل في blockchain. ثم يمكن إرسال هذه القطع النقدية إلى عناوين عامة أخرى باستخدام المعاملات.
أبسط معاملة لها دخل واحد ومخرج واحد. أي إنها تنفق عملات معدنية من عنوان واحد إلى عنوان وجهة واحدة. لكي تكون صالحة ، يجب ألا تتجاوز كمية العملات التي يتم إخراجها كمية العملات المعدنية المدخلة ، ويتم التحقق من صحة توقيع عنوان المخرجات من خلال عنوان المدخلات الخاص.
في العالم الحقيقي ، فإن أرصدة المحافظ تصبح مجموع كل المدخلات إلى تلك المحفظة ، لذلك عندما تقوم بإجراء معاملة ، فإن البرنامج سيختار العدد المطلوب من المدخلات للحصول على مبلغ مساوٍ أكبر لقيمة المخرجات + الرسوم المطلوبة. إذا تجاوز المبلغ ما تريد إنفاقه ، فيمكن إعادة الباقي إلى أحد عناوين الإدخال أو حتى عنوان جديد لمحفظةك ، بحيث ترسل بنفسك المبلغ الزائد من Bitcoins. يعتبر أي مبلغ غير منفّذ في المعاملة رسومًا ويتم تحصيله بواسطة عامل التعدين الذي يولد الكتلة.
يمكن أن تكون المعاملات أكثر تعقيدًا أيضًا ؛ Bitcoin يسمح لنظام نصي قوي جدا يمكن أن يجعل المعاملات قابلة للانفاق في العديد من الطرق. يمكنك قراءة المزيد عن معاملات bitcoin ونظام البرمجة النصية هنا:
عند إرسال معاملة ، يتم ترحيلها إلى الشبكة لتضمينها في كتلة إذا كانت تمرر القواعد المشتركة للمعاملات (الصلاحية ، والرسوم ، والحجم ، وما إلى ذلك). في نهاية المطاف ، سيقوم عامل منجم باختيار معاملتك وإدراجه كتلة (يتم تضمين المعاملات فعليًا في شجرة merkle التي يوجد بها تجزئة جذر في رأس كتلة - تجزئة رأس الفدرة هو دليل العمل الذي يجب أن يتطابق مع متطلبات الصعوبة الخاصة بـ منع).
<h1> مفتاح التشفير الخاص مقابل المفتاح العام </ h1>
الحصول على عبر متجر التطبيقات قراءة هذه المشاركة في التطبيق لدينا!
ما هو تشفير المفتاح الخاص وتشفير المفتاح العمومي ، وأين تكون مفيدة؟
لا أفهم سيناريوهات استخدام العالم الحقيقي لطرق التشفير هذه. هل يمكن لأي أحد أن يشرح كيف يعمل ، مع أمثلة واستخدامه في العالم الحقيقي؟
تحتوي ويكيبيديا على مقالة جيدة حول تشفير المفتاح العام / الخاص. لتلخيص التشفير العام / الخاص بالمفتاح هو مفهوم واحد ، وليس اثنين. البديل عن التشفير العام / الخاص بالمفتاح هو استخدام التشفير المتماثل الذي يحتوي على مفتاح واحد لكل زوج من شركاء الاتصال.
في التشفير غير المتماثل ، يكون لدى الشخص / الكمبيوتر مفتاحًا رئيسيًا. يتم الاحتفاظ مفتاح واحد سرا ودعا المفتاح الخاص. الآخر يعطى لشركاء الاتصالات. لا يمكن فك تشفير أي شيء يتم تشفيره باستخدام المفتاح العام إلا باستخدام المفتاح الخاص المطابق. تشفير متماثل هو أبسط بكثير وأكثر أداء ، لكنه لا يتسع لعدد كبير من شركاء الاتصالات (10 أشخاص يحتاجون إلى 45 مفتاحًا لكل واحد للحديث بأمان لكل شخص آخر).
ونتيجة لذلك ، غالبًا ما يتم استخدام كلا النظامين معًا في العالم الحقيقي: يتم تشفير البيانات الفعلية باستخدام مفتاح جلسة متماثل ، والذي يكون صالحًا لجلسة واحدة فقط. يتم إرسال هذا المفتاح (أو بعض المعلومات التي يمكن استخلاصها منه) باستخدام تشفير المفتاح العام / الخاص في بداية الجلسة.
لا يمكن فك تشفير أي شيء مشفر باستخدام مفتاح عام إلا باستخدام المفتاح الخاص.
المثال الأكثر شيوعًا هو HTTPS. عندما تتصل بخادم HTTPS ، فسوف يرسل لك شهادة. الشهادة هي مجرد مفتاح عام به بعض معلومات الهوية المرفقة به. باستخدام هذا المفتاح العام ، يمكن للمتصفح إرسال المعلومات إلى الخادم الذي لا يستطيع الخادم فك تشفيره إلا باستخدام مفتاحه الخاص. بناء على ذلك ، يتم التفاوض على مفتاح جلسة متماثل بين المتصفح والخادم ، والذي يستخدم لتشفير حركة المرور.
يمكن توقيع معلومات المفتاح الخاص ويمكن التحقق من هذا التوقيع باستخدام المفتاح العام. حالة الاستخدام الأكثر شيوعًا هي توقيع الشهادة لإخبار العالم بأنك تثق في تلك الشهادة لكي تحتوي على معلومات هوية صحيحة. هناك عدد من هيئات إصدار الشهادات التي يتم تثبيتها بشكل افتراضي بواسطة المتصفحات الشائعة.
يمكن استخدام تشفير المفتاح العام / الخاص للعديد من الأشياء المختلفة. المثال المعياري هو البريد الإلكتروني ، ولكن هذا ليس واسع الانتشار لأنه معقد للغاية بالنسبة لمستخدمي الكمبيوتر العاديين. تمثل البطاقات الذكية مثالاً أفضل: فهي تخزن المفتاح الخاص ولديها معالج صغير يمكنه إجراء التشفير والتوقيع. لذلك لا يترك المفتاح الخاص الجهاز.
تعجبني إجابة هندريك ، لكنني أحسب أنني سأضع بعض الأشياء الأخرى التي لا تناسب تعليقًا.
تشفير المفتاح العام - يشير إلى التشفير غير المتماثل لأن أحد المفتاحين يتم جعل مفتاح التشفير العام الخاص - يشير إلى التشفير المتناظر حيث يجب الحفاظ على المفتاح الوحيد والوحيد.
التشفير المتناظر هو عموما سريع جدا ، لذلك يتم استخدامه بسهولة في تطبيقات الوقت الحساسة - على سبيل المثال ، التشفير جلسة بين نقطتين. يستخدم TLS / SSL هذه الطريقة.
تشفير متناظر له عيب كبير - كل شخص / كل شيء يستخدمه يجب أن يكون لديه مفتاح خاص ، ويجب أن يتم نقل المفتاح الخاص بعناية وإلا فإنه سوف يفقد قيمة خصوصيته. لذلك لا يمكن استخدام التشفير المتناظر لإثبات الهوية أو التوقيع. هذه كانت دائما القيمة المضافة الكبيرة للتشفير غير المتماثل ، حيث يمكنك الاحتفاظ بمفتاحك الخاص وتوزيع المفتاح العام على أي شخص آخر.
المثال الكبير الواضح (كما قال هندريك) هو شهادات الخادم في جلسة HTTPS. إذا كنت تشاهد بعناية ، فيتم استخدام التشفير غير المتماثل في عدد من الطرق في هذه الحالة الفردية:
التوقيع الرقمي - يتم توقيع شهادة الخادم من قبل المرجع المصدق (أو أنه موقّع ذاتيًا) - وهذا يثبت أن بعض القوى الأعلى (مثل GoDaddy) قد تحققت من هذه المعلومات وتؤكد صحتها. لم يتم العبث بهذه المعلومات ، ويمكنك إثبات ذلك بتجزئة معلومات الشهادة ومقارنتها بتوقيع CA بعد فك تشفيرها بالمفتاح العمومي الخاص بالمؤسسة.
التشفير - يستخدم العميل شهادة الخادم لتشفير وإرسال المعلومات اللازمة لإعداد الجلسة.
تحديد الهوية - حقيقة أن الخادم يمكن فك تشفير معلومات العميل يثبت أنه يمتلك المفتاح الخاص. دليل على المفتاح الخاص يعطي دليلا على أنك ، في الواقع ، التحدث إلى الخادم الذي معتمد من CA.
ولكن - بمجرد الانتهاء من جميع أعمال المصافحة المقدمة من SSL / TLS ، تكون مفاتيح الخادم غير المتماثلة قديمة - فالحاسبان يتحدثان باستخدام التشفير المتناظر. التشفير غير المتماثل ، عندما يستخدم فقط للتشفير ، يميل إلى أن يكون أبطأ من التشفير المتناظر ، لذلك في معظم الأحيان سوف يأخذ النظام منهجًا هجينًا ويستخدم غير متماثل للأشياء التي يمكن أن يعملها فقط التشفير غير المتماثل (تحديد الهوية) وسيعود مرة أخرى على التشفير المتناظر للأشياء التي يكون فيها الوقت عاملاً.
مفاتيح البيتكوين العامة والخاصة.
هناك أكثر من محفظة البيتكوين من مجرد العنوان نفسه. كما أنه يحتوي على المفتاح العام والخاص لكل من عناوين بيتكوين الخاصة بك. مفتاحك الخاص بيتكوين هو عبارة عن سلسلة يتم إنشاؤها عشوائيًا (أرقام وحروف) ، مما يسمح بإنفاق bitcoins. يرتبط المفتاح الخاص دائمًا بحساب عنوان محفظة البيتكوين ، ولكن من المستحيل إجراء هندسة عكسية بفضل قاعدة شفرة التشفير القوية.
إذا لم تقم بإجراء نسخ احتياطي لمفتاحك الخاص وفقدته ، فلن يعد بإمكانك الوصول إلى محفظة بيتكوين الخاصة بك لإنفاق الأموال.
كما ذكر ، هناك أيضا مفتاح عام. هذا يسبب بعض الارتباك ، حيث يفترض بعض الناس أن عنوان المحفظة بيتكوين والمفتاح العام هي نفسها. هذا ليس هو الحال ، لكنها مرتبطة رياضيا. عنوان محفظة البيتكوين هو نسخة مجزأة من مفتاحك العام. كل مفتاح عمومي يبلغ 256 بت - آسف ، هذه هي مادة رياضية - والتجزئة النهائية (عنوان المحفظة) 160 بت. يتم استخدام المفتاح العام للتأكد من أنك مالك عنوان يمكنه تلقي الأموال. كما أن المفتاح العام مشتق رياضيا من مفتاحك الخاص ، ولكن استخدام الرياضيات العكسية لاشتقاق المفتاح الخاص سوف يستغرق أكثر حاسوب عملاق في العالم يتضاعف بكثير من تريليون عام.
إلى جانب هذه الأزواج الرئيسية وعنوان محفظتك من بيتكوين ، فإن محفظة بيتكوين تخزن أيضًا سجلًا منفصلاً لكل معاملاتك الواردة والصادرة. سيتم تخزين كل معاملة مرتبطة بعنوانك من قبل محفظة البيتكوين لمنح المستخدمين لمحة عامة عن إنفاقهم وعاداتهم.
أخيرًا وليس آخرًا ، تعمل محفظة البيتكوين أيضًا على تخزين تفضيلات المستخدم الخاصة بك. ومع ذلك ، تعتمد هذه التفضيلات على نوع المحفظة التي تستخدمها وعلى النظام الأساسي. على سبيل المثال ، لدى عميل Bitcoin Core تفضيلات قليلة جدًا للتلاعب بها ، مما يجعله أقل إرباكًا للمستخدمين المبتدئين للحصول على تعليق.
ما هو مفتاح بيتكوين الخاص؟
المفتاح الخاص هو مجرد رقم يتم اختياره عشوائياً.
يتم استخدام المفتاح الخاص لإنشاء المفتاح العمومي من خلال عملية لا رجعة فيها.
في حالة Bitcoin ، يتم تشغيل المفتاح الخاص في المفتاح العام من خلال تشفير منحنى Elliptic أو ECC للاختصار.
إذا فقدت المفتاح الخاص لا يمكنك الوصول إلى Bitcoins الخاص بك ، وإذا اكتشف شخص آخر أنه يمكن سرقتها.
المفتاح الخاص هو مجرد رقم طويل وفي حالة البيتكوين ، يكون الرقم بين 1 & amp؛ 1.158x 10 ^ 77. في الممارسة يتم إنشاء هذا الرقم باستخدام مولد رقم عشوائي آمن يتم إدخاله بعد ذلك إلى خوارزمية التجزئة SHA-256. تأخذ خوارزمية التجزئة SHA-256 سلسلة من الأرقام وتخرج رقمًا ذا 256 بت والذي يجب فحصه لمعرفة ما إذا كان أقل من 1.158 × 10 ^ 77.
عند إنشاء مفتاحك الخاص ، فإن معظم البرامج ستفعل ذلك تحت غطاء المحرك ، ولكن إذا اخترت طرقًا معينة بنفسك مثل 1x10 ^ 77 أو أي أرقام واضحة أخرى ومن ثم التجزئة عبر SHA-256 ، فيمكن للمتسللين إنشاء جداول قوس قزح ومطابقتها مفتاحك الخاص ، المفتاح العام والعنوان. إذا قمت بذلك واخترت عبارة معينة فأنت تقلل الانتروبيا أو الفوضى التي تختارها! اختر دائما العشوائية فقط لتكون آمنة حتى لو كانت فرص صغيرة جدا.
إن الهدف من استخدام تشفير المنحنى البيضاوي هو العثور على طريقة تتيح لك إنشاء مفتاح عمومي من Bitcoin بكل سهولة مفتاح Bitcoin الخاص وليس العكس - أي العثور على مفتاح Bitcoin الخاص من مفتاحه العام.
ويرجع ذلك إلى مشكلة اللوغاريتم المنفصلة للمنحنيات الإهليلجية ، حيث أن أفضل الحلول الرياضية لكسر تشفير المنحنى البيضاوي يجب أن تأخذ خطوة تتناسب مع 2n / 2 ، حيث n هو طول الرقم الذي يجب أن يكون عليه مفتاح Bitcoin أقل (1.158x 10 ^ 77) (يُعرف أيضًا باسم حجم الحقل الذي يستند إليه المنحنى على الحساب النمطي).
في الواقع العملي ، هذا يعني أن الهاكر سيحتاج إلى حسابات 21 ^ 28 لكسر تشفير المنحنى البيضاوي بناءً على مواصفات Bitcoins. وباستخدام مليون وحدة من وحدات المعالجة المركزية (CPU) ، فإن هذا يستغرق حوالي 260 مليار مرة من عمر الكون - وهو وقت طويل.
مفتاح بيتكوين العام الذي يتم إنتاجه بواسطة تشفير المنحنى البيضاوي هو في الواقع نقطة مع إحداثيات س وص. لمعرفة السبب في إلقاء نظرة على دليل العمق لدينا إلى التشفير منحنى Elliptic.
<h1> مفتاح التشفير الخاص مقابل المفتاح العام </ h1>
عندما أعمل على منتج سيحقق استخدامًا كبيرًا للتشفير ، وجدت نفسي أحاول شرح تشفير المفتاح العام إلى الأصدقاء أكثر من مرة مؤخرًا.
لدهشتي ، أي شيء مرتبط بعبور عبر الإنترنت يجعل الأمر يبدو أكثر تعقيدًا مما ينبغي. لكنها ليست كذلك.
أولاً ، لنرى كيف يعمل التشفير "المتماثل".
جون لديه مربع مع قفل. كالعادة ، يحتوي القفل على مفتاح يمكنه قفل الصندوق وإلغاء قفله. لذا ، إذا أراد جون أن يحمي شيئًا ، فإنه يضعه في الصندوق ويقفله. من الواضح أنه هو أو شخص آخر لديه نسخة من مفتاحه يمكنه فتح الصندوق.
هذا هو التشفير المتناسق: لديك مفتاح واحد ، ويمكنك استخدامه لتشفير ("قفل") وفك تشفير ("فتح") البيانات الخاصة بك.
لنرى الآن كيف يعمل التشفير غير المتماثل أو "المفتاح العام".
آنا لديها صندوق أيضا. إنه صندوق به قفل خاص جدًا.
يحتوي هذا القفل على ثلاث حالات: A (مقفل) و B (غير مقفلة) و C (مقفل).
ويحتوي على مفتاحين منفصلين (نعم ، اثنين). يمكن للمرء أن يتحول في اتجاه عقارب الساعة فقط (من A إلى B إلى C) والثاني يمكن أن يتحول عكس اتجاه عقارب الساعة فقط (من C إلى B إلى A).
تختار آنا أول مفاتيح المفاتيح وتبقيها على نفسها. سوف نسمي هذا المفتاح ، مفتاحها "الخاص" ، لأن "آنا" فقط تمتلكه.
سنطلق على المفتاح الثاني ، مفتاحها "العام": تقدم آنا مائة نسخة منه ، وتعطي البعض للأصدقاء والعائلة ، وتترك حفنة على مكتبها في المكتب ، وتعلق زوجها خارج بابها ، إلخ. إذا سألها شخص ما عن بطاقة أعمال ، فستسلم له نسخة من المفتاح أيضًا.
وبالتالي. لدى Anna مفتاحها الخاص الذي يمكن أن يتحول من A إلى B إلى C. وكل شخص آخر لديه مفتاحها العام الذي يمكن أن يتحول من C إلى B إلى A.
يمكننا القيام ببعض الأشياء الشيقة مع هذه المفاتيح.
بادئ ذي بدء ، تخيل أنك تريد إرسال آنا وثيقة شخصية للغاية. يمكنك وضع المستند في المربع واستخدام نسخة من مفتاحها العام لقفله. تذكر أن مفتاح Anna العام يتحول عكس اتجاه عقارب الساعة فقط ، لذا يمكنك تحويله إلى الموضع A. والآن يتم قفل الصندوق. المفتاح الوحيد الذي يمكن أن يتحول من A إلى B هو مفتاح Anna الخاص ، وهو المفتاح الذي تحتفظ به لنفسها.
هذا هو! هذا هو ما نطلق عليه تشفير المفتاح العمومي: كل شخص لديه مفتاح عام لآنا (ومن السهل العثور على نسخة منه ، لقد كانت تتخلى عنهم ، تذكر؟) ، يمكنه وضع الوثائق في صندوقها ، وقفلها ، وتعلم أن فقط الشخص الذي يمكن أن يطلق عليه هو آنا.
هناك استخدام واحد أكثر إثارة للاهتمام لهذا المربع.
لنفترض أن آنا تضع وثيقة فيها. وتستخدم مفتاحها الخاص لقفل الصندوق ، أي تحويل المفتاح إلى الموضع (C).
لم قد تفعل ذلك؟ بعد كل شيء ، يمكن لأي شخص لديه مفتاحها العام ، فتحه! انتظر.
يقدم لي شخص ما هذا المربع ويقول إنه من آنا. أنا لا أصدقه ، ولكنني أختار مفتاح Anna العام من الدرج حيث أحفظ جميع المفاتيح العامة لأصدقائي ، وأجرّبها. أنتقل الحق ، لا شيء. أنتقل إلى اليسار ويفتح الصندوق! "هم" ، على ما أعتقد. "هذا لا يعني إلا شيئًا واحدًا: تم قفل الصندوق باستخدام مفتاح آنا الخاص ، وهو المفتاح الوحيد الذي تمتلكه".
لذلك ، أنا متأكد من أن آنا ، وليس أي شخص آخر ، وضعت المستندات في المربع. نحن نسمي هذا "التوقيع الرقمي".
في العالم الرقمي الأمور أسهل بكثير. [**]
"المفاتيح" ليست سوى أرقام كبيرة ، وأرقام طويلة تحتوي على العديد من الأرقام. يمكنك الاحتفاظ بمفتاحك الخاص ، وهو رقم ، في ملف نصي أو في تطبيق خاص. يمكنك وضع مفتاحك العام ، وهو أيضًا رقم طويل جدًا ، في توقيع البريد الإلكتروني ، وموقع الويب الخاص بك ، وما إلى ذلك. ولا حاجة إلى مربعات خاصة ، فأنت تقوم فقط "بإقفال" و "إلغاء" الملفات (أو البيانات) باستخدام التطبيق ومفاتيحك.
إذا قام أي شخص ، حتى أنت ، بتشفير ("قفل") شيء ما بمفتاحك العام ، يمكنك فقط فك تشفيره ("فتح") بمفتاحك السري الخاص.
إذا قمت بتشفير ("قفل") شيء ما باستخدام مفتاحك الخاص ، فيمكن لأي شخص فك تشفيره ("إلغاء القفل") ، ولكن هذا بمثابة دليل على تشفيره: إنه "موقّع رقميًا" بواسطتك.
[**] يمكن أن يكون الأمر أكثر تعقيدًا أيضًا: يمكننا استخدام مفتاحنا الخاص للتوقيع على ملف ثم المفتاح العام لشخص آخر لتشفيره حتى لا يتمكن من قراءته. ويمكن لمستخدم واحد ، أو منظمة ما ، توقيع مفاتيح المستخدمين الآخرين رقميًا ، للتحقق من صحتها ، وما إلى ذلك ، وما إلى ذلك. ولكن كل هذا ينهار فعلاً لاستخدام المفتاح أو الآخر ووضع الصناديق في مربعات أخرى - وهو خارج نطاق هذه المادة.
عن طريق التصفيق أكثر أو أقل ، يمكنك أن تشر لنا أي القصص تبرز حقا.
بيتكوين.
13 812 пользователей находятся здесь.
مرحبًا بك في Reddit ،
الصفحة الأولى من الإنترنت.
والاشتراك في واحدة من آلاف المجتمعات.
то архивированный пост. Вы не можете голосовать или комментировать.
تريد أن تضيف إلى المناقشة؟
[-] luke-jr Luke Dashjr - Bitcoin Expert 3 очка 4 очка 5 очков 2 منذ شهر (0 يومًا)
помощь правила сайта центр поддержки вики реддикет mod guidelines связаться с нами.
приложенияи инструменты Reddit for iPhone Reddit for Android mobile website кнопки.
Использование данного сайта означает، что вы принимаете пользовательского соглашения и Политика конфиденциальности. &نسخ؛ 2018 reddit инкорпорейтед. Все права защищены.
REDDIT وشعار ALIEN هي علامات تجارية مسجلة لشركة reddit inc.
وبي. مقدم بواسطة PID 96750 على app-349 في 2018-01-09 21: 05: 23.870173 + 00: 00 رمز البلد 45d5aef: DE.
لماذا أحتاج إلى مفتاح عام أو خاص على Blockchain؟
عندما يرسل إليك شخص ما cryptocoins على Blockchain ، فإنه يرسلها فعليًا إلى نسخة مجزأة لما يُعرف باسم "المفتاح العام". هناك مفتاح آخر مخفي عنهم ، يُعرف باسم "المفتاح الخاص". ويستخدم هذا المفتاح الخاص لاشتقاق المفتاح العام. يمكنك معرفة مفتاحك الخاص ، ويعرف الجميع على Blockchain مفتاحهم الخاص ، ولكن لا ينبغي أن يشارك المفتاح الخاص مع الغرباء (أي ، إلا إذا كنت تريد سرقة cryptocurrencies الخاص بك!).
يعتبر كل من المفتاح الخاص والمفتاح العام أرقامًا صحيحة كبيرة ، ولكن نظرًا لأن هذه الأرقام كبيرة جدًا ، يتم تمثيلها عادةً باستخدام تنسيق استيراد محفظة منفصل (WIF) يتكون من أحرف وأرقام.
نموذج المفتاح الخاص في WIF:
المفتاح الخاص هو أطول من الاثنين ، ويتم استخدامه لإنشاء توقيع لكل معاملة blockchain يرسلها المستخدم. يستخدم هذا التوقيع للتأكيد على أن المعاملة قد أتت من المستخدم ، وكذلك منع المعاملة من تغيير أي شخص بمجرد إصدارها. باختصار ، أنت تقوم بالتوقيع على رسائل cryptocurrencies التي ترسلها إلى الآخرين باستخدام مفتاح خاص. إذا كان هناك شخص ما سيحصل على مفتاحك الخاص ، فسيكون بمقدوره إرسال شفراتك السرية إلى نفسه ، والتحقق من تلك المعاملة مع المفتاح الخاص - في الواقع سرقة منك!...وكل شخص آخر لديه مفتاحها العام الذي يمكن أن يتحول من C إلى B إلى A.
يمكننا القيام ببعض الأشياء الشيقة مع هذه المفاتيح.
بادئ ذي بدء ، تخيل أنك تريد إرسال آنا وثيقة شخصية للغاية. يمكنك وضع المستند في المربع واستخدام نسخة من مفتاحها العام لقفله. تذكر أن مفتاح Anna العام يتحول عكس اتجاه عقارب الساعة فقط ، لذا يمكنك تحويله إلى الموضع A. والآن يتم قفل الصندوق. المفتاح الوحيد الذي يمكن أن يتحول من A إلى B هو مفتاح Anna الخاص ، وهو المفتاح الذي تحتفظ به لنفسها.
هذا هو! هذا هو ما نطلق عليه تشفير المفتاح العمومي: كل شخص لديه مفتاح عام لآنا (ومن السهل العثور على نسخة منه ، لقد كانت تتخلى عنهم ، تذكر؟) ، يمكنه وضع الوثائق في صندوقها ، وقفلها ، وتعلم أن فقط الشخص الذي يمكن أن يطلق عليه هو آنا.
هناك استخدام واحد أكثر إثارة للاهتمام لهذا المربع.
لنفترض أن آنا تضع وثيقة فيها. وتستخدم مفتاحها الخاص لقفل الصندوق ، أي تحويل المفتاح إلى الموضع (C).
لم قد تفعل ذلك؟ بعد كل شيء ، يمكن لأي شخص لديه مفتاحها العام ، فتحه! انتظر.
يقدم لي شخص ما هذا المربع ويقول إنه من آنا. أنا لا أصدقه ، ولكنني أختار مفتاح Anna العام من الدرج حيث أحفظ جميع المفاتيح العامة لأصدقائي ، وأجرّبها. أنتقل الحق ، لا شيء. أنتقل إلى اليسار ويفتح الصندوق! "هم" ، على ما أعتقد. "هذا لا يعني إلا شيئًا واحدًا: تم قفل الصندوق باستخدام مفتاح آنا الخاص ، وهو المفتاح الوحيد الذي تمتلكه".
لذلك ، أنا متأكد من أن آنا ، وليس أي شخص آخر ، وضعت المستندات في المربع. نحن نسمي هذا "التوقيع الرقمي".
في العالم الرقمي الأمور أسهل بكثير. [**]
"المفاتيح" ليست سوى أرقام كبيرة ، وأرقام طويلة تحتوي على العديد من الأرقام. يمكنك الاحتفاظ بمفتاحك الخاص ، وهو رقم ، في ملف نصي أو في تطبيق خاص. يمكنك وضع مفتاحك العام ، وهو أيضًا رقم طويل جدًا ، في توقيع البريد الإلكتروني ، وموقع الويب الخاص بك ، وما إلى ذلك. ولا حاجة إلى مربعات خاصة ، فأنت تقوم فقط "بإقفال" و "إلغاء" الملفات (أو البيانات) باستخدام التطبيق ومفاتيحك.
إذا قام أي شخص ، حتى أنت ، بتشفير ("قفل") شيء ما بمفتاحك العام ، يمكنك فقط فك تشفيره ("فتح") بمفتاحك السري الخاص.
إذا قمت بتشفير ("قفل") شيء ما باستخدام مفتاحك الخاص ، فيمكن لأي شخص فك تشفيره ("إلغاء القفل") ، ولكن هذا بمثابة دليل على تشفيره: إنه "موقّع رقميًا" بواسطتك.
[**] يمكن أن يكون الأمر أكثر تعقيدًا أيضًا: يمكننا استخدام مفتاحنا الخاص للتوقيع على ملف ثم المفتاح العام لشخص آخر لتشفيره حتى لا يتمكن من قراءته. ويمكن لمستخدم واحد ، أو منظمة ما ، توقيع مفاتيح المستخدمين الآخرين رقميًا ، للتحقق من صحتها ، وما إلى ذلك ، وما إلى ذلك. ولكن كل هذا ينهار فعلاً لاستخدام المفتاح أو الآخر ووضع الصناديق في مربعات أخرى - وهو خارج نطاق هذه المادة.
عن طريق التصفيق أكثر أو أقل ، يمكنك أن تشر لنا أي القصص تبرز حقا.
بيتكوين.
13 812 пользователей находятся здесь.
مرحبًا بك في Reddit ،
الصفحة الأولى من الإنترنت.
والاشتراك في واحدة من آلاف المجتمعات.
то архивированный пост. Вы не можете голосовать или комментировать.
تريد أن تضيف إلى المناقشة؟
[-] luke-jr Luke Dashjr - Bitcoin Expert 3 очка 4 очка 5 очков 2 منذ شهر (0 يومًا)
помощь правила сайта центр поддержки вики реддикет mod guidelines связаться с нами.
приложенияи инструменты Reddit for iPhone Reddit for Android mobile website кнопки.
Использование данного сайта означает، что вы принимаете пользовательского соглашения и Политика конфиденциальности. &نسخ؛ 2018 reddit инкорпорейтед. Все права защищены.
REDDIT وشعار ALIEN هي علامات تجارية مسجلة لشركة reddit inc.
وبي. مقدم بواسطة PID 96750 على app-349 في 2018-01-09 21: 05: 23.870173 + 00: 00 رمز البلد 45d5aef: DE.
لماذا أحتاج إلى مفتاح عام أو خاص على Blockchain؟
عندما يرسل إليك شخص ما cryptocoins على Blockchain ، فإنه يرسلها فعليًا إلى نسخة مجزأة لما يُعرف باسم "المفتاح العام". هناك مفتاح آخر مخفي عنهم ، يُعرف باسم "المفتاح الخاص". ويستخدم هذا المفتاح الخاص لاشتقاق المفتاح العام. يمكنك معرفة مفتاحك الخاص ، ويعرف الجميع على Blockchain مفتاحهم الخاص ، ولكن لا ينبغي أن يشارك المفتاح الخاص مع الغرباء (أي ، إلا إذا كنت تريد سرقة cryptocurrencies الخاص بك!).
يعتبر كل من المفتاح الخاص والمفتاح العام أرقامًا صحيحة كبيرة ، ولكن نظرًا لأن هذه الأرقام كبيرة جدًا ، يتم تمثيلها عادةً باستخدام تنسيق استيراد محفظة منفصل (WIF) يتكون من أحرف وأرقام.
نموذج المفتاح الخاص في WIF:
المفتاح الخاص هو أطول من الاثنين ، ويتم استخدامه لإنشاء توقيع لكل معاملة blockchain يرسلها المستخدم. يستخدم هذا التوقيع للتأكيد على أن المعاملة قد أتت من المستخدم ، وكذلك منع المعاملة من تغيير أي شخص بمجرد إصدارها. باختصار ، أنت تقوم بالتوقيع على رسائل cryptocurrencies التي ترسلها إلى الآخرين باستخدام مفتاح خاص. إذا كان هناك شخص ما سيحصل على مفتاحك الخاص ، فسيكون بمقدوره إرسال شفراتك السرية إلى نفسه ، والتحقق من تلك المعاملة مع المفتاح الخاص - في الواقع سرقة منك!......الجواب هو 2 بعد الظهر. أو يمكننا كتابة ما يلي:
ولأن هذا هو مثال على الحساب النمطي حيث يكون المعيار 12 ، فنحن في الواقع نكتب:
دعنا نأخذ وظيفة بسيطة:
هذه هي وظيفة لتحويل 2 في 9 ، لأنه هو نفس 3 * 3 ، وهو ما يساوي 9. هناك علاقة مباشرة بين حجم X وحجم نتيجة وظيفة. باستخدام الحساب الحسابي يمكن أن يعطي الخاصية خاصية رائعة & ndash؛ عدم القدرة على التنبؤ.
يتم تخزين كلمة المرور الخاصة بك في Windows كدالة ذات اتجاه واحد & ndash؛ وإن كان ذلك أكثر تعقيدًا من ما رأيناه للتو.
هناك بعض الخوارزميات المفيدة جدا التي تنتج سلاسل طول ثابت. على سبيل المثال ، لا يهم مقدار البيانات التي تطعمها إلى خوارزمية تجزئة MD4 ، ستحصل دائمًا على سلسلة 128 بت منه. هذا يعني أنه يجب أن يكون هناك الكثير من سلاسل الإدخال التي ستنتج بالضبط نفس سلاسل الإخراج & ndash؛ وبالفعل هناك هم يدعون الاصطدامات. أنها نادرة جدًا ، قد تفكر أيضًا في عدم حدوثها مطلقًا ، بالطريقة نفسها التي من غير المحتمل جدًا أن يكون لديك بها GUIDs من نفس القيمة إذا كان إطار البرمجة الذي تستخدمه به عشوائيًا صحيحًا ويستخدم عددًا كبيرًا من الأرقام الكافية للمعرفات الفريدة العمومية (GUID) . MD4 هي وظيفة معقدة في اتجاه واحد ، لذلك من المتوقع أن تكون التصادمات المتوقعة ، بكل المقاصد والأغراض ، مستحيلة. ما لم تستمر في محاولة ومقارنة سلاسل الإخراج. هذا هو ، من الناحية النظرية ، الطريقة الوحيدة لمعرفة ذلك. انها تسمى هجوم القوة الغاشمة. أنت فقط تستخدم قوة الحوسبة لتشغيل بسرعة فائقة من خلال جميع التوليفات الممكنة. قد يستغرق هذا وقتًا طويلاً. وقت طويل جدا. تجزئة مفيدة للغاية لأنها تسمح لك بإجراء مقارنات بسرعة كبيرة. إذا كان لديك رسالة كبيرة ، يمكنك إنشاء تجزئة MD4 للرسالة وإرسال التجزئة إلى شخص ما عبر شبكة بطيئة. ويمكنهم بعد ذلك تشغيل تجزئة على البيانات التي يحملونها ، والتي يعتقدون أنها متطابقة ومقارنة التجزئة التي أرسلتها ، مع تلك التي أنشأوها للتو. إذا كانت هي نفسها ، فهذا يعني أن مجموعتي البيانات هما نفس الشيء.
لذلك ، إذا كنت قد أخذت السلسلة & ldquo؛ 1 & rdquo؛ ووضعها من خلال وظائف التجزئة وندش] ؛ أنا سأنتهي مع:
ومع ذلك ، إذا أخذت السلسلة & ldquo؛ 2 & rdquo؛ ، والتي تتطابق رقميًا تقريبًا مع السلسلة الأولى & ndash؛ أنا سوف تحصل على نتائج مختلفة بشكل كبير.
كل هذه الأشياء تأتي في غاية الفائدة مع التوقيعات الرقمية التي سوف أصفها بعد قليل.
المشكلة في تشفير / فك تشفير البيانات بالطريقة التي أخبرتك بها حتى الآن ، هي أن عليك أن تحصل على مفتاح فك التشفير بطريقة آمنة لشريكك. يمكن بسهولة أن يتم اعتراضها في هذا اليوم من كل منا يجري بشكل دائم عبر الإنترنت. إنها المشكلة القديمة التي قام بها الجنرالات للتواصل مع ضباطهم في الميدان لعدة قرون. إذا تم التقاط الرسول الذي يمتلك المفتاح ، يمكن فك تشفير جميع اتصالاتك ، سواء كان المراسلون اللاحقون يعرفون المفتاح أم لا. وهذا ما يسمى مشكلة التوزيع الرئيسية.
جاء 3 علماء رياضيات مع إجابة لهذه المشكلة: ديفي ، هيلمان وميركل. يقومون بتبادل البيانات التي يمكن اعتراضها من قبل أي شخص ولكن يسمح لكل من المرسل والمتلقي بتوليد نفس المفتاح ولكن لا يسمح للمعتزم بتوليد المفتاح. يبدو لا يصدق؟ من السهل جدا شرح ذلك ، الآن بعد أن فهمت الحساب النمطي.
اتبع الخطوات من 1 إلى 4. في الخطوة الأخيرة ، يكون لكل من Alice و Bob نفس المفتاح: 9. من هذه النقطة يمكنهم استخدام 9 كمفتاح تشفير وفك تشفير. كل ما أستطيع قوله هو أنه يعمل. لماذا يعمل ليس لدي أي فكرة & ndash؛ أنا متعلمة جدا سيئة! ومع ذلك ، أنا سعيد للعيش مع حقيقة أنه يعمل فقط. إذا لم تكن بمفردك ، فلن تكون وحدك. ربما أنت أيضا ضعيف التعليم! أعتقد أنها ذكية حقا ، أنيق وبارد رغم ذلك.
تشفير المفتاح غير المتماثل.
نستخدم مفتاحًا واحدًا للتشفير ومفتاحًا مرتبطًا لفك تشفير البيانات. يمكنك فعلا مبادلة مفاتيح الجولة. لكن النقطة هي أنك لا تملك مفتاحًا واحدًا. هذا يحصل حول مشكلة التوزيع الرئيسية. هناك طريقة رائعة لوصف الفرق بين تشفير المفتاح المتماثل وغير المتماثل. إنه ينطوي على استخدام صندوق لوضع الرسائل فيه ويجب علينا أن نفترض أنه من المستحيل اختراق الصندوق ومشابكته والقفل المستخدم لقفله.
مفتاح متناظر: يمكنك إرسال رسول بنسخة من المفتاح. يحصل على المستلم الذي يعيش على بعد 10 أميال. على الطريق يتوقف في حانة وقد اختار جيبه. يتم نقل المفتاح إلى قفال يقوم بنسخه ومن ثم يتم إعادته إلى جيب الرسول.
بعد مرور بعض الوقت ، يمكنك إرسال مراسلة باستخدام المربع الذي يحتوي على رسالتك. أنت واثق من أن المستلم هو الشخص الوحيد القادر على قراءة الرسالة لأن المرسل الأصلي عاد وأبلغ عن شيء غير عادي حول المفتاح. يتوقف المرسال الثاني في الحانة نفسها. هو pocketed. يتم استخدام مفتاح النسخ لفتح الصندوق وقراءة الرسالة....يتم إفراغ المربع مع رسالته سليمة إلى جيب رسول. أنت والمتلقي الخاص بك ليس لديهم أي فكرة أن الاتصال الخاص بك قد تم اختراقه. لا يوجد سرية & hellip؛
مفتاح غير متماثل: المستلم لديه قفل ومفتاح. يحتفظ بالمفتاح في مكان خاص عن شخصه. دعنا نسميها كمفتاح خاص. يضع القفل في الصندوق ، لكنه يتركه مفتوحًا. لا مانع إذا كان أي شخص يرى القفل. إنها قابلة للعرض علانية. على الرغم من أنه ليس مفتاحًا حقًا ، دعنا نسميه مفتاحًا عامًا. يرسل رسول لك مع الصندوق. يتوقف الرسول في الحانة ويتم اختياره في الفتحة. جميع المتلصصون نرى هو قفل مفتوح. يعودون سرا الصندوق. يصل الرسول إلى بابك. تأخذ القفل خارج الصندوق وتضع رسالتك فيه. يمكنك استخدام القفل المفتوح لقفل الصندوق وإغلاقه وإرسال المرسِل في طريقه. مرة أخرى يتوقف في الحانة وهو pocketed. وجدوا فقط مربع قفل. لا مفتاح. ليس لديهم طريقة للدخول إلى المربع. يعودون سرا الصندوق إلى جيب الرسول. يحصل المرسِل على المستلم ، الذي يستخدم المفتاح الذي يفرزه في مكان خاص عن شخصه (المفتاح الخاص) ويستخدمه لإلغاء قفل القفل وقراءة الرسالة. الحفاظ على السرية.
يمكنك أن ترى العملية أكثر تعقيدًا قليلاً بالنسبة للمفتاح اللاتناظري مقارنة بالمفتاح المتماثل ، لذا فهو ليس شيئًا تريد أن تفعله كثيرًا. لذلك ما يتم القيام به في كثير من الأحيان هو أنه بدلا من وضع رسالة في المربع و قفلها ، يتم وضع مفتاح متماثل في المربع و يتم قفله. بهذه الطريقة ، يمكنك حل مشكلة التوزيع الرئيسية. هذا ما يحدث مع تشفير الكمبيوتر في الغالب. يتم استخدام تشفير المفتاح العام / الخاص لنقل مفتاح متماثل يُستخدم لتبادل الرسائل. أحد أسباب القيام بذلك هو أن التشفير المفتاح غير المتماثل ، أو التشفير المفتاح العام / الخاص ، كما هو معروف ، أمر مكلف ، من حيث قوة الحوسبة ، في حين أن التشفير الرئيسي المتماثل هو أكثر بخفة. عندما ترى أن موقع ويب يستخدم تشفير 256 بت ، فإنهم يتحدثون عن المفتاح المتماثل الذي يتم استخدامه بعد استخدام مفتاح التشفير العام / الخاص لنقل المفتاح المتماثل من المرسل إلى جهاز الاستقبال. غالبًا ما تكون الأطوال الرئيسية لتشفير المفتاح العام / الخاص 2048 بت. قد تجد نفسك مرتبكًا عند إعداد IIS بتشفير 256 بت SSL ومشاهدة مفاتيح 1024 أو 2048 بت. هذا هو السبب & ndash؛ هو الفرق بين ما يسمى مفتاح جلسة العمل والمفاتيح العامة / الخاصة.
على الرغم من أن المخطط أعلاه يوضح كيف يتم استخدام مفتاحين ، من أين يأتي كل هذا المفتاح العام والخاص في malarkey؟
دعنا نأخذ مثالًا على خادم ويب للتجارة الإلكترونية يرغب في توفير دعم SSL حتى تتمكن من إرسال تفاصيل بطاقتك الائتمانية بشكل آمن عبر الإنترنت. انظر إلى المفاتيح العامة والخاصة في الرسم التخطيطي التالي.
يتم الاحتفاظ بالمفاتيح العامة والخاصة على خادم الويب للتجارة الإلكترونية. المفتاح الخاص محمي بشكل كبير في مخزن المفاتيح. سوف تذهب العديد من المؤسسات بقدر ما يكون لديها جهاز خاص مقاوم للعبث لحماية مفاتيحها الخاصة. لا يلزم حماية المفتاح العام نظرًا لأنه عام جيد. يمكن أن يكون لديك مطبوعات يومية منه في الصحف وتبثه كل ساعة ، على الساعة ، على الراديو. الفكرة هي أنه لا يهم من يراه.
يقوم الموقع بإنشاء المفاتيح العامة والخاصة. يجب أن يتم توليدها كزوج رئيسي لأنها مرتبطة رياضيا ببعضها البعض. يمكنك استرداد المفتاح العام من موقع الويب واستخدامه كمفتاح التشفير. أنت لن ترسل معلومات بطاقة الائتمان الخاصة بك عبر الإنترنت فقط. ستقوم فعليًا بإنشاء مفتاح متماثل والذي سيصبح بيانات إدخال النص العادي إلى خوارزمية التشفير غير المتماثلة. سيقوم النص المشفر بعبور الإنترنت وسيستخدم موقع التجارة الإلكترونية الآن مفتاحه الخاص لفك تشفير البيانات. النص الناتج الناتج الناتج سيكون المفتاح المتماثل الذي أرسلته. والآن بعد أن أصبح موقع الويب والتجارة الإلكتروني لديك على حد سواء مفتاحًا متماثلًا تم نقله سراً ، يمكنك تشفير جميع البيانات التي تتبادلها. هذا ما يحدث مع عنوان URL الذي يبدأ https: //.
لا يزال هناك بعض المشاكل لحلها هنا ، ولكن دعونا نضعها على الموقد الخلفي لبعض الوقت. نحن بحاجة إلى فهم التوقيعات الرقمية والشهادات لتلك المشاكل. في هذه الأثناء ، دعنا نلقي نظرة خاطفة على الرياضيات داخل خوارزمية المفتاح العام / الخاص. هناك قصة صغيرة مثيرة للاهتمام حول هذه الخوارزمية. اخترع باحث في المملكة المتحدة GCHQ دعا كليفورد كوكس الخوارزمية في عام 1973. ومع ذلك ، العمل في GCHQ ، كان عمله سرا ، لذلك لم يتمكن من إخبار أي شخص. بعد حوالي 3 سنوات ، اخترعها أيضا 3 علماء رياضيات ، و رون ريفست ، وعدي شامير وليوند أدلمان. ذهبوا لإنشاء شركة الأمن RSA (التي تقف على Rivest ، Shamir و Adelman)....يقال أن خوارزمية RSA هي أكثر البرامج استخدامًا في العالم.
أولاً ، سننشئ المفتاح العام. نختار 2 أرقام أولية عشوائية ضخمة. في هذه الحالة ، سأختار 2 من الأعداد الأولية الصغيرة للحفاظ عليها بسيطة ؛ 17 و 11. نضربهم للحصول على 187. ثم نختار رئيسًا آخر ؛ 7. هذا هو مفتاحنا العام & ndash؛ 2 أرقام. بسيط جدا.
الآن نستخدم المفتاح العام لإنشاء المفتاح الخاص. نحن نديرها من خلال الخوارزمية في الرسم البياني أعلاه. يمكنك أن ترى أننا نستخدم الحساب النمطي. من الواضح أن الأرقام ستكون ضخمة في الحياة الحقيقية. لكن هنا ، ننتهي بمفتاح خاص من 23. الوظيفة ، 7 * د = 1 (مود 160) لديها نظرة البساطة ، لكنها ليست كذلك على الإطلاق. بأعداد كبيرة ، نحتاج إلى استخدام خوارزمية Euclidean الموسعة. لا بد لي من القول ، وعيناي المزجج وجدت وأنا يحدق في المسافة عندما قرأت هذا عن ذلك:
الآن نريد أن نستخدم ذلك لتشفير الرسالة.
للحفاظ على بساطة الأمور ، سنرسل رمزًا واحدًا ؛ ودقوو]؛ X & [ردقوو]؛ ASCII for X is 88. نظرًا لأننا المرسل ، فإننا نعلم فقط قيم المفتاح العام 2: 187 و 7 أو N و e. إن تشغيل 88 من خلال الخوارزمية البسيطة يعطينا القيمة 11. نحن نرسل قيمة ciphertext 11 إلى خادم الويب للتجارة الإلكترونية.
يستطيع خادم الويب الوصول إلى المفتاح الخاص ، حتى يمكنه فك تشفير النص المشفر.
يمر خادم الويب بالنص العادي من خلال الخوارزمية الموضحة أعلاه ويحصل لنا على العلامة & ldquo؛ X & rdquo؛ التي تم إرسالها. الشيء الذي يقول:
Plaintext = 11 23 (mod 187)
حسنًا & ndash؛ هناك في الواقع مشكلة هنا. في هذه الرسالة ، كل & ldquo؛ X & rdquo؛ سيظهر في النص المشفر كقيمة 11. يمكننا إجراء تحليل لتحليل التردد على الرسالة. في اللغة الإنجليزية ، تميل بعض الحروف إلى الظهور بشكل متكرر أكثر من غيرها. الحروف & ldquo؛ e & rdquo؛ و & ldquo؛ أنا & rdquo؛ على سبيل المثال شائعة جدًا ، ولكن & ldquo؛ x & rdquo؛ و & ldquo؛ z & rdquo؛ غير شائعة.
هناك & ldquo؛ التوقيع & rdquo؛ التي يمكن استخدامها للعثور على محتوى الرسالة. لذلك نحتاج إلى تشفير كتل أكبر بكثير من البيانات من مجرد بايت واحد في كل مرة.
مفاتيح غير متناظرة ، كما ذكر في وقت سابق يمكن swopped حولها. إذا كنت تستخدم مفتاحًا واحدًا للتشفير ، فيجب استخدام المفتاح الآخر لفك التشفير. هذه الميزة تأتي في متناول اليد لخلق تواقيع رقمية. لقد سمعت عن وثائق موقّعة رقمياً ، و "حجية" ، وتطبيقات موقعة رقمياً ، وشهادات رقمية ، وما إلى ذلك.
في الرسم البياني ، يمكنك مشاهدة كل ما قمنا بإنشائه يتم دمج بعض النص العادي في نفس الرسالة & ldquo؛ كنص مشفر مكافئ لها. عندما يحين وقت التحقق من التوقيع الرقمي ، يتم عكس العملية:
للتحقق من رسالة ، نقوم بفك تشفير الجزء المشفر ، ونرد النص العادي. ثم نقارن ذلك بالنص العادي في الرسالة. إذا كانت مجموعتا النص العادي مختلفتين ، فهذا يعني إما:
تم تغيير النص العادي في الرسالة والتي تمثل الفرق. تم تغيير النص المشفر في الرسالة وتفسير الاختلاف. لقد تم تعديلها وتفسير الفرق.
من أجل الحصول على رسالة ثابتة ، يحتاج المهاجم إلى الوصول إلى المفتاح الذي تم استخدامه لإنشاء النص المشفر.
هل تذكرت في وقت سابق ، لقد تحدثت عن تجزئات؟ حسنًا ، نظرًا لأن الرسالة قد تكون كبيرة جدًا ، فمن الأفضل دائمًا إنشاء علامة تجزئة للرسالة وتشفيرها. إذا كانت علامة تجزئة MD5 ، فهذا يعني أنك لن تحتاج إلا إلى تشفير 128 بايتًا. عندما تأتي لإجراء التحقق من صحة التوقيع ، يجب عليك أخذ جزء النص العادي وإنشاء تجزئة قبل إجراء المقارنة. انها تستخدم فقط وحدة المعالجة المركزية بكفاءة أكبر.
في هذه الحالة ، تتكون الرسالة من قسم صغير من النص المشفر لأنه تم تقليل حجم سلسلة النص العادي للإدخال خلال التجزئة قبل تشفيرها. ويشمل أيضا نص عادي للرسالة.
بناءً على البيانات التي تبحث عنها ، ستجد في كثير من الأحيان المفاتيح التي يمكنك استخدامها لفك تشفير الرسالة في نص عادي داخل نص الرسالة. يبدو وكأنه جنون كامل لأن أي شخص يعترض الرسالة يمكنه ببساطة تعديل جزء النص العادي للرسالة ثم استخدام المفتاح المضمن لتكوين نص مجفر جديد مكافئ. من شأنه أن يجعل الرسالة متسقة.
ومع ذلك ، إذا كان المفتاح غير المشفر المدرج في الرسالة هو المفتاح العمومي لجهة إصدار الرسالة ، فسيتعين على المهاجم الوصول إلى المفتاح الخاص المناظر ، الذي لن يحصل عليه نظرًا لأنه ، خاص ، جيد.
ولكن حتى مع هذا لا تزال هناك مشكلة. كيف تعرف أن الرسالة أتت من المرسل الذي يزعم أنها أتت منه؟ كمهاجم ، يمكنني بسهولة إنشاء زوج المفاتيح الخاص بي. يمكنني بعد ذلك إنشاء رسالة تفيد بأنني المصدر وأستخدم مفتاحي الخاص لإنشاء الجزء المشفر من الرسالة.
عندما تأتي للتحقق من الرسالة التي ستعرف أنها لم يتم العبث بها أثناء النقل ، ولكن كيف يمكنك أن تعرف أنك تثق في المفتاح العام المضمن في الرسالة؟...كيف تعرف أن هذا هو الذي أنشأ الرسالة. ذلك حيث تأتي الشهادات الرقمية للعب.
الشهادات هي هياكل بيانات تتوافق مع مواصفات: X.509. لكنها في الحقيقة مجرد وثائق تفعل ما تحدثنا عنه للتو. بيانات النص العادي هي المفتاح العام ، بالإضافة إلى معلومات أخرى مميزة مثل المُصدر ، واسم الموضوع ، والاسم الشائع ، وما إلى ذلك. يتم تجزئته بعد ذلك ويتم تشفير التجزئة باستخدام المفتاح الخاص لخدمة خاصة تسمى المرجع المصدق (CA) & ndash؛ خدمة تصدر الشهادات.
عندما نحمي خادم ويب بشهادة SSL ، فإننا نمر بعملية من مرحلتين. إنشاء طلب شهادة ، ثم إنهاءه عن طريق استلام الشهادة وتثبيتها. جزء الطلب ، يولد المفتاح العام والخاص. يتم إرسال المفتاح العام بالإضافة إلى المعلومات المميزة إلى المرجع المصدق ، الذي يقوم بعد ذلك بإنشاء مستند موقّع رقميًا ، موقّعًا باستخدام المفتاح الخاص CA. يتوافق المستند مع معايير شهادة X.509. يتم إرجاع الشهادة من قبل CA ، ونقوم بتثبيتها على خادم الويب الخاص بنا.
في أي وقت يتصل أي شخص بخادم الويب عبر طبقة المقابس الآمنة ، فإنه يسترد الشهادة ويقوم بإجراء التحقق من صحة التوقيع عليه. تذكر أنه تم توقيعه بواسطة المفتاح الخاص لـ CA & rsquo؛ s الخاص. لذا يجب عليهم الحصول على المفتاح العام CA للقيام بالمصادقة. إذا انتقلت إلى Internet Internet خيارات & "خيارات إنترنت" ثم إلى علامة التبويب "محتوى" ، فسوف يكون زر "شهادات". الذي يعرض لك جميع المراجع المصدقة لديك شهادات (وبالتالي مفاتيح عمومية) لـ. ويعني ذلك أنك إذا رأيت شهادة تم توقيعها من قِبل المرجع المصدق على موقع ويب ، نظريًا ، قام المرجع المصدق (CA) بفحص للتأكد من أن مقدم الطلب هو بالفعل مقدم الطلب قبل إصدار الشهادة. هذا يعني أنك يجب أن تثق في أن CA قامت بعمل جيد للتحقق من صلاحية مقدم الطلب قبل إصدار الشهادة.
حتى هذا يخلق مشكلة صغيرة & ndash؛ كيف تعرف أن شهادة CA لم تكن قد تم إنشاؤها بواسطة دجال لبعض الوصف؟ حسنا ، يمكن أن يكون لها شهادة موقعة من قبل CA أعلى السلسلة الغذائية من نفسها. في نهاية المطاف تحصل على CA في الجزء العلوي من السلسلة الغذائية وهذا يسمى CA الجذري. لدى Internet Explorer وكافة المستعرضات الأخرى كافة المراجع الأساسية لـ Root للإنترنت المضمنة. هذه منظمات موثوق بها. أنها يجب أن تكون! هم موثوقون جدا ، وأنهم قادرون على توقيع شهاداتهم الخاصة.
يمكنك من وقت لآخر اللعب باستخدام أداة سطر الأوامر Visual Studio تسمى makecert. exe. إنها أداة تنشئ شهادات موقعة ذاتيًا. إذا كنت تستخدمها فقط لأغراض التطوير على جهاز محلي ، فربما تكون بخير. تثق بنفسك ، يفترض. في بعض الأحيان ، يمكنك استخدام شهادات موقعة ذاتيًا على الخدمات التي تواجه الإنترنت. على سبيل المثال ، إذا قمت بتحميل شهادة موقعة ذاتياً إلى إحدى الخدمات وكنت متأكداً من أن أحدًا لم يعترضها أثناء تحميلها (لأنك كنت تستخدم SSL) ، فهذا يعني أنه يمكنك إجراء محادثات خاصة مع الخدمة ، الخدمة هي الخدمة التي أصدرتها للشهادة. إذا أرسلت للتو الشهادة المجردة ، فسيكون بمقدورهم تشفير الرسائل التي يمكنك فك تشفيرها فقط ، لأنك تمتلك المفتاح الخاص. من الممكن أيضًا تضمين المفتاح الخاص عند إنشاء شهادة. إذا قمت بإرسال إحدى هذه الشهادات إلى إحدى خدمات الإنترنت ، فيمكنها توقيع الرسائل المرسلة إليك رقمياً من خلال مفتاحك الخاص. لأنك مطمئن بأنك أعطيت المفتاح الخاص فقط للخدمة ، يمكنك أن تكون متأكداً من أن الرسائل تأتي من هذه الخدمة بشكل صريح وليست دجالًا. عليك أن تثق في أن الخدمة تقوم بعمل جيد للحفاظ على أمان المفتاح الخاص بك.
بالطبع لن يكون من العملي إذا أردت في كل مرة شراء شيء ما على الإنترنت ، من أجل إنشاء اتصال SSL كان عليك أولاً تحميل شهادة موقعة ذاتياً. وهذا هو السبب في وجود بنية تحتية كبيرة من المراجع المصدقة (CA) و "CA" التي تم إنشاؤها على الإنترنت. يدعى هذا infrastrucutre البنية التحتية للمفتاح العام أو PKI. العديد من المنظمات لديها PKIs الداخلية الخاصة بهم.
أعلاه: قائمة Internet Explorer & rsquo؛ s من المراجع المصدقة الجذر الموثوق بها.
يمكنك أيضًا الاطلاع على سلسلة المراجع المصدقة إلى CA الجذري المطابق للسلسلة عند الاطلاع على شهادة.
يعرض هذا شهادة منتهية الصلاحية تم إصدارها إلى حساب BPOS (Office 365) الخاص بي بواسطة CA يسمى & ldquo؛ Microsoft Online Svcs BPOS EMEA CA1 & rdquo ؛. وقد تم إصدار الشهادة من قِبل & ldquo؛ Microsoft Services PCA & rdquo؛ التي أصدرت شهادتها من قبل & ldquo؛ جذر شهادة سلطة مايكروسوفت & rdquo ؛. نظرًا لأنه & rsquo؛ جذر المرجع المصدق (CA) ، فإنه يظهر في حاوية "المراجع المصدقة الجذر الموثوقة" في Internet Explorer. عندما تمشي في السلسلة يجب أن تصل في النهاية إلى نقطة تثق فيها بالشهادة. إذا لم تفعل ذلك ، فستتلقى تحذيرًا بوجود خطأ في شهادة والكثير من الرسائل التي تنصحك بعدم المتابعة.
سأقوم بكتابة منشور آخر قريباً يمر عبر مصافحة كاملة لـ SSL....هذه طريقة رائعة لشرح ما يحدث في التشفير.
thanx planky ……. أنا فقط مبتدئ في مجال أمن المعلومات. ساعدني هذا المقال على فهم المفاهيم بسهولة وراء التشفير ...
لقد أجريت بحثًا سريعًا عن برايمر تمهيدي واكتشفت فقط الأشياء التي استهدفت في المقام الأول علم الرياضيات المتقدم ، لذلك فكرت في مقالة تقسم الرياضيات ولكنها كانت تحتاج إلى نظرة عامة على المبادئ المعنية. زائد - الرياضيات ليست قوية بما فيه الكفاية للذهاب أعمق من هذه المقالة!
أنا متأكد من عدم استخدام خوارزمية Euclid لحسابها.
نص عادي = 11 ^ 23 (تعديل 187)
لا يوجد شيء خاص حول هذا الحساب. من ناحية أخرى ، حساب المفتاح الخاص d = 23 بوصة.
7 * د = 1 (م 160)
يتطلب خوارزمية Euclid (عند وجود أرقام أكبر). في الواقع ، يتطلب إصدار موسع لأن حساب Euclid يحسب فقط القاسم المشترك الأكبر من رقمين.
شكرا كيث. سوف أقوم بتحديث المنشور لإظهار كم هو محتمل حساب المفتاح الخاص ، وهو مساحة المشكلة الفعلية.
كنت دائمًا في خطر من أن يكون هناك شخص يعرف ما يتحدثون عنه حول اختياري للرياضيات (أو & quot؛ الرياضيات & quot؛ كما يقولون في الولايات المتحدة. غالبًا ما يتساءل عن سبب الجمع بين & quot؛ الرياضيات & quot؛ ولكن الصيغة المختصرة هي صيغة المفرد)..
قد أتمكن حتى من تعديل المشاركة لتشمل عناصر المقالة التي تشير إليها وتجعلها تبدو كما لو كنت أعرف كل شيء عن & quot؛ الرياضيات & quot ؛. ولكن أنا متأكد من أنني سوف أتعثر.
شكرا على التمسك بها في الواقع كيث ، وأنا أعلم عندما أجد الاشياء التي أعرفها بالفعل ، وأنا فقط قراءة المقلي ... أو ربما كان هذا الخطأ واضح جدا على الصفحة كان يصيح & quot؛ أنا مخطئ! & quot ؛. 🙂
كان يجب أن أضيف أن التمهيدي هو مقدمة جيدة. أقوم حاليًا بدورة حول أمان الكمبيوتر ، وهذا ما يفسر على نحو مشابه جدًا للكيفية التي قام بها أستاذي بها.
أتساءل إذا كان هذا يعني أنني يمكن أن أصبح أستاذا؟ البروفيسور (بلانكي) لديه خاتم جميل له أليس كذلك؟
المادة ممتازة Planky. أنا بالتأكيد أقع تحت فئة "القراءة المقطوعة" بسبب المعرفة السابقة وعلى هذا النحو لم أتفقد الرياضيات الخاصة بك تمامًا ولكن شرحك من الأمام إلى الخلف ممتاز وموجز. أعتقد أن هذا قد يكون أحد أفضل ما رأيته. من المؤكد أنه تمهيدي رائع لأي شخص يتطلع إلى فهم تقنيات التشفير الأساسية ، كما ينطبق على حركة مرور الإنترنت الآمنة. أحسنت!
استمروا في العمل الجيد 🙂
حسناً - من الجيد معرفة ذلك! يبدو أن الأستاذ في الكيس! فقط ربما ليس للرياضيات ...
يجب أن تستمع إلى أول 100 حلقة من حلقات & quot؛ الأمان الآن & quot؛ ، وهي عبارة عن بودكاست مع Steve Gibson و Leo Laporte. وهو يكمل ويمتد هذه المادة.
لقد تلقيت نظرة على الموقع وقمت بتنزيل مجموعة من الأشياء العامة التي سأستمع إليها في WP7 عندما أسافر / في صالة الألعاب الرياضية / القيادة….
مجموعة كبيرة من المواد ، التي تحتوي على أشياء كنت مهتمًا بها دائمًا ولكن لم أستغلها أبدًا للتحقيق ...
شكرا لمؤشر rthe ...
شكرا جزيلا ، شرح جيد جدا.
casa dia 1109n9fone1106n6dirce6 = antonio almeida1106n6 orlanda dias soares1061107n7f40232306dirce6 = banco santanderdia 1109n9ate dirce9fone1109n9.
هذا التعليق الأخير نوعا من التشفير؟
شرح ممتاز. السطر الأخير هو التشفير؟
فقط بدأت بتعلم التشفير اليوم. لها مقدمة فالداخل على التشفير مع الصورة بأكملها في الاعتبار.
& quot؛ dirce silviapinto dovalke1109n9aten dirce9 & quot؛ (الآن هذا ما أسميه اسم!) كتب ، في السطر الأخير من تعليقه & quot؛ soares1061107n7f40232306dirce6 = banco santanderdia 1109n9ate dirce9fone1109n9 & quot ؛. من المؤكد أن هذا هو بعض النص المشفر؟
مرحبًا Senthil Murugan ،
& quot؛ uoy knaht & quot؛ لك أيضا - أنا سعيد أنك وجدت أنه مفيد ...
شكرا .. انها مادة جيدة.
تأخر (ما يقرب من 12 شهرا!) بفضل لك أزرا.
مقالة مفيدة جدًا لمدير منتج يحاول توسيع منتج إلى الويب ، وذلك بفضل!
كيف يمكن تشفير الصور باستخدام خوارزمية RSA. لقد ولدت المفاتيح العامة والخاصة. أنا أعرف كيفية تشفير وفك تشفير الصور باستخدام RSA. بدون مفتاح أنا قادر على تشفير الصورة عن طريق توليد المفتاح من صورة suze mxn (حجم البكسل). عدم الحصول على كيفية استخدام المفتاح العام (n، e) لتشفير المفتاح الخاص (c، d) لفك تشفير الصورة.
هل تقول & quot؛ suze mxn (حجم البكسل) & quot؛ هي واجهة برمجة تطبيقات تولد المفتاح لك ولكنك لا تفهم كيف تفعل ذلك؟ يمكنك تقديم مزيد من المعلومات؟ لا أستطيع فهم السؤال الذي تطرحه بناءً على ما قدمته. شكر.
كيف يعرف كل من Alice و Bob أنهما بحاجة إلى استخدام [7 ^ (number) mod 11] في حساباتهما للخطوة 1.
هل يستطيع المعترض الوصول إلى هذه الصيغة؟ إذا كان التقاطع يحتوي على ألفا وبيتا فلن يتمكن من معرفة المفتاح المستخدم؟...كلاهما يعرف الخوارزمية (كما يفعل أي شخص يعرف Diffie Helman Merkle) بحيث يقوم كلاهما بنفس الأشياء.
هذا يوضح بالضبط النقطة التي هي مفاتيح سرية ، وليس الصيغة (الخوارزمية). يمكنك بث هذه الصيغة على الراديو والتلفزيون والإنترنت كل 15 دقيقة لمدة 300 سنة. طالما كنت تحافظ على سرية المفاتيح (وهي مفاتيح أطول بكثير مما أوضحته في هذا المثال!) ، يتم الحفاظ على السرية.
عد وأقرئي قراءة سريعة للجزء الافتتاحي من المقالة - حيث أتحدث عن المفاتيح والخوارزميات. تستغل هذه الخوارزمية وظائف ذات اتجاه واحد. وظائف حتى عندما تعرف الصيغة (الخوارزمية) ، لا يزال من الصعب جدًا العودة إلى الرقم الأصلي.
جربه بنفسك - ألقي نظرة على الصيغة واعرف ما إذا كان بإمكانك حساب الأسرار منها؟
الكتابة الجميلة. أنيق جدا ومكتوب بلغة بسيطة. شكرا لكم.
شكرا Vinayaga - من الجميل دائما معرفة هذه الأشياء تساعد الناس بطريقة أو بأخرى.
مقالة رائعة. ساعدني في عناقيد
شكرا لتقاسم وجهات نظركم. مدونة رائعة هنا ... نحن نوفر التوقيع الرقمي مثل & lt؛ a href = & quot؛ http://www. digitalsignaturecertificates. info/"؛>. شهادة التوقيع الرقمي & lt؛ / a & gt؛
شكرا لك على الكتابة الجيدة. نحن نقدم & lt؛ a href = & quot؛ HTTP: //www. esolutions. net. in"؛ & GT. شهادة توقيع رقمية & lt؛ / a & gt ؛.
شكرا للمقال العظيم الذي يقدم معلومات مفيدة وكذلك شرح واضح.
هل لي ان اطرح عليك سؤالا. كيف يمكنك حساب الدالة digest (قيم التجزئة) في التوقيع الرقمي؟
أعني ، كيف يتم استخدام الدالة digest أثناء تشفير التوقيع الرقمي وكيف يقارن المستلم بين قيم التجزئة (بعد تقسيم الرسائل والتوقيع الرقمي) لضمان سلامة الرسالة؟
سأكون أكثر من شاكرين (مرة أخرى) إذا كنت توضيح ذلك بالنسبة لي.
لنفترض أن لديك رسالة سعة 1 غيغابايت تريد تطبيق توقيع رقمي عليها ...
لتشفير 1GB غير مكلفة computationally. إنها مكلفة حسابيا لفك تشفيرها أيضا.
التوقيع الرقمي يتكون من جزئين. النص العادي. ونسخة مشفرة من النص العادي.
عندما تأتي للتحقق من صحة التوقيع ، سيكون عليك القيام بعملية حسابية مكلفة لفك تشفير الجزء المشفر قبل أن تتمكن من مقارنته مع جزء النص العادي.
لتقليل عبء الحوسبة ، بدلاً من تشفير كامل 1 غيغابايت من الرسالة ، نقوم بعمل شيء أكثر كفاءة. نقوم بتشغيل الرسالة من خلال خوارزمية التجزئة والحصول على سلسلة أصغر بكثير. ثم نقوم بتشفير تلك السلسلة مما يعني أننا قمنا بتشفير عدد قليل من وحدات البايت بدلاً من 1 غيغابايت. لذلك حسابيا ليست مكلفة على الإطلاق.
عندما يحين الوقت لك للتحقق من صحة التوقيع لديك لإلغاء هذه الخطوات. لذلك قمت بفك تشفير الجزء المشفر من الرسالة. النص المشفر يساوي التجزئة التي قمت بتشفيرها في المقام الأول.
ثم تأخذ جزء النص العادي للرسالة وتشغيله خلال خوارزمية التجزئة. لديك الآن 2 تجزئة. أنت تقارنهم - يجب أن يكونوا متشابهين تمامًا. إذا لم تكن كذلك ، فقد حدث شيء ما لسلامة الرسالة بين وقت إنشاء التوقيع والوقت الذي قمت فيه بالتحقق من صحته.
نأمل أن من المنطقي ...
يمكنك في كثير من الأحيان رؤية مبتدئ يبحث من خلال توقيع XML ويقولون & quot؛ تبدو - يمكنك رؤية الرسالة هنا. كل ذلك بنص عادي. يمكننا بسهولة تغيير ذلك & quot ؛. ولكن بالطبع إذا حدث ذلك ، فعند قيامك بتوليد التجزئة ، ستكون قيمة مختلفة لتلك الموجودة في التوقيع.
لذا فإن المهمة التالية للمبتدئين هي تغيير التجزئة المشفرة في الرسالة. ولكن للقيام بذلك يحتاج إلى الوصول إلى المفتاح الخاص الذي استخدمته في إنشائه في المقام الأول. حسنًا ، هذا ليس متاحًا لأنه جيدًا ... يمكنه استخدام المفتاح العام لفك تشفيره. لكن المفتاح العام لا يسمح له بتشفير الرسالة *. لذلك تمسك ...
شكرًا مجددًا وواضح لي الآن لأنني أفهم حقًا كيف يعمل مع هذا المثال الكافي (رسالة بسعة 1 غيغابايت).
إذا كنت لا تمانع في السير ، لدي سؤال آخر حول خوارزمية التجزئة.
أعلم أننا نستخدم الدالة digest ، مثل SHA-1 و MD5 ، من أجل حساب خوارزمية التجزئة للرسالة قبل إرسالها وبعد استلامها. لذا يرجى التكرم بإعطائي مثالاً آخر عن كيفية حسابه.
بالمناسبة ، المثال الذي تقدمه عن المفاتيح العامة / الخاصة رائع ويسهل فهمه.
شكرا جزيلا لهذه المعلومات العظيمة 🙂
أنا سعيد لشرح العمل ..
هل تقصد أنك تريد مثالاً عن كيفية عمل الرياضيات داخل MD5 أو SHA-1 أو ……؟ أو كنت ترغب فقط في أحد أمثلة التعليمات البرمجية حول كيفية إنشاء تجزئة؟
هذا الأخير سهل - وثائق MSDN لديها مثال على ذلك. الأول أكثر صعوبة لأننا بحاجة إلى الخوض في أحشاء الخوارزميات....مثال MSDN هنا:
الفراغ الاستاتيكي Main (string [] args)
source string = & quot؛ Hello World! & quot ؛؛
باستخدام (MD5 md5Hash = MD5.Create ())
string hash = GetMd5Hash (md5Hash، source)؛
Console. WriteLine (& quot؛ التحقق من التجزئة ... & quot؛)؛
إذا (VerifyMd5Hash (md5Hash، source، hash))
Console. WriteLine (& quot؛ The hass the same. & quot؛)؛
Console. WriteLine (& quot؛ The has are not same. & quot؛)؛
سلسلة ثابتة GetMd5Hash (MD5 md5Hash ، إدخال سلسلة)
// قم بتحويل سلسلة الإدخال إلى صفيف بايت وحساب التجزئة.
بايت [] data = md5Hash. ComputeHash (Encoding. UTF8.GetBytes (input))؛
// إنشاء Stringbuilder جديد لجمع البايتات.
// وإنشاء سلسلة.
StringBuilder sBuilder = جديد StringBuilder ()؛
// حلقة من خلال كل بايت من البيانات المجزأة.
/ / وتنسيق كل واحد كسلسلة سداسية عشرية.
لـ (int i = 0؛ i & lt؛ data. Length؛ i ++)
// قم بإرجاع سلسلة سداسية عشرية.
// تحقق من تجزئة مقابل سلسلة.
ثابت bool VerifyMd5Hash (MD5 md5Hash ، إدخال سلسلة ، تجزئة سلسلة)
string hashOfInput = GetMd5Hash (md5Hash، input)؛
/ / إنشاء StringComparer مقارنة التجزئة.
StringComparer comparer = StringComparer. OrdinalIgnoreCase؛
إذا (0 == comparer. Compare (hashOfInput، hash))
/ / هذا المثال رمز ينتج الناتج التالي:
// تجزئة MD5 من مرحبا العالم! هو: ed076287532e86365e841e92bfc50d8c.
// التحقق من التجزئة ...
// التجزئات هي نفسها.
مرجع الوثيقة الكامل هو:
إليك مقطع فيديو جيد على YouTube يشرح الرياضيات إلى درجة ما.
نأمل أن تساعدك هذه الروابط.
أنت شخص جيد حقا ... لا أعرف كم أستطيع أن أشكرك على التفسير الممتاز.
سأقرأ الشفرة واستعرض الروابط لفهم كيفية القيام بالرياضيات داخل MD5. على الأقل أنا أعرف عملية وظيفة الملخص.
سيساعدني الكود أعلاه في فهم رياضيات MD5 بالإضافة إلى أنه سيكون مفيدًا لأي شخص يرغب في بناء البرنامج نفسه.
حقا مثيرة للاهتمام وسهلة لفهم المادة.
تشكرات! لقد قمت بعمل رائع لشرح موضوع صعب إلى حد ما في شروط للشخص العادي.
مقالة رائعة. يساعد على توضيح ذلك بشكل واضح جدا.
& quot؛ اتبع الخطوات من 1 إلى 4. في الخطوة الأخيرة ، يكون لكل من Alice و Bob نفس المفتاح: 9. من هذه النقطة ، يمكنهم استخدام 9 كمفتاح تشفير وفك تشفير. كل ما أستطيع قوله هو أنه يعمل. لماذا يعمل ليس لدي أي فكرة - أنا متعلم ضعيف جدا! ومع ذلك ، يسعدني أن أعيش مع حقيقة أنه يعمل. إذا كان أبعد منك ، فأنت لست وحدك. ربما أنت أيضا ضعيف التعليم! أعتقد أنه ذكي جدًا وأنيق وبارد. & quot؛
السبب في أن هذا يعمل لأن ...
لطيفة بفضل شكرا للحصول على نصائح جيدة.
بلدي USB token مفقود مفتاح خاص لا رمز USB ترد على تسجيل الدخول.
ها ها سي جيه. نعم هذا صحيح. بالتأكيد لا يمكن المجادلة مع ذلك.
هل يمكنك ترتيب اللغة في رسالتك - لا يمكنني الحصول على ما تقوله / تسأله؟
لم انتهي من قراءة المقال بعد ، لكني أشعر أنني بحاجة إلى شكر. شكرا لك على هذه المقالة القيمة.
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.