[sage-support] Re: Symbolic inverse in finite field

2019-11-07 Thread Nils Bruin
On Thursday, November 7, 2019 at 7:50:00 AM UTC-8, Subrata Nandi wrote: > > > > On Thursday, November 7, 2019 at 9:13:17 PM UTC+5:30, Subrata Nandi wrote: >> >> Thanks Emmanuel Charpentier for your reply. But the entry of my matrix >> is only symbolic variables. For example I am giving one short

[sage-support] Re: Symbolic inverse in finite field

2019-11-07 Thread Subrata Nandi
On Thursday, November 7, 2019 at 9:13:17 PM UTC+5:30, Subrata Nandi wrote: > > Thanks Emmanuel Charpentier for your reply. But the entry of my matrix is > only symbolic variables. For example I am giving one short matrix. > R.=Boolean PolynomialRing() > y=[ > > [x0 x1

[sage-support] Re: Symbolic inverse in finite field

2019-11-07 Thread Subrata Nandi
Thanks Emmanuel Charpentier for your reply. But the entry of my matrix is only symbolic variables. For example I am giving one short matrix. y=[ [x0 x1 x2 x3 x4 x5 x6 x7 x8 x9] [x1 x2

[sage-support] Re: Symbolic inverse in finite field

2019-11-03 Thread Emmanuel Charpentier
One can check that Sage's built-in methods can invert such a GF(2) maytrix in reasonable time: sage: MS=MatrixSpace(GF(2),512,512) sage: while True: : M=MS.an_element() : if M.is_unit(): break : sage: %time IM=M^-1 CPU times: user 2.99 ms, sys: 243 µs, total: 3.23 ms

[sage-support] Re: Symbolic inverse in finite field

2019-11-03 Thread Emmanuel Charpentier
Spoke too fast. Sorry for the noise... Le jeudi 31 octobre 2019 10:51:27 UTC+1, Subrata Nandi a écrit : > > My research area is symmetric key cryptology. I need an efficient > algorithm for solving inverse of symbolic matrix of size 512 x 512 in > GF(2). Can anyone share > Idea regarding that?

[sage-support] Re: Symbolic inverse in finite field

2019-11-03 Thread Emmanuel Charpentier
Well, the standard Sage operatins seem to be able to do what you want: sage: MS=MatrixSpace(GF(2), 5, 5) sage: MS Full MatrixSpace of 5 by 5 dense matrices over Finite Field of size 2 sage: M=MS.random_element();M [0 0 1 0 1] [0 0 1 1 0] [0 0 0 0 1] [1 1 0 1 0] [0 1 1 0 0] sage: M^-1 [0 1 0 1 1]