şükela:  tümü | bugün
  • ing.elliptic curve digital signature algorithm
    tr. elliptic eğri digital imza algorithması
  • buna bakanın muhakkak ingilizce bildiğini bildiğimden ingilizce yazmada bir sakıncasını görmediğim
    ecdsa algoritmasi :

    ecdsa key generation. each entity a does the following:
    1. select an elliptic curve e defined over zn. the number of points in e(zn) should be divisible by a large prime n.
    2. select a point p € e(zp) of order n.
    3. select a statiscically unique and unpredictable integer d in the interval [1,n-1].
    4. compute q = dp.
    5. a’s public key is (e,p,n,q); a’s private key is d

    ecdsa signature generation. to sign a message m, a does following:
    1. select a statistically unique and unpredictable integer k in the interval [1,n-1]
    2. compute kp = (x1,y1) and r= x1 mod n. (here x1 is regarded as an integer, for example by conversion from its binary represantiation)
    if r = 0, then go to step 1. (this is a security condition: if r = 0, then the signing equation s = k over -1 {h(m) +dr} mod n does not involve the private key d!)
    3. compute k over -1 mod n
    4. compute s = k over -1 {h(m) + dr} mod n, where is the secure hash algorithm (sha-1)
    5. if s = 0, then go to step 1. ( if s = 0, then s over -1 mod n does not exist; s over -1 is required in step 2 of signature verification)
    6. the signature for the message m is the pair of integers (r,s)

    ecdsa signature verification. to verify a’s signature (r,s) on m, b should do the following:
    1. obtain an authentic copy of a’s public key (e,p,n,q). verify that r and s are integers in the interval [1,n-1]
    2. compute w = s over -1 mod n and h(m)
    3. compute u1 = h(m)w mod n and u2 = rw mod n
    4. compute u1p + u2q = (x0,y0) and v = x0 mod n
    5. accept the signature if and only if v = r
  • bunda kullanılan asal sayıların uzunluğu en fazla 521 bit olabiliyor. 512 değil de bu sayının 521 bit olmasının sebebi, 2^521-1'in bir mersenne sayısı olması.

    her neyse, ortak asal sayı üretiminin makinanın random sayı üretme algoritmasına (rng) bağlı olmasından, makinanızın rng'si kötüyse zayıf bir kripto yöntemi olduğu düşünülüyor. örneğin ed25519 gibi algoritmalarda anahtarınızı üretirken kullandığınız makinanın rng'si kritik oluyor, ama sonra o anahtarı iletişim kurmak için dandik rng'li bir makinada kullanırsanız güvenlik zayıf olmuyor. bu niye önemli? embedded cihazlarınız boktan rng'lere sahiptir, benzer şekilde sanal sistemlerde de bu daha zayıf oluyor. öyleyse sanal sunucularınızın ssh bağlantılarını ecdsa (ve hatta dsa) ile sağlamak kötü. veya ip kameralarnızın trafiğini bu yöntemle kriptoladığınızı düşünüyorsanız tekrar düşünün diyorlar.

    bir diğer nokta, openssh şu anda bu algoritma için sadece nist curve'lerini destekliyor. kimileri de nsa'nin bu curve'lere backdoor koyduğunu düşünüyor. dolayısıyla openssh kullanan sistemlerde (hemen hepsi) insanlar bu kriptolama biçimini tercih etmiyor.
  • playstation 3'un tasarimini yapan muhendisler tum ecdsa imzalarinda ayni random number'i kullandiklari icin imzalarda kullandiklari private key'i hackerlara kaptirmayi basarmistir.
  • bitcoin'in kullandığı dijital imza algoritması
  • (bkz: eddsa)
  • muadili rsa algoritması ile aynı seviye güvenliği çok daha ufak anahtar boyutlarıyla sağlar.

    256 bit ecc anahtarı 3072 bit rsa anahtarına, 512 bit ecc anahtarı 15360 bit rsa anahtarına denktir. görüldüğü üzere güvenlik seviyesini arttırmak isterseniz rsa'nın anahtar boyutu exponansiyel artarken, ecc'nin lineer artmakta.

    dijital imzalar üç adımdan oluşmaktadır. anahtar üretimi, imzalama ve doğrulama. aynı güvenlik seviyesi için ecc ve rsa'yı karşılaştırdığımız zaman ise anahtar üretimi ve imzalama işlemlerinde ecc çok daha hızlı iken, imzanın doğrulanması işleminde rsa daha hızlıdır kaynak.

    dolayısıyla kullanmanız gereken use-case'e göre kullanacağınız dijital imza algoritmasını belirlemelisiniz. basit bir iot cihazında mesaj gönderirken imzalayıp devasa sunucularda bu mesajları doğrulayacaksanız ecdsa çok daha anlamlı. ancak bir kez imzalayıp çok kez doğrulama ihtiyacınız bulunuyorsa rsa kullanmanız daha makul olacaktır.
  • bitcoin bu algoritmayı kullanır. en basit ifadeyle private key kullanarak public key üretmenizi sağlar.

    şu sıralar bitcoin camiasında ecdsa'yı bırakıp schnorr algoritmasına geçsek mi tartışması dönmekte.
  • fido standardında kullanılan imzalama algoritması.

    (bkz: es256)
  • top 100 kripto paranın %74'ü bu algoritmayı kullanıyor.
hesabın var mı? giriş yap