KCDSA

خوارزمية التوقيع الرقمي الكورية القائمة على الشهادات ( KCDSA ) هي خوارزمية توقيع رقمي طورتها مجموعة بقيادة وكالة الإنترنت والأمن الكورية (KISA). وهي نسخة معدلة من ElGamal ، تشبه خوارزمية التوقيع الرقمي ومعيار GOST R 34.10-94. يتم تطبيق الخوارزمية القياسية علىجيF(ص){\displaystyle GF(p)}، ولكن تم تحديد متغير منحنى إهليلجي ( EC-KCDSA ) أيضًا.

يتطلب بروتوكول KCDSA دالة تجزئة تشفيرية مقاومة للتصادم قادرة على إنتاج مخرجات ذات أحجام متغيرة (من 128 إلى 256 بت، بزيادات قدرها 32 بت). ويُعدّ معيار HAS-160 ، وهو معيار كوري آخر، الخيار المُقترح.

معلمات المجال

  • ص{\displaystyle p}عدد أولي كبير بحيث|ص|=512+256أنا{\displaystyle |p|=512+256i}لأنا=0،1،...،6{\displaystyle i=0,1,\dots ,6}.
  • q{\displaystyle q}: عامل أولي لـص-1{\displaystyle p-1}بحيث|q|=128+32ج{\displaystyle |q|=128+32j}لج=0،1،...،4{\displaystyle j=0,1,\dots ,4}.
  • ز{\displaystyle g}: عنصر أساسي من عناصر النظامq{\displaystyle q}فيجي إف(ص){\displaystyle \operatorname {GF} (p)}.

تتطلب النسخة المعدلة من المواصفات إما ذلك(ص-1)/(2q){\displaystyle (p-1)/(2q)}أن يكون عددًا أوليًا أو أن جميع عوامله الأولية أكبر منq{\displaystyle q}.

معلمات المستخدم

  • x{\displaystyle x}مفتاح التوقيع الخاص بالموقّع بحيث0<x<q{\displaystyle 0<x<q}.
  • y{\displaystyle y}مفتاح التحقق العام للموقع محسوب بواسطةy=زx¯(تعديلص)،{\displaystyle y=g^{\bar {x}}{\pmod {p}},}أينx¯=x-1(تعديلq){\displaystyle {\bar {x}}=x^{-1}{\pmod {q}}}.
  • z{\displaystyle z}: قيمة تجزئة لبيانات الشهادة ، أيz=ح(بيانات الشهادة){\displaystyle z=h({\text{بيانات الشهادة}})}.

مواصفات عام 1998 غير واضحة بشأن التنسيق الدقيق لـ "بيانات الشهادة". في المواصفات المعدلة، يُعرَّف z بأنه البتات B السفلية من المفتاح العام y، حيث B هو حجم كتلة دالة التجزئة بالبتات (عادةً 512 أو 1024). والنتيجة هي أن كتلة الإدخال الأولى تُطابق y mod 2^B.

  • z{\displaystyle z}: البتات B السفلية من y.

دالة التجزئة

  • ح{\displaystyle h}: دالة تجزئة مقاومة للتصادم مع ملخصات مكونة من |q| بت.

التوقيع

لتوقيع رسالةم{\displaystyle m}:

  • يختار المُوقِّع عددًا صحيحًا عشوائيًا0<ك<q{\displaystyle 0<k<q}ويحسبw=زكتعديلص{\displaystyle w=g^{k}\mod {p}}
  • ثم يحسب الجزء الأول:ر=ح(w){\displaystyle r=h(w)}
  • ثم يحسب الجزء الثاني:s=x(ك-رح(zم))(تعديلq){\displaystyle s=x(kr\oplus h(z\parallel m)){\pmod {q}}}
  • لوs=0{\displaystyle s=0}، يجب تكرار العملية من البداية.
  • التوقيع هو(ر،s){\displaystyle (r,s)}

المواصفات غامضة بشأن كيفية عمل العدد الصحيحw{\displaystyle w}يُعاد تفسيرها كمدخل سلسلة بايتات لدالة التجزئة. في المثال الوارد في القسم C.1، يكون التفسير متسقًا معر=ح(أنا2ياSP(w،|q|/8)){\displaystyle r=h(I2OSP(w,|q|/8))}باستخدام تعريف I2OSP من PKCS#1/RFC3447.

تم التحقق

للتحقق من التوقيع(ر،s){\displaystyle (r,s)}في رسالةم{\displaystyle m}:

  • يتحقق المدقق من أن0ر<2|q|{\displaystyle 0\leq r<2^{|q|}}و0<s<q{\displaystyle 0<s<q}ويرفض التوقيع باعتباره غير صالح إذا لم يكن كذلك.
  • يقوم برنامج التحقق بالحسابهـ=رح(zم){\displaystyle e=r\oplus h(z\parallel m)}
  • يتحقق المدقق مما إذار=ح(ysزهـتعديلص){\displaystyle r=h(y^{s}\cdot g^{e}\mod {p})}إذا كان الأمر كذلك، فإن التوقيع صحيح؛ وإلا فهو غير صحيح.

EC-KCDSA

خوارزمية EC-KCDSA هي في الأساس نفس الخوارزمية باستخدام تشفير المنحنى الإهليلجي بدلاً من تشفير اللوغاريتم المنفصل.

معلمات المجال هي:

  • منحنى إهليلجيهـ{\displaystyle E}على حقل منتهٍ .
  • نقطةجي{\displaystyle G}فيهـ{\displaystyle E}توليد زمرة فرعية دورية من رتبة أوليةq{\displaystyle q}. (q{\displaystyle q}يُشار إليه غالبًا بـن{\displaystyle n}(في معالجات أخرى لتشفير المنحنيات الإهليلجية.)

تتشابه معلمات المستخدم والخوارزميات بشكل أساسي مع تلك المستخدمة في خوارزمية KCDSA اللوغاريتمية المنفصلة، ​​باستثناء استبدال عملية الرفع الأسي المعياري بعملية الضرب النقطي. وتتلخص الاختلافات المحددة فيما يلي:

  • المفتاح العام هوY=x¯جي{\displaystyle Y={\bar {x}}G}
  • في مجال توليد التوقيعات،ر=ح(دبليوx||دبليوy){\displaystyle r=h(W_{x}||W_{y})}أيندبليو=كجي{\displaystyle W=kG}
  • في عملية التحقق من التوقيع، يقوم المدقق باختبار ما إذا كانر=ح(sY+هـجي){\displaystyle r=h(sY+eG)}
  • مواصفات وتحليل KCDSA