Thanks!

I will think about your suggestions.

I asked you since I know you are a cryptographer. I assume
cryptographers
know all about reversing hashes!

Of course the question was in fact addressed to the whole list.

Thanks again,
Michel



On Nov 12, 4:30 pm, Martin Albrecht <[EMAIL PROTECTED]>
wrote:
> On Wednesday 12 November 2008, Michel wrote:
>
>
>
> > Ok that hint was not sufficient.
>
> > What function(s) from the m4ri library would allow me to attack this
> > problem?
> > How do I express that the solution of the system is supposed to be
> > sparse
> > (which is a non-linear condition)?
> > As far as I can tell there is no real reference manual for m4ri.
>
> > Regards,
> > Michel
>
> > BTW I more or less know how this problem is attacked in characteristic
> > zero.
>
> > On Nov 12, 11:10 am, Michael Brickenstein <[EMAIL PROTECTED]> wrote:
> > >http://m4ri.sagemath.org/performance.html
>
> > > On 12 Nov., 11:07, Michel <[EMAIL PROTECTED]> wrote:
> > > > > If the equations are really linear, then it's trivial.
>
> > > > Ah, can you tell me more?
>
> > > > Regards,
> > > > Michel
>
> Hi there,
>
> I am surprised that this question is addressed to me and not to [sage-devel]
> in general. If I understand correctly, you are not asking  how to solve a
> system of linear equations (this is what Michael referred to  M4RI for) but
> how to express the low hamming weight of the solution.
>
> I don't have an elegant solution.
>
> One way to express sparsity is to add say quadratic equations of the form x_i*
> x_j = 0 for random i and j with i != j to your equation system. However, this
> approach is very limited.
>
> Another approach:
>
> sage: A = random_matrix(GF(2),64,782) # 781 + constant coefficient
> sage: VS = A.right_kernel() # very slow due to silly reasons
> sage: M = VS.basis_matrix() #also slow due to silly reasons
>
> Now the problem is: Is there a linear combination of rows with hamming weight
> smaller than some threshold, right? This smells like a hard problem to me.
>
> You might get lucky though:
>
> sage: mx = M.ncols()
> sage: oldr = 0
> sage: for r in range(M.nrows()):
> ...        if sum(map(ZZ,M[r])) < mx:
> ...            mx = sum(map(ZZ,M[r]))
> ....           oldr = r
> sage: mx
> 18
>
> Does this help? I suppose I'm only telling you things you already knew.
>
> PS: M4RI does have a reference manual. I think M4RI mainly lacks high-level
> documentation like a tutorial and such.
>
> --
> name: Martin Albrecht
> _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> _www:http://www.informatik.uni-bremen.de/~malb
> _jab: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to