Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2007-08-30 12:07:47
Size: 31
Comment:
Revision 7 as of 2008-11-14 13:42:11
Size: 1590
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
foobar
== Introduction ==
This page's purpose is to describe the design of a MPolynomialSystem class. This class is supposed to model multivariate polynomial systems as they e.g. appear in algebraic cryptanalysis. The proposed and almost implemented design is as follows. There is a class MPolynomialSystem which models the actual polynomial system. Also there is a base class called MPolynomialSystemGenerator which is meant as a base class for specific generators for polynomial systems like AES or the Courtois Toy Cipher.

== MPolynomialSystem ==
see http://trac.sagemath.org/sage_trac/ticket/681

== MPolynomialSystemGenerator ==
see http://trac.sagemath.org/sage_trac/ticket/681

== Implemented Polynomial System generators ==
 * AES; see http://trac.sagemath.org/sage_trac/ticket/681
 * CTC; not published yet

== Example ==
{{{#!python
sage: sr = mq.SR(1,1,1,4,gf2=True)
sage: sr
SR(1,1,1,4)

sage: F,s = sr.polynomial_system();
sage: F
Polynomial System with 56 Polynomials in 20 Variables

sage: s
{k003: 0, k002: 1, k001: 1, k000: 0}

sage: F.groebner_basis()
[k003, k001 + k002, k000 + k002 + 1, s003 + k001 + k002 + 1, s002 + k001 + k002 + 1, s001 + s003 + k001 + k002 + k003, s000 + s002 + s003 + k001 + k003 + 1, w103 + k003, w102 + k002 + 1, w101 + k001 + 1, w100 + k000 + 1, x103 + s003, x102 + x103 + s002 + s003, x101 + x102 + x103 + s001 + s002 + s003, x100 + x103 + s000 + s003 + 1, k103 + s001 + s002 + s003 + 1, k102 + s000 + s001 + s002 + 1, k101 + s000 + s001 + s003 + 1, k100 + s000 + s002 + s003, k002^2 + k002]
}}}

MPolynomialSystem

Introduction

This page's purpose is to describe the design of a MPolynomialSystem class. This class is supposed to model multivariate polynomial systems as they e.g. appear in algebraic cryptanalysis. The proposed and almost implemented design is as follows. There is a class MPolynomialSystem which models the actual polynomial system. Also there is a base class called MPolynomialSystemGenerator which is meant as a base class for specific generators for polynomial systems like AES or the Courtois Toy Cipher.

MPolynomialSystem

see http://trac.sagemath.org/sage_trac/ticket/681

MPolynomialSystemGenerator

see http://trac.sagemath.org/sage_trac/ticket/681

Implemented Polynomial System generators

Example

   1 sage: sr = mq.SR(1,1,1,4,gf2=True)
   2 sage: sr
   3 SR(1,1,1,4)
   4 
   5 sage: F,s = sr.polynomial_system();
   6 sage: F
   7 Polynomial System with 56 Polynomials in 20 Variables
   8 
   9 sage: s
  10 {k003: 0, k002: 1, k001: 1, k000: 0}
  11 
  12 sage: F.groebner_basis()
  13 [k003, k001 + k002, k000 + k002 + 1, s003 + k001 + k002 + 1, s002 + k001 + k002 + 1, s001 + s003 + k001 + k002 + k003, s000 + s002 + s003 + k001 + k003 + 1, w103 + k003, w102 + k002 + 1, w101 + k001 + 1, w100 + k000 + 1, x103 + s003, x102 + x103 + s002 + s003, x101 + x102 + x103 + s001 + s002 + s003, x100 + x103 + s000 + s003 + 1, k103 + s001 + s002 + s003 + 1, k102 + s000 + s001 + s002 + 1, k101 + s000 + s001 + s003 + 1, k100 + s000 + s002 + s003, k002^2 + k002]

MPolynomialSystem (last edited 2008-11-14 13:42:11 by anonymous)