Ребята, кто сталкивался с DSA? Возможно, у кого-то есть пример кода или полезная ссылка? Поиск по Гуглу ничего не дал(((( Нужно подписать данные.
Я реализовывал. Правда на Java. Сомневаюсь что PHP умеет в достаточной мере работать с большими числами.
Приведите, пожалуйста, пример кода, который можно вставить в php скрипт. Может у кого есть ссылка полезная? Срочно очень надо(((
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