(45 . 13)(45 . 12)
1718 begin
1719
1720 -- XY_Lo:XY_Hi := X * Y
1721 FZ_Mult(X, Y, XY_Lo, XY_Hi);
1722 FZ_Multiply_Buffered(X, Y, XY_Lo, XY_Hi);
1723
1724 -- Product := XY mod M
1725 FZ_Mod(XY, Modulus, Product);
1726
1727 end FZ_Mod_Mul;
1728 pragma Inline_Always(FZ_Mod_Mul);
1729
1730
1731 -- Modular Exponent: Result := Base^Exponent mod Modulus
(99 . 6)(98 . 5)
1733 Result := R;
1734
1735 end FZ_Mod_Exp;
1736 pragma Inline_Always(FZ_Mod_Exp);
1737
1738 end FZ_ModEx;