Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu.../sodium_c.../src/Core
File: Curve25519.php
(int) (0xff & ($s6 >> 2)),
[2500] Fix | Delete
(int) (0xff & ($s6 >> 10)),
[2501] Fix | Delete
(int) (0xff & (($s6 >> 18) | $s7 << 3)),
[2502] Fix | Delete
(int) (0xff & ($s7 >> 5)),
[2503] Fix | Delete
(int) (0xff & ($s7 >> 13)),
[2504] Fix | Delete
(int) (0xff & ($s8 >> 0)),
[2505] Fix | Delete
(int) (0xff & ($s8 >> 8)),
[2506] Fix | Delete
(int) (0xff & (($s8 >> 16) | $s9 << 5)),
[2507] Fix | Delete
(int) (0xff & ($s9 >> 3)),
[2508] Fix | Delete
(int) (0xff & ($s9 >> 11)),
[2509] Fix | Delete
(int) (0xff & (($s9 >> 19) | $s10 << 2)),
[2510] Fix | Delete
(int) (0xff & ($s10 >> 6)),
[2511] Fix | Delete
(int) (0xff & (($s10 >> 14) | $s11 << 7)),
[2512] Fix | Delete
(int) (0xff & ($s11 >> 1)),
[2513] Fix | Delete
(int) (0xff & ($s11 >> 9)),
[2514] Fix | Delete
0xff & ($s11 >> 17)
[2515] Fix | Delete
);
[2516] Fix | Delete
return self::intArrayToString($arr);
[2517] Fix | Delete
}
[2518] Fix | Delete
[2519] Fix | Delete
/**
[2520] Fix | Delete
* @internal You should not use this directly from another application
[2521] Fix | Delete
*
[2522] Fix | Delete
* @param string $s
[2523] Fix | Delete
* @return string
[2524] Fix | Delete
* @throws TypeError
[2525] Fix | Delete
*/
[2526] Fix | Delete
public static function sc_reduce($s)
[2527] Fix | Delete
{
[2528] Fix | Delete
$s0 = 2097151 & self::load_3(self::substr($s, 0, 3));
[2529] Fix | Delete
$s1 = 2097151 & (self::load_4(self::substr($s, 2, 4)) >> 5);
[2530] Fix | Delete
$s2 = 2097151 & (self::load_3(self::substr($s, 5, 3)) >> 2);
[2531] Fix | Delete
$s3 = 2097151 & (self::load_4(self::substr($s, 7, 4)) >> 7);
[2532] Fix | Delete
$s4 = 2097151 & (self::load_4(self::substr($s, 10, 4)) >> 4);
[2533] Fix | Delete
$s5 = 2097151 & (self::load_3(self::substr($s, 13, 3)) >> 1);
[2534] Fix | Delete
$s6 = 2097151 & (self::load_4(self::substr($s, 15, 4)) >> 6);
[2535] Fix | Delete
$s7 = 2097151 & (self::load_3(self::substr($s, 18, 4)) >> 3);
[2536] Fix | Delete
$s8 = 2097151 & self::load_3(self::substr($s, 21, 3));
[2537] Fix | Delete
$s9 = 2097151 & (self::load_4(self::substr($s, 23, 4)) >> 5);
[2538] Fix | Delete
$s10 = 2097151 & (self::load_3(self::substr($s, 26, 3)) >> 2);
[2539] Fix | Delete
$s11 = 2097151 & (self::load_4(self::substr($s, 28, 4)) >> 7);
[2540] Fix | Delete
$s12 = 2097151 & (self::load_4(self::substr($s, 31, 4)) >> 4);
[2541] Fix | Delete
$s13 = 2097151 & (self::load_3(self::substr($s, 34, 3)) >> 1);
[2542] Fix | Delete
$s14 = 2097151 & (self::load_4(self::substr($s, 36, 4)) >> 6);
[2543] Fix | Delete
$s15 = 2097151 & (self::load_3(self::substr($s, 39, 4)) >> 3);
[2544] Fix | Delete
$s16 = 2097151 & self::load_3(self::substr($s, 42, 3));
[2545] Fix | Delete
$s17 = 2097151 & (self::load_4(self::substr($s, 44, 4)) >> 5);
[2546] Fix | Delete
$s18 = 2097151 & (self::load_3(self::substr($s, 47, 3)) >> 2);
[2547] Fix | Delete
$s19 = 2097151 & (self::load_4(self::substr($s, 49, 4)) >> 7);
[2548] Fix | Delete
$s20 = 2097151 & (self::load_4(self::substr($s, 52, 4)) >> 4);
[2549] Fix | Delete
$s21 = 2097151 & (self::load_3(self::substr($s, 55, 3)) >> 1);
[2550] Fix | Delete
$s22 = 2097151 & (self::load_4(self::substr($s, 57, 4)) >> 6);
[2551] Fix | Delete
$s23 = 0x1fffffff & (self::load_4(self::substr($s, 60, 4)) >> 3);
[2552] Fix | Delete
[2553] Fix | Delete
$s11 += self::mul($s23, 666643, 20);
[2554] Fix | Delete
$s12 += self::mul($s23, 470296, 19);
[2555] Fix | Delete
$s13 += self::mul($s23, 654183, 20);
[2556] Fix | Delete
$s14 -= self::mul($s23, 997805, 20);
[2557] Fix | Delete
$s15 += self::mul($s23, 136657, 18);
[2558] Fix | Delete
$s16 -= self::mul($s23, 683901, 20);
[2559] Fix | Delete
[2560] Fix | Delete
$s10 += self::mul($s22, 666643, 20);
[2561] Fix | Delete
$s11 += self::mul($s22, 470296, 19);
[2562] Fix | Delete
$s12 += self::mul($s22, 654183, 20);
[2563] Fix | Delete
$s13 -= self::mul($s22, 997805, 20);
[2564] Fix | Delete
$s14 += self::mul($s22, 136657, 18);
[2565] Fix | Delete
$s15 -= self::mul($s22, 683901, 20);
[2566] Fix | Delete
[2567] Fix | Delete
$s9 += self::mul($s21, 666643, 20);
[2568] Fix | Delete
$s10 += self::mul($s21, 470296, 19);
[2569] Fix | Delete
$s11 += self::mul($s21, 654183, 20);
[2570] Fix | Delete
$s12 -= self::mul($s21, 997805, 20);
[2571] Fix | Delete
$s13 += self::mul($s21, 136657, 18);
[2572] Fix | Delete
$s14 -= self::mul($s21, 683901, 20);
[2573] Fix | Delete
[2574] Fix | Delete
$s8 += self::mul($s20, 666643, 20);
[2575] Fix | Delete
$s9 += self::mul($s20, 470296, 19);
[2576] Fix | Delete
$s10 += self::mul($s20, 654183, 20);
[2577] Fix | Delete
$s11 -= self::mul($s20, 997805, 20);
[2578] Fix | Delete
$s12 += self::mul($s20, 136657, 18);
[2579] Fix | Delete
$s13 -= self::mul($s20, 683901, 20);
[2580] Fix | Delete
[2581] Fix | Delete
$s7 += self::mul($s19, 666643, 20);
[2582] Fix | Delete
$s8 += self::mul($s19, 470296, 19);
[2583] Fix | Delete
$s9 += self::mul($s19, 654183, 20);
[2584] Fix | Delete
$s10 -= self::mul($s19, 997805, 20);
[2585] Fix | Delete
$s11 += self::mul($s19, 136657, 18);
[2586] Fix | Delete
$s12 -= self::mul($s19, 683901, 20);
[2587] Fix | Delete
[2588] Fix | Delete
$s6 += self::mul($s18, 666643, 20);
[2589] Fix | Delete
$s7 += self::mul($s18, 470296, 19);
[2590] Fix | Delete
$s8 += self::mul($s18, 654183, 20);
[2591] Fix | Delete
$s9 -= self::mul($s18, 997805, 20);
[2592] Fix | Delete
$s10 += self::mul($s18, 136657, 18);
[2593] Fix | Delete
$s11 -= self::mul($s18, 683901, 20);
[2594] Fix | Delete
[2595] Fix | Delete
$carry6 = ($s6 + (1 << 20)) >> 21;
[2596] Fix | Delete
$s7 += $carry6;
[2597] Fix | Delete
$s6 -= $carry6 << 21;
[2598] Fix | Delete
$carry8 = ($s8 + (1 << 20)) >> 21;
[2599] Fix | Delete
$s9 += $carry8;
[2600] Fix | Delete
$s8 -= $carry8 << 21;
[2601] Fix | Delete
$carry10 = ($s10 + (1 << 20)) >> 21;
[2602] Fix | Delete
$s11 += $carry10;
[2603] Fix | Delete
$s10 -= $carry10 << 21;
[2604] Fix | Delete
$carry12 = ($s12 + (1 << 20)) >> 21;
[2605] Fix | Delete
$s13 += $carry12;
[2606] Fix | Delete
$s12 -= $carry12 << 21;
[2607] Fix | Delete
$carry14 = ($s14 + (1 << 20)) >> 21;
[2608] Fix | Delete
$s15 += $carry14;
[2609] Fix | Delete
$s14 -= $carry14 << 21;
[2610] Fix | Delete
$carry16 = ($s16 + (1 << 20)) >> 21;
[2611] Fix | Delete
$s17 += $carry16;
[2612] Fix | Delete
$s16 -= $carry16 << 21;
[2613] Fix | Delete
[2614] Fix | Delete
$carry7 = ($s7 + (1 << 20)) >> 21;
[2615] Fix | Delete
$s8 += $carry7;
[2616] Fix | Delete
$s7 -= $carry7 << 21;
[2617] Fix | Delete
$carry9 = ($s9 + (1 << 20)) >> 21;
[2618] Fix | Delete
$s10 += $carry9;
[2619] Fix | Delete
$s9 -= $carry9 << 21;
[2620] Fix | Delete
$carry11 = ($s11 + (1 << 20)) >> 21;
[2621] Fix | Delete
$s12 += $carry11;
[2622] Fix | Delete
$s11 -= $carry11 << 21;
[2623] Fix | Delete
$carry13 = ($s13 + (1 << 20)) >> 21;
[2624] Fix | Delete
$s14 += $carry13;
[2625] Fix | Delete
$s13 -= $carry13 << 21;
[2626] Fix | Delete
$carry15 = ($s15 + (1 << 20)) >> 21;
[2627] Fix | Delete
$s16 += $carry15;
[2628] Fix | Delete
$s15 -= $carry15 << 21;
[2629] Fix | Delete
[2630] Fix | Delete
$s5 += self::mul($s17, 666643, 20);
[2631] Fix | Delete
$s6 += self::mul($s17, 470296, 19);
[2632] Fix | Delete
$s7 += self::mul($s17, 654183, 20);
[2633] Fix | Delete
$s8 -= self::mul($s17, 997805, 20);
[2634] Fix | Delete
$s9 += self::mul($s17, 136657, 18);
[2635] Fix | Delete
$s10 -= self::mul($s17, 683901, 20);
[2636] Fix | Delete
[2637] Fix | Delete
$s4 += self::mul($s16, 666643, 20);
[2638] Fix | Delete
$s5 += self::mul($s16, 470296, 19);
[2639] Fix | Delete
$s6 += self::mul($s16, 654183, 20);
[2640] Fix | Delete
$s7 -= self::mul($s16, 997805, 20);
[2641] Fix | Delete
$s8 += self::mul($s16, 136657, 18);
[2642] Fix | Delete
$s9 -= self::mul($s16, 683901, 20);
[2643] Fix | Delete
[2644] Fix | Delete
$s3 += self::mul($s15, 666643, 20);
[2645] Fix | Delete
$s4 += self::mul($s15, 470296, 19);
[2646] Fix | Delete
$s5 += self::mul($s15, 654183, 20);
[2647] Fix | Delete
$s6 -= self::mul($s15, 997805, 20);
[2648] Fix | Delete
$s7 += self::mul($s15, 136657, 18);
[2649] Fix | Delete
$s8 -= self::mul($s15, 683901, 20);
[2650] Fix | Delete
[2651] Fix | Delete
$s2 += self::mul($s14, 666643, 20);
[2652] Fix | Delete
$s3 += self::mul($s14, 470296, 19);
[2653] Fix | Delete
$s4 += self::mul($s14, 654183, 20);
[2654] Fix | Delete
$s5 -= self::mul($s14, 997805, 20);
[2655] Fix | Delete
$s6 += self::mul($s14, 136657, 18);
[2656] Fix | Delete
$s7 -= self::mul($s14, 683901, 20);
[2657] Fix | Delete
[2658] Fix | Delete
$s1 += self::mul($s13, 666643, 20);
[2659] Fix | Delete
$s2 += self::mul($s13, 470296, 19);
[2660] Fix | Delete
$s3 += self::mul($s13, 654183, 20);
[2661] Fix | Delete
$s4 -= self::mul($s13, 997805, 20);
[2662] Fix | Delete
$s5 += self::mul($s13, 136657, 18);
[2663] Fix | Delete
$s6 -= self::mul($s13, 683901, 20);
[2664] Fix | Delete
[2665] Fix | Delete
$s0 += self::mul($s12, 666643, 20);
[2666] Fix | Delete
$s1 += self::mul($s12, 470296, 19);
[2667] Fix | Delete
$s2 += self::mul($s12, 654183, 20);
[2668] Fix | Delete
$s3 -= self::mul($s12, 997805, 20);
[2669] Fix | Delete
$s4 += self::mul($s12, 136657, 18);
[2670] Fix | Delete
$s5 -= self::mul($s12, 683901, 20);
[2671] Fix | Delete
$s12 = 0;
[2672] Fix | Delete
[2673] Fix | Delete
$carry0 = ($s0 + (1 << 20)) >> 21;
[2674] Fix | Delete
$s1 += $carry0;
[2675] Fix | Delete
$s0 -= $carry0 << 21;
[2676] Fix | Delete
$carry2 = ($s2 + (1 << 20)) >> 21;
[2677] Fix | Delete
$s3 += $carry2;
[2678] Fix | Delete
$s2 -= $carry2 << 21;
[2679] Fix | Delete
$carry4 = ($s4 + (1 << 20)) >> 21;
[2680] Fix | Delete
$s5 += $carry4;
[2681] Fix | Delete
$s4 -= $carry4 << 21;
[2682] Fix | Delete
$carry6 = ($s6 + (1 << 20)) >> 21;
[2683] Fix | Delete
$s7 += $carry6;
[2684] Fix | Delete
$s6 -= $carry6 << 21;
[2685] Fix | Delete
$carry8 = ($s8 + (1 << 20)) >> 21;
[2686] Fix | Delete
$s9 += $carry8;
[2687] Fix | Delete
$s8 -= $carry8 << 21;
[2688] Fix | Delete
$carry10 = ($s10 + (1 << 20)) >> 21;
[2689] Fix | Delete
$s11 += $carry10;
[2690] Fix | Delete
$s10 -= $carry10 << 21;
[2691] Fix | Delete
[2692] Fix | Delete
$carry1 = ($s1 + (1 << 20)) >> 21;
[2693] Fix | Delete
$s2 += $carry1;
[2694] Fix | Delete
$s1 -= $carry1 << 21;
[2695] Fix | Delete
$carry3 = ($s3 + (1 << 20)) >> 21;
[2696] Fix | Delete
$s4 += $carry3;
[2697] Fix | Delete
$s3 -= $carry3 << 21;
[2698] Fix | Delete
$carry5 = ($s5 + (1 << 20)) >> 21;
[2699] Fix | Delete
$s6 += $carry5;
[2700] Fix | Delete
$s5 -= $carry5 << 21;
[2701] Fix | Delete
$carry7 = ($s7 + (1 << 20)) >> 21;
[2702] Fix | Delete
$s8 += $carry7;
[2703] Fix | Delete
$s7 -= $carry7 << 21;
[2704] Fix | Delete
$carry9 = ($s9 + (1 << 20)) >> 21;
[2705] Fix | Delete
$s10 += $carry9;
[2706] Fix | Delete
$s9 -= $carry9 << 21;
[2707] Fix | Delete
$carry11 = ($s11 + (1 << 20)) >> 21;
[2708] Fix | Delete
$s12 += $carry11;
[2709] Fix | Delete
$s11 -= $carry11 << 21;
[2710] Fix | Delete
[2711] Fix | Delete
$s0 += self::mul($s12, 666643, 20);
[2712] Fix | Delete
$s1 += self::mul($s12, 470296, 19);
[2713] Fix | Delete
$s2 += self::mul($s12, 654183, 20);
[2714] Fix | Delete
$s3 -= self::mul($s12, 997805, 20);
[2715] Fix | Delete
$s4 += self::mul($s12, 136657, 18);
[2716] Fix | Delete
$s5 -= self::mul($s12, 683901, 20);
[2717] Fix | Delete
$s12 = 0;
[2718] Fix | Delete
[2719] Fix | Delete
$carry0 = $s0 >> 21;
[2720] Fix | Delete
$s1 += $carry0;
[2721] Fix | Delete
$s0 -= $carry0 << 21;
[2722] Fix | Delete
$carry1 = $s1 >> 21;
[2723] Fix | Delete
$s2 += $carry1;
[2724] Fix | Delete
$s1 -= $carry1 << 21;
[2725] Fix | Delete
$carry2 = $s2 >> 21;
[2726] Fix | Delete
$s3 += $carry2;
[2727] Fix | Delete
$s2 -= $carry2 << 21;
[2728] Fix | Delete
$carry3 = $s3 >> 21;
[2729] Fix | Delete
$s4 += $carry3;
[2730] Fix | Delete
$s3 -= $carry3 << 21;
[2731] Fix | Delete
$carry4 = $s4 >> 21;
[2732] Fix | Delete
$s5 += $carry4;
[2733] Fix | Delete
$s4 -= $carry4 << 21;
[2734] Fix | Delete
$carry5 = $s5 >> 21;
[2735] Fix | Delete
$s6 += $carry5;
[2736] Fix | Delete
$s5 -= $carry5 << 21;
[2737] Fix | Delete
$carry6 = $s6 >> 21;
[2738] Fix | Delete
$s7 += $carry6;
[2739] Fix | Delete
$s6 -= $carry6 << 21;
[2740] Fix | Delete
$carry7 = $s7 >> 21;
[2741] Fix | Delete
$s8 += $carry7;
[2742] Fix | Delete
$s7 -= $carry7 << 21;
[2743] Fix | Delete
$carry8 = $s8 >> 21;
[2744] Fix | Delete
$s9 += $carry8;
[2745] Fix | Delete
$s8 -= $carry8 << 21;
[2746] Fix | Delete
$carry9 = $s9 >> 21;
[2747] Fix | Delete
$s10 += $carry9;
[2748] Fix | Delete
$s9 -= $carry9 << 21;
[2749] Fix | Delete
$carry10 = $s10 >> 21;
[2750] Fix | Delete
$s11 += $carry10;
[2751] Fix | Delete
$s10 -= $carry10 << 21;
[2752] Fix | Delete
$carry11 = $s11 >> 21;
[2753] Fix | Delete
$s12 += $carry11;
[2754] Fix | Delete
$s11 -= $carry11 << 21;
[2755] Fix | Delete
[2756] Fix | Delete
$s0 += self::mul($s12, 666643, 20);
[2757] Fix | Delete
$s1 += self::mul($s12, 470296, 19);
[2758] Fix | Delete
$s2 += self::mul($s12, 654183, 20);
[2759] Fix | Delete
$s3 -= self::mul($s12, 997805, 20);
[2760] Fix | Delete
$s4 += self::mul($s12, 136657, 18);
[2761] Fix | Delete
$s5 -= self::mul($s12, 683901, 20);
[2762] Fix | Delete
[2763] Fix | Delete
$carry0 = $s0 >> 21;
[2764] Fix | Delete
$s1 += $carry0;
[2765] Fix | Delete
$s0 -= $carry0 << 21;
[2766] Fix | Delete
$carry1 = $s1 >> 21;
[2767] Fix | Delete
$s2 += $carry1;
[2768] Fix | Delete
$s1 -= $carry1 << 21;
[2769] Fix | Delete
$carry2 = $s2 >> 21;
[2770] Fix | Delete
$s3 += $carry2;
[2771] Fix | Delete
$s2 -= $carry2 << 21;
[2772] Fix | Delete
$carry3 = $s3 >> 21;
[2773] Fix | Delete
$s4 += $carry3;
[2774] Fix | Delete
$s3 -= $carry3 << 21;
[2775] Fix | Delete
$carry4 = $s4 >> 21;
[2776] Fix | Delete
$s5 += $carry4;
[2777] Fix | Delete
$s4 -= $carry4 << 21;
[2778] Fix | Delete
$carry5 = $s5 >> 21;
[2779] Fix | Delete
$s6 += $carry5;
[2780] Fix | Delete
$s5 -= $carry5 << 21;
[2781] Fix | Delete
$carry6 = $s6 >> 21;
[2782] Fix | Delete
$s7 += $carry6;
[2783] Fix | Delete
$s6 -= $carry6 << 21;
[2784] Fix | Delete
$carry7 = $s7 >> 21;
[2785] Fix | Delete
$s8 += $carry7;
[2786] Fix | Delete
$s7 -= $carry7 << 21;
[2787] Fix | Delete
$carry8 = $s8 >> 21;
[2788] Fix | Delete
$s9 += $carry8;
[2789] Fix | Delete
$s8 -= $carry8 << 21;
[2790] Fix | Delete
$carry9 = $s9 >> 21;
[2791] Fix | Delete
$s10 += $carry9;
[2792] Fix | Delete
$s9 -= $carry9 << 21;
[2793] Fix | Delete
$carry10 = $s10 >> 21;
[2794] Fix | Delete
$s11 += $carry10;
[2795] Fix | Delete
$s10 -= $carry10 << 21;
[2796] Fix | Delete
[2797] Fix | Delete
/**
[2798] Fix | Delete
* @var array<int, int>
[2799] Fix | Delete
*/
[2800] Fix | Delete
$arr = array(
[2801] Fix | Delete
(int) ($s0 >> 0),
[2802] Fix | Delete
(int) ($s0 >> 8),
[2803] Fix | Delete
(int) (($s0 >> 16) | $s1 << 5),
[2804] Fix | Delete
(int) ($s1 >> 3),
[2805] Fix | Delete
(int) ($s1 >> 11),
[2806] Fix | Delete
(int) (($s1 >> 19) | $s2 << 2),
[2807] Fix | Delete
(int) ($s2 >> 6),
[2808] Fix | Delete
(int) (($s2 >> 14) | $s3 << 7),
[2809] Fix | Delete
(int) ($s3 >> 1),
[2810] Fix | Delete
(int) ($s3 >> 9),
[2811] Fix | Delete
(int) (($s3 >> 17) | $s4 << 4),
[2812] Fix | Delete
(int) ($s4 >> 4),
[2813] Fix | Delete
(int) ($s4 >> 12),
[2814] Fix | Delete
(int) (($s4 >> 20) | $s5 << 1),
[2815] Fix | Delete
(int) ($s5 >> 7),
[2816] Fix | Delete
(int) (($s5 >> 15) | $s6 << 6),
[2817] Fix | Delete
(int) ($s6 >> 2),
[2818] Fix | Delete
(int) ($s6 >> 10),
[2819] Fix | Delete
(int) (($s6 >> 18) | $s7 << 3),
[2820] Fix | Delete
(int) ($s7 >> 5),
[2821] Fix | Delete
(int) ($s7 >> 13),
[2822] Fix | Delete
(int) ($s8 >> 0),
[2823] Fix | Delete
(int) ($s8 >> 8),
[2824] Fix | Delete
(int) (($s8 >> 16) | $s9 << 5),
[2825] Fix | Delete
(int) ($s9 >> 3),
[2826] Fix | Delete
(int) ($s9 >> 11),
[2827] Fix | Delete
(int) (($s9 >> 19) | $s10 << 2),
[2828] Fix | Delete
(int) ($s10 >> 6),
[2829] Fix | Delete
(int) (($s10 >> 14) | $s11 << 7),
[2830] Fix | Delete
(int) ($s11 >> 1),
[2831] Fix | Delete
(int) ($s11 >> 9),
[2832] Fix | Delete
(int) $s11 >> 17
[2833] Fix | Delete
);
[2834] Fix | Delete
return self::intArrayToString($arr);
[2835] Fix | Delete
}
[2836] Fix | Delete
[2837] Fix | Delete
/**
[2838] Fix | Delete
* multiply by the order of the main subgroup l = 2^252+27742317777372353535851937790883648493
[2839] Fix | Delete
*
[2840] Fix | Delete
* @param ParagonIE_Sodium_Core_Curve25519_Ge_P3 $A
[2841] Fix | Delete
* @return ParagonIE_Sodium_Core_Curve25519_Ge_P3
[2842] Fix | Delete
*/
[2843] Fix | Delete
public static function ge_mul_l(ParagonIE_Sodium_Core_Curve25519_Ge_P3 $A)
[2844] Fix | Delete
{
[2845] Fix | Delete
$aslide = array(
[2846] Fix | Delete
13, 0, 0, 0, 0, -1, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0,
[2847] Fix | Delete
0, 0, 0, -3, 0, 0, 0, 0, -13, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0,
[2848] Fix | Delete
0, 0, 0, -13, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
[2849] Fix | Delete
0, 0, 11, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, -1,
[2850] Fix | Delete
0, 0, 0, 0, 3, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
[2851] Fix | Delete
0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 5, 0, 0, 0, 0,
[2852] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
[2853] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
[2854] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
[2855] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
[2856] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
[2857] Fix | Delete
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
[2858] Fix | Delete
);
[2859] Fix | Delete
[2860] Fix | Delete
/** @var array<int, ParagonIE_Sodium_Core_Curve25519_Ge_Cached> $Ai size 8 */
[2861] Fix | Delete
$Ai = array();
[2862] Fix | Delete
[2863] Fix | Delete
# ge_p3_to_cached(&Ai[0], A);
[2864] Fix | Delete
$Ai[0] = self::ge_p3_to_cached($A);
[2865] Fix | Delete
# ge_p3_dbl(&t, A);
[2866] Fix | Delete
$t = self::ge_p3_dbl($A);
[2867] Fix | Delete
# ge_p1p1_to_p3(&A2, &t);
[2868] Fix | Delete
$A2 = self::ge_p1p1_to_p3($t);
[2869] Fix | Delete
[2870] Fix | Delete
for ($i = 1; $i < 8; ++$i) {
[2871] Fix | Delete
# ge_add(&t, &A2, &Ai[0]);
[2872] Fix | Delete
$t = self::ge_add($A2, $Ai[$i - 1]);
[2873] Fix | Delete
# ge_p1p1_to_p3(&u, &t);
[2874] Fix | Delete
$u = self::ge_p1p1_to_p3($t);
[2875] Fix | Delete
# ge_p3_to_cached(&Ai[i], &u);
[2876] Fix | Delete
$Ai[$i] = self::ge_p3_to_cached($u);
[2877] Fix | Delete
}
[2878] Fix | Delete
[2879] Fix | Delete
$r = self::ge_p3_0();
[2880] Fix | Delete
for ($i = 252; $i >= 0; --$i) {
[2881] Fix | Delete
$t = self::ge_p3_dbl($r);
[2882] Fix | Delete
if ($aslide[$i] > 0) {
[2883] Fix | Delete
# ge_p1p1_to_p3(&u, &t);
[2884] Fix | Delete
$u = self::ge_p1p1_to_p3($t);
[2885] Fix | Delete
# ge_add(&t, &u, &Ai[aslide[i] / 2]);
[2886] Fix | Delete
$t = self::ge_add($u, $Ai[(int)($aslide[$i] / 2)]);
[2887] Fix | Delete
} elseif ($aslide[$i] < 0) {
[2888] Fix | Delete
# ge_p1p1_to_p3(&u, &t);
[2889] Fix | Delete
$u = self::ge_p1p1_to_p3($t);
[2890] Fix | Delete
# ge_sub(&t, &u, &Ai[(-aslide[i]) / 2]);
[2891] Fix | Delete
$t = self::ge_sub($u, $Ai[(int)(-$aslide[$i] / 2)]);
[2892] Fix | Delete
}
[2893] Fix | Delete
}
[2894] Fix | Delete
[2895] Fix | Delete
# ge_p1p1_to_p3(r, &t);
[2896] Fix | Delete
return self::ge_p1p1_to_p3($t);
[2897] Fix | Delete
}
[2898] Fix | Delete
[2899] Fix | Delete
/**
[2900] Fix | Delete
* @param string $a
[2901] Fix | Delete
* @param string $b
[2902] Fix | Delete
* @return string
[2903] Fix | Delete
*/
[2904] Fix | Delete
public static function sc25519_mul($a, $b)
[2905] Fix | Delete
{
[2906] Fix | Delete
// int64_t a0 = 2097151 & load_3(a);
[2907] Fix | Delete
// int64_t a1 = 2097151 & (load_4(a + 2) >> 5);
[2908] Fix | Delete
// int64_t a2 = 2097151 & (load_3(a + 5) >> 2);
[2909] Fix | Delete
// int64_t a3 = 2097151 & (load_4(a + 7) >> 7);
[2910] Fix | Delete
// int64_t a4 = 2097151 & (load_4(a + 10) >> 4);
[2911] Fix | Delete
// int64_t a5 = 2097151 & (load_3(a + 13) >> 1);
[2912] Fix | Delete
// int64_t a6 = 2097151 & (load_4(a + 15) >> 6);
[2913] Fix | Delete
// int64_t a7 = 2097151 & (load_3(a + 18) >> 3);
[2914] Fix | Delete
// int64_t a8 = 2097151 & load_3(a + 21);
[2915] Fix | Delete
// int64_t a9 = 2097151 & (load_4(a + 23) >> 5);
[2916] Fix | Delete
// int64_t a10 = 2097151 & (load_3(a + 26) >> 2);
[2917] Fix | Delete
// int64_t a11 = (load_4(a + 28) >> 7);
[2918] Fix | Delete
$a0 = 2097151 & self::load_3(self::substr($a, 0, 3));
[2919] Fix | Delete
$a1 = 2097151 & (self::load_4(self::substr($a, 2, 4)) >> 5);
[2920] Fix | Delete
$a2 = 2097151 & (self::load_3(self::substr($a, 5, 3)) >> 2);
[2921] Fix | Delete
$a3 = 2097151 & (self::load_4(self::substr($a, 7, 4)) >> 7);
[2922] Fix | Delete
$a4 = 2097151 & (self::load_4(self::substr($a, 10, 4)) >> 4);
[2923] Fix | Delete
$a5 = 2097151 & (self::load_3(self::substr($a, 13, 3)) >> 1);
[2924] Fix | Delete
$a6 = 2097151 & (self::load_4(self::substr($a, 15, 4)) >> 6);
[2925] Fix | Delete
$a7 = 2097151 & (self::load_3(self::substr($a, 18, 3)) >> 3);
[2926] Fix | Delete
$a8 = 2097151 & self::load_3(self::substr($a, 21, 3));
[2927] Fix | Delete
$a9 = 2097151 & (self::load_4(self::substr($a, 23, 4)) >> 5);
[2928] Fix | Delete
$a10 = 2097151 & (self::load_3(self::substr($a, 26, 3)) >> 2);
[2929] Fix | Delete
$a11 = (self::load_4(self::substr($a, 28, 4)) >> 7);
[2930] Fix | Delete
[2931] Fix | Delete
// int64_t b0 = 2097151 & load_3(b);
[2932] Fix | Delete
// int64_t b1 = 2097151 & (load_4(b + 2) >> 5);
[2933] Fix | Delete
// int64_t b2 = 2097151 & (load_3(b + 5) >> 2);
[2934] Fix | Delete
// int64_t b3 = 2097151 & (load_4(b + 7) >> 7);
[2935] Fix | Delete
// int64_t b4 = 2097151 & (load_4(b + 10) >> 4);
[2936] Fix | Delete
// int64_t b5 = 2097151 & (load_3(b + 13) >> 1);
[2937] Fix | Delete
// int64_t b6 = 2097151 & (load_4(b + 15) >> 6);
[2938] Fix | Delete
// int64_t b7 = 2097151 & (load_3(b + 18) >> 3);
[2939] Fix | Delete
// int64_t b8 = 2097151 & load_3(b + 21);
[2940] Fix | Delete
// int64_t b9 = 2097151 & (load_4(b + 23) >> 5);
[2941] Fix | Delete
// int64_t b10 = 2097151 & (load_3(b + 26) >> 2);
[2942] Fix | Delete
// int64_t b11 = (load_4(b + 28) >> 7);
[2943] Fix | Delete
$b0 = 2097151 & self::load_3(self::substr($b, 0, 3));
[2944] Fix | Delete
$b1 = 2097151 & (self::load_4(self::substr($b, 2, 4)) >> 5);
[2945] Fix | Delete
$b2 = 2097151 & (self::load_3(self::substr($b, 5, 3)) >> 2);
[2946] Fix | Delete
$b3 = 2097151 & (self::load_4(self::substr($b, 7, 4)) >> 7);
[2947] Fix | Delete
$b4 = 2097151 & (self::load_4(self::substr($b, 10, 4)) >> 4);
[2948] Fix | Delete
$b5 = 2097151 & (self::load_3(self::substr($b, 13, 3)) >> 1);
[2949] Fix | Delete
$b6 = 2097151 & (self::load_4(self::substr($b, 15, 4)) >> 6);
[2950] Fix | Delete
$b7 = 2097151 & (self::load_3(self::substr($b, 18, 3)) >> 3);
[2951] Fix | Delete
$b8 = 2097151 & self::load_3(self::substr($b, 21, 3));
[2952] Fix | Delete
$b9 = 2097151 & (self::load_4(self::substr($b, 23, 4)) >> 5);
[2953] Fix | Delete
$b10 = 2097151 & (self::load_3(self::substr($b, 26, 3)) >> 2);
[2954] Fix | Delete
$b11 = (self::load_4(self::substr($b, 28, 4)) >> 7);
[2955] Fix | Delete
[2956] Fix | Delete
// s0 = a0 * b0;
[2957] Fix | Delete
// s1 = a0 * b1 + a1 * b0;
[2958] Fix | Delete
// s2 = a0 * b2 + a1 * b1 + a2 * b0;
[2959] Fix | Delete
// s3 = a0 * b3 + a1 * b2 + a2 * b1 + a3 * b0;
[2960] Fix | Delete
// s4 = a0 * b4 + a1 * b3 + a2 * b2 + a3 * b1 + a4 * b0;
[2961] Fix | Delete
// s5 = a0 * b5 + a1 * b4 + a2 * b3 + a3 * b2 + a4 * b1 + a5 * b0;
[2962] Fix | Delete
// s6 = a0 * b6 + a1 * b5 + a2 * b4 + a3 * b3 + a4 * b2 + a5 * b1 + a6 * b0;
[2963] Fix | Delete
// s7 = a0 * b7 + a1 * b6 + a2 * b5 + a3 * b4 + a4 * b3 + a5 * b2 +
[2964] Fix | Delete
// a6 * b1 + a7 * b0;
[2965] Fix | Delete
// s8 = a0 * b8 + a1 * b7 + a2 * b6 + a3 * b5 + a4 * b4 + a5 * b3 +
[2966] Fix | Delete
// a6 * b2 + a7 * b1 + a8 * b0;
[2967] Fix | Delete
// s9 = a0 * b9 + a1 * b8 + a2 * b7 + a3 * b6 + a4 * b5 + a5 * b4 +
[2968] Fix | Delete
// a6 * b3 + a7 * b2 + a8 * b1 + a9 * b0;
[2969] Fix | Delete
// s10 = a0 * b10 + a1 * b9 + a2 * b8 + a3 * b7 + a4 * b6 + a5 * b5 +
[2970] Fix | Delete
// a6 * b4 + a7 * b3 + a8 * b2 + a9 * b1 + a10 * b0;
[2971] Fix | Delete
// s11 = a0 * b11 + a1 * b10 + a2 * b9 + a3 * b8 + a4 * b7 + a5 * b6 +
[2972] Fix | Delete
// a6 * b5 + a7 * b4 + a8 * b3 + a9 * b2 + a10 * b1 + a11 * b0;
[2973] Fix | Delete
// s12 = a1 * b11 + a2 * b10 + a3 * b9 + a4 * b8 + a5 * b7 + a6 * b6 +
[2974] Fix | Delete
// a7 * b5 + a8 * b4 + a9 * b3 + a10 * b2 + a11 * b1;
[2975] Fix | Delete
// s13 = a2 * b11 + a3 * b10 + a4 * b9 + a5 * b8 + a6 * b7 + a7 * b6 +
[2976] Fix | Delete
// a8 * b5 + a9 * b4 + a10 * b3 + a11 * b2;
[2977] Fix | Delete
// s14 = a3 * b11 + a4 * b10 + a5 * b9 + a6 * b8 + a7 * b7 + a8 * b6 +
[2978] Fix | Delete
// a9 * b5 + a10 * b4 + a11 * b3;
[2979] Fix | Delete
// s15 = a4 * b11 + a5 * b10 + a6 * b9 + a7 * b8 + a8 * b7 + a9 * b6 +
[2980] Fix | Delete
// a10 * b5 + a11 * b4;
[2981] Fix | Delete
// s16 =
[2982] Fix | Delete
// a5 * b11 + a6 * b10 + a7 * b9 + a8 * b8 + a9 * b7 + a10 * b6 + a11 * b5;
[2983] Fix | Delete
// s17 = a6 * b11 + a7 * b10 + a8 * b9 + a9 * b8 + a10 * b7 + a11 * b6;
[2984] Fix | Delete
// s18 = a7 * b11 + a8 * b10 + a9 * b9 + a10 * b8 + a11 * b7;
[2985] Fix | Delete
// s19 = a8 * b11 + a9 * b10 + a10 * b9 + a11 * b8;
[2986] Fix | Delete
// s20 = a9 * b11 + a10 * b10 + a11 * b9;
[2987] Fix | Delete
// s21 = a10 * b11 + a11 * b10;
[2988] Fix | Delete
// s22 = a11 * b11;
[2989] Fix | Delete
// s23 = 0;
[2990] Fix | Delete
$s0 = self::mul($a0, $b0, 22);
[2991] Fix | Delete
$s1 = self::mul($a0, $b1, 22) + self::mul($a1, $b0, 22);
[2992] Fix | Delete
$s2 = self::mul($a0, $b2, 22) + self::mul($a1, $b1, 22) + self::mul($a2, $b0, 22);
[2993] Fix | Delete
$s3 = self::mul($a0, $b3, 22) + self::mul($a1, $b2, 22) + self::mul($a2, $b1, 22) + self::mul($a3, $b0, 22);
[2994] Fix | Delete
$s4 = self::mul($a0, $b4, 22) + self::mul($a1, $b3, 22) + self::mul($a2, $b2, 22) + self::mul($a3, $b1, 22) +
[2995] Fix | Delete
self::mul($a4, $b0, 22);
[2996] Fix | Delete
$s5 = self::mul($a0, $b5, 22) + self::mul($a1, $b4, 22) + self::mul($a2, $b3, 22) + self::mul($a3, $b2, 22) +
[2997] Fix | Delete
self::mul($a4, $b1, 22) + self::mul($a5, $b0, 22);
[2998] Fix | Delete
$s6 = self::mul($a0, $b6, 22) + self::mul($a1, $b5, 22) + self::mul($a2, $b4, 22) + self::mul($a3, $b3, 22) +
[2999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function