شفرة الافاين Affine Cipher :
وهي احدى طرق التشفير الابدالي احادية الابجدية monoalphabetic cipher ( اي استبدال حرف واحد بحرف اخر ) تشبه هذا الطريقة طريقة القيصر الى حد كبير الا ان هذه الطريقة تحتاج مفتاحين بدلاً من مفتاح واحد , وتعتبر شفرة القيصر حالة خاصة من شفرة الافاين ( اذا كان قيمة a =1 فان النص المشفرللافاين والقيصر يكون نفسه )
عملية التشفير Encryption بلغة VB6 :
يتم التشفير حسب المعادلة الرياضية الاتية :
كود PHP:
cipher text = a * x + b
حيث ان :
a : المفتاح الاول
b : المفتاح الثاني
x : موقع الحرف المراد تشفيره في المصفوفة
ملاحظة : يجب ان تكون العلاقة بين الـ a,b علاقة coprime , اي ان GCD(a,b) = 1 , اذا هذا الشرط لم يتحقق فتعتبر شفرة افاين شفرة فاشلة
* اضف زر امر واحد و اثنين من صناديق النصوص ,
انقر نقرة مزدوجة على زر الامر واكتب الكود الاتي :
ملاحظة : اضفت المفاتيح بصورة مباشرة للكود واذا كنت تريد تغيرها من قبل المستخدم فبأمكانك استخدام كومبوبوكس او تيكست
كود PHP:
alpha = 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", "a", "b", "c")
Dim a, b As Integer
a = 5
b = 8
t1 = Text1.Text
t2 = Text2.Text
For i = 1 To Len(t1)
M = Mid(t1, i, 1)
For j = 0 To 25
If (M = alpha(j)) Then
x = ((a * j) + b) Mod 26
Text2.Text = Text2.Text & alpha(x)
End If
Next j
Next i
اي استفسار انا موجود