- 674B3C93EA1DB47AA9944896EF8A3D4B47B10176D2E76BE0F76DE8AB5058B84EAF59CD34E16594F914414CF407EE4D656DDDDE996A7E078DFA1E4C354A9CBB30
+ 106C1EAF0DE722A10436B1A84AA1A6B0F49D74723D62769C8A1B50B5DDDFE9BB6A96EC3448C918A97786058AA8B3F64467CD7324D777FB0AB7711F30FF6F233A
ffa/libffa/fz_modex.ads
(18 . 6)(18 . 7)
322 ------------------------------------------------------------------------------
323
324 with FZ_Type; use FZ_Type;
325 with FZ_Barr; use FZ_Barr;
326
327
328 package FZ_ModEx is
(40 . 6)(41 . 19)
330 with Pre => Modulus'Length = X'Length and
331 Product'Length = Modulus'Length;
332
333 -- (Barrettronic) Modular Squaring, using given Barrettoid
334 procedure FZ_Mod_Sqr_Barrett(X : in FZ;
335 Bar : in Barretoid;
336 Product : out FZ);
337 pragma Inline_Always(FZ_Mod_Sqr_Barrett);
338
339 -- Barrettronic Modular Exponent, using given Barrettoid
340 procedure FZ_Mod_Exp_Barrett(Base : in FZ;
341 Exponent : in FZ;
342 Bar : in Barretoid;
343 Result : out FZ);
344 pragma Inline_Always(FZ_Mod_Exp_Barrett);
345
346 -- (Barrettronic) Modular Exponent: Result := Base^Exponent mod Modulus
347 procedure FZ_Mod_Exp(Base : in FZ;
348 Exponent : in FZ;