M4ri (100).jpg Apr 2026
Bit-packing allows 64-bit machine words to process 64 elements in parallel because addition in is a logical XOR and multiplication is a logical AND .
The library is used in cryptanalysis for solving dense linear systems of boolean equations, such as those found in integer factorization and attacks on public-key cryptosystems. The source code and documentation are available on the M4RI GitHub repository . M4ri (100).JPG
"Algorithm 898: Efficient Multiplication of Dense Matrices over GF(2)": This paper, published in ACM Transactions on Mathematical Software , describes the M4RM algorithm and its performance on modern CPUs. Bit-packing allows 64-bit machine words to process 64
"Efficient Dense Gaussian Elimination over the Finite Field with Two Elements": This work details a block-iterative algorithm for PLE decomposition, which has been adopted into the SageMath software . Technical Details of the Algorithm M4RI's efficiency comes from two primary techniques: Gray code tables are used with a length of to enumerate vectors in a subspace spanned by rows. This reduces the number of vector additions. This reduces the number of vector additions
The name "M4RI" stands for , an algorithm derived from the "Method of the Four Russians" multiplication (M4RM). Key Papers Related to M4RI
[0811.1714] Efficient Multiplication of Dense Matrices over GF(2)