Ticket #2501 (closed enhancement: fixed)

Opened 5 years ago

Last modified 5 years ago

[with patch, positive review] SBox class for Sage

Reported by: malb Owned by: malb
Priority: major Milestone: sage-2.10.4
Component: commutative algebra Keywords:
Cc: Work issues:
Report Upstream: Reviewers:
Authors: Merged in:
Dependencies: Stopgaps:

Description

The attached patch adds a class SBox to the module sage.crypto.mq which offers basic functionality to work with cryptographic substitution boxes like:

  • substitution (obviously)
  • difference distribution and linear approximation matrices
  • multivariate polynomial system generation
  • univariate polynomial interpolation

It might be a bit controversial if this functionality should go in (it is not math but applied math), so here are some points in favour:

  • Sage has a sage.crypto module with LFSRs and such.
  • SBox supports (algebraic) cryptanalysis by simplifying experiments with ciphers and algebraic aspects of cryptography is an application of Sage (Sage was advertised for this application in the past)
  • Some people have expressed (some) interest in such a class.

Attachments

sbox.patch Download (20.9 KB) - added by malb 5 years ago.

Change History

Changed 5 years ago by malb

comment:1 Changed 5 years ago by was

It might be a bit controversial if this functionality should go in (it is not math but applied math)

It's not controversial at all, in my opinion -- this should *definitely* go in.

"Applied math" belongs squarely within the mission of Sage, and S-Box's most certainly do.

comment:2 Changed 5 years ago by mhansen

  • Summary changed from [with patch, needs review] SBox class for Sage to [with patch, positive review] SBox class for Sage

Applies to 2.10.4.alpha0 and passes tests after #2444 is applied.

comment:3 Changed 5 years ago by mabshoff

  • Status changed from new to closed
  • Resolution set to fixed

Merged in Sage 2.10.4.rc0

Note: See TracTickets for help on using tickets.