تحويل شبه هادامارد

تحويل شبه هادامارد هو تحويل قابل للعكس لسلسلة بتات يوفر انتشارًا تشفيريًا . انظر تحويل هادامارد .

يجب أن يكون طول سلسلة البتات زوجيًا حتى يمكن تقسيمها إلى سلسلتين متساويتين في الطول، a و b ، كل منهما مكونة من n بت. لحساب التحويل لخوارزمية Twofish، a ' و b ' ، نستخدم المعادلات التالية:

أ=أ+ب(تعديل2ن){\displaystyle a'=a+b\,{\pmod {2^{n}}}}
ب=أ+2ب(تعديل2ن){\displaystyle b'=a+2b\,{\pmod {2^{n}}}}

ولعكس هذا الأمر بوضوح:

ب=ب-أ(تعديل2ن){\displaystyle b=b'-a'\,{\pmod {2^{n}}}}
أ=2أ-ب(تعديل2ن){\displaystyle a=2a'-b'\,{\pmod {2^{n}}}}

من ناحية أخرى، يكون التحويل لتشفير SAFER+ كما يلي:

أ=2أ+ب(تعديل2ن){\displaystyle a'=2a+b\,{\pmod {2^{n}}}}
ب=أ+ب(تعديل2ن){\displaystyle b'=a+b\,{\pmod {2^{n}}}}

تعميم

يمكن التعبير عن المعادلات المذكورة أعلاه في جبر المصفوفات ، من خلال اعتبار a و b عنصرين من متجه، والتحويل نفسه كضرب في مصفوفة من الشكل التالي:

ح1=[2111]{\displaystyle H_{1}={\begin{bmatrix}2&1\\1&1\end{bmatrix}}}

ويمكن بعد ذلك اشتقاق المعكوس عن طريق قلب المصفوفة.

ومع ذلك، يمكن تعميم المصفوفة إلى أبعاد أعلى، مما يسمح بتحويل المتجهات ذات أي حجم من قوى العدد اثنين، باستخدام القاعدة التكرارية التالية:

حن=[2×حن-1حن-1حن-1حن-1]{\displaystyle H_{n}={\begin{bmatrix}2\times H_{n-1}&H_{n-1}\\H_{n-1}&H_{n-1}\end{bmatrix}}}

على سبيل المثال:

ح2=[4221221121211111]{\displaystyle H_{2}={\begin{bmatrix}4&2&2&1\\2&2&1&1\\2&1&2&1\\1&1&1&1\end{bmatrix}}}

انظر أيضاً

هذا هو ناتج كرونكر لمصفوفة خريطة أرنولد كات مع مصفوفة هادامارد.

مراجع

  • جيمس ماسي، "حول أمثلية انتشار SAFER+"، المؤتمر الثاني لجمعية هندسة الصوت، 1999.
  • بروس شناير، جون كيلسي، دوغ وايتينغ، ديفيد فاغنر، كريس هول، " Twofish : A 128-Bit Block Cipher "، 1998.
  • هيلجر ليبما. حول الخصائص التفاضلية لتحويل شبه هادامارد والتحويلات ذات الصلة. إندو كريبت 2002، سلسلة محاضرات في علوم الحاسوب 2551، الصفحات 48-61، 2002.