Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 12821|Yanıt: 0

[C] SM2 dijital imza doğrulama ilkesi

[Bağlantıyı kopyala]
Yayınlandı 26.06.2019 10:09:45 | | |
SM2, eliptik eğrilere dayalı dijital bir imza algoritmasıdır ve eliptik eğrilerin açıklaması eliptik eğriler hakkında önceki Weibo'da görülebilir; aşağıda SM2 imzası sürecine kısa bir giriş verilmektedir.
Bilgi ee'nin imzalanması için, belirli işlemlerden sonra hash fonksiyonu aracılığıyla elde edilen orijinal bilgidir, hash algoritması ulusal gizli SM3 algoritmasını kullanır, bu süreç de atlanır, sadece anahtar imzalama ve doğrulama süreci başlatılır.

1. İmza süreci
GG eliptik eğride referans noktası olsun, dAdA özel anahtar, PAPA açık anahtar, PA=dA∗GPA=dA∗G olsun
İmza sonucu (r,s) (r,s) EE'nin dijital olarak imzalanmasıyla elde edilir ve hesaplama süreci şöyledir:
Öncelikle, rastgele sayı kk'yi seçin, elbette bu sayının seçimi kısıtlıdır ve şimdilik olduğu gibi bırakılır
r=e+x1r=e+x1 hesaplayın, burada (x1,y1)=k∗G(x1,y1)=k∗G
Hesapla s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA)
Ön kısmın özel bir anahtarla yapıldığı görülebilir.

2. İmza doğrulama süreci
İmzanın doğrulanması, alınan imza, açık anahtar, eliptik eğri parametreleri vb. kullanılarak imzayı doğrulamaktır ve doğrulamanın ana adımları şunlardır:
İlk olarak, t=r+st=r+s hesaplayın; eğer t=0t=0 ise, bu geçiş yapılmadığı anlamına gelir.
O zaman (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA üzerindeki noktalar tt ve ss ile hesaplanır
Sonra R=x1+eR=x1+e hesaplayın ve ardından RR ile rr'nin eşit olup olmadığını doğrulayın; eğer eşitlerse doğrulama geçtiği anlamına gelir.

3. Doğrulama ilkesi
Bunun neden doğrulanabileceğini şu şekilde türetebiliriz:
(x1,y1)=s∗G+t∗PA =s∗G+(r+s)∗PA =s∗G+(r+s)∗dA∗G=(1+dA)∗s∗G+r∗dA∗G=(1+dA)∗(1+dA)−1∗(k−r∗dA)∗G+r∗dA∗G=(k−r∗dA)∗G+r∗dA∗G=k∗G(x1,y1)=s∗G+t∗PA =s∗G+(r+s)∗PA            =s∗G+(r+s)∗dA∗G=(1+dA)∗s∗G+r∗dA∗G=(1+dA)∗(1+dA)−1∗(k−r∗dA)∗G+r∗dA∗G=(k−r∗dA)∗G+r∗dA∗G=k∗G
Açık anahtara göre elde edilen eliptik eğrideki bu noktanın, imza anındaki noktayla tutarlı olduğu görülebilir.
Sonra bu x1x1 ve alınan bilgileri ekleyip gönderilen imza rr'ye uyuyup uyumadığını görmek için geçer.
---------------------
Yazar: leowang666
Kaynak: CSDN
Orijinal: https://blog.csdn.net/hugewaves/article/details/59205914
Telif Hakkı Bildirimi: Bu makale blog yazarı tarafından orijinal bir makaledir, lütfen yeniden basmak için blog yazısı bağlantısını ekleyin!





Önceki:【Original】Google AdSense wire transfer collection tutorial
Önümüzdeki:Açısal olay bağlaması/öznitelik bağlamaları @HostListener, @HostBinding
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com