montante-jacques
v1.0.3
Published
Method to obtain modular inverse matrices sized n x n with applications in symmetric cryptography.
Downloads
10
Maintainers
Readme
Montante - Jacques
Method to obtain modular inverse matrices logarithmic-time nlog(n!) + (log(m!))/log(φ)). Developed method to obtain modular inverse matrices sized n x n considering computational-complexity more efficiency and applications in symmetric cryptography.
The proposed Montante-Jacques method to obtain modular inverse matrices with logarithmic complexity.
Installation
This is a Node.js module.
Installation is done using the npm install command:
npm i montante-jacques
Bareiss Algorithm
This method uses the Bareiss Algorithm to calculate the determinant of the matrix. See:
- https://www.npmjs.com/package/bareiss
npm i bareiss
Example of use
// Import the module
const MontanteJacques = require( 'montante-jacques' );
// Let K a (N x N) matrix
let K =
[ [ 42, 97, 23 ],
[ 51, 30, 77 ],
[ 33, 7, 66 ] ];
// Let m a prime number, referred as modulo.
const m = 131;
K = MontanteJacques.inverseModular( K, m );
console.log( K )
//[ [ 0, 42, 82 ], [ 85, 107, 48 ], [ 120, 53, 75 ] ];
The main function is:
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Authors
Code:
Author of the Gauss-Jacques method: