Skip to content

archoad/SageAES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SageAES

Implementation of AES with Sage.

These programs need a correct installation of Sage (www.sagemath.org) to work.

##sage-aes.py sage-aes.py computes the AES's ciphering process from a plain text and a key. The result is as follow:

SR*(10,4,4,8)
Finite Field in a of size 2^8
a^8 + a^4 + a^3 + a + 1
a^6 + a^5 + a + 1

key schedule
key: 2b7e151628aed2a6abf7158809cf4f3c
[                  a^5 + a^3 + a + 1                           a^5 + a^3             a^7 + a^5 + a^3 + a + 1                             a^3 + 1]
[    a^6 + a^5 + a^4 + a^3 + a^2 + a           a^7 + a^5 + a^3 + a^2 + a a^7 + a^6 + a^5 + a^4 + a^2 + a + 1       a^7 + a^6 + a^3 + a^2 + a + 1]
[                      a^4 + a^2 + 1                 a^7 + a^6 + a^4 + a                       a^4 + a^2 + 1             a^6 + a^3 + a^2 + a + 1]
[                      a^4 + a^2 + a                 a^7 + a^5 + a^2 + a                           a^7 + a^3               a^5 + a^4 + a^3 + a^2]

AES ciphering process ####
R[01].start   00102030405060708090A0B0C0D0E0F0
R[01].s_box   63CAB7040953D051CD60E0E7BA70E18C
R[01].s_row   6353E08C0960E104CD70B751BACAD0E7
R[01].m_col   5F72641557F5BC92F7BE3B291DB9F91A
R[01].k_sch   D6AA74FDD2AF72FADAA678F1D6AB76FE
R[02].start   89D810E8855ACE682D1843D8CB128FE4
R[02].s_box   A761CA9B97BE8B45D8AD1A611FC97369
R[02].s_row   A7BE1A6997AD739BD8C9CA451F618B61
R[02].m_col   FF87968431D86A51645151FA773AD009
R[02].k_sch   B692CF0B643DBDF1BE9BC5006830B3FE
R[03].start   4915598F55E5D7A0DACA94FA1F0A63F7
R[03].s_box   3B59CB73FCD90EE05774222DC067FB68
R[03].s_row   3BD92268FC74FB735767CBE0C0590E2D
R[03].m_col   4C9C1E66F771F0762C3F868E534DF256
R[03].k_sch   B6FF744ED2C2C9BF6C590CBF0469BF41
R[04].start   FA636A2825B339C940668A3157244D17
R[04].s_box   2DFB02343F6D12DD09337EC75B36E3F0
R[04].s_row   2D6D7EF03F33E334093602DD5BFB12C7
R[04].m_col   6385B79FFC538DF997BE478E7547D691
R[04].k_sch   47F7F7BC95353E03F96C32BCFD058DFD
R[05].start   247240236966B3FA6ED2753288425B6C
R[05].s_box   36400926F9336D2D9FB59D23C42C3950
R[05].s_row   36339D50F9B539269F2C092DC4406D23
R[05].m_col   F4BCD45432E554D075F1D6C51DD03B3C
R[05].k_sch   3CAAA3E8A99F9DEB50F3AF57ADF622AA
R[06].start   C81677BC9B7AC93B25027992B0261996
R[06].s_box   E847F56514DADDE23F77B64FE7F7D490
R[06].s_row   E8DAB6901477D4653FF7F5E2E747DD4F
R[06].m_col   9816EE7400F87F556B2C049C8E5AD036
R[06].k_sch   5E390F7DF7A69296A7553DC10AA31F6B
R[07].start   C62FE109F75EEDC3CC79395D84F9CF5D
R[07].s_box   B415F8016858552E4BB6124C5F998A4C
R[07].s_row   B458124C68B68A014B99F82E5F15554C
R[07].m_col   C57E1C159A9BD286F05F4BE098C63439
R[07].k_sch   14F9701AE35FE28C440ADF4D4EA9C026
R[08].start   D1876C0F79C4300AB45594ADD66FF41F
R[08].s_box   3E175076B61C04678DFC2295F6A8BFC0
R[08].s_row   3E1C22C0B6FCBF768DA85067F6170495
R[08].m_col   BAA03DE7A1F9B56ED5512CBA5F414D23
R[08].k_sch   47438735A41C65B9E016BAF4AEBF7AD2
R[09].start   FDE3BAD205E5D0D73547964EF1FE37F1
R[09].s_box   5411F4B56BD9700E96A0902FA1BB9AA1
R[09].s_row   54D990A16BA09AB596BBF40EA111702F
R[09].m_col   E9F74EEC023020F61BF2CCF2353C21C7
R[09].k_sch   549932D1F08557681093ED9CBE2C974E
R[10].s_box   7A9F102789D5F50B2BEFFD9F3DCA4EA7
R[10].s_row   7AD5FDA789EF4E272BCA100B3D9FF59F
R[10].k_sch   13111D7FE3944A17F307A78B4D2B30C5
R[10].output  69C4E0D86A7B0430D8CDB78070B4C55A

##sage-aes-recover-stats.py

sage-aes-recover-stats.py computes a configurable small variant of the AES's ciphering process from a plain text and a key. Then he recovers the key by using Gröbner basis and prints some stats on the calculus.

About

Implementation of AES with Sage.

Resources

License

Stars

4 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages