123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- #parse argument
- architecture=$1
- permutation=$2
- matrix_decompressed_file=$3
- matrix_comp_file=$4
- output_dir=$5
- lorem_ipsum_file=$6
- if [ $permutation -eq 0 ] ; then
- permutation_str=""
- else
- permutation_str=" -no-permutation-key "
- fi
- # permute xmatrix compressed random
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix-comp $matrix_comp_file \
- --permutation-conf -arch $architecture \
- --permute-xmatrix-comp-rnd -xmatrix-comp-dst $output_dir/xmatrix_comp_rnd.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- # check if the xmatrix compressed permuted randomly is different
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp_rnd.json \
- --print-header -xrn-file $output_dir/xmatrix_comp_rnd.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp.json \
- --print-header -xrn-file $matrix_comp_file
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- cmp --silent $output_dir/xmatrix_comp.json $output_dir/xmatrix_comp_rnd.json && echo 'FAIL'
- "
- echo ""; echo $str; echo ""
- eval $str
- # permute xmatrix compressed deterministically 2 times
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix-comp $matrix_comp_file -xmatrix $matrix_decompressed_file \
- --permutation-conf -arch $architecture \
- --permute-xmatrix-comp-det -xmatrix-comp-dst $output_dir/xmatrix_comp_det_0.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix-comp $matrix_comp_file -xmatrix $matrix_decompressed_file \
- --permutation-conf -arch $architecture \
- --permute-xmatrix-comp-det -xmatrix-comp-dst $output_dir/xmatrix_comp_det_1.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- # check if the xmatrices compressed permuted deterministically are different
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp_det_0.json \
- --print-header -xrn-file $output_dir/xmatrix_comp_det_0.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp_det_1.json \
- --print-header -xrn-file $output_dir/xmatrix_comp_det_1.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- cmp --silent $output_dir/xmatrix_comp_det_0.json $output_dir/xmatrix_comp_det_1.json || echo 'FAIL'
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- cmp --silent $output_dir/xmatrix_comp_det_0.json $output_dir/xmatrix_comp.json && echo 'FAIL'
- "
- echo ""; echo $str; echo ""
- eval $str
- # permute xmatrix compressed securely 2 times
- str="
- xrnlib-cli \
- --encoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture $permutation_str \
- --make-monomial-key -monomial-key $output_dir/monomial_key_file.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --arithmetic-conf -monomial-key $output_dir/monomial_key_file.xf \
- --sequence-conf -xmatrix-comp $matrix_comp_file -xmatrix $matrix_decompressed_file \
- --permutation-conf -arch $architecture \
- --permute-xmatrix-comp-sec -xmatrix-comp-dst $output_dir/xmatrix_comp_sec_0.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --arithmetic-conf -monomial-key $output_dir/monomial_key_file.xf \
- --sequence-conf -xmatrix-comp $matrix_comp_file -xmatrix $matrix_decompressed_file \
- --permutation-conf -arch $architecture \
- --permute-xmatrix-comp-sec -xmatrix-comp-dst $output_dir/xmatrix_comp_sec_1.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- # check if the xmatrices compressed permuted deterministically are different
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp_sec_0.json \
- --print-header -xrn-file $output_dir/xmatrix_comp_sec_0.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/xmatrix_comp_sec_1.json \
- --print-header -xrn-file $output_dir/xmatrix_comp_sec_1.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- cmp --silent $output_dir/xmatrix_comp_sec_0.json $output_dir/xmatrix_comp_sec_1.json || echo 'FAIL'
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- cmp --silent $output_dir/xmatrix_comp_sec_0.json $output_dir/xmatrix_comp.json && echo 'FAIL'
- "
- echo ""; echo $str; echo ""
- eval $str
- # check xmatrices
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --encoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix-comp $output_dir/xmatrix_comp_sec_0.xf \
- --permutation-conf -arch $architecture \
- --decompress-xmatrix -xmatrix $output_dir/xmatrix_dec_sec_0.xf
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix $output_dir/xmatrix_dec_sec_0.xf \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/lib_info_xmatrix_dec_sec_0.json \
- --check-xmatrix
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- if ! [ -s $output_dir/lib_info_xmatrix_dec_sec_0.json ]; then echo FAIL ; exit ; fi ; \
- if grep -q FAIL \"$output_dir/lib_info_xmatrix_dec_sec_0.json\" ; then echo FAIL ; exit ; fi
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- xrnlib-cli \
- --decoding-conf -compiled-param -no-password \
- --sequence-conf -xmatrix-comp $output_dir/xmatrix_comp_sec_0.xf \
- --permutation-conf -arch $architecture \
- --logging-conf -lib-info-log $output_dir/lib_info_xmatrix_comp_sec_0.json \
- --check-xmatrix-comp
- "
- echo ""; echo $str; echo ""
- eval $str
- str="
- if ! [ -s $output_dir/lib_info_xmatrix_comp_sec_0.json ]; then echo FAIL ; exit ; fi ; \
- if grep -q FAIL \"$output_dir/lib_info_xmatrix_comp_sec_0.json\" ; then echo FAIL ; exit ; fi
- "
- echo ""; echo $str; echo ""
- eval $str
|