WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

ParagonIE_Sodium_Core_Curve25519::sc_reduce() public WP 1.0

{} Это метод класса: ParagonIE_Sodium_Core_Curve25519{}

Хуков нет.

Возвращает

Строку.

Использование

$result = ParagonIE_Sodium_Core_Curve25519::sc_reduce( $s );
$s(строка) (обязательный)

Код ParagonIE_Sodium_Core_Curve25519::sc_reduce() WP 5.5.1

<?php
public static function sc_reduce($s)
{
    /** @var int $s0 */
    $s0 = 2097151 & self::load_3(self::substr($s, 0, 3));
    /** @var int $s1 */
    $s1 = 2097151 & (self::load_4(self::substr($s, 2, 4)) >> 5);
    /** @var int $s2 */
    $s2 = 2097151 & (self::load_3(self::substr($s, 5, 3)) >> 2);
    /** @var int $s3 */
    $s3 = 2097151 & (self::load_4(self::substr($s, 7, 4)) >> 7);
    /** @var int $s4 */
    $s4 = 2097151 & (self::load_4(self::substr($s, 10, 4)) >> 4);
    /** @var int $s5 */
    $s5 = 2097151 & (self::load_3(self::substr($s, 13, 3)) >> 1);
    /** @var int $s6 */
    $s6 = 2097151 & (self::load_4(self::substr($s, 15, 4)) >> 6);
    /** @var int $s7 */
    $s7 = 2097151 & (self::load_3(self::substr($s, 18, 4)) >> 3);
    /** @var int $s8 */
    $s8 = 2097151 & self::load_3(self::substr($s, 21, 3));
    /** @var int $s9 */
    $s9 = 2097151 & (self::load_4(self::substr($s, 23, 4)) >> 5);
    /** @var int $s10 */
    $s10 = 2097151 & (self::load_3(self::substr($s, 26, 3)) >> 2);
    /** @var int $s11 */
    $s11 = 2097151 & (self::load_4(self::substr($s, 28, 4)) >> 7);
    /** @var int $s12 */
    $s12 = 2097151 & (self::load_4(self::substr($s, 31, 4)) >> 4);
    /** @var int $s13 */
    $s13 = 2097151 & (self::load_3(self::substr($s, 34, 3)) >> 1);
    /** @var int $s14 */
    $s14 = 2097151 & (self::load_4(self::substr($s, 36, 4)) >> 6);
    /** @var int $s15 */
    $s15 = 2097151 & (self::load_3(self::substr($s, 39, 4)) >> 3);
    /** @var int $s16 */
    $s16 = 2097151 & self::load_3(self::substr($s, 42, 3));
    /** @var int $s17 */
    $s17 = 2097151 & (self::load_4(self::substr($s, 44, 4)) >> 5);
    /** @var int $s18 */
    $s18 = 2097151 & (self::load_3(self::substr($s, 47, 3)) >> 2);
    /** @var int $s19 */
    $s19 = 2097151 & (self::load_4(self::substr($s, 49, 4)) >> 7);
    /** @var int $s20 */
    $s20 = 2097151 & (self::load_4(self::substr($s, 52, 4)) >> 4);
    /** @var int $s21 */
    $s21 = 2097151 & (self::load_3(self::substr($s, 55, 3)) >> 1);
    /** @var int $s22 */
    $s22 = 2097151 & (self::load_4(self::substr($s, 57, 4)) >> 6);
    /** @var int $s23 */
    $s23 = (self::load_4(self::substr($s, 60, 4)) >> 3);

    $s11 += self::mul($s23,  666643, 20);
    $s12 += self::mul($s23,  470296, 19);
    $s13 += self::mul($s23,  654183, 20);
    $s14 -= self::mul($s23,  997805, 20);
    $s15 += self::mul($s23,  136657, 18);
    $s16 -= self::mul($s23,  683901, 20);

    $s10 += self::mul($s22,  666643, 20);
    $s11 += self::mul($s22,  470296, 19);
    $s12 += self::mul($s22,  654183, 20);
    $s13 -= self::mul($s22,  997805, 20);
    $s14 += self::mul($s22,  136657, 18);
    $s15 -= self::mul($s22,  683901, 20);

    $s9  += self::mul($s21,  666643, 20);
    $s10 += self::mul($s21,  470296, 19);
    $s11 += self::mul($s21,  654183, 20);
    $s12 -= self::mul($s21,  997805, 20);
    $s13 += self::mul($s21,  136657, 18);
    $s14 -= self::mul($s21,  683901, 20);

    $s8  += self::mul($s20,  666643, 20);
    $s9  += self::mul($s20,  470296, 19);
    $s10 += self::mul($s20,  654183, 20);
    $s11 -= self::mul($s20,  997805, 20);
    $s12 += self::mul($s20,  136657, 18);
    $s13 -= self::mul($s20,  683901, 20);

    $s7  += self::mul($s19,  666643, 20);
    $s8  += self::mul($s19,  470296, 19);
    $s9  += self::mul($s19,  654183, 20);
    $s10 -= self::mul($s19,  997805, 20);
    $s11 += self::mul($s19,  136657, 18);
    $s12 -= self::mul($s19,  683901, 20);

    $s6  += self::mul($s18,  666643, 20);
    $s7  += self::mul($s18,  470296, 19);
    $s8  += self::mul($s18,  654183, 20);
    $s9  -= self::mul($s18,  997805, 20);
    $s10 += self::mul($s18,  136657, 18);
    $s11 -= self::mul($s18,  683901, 20);

    /** @var int $carry6 */
    $carry6 = ($s6 + (1 << 20)) >> 21;
    $s7 += $carry6;
    $s6 -= $carry6 << 21;
    /** @var int $carry8 */
    $carry8 = ($s8 + (1 << 20)) >> 21;
    $s9 += $carry8;
    $s8 -= $carry8 << 21;
    /** @var int $carry10 */
    $carry10 = ($s10 + (1 << 20)) >> 21;
    $s11 += $carry10;
    $s10 -= $carry10 << 21;
    /** @var int $carry12 */
    $carry12 = ($s12 + (1 << 20)) >> 21;
    $s13 += $carry12;
    $s12 -= $carry12 << 21;
    /** @var int $carry14 */
    $carry14 = ($s14 + (1 << 20)) >> 21;
    $s15 += $carry14;
    $s14 -= $carry14 << 21;
    /** @var int $carry16 */
    $carry16 = ($s16 + (1 << 20)) >> 21;
    $s17 += $carry16;
    $s16 -= $carry16 << 21;

    /** @var int $carry7 */
    $carry7 = ($s7 + (1 << 20)) >> 21;
    $s8 += $carry7;
    $s7 -= $carry7 << 21;
    /** @var int $carry9 */
    $carry9 = ($s9 + (1 << 20)) >> 21;
    $s10 += $carry9;
    $s9 -= $carry9 << 21;
    /** @var int $carry11 */
    $carry11 = ($s11 + (1 << 20)) >> 21;
    $s12 += $carry11;
    $s11 -= $carry11 << 21;
    /** @var int $carry13 */
    $carry13 = ($s13 + (1 << 20)) >> 21;
    $s14 += $carry13;
    $s13 -= $carry13 << 21;
    /** @var int $carry15 */
    $carry15 = ($s15 + (1 << 20)) >> 21;
    $s16 += $carry15;
    $s15 -= $carry15 << 21;

    $s5  += self::mul($s17,  666643, 20);
    $s6  += self::mul($s17,  470296, 19);
    $s7  += self::mul($s17,  654183, 20);
    $s8  -= self::mul($s17,  997805, 20);
    $s9  += self::mul($s17,  136657, 18);
    $s10 -= self::mul($s17,  683901, 20);

    $s4 += self::mul($s16,  666643, 20);
    $s5 += self::mul($s16,  470296, 19);
    $s6 += self::mul($s16,  654183, 20);
    $s7 -= self::mul($s16,  997805, 20);
    $s8 += self::mul($s16,  136657, 18);
    $s9 -= self::mul($s16,  683901, 20);

    $s3 += self::mul($s15,  666643, 20);
    $s4 += self::mul($s15,  470296, 19);
    $s5 += self::mul($s15,  654183, 20);
    $s6 -= self::mul($s15,  997805, 20);
    $s7 += self::mul($s15,  136657, 18);
    $s8 -= self::mul($s15,  683901, 20);

    $s2 += self::mul($s14,  666643, 20);
    $s3 += self::mul($s14,  470296, 19);
    $s4 += self::mul($s14,  654183, 20);
    $s5 -= self::mul($s14,  997805, 20);
    $s6 += self::mul($s14,  136657, 18);
    $s7 -= self::mul($s14,  683901, 20);

    $s1 += self::mul($s13,  666643, 20);
    $s2 += self::mul($s13,  470296, 19);
    $s3 += self::mul($s13,  654183, 20);
    $s4 -= self::mul($s13,  997805, 20);
    $s5 += self::mul($s13,  136657, 18);
    $s6 -= self::mul($s13,  683901, 20);

    $s0 += self::mul($s12,  666643, 20);
    $s1 += self::mul($s12,  470296, 19);
    $s2 += self::mul($s12,  654183, 20);
    $s3 -= self::mul($s12,  997805, 20);
    $s4 += self::mul($s12,  136657, 18);
    $s5 -= self::mul($s12,  683901, 20);
    $s12 = 0;

    /** @var int $carry0 */
    $carry0 = ($s0 + (1 << 20)) >> 21;
    $s1 += $carry0;
    $s0 -= $carry0 << 21;
    /** @var int $carry2 */
    $carry2 = ($s2 + (1 << 20)) >> 21;
    $s3 += $carry2;
    $s2 -= $carry2 << 21;
    /** @var int $carry4 */
    $carry4 = ($s4 + (1 << 20)) >> 21;
    $s5 += $carry4;
    $s4 -= $carry4 << 21;
    /** @var int $carry6 */
    $carry6 = ($s6 + (1 << 20)) >> 21;
    $s7 += $carry6;
    $s6 -= $carry6 << 21;
    /** @var int $carry8 */
    $carry8 = ($s8 + (1 << 20)) >> 21;
    $s9 += $carry8;
    $s8 -= $carry8 << 21;
    /** @var int $carry10 */
    $carry10 = ($s10 + (1 << 20)) >> 21;
    $s11 += $carry10;
    $s10 -= $carry10 << 21;

    /** @var int $carry1 */
    $carry1 = ($s1 + (1 << 20)) >> 21;
    $s2 += $carry1;
    $s1 -= $carry1 << 21;
    /** @var int $carry3 */
    $carry3 = ($s3 + (1 << 20)) >> 21;
    $s4 += $carry3;
    $s3 -= $carry3 << 21;
    /** @var int $carry5 */
    $carry5 = ($s5 + (1 << 20)) >> 21;
    $s6 += $carry5;
    $s5 -= $carry5 << 21;
    /** @var int $carry7 */
    $carry7 = ($s7 + (1 << 20)) >> 21;
    $s8 += $carry7;
    $s7 -= $carry7 << 21;
    /** @var int $carry9 */
    $carry9 = ($s9 + (1 << 20)) >> 21;
    $s10 += $carry9;
    $s9 -= $carry9 << 21;
    /** @var int $carry11 */
    $carry11 = ($s11 + (1 << 20)) >> 21;
    $s12 += $carry11;
    $s11 -= $carry11 << 21;

    $s0 += self::mul($s12,  666643, 20);
    $s1 += self::mul($s12,  470296, 19);
    $s2 += self::mul($s12,  654183, 20);
    $s3 -= self::mul($s12,  997805, 20);
    $s4 += self::mul($s12,  136657, 18);
    $s5 -= self::mul($s12,  683901, 20);
    $s12 = 0;

    /** @var int $carry0 */
    $carry0 = $s0 >> 21;
    $s1 += $carry0;
    $s0 -= $carry0 << 21;
    /** @var int $carry1 */
    $carry1 = $s1 >> 21;
    $s2 += $carry1;
    $s1 -= $carry1 << 21;
    /** @var int $carry2 */
    $carry2 = $s2 >> 21;
    $s3 += $carry2;
    $s2 -= $carry2 << 21;
    /** @var int $carry3 */
    $carry3 = $s3 >> 21;
    $s4 += $carry3;
    $s3 -= $carry3 << 21;
    /** @var int $carry4 */
    $carry4 = $s4 >> 21;
    $s5 += $carry4;
    $s4 -= $carry4 << 21;
    /** @var int $carry5 */
    $carry5 = $s5 >> 21;
    $s6 += $carry5;
    $s5 -= $carry5 << 21;
    /** @var int $carry6 */
    $carry6 = $s6 >> 21;
    $s7 += $carry6;
    $s6 -= $carry6 << 21;
    /** @var int $carry7 */
    $carry7 = $s7 >> 21;
    $s8 += $carry7;
    $s7 -= $carry7 << 21;
    /** @var int $carry8 */
    $carry8 = $s8 >> 21;
    $s9 += $carry8;
    $s8 -= $carry8 << 21;
    /** @var int $carry9 */
    $carry9 = $s9 >> 21;
    $s10 += $carry9;
    $s9 -= $carry9 << 21;
    /** @var int $carry10 */
    $carry10 = $s10 >> 21;
    $s11 += $carry10;
    $s10 -= $carry10 << 21;
    /** @var int $carry11 */
    $carry11 = $s11 >> 21;
    $s12 += $carry11;
    $s11 -= $carry11 << 21;

    $s0 += self::mul($s12,  666643, 20);
    $s1 += self::mul($s12,  470296, 19);
    $s2 += self::mul($s12,  654183, 20);
    $s3 -= self::mul($s12,  997805, 20);
    $s4 += self::mul($s12,  136657, 18);
    $s5 -= self::mul($s12,  683901, 20);

    /** @var int $carry0 */
    $carry0 = $s0 >> 21;
    $s1 += $carry0;
    $s0 -= $carry0 << 21;
    /** @var int $carry1 */
    $carry1 = $s1 >> 21;
    $s2 += $carry1;
    $s1 -= $carry1 << 21;
    /** @var int $carry2 */
    $carry2 = $s2 >> 21;
    $s3 += $carry2;
    $s2 -= $carry2 << 21;
    /** @var int $carry3 */
    $carry3 = $s3 >> 21;
    $s4 += $carry3;
    $s3 -= $carry3 << 21;
    /** @var int $carry4 */
    $carry4 = $s4 >> 21;
    $s5 += $carry4;
    $s4 -= $carry4 << 21;
    /** @var int $carry5 */
    $carry5 = $s5 >> 21;
    $s6 += $carry5;
    $s5 -= $carry5 << 21;
    /** @var int $carry6 */
    $carry6 = $s6 >> 21;
    $s7 += $carry6;
    $s6 -= $carry6 << 21;
    /** @var int $carry7 */
    $carry7 = $s7 >> 21;
    $s8 += $carry7;
    $s7 -= $carry7 << 21;
    /** @var int $carry8 */
    $carry8 = $s8 >> 21;
    $s9 += $carry8;
    $s8 -= $carry8 << 21;
    /** @var int $carry9 */
    $carry9 = $s9 >> 21;
    $s10 += $carry9;
    $s9 -= $carry9 << 21;
    /** @var int $carry10 */
    $carry10 = $s10 >> 21;
    $s11 += $carry10;
    $s10 -= $carry10 << 21;

    /**
     * @var array<int, int>
     */
    $arr = array(
        (int) ($s0 >> 0),
        (int) ($s0 >> 8),
        (int) (($s0 >> 16) | $s1 << 5),
        (int) ($s1 >> 3),
        (int) ($s1 >> 11),
        (int) (($s1 >> 19) | $s2 << 2),
        (int) ($s2 >> 6),
        (int) (($s2 >> 14) | $s3 << 7),
        (int) ($s3 >> 1),
        (int) ($s3 >> 9),
        (int) (($s3 >> 17) | $s4 << 4),
        (int) ($s4 >> 4),
        (int) ($s4 >> 12),
        (int) (($s4 >> 20) | $s5 << 1),
        (int) ($s5 >> 7),
        (int) (($s5 >> 15) | $s6 << 6),
        (int) ($s6 >> 2),
        (int) ($s6 >> 10),
        (int) (($s6 >> 18) | $s7 << 3),
        (int) ($s7 >> 5),
        (int) ($s7 >> 13),
        (int) ($s8 >> 0),
        (int) ($s8 >> 8),
        (int) (($s8 >> 16) | $s9 << 5),
        (int) ($s9 >> 3),
        (int) ($s9 >> 11),
        (int) (($s9 >> 19) | $s10 << 2),
        (int) ($s10 >> 6),
        (int) (($s10 >> 14) | $s11 << 7),
        (int) ($s11 >> 1),
        (int) ($s11 >> 9),
        (int) $s11 >> 17
    );
    return self::intArrayToString($arr);
}