OKlibrary  0.2.1.6
ConstraintTemplateSmallScaleRewriteRules.mac
Go to the documentation of this file.
00001 /* Matthew Gwynne, 28.9.2008 (Swansea) */
00002 /* Copyright 2008, 2009, 2010, 2011 Oliver Kullmann
00003 This file is part of the OKlibrary. OKlibrary is free software; you can redistribute
00004 it and/or modify it under the terms of the GNU General Public License as published by
00005 the Free Software Foundation and included in this library; either version 3 of the
00006 License, or any later version. */
00007 
00022 oklib_include("OKlib/ComputerAlgebra/Cryptology/Lisp/Cryptanalysis/Rijndael/Translations.mac")$
00023 oklib_include("OKlib/ComputerAlgebra/Cryptology/Lisp/Cryptanalysis/Rijndael/ConstraintTemplateSmallScaleRewriteRules.mac")$
00024 oklib_include("OKlib/ComputerAlgebra/Cryptology/Lisp/Cryptanalysis/Rijndael/tests/ConstraintTemplateSmallScaleRewriteRules.mac")$
00025 
00026 
00027 /* ***********************************************
00028    * Constraint template rewrite translation     *
00029    ***********************************************
00030 */
00031 
00032 oktest_generate_ss_constraint_vars(generate_ss_constraint_vars);
00033 
00034 
00035 /* ***********************************************
00036    * Constraint template rewrite functions       *
00037    ***********************************************
00038 */
00039 
00040 okltest_ss_ns_var_l(ss_ns_var_l);
00041 okltest_ss_cstr_cstl(ss_cstr_cstl);
00042 
00043 okltest_ss_round_ns_var_l(ss_round_ns_var_l);
00044 okltest_ss_round_cstr_cstl(ss_round_cstr_cstl);
00045 
00046 okltest_ss_round_core_box_ns_var_l(ss_round_core_box_ns_var_l);
00047 okltest_ss_round_core_box_cstr_cstl(ss_round_core_box_cstr_cstl);
00048 
00049 okltest_ss_final_round_ns_var_l(ss_final_round_ns_var_l);
00050 okltest_ss_final_round_cstr_cstl(ss_final_round_cstr_cstl);
00051 
00052 okltest_ss_subbytes_ns_var_l(ss_subbytes_ns_var_l);
00053 okltest_ss_subbytes_cstr_cstl(ss_subbytes_cstr_cstl);
00054 
00055 okltest_ss_shiftrows_ns_var_l(ss_shiftrows_ns_var_l);
00056 okltest_ss_shiftrows_cstr_cstl(ss_shiftrows_cstr_cstl);
00057 
00058 okltest_ss_mixcolumns_ns_var_l(ss_mixcolumns_ns_var_l);
00059 okltest_ss_mixcolumns_cstr_cstl(ss_mixcolumns_cstr_cstl);
00060 
00061 
00062 okltest_ss_bi_mixcolumn_ns_var_l(ss_bi_mixcolumn_ns_var_l);
00063 okltest_ss_bi_mixcolumn_cstr_cstl(ss_bi_mixcolumn_cstr_cstl);
00064 okltest_ss_mixcolumn_ns_var_l(ss_mixcolumn_ns_var_l);
00065 okltest_ss_mixcolumn_cstr_cstl(ss_mixcolumn_cstr_cstl);
00066 okltest_ss_mixcolumn_boolm_ns_var_l(ss_mixcolumn_boolm_ns_var_l);
00067 okltest_ss_mixcolumn_boolm_cstr_cstl(ss_mixcolumn_boolm_cstr_cstl);
00068 okltest_ss_inv_mixcolumn_ns_var_l(ss_inv_mixcolumn_ns_var_l);
00069 okltest_ss_inv_mixcolumn_cstr_cstl(ss_inv_mixcolumn_cstr_cstl);
00070 
00071 okltest_ss_key_expansion_ns_var_l(ss_key_expansion_ns_var_l);
00072 okltest_ss_key_expansion_cstr_cstl(ss_key_expansion_cstr_cstl);
00073 
00074 
00075 /* ****************************************
00076    * Translation functions                *
00077    ****************************************
00078 */
00079 
00080 okltest_ss_mul_ts_gen(ss_mul_ts_gen);
00081 okltest_ss_sbox_ts_gen(ss_sbox_ts_gen);
00082 okltest_ss_sbox_w_mul_ts_gen(ss_sbox_w_mul_ts_gen);
00083 okltest_ss_mixcolumn_ts_gen(ss_mixcolumn_ts_gen);
00084 okltest_ss_round_column_ts_gen(ss_round_column_ts_gen);
00085 okltest_ss_sbox_pi_cst_cl(ss_sbox_pi_cst_cl);
00086 okltest_ss_sbox_ts_var_l(ss_sbox_ts_var_l);
00087 okltest_ss_sbox_ts_cst_cl(ss_sbox_ts_cst_cl);
00088 okltest_ss_sbox_w_mul_ts_var_l(ss_sbox_w_mul_ts_var_l);
00089 okltest_ss_sbox_w_mul_ts_cst_cl(ss_sbox_w_mul_ts_cst_cl);
00090 okltest_ss_mul_pi_cst_cl(ss_mul_pi_cst_cl);
00091 okltest_ss_mul_ts_var_l(ss_mul_ts_var_l);
00092 okltest_ss_mul_ts_cst_cl(ss_mul_ts_cst_cl);
00093 okltest_ss_mixcolumn_ts_var_l(ss_mixcolumn_ts_var_l);
00094 okltest_ss_mixcolumn_ts_cst_cl(ss_mixcolumn_ts_cst_cl);
00095 okltest_ss_round_column_ts_var_l(ss_round_column_ts_var_l);
00096 okltest_ss_round_column_ts_cst_cl(ss_round_column_ts_cst_cl);
00097