#6164: [with patch, needs work] Phan's Mini-AES for educational purposes
--------------------------+-------------------------------------------------
Reporter: mvngu | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.0.1
Component: cryptography | Keywords: Mini-AES, AES, cryptography
--------------------------+-------------------------------------------------
Comment(by mvngu):
Replying to [comment:2 malb]:
> Hi, how does the MiniAES compare to the small scale AES variants already
in Sage?
[[BR]]
As you know, Mini-AES was designed as a very small scale variant of the
AES. It can be used to teach crypto to computer science students who don't
have the necessary maths background to understand finite fields and
(basic) abstract algebra. Ideally, such students should have taken at
least two courses in basic calculus, and at least two courses in
programming. As I see it, Mini-AES and the implementation contained in the
patch require "minimum" maths background for crypto students to work
through the processes of encryption and decryption. As noted in the paper
[[BR]][[BR]]
C. Cid, S. Murphy, and M. Robshaw. Small scale variants of the AES. In
Proceedings of Fast Software Encryption 2005. LNCS 3557, Springer Verlag,
2005.
[[BR]][[BR]]
Mini-AES and the simplified AES variant by Musa, Schaefer, and Wedig have
been designed for teaching purposes. On the other hand, the small scale
variants of the AES by Cid, Murphy, and Robshaw have been designed as a
framework for cryptanalysis and comparing different cryptanalytic
techniques that can be brought to bear on the AES or its small scale
variants. As I see it, the small scale variants of Cid et al. require far
more advanced maths to describe and use. To be fair, the simplified
variant by Musa et al. also requires far too much advanced maths than is
suitable for someone who requires a basic understanding of how AES works.
[[BR]][[BR]]
What I want to do with the patch is to implement a variant of the AES that
fits in with Neal Koblitz's idea of Kid Krypto, where one should not
require too much advanced maths to describe the working of a cryptosystem.
Each method of the class {{{MiniAES}}} is designed so that a student can
follow through the whole processes of encryption and decryption, one step
at a time. But the class also has a callable that a student can use to
perform encryption or decryption in one step.
[[BR]][[BR]]
> I guess, they should at least re-use the same building blocks. e.g.
there is an S-Box class which might be worth using, some of the functions
might do the same etc.
[[BR]]
Yes. You got me there. I see what I can do to re-use the building blocks
in {{{sage/crypto/mq/sr.py}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6164#comment:3>
Sage <http://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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---