grondilu / finite-fields-raku

Finite Fields in raku

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SparrowCI

Finite Fields Aritmetics in raku

use FiniteField;
my $*modulus = 13;

say 10 + 5;  # 2
say 10 / 3;  # 12  (3*12 = 36 = 13*2 + 10)

Notes

  • The dynamic variable $*modulus must be defined before calling any overloaded operator, otherwise the program will crash (no exception is handled so far).
  • Modular division will not check for primality of modulus or any other requirements.
  • Define a modulus for each lexical scopes you import the module in.
  • Althouh the name of this repo is using a plural, the name of the module itself is singular, because you only use one finite field at a time.
  • The main purpose of this module is to make writing cryptographic code easier.

About

Finite Fields in raku

License:Artistic License 2.0


Languages

Language:Raku 100.0%