Differences between revisions 14 and 16 (spanning 2 versions)
Revision 14 as of 2007-05-20 11:38:21
Size: 3194
Comment:
Revision 16 as of 2008-02-18 09:52:11
Size: 662
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * ntl.GF2E & ntl.ZZpX wrapping for finite fields

 * Possible: Specialized MPolynomialGF2 class

 * Possible: Improve F4 implementation or start over in cooperation with some of the other developers working on F4 right now

 * Memory consumption analogous to cputime(). This is tricky because some grep on top et al. doesn't provide the necessary information. E.g. Python never ever frees memory while running, and we also might count shared libraries several times this way.

 * Memory profiling similar to %prun or hotshot. The memory profiler would provide hints which part consumes the most memory during a calculation.

 * Parallel sparse linear algebra to utilize all 16 cores at sage.math.washington.edu at once. :) It's either too hard for me (if there is no library) or simple as it would be just another library to expose.

 * [http://article.gmane.org/gmane.comp.mathematics.sage.general/193/ SAGEBot] is not dead yet.

 * [http://eprint.iacr.org/2006/224.pdf Generalizations of the Karatsuba Algorithm for Efficient Implementations]

 * NTL wrapper makeover (more SAGEish, avoid function calls, avoid news, deletes)
  * http://trac.sagemath.org/sage_trac/query?status=new&status=assigned&status=reopened&owner=malb&order=priority
Line 28: Line 12:
 * Speed up MPolynomials by linking to Singular (this is going to be an exciting experience on its own) or CoCoALib (as of version 2.5.1)
 * My thesis deals with algebraic attacks on block ciphers namely the Courtois Toy Cipher. So I implemented several algebraic attack algorithms like XL, F4, and DR and a slightly optimized MPolynomial over GF(2) class. Though those might not be of general interest. I will push some of that stuff upstream.
 * Givaro is going to be in SAGE 1.5
 * Cputime class/function which wraps all the cputime() calls for all the subprocesses for convenience. So only one '''cputime(all=True)''' call would be sufficient. (I extended David Harvey's Profiler class for this)
 * Consider this example: {{{#!python
sage: R1 = PolynomialRing(GF(2**8),2)
sage: R2 = PolynomialRing(GF(2**8),2000)
sage: x1=R1.gen()
sage: y1=R1.gen(1)
sage: x2=R2.gen()
sage: y2=R2.gen(1)
sage: time for i in range(1000): _ =x2*y2
CPU times: user 1.58 s, sys: 0.03 s, total: 1.61 s
Wall time: 1.63 #ring with 2000 variables
sage: time for i in range(1000): _ =x1*y1
CPU times: user 0.21 s, sys: 0.03 s, total: 0.24 s
Wall time: 0.24 #ring with two variables
}}} This is due to the way multivariate polynomials in SAGE are represented. I want to come up with a more sparse representation which does not add zero to zero 1998 times in the second example. (I rewrote the polynomial representation to use dicts of dicts which map indices to exponents e.g., {{1:2}:3} represents 3*y^2 if y is the second variable in the ring.)
Line 47: Line 13:
  * http://trac.sagemath.org/sage_trac/query?status=closed&owner=malb&order=priority
Line 49: Line 16:
I studied computer science in Bremen, Germany. I am applying to several grad schools right now to find a nice university to earn a PhD. I have a a strong interest in cryptanalysis, right now mainly algebraic attacks on block ciphers. I maintain a blog at http://www.informatik.uni-bremen.de/~malb/blog.php . I am a grad student in the Information Security Group (ISG) at Royal Holloway, University of London. I work on algebraic aspects of symmetric cryptology under the supervision of Carlos Cid. I maintain a blog at http://www.informatik.uni-bremen.de/~malb/blog.php .

Martin Albrecht's (malb) SAGE projects

Stuff I'm working on

Done

Other stuff

I am a grad student in the Information Security Group (ISG) at Royal Holloway, University of London. I work on algebraic aspects of symmetric cryptology under the supervision of Carlos Cid. I maintain a blog at http://www.informatik.uni-bremen.de/~malb/blog.php .


CategoryHomepage

MartinAlbrecht (last edited 2011-11-10 13:47:27 by malb)