#19508: Implementing RijndaelGF
-------------------------------------+-------------------------------------
Reporter: tgagne | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: cryptography | Resolution:
Keywords: cryptography, | Merged in:
aes, rijndaelgf | Reviewers: Martin Albrecht
Authors: Thomas Gagne | Work issues:
Report Upstream: N/A | Commit:
Branch: u/tgagne | faa7920d70beb59d79335e9bfdd3bcd00ea22429
/rijndael-gf | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by malb):
Replying to [comment:6 tgagne]:
> Thanks so much for reviewing this, Martin!
>
> A couple responses to some of your comments:
>
> 1. Looking more into how SR operates and its `gf2` mode, I realize that
`mq.SR()` and `RijndaelGF` can indeed operate over the same state. I've
removed that error from the documentation.
>
> 2. While Rijndael-GF's primary function isn't necessarily algebraic
cryptanalysis, it's definitely similar enough to BES that your comment
about the purpose of the `mq` module has convinced me that Rijndael-GF
fits better into `mq`. I've now moved it there in the most recent commit.
Okay, cool, thanks.
> 4. `hex_to_GF` and `bin_to_GF` do actually use `self` by calling
`self._F` to return an element of the field.
Ouch, sorry for missing this obvious dependency.
> On the other hand, `GF_to_bin` and `GF_to_hex` don't necessarily rely on
`self` but they do use it for printing error messages; does it make sense
to remove the reference to `self` in the error messages so that
`@staticmethod` can be used?
No, it's good to have the symmetry with the other functions.
> Also, I agree that those functions might not have the best home in
Rijndael-GF and that a separate module might be better. Did you have in
mind a more general `string_to_field` module or were you thinking of a
module more specific to cryptography, since `hex_to_GF` for example only
works when the field is `F(2^(4n))`?
Ideally, we'd have the following:
- Finite fields GF(2^{tn}^) accept strings of the form "0xff" to produce
elements.
- Matrix and vector spacess over these finite fields also accept strings,
but split up the strings adedequately.
- Similarly for strings of the form "{0,1}^*" except that they'd work over
any $GF(2^n^)$.
For the inverse direction, ideally we'd have methods on finite fields,
vectors and matrices to do the conversion.
However, while this would nice this might be righly considered beyond the
scope of this ticket (?)
--
Ticket URL: <http://trac.sagemath.org/ticket/19508#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.