ParagonIE_Sodium_Core32_Curve25519::ge_p2_dbl

Advertisement

Syntax Syntax

ParagonIE_Sodium_Core32_Curve25519::ge_p2_dbl( ParagonIE_Sodium_Core32_Curve25519_Ge_P2 $p )

Parameters Parameters

$p

(ParagonIE_Sodium_Core32_Curve25519_Ge_P2) (Required)

Return Return

(ParagonIE_Sodium_Core32_Curve25519_Ge_P1p1)

Source Source

File: wp-includes/sodium_compat/src/Core32/Curve25519.php

    public static function ge_p2_dbl(ParagonIE_Sodium_Core32_Curve25519_Ge_P2 $p)
    {
        $r = new ParagonIE_Sodium_Core32_Curve25519_Ge_P1p1();

        $r->X = self::fe_sq($p->X);
        $r->Z = self::fe_sq($p->Y);
        $r->T = self::fe_sq2($p->Z);
        $r->Y = self::fe_add($p->X, $p->Y);
        $t0   = self::fe_sq($r->Y);
        $r->Y = self::fe_add($r->Z, $r->X);
        $r->Z = self::fe_sub($r->Z, $r->X);
        $r->X = self::fe_sub($t0, $r->Y);
        $r->T = self::fe_sub($r->T, $r->Z);

        return $r;
    }

Advertisement

Advertisement

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.