Digitaalinen allekirjoitus

miniänäsaa:-)

Mikä olisi yleinen ja helppo ympäristö toteuttaa digitaalinen allekirjoitus ECDSA eli DSA-algoritimin elliptinen versio?

En haluaisi mitään eksoottisia lisäkilkkeitä vaan pitäisi onnistua ihan peruskokoonpanolla. Kenttäaritmetiikka olisi joko alkulukukentässä tai polynomikentässä. Hyvin tärkeänä pitäisin sitä että "pisteen kertominen" (Point Multiplication) saataisiin toteutettua tehokkasti koska se on elliptisen käyrän raskaimpia operaatioita.

- SHA1 -tiivistefunktio mielellään valmiina
- Joko valmiina tai helposti tehtävissä : tehokas isojen kokonaislukujen aritmetiikka (alkulukukenttä) / tehokas polynomiaritmetiikka (polynomikenttä)
- hyvät isot näennäissatunnaisluvut

Ehdokkaita:
- C tai C ; voisi olla sinänsä tehokkain, mutta löytyykö ympäristöistä valmiita toimintoja joita voisi hyödyntää, vai pitäisikö kaikki tehdä itse? Valmista C-koodia tosin löytyy lähteistä.
- C# ; miten hankala tämä olisi?
- Java ; suurten lukujen aritmetiikka luokassa java.math.BigInteger ja myös SHA1 luokassa java.security.MessageDigest ja isot satunnaisluvutkin ovat luokkakirjastossa tarjolla
- PHP ; ei ehkä kovin tehokas, mutta peruskokoonpanosta löytyy sha1 ja isojen lukujen aritmetiikan tarjoavat BcMath-funktiot. BcMath taitaa kuitenkin olla melko tehoton ; esim. jos jakolaskussa tarvitaan sekä osamäärä että jakojäännös niin jako on tehtävä tuplana, 2 funktiokutsua.

1

307

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • miniänäsaa:-)

      Kiitän jo etukäteen mahdollisista kommenteista edelliseen, mutta itse asiassa - kun nyt olen asiaa paremmin miettinyt - luulen että olen sittenkin jo polkuni valinnut.

      Toteutus tulee perustumaan C-koodiin, ainakin aluksi lähinnä Michael Rosing:in kirjan "Implementing Elliptic Curve Cryptography" mukaan: http://www.manning.com/rosing/
      Ikäähän tuolla kirjalla on jo toistakymmentä vuotta eikä matemaatikot sitä kauheasti alunperinkään ole kehuneet, mutta se on vain lähtökohta josta koodia kehitellään eteenpäin. Luulenpa että polynomikenttä on ensisijainen valinta kenttäaritmetiikaksi.

      Lopullisessa ratkaisussa luultavasti käytän valmiita NIST-käyriä enkä Rosing:in käyttämiä satunnaisia käyriä.
      http://en.wikipedia.org/wiki/Elliptic_curve_cryptography

      Ohjelmointiympäristönä tulee luultavasti toimimaan Qt 4.5 eli Nokian älykännyköillekin sopiva ympäristö koska haaveena on että softa vielä joskus pyörisi myös Symbian- tai Maemo-älykännykässä.
      http://qt.nokia.com/products/developer-tools

      Qt ei juurikaan sisällä valmiina edellä hahmoteltuja ECC-valmiuksia mutta Rosing:in kirja tarjoaa riittävät eväät mm. sha1:lle ja polynomiaritmetiikalle.

      Näin sen täytyy tässä vaiheessa olla. Toivotan onnea itselleni valitsemallani tiellä :-)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Jussi Halla-aho huolissaan Sofia Virrasta

      Jussihan on vanha vihreä. Onko tässä kyse alkukesän kiimasta, kun aidan toisella puolella oleva vihreä alkaa kiinnostama
      Maailman menoa
      100
      7825
    2. Sofia Virta kadonnut....onko juomassa?

      Virran poissaolo eduskunnasta on herättänyt huomiota. Esimerkiksi Ilta-Sanomat kertoi aiemmin, että Virta on ollut tällä
      Maailman menoa
      146
      6582
    3. Julkista rahaa ei tule antaa senttiäkään yksityisille yrityksille

      Julkinen raha on meidän yhteistä rahaa, ja se raha on tarkoitettu yhteiseen käyttöön, kuten esimerkiksi tuottamaan palve
      Maailman menoa
      183
      4705
    4. Tytti Tuppurainen: Suomen pakolaiskiintiö pitäisi nostaa 10 000 vuodessa

      asia on faktaa, noin Tytti sanoi aiemmin. Kun taas Orpon hallitusohjelman mukaisesti Suomen pakolaiskiintiö on pudotettu
      Maailman menoa
      242
      3207
    5. Halla-aho sivaltaa edustajantyöstään lintsaavaa Sofia Virtaa

      https://www.iltalehti.fi/politiikka/a/937c74d7-f905-4466-b9b4-abd017fe5b63 Kansanedustajan on ilmoitettava poissaolosta
      Maailman menoa
      98
      2722
    6. Ruotsissa uusi monikulttuurisuusongelma: Mummonraiskuut

      Ilmiö räjähti käsiin ja nyt painetaan paniikkinappulaa. Moni vanhustenhoivayhtiö on joutunut jopa lopettamaan, koska keh
      Maailman menoa
      69
      2160
    7. Ruoan arvonlisävero menee käytännössä tukijussille

      Ilman juomia elintarvikkeiden myynti vuonna 2025 oli reilut 15 miljardia euroa. Tuolla tasolla arvonlisävero pyörii pari
      Maailman menoa
      12
      1886
    8. Tunnustusten lauantai

      Mitä haluat sanoa kaivatullesi?
      Ikävä
      147
      1828
    9. Vihreät REPEÄMÄSSÄ oijoijoi....Virran sekoilut on liikaa

      Jo ennestään vihreiden kannatus on suossa vaikka puolue istuu oppositiossa, nyt tuli Virran temppu kun häipyi tuosta vaa
      Maailman menoa
      23
      1675
    10. Yhteydenotto

      Tiedätkö tai ymmärrätkö syyn, miksi kaivattusi ei ota sinuun yhteyttä? Mikä se syy on?
      Ikävä
      197
      1614
    Aihe