fe_pow22523 example

        # fe_mul(h->X,h->X,v);         # fe_mul(h->X,h->X,u); /* x = uv^7 */         $v3 = self::fe_sq($v);
        $v3 = self::fe_mul($v3$v); /* v3 = v^3 */
        $h->X = self::fe_sq($v3);
        $h->X = self::fe_mul($h->X, $v);
        $h->X = self::fe_mul($h->X, $u); /* x = uv^7 */

        # fe_pow22523(h->X,h->X); /* x = (uv^7)^((q-5)/8) */         # fe_mul(h->X,h->X,v3);         # fe_mul(h->X,h->X,u); /* x = uv^3(uv^7)^((q-5)/8) */         $h->X = self::fe_pow22523($h->X); /* x = (uv^7)^((q-5)/8) */
        $h->X = self::fe_mul($h->X, $v3);
        $h->X = self::fe_mul($h->X, $u); /* x = uv^3(uv^7)^((q-5)/8) */

        # fe_sq(vxx,h->X);         # fe_mul(vxx,vxx,v);         # fe_sub(check,vxx,u); /* vx^2-u */         $vxx = self::fe_sq($h->X);
        $vxx = self::fe_mul($vxx$v);
        $check = self::fe_sub($vxx$u); /* vx^2 - u */

        # if (fe_isnonzero(check)) {
 /* v3 = v^3 */
        $x = self::fe_mul(
            self::fe_mul(
                self::fe_sq($v3),
                $u
            ),
            $v
        ); /* x = uv^7 */

        $x = self::fe_mul(
            self::fe_mul(
                self::fe_pow22523($x), /* x = (uv^7)^((q-5)/8) */
                $v3
            ),
            $u
        ); /* x = uv^3(uv^7)^((q-5)/8) */

        $vxx = self::fe_mul(
            self::fe_sq($x),
            $v
        ); /* vx^2 */

        $m_root_check = self::fe_sub($vxx$u); /* vx^2-u */
        
        # fe_mul(h->X,h->X,v);         # fe_mul(h->X,h->X,u); /* x = uv^7 */         $v3 = self::fe_sq($v);
        $v3 = self::fe_mul($v3$v); /* v3 = v^3 */
        $h->X = self::fe_sq($v3);
        $h->X = self::fe_mul($h->X, $v);
        $h->X = self::fe_mul($h->X, $u); /* x = uv^7 */

        # fe_pow22523(h->X,h->X); /* x = (uv^7)^((q-5)/8) */         # fe_mul(h->X,h->X,v3);         # fe_mul(h->X,h->X,u); /* x = uv^3(uv^7)^((q-5)/8) */         $h->X = self::fe_pow22523($h->X); /* x = (uv^7)^((q-5)/8) */
        $h->X = self::fe_mul($h->X, $v3);
        $h->X = self::fe_mul($h->X, $u); /* x = uv^3(uv^7)^((q-5)/8) */

        # fe_sq(vxx,h->X);         # fe_mul(vxx,vxx,v);         # fe_sub(check,vxx,u); /* vx^2-u */         $vxx = self::fe_sq($h->X);
        $vxx = self::fe_mul($vxx$v);
        $check = self::fe_sub($vxx$u); /* vx^2 - u */

        # if (fe_isnonzero(check)) {
Home | Imprint | This part of the site doesn't use cookies.