On structured representation for code manipulation

Issue #140 new
David Lucas repo owner created an issue

When working on shortened codes and flatten representation of punctured codes, I thought about the following issue:

is there any code family which keeps structure even if submitted to several different maipulations in a row (e.g. Subfield Subcode then Puncture)? In that case, we'll have to think the design of structured_representation to consider this issue...

Comments (4)

  1. Johan Rosenkilde

    Well, shortening a GRS code is a new GRS, I'm pretty sure. So a shortened, punctured GRS code is a GRS code :-)

    What you write made me think of related problem: subfield subcode and shortening commutes, as does subfield subcode and puncturing, and shortening and puncturing (on different indices, and you need to slightly modify the indices). So if a code only retains structure after a shortening and a puncturing, then it would retain the same structure if the operations were done in opposite order. So a deep pattern matching of such multiple operations would need to either match all possible orders, or first normalise the ordering in some way.

    But this is over-engineering I'm very sure ;-) I don't know if this thing ever comes up "in practice"...

  2. David Lucas reporter

    I don't know for sure, but I was discussing with Julien and Elise about this issue yesterday, and it appears that some people obfuscate GRS codes for McEliece by shortening the orginal code and taking the subfield subcode of the shortened code they got.

    Maybe one of them knows other examples? And can tell us here now they have new and shiny bitbucket accounts ;)

  3. Johan Rosenkilde

    A Shortened GRS code is a GRS code -- I'm sure of it now. Try to prove it, it's pretty easy ;-)

  4. David Lucas reporter

    Yup:

    Let C be a GRS code. Its dual code Cd is also a GRS code. You puncture one its generator matrix in the positions chosen for shortening, and you still have a GRS code. Its dual code, Cs, is a GRS code and it's the shortened code of C.

  5. Log in to comment