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.<x0, x1, x2, x3, x4, x5, x6, x7, x8, x9>=Boolean PolynomialRing()  

> y=[
>
>     [x0           x1           x2           x3           x4           x5      
>      x6           x7           x8           x9]
>     [x1           x2           x3           x4           x5           x6      
>      x7           x8           x9      x0 + x3]
>     [x2           x3           x4           x5           x6           x7      
>      x8           x9      x0 + x3      x1 + x4]          
>     [x3           x4           x5           x6           x7           x8      
>      x9      x0 + x3      x1 + x4      x2 + x5]
>     [x4           x5           x6           x7           x8           x9      
> x0 + x3      x1 + x4      x2 + x5      x3 + x6]
>     [x5           x6           x7           x8           x9      x0 + x3      
> x1 + x4      x2 + x5      x3 + x6      x4 + x7]
>     [x6           x7           x8           x9      x0 + x3      x1 + x4      
> x2 + x5      x3 + x6      x4 + x7      x5 + x8]
>     [x7           x8           x9      x0 + x3      x1 + x4      x2 + x5      
> x3 + x6      x4 + x7      x5 + x8      x6 + x9]
>     [x8           x9      x0 + x3      x1 + x4      x2 + x5      x3 + x6      
> x4 + x7      x5 + x8      x6 + x9 x0 + x3 + x7]
>     [x9      x0 + x3      x1 + x4      x2 + x5      x3 + x6      x4 + x7      
> x5 + x8      x6 + x9 x0 + x3 + x7 x1 + x4 + x8]
>
> ]
>
This is a 10 x 10 matrix where each xi in GF(2). I need to find 
(0,0,0,0,0,0,0,0,0,1)*y^(-1). This is a small example of what I need. In 
actual case, n=512. Can you help me to find the inverse. Thanks in advance 
man.

>
> On Monday, November 4, 2019 at 12:20:50 AM UTC+5:30, Emmanuel Charpentier 
> wrote:
>>
>> 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
>> Wall time: 113 ms
>> sage: bool(IM*M==diagonal_matrix(GF(2),[GF(2)(1)]*512))
>> True
>>
>> But, being totally ignorant of your domain, I have trouble seeing how to 
>> use this result for boolean logic. A glimpse at the relevant 
>> documentation 
>> <http://doc.sagemath.org/html/en/reference/logic/index.html> hints that 
>> I should refrain from commenting further...
>>
>> HTH, nevertheless,
>>
>>
>> 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? 
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/88999fd3-aa13-4875-879c-0ed6ad28f27d%40googlegroups.com.

Reply via email to