صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 10 من 13
الموضوع:

برمجة شفرة فجنير vigenere cipher - Polygraphic substitution cipher

الزوار من محركات البحث: 5140 المشاهدات : 12726 الردود: 12
الموضوع حصري
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    Software Developer
    Expert in Encryption
    تاريخ التسجيل: January-2010
    الدولة: البـــــصرة
    الجنس: ذكر
    المشاركات: 7,348 المواضيع: 422
    صوتيات: 7 سوالف عراقية: 0
    التقييم: 6778
    مزاجي: ****
    المهنة: مبرمج شركة Weir
    أكلتي المفضلة: ****
    موبايلي: ****
    آخر نشاط: 14/November/2022
    مقالات المدونة: 163

    برمجة شفرة فجنير vigenere cipher - Polygraphic substitution cipher

    مرحبا :
    برمجة شفرة فجنير Vigenere Cipher :
    احد طرق التشفير متعدد الابجدية الابدالية polyalphabetic substitution



    اخترعت هذه الشفرة من قبل الفرنسي بليز دي فجنير , تعتبر شفرة فجنير من اقوى الشفرات في التشفير التقليدي , حيث لم تكسر هذه الشفرة لعشرات السنين , اعتقدوا بأن هذه الشفرة غير قابلة للكسر , حتى قام بكسرها العالم فريدريك كاسكي وهو ضابط برتبة رائد في المشاة البحرية الالمانية .
    استخدمت هذه الطريقة في الحرب العالمية الاولى و الثانية .
    .
    بليز دي فجنير


    تحتاج هذه الطريقة الى مفتاح انسيابي stream key ويجب ان يكون بنفس طول النص الواضح plain text واذا كانت اقل منها نكرر احرف المفتاح الانسيابي على التوالي . مثال : شفّر النص الواضح spyman اذا علمت ان المفتاح الانسيابي هو ali بأستخدام خوارزمية فجنيير .
    plain text : spyman
    stream key : aliali
    لاحظ بالمثال اعلاه قمنا بمضاعفة المفتاح الانسيابي stream key لكي يكون بطول النص الواضح .


    طريقة التشفير Encryption :
    تفترض هذه الطريقة وجود مصفوفة ثنائية ابعادها 26 * 26 و ان تشفير الكلمة الواضحة plain text يكون من تقابل الصفوف مع الاعمدة للحرف المختار من النص الواضح والحرف المختار من المفتاح الانسيابي . لاحظ الصورة ادناه :




    طريقة فك التشفير Decryption :
    1- نعتبر الصف الاول هو احرف المفتاح الانسيابي.
    2- نختار اول حرف بالمفتاح الانسابي وننزل عمودياً وصولاً للحرف المشفر .
    3- بعد ان وصلنا الى الحرف المشفر نرى ما يقابله بالعمود الاول (هو الحرف الصريح قبل تشفيره).


    برمجة شفرة فجنير :
    1- نحتاج الى نهج معالجة بروسيجر او دالة لمقارنة طول النص الواضح او المشفر مع طول المفتاح الانسابي .
    في القسم العام اكتب الكود التالي :

    كود PHP:
    Private Sub streamkey(key)
     For 
    1 To Abs(Len(Text1.Text) - Len(key))
     
    Mid(keyi1)
     If (
    Len(key) <= Len(Text1.Text)) Then
     key 
    key c
     End 
    If
     
    Next i
     
    If (Len(key) > Len(Text1.Text)) Then
      key 
    Mid(keyiLen(Text1.Text))
      
    End If
    End Sub 
    الان اضف ثلاث صناديق نصوص text box و زر امر عدد اثنين , قم بتغير اسم الاول الى encryption والثاني الى decryption
    قم بأضافة الكود ادناه الى زر الامر الاول :

    كود PHP:
    al = Array("A""B""C""D""E""F""G""H""I""J""K""L""M""N""O""P""Q""R""S""T""U""V""W""X""Y""Z")
      
    Text1.Text
      key 
    Text2.Text
      Text2
    .Text " "
      
    Call streamkey(key)
        For 
    1 To Len(x)
       
    UCase(Mid(xi1))
       
    UCase(Mid(keyi1))
       For 
    0 To 25
       
    If (al(j)) Then
          f 
    j
     End 
    If
         
    Next j
     
    For 0 To 25
       
    If (al(k)) Then
          g 
    k
     End 
    If
         
    Next k
          a 
    = (gMod 26
          t 
    al(a)
          
    Next i
          Text2
    .Text key
          Text3
    .Text t
    End Sub
    Private Sub streamkey(key)
     For 
    1 To Abs(Len(Text1.Text) - Len(key))
     
    Mid(keyi1)
     If (
    Len(key) <= Len(Text1.Text)) Then
     key 
    key c
     End 
    If
     
    Next i
     
    If (Len(key) > Len(Text1.Text)) Then
      key 
    Mid(keyiLen(Text1.Text))
      
    End If 

    و بأضافة الكود ادناه في زر الامر الثاني الخاص بفك التشفير ,, لاحظ هنا نفحص هل المتغير a اكبر من صفر او لا .
    فاذا كان اقل من صفر فهو سالب ولا يوجد اندكس للعدد السالب في المصفوفة لذلك نجد mod له على عدد الابجدية (26) وبما انه عدد سالب فأن الـ mod في التشفير يختلف و يتم ايجاده بجمع العدد مع 26 . (هذه الطريقة في رياضيات التشفير وليس في الرياضيات العامة) .


    كود PHP:
    al = Array("A""B""C""D""E""F""G""H""I""J""K""L""M""N""O""P""Q""R""S""T""U""V""W""X""Y""Z")
      
    Text1.Text
      key 
    Text2.Text
      Text2
    .Text " "
      
    Call streamkey(key)
        For 
    1 To Len(x)
       
    UCase(Mid(xi1))
       
    UCase(Mid(keyi1))
       For 
    0 To 25
       
    If (al(j)) Then
          f 
    j
     End 
    If
         
    Next j
     
    For 0 To 25
       
    If (al(k)) Then
          g 
    k
     End 
    If
         
    Next k
          a 
    = (gMod 26
          
    If 0 Then
          a 
    26
          t 
    al(a)
          Else
          
    al(a)
          
    End If
          
    Next i
          Text2
    .Text key
          Text3
    .Text 
    هذه طريقة اخرى لحل فجنير ( من قبل اجنبية صاكة ) :




    اتمنى لكم التوفيق

  2. #2
    صديق فعال
    al,musawia
    تاريخ التسجيل: May-2017
    الجنس: أنثى
    المشاركات: 543 المواضيع: 3
    التقييم: 213
    مزاجي: جيد !
    شكرآ للشرح

  3. #3
    Software Developer
    Expert in Encryption
    اقتباس المشاركة الأصلية كتبت بواسطة تّـہـرأّتـيِّہلَ أّلَـأّنِتّہظّــآر مشاهدة المشاركة
    شكرآ للشرح
    شكرا لمرورك

  4. #4
    من المشرفين القدامى
    تاريخ التسجيل: January-2017
    الدولة: لا وطن
    الجنس: ذكر
    المشاركات: 9,197 المواضيع: 893
    التقييم: 1450
    مزاجي: احبكم كلمة متفارك لساني
    المهنة: معماري
    أكلتي المفضلة: .....
    موبايلي: Galaxy S5

  5. #5
    من أهل الدار
    قَـمِےر ٱلعَراق
    تاريخ التسجيل: August-2014
    الدولة: °•°في قلب اغلى الكون°•°
    الجنس: أنثى
    المشاركات: 30,173 المواضيع: 370
    التقييم: 16982
    مزاجي: من يقترب عليه تحمل جنون دلعي
    المهنة: مبرمجه
    أكلتي المفضلة: سوشي و فنكر
    موبايلي: honor
    مقالات المدونة: 19
    يسلموو
    شرح وافي

  6. #6
    أأأُم کـريـر ^°^
    ♡ مُحرمة كالنبيذ
    تاريخ التسجيل: July-2016
    الدولة: بــغــداد الـحـبـيـبـة
    الجنس: أنثى
    المشاركات: 57,263 المواضيع: 1,492
    صوتيات: 0 سوالف عراقية: 4
    التقييم: 21498
    مزاجي: مــتــقـــلــب "( /: (: :(
    المهنة: …..
    أكلتي المفضلة: برگر يعني برستيج وكذا ^^
    موبايلي: iPhone 14 Pro Max
    مقالات المدونة: 10
    تشكرات سباي

  7. #7
    UNKNOWN
    تاريخ التسجيل: January-2017
    الجنس: ذكر
    المشاركات: 17,041 المواضيع: 346
    صوتيات: 6 سوالف عراقية: 0
    التقييم: 32310
    آخر نشاط: 15/November/2020
    شكراً جزيلاً لك

  8. #8
    Software Developer
    Expert in Encryption
    اقتباس المشاركة الأصلية كتبت بواسطة عمو ساكه مشاهدة المشاركة
    عفوا اخي
    منورني

  9. #9
    Software Developer
    Expert in Encryption
    اقتباس المشاركة الأصلية كتبت بواسطة أغرد بهمس مشاهدة المشاركة
    يسلموو
    شرح وافي
    الله يسلمج اختي
    شكرا لطيب مروركِ

  10. #10
    Software Developer
    Expert in Encryption
    اقتباس المشاركة الأصلية كتبت بواسطة مزاجية وكذا مشاهدة المشاركة
    تشكرات سباي
    يا اهلا وسهلا بيج

    منورتنا

صفحة 1 من 2 12 الأخيرةالأخيرة
تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال