За последние 24 часа нас посетили 17003 программиста и 1629 роботов. Сейчас ищут 1488 программистов ...

DSA

Тема в разделе "Вопросы от блондинок", создана пользователем B_Yurchenko, 21 фев 2011.

  1. B_Yurchenko

    B_Yurchenko Активный пользователь

    С нами с:
    16 фев 2011
    Сообщения:
    28
    Симпатии:
    0
    Ребята, кто сталкивался с DSA? Возможно, у кого-то есть пример кода или полезная ссылка? Поиск по Гуглу ничего не дал((((
    Нужно подписать данные.
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Я реализовывал. Правда на Java.
    Сомневаюсь что PHP умеет в достаточной мере работать с большими числами.
     
  3. B_Yurchenko

    B_Yurchenko Активный пользователь

    С нами с:
    16 фев 2011
    Сообщения:
    28
    Симпатии:
    0
    Приведите, пожалуйста, пример кода, который можно вставить в php скрипт. Может у кого есть ссылка полезная? Срочно очень надо(((
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    PHP не приведу. Вот для JAVA собственно расчет подписи:
    [js]H=SHA1Hesh(chto, false);
    if (H.equals(BigInteger.ONE))
    {return;}
    Random rnd=new Random();
    BigInteger KKEY=new BigInteger(8,rnd);

    //Рассчет подписи
    while (s.equals(BigInteger.ZERO)) {
    while (r.equals(BigInteger.ZERO)) {
    while ((k.max(BigInteger.ZERO).equals(BigInteger.ZERO)) || (k.min(q).equals(q))) {
    while (KKEY.bitLength()<160)
    {KKEY=new BigInteger(512,rnd);}
    k=GSHA1(0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0, 0x67452301, KKEY.toString()).mod(q);
    k = new BigInteger(q.bitLength(),rnd);}

    r = g.modPow(k, p);
    r=r.mod(q);
    }

    prom=k.modInverse(q);
    prom2=x.multiply(r).add(H).mod(q);
    s = prom.multiply(prom2).mod(q);
    }[/js]
    А вот ссылки:
    http://pear.php.net/package/Math_BigInt ... teger.html
    http://download.oracle.com/javase/1.4.2 ... teger.html
    http://ru.wikipedia.org/wiki/DSA
     
  5. B_Yurchenko

    B_Yurchenko Активный пользователь

    С нами с:
    16 фев 2011
    Сообщения:
    28
    Симпатии:
    0
    Спасибо огромное!!!