passagemath-modules 10.6.31rc3__cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-modules might be problematic. Click here for more details.
- passagemath_modules-10.6.31rc3.dist-info/METADATA +281 -0
- passagemath_modules-10.6.31rc3.dist-info/RECORD +807 -0
- passagemath_modules-10.6.31rc3.dist-info/WHEEL +6 -0
- passagemath_modules-10.6.31rc3.dist-info/top_level.txt +2 -0
- passagemath_modules.libs/libgfortran-83c28eba.so.5.0.0 +0 -0
- passagemath_modules.libs/libgmp-6e109695.so.10.5.0 +0 -0
- passagemath_modules.libs/libgsl-cda90e79.so.28.0.0 +0 -0
- passagemath_modules.libs/libmpc-7f678fcf.so.3.3.1 +0 -0
- passagemath_modules.libs/libmpfr-82690d50.so.6.2.1 +0 -0
- passagemath_modules.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
- passagemath_modules.libs/libquadmath-2284e583.so.0.0.0 +0 -0
- sage/algebras/all__sagemath_modules.py +20 -0
- sage/algebras/catalog.py +148 -0
- sage/algebras/clifford_algebra.py +3107 -0
- sage/algebras/clifford_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/clifford_algebra_element.pxd +16 -0
- sage/algebras/clifford_algebra_element.pyx +997 -0
- sage/algebras/commutative_dga.py +4252 -0
- sage/algebras/exterior_algebra_groebner.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/exterior_algebra_groebner.pxd +55 -0
- sage/algebras/exterior_algebra_groebner.pyx +727 -0
- sage/algebras/finite_dimensional_algebras/all.py +2 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +1029 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +12 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +706 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py +196 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py +255 -0
- sage/algebras/finite_gca.py +528 -0
- sage/algebras/group_algebra.py +232 -0
- sage/algebras/lie_algebras/abelian.py +197 -0
- sage/algebras/lie_algebras/affine_lie_algebra.py +1213 -0
- sage/algebras/lie_algebras/all.py +25 -0
- sage/algebras/lie_algebras/all__sagemath_modules.py +1 -0
- sage/algebras/lie_algebras/bch.py +177 -0
- sage/algebras/lie_algebras/bgg_dual_module.py +1184 -0
- sage/algebras/lie_algebras/bgg_resolution.py +232 -0
- sage/algebras/lie_algebras/center_uea.py +767 -0
- sage/algebras/lie_algebras/classical_lie_algebra.py +2516 -0
- sage/algebras/lie_algebras/examples.py +683 -0
- sage/algebras/lie_algebras/free_lie_algebra.py +973 -0
- sage/algebras/lie_algebras/heisenberg.py +820 -0
- sage/algebras/lie_algebras/lie_algebra.py +1562 -0
- sage/algebras/lie_algebras/lie_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/lie_algebras/lie_algebra_element.pxd +68 -0
- sage/algebras/lie_algebras/lie_algebra_element.pyx +2122 -0
- sage/algebras/lie_algebras/morphism.py +661 -0
- sage/algebras/lie_algebras/nilpotent_lie_algebra.py +457 -0
- sage/algebras/lie_algebras/onsager.py +1324 -0
- sage/algebras/lie_algebras/poincare_birkhoff_witt.py +816 -0
- sage/algebras/lie_algebras/quotient.py +462 -0
- sage/algebras/lie_algebras/rank_two_heisenberg_virasoro.py +355 -0
- sage/algebras/lie_algebras/representation.py +1040 -0
- sage/algebras/lie_algebras/structure_coefficients.py +459 -0
- sage/algebras/lie_algebras/subalgebra.py +967 -0
- sage/algebras/lie_algebras/symplectic_derivation.py +289 -0
- sage/algebras/lie_algebras/verma_module.py +1630 -0
- sage/algebras/lie_algebras/virasoro.py +1186 -0
- sage/algebras/octonion_algebra.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/octonion_algebra.pxd +20 -0
- sage/algebras/octonion_algebra.pyx +987 -0
- sage/algebras/orlik_solomon.py +907 -0
- sage/algebras/orlik_terao.py +779 -0
- sage/algebras/steenrod/all.py +7 -0
- sage/algebras/steenrod/steenrod_algebra.py +4258 -0
- sage/algebras/steenrod/steenrod_algebra_bases.py +1179 -0
- sage/algebras/steenrod/steenrod_algebra_misc.py +1167 -0
- sage/algebras/steenrod/steenrod_algebra_mult.py +954 -0
- sage/algebras/weyl_algebra.py +1126 -0
- sage/all__sagemath_modules.py +62 -0
- sage/calculus/all__sagemath_modules.py +19 -0
- sage/calculus/expr.py +205 -0
- sage/calculus/integration.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/integration.pyx +698 -0
- sage/calculus/interpolation.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/interpolation.pxd +13 -0
- sage/calculus/interpolation.pyx +387 -0
- sage/calculus/interpolators.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/interpolators.pyx +326 -0
- sage/calculus/ode.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/ode.pxd +5 -0
- sage/calculus/ode.pyx +610 -0
- sage/calculus/riemann.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/riemann.pyx +1521 -0
- sage/calculus/test_sympy.py +201 -0
- sage/calculus/transforms/all.py +7 -0
- sage/calculus/transforms/dft.py +844 -0
- sage/calculus/transforms/dwt.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/transforms/dwt.pxd +7 -0
- sage/calculus/transforms/dwt.pyx +160 -0
- sage/calculus/transforms/fft.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/calculus/transforms/fft.pxd +12 -0
- sage/calculus/transforms/fft.pyx +487 -0
- sage/calculus/wester.py +662 -0
- sage/coding/abstract_code.py +1108 -0
- sage/coding/ag_code.py +868 -0
- sage/coding/ag_code_decoders.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/coding/ag_code_decoders.pyx +2639 -0
- sage/coding/all.py +15 -0
- sage/coding/bch_code.py +494 -0
- sage/coding/binary_code.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/coding/binary_code.pxd +124 -0
- sage/coding/binary_code.pyx +4139 -0
- sage/coding/bounds_catalog.py +43 -0
- sage/coding/channel.py +819 -0
- sage/coding/channels_catalog.py +29 -0
- sage/coding/code_bounds.py +755 -0
- sage/coding/code_constructions.py +804 -0
- sage/coding/codes_catalog.py +111 -0
- sage/coding/cyclic_code.py +1329 -0
- sage/coding/databases.py +316 -0
- sage/coding/decoder.py +373 -0
- sage/coding/decoders_catalog.py +88 -0
- sage/coding/delsarte_bounds.py +709 -0
- sage/coding/encoder.py +390 -0
- sage/coding/encoders_catalog.py +64 -0
- sage/coding/extended_code.py +468 -0
- sage/coding/gabidulin_code.py +1058 -0
- sage/coding/golay_code.py +404 -0
- sage/coding/goppa_code.py +441 -0
- sage/coding/grs_code.py +2371 -0
- sage/coding/guava.py +107 -0
- sage/coding/guruswami_sudan/all.py +1 -0
- sage/coding/guruswami_sudan/gs_decoder.py +897 -0
- sage/coding/guruswami_sudan/interpolation.py +409 -0
- sage/coding/guruswami_sudan/utils.py +176 -0
- sage/coding/hamming_code.py +176 -0
- sage/coding/information_set_decoder.py +1032 -0
- sage/coding/kasami_codes.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/coding/kasami_codes.pyx +351 -0
- sage/coding/linear_code.py +3067 -0
- sage/coding/linear_code_no_metric.py +1354 -0
- sage/coding/linear_rank_metric.py +961 -0
- sage/coding/parity_check_code.py +353 -0
- sage/coding/punctured_code.py +719 -0
- sage/coding/reed_muller_code.py +999 -0
- sage/coding/self_dual_codes.py +942 -0
- sage/coding/source_coding/all.py +2 -0
- sage/coding/source_coding/huffman.py +553 -0
- sage/coding/subfield_subcode.py +423 -0
- sage/coding/two_weight_db.py +399 -0
- sage/combinat/all__sagemath_modules.py +7 -0
- sage/combinat/cartesian_product.py +347 -0
- sage/combinat/family.py +11 -0
- sage/combinat/free_module.py +1977 -0
- sage/combinat/root_system/all.py +147 -0
- sage/combinat/root_system/ambient_space.py +527 -0
- sage/combinat/root_system/associahedron.py +471 -0
- sage/combinat/root_system/braid_move_calculator.py +143 -0
- sage/combinat/root_system/braid_orbit.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/combinat/root_system/braid_orbit.pyx +144 -0
- sage/combinat/root_system/branching_rules.py +2301 -0
- sage/combinat/root_system/cartan_matrix.py +1245 -0
- sage/combinat/root_system/cartan_type.py +3069 -0
- sage/combinat/root_system/coxeter_group.py +162 -0
- sage/combinat/root_system/coxeter_matrix.py +1261 -0
- sage/combinat/root_system/coxeter_type.py +681 -0
- sage/combinat/root_system/dynkin_diagram.py +900 -0
- sage/combinat/root_system/extended_affine_weyl_group.py +2993 -0
- sage/combinat/root_system/fundamental_group.py +795 -0
- sage/combinat/root_system/hecke_algebra_representation.py +1203 -0
- sage/combinat/root_system/integrable_representations.py +1227 -0
- sage/combinat/root_system/non_symmetric_macdonald_polynomials.py +1965 -0
- sage/combinat/root_system/pieri_factors.py +1147 -0
- sage/combinat/root_system/plot.py +1615 -0
- sage/combinat/root_system/root_lattice_realization_algebras.py +1214 -0
- sage/combinat/root_system/root_lattice_realizations.py +4628 -0
- sage/combinat/root_system/root_space.py +487 -0
- sage/combinat/root_system/root_system.py +882 -0
- sage/combinat/root_system/type_A.py +348 -0
- sage/combinat/root_system/type_A_affine.py +227 -0
- sage/combinat/root_system/type_A_infinity.py +241 -0
- sage/combinat/root_system/type_B.py +347 -0
- sage/combinat/root_system/type_BC_affine.py +287 -0
- sage/combinat/root_system/type_B_affine.py +216 -0
- sage/combinat/root_system/type_C.py +317 -0
- sage/combinat/root_system/type_C_affine.py +188 -0
- sage/combinat/root_system/type_D.py +357 -0
- sage/combinat/root_system/type_D_affine.py +208 -0
- sage/combinat/root_system/type_E.py +641 -0
- sage/combinat/root_system/type_E_affine.py +231 -0
- sage/combinat/root_system/type_F.py +387 -0
- sage/combinat/root_system/type_F_affine.py +137 -0
- sage/combinat/root_system/type_G.py +293 -0
- sage/combinat/root_system/type_G_affine.py +132 -0
- sage/combinat/root_system/type_H.py +105 -0
- sage/combinat/root_system/type_I.py +110 -0
- sage/combinat/root_system/type_Q.py +150 -0
- sage/combinat/root_system/type_affine.py +509 -0
- sage/combinat/root_system/type_dual.py +704 -0
- sage/combinat/root_system/type_folded.py +301 -0
- sage/combinat/root_system/type_marked.py +748 -0
- sage/combinat/root_system/type_reducible.py +601 -0
- sage/combinat/root_system/type_relabel.py +730 -0
- sage/combinat/root_system/type_super_A.py +837 -0
- sage/combinat/root_system/weight_lattice_realizations.py +1188 -0
- sage/combinat/root_system/weight_space.py +639 -0
- sage/combinat/root_system/weyl_characters.py +2238 -0
- sage/crypto/__init__.py +4 -0
- sage/crypto/all.py +28 -0
- sage/crypto/block_cipher/all.py +7 -0
- sage/crypto/block_cipher/des.py +1065 -0
- sage/crypto/block_cipher/miniaes.py +2171 -0
- sage/crypto/block_cipher/present.py +909 -0
- sage/crypto/block_cipher/sdes.py +1527 -0
- sage/crypto/boolean_function.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/crypto/boolean_function.pxd +10 -0
- sage/crypto/boolean_function.pyx +1487 -0
- sage/crypto/cipher.py +78 -0
- sage/crypto/classical.py +3668 -0
- sage/crypto/classical_cipher.py +569 -0
- sage/crypto/cryptosystem.py +387 -0
- sage/crypto/key_exchange/all.py +7 -0
- sage/crypto/key_exchange/catalog.py +24 -0
- sage/crypto/key_exchange/diffie_hellman.py +323 -0
- sage/crypto/key_exchange/key_exchange_scheme.py +107 -0
- sage/crypto/lattice.py +312 -0
- sage/crypto/lfsr.py +295 -0
- sage/crypto/lwe.py +840 -0
- sage/crypto/mq/__init__.py +4 -0
- sage/crypto/mq/mpolynomialsystemgenerator.py +204 -0
- sage/crypto/mq/rijndael_gf.py +2345 -0
- sage/crypto/mq/sbox.py +7 -0
- sage/crypto/mq/sr.py +3344 -0
- sage/crypto/public_key/all.py +5 -0
- sage/crypto/public_key/blum_goldwasser.py +776 -0
- sage/crypto/sbox.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/crypto/sbox.pyx +2090 -0
- sage/crypto/sboxes.py +2090 -0
- sage/crypto/stream.py +390 -0
- sage/crypto/stream_cipher.py +297 -0
- sage/crypto/util.py +519 -0
- sage/ext/all__sagemath_modules.py +1 -0
- sage/ext/interpreters/__init__.py +1 -0
- sage/ext/interpreters/all__sagemath_modules.py +2 -0
- sage/ext/interpreters/wrapper_cc.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_cc.pxd +30 -0
- sage/ext/interpreters/wrapper_cc.pyx +252 -0
- sage/ext/interpreters/wrapper_cdf.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_cdf.pxd +26 -0
- sage/ext/interpreters/wrapper_cdf.pyx +245 -0
- sage/ext/interpreters/wrapper_rdf.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_rdf.pxd +23 -0
- sage/ext/interpreters/wrapper_rdf.pyx +221 -0
- sage/ext/interpreters/wrapper_rr.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_rr.pxd +28 -0
- sage/ext/interpreters/wrapper_rr.pyx +335 -0
- sage/geometry/all__sagemath_modules.py +5 -0
- sage/geometry/toric_lattice.py +1745 -0
- sage/geometry/toric_lattice_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/toric_lattice_element.pyx +432 -0
- sage/groups/abelian_gps/abelian_group.py +1925 -0
- sage/groups/abelian_gps/abelian_group_element.py +164 -0
- sage/groups/abelian_gps/all__sagemath_modules.py +5 -0
- sage/groups/abelian_gps/dual_abelian_group.py +421 -0
- sage/groups/abelian_gps/dual_abelian_group_element.py +179 -0
- sage/groups/abelian_gps/element_base.py +341 -0
- sage/groups/abelian_gps/values.py +488 -0
- sage/groups/additive_abelian/additive_abelian_group.py +476 -0
- sage/groups/additive_abelian/additive_abelian_wrapper.py +857 -0
- sage/groups/additive_abelian/all.py +4 -0
- sage/groups/additive_abelian/qmodnz.py +231 -0
- sage/groups/additive_abelian/qmodnz_element.py +349 -0
- sage/groups/affine_gps/affine_group.py +535 -0
- sage/groups/affine_gps/all.py +1 -0
- sage/groups/affine_gps/catalog.py +17 -0
- sage/groups/affine_gps/euclidean_group.py +246 -0
- sage/groups/affine_gps/group_element.py +562 -0
- sage/groups/all__sagemath_modules.py +12 -0
- sage/groups/galois_group.py +479 -0
- sage/groups/matrix_gps/all.py +4 -0
- sage/groups/matrix_gps/all__sagemath_modules.py +13 -0
- sage/groups/matrix_gps/catalog.py +26 -0
- sage/groups/matrix_gps/coxeter_group.py +927 -0
- sage/groups/matrix_gps/finitely_generated.py +487 -0
- sage/groups/matrix_gps/group_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/groups/matrix_gps/group_element.pxd +11 -0
- sage/groups/matrix_gps/group_element.pyx +431 -0
- sage/groups/matrix_gps/linear.py +440 -0
- sage/groups/matrix_gps/matrix_group.py +617 -0
- sage/groups/matrix_gps/named_group.py +296 -0
- sage/groups/matrix_gps/orthogonal.py +544 -0
- sage/groups/matrix_gps/symplectic.py +251 -0
- sage/groups/matrix_gps/unitary.py +436 -0
- sage/groups/misc_gps/all__sagemath_modules.py +1 -0
- sage/groups/misc_gps/argument_groups.py +1905 -0
- sage/groups/misc_gps/imaginary_groups.py +479 -0
- sage/groups/perm_gps/all__sagemath_modules.py +1 -0
- sage/groups/perm_gps/partn_ref/all__sagemath_modules.py +1 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.pxd +41 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.pyx +1167 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.pxd +31 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.pyx +385 -0
- sage/homology/algebraic_topological_model.py +595 -0
- sage/homology/all.py +2 -0
- sage/homology/all__sagemath_modules.py +8 -0
- sage/homology/chain_complex.py +2148 -0
- sage/homology/chain_complex_homspace.py +165 -0
- sage/homology/chain_complex_morphism.py +629 -0
- sage/homology/chain_homotopy.py +604 -0
- sage/homology/chains.py +653 -0
- sage/homology/free_resolution.py +923 -0
- sage/homology/graded_resolution.py +567 -0
- sage/homology/hochschild_complex.py +756 -0
- sage/homology/homology_group.py +188 -0
- sage/homology/homology_morphism.py +422 -0
- sage/homology/homology_vector_space_with_basis.py +1454 -0
- sage/homology/koszul_complex.py +169 -0
- sage/homology/matrix_utils.py +205 -0
- sage/libs/all__sagemath_modules.py +1 -0
- sage/libs/gsl/__init__.py +1 -0
- sage/libs/gsl/airy.pxd +56 -0
- sage/libs/gsl/all.pxd +66 -0
- sage/libs/gsl/array.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/gsl/array.pxd +5 -0
- sage/libs/gsl/array.pyx +102 -0
- sage/libs/gsl/bessel.pxd +208 -0
- sage/libs/gsl/blas.pxd +116 -0
- sage/libs/gsl/blas_types.pxd +34 -0
- sage/libs/gsl/block.pxd +52 -0
- sage/libs/gsl/chebyshev.pxd +37 -0
- sage/libs/gsl/clausen.pxd +12 -0
- sage/libs/gsl/combination.pxd +47 -0
- sage/libs/gsl/complex.pxd +151 -0
- sage/libs/gsl/coulomb.pxd +30 -0
- sage/libs/gsl/coupling.pxd +21 -0
- sage/libs/gsl/dawson.pxd +12 -0
- sage/libs/gsl/debye.pxd +24 -0
- sage/libs/gsl/dilog.pxd +14 -0
- sage/libs/gsl/eigen.pxd +46 -0
- sage/libs/gsl/elementary.pxd +12 -0
- sage/libs/gsl/ellint.pxd +48 -0
- sage/libs/gsl/elljac.pxd +8 -0
- sage/libs/gsl/erf.pxd +32 -0
- sage/libs/gsl/errno.pxd +26 -0
- sage/libs/gsl/exp.pxd +44 -0
- sage/libs/gsl/expint.pxd +44 -0
- sage/libs/gsl/fermi_dirac.pxd +44 -0
- sage/libs/gsl/fft.pxd +121 -0
- sage/libs/gsl/fit.pxd +50 -0
- sage/libs/gsl/gamma.pxd +94 -0
- sage/libs/gsl/gegenbauer.pxd +26 -0
- sage/libs/gsl/histogram.pxd +176 -0
- sage/libs/gsl/hyperg.pxd +52 -0
- sage/libs/gsl/integration.pxd +69 -0
- sage/libs/gsl/interp.pxd +109 -0
- sage/libs/gsl/laguerre.pxd +24 -0
- sage/libs/gsl/lambert.pxd +16 -0
- sage/libs/gsl/legendre.pxd +90 -0
- sage/libs/gsl/linalg.pxd +185 -0
- sage/libs/gsl/log.pxd +26 -0
- sage/libs/gsl/math.pxd +43 -0
- sage/libs/gsl/matrix.pxd +143 -0
- sage/libs/gsl/matrix_complex.pxd +130 -0
- sage/libs/gsl/min.pxd +67 -0
- sage/libs/gsl/monte.pxd +56 -0
- sage/libs/gsl/ntuple.pxd +32 -0
- sage/libs/gsl/odeiv.pxd +70 -0
- sage/libs/gsl/permutation.pxd +78 -0
- sage/libs/gsl/poly.pxd +40 -0
- sage/libs/gsl/pow_int.pxd +12 -0
- sage/libs/gsl/psi.pxd +28 -0
- sage/libs/gsl/qrng.pxd +29 -0
- sage/libs/gsl/random.pxd +257 -0
- sage/libs/gsl/rng.pxd +100 -0
- sage/libs/gsl/roots.pxd +72 -0
- sage/libs/gsl/sort.pxd +36 -0
- sage/libs/gsl/statistics.pxd +59 -0
- sage/libs/gsl/sum.pxd +55 -0
- sage/libs/gsl/synchrotron.pxd +16 -0
- sage/libs/gsl/transport.pxd +24 -0
- sage/libs/gsl/trig.pxd +58 -0
- sage/libs/gsl/types.pxd +137 -0
- sage/libs/gsl/vector.pxd +101 -0
- sage/libs/gsl/vector_complex.pxd +83 -0
- sage/libs/gsl/wavelet.pxd +49 -0
- sage/libs/gsl/zeta.pxd +28 -0
- sage/libs/mpc/__init__.pxd +114 -0
- sage/libs/mpc/types.pxd +28 -0
- sage/libs/mpfr/__init__.pxd +299 -0
- sage/libs/mpfr/types.pxd +26 -0
- sage/libs/mpmath/__init__.py +1 -0
- sage/libs/mpmath/all.py +27 -0
- sage/libs/mpmath/all__sagemath_modules.py +1 -0
- sage/libs/mpmath/utils.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/mpmath/utils.pxd +4 -0
- sage/libs/mpmath/utils.pyx +319 -0
- sage/matrix/action.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/action.pxd +26 -0
- sage/matrix/action.pyx +596 -0
- sage/matrix/all.py +9 -0
- sage/matrix/args.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/args.pxd +144 -0
- sage/matrix/args.pyx +1668 -0
- sage/matrix/benchmark.py +1258 -0
- sage/matrix/berlekamp_massey.py +95 -0
- sage/matrix/compute_J_ideal.py +926 -0
- sage/matrix/constructor.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/constructor.pyx +750 -0
- sage/matrix/docs.py +430 -0
- sage/matrix/echelon_matrix.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/echelon_matrix.pyx +155 -0
- sage/matrix/matrix.pxd +2 -0
- sage/matrix/matrix0.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix0.pxd +68 -0
- sage/matrix/matrix0.pyx +6324 -0
- sage/matrix/matrix1.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix1.pxd +8 -0
- sage/matrix/matrix1.pyx +2851 -0
- sage/matrix/matrix2.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix2.pxd +25 -0
- sage/matrix/matrix2.pyx +20181 -0
- sage/matrix/matrix_cdv.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_cdv.pxd +4 -0
- sage/matrix/matrix_cdv.pyx +93 -0
- sage/matrix/matrix_complex_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_complex_double_dense.pxd +5 -0
- sage/matrix/matrix_complex_double_dense.pyx +98 -0
- sage/matrix/matrix_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_dense.pxd +5 -0
- sage/matrix/matrix_dense.pyx +343 -0
- sage/matrix/matrix_domain_dense.pxd +5 -0
- sage/matrix/matrix_domain_sparse.pxd +5 -0
- sage/matrix/matrix_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_double_dense.pxd +7 -0
- sage/matrix/matrix_double_dense.pyx +3906 -0
- sage/matrix/matrix_double_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_double_sparse.pxd +6 -0
- sage/matrix/matrix_double_sparse.pyx +248 -0
- sage/matrix/matrix_generic_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_generic_dense.pxd +7 -0
- sage/matrix/matrix_generic_dense.pyx +354 -0
- sage/matrix/matrix_generic_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_generic_sparse.pxd +7 -0
- sage/matrix/matrix_generic_sparse.pyx +461 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.pxd +5 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.pyx +115 -0
- sage/matrix/matrix_misc.py +313 -0
- sage/matrix/matrix_numpy_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_numpy_dense.pxd +14 -0
- sage/matrix/matrix_numpy_dense.pyx +450 -0
- sage/matrix/matrix_numpy_integer_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_numpy_integer_dense.pxd +7 -0
- sage/matrix/matrix_numpy_integer_dense.pyx +59 -0
- sage/matrix/matrix_polynomial_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_polynomial_dense.pxd +5 -0
- sage/matrix/matrix_polynomial_dense.pyx +5341 -0
- sage/matrix/matrix_real_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_real_double_dense.pxd +7 -0
- sage/matrix/matrix_real_double_dense.pyx +122 -0
- sage/matrix/matrix_space.py +2848 -0
- sage/matrix/matrix_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_sparse.pxd +5 -0
- sage/matrix/matrix_sparse.pyx +1222 -0
- sage/matrix/matrix_window.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_window.pxd +37 -0
- sage/matrix/matrix_window.pyx +242 -0
- sage/matrix/misc_mpfr.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/misc_mpfr.pyx +80 -0
- sage/matrix/operation_table.py +1182 -0
- sage/matrix/special.py +3666 -0
- sage/matrix/strassen.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/strassen.pyx +851 -0
- sage/matrix/symplectic_basis.py +541 -0
- sage/matrix/template.pxd +6 -0
- sage/matrix/tests.py +71 -0
- sage/matroids/advanced.py +77 -0
- sage/matroids/all.py +13 -0
- sage/matroids/basis_exchange_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/basis_exchange_matroid.pxd +96 -0
- sage/matroids/basis_exchange_matroid.pyx +2344 -0
- sage/matroids/basis_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/basis_matroid.pxd +45 -0
- sage/matroids/basis_matroid.pyx +1217 -0
- sage/matroids/catalog.py +44 -0
- sage/matroids/chow_ring.py +473 -0
- sage/matroids/chow_ring_ideal.py +849 -0
- sage/matroids/circuit_closures_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/circuit_closures_matroid.pxd +16 -0
- sage/matroids/circuit_closures_matroid.pyx +559 -0
- sage/matroids/circuits_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/circuits_matroid.pxd +38 -0
- sage/matroids/circuits_matroid.pyx +947 -0
- sage/matroids/constructor.py +1086 -0
- sage/matroids/database_collections.py +365 -0
- sage/matroids/database_matroids.py +5338 -0
- sage/matroids/dual_matroid.py +583 -0
- sage/matroids/extension.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/extension.pxd +34 -0
- sage/matroids/extension.pyx +519 -0
- sage/matroids/flats_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/flats_matroid.pxd +28 -0
- sage/matroids/flats_matroid.pyx +715 -0
- sage/matroids/gammoid.py +600 -0
- sage/matroids/graphic_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/graphic_matroid.pxd +39 -0
- sage/matroids/graphic_matroid.pyx +2024 -0
- sage/matroids/lean_matrix.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/lean_matrix.pxd +126 -0
- sage/matroids/lean_matrix.pyx +3667 -0
- sage/matroids/linear_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/linear_matroid.pxd +180 -0
- sage/matroids/linear_matroid.pyx +6649 -0
- sage/matroids/matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/matroid.pxd +243 -0
- sage/matroids/matroid.pyx +8759 -0
- sage/matroids/matroids_catalog.py +190 -0
- sage/matroids/matroids_plot_helpers.py +890 -0
- sage/matroids/minor_matroid.py +480 -0
- sage/matroids/minorfix.h +9 -0
- sage/matroids/named_matroids.py +5 -0
- sage/matroids/rank_matroid.py +268 -0
- sage/matroids/set_system.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/set_system.pxd +38 -0
- sage/matroids/set_system.pyx +800 -0
- sage/matroids/transversal_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/transversal_matroid.pxd +14 -0
- sage/matroids/transversal_matroid.pyx +893 -0
- sage/matroids/union_matroid.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/union_matroid.pxd +20 -0
- sage/matroids/union_matroid.pyx +331 -0
- sage/matroids/unpickling.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matroids/unpickling.pyx +843 -0
- sage/matroids/utilities.py +809 -0
- sage/misc/all__sagemath_modules.py +20 -0
- sage/misc/c3.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/misc/c3.pyx +238 -0
- sage/misc/compat.py +87 -0
- sage/misc/element_with_label.py +173 -0
- sage/misc/func_persist.py +79 -0
- sage/misc/pickle_old.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/misc/pickle_old.pyx +19 -0
- sage/misc/proof.py +7 -0
- sage/misc/replace_dot_all.py +472 -0
- sage/misc/sagedoc_conf.py +168 -0
- sage/misc/sphinxify.py +167 -0
- sage/misc/test_class_pickling.py +85 -0
- sage/modules/all.py +42 -0
- sage/modules/complex_double_vector.py +25 -0
- sage/modules/diamond_cutting.py +380 -0
- sage/modules/fg_pid/all.py +1 -0
- sage/modules/fg_pid/fgp_element.py +456 -0
- sage/modules/fg_pid/fgp_module.py +2091 -0
- sage/modules/fg_pid/fgp_morphism.py +550 -0
- sage/modules/filtered_vector_space.py +1271 -0
- sage/modules/finite_submodule_iter.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/finite_submodule_iter.pxd +27 -0
- sage/modules/finite_submodule_iter.pyx +452 -0
- sage/modules/fp_graded/all.py +1 -0
- sage/modules/fp_graded/element.py +346 -0
- sage/modules/fp_graded/free_element.py +298 -0
- sage/modules/fp_graded/free_homspace.py +53 -0
- sage/modules/fp_graded/free_module.py +1060 -0
- sage/modules/fp_graded/free_morphism.py +217 -0
- sage/modules/fp_graded/homspace.py +563 -0
- sage/modules/fp_graded/module.py +1340 -0
- sage/modules/fp_graded/morphism.py +1990 -0
- sage/modules/fp_graded/steenrod/all.py +1 -0
- sage/modules/fp_graded/steenrod/homspace.py +65 -0
- sage/modules/fp_graded/steenrod/module.py +477 -0
- sage/modules/fp_graded/steenrod/morphism.py +404 -0
- sage/modules/fp_graded/steenrod/profile.py +241 -0
- sage/modules/free_module.py +8447 -0
- sage/modules/free_module_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/free_module_element.pxd +22 -0
- sage/modules/free_module_element.pyx +5445 -0
- sage/modules/free_module_homspace.py +369 -0
- sage/modules/free_module_integer.py +896 -0
- sage/modules/free_module_morphism.py +823 -0
- sage/modules/free_module_pseudohomspace.py +352 -0
- sage/modules/free_module_pseudomorphism.py +578 -0
- sage/modules/free_quadratic_module.py +1706 -0
- sage/modules/free_quadratic_module_integer_symmetric.py +1790 -0
- sage/modules/matrix_morphism.py +1745 -0
- sage/modules/misc.py +103 -0
- sage/modules/module_functors.py +192 -0
- sage/modules/multi_filtered_vector_space.py +719 -0
- sage/modules/ore_module.py +2208 -0
- sage/modules/ore_module_element.py +178 -0
- sage/modules/ore_module_homspace.py +147 -0
- sage/modules/ore_module_morphism.py +968 -0
- sage/modules/quotient_module.py +699 -0
- sage/modules/real_double_vector.py +22 -0
- sage/modules/submodule.py +255 -0
- sage/modules/tensor_operations.py +567 -0
- sage/modules/torsion_quadratic_module.py +1352 -0
- sage/modules/tutorial_free_modules.py +248 -0
- sage/modules/vector_complex_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_complex_double_dense.pxd +6 -0
- sage/modules/vector_complex_double_dense.pyx +117 -0
- sage/modules/vector_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_double_dense.pxd +6 -0
- sage/modules/vector_double_dense.pyx +604 -0
- sage/modules/vector_integer_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_integer_dense.pxd +15 -0
- sage/modules/vector_integer_dense.pyx +361 -0
- sage/modules/vector_integer_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_integer_sparse.pxd +29 -0
- sage/modules/vector_integer_sparse.pyx +406 -0
- sage/modules/vector_modn_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_modn_dense.pxd +12 -0
- sage/modules/vector_modn_dense.pyx +394 -0
- sage/modules/vector_modn_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_modn_sparse.pxd +21 -0
- sage/modules/vector_modn_sparse.pyx +298 -0
- sage/modules/vector_numpy_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_numpy_dense.pxd +15 -0
- sage/modules/vector_numpy_dense.pyx +304 -0
- sage/modules/vector_numpy_integer_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_numpy_integer_dense.pxd +7 -0
- sage/modules/vector_numpy_integer_dense.pyx +54 -0
- sage/modules/vector_rational_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_rational_dense.pxd +15 -0
- sage/modules/vector_rational_dense.pyx +387 -0
- sage/modules/vector_rational_sparse.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_rational_sparse.pxd +30 -0
- sage/modules/vector_rational_sparse.pyx +413 -0
- sage/modules/vector_real_double_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/vector_real_double_dense.pxd +6 -0
- sage/modules/vector_real_double_dense.pyx +126 -0
- sage/modules/vector_space_homspace.py +430 -0
- sage/modules/vector_space_morphism.py +989 -0
- sage/modules/with_basis/all.py +15 -0
- sage/modules/with_basis/cell_module.py +494 -0
- sage/modules/with_basis/indexed_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/modules/with_basis/indexed_element.pxd +13 -0
- sage/modules/with_basis/indexed_element.pyx +1058 -0
- sage/modules/with_basis/invariant.py +1075 -0
- sage/modules/with_basis/morphism.py +1636 -0
- sage/modules/with_basis/representation.py +2939 -0
- sage/modules/with_basis/subquotient.py +685 -0
- sage/numerical/all__sagemath_modules.py +6 -0
- sage/numerical/gauss_legendre.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/gauss_legendre.pyx +381 -0
- sage/numerical/optimize.py +910 -0
- sage/probability/all.py +10 -0
- sage/probability/probability_distribution.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/probability/probability_distribution.pyx +1242 -0
- sage/probability/random_variable.py +411 -0
- sage/quadratic_forms/all.py +4 -0
- sage/quadratic_forms/all__sagemath_modules.py +15 -0
- sage/quadratic_forms/binary_qf.py +2042 -0
- sage/quadratic_forms/bqf_class_group.py +748 -0
- sage/quadratic_forms/constructions.py +93 -0
- sage/quadratic_forms/count_local_2.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/quadratic_forms/count_local_2.pyx +365 -0
- sage/quadratic_forms/extras.py +195 -0
- sage/quadratic_forms/quadratic_form.py +1753 -0
- sage/quadratic_forms/quadratic_form__count_local_2.py +221 -0
- sage/quadratic_forms/quadratic_form__equivalence_testing.py +708 -0
- sage/quadratic_forms/quadratic_form__evaluate.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/quadratic_forms/quadratic_form__evaluate.pyx +139 -0
- sage/quadratic_forms/quadratic_form__local_density_congruence.py +977 -0
- sage/quadratic_forms/quadratic_form__local_field_invariants.py +1072 -0
- sage/quadratic_forms/quadratic_form__neighbors.py +424 -0
- sage/quadratic_forms/quadratic_form__reduction_theory.py +488 -0
- sage/quadratic_forms/quadratic_form__split_local_covering.py +416 -0
- sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +657 -0
- sage/quadratic_forms/quadratic_form__theta.py +352 -0
- sage/quadratic_forms/quadratic_form__variable_substitutions.py +370 -0
- sage/quadratic_forms/random_quadraticform.py +209 -0
- sage/quadratic_forms/ternary.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/quadratic_forms/ternary.pyx +1154 -0
- sage/quadratic_forms/ternary_qf.py +2027 -0
- sage/rings/all__sagemath_modules.py +28 -0
- sage/rings/asymptotic/all__sagemath_modules.py +1 -0
- sage/rings/asymptotic/misc.py +1252 -0
- sage/rings/cc.py +4 -0
- sage/rings/cfinite_sequence.py +1306 -0
- sage/rings/complex_conversion.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_conversion.pxd +8 -0
- sage/rings/complex_conversion.pyx +23 -0
- sage/rings/complex_double.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_double.pxd +21 -0
- sage/rings/complex_double.pyx +2654 -0
- sage/rings/complex_mpc.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_mpc.pxd +21 -0
- sage/rings/complex_mpc.pyx +2576 -0
- sage/rings/complex_mpfr.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_mpfr.pxd +18 -0
- sage/rings/complex_mpfr.pyx +3602 -0
- sage/rings/derivation.py +2334 -0
- sage/rings/finite_rings/all__sagemath_modules.py +1 -0
- sage/rings/finite_rings/maps_finite_field.py +191 -0
- sage/rings/function_field/all__sagemath_modules.py +8 -0
- sage/rings/function_field/derivations.py +102 -0
- sage/rings/function_field/derivations_rational.py +132 -0
- sage/rings/function_field/differential.py +853 -0
- sage/rings/function_field/divisor.py +1107 -0
- sage/rings/function_field/drinfeld_modules/action.py +199 -0
- sage/rings/function_field/drinfeld_modules/all.py +1 -0
- sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py +673 -0
- sage/rings/function_field/drinfeld_modules/drinfeld_module.py +2087 -0
- sage/rings/function_field/drinfeld_modules/finite_drinfeld_module.py +1131 -0
- sage/rings/function_field/drinfeld_modules/homset.py +420 -0
- sage/rings/function_field/drinfeld_modules/morphism.py +820 -0
- sage/rings/function_field/hermite_form_polynomial.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/function_field/hermite_form_polynomial.pyx +188 -0
- sage/rings/function_field/khuri_makdisi.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/function_field/khuri_makdisi.pyx +935 -0
- sage/rings/invariants/all.py +4 -0
- sage/rings/invariants/invariant_theory.py +4597 -0
- sage/rings/invariants/reconstruction.py +395 -0
- sage/rings/polynomial/all__sagemath_modules.py +17 -0
- sage/rings/polynomial/integer_valued_polynomials.py +1230 -0
- sage/rings/polynomial/laurent_polynomial_mpair.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/laurent_polynomial_mpair.pxd +15 -0
- sage/rings/polynomial/laurent_polynomial_mpair.pyx +2023 -0
- sage/rings/polynomial/ore_function_element.py +952 -0
- sage/rings/polynomial/ore_function_field.py +1028 -0
- sage/rings/polynomial/ore_polynomial_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/ore_polynomial_element.pxd +48 -0
- sage/rings/polynomial/ore_polynomial_element.pyx +3145 -0
- sage/rings/polynomial/ore_polynomial_ring.py +1334 -0
- sage/rings/polynomial/polynomial_real_mpfr_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_real_mpfr_dense.pyx +788 -0
- sage/rings/polynomial/q_integer_valued_polynomials.py +1264 -0
- sage/rings/polynomial/skew_polynomial_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_element.pxd +9 -0
- sage/rings/polynomial/skew_polynomial_element.pyx +684 -0
- sage/rings/polynomial/skew_polynomial_finite_field.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_field.pxd +19 -0
- sage/rings/polynomial/skew_polynomial_finite_field.pyx +1093 -0
- sage/rings/polynomial/skew_polynomial_finite_order.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_order.pxd +10 -0
- sage/rings/polynomial/skew_polynomial_finite_order.pyx +567 -0
- sage/rings/polynomial/skew_polynomial_ring.py +908 -0
- sage/rings/real_double_element_gsl.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/real_double_element_gsl.pxd +8 -0
- sage/rings/real_double_element_gsl.pyx +794 -0
- sage/rings/real_field.py +58 -0
- sage/rings/real_mpfr.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/real_mpfr.pxd +29 -0
- sage/rings/real_mpfr.pyx +6122 -0
- sage/rings/ring_extension.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/ring_extension.pxd +42 -0
- sage/rings/ring_extension.pyx +2779 -0
- sage/rings/ring_extension_conversion.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/ring_extension_conversion.pxd +16 -0
- sage/rings/ring_extension_conversion.pyx +462 -0
- sage/rings/ring_extension_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/ring_extension_element.pxd +21 -0
- sage/rings/ring_extension_element.pyx +1635 -0
- sage/rings/ring_extension_homset.py +64 -0
- sage/rings/ring_extension_morphism.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/ring_extension_morphism.pxd +35 -0
- sage/rings/ring_extension_morphism.pyx +920 -0
- sage/schemes/all__sagemath_modules.py +1 -0
- sage/schemes/projective/all__sagemath_modules.py +1 -0
- sage/schemes/projective/coherent_sheaf.py +300 -0
- sage/schemes/projective/cohomology.py +510 -0
- sage/stats/all.py +15 -0
- sage/stats/basic_stats.py +489 -0
- sage/stats/distributions/all.py +7 -0
- sage/stats/distributions/catalog.py +34 -0
- sage/stats/distributions/dgs.h +50 -0
- sage/stats/distributions/dgs.pxd +111 -0
- sage/stats/distributions/dgs_bern.h +400 -0
- sage/stats/distributions/dgs_gauss.h +614 -0
- sage/stats/distributions/dgs_misc.h +104 -0
- sage/stats/distributions/discrete_gaussian_integer.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/distributions/discrete_gaussian_integer.pxd +14 -0
- sage/stats/distributions/discrete_gaussian_integer.pyx +498 -0
- sage/stats/distributions/discrete_gaussian_lattice.py +908 -0
- sage/stats/distributions/discrete_gaussian_polynomial.py +141 -0
- sage/stats/hmm/all.py +15 -0
- sage/stats/hmm/chmm.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/hmm/chmm.pyx +1595 -0
- sage/stats/hmm/distributions.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/hmm/distributions.pxd +29 -0
- sage/stats/hmm/distributions.pyx +531 -0
- sage/stats/hmm/hmm.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/hmm/hmm.pxd +17 -0
- sage/stats/hmm/hmm.pyx +1388 -0
- sage/stats/hmm/util.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/hmm/util.pxd +7 -0
- sage/stats/hmm/util.pyx +165 -0
- sage/stats/intlist.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/intlist.pxd +14 -0
- sage/stats/intlist.pyx +588 -0
- sage/stats/r.py +49 -0
- sage/stats/time_series.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/stats/time_series.pxd +6 -0
- sage/stats/time_series.pyx +2546 -0
- sage/tensor/all.py +2 -0
- sage/tensor/modules/all.py +8 -0
- sage/tensor/modules/alternating_contr_tensor.py +761 -0
- sage/tensor/modules/comp.py +5598 -0
- sage/tensor/modules/ext_pow_free_module.py +824 -0
- sage/tensor/modules/finite_rank_free_module.py +3589 -0
- sage/tensor/modules/format_utilities.py +333 -0
- sage/tensor/modules/free_module_alt_form.py +858 -0
- sage/tensor/modules/free_module_automorphism.py +1207 -0
- sage/tensor/modules/free_module_basis.py +1074 -0
- sage/tensor/modules/free_module_element.py +284 -0
- sage/tensor/modules/free_module_homset.py +652 -0
- sage/tensor/modules/free_module_linear_group.py +564 -0
- sage/tensor/modules/free_module_morphism.py +1581 -0
- sage/tensor/modules/free_module_tensor.py +3289 -0
- sage/tensor/modules/reflexive_module.py +386 -0
- sage/tensor/modules/tensor_free_module.py +780 -0
- sage/tensor/modules/tensor_free_submodule.py +538 -0
- sage/tensor/modules/tensor_free_submodule_basis.py +140 -0
- sage/tensor/modules/tensor_with_indices.py +1043 -0
sage/crypto/sboxes.py
ADDED
|
@@ -0,0 +1,2090 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
# sage.doctest: needs sage.modules sage.rings.finite_rings
|
|
3
|
+
r"""
|
|
4
|
+
S-Boxes used in cryptographic schemes
|
|
5
|
+
|
|
6
|
+
This module provides the following SBoxes:
|
|
7
|
+
|
|
8
|
+
constructions
|
|
9
|
+
- BrackenLeander ([BraLea2008]_)
|
|
10
|
+
- CarletTangTangLiao ([CTTL2014]_)
|
|
11
|
+
- Gold ([Gol1968]_)
|
|
12
|
+
- Kasami ([Kas1971]_)
|
|
13
|
+
- Niho ([Dob1999a]_)
|
|
14
|
+
- Welch ([Dob1999b]_)
|
|
15
|
+
|
|
16
|
+
9 bit to 9 bit
|
|
17
|
+
- DryGASCON256 ([Rio2019]_)
|
|
18
|
+
|
|
19
|
+
8 bit to 8 bit
|
|
20
|
+
- AES (FlexAEAD [NX2019]_) ([DR2002]_)
|
|
21
|
+
- Anubis ([BR2000a]_)
|
|
22
|
+
- ARIA_s2 ([KKPSSSYYLLCHH2004]_)
|
|
23
|
+
- BelT ([Bel2011]_)
|
|
24
|
+
- Camellia ([AIKMMNT2001]_)
|
|
25
|
+
- CMEA ([WSK1997]_)
|
|
26
|
+
- Chiasmus ([STW2013]_)
|
|
27
|
+
- CLEFIA_S0, CLEFIA_S1 ([SSAMI2007]_)
|
|
28
|
+
- Crypton_0_5 ([Lim]_)
|
|
29
|
+
- Crypton_1_0_S0, ..., Crypton_1_0_S3 ([Lim2001]_)
|
|
30
|
+
- CS_cipher ([SV2000]_)
|
|
31
|
+
- CSA ([WW2005]_)
|
|
32
|
+
- CSS ([BD2004]_)
|
|
33
|
+
- DBlock ([WZY2015]_)
|
|
34
|
+
- E2 ([KMAUTOM2000]_)
|
|
35
|
+
- Enocoro ([WFYTP2008]_)
|
|
36
|
+
- Fantomas ([GLSV2014]_)
|
|
37
|
+
- FLY ([KG2016]_)
|
|
38
|
+
- Fox ([VJ2004]_)
|
|
39
|
+
- Iceberg ([SPRQL2004]_)
|
|
40
|
+
- Iraqi (:wikipedia:`Iraqi_block_cipher`)
|
|
41
|
+
- iScream ([GLSVJGK2014]_)
|
|
42
|
+
- Kalyna_pi0, ..., Kalyna_pi3 ([OGKRKGBDDP2015]_)
|
|
43
|
+
- Khazad ([BR2000b]_)
|
|
44
|
+
- Kuznyechik (Kuznechik, Streebog, Stribog) ([Fed2015]_)
|
|
45
|
+
- Lilliput-AE ([ABCFHLLMRT2019]_)
|
|
46
|
+
- MD2 ([Kal1992]_)
|
|
47
|
+
- newDES ([Sco1985]_)
|
|
48
|
+
- Picaro ([PRC2012]_)
|
|
49
|
+
- Safer ([Mas1994]_)
|
|
50
|
+
- Scream ([CDL2015]_,[GLSVJGK2014]_)
|
|
51
|
+
- SEED_S0, SEED_S1 ([LLYCL2005]_)
|
|
52
|
+
- SKINNY_8 (ForkSkinny_8 [ALPRRV2019]_, Remus_8 [IKMP2019A]_, Romulus [IKMP2019B]_) ([BJKLMPSSS2016]_)
|
|
53
|
+
- Skipjack ([U.S1998]_)
|
|
54
|
+
- SNOW_3G_sq ([ETS2006a]_)
|
|
55
|
+
- SMS4 ([Ltd06]_)
|
|
56
|
+
- Turing ([RH2003b]_)
|
|
57
|
+
- Twofish_p0, Twofish_p1 ([SKWWHF1998]_)
|
|
58
|
+
- Whirlpool ([BR2000c]_)
|
|
59
|
+
- Zorro ([GGNS2013]_)
|
|
60
|
+
- ZUC_S0, ZUC_S1 ([ETS2011]_)
|
|
61
|
+
|
|
62
|
+
7 bit to 7 bit
|
|
63
|
+
- Wage ([AAGMRZ2019]_)
|
|
64
|
+
|
|
65
|
+
6 bit to 6 bit
|
|
66
|
+
- Fides_6 ([BBKMW2013]_)
|
|
67
|
+
- APN_6 ([BDMW2010]_)
|
|
68
|
+
- SC2000_6 ([SYYTIYTT2002]_)
|
|
69
|
+
|
|
70
|
+
5 bit to 5 bit
|
|
71
|
+
- Ascon (ISAP [DEMMMPU2019]_) ([DEMS2016]_)
|
|
72
|
+
- DryGASCON128 ([Rio2019]_)
|
|
73
|
+
- Fides_5 ([BBKMW2013]_)
|
|
74
|
+
- SC2000_5 ([SYYTIYTT2002]_)
|
|
75
|
+
- Shamash ([PM2019])
|
|
76
|
+
- SYCON ([SMS2019]_)
|
|
77
|
+
|
|
78
|
+
4 bit to 4 bit
|
|
79
|
+
- Elephant ([BCDM2019]_)
|
|
80
|
+
- KNOT ([ZDYBXJZ2019]_)
|
|
81
|
+
- Pyjamask_4 ([GJKPRSS2019]_)
|
|
82
|
+
- SATURNIN_0, SATURNIN_1 ([CDLNPPS2019]_)
|
|
83
|
+
- Spook (Clyde, Shadow) ([BBBCDGLLLMPPSW2019]_)
|
|
84
|
+
- TRIFLE ([DGMPPS2019]_)
|
|
85
|
+
- Yarara, Coral ([MP2019]_)
|
|
86
|
+
- DES_S1_1, ..., DES_S1_4, ..., DES_S8_4 ([U.S1999]_)
|
|
87
|
+
- Lucifer_S0, Lucifer_S1 ([Sor1984]_)
|
|
88
|
+
- GOST_1, ..., GOST_8 (http://www.cypherpunks.ru/pygost/)
|
|
89
|
+
- GOST2_1, GOST2_2 (http://www.cypherpunks.ru/pygost/)
|
|
90
|
+
- Magma_1, ..., Magma_8 ([Fed2015]_)
|
|
91
|
+
- GOST_IETF_1, ..., GOST_IETF_8 (http://www.cypherpunks.ru/pygost/)
|
|
92
|
+
- Hummingbird_2_S1, ..., Hummingbird_2_S4 ([ESSS2011]_)
|
|
93
|
+
- LBlock_0, ..., LBlock_9 ([WZ2011]_)
|
|
94
|
+
- SERPENT_S0, ..., SERPENT_S7 ([BAK1998]_)
|
|
95
|
+
- KLEIN ([GNL2011]_)
|
|
96
|
+
- MIBS ([ISSK2009)]
|
|
97
|
+
- Midori_Sb0 (MANTIS, CRAFT, WARP), Midori_Sb1 ([BBISHAR2015]_)
|
|
98
|
+
- Noekeon ([DPVAR2000]_)
|
|
99
|
+
- Piccolo ([SIHMAS2011]_)
|
|
100
|
+
- Panda ([YWHWXSW2014]_)
|
|
101
|
+
- PRESENT (CiliPadi [ZJRRS2019]_, PHOTON [BCDGNPY2019]_, ORANGE [CN2019]_) ([BKLPPRSV2007]_)
|
|
102
|
+
- GIFT (Fountain_1, HYENA [CDJN2019]_, TGIF [IKMPSSS2019]_) ([BPPSST2017]_)
|
|
103
|
+
- Fountain_1, Fountain_2, Fountain_3, Fountain_4 ([Zha2019]_)
|
|
104
|
+
- Pride ([ADKLPY2014]_)
|
|
105
|
+
- PRINCE ([BCGKKKLNPRRTY2012]_)
|
|
106
|
+
- Prost ([KLLRSY2014]_)
|
|
107
|
+
- Qarma_sigma0, Qarma_sigma1 (Qameleon [ABBDHR2019]_), Qarma_sigma2 ([Ava2017]_)
|
|
108
|
+
- REC_0 (earlier version of [ZBLRYV2015]_)
|
|
109
|
+
- Rectangle ([ZBLRYV2015]_)
|
|
110
|
+
- SC2000_4 ([SYYTIYTT2002]_)
|
|
111
|
+
- SKINNY_4 (ForkSkinny_4 [ALPRRV2019]_, Remus_4 [IKMP2019A]_) ([BJKLMPSSS2016]_)
|
|
112
|
+
- TWINE ([SMMK2013]_)
|
|
113
|
+
|
|
114
|
+
- Luffa_v1 ([DCSW2008]_)
|
|
115
|
+
- Luffa ([DCSW2008]_)
|
|
116
|
+
- BLAKE_1, ..., BLAKE_9 ([AHMP2008]_)
|
|
117
|
+
- JH_S0, JH_S1 ([Wu2009]_)
|
|
118
|
+
- SMASH_256_S1, ..., SMASH_256_S3 ([Knu2005]_)
|
|
119
|
+
|
|
120
|
+
- Anubis_S0, Anubis_S1 ([BR2000a]_)
|
|
121
|
+
- CLEFIA_SS0, ..., CLEFIA_SS3 ([SSAMI2007]_)
|
|
122
|
+
- Enocoro_S4 ([WFYTP2008]_)
|
|
123
|
+
- Iceberg_S0, Iceberg_S1 ([SPRQL2004]_)
|
|
124
|
+
- Khazad_P, Khazad_Q ([BR2000b]_)
|
|
125
|
+
- Whirlpool_E, Whirlpool_R ([BR2000c]_)
|
|
126
|
+
- CS_cipher_F, CS_cipher_G ([SV2000]_)
|
|
127
|
+
- Fox_S1, ..., Fox_S3 ([VJ2004]_)
|
|
128
|
+
- Twofish_Q0_T0, ..., Twofish_Q0_T3, Twofish_Q1_T0, ..., Twofish_Q1_T3 ([SKWWHF1998]_)
|
|
129
|
+
- Kuznyechik_nu0, Kuznyechik_nu1, Kuznyechik_sigma, Kuznyechik_phi ([BPU2016]_)
|
|
130
|
+
|
|
131
|
+
- UDCIKMP11 ([UDCIKMP2011]_)
|
|
132
|
+
- Optimal_S0, ..., Optimal_S15 ([LP2007]_)
|
|
133
|
+
- Serpent_type_S0, ..., Serpent_type_S19 ([LP2007]_)
|
|
134
|
+
- Golden_S0, ..., Golden_S3 ([Saa2011]_)
|
|
135
|
+
|
|
136
|
+
- representatives for all 302 affine equivalence classes ([dCa2007]_)
|
|
137
|
+
|
|
138
|
+
3 bit to 3 bit
|
|
139
|
+
- SEA ([SPGQ2006]_)
|
|
140
|
+
- PRINTcipher ([KLPR2010]_)
|
|
141
|
+
- Pyjamask_3 ([GJKPRSS2019]_)
|
|
142
|
+
|
|
143
|
+
Additionally this modules offers a dictionary `sboxes` of all implemented above S-boxes
|
|
144
|
+
for the purpose of easy iteration over all available S-boxes.
|
|
145
|
+
|
|
146
|
+
EXAMPLES:
|
|
147
|
+
|
|
148
|
+
We can print the S-Boxes with differential uniformity 2::
|
|
149
|
+
|
|
150
|
+
sage: from sage.crypto.sboxes import sboxes
|
|
151
|
+
sage: sorted(name for name, s in sboxes.items()
|
|
152
|
+
....: if s.differential_uniformity() == 2)
|
|
153
|
+
['APN_6',
|
|
154
|
+
'Fides_5',
|
|
155
|
+
'Fides_6',
|
|
156
|
+
'PRINTcipher',
|
|
157
|
+
'Pyjamask_3',
|
|
158
|
+
'SC2000_5',
|
|
159
|
+
'SEA',
|
|
160
|
+
'Shamash']
|
|
161
|
+
|
|
162
|
+
AUTHOR:
|
|
163
|
+
|
|
164
|
+
- Leo Perrin: initial collection of sboxes
|
|
165
|
+
- Friedrich Wiemer (2017-05-12): refactored list for inclusion in Sage
|
|
166
|
+
- Lukas Stennes (2019-06-25): added NIST LWC round 1 candidates
|
|
167
|
+
"""
|
|
168
|
+
import sys
|
|
169
|
+
|
|
170
|
+
from sage.crypto.sbox import SBox
|
|
171
|
+
from sage.misc.functional import is_odd, is_even
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def bracken_leander(n):
|
|
175
|
+
r"""
|
|
176
|
+
Return the Bracken-Leander construction.
|
|
177
|
+
|
|
178
|
+
For n = 4*k and odd k, the construction is `x \mapsto x^{2^{2k} + 2^k + 1}`
|
|
179
|
+
over `\GF{2^n}`
|
|
180
|
+
|
|
181
|
+
INPUT:
|
|
182
|
+
|
|
183
|
+
- ``n`` -- size of the S-Box
|
|
184
|
+
|
|
185
|
+
EXAMPLES::
|
|
186
|
+
|
|
187
|
+
sage: from sage.crypto.sboxes import bracken_leander
|
|
188
|
+
sage: sbox = bracken_leander(12); [sbox(i) for i in range(8)]
|
|
189
|
+
[0, 1, 2742, 4035, 1264, 408, 1473, 1327]
|
|
190
|
+
"""
|
|
191
|
+
if n % 4 == 1 or is_even(n / 4):
|
|
192
|
+
raise TypeError("Bracken-Leander functions are only defined for n = 4k with k odd")
|
|
193
|
+
|
|
194
|
+
k = n / 4
|
|
195
|
+
e = 2**(2*k) + 2**k + 1
|
|
196
|
+
return monomial_function(n, e)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def carlet_tang_tang_liao(n, c=None, bf=None):
|
|
200
|
+
r"""
|
|
201
|
+
Return the Carlet-Tang-Tang-Liao construction.
|
|
202
|
+
|
|
203
|
+
See [CTTL2014]_ for its definition.
|
|
204
|
+
|
|
205
|
+
INPUT:
|
|
206
|
+
|
|
207
|
+
- ``n`` -- integer; the bit length of inputs and outputs, has to be even
|
|
208
|
+
and `\geq 6`
|
|
209
|
+
- ``c`` -- element of `\GF{2^{n-1}}` used in the construction
|
|
210
|
+
(default: random element)
|
|
211
|
+
- ``f`` -- function from `\GF{2^n} \to \GF{2}` or BooleanFunction on `n-1`
|
|
212
|
+
bits (default: ``x -> (1/(x+1)).trace())``)
|
|
213
|
+
|
|
214
|
+
EXAMPLES::
|
|
215
|
+
|
|
216
|
+
sage: from sage.crypto.sboxes import carlet_tang_tang_liao as cttl
|
|
217
|
+
sage: cttl(6).differential_uniformity() in [4, 64]
|
|
218
|
+
True
|
|
219
|
+
"""
|
|
220
|
+
from sage.crypto.boolean_function import BooleanFunction
|
|
221
|
+
from sage.rings.finite_rings.finite_field_constructor import GF
|
|
222
|
+
|
|
223
|
+
if n < 6 or n % 2:
|
|
224
|
+
raise TypeError("n >= 6 has to be even")
|
|
225
|
+
K = GF((2, n - 1))
|
|
226
|
+
L = GF((2, n))
|
|
227
|
+
|
|
228
|
+
if c is None:
|
|
229
|
+
c = K.random_element()
|
|
230
|
+
while c.trace() == 0 or (1/c).trace() == 0:
|
|
231
|
+
c = K.random_element()
|
|
232
|
+
elif c.trace() == 0 or (1/c).trace() == 0:
|
|
233
|
+
raise TypeError("c.trace() and (1/c).trace() have to be 1")
|
|
234
|
+
|
|
235
|
+
if bf is None:
|
|
236
|
+
def bf(x):
|
|
237
|
+
if x == 1:
|
|
238
|
+
return 0
|
|
239
|
+
return (1/(x+1)).trace()
|
|
240
|
+
|
|
241
|
+
elif isinstance(bf, (BooleanFunction,)):
|
|
242
|
+
bf_f2 = bf
|
|
243
|
+
|
|
244
|
+
def bf(x):
|
|
245
|
+
xprime = map(int, x.polynomial().list())
|
|
246
|
+
xprime += [0]*(n-1 - len(xprime))
|
|
247
|
+
return int(bf_f2(xprime))
|
|
248
|
+
|
|
249
|
+
def f(x):
|
|
250
|
+
xs = x.polynomial().list()
|
|
251
|
+
xs += [0]*(n - len(xs))
|
|
252
|
+
xprime = K(xs[:n-1])
|
|
253
|
+
|
|
254
|
+
if xprime == 0:
|
|
255
|
+
res = [0]*(n-1), bf(xprime/c) + xs[-1]
|
|
256
|
+
elif xs[-1] == 0:
|
|
257
|
+
res = (1/xprime).polynomial().list(), bf(xprime)
|
|
258
|
+
else:
|
|
259
|
+
res = (c/xprime).polynomial().list(), bf(xprime/c) + 1
|
|
260
|
+
|
|
261
|
+
res = res[0] + [0]*(n-1-len(res[0])) + [res[1]]
|
|
262
|
+
|
|
263
|
+
return L(res)
|
|
264
|
+
|
|
265
|
+
return SBox([f(L(x)) for x in GF(2)**n])
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def gold(n, i):
|
|
269
|
+
r"""
|
|
270
|
+
Return the Gold function defined by `x \mapsto x^{2^i + 1}` over `\GF{2^n}`.
|
|
271
|
+
|
|
272
|
+
INPUT:
|
|
273
|
+
|
|
274
|
+
- ``n`` -- size of the S-Box
|
|
275
|
+
- ``i`` -- positive integer
|
|
276
|
+
|
|
277
|
+
EXAMPLES::
|
|
278
|
+
|
|
279
|
+
sage: from sage.crypto.sboxes import gold
|
|
280
|
+
sage: gold(3, 1)
|
|
281
|
+
(0, 1, 3, 4, 5, 6, 7, 2)
|
|
282
|
+
sage: gold(3, 1).differential_uniformity()
|
|
283
|
+
2
|
|
284
|
+
sage: gold(4, 2)
|
|
285
|
+
(0, 1, 6, 6, 7, 7, 7, 6, 1, 7, 1, 6, 1, 6, 7, 1)
|
|
286
|
+
"""
|
|
287
|
+
e = 2**i + 1
|
|
288
|
+
return monomial_function(n, e)
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
def kasami(n, i):
|
|
292
|
+
r"""
|
|
293
|
+
Return the Kasami function defined by `x \mapsto x^{2^{2i} - 2^i + 1}` over `\GF{2^n}`.
|
|
294
|
+
|
|
295
|
+
INPUT:
|
|
296
|
+
|
|
297
|
+
- ``n`` -- size of the S-Box
|
|
298
|
+
- ``i`` -- positive integer
|
|
299
|
+
|
|
300
|
+
EXAMPLES::
|
|
301
|
+
|
|
302
|
+
sage: from sage.crypto.sboxes import kasami
|
|
303
|
+
sage: kasami(3, 1)
|
|
304
|
+
(0, 1, 3, 4, 5, 6, 7, 2)
|
|
305
|
+
sage: from sage.crypto.sboxes import gold
|
|
306
|
+
sage: kasami(3, 1) == gold(3, 1)
|
|
307
|
+
True
|
|
308
|
+
sage: kasami(4, 2)
|
|
309
|
+
(0, 1, 13, 11, 14, 9, 6, 7, 10, 4, 15, 2, 8, 3, 5, 12)
|
|
310
|
+
sage: kasami(4, 2) != gold(4, 2)
|
|
311
|
+
True
|
|
312
|
+
"""
|
|
313
|
+
e = 2**(2*i) - 2**i + 1
|
|
314
|
+
return monomial_function(n, e)
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
def niho(n):
|
|
318
|
+
r"""
|
|
319
|
+
Return the Niho function over `\GF{2^n}`.
|
|
320
|
+
|
|
321
|
+
It is defined by `x \mapsto x^{2^t + 2^s - 1}` with `s = t/2` if t is even
|
|
322
|
+
or `s = (3t+1)/2` if t is odd.
|
|
323
|
+
|
|
324
|
+
INPUT:
|
|
325
|
+
|
|
326
|
+
- ``n`` -- size of the S-Box
|
|
327
|
+
|
|
328
|
+
EXAMPLES::
|
|
329
|
+
|
|
330
|
+
sage: from sage.crypto.sboxes import niho
|
|
331
|
+
sage: niho(3)
|
|
332
|
+
(0, 1, 7, 2, 3, 4, 5, 6)
|
|
333
|
+
|
|
334
|
+
sage: niho(3).differential_uniformity()
|
|
335
|
+
2
|
|
336
|
+
"""
|
|
337
|
+
if not is_odd(n):
|
|
338
|
+
raise TypeError("Niho functions are only defined for n odd")
|
|
339
|
+
|
|
340
|
+
t = (n - 1) / 2
|
|
341
|
+
|
|
342
|
+
if is_even(t):
|
|
343
|
+
e = 2**t + 2**(t/2) - 1
|
|
344
|
+
else:
|
|
345
|
+
e = 2**t + 2**((3*t+1)/2) - 1
|
|
346
|
+
|
|
347
|
+
return monomial_function(n, e)
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
def welch(n):
|
|
351
|
+
r"""
|
|
352
|
+
Return the Welch function defined by `x \mapsto x^{2^{(n-1)/2} + 3}` over `\GF{2^n}`.
|
|
353
|
+
|
|
354
|
+
INPUT:
|
|
355
|
+
|
|
356
|
+
- ``n`` -- size of the S-Box
|
|
357
|
+
|
|
358
|
+
EXAMPLES::
|
|
359
|
+
|
|
360
|
+
sage: from sage.crypto.sboxes import welch
|
|
361
|
+
sage: welch(3)
|
|
362
|
+
(0, 1, 7, 2, 3, 4, 5, 6)
|
|
363
|
+
sage: welch(3).differential_uniformity()
|
|
364
|
+
2
|
|
365
|
+
"""
|
|
366
|
+
if not is_odd(n):
|
|
367
|
+
raise TypeError("Welch functions are only defined for odd n")
|
|
368
|
+
|
|
369
|
+
t = (n - 1) / 2
|
|
370
|
+
e = 2**t + 3
|
|
371
|
+
return monomial_function(n, e)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
def monomial_function(n, e):
|
|
375
|
+
r"""
|
|
376
|
+
Return an S-Box as a function `x^e` defined over `\GF{2^n}`.
|
|
377
|
+
|
|
378
|
+
INPUT:
|
|
379
|
+
|
|
380
|
+
- ``n`` -- size of the S-Box (i.e. the degree of the finite field extension)
|
|
381
|
+
- ``e`` -- exponent of the monomial function
|
|
382
|
+
|
|
383
|
+
EXAMPLES::
|
|
384
|
+
|
|
385
|
+
sage: from sage.crypto.sboxes import monomial_function
|
|
386
|
+
sage: S = monomial_function(7, 3)
|
|
387
|
+
sage: S.differential_uniformity()
|
|
388
|
+
2
|
|
389
|
+
sage: S.input_size()
|
|
390
|
+
7
|
|
391
|
+
sage: S.is_permutation()
|
|
392
|
+
True
|
|
393
|
+
"""
|
|
394
|
+
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
|
|
395
|
+
from sage.rings.finite_rings.finite_field_constructor import GF
|
|
396
|
+
|
|
397
|
+
base_ring = GF((2, n), name='x')
|
|
398
|
+
R = PolynomialRing(base_ring, name='X')
|
|
399
|
+
X = R.gen()
|
|
400
|
+
return SBox(X**e)
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
def inversion(n):
|
|
404
|
+
r"""
|
|
405
|
+
Return the S-Box constructed from the inversion mapping over `\GF{2^n}`
|
|
406
|
+
extending `0 \mapsto 0`.
|
|
407
|
+
|
|
408
|
+
INPUT:
|
|
409
|
+
|
|
410
|
+
- ``n`` -- size of the S-Box
|
|
411
|
+
|
|
412
|
+
EXAMPLES::
|
|
413
|
+
|
|
414
|
+
sage: from sage.crypto.sboxes import inversion
|
|
415
|
+
sage: S4 = inversion(4)
|
|
416
|
+
sage: S4.differential_uniformity()
|
|
417
|
+
4
|
|
418
|
+
sage: S5 = inversion(5)
|
|
419
|
+
sage: S5.differential_uniformity()
|
|
420
|
+
2
|
|
421
|
+
"""
|
|
422
|
+
return monomial_function(n, 2**n - 2)
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
def chi(n):
|
|
426
|
+
r"""
|
|
427
|
+
Return the `\chi` function defined over `\GF{2^n}` used in the nonlinear
|
|
428
|
+
layer of Keccak and Xoodyak.
|
|
429
|
+
|
|
430
|
+
INPUT:
|
|
431
|
+
|
|
432
|
+
- ``n`` -- size of the S-Box
|
|
433
|
+
|
|
434
|
+
EXAMPLES::
|
|
435
|
+
|
|
436
|
+
sage: from sage.crypto.sboxes import chi
|
|
437
|
+
sage: chi(3)
|
|
438
|
+
(0, 3, 6, 1, 5, 4, 2, 7)
|
|
439
|
+
sage: chi(3).is_permutation()
|
|
440
|
+
True
|
|
441
|
+
sage: chi(4).is_permutation()
|
|
442
|
+
False
|
|
443
|
+
sage: chi(5)
|
|
444
|
+
(0, 9, 18, 11, 5, 12, 22, 15, 10, 3, 24, 1, 13, 4, 30, 7, 20, 21, 6,
|
|
445
|
+
23, 17, 16, 2, 19, 26, 27, 8, 25, 29, 28, 14, 31)
|
|
446
|
+
"""
|
|
447
|
+
from sage.rings.integer_ring import ZZ
|
|
448
|
+
from sage.rings.finite_rings.finite_field_constructor import GF
|
|
449
|
+
from sage.modules.free_module_element import vector
|
|
450
|
+
|
|
451
|
+
table = [0]*(1 << n)
|
|
452
|
+
|
|
453
|
+
for x in range(1 << n):
|
|
454
|
+
vx = vector(GF(2), ZZ(x).digits(base=2, padto=n))
|
|
455
|
+
vy = [vx[i] + (vx[(i+1) % n] + 1)*vx[(i+2) % n] for i in range(n)]
|
|
456
|
+
y = ZZ(vy, base=2)
|
|
457
|
+
table[x] = y
|
|
458
|
+
|
|
459
|
+
return SBox(table)
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
# Bijective S-Boxes mapping 9 bits to 9
|
|
463
|
+
# =====================================
|
|
464
|
+
|
|
465
|
+
DryGASCON256 = SBox([
|
|
466
|
+
0x10, 0x93, 0x11f, 0x9d, 0x1f, 0x9c, 0x113, 0x91, 0x2a, 0xa9, 0x127, 0xa5, 0x27, 0xa4, 0x129, 0xab,
|
|
467
|
+
0x2c, 0xaf, 0x123, 0xa1, 0x23, 0xa0, 0x12f, 0xad, 0x1a, 0x99, 0x117, 0x95, 0x17, 0x94, 0x119, 0x9b,
|
|
468
|
+
0xf8, 0x7b, 0x1f7, 0x75, 0xf7, 0x74, 0x1fb, 0x79, 0xca, 0x49, 0x1c7, 0x45, 0xc7, 0x44, 0x1c9, 0x4b,
|
|
469
|
+
0xcc, 0x4f, 0x1c3, 0x41, 0xc3, 0x40, 0x1cf, 0x4d, 0xf2, 0x71, 0x1ff, 0x7d, 0xff, 0x7c, 0x1f1, 0x73,
|
|
470
|
+
0xe0, 0x63, 0x1ef, 0x6d, 0xef, 0x6c, 0x1e3, 0x61, 0xda, 0x59, 0x1d7, 0x55, 0xd7, 0x54, 0x1d9, 0x5b,
|
|
471
|
+
0xdc, 0x5f, 0x1d3, 0x51, 0xd3, 0x50, 0x1df, 0x5d, 0xea, 0x69, 0x1e7, 0x65, 0xe7, 0x64, 0x1e9, 0x6b,
|
|
472
|
+
0x38, 0xbb, 0x137, 0xb5, 0x37, 0xb4, 0x13b, 0xb9, 0x0a, 0x89, 0x107, 0x85, 0x07, 0x84, 0x109, 0x8b,
|
|
473
|
+
0x0c, 0x8f, 0x103, 0x81, 0x03, 0x80, 0x10f, 0x8d, 0x32, 0xb1, 0x13f, 0xbd, 0x3f, 0xbc, 0x131, 0xb3,
|
|
474
|
+
0x1b1, 0x1b2, 0xbe, 0x1bc, 0x1be, 0x1bd, 0xb2, 0x1b0, 0x18b, 0x188, 0x86, 0x184, 0x186, 0x185, 0x88, 0x18a,
|
|
475
|
+
0x18d, 0x18e, 0x82, 0x180, 0x182, 0x181, 0x8e, 0x18c, 0x1bb, 0x1b8, 0xb6, 0x1b4, 0x1b6, 0x1b5, 0xb8, 0x1ba,
|
|
476
|
+
0x179, 0x17a, 0x76, 0x174, 0x176, 0x175, 0x7a, 0x178, 0x14b, 0x148, 0x46, 0x144, 0x146, 0x145, 0x48, 0x14a,
|
|
477
|
+
0x14d, 0x14e, 0x42, 0x140, 0x142, 0x141, 0x4e, 0x14c, 0x173, 0x170, 0x7e, 0x17c, 0x17e, 0x17d, 0x70, 0x172,
|
|
478
|
+
0x161, 0x162, 0x6e, 0x16c, 0x16e, 0x16d, 0x62, 0x160, 0x15b, 0x158, 0x56, 0x154, 0x156, 0x155, 0x58, 0x15a,
|
|
479
|
+
0x15d, 0x15e, 0x52, 0x150, 0x152, 0x151, 0x5e, 0x15c, 0x16b, 0x168, 0x66, 0x164, 0x166, 0x165, 0x68, 0x16a,
|
|
480
|
+
0x199, 0x19a, 0x96, 0x194, 0x196, 0x195, 0x9a, 0x198, 0x1ab, 0x1a8, 0xa6, 0x1a4, 0x1a6, 0x1a5, 0xa8, 0x1aa,
|
|
481
|
+
0x1ad, 0x1ae, 0xa2, 0x1a0, 0x1a2, 0x1a1, 0xae, 0x1ac, 0x193, 0x190, 0x9e, 0x19c, 0x19e, 0x19d, 0x90, 0x192,
|
|
482
|
+
0x1d2, 0x1d1, 0x1d, 0xde, 0x1dd, 0x1de, 0x1d, 0xd2, 0x1e8, 0x1eb, 0x1e, 0xe6, 0x1e5, 0x1e6, 0x1e, 0xe8,
|
|
483
|
+
0x1ee, 0x1ed, 0x1e, 0xe2, 0x1e1, 0x1e2, 0x1e, 0xee, 0x1d8, 0x1db, 0x1d, 0xd6, 0x1d5, 0x1d6, 0x1d, 0xd8,
|
|
484
|
+
0x13a, 0x139, 0x13, 0x36, 0x135, 0x136, 0x13, 0x3a, 0x108, 0x10b, 0x10, 0x06, 0x105, 0x106, 0x10, 0x08,
|
|
485
|
+
0x10e, 0x10d, 0x10, 0x02, 0x101, 0x102, 0x10, 0x0e, 0x130, 0x133, 0x13, 0x3e, 0x13d, 0x13e, 0x13, 0x30,
|
|
486
|
+
0x122, 0x121, 0x12, 0x2e, 0x12d, 0x12e, 0x12, 0x22, 0x118, 0x11b, 0x11, 0x16, 0x115, 0x116, 0x11, 0x18,
|
|
487
|
+
0x11e, 0x11d, 0x11, 0x12, 0x111, 0x112, 0x11, 0x1e, 0x128, 0x12b, 0x12, 0x26, 0x125, 0x126, 0x12, 0x28,
|
|
488
|
+
0x1fa, 0x1f9, 0x1f, 0xf6, 0x1f5, 0x1f6, 0x1f, 0xfa, 0x1c8, 0x1cb, 0x1c, 0xc6, 0x1c5, 0x1c6, 0x1c, 0xc8,
|
|
489
|
+
0x1ce, 0x1cd, 0x1c, 0xc2, 0x1c1, 0x1c2, 0x1c, 0xce, 0x1f0, 0x1f3, 0x1f, 0xfe, 0x1fd, 0x1fe, 0x1f, 0xf0,
|
|
490
|
+
0x33, 0xb0, 0x3d, 0x1bf, 0x3c, 0xbf, 0x31, 0x1b3, 0x09, 0x8a, 0x05, 0x187, 0x04, 0x87, 0x0b, 0x189,
|
|
491
|
+
0x0f, 0x8c, 0x01, 0x183, 0x00, 0x83, 0x0d, 0x18f, 0x39, 0xba, 0x35, 0x1b7, 0x34, 0xb7, 0x3b, 0x1b9,
|
|
492
|
+
0xfb, 0x78, 0xf5, 0x177, 0xf4, 0x77, 0xf9, 0x17b, 0xc9, 0x4a, 0xc5, 0x147, 0xc4, 0x47, 0xcb, 0x149,
|
|
493
|
+
0xcf, 0x4c, 0xc1, 0x143, 0xc0, 0x43, 0xcd, 0x14f, 0xf1, 0x72, 0xfd, 0x17f, 0xfc, 0x7f, 0xf3, 0x171,
|
|
494
|
+
0xe3, 0x60, 0xed, 0x16f, 0xec, 0x6f, 0xe1, 0x163, 0xd9, 0x5a, 0xd5, 0x157, 0xd4, 0x57, 0xdb, 0x159,
|
|
495
|
+
0xdf, 0x5c, 0xd1, 0x153, 0xd0, 0x53, 0xdd, 0x15f, 0xe9, 0x6a, 0xe5, 0x167, 0xe4, 0x67, 0xeb, 0x169,
|
|
496
|
+
0x1b, 0x98, 0x15, 0x197, 0x14, 0x97, 0x19, 0x19b, 0x29, 0xaa, 0x25, 0x1a7, 0x24, 0xa7, 0x2b, 0x1a9,
|
|
497
|
+
0x2f, 0xac, 0x21, 0x1a3, 0x20, 0xa3, 0x2d, 0x1af, 0x11, 0x92, 0x1d, 0x19f, 0x1c, 0x9f, 0x13, 0x191])
|
|
498
|
+
|
|
499
|
+
# Bijective S-Boxes mapping 8 bits to 8
|
|
500
|
+
# =====================================
|
|
501
|
+
|
|
502
|
+
AES = SBox([
|
|
503
|
+
0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76,
|
|
504
|
+
0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,
|
|
505
|
+
0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,
|
|
506
|
+
0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,
|
|
507
|
+
0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,
|
|
508
|
+
0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,
|
|
509
|
+
0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8,
|
|
510
|
+
0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,
|
|
511
|
+
0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,
|
|
512
|
+
0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb,
|
|
513
|
+
0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,
|
|
514
|
+
0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08,
|
|
515
|
+
0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,
|
|
516
|
+
0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,
|
|
517
|
+
0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,
|
|
518
|
+
0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16])
|
|
519
|
+
|
|
520
|
+
FlexAEAD = AES
|
|
521
|
+
|
|
522
|
+
Anubis = SBox([
|
|
523
|
+
0xa7,0xd3,0xe6,0x71,0xd0,0xac,0x4d,0x79,0x3a,0xc9,0x91,0xfc,0x1e,0x47,0x54,0xbd,
|
|
524
|
+
0x8c,0xa5,0x7a,0xfb,0x63,0xb8,0xdd,0xd4,0xe5,0xb3,0xc5,0xbe,0xa9,0x88,0x0c,0xa2,
|
|
525
|
+
0x39,0xdf,0x29,0xda,0x2b,0xa8,0xcb,0x4c,0x4b,0x22,0xaa,0x24,0x41,0x70,0xa6,0xf9,
|
|
526
|
+
0x5a,0xe2,0xb0,0x36,0x7d,0xe4,0x33,0xff,0x60,0x20,0x08,0x8b,0x5e,0xab,0x7f,0x78,
|
|
527
|
+
0x7c,0x2c,0x57,0xd2,0xdc,0x6d,0x7e,0x0d,0x53,0x94,0xc3,0x28,0x27,0x06,0x5f,0xad,
|
|
528
|
+
0x67,0x5c,0x55,0x48,0x0e,0x52,0xea,0x42,0x5b,0x5d,0x30,0x58,0x51,0x59,0x3c,0x4e,
|
|
529
|
+
0x38,0x8a,0x72,0x14,0xe7,0xc6,0xde,0x50,0x8e,0x92,0xd1,0x77,0x93,0x45,0x9a,0xce,
|
|
530
|
+
0x2d,0x03,0x62,0xb6,0xb9,0xbf,0x96,0x6b,0x3f,0x07,0x12,0xae,0x40,0x34,0x46,0x3e,
|
|
531
|
+
0xdb,0xcf,0xec,0xcc,0xc1,0xa1,0xc0,0xd6,0x1d,0xf4,0x61,0x3b,0x10,0xd8,0x68,0xa0,
|
|
532
|
+
0xb1,0x0a,0x69,0x6c,0x49,0xfa,0x76,0xc4,0x9e,0x9b,0x6e,0x99,0xc2,0xb7,0x98,0xbc,
|
|
533
|
+
0x8f,0x85,0x1f,0xb4,0xf8,0x11,0x2e,0x00,0x25,0x1c,0x2a,0x3d,0x05,0x4f,0x7b,0xb2,
|
|
534
|
+
0x32,0x90,0xaf,0x19,0xa3,0xf7,0x73,0x9d,0x15,0x74,0xee,0xca,0x9f,0x0f,0x1b,0x75,
|
|
535
|
+
0x86,0x84,0x9c,0x4a,0x97,0x1a,0x65,0xf6,0xed,0x09,0xbb,0x26,0x83,0xeb,0x6f,0x81,
|
|
536
|
+
0x04,0x6a,0x43,0x01,0x17,0xe1,0x87,0xf5,0x8d,0xe3,0x23,0x80,0x44,0x16,0x66,0x21,
|
|
537
|
+
0xfe,0xd5,0x31,0xd9,0x35,0x18,0x02,0x64,0xf2,0xf1,0x56,0xcd,0x82,0xc8,0xba,0xf0,
|
|
538
|
+
0xef,0xe9,0xe8,0xfd,0x89,0xd7,0xc7,0xb5,0xa4,0x2f,0x95,0x13,0x0b,0xf3,0xe0,0x37])
|
|
539
|
+
|
|
540
|
+
ARIA_s2 = SBox([
|
|
541
|
+
0xe2,0x4e,0x54,0xfc,0x94,0xc2,0x4a,0xcc,0x62,0x0d,0x6a,0x46,0x3c,0x4d,0x8b,0xd1,
|
|
542
|
+
0x5e,0xfa,0x64,0xcb,0xb4,0x97,0xbe,0x2b,0xbc,0x77,0x2e,0x03,0xd3,0x19,0x59,0xc1,
|
|
543
|
+
0x1d,0x06,0x41,0x6b,0x55,0xf0,0x99,0x69,0xea,0x9c,0x18,0xae,0x63,0xdf,0xe7,0xbb,
|
|
544
|
+
0x00,0x73,0x66,0xfb,0x96,0x4c,0x85,0xe4,0x3a,0x09,0x45,0xaa,0x0f,0xee,0x10,0xeb,
|
|
545
|
+
0x2d,0x7f,0xf4,0x29,0xac,0xcf,0xad,0x91,0x8d,0x78,0xc8,0x95,0xf9,0x2f,0xce,0xcd,
|
|
546
|
+
0x08,0x7a,0x88,0x38,0x5c,0x83,0x2a,0x28,0x47,0xdb,0xb8,0xc7,0x93,0xa4,0x12,0x53,
|
|
547
|
+
0xff,0x87,0x0e,0x31,0x36,0x21,0x58,0x48,0x01,0x8e,0x37,0x74,0x32,0xca,0xe9,0xb1,
|
|
548
|
+
0xb7,0xab,0x0c,0xd7,0xc4,0x56,0x42,0x26,0x07,0x98,0x60,0xd9,0xb6,0xb9,0x11,0x40,
|
|
549
|
+
0xec,0x20,0x8c,0xbd,0xa0,0xc9,0x84,0x04,0x49,0x23,0xf1,0x4f,0x50,0x1f,0x13,0xdc,
|
|
550
|
+
0xd8,0xc0,0x9e,0x57,0xe3,0xc3,0x7b,0x65,0x3b,0x02,0x8f,0x3e,0xe8,0x25,0x92,0xe5,
|
|
551
|
+
0x15,0xdd,0xfd,0x17,0xa9,0xbf,0xd4,0x9a,0x7e,0xc5,0x39,0x67,0xfe,0x76,0x9d,0x43,
|
|
552
|
+
0xa7,0xe1,0xd0,0xf5,0x68,0xf2,0x1b,0x34,0x70,0x05,0xa3,0x8a,0xd5,0x79,0x86,0xa8,
|
|
553
|
+
0x30,0xc6,0x51,0x4b,0x1e,0xa6,0x27,0xf6,0x35,0xd2,0x6e,0x24,0x16,0x82,0x5f,0xda,
|
|
554
|
+
0xe6,0x75,0xa2,0xef,0x2c,0xb2,0x1c,0x9f,0x5d,0x6f,0x80,0x0a,0x72,0x44,0x9b,0x6c,
|
|
555
|
+
0x90,0x0b,0x5b,0x33,0x7d,0x5a,0x52,0xf3,0x61,0xa1,0xf7,0xb0,0xd6,0x3f,0x7c,0x6d,
|
|
556
|
+
0xed,0x14,0xe0,0xa5,0x3d,0x22,0xb3,0xf8,0x89,0xde,0x71,0x1a,0xaf,0xba,0xb5,0x81])
|
|
557
|
+
|
|
558
|
+
BelT = SBox([
|
|
559
|
+
0xb1,0x94,0xba,0xc8,0x0a,0x08,0xf5,0x3b,0x36,0x6d,0x00,0x8e,0x58,0x4a,0x5d,0xe4,
|
|
560
|
+
0x85,0x04,0xfa,0x9d,0x1b,0xb6,0xc7,0xac,0x25,0x2e,0x72,0xc2,0x02,0xfd,0xce,0x0d,
|
|
561
|
+
0x5b,0xe3,0xd6,0x12,0x17,0xb9,0x61,0x81,0xfe,0x67,0x86,0xad,0x71,0x6b,0x89,0x0b,
|
|
562
|
+
0x5c,0xb0,0xc0,0xff,0x33,0xc3,0x56,0xb8,0x35,0xc4,0x05,0xae,0xd8,0xe0,0x7f,0x99,
|
|
563
|
+
0xe1,0x2b,0xdc,0x1a,0xe2,0x82,0x57,0xec,0x70,0x3f,0xcc,0xf0,0x95,0xee,0x8d,0xf1,
|
|
564
|
+
0xc1,0xab,0x76,0x38,0x9f,0xe6,0x78,0xca,0xf7,0xc6,0xf8,0x60,0xd5,0xbb,0x9c,0x4f,
|
|
565
|
+
0xf3,0x3c,0x65,0x7b,0x63,0x7c,0x30,0x6a,0xdd,0x4e,0xa7,0x79,0x9e,0xb2,0x3d,0x31,
|
|
566
|
+
0x3e,0x98,0xb5,0x6e,0x27,0xd3,0xbc,0xcf,0x59,0x1e,0x18,0x1f,0x4c,0x5a,0xb7,0x93,
|
|
567
|
+
0xe9,0xde,0xe7,0x2c,0x8f,0x0c,0x0f,0xa6,0x2d,0xdb,0x49,0xf4,0x6f,0x73,0x96,0x47,
|
|
568
|
+
0x06,0x07,0x53,0x16,0xed,0x24,0x7a,0x37,0x39,0xcb,0xa3,0x83,0x03,0xa9,0x8b,0xf6,
|
|
569
|
+
0x92,0xbd,0x9b,0x1c,0xe5,0xd1,0x41,0x01,0x54,0x45,0xfb,0xc9,0x5e,0x4d,0x0e,0xf2,
|
|
570
|
+
0x68,0x20,0x80,0xaa,0x22,0x7d,0x64,0x2f,0x26,0x87,0xf9,0x34,0x90,0x40,0x55,0x11,
|
|
571
|
+
0xbe,0x32,0x97,0x13,0x43,0xfc,0x9a,0x48,0xa0,0x2a,0x88,0x5f,0x19,0x4b,0x09,0xa1,
|
|
572
|
+
0x7e,0xcd,0xa4,0xd0,0x15,0x44,0xaf,0x8c,0xa5,0x84,0x50,0xbf,0x66,0xd2,0xe8,0x8a,
|
|
573
|
+
0xa2,0xd7,0x46,0x52,0x42,0xa8,0xdf,0xb3,0x69,0x74,0xc5,0x51,0xeb,0x23,0x29,0x21,
|
|
574
|
+
0xd4,0xef,0xd9,0xb4,0x3a,0x62,0x28,0x75,0x91,0x14,0x10,0xea,0x77,0x6c,0xda,0x1d])
|
|
575
|
+
|
|
576
|
+
Camellia = SBox([
|
|
577
|
+
112,130, 44,236,179, 39,192,229,228,133, 87, 53,234, 12,174, 65,
|
|
578
|
+
35,239,107,147, 69, 25,165, 33,237, 14, 79, 78, 29,101,146,189,
|
|
579
|
+
134,184,175,143,124,235, 31,206, 62, 48,220, 95, 94,197, 11, 26,
|
|
580
|
+
166,225, 57,202,213, 71, 93, 61,217, 1, 90,214, 81, 86,108, 77,
|
|
581
|
+
139, 13,154,102,251,204,176, 45,116, 18, 43, 32,240,177,132,153,
|
|
582
|
+
223, 76,203,194, 52,126,118, 5,109,183,169, 49,209, 23, 4,215,
|
|
583
|
+
20, 88, 58, 97,222, 27, 17, 28, 50, 15,156, 22, 83, 24,242, 34,
|
|
584
|
+
254, 68,207,178,195,181,122,145, 36, 8,232,168, 96,252,105, 80,
|
|
585
|
+
170,208,160,125,161,137, 98,151, 84, 91, 30,149,224,255,100,210,
|
|
586
|
+
16,196, 0, 72,163,247,117,219,138, 3,230,218, 9, 63,221,148,
|
|
587
|
+
135, 92,131, 2,205, 74,144, 51,115,103,246,243,157,127,191,226,
|
|
588
|
+
82,155,216, 38,200, 55,198, 59,129,150,111, 75, 19,190, 99, 46,
|
|
589
|
+
233,121,167,140,159,110,188,142, 41,245,249,182, 47,253,180, 89,
|
|
590
|
+
120,152, 6,106,231, 70,113,186,212, 37,171, 66,136,162,141,250,
|
|
591
|
+
114, 7,185, 85,248,238,172, 10, 54, 73, 42,104, 60, 56,241,164,
|
|
592
|
+
64, 40,211,123,187,201, 67,193, 21,227,173,244,119,199,128,158])
|
|
593
|
+
|
|
594
|
+
# source: https://www.schneier.com/academic/paperfiles/paper-cmea.pdf
|
|
595
|
+
CMEA = SBox([
|
|
596
|
+
0xd9,0x23,0x5f,0xe6,0xca,0x68,0x97,0xb0,0x7b,0xf2,0x0c,0x34,0x11,0xa5,0x8d,0x4e,
|
|
597
|
+
0x0a,0x46,0x77,0x8d,0x10,0x9f,0x5e,0x62,0xf1,0x34,0xec,0xa5,0xc9,0xb3,0xd8,0x2b,
|
|
598
|
+
0x59,0x47,0xe3,0xd2,0xff,0xae,0x64,0xca,0x15,0x8b,0x7d,0x38,0x21,0xbc,0x96,0x00,
|
|
599
|
+
0x49,0x56,0x23,0x15,0x97,0xe4,0xcb,0x6f,0xf2,0x70,0x3c,0x88,0xba,0xd1,0x0d,0xae,
|
|
600
|
+
0xe2,0x38,0xba,0x44,0x9f,0x83,0x5d,0x1c,0xde,0xab,0xc7,0x65,0xf1,0x76,0x09,0x20,
|
|
601
|
+
0x86,0xbd,0x0a,0xf1,0x3c,0xa7,0x29,0x93,0xcb,0x45,0x5f,0xe8,0x10,0x74,0x62,0xde,
|
|
602
|
+
0xb8,0x77,0x80,0xd1,0x12,0x26,0xac,0x6d,0xe9,0xcf,0xf3,0x54,0x3a,0x0b,0x95,0x4e,
|
|
603
|
+
0xb1,0x30,0xa4,0x96,0xf8,0x57,0x49,0x8e,0x05,0x1f,0x62,0x7c,0xc3,0x2b,0xda,0xed,
|
|
604
|
+
0xbb,0x86,0x0d,0x7a,0x97,0x13,0x6c,0x4e,0x51,0x30,0xe5,0xf2,0x2f,0xd8,0xc4,0xa9,
|
|
605
|
+
0x91,0x76,0xf0,0x17,0x43,0x38,0x29,0x84,0xa2,0xdb,0xef,0x65,0x5e,0xca,0x0d,0xbc,
|
|
606
|
+
0xe7,0xfa,0xd8,0x81,0x6f,0x00,0x14,0x42,0x25,0x7c,0x5d,0xc9,0x9e,0xb6,0x33,0xab,
|
|
607
|
+
0x5a,0x6f,0x9b,0xd9,0xfe,0x71,0x44,0xc5,0x37,0xa2,0x88,0x2d,0x00,0xb6,0x13,0xec,
|
|
608
|
+
0x4e,0x96,0xa8,0x5a,0xb5,0xd7,0xc3,0x8d,0x3f,0xf2,0xec,0x04,0x60,0x71,0x1b,0x29,
|
|
609
|
+
0x04,0x79,0xe3,0xc7,0x1b,0x66,0x81,0x4a,0x25,0x9d,0xdc,0x5f,0x3e,0xb0,0xf8,0xa2,
|
|
610
|
+
0x91,0x34,0xf6,0x5c,0x67,0x89,0x73,0x05,0x22,0xaa,0xcb,0xee,0xbf,0x18,0xd0,0x4d,
|
|
611
|
+
0xf5,0x36,0xae,0x01,0x2f,0x94,0xc3,0x49,0x8b,0xbd,0x58,0x12,0xe0,0x77,0x6c,0xda])
|
|
612
|
+
|
|
613
|
+
Chiasmus = SBox([
|
|
614
|
+
0x65,0x33,0xcf,0xb9,0x37,0x64,0xcd,0xf3,0x26,0x3a,0xc1,0xa2,0x72,0x8a,0x8f,0xe3,
|
|
615
|
+
0xfd,0x56,0xb3,0x0f,0x10,0x2b,0x3e,0xa0,0xbd,0x1e,0xab,0x1d,0x9c,0xe2,0x87,0x98,
|
|
616
|
+
0xa8,0xd3,0xb4,0xdf,0x92,0x75,0x3b,0x39,0x20,0xa5,0xfa,0x1b,0xbe,0x90,0xf6,0x09,
|
|
617
|
+
0xe5,0x61,0xc4,0xc9,0x06,0xc2,0xa6,0x1c,0xf9,0x94,0x7b,0x53,0x73,0x01,0x25,0x9a,
|
|
618
|
+
0x1a,0xff,0xe9,0x5a,0x76,0x13,0x4b,0x95,0xac,0x0b,0xc7,0xb2,0xb8,0xd6,0x17,0xa9,
|
|
619
|
+
0x27,0xeb,0xd1,0x5C,0xc3,0x9b,0x22,0x15,0x8e,0x40,0x11,0x5e,0x57,0x16,0xd0,0xb0,
|
|
620
|
+
0x5d,0x79,0x31,0xbb,0xea,0x4f,0xd9,0xde,0x00,0x0a,0xd7,0xad,0x3f,0x99,0x68,0x34,
|
|
621
|
+
0x66,0xf0,0x44,0x35,0x89,0x54,0x81,0xb1,0x84,0x2a,0x8b,0x6f,0xc0,0x43,0xfe,0x96,
|
|
622
|
+
0x48,0x82,0x0c,0xda,0x74,0xbc,0x21,0xf1,0x67,0x2e,0xdb,0x49,0xe4,0xd5,0x71,0x59,
|
|
623
|
+
0x29,0xe0,0xa1,0x30,0xdd,0x91,0x6b,0xb7,0xb6,0x69,0xc5,0x80,0xaa,0x6d,0xa3,0x2c,
|
|
624
|
+
0x05,0x78,0xba,0x51,0x14,0x07,0xd4,0xec,0x7e,0xcc,0x24,0x62,0x9e,0xdc,0x8c,0xd8,
|
|
625
|
+
0x1f,0x46,0xe8,0x9f,0x4e,0xa4,0x85,0x32,0xce,0xa7,0xfc,0xe1,0x97,0xae,0x2d,0x52,
|
|
626
|
+
0x7d,0x0e,0x6c,0x83,0x5f,0xbf,0x18,0x7c,0x36,0x63,0x0d,0xef,0xc8,0x5b,0x55,0x12,
|
|
627
|
+
0x4a,0xf2,0x70,0x38,0xf8,0xaf,0x86,0x77,0x47,0x04,0x23,0x02,0x6e,0x4c,0x58,0x03,
|
|
628
|
+
0x50,0x7a,0x3d,0x28,0xf5,0xe7,0x41,0xf4,0x45,0x60,0x6a,0x08,0x88,0x7f,0x9d,0x93,
|
|
629
|
+
0x4d,0xd2,0x2f,0xee,0xe6,0xcb,0xed,0xfb,0xca,0xf7,0x19,0xb5,0x42,0x8d,0xc6,0x3c])
|
|
630
|
+
|
|
631
|
+
CLEFIA_S0 = SBox([
|
|
632
|
+
0x57,0x49,0xd1,0xc6,0x2f,0x33,0x74,0xfb,0x95,0x6d,0x82,0xea,0x0e,0xb0,0xa8,0x1c,
|
|
633
|
+
0x28,0xd0,0x4b,0x92,0x5c,0xee,0x85,0xb1,0xc4,0x0a,0x76,0x3d,0x63,0xf9,0x17,0xaf,
|
|
634
|
+
0xbf,0xa1,0x19,0x65,0xf7,0x7a,0x32,0x20,0x06,0xce,0xe4,0x83,0x9d,0x5b,0x4c,0xd8,
|
|
635
|
+
0x42,0x5d,0x2e,0xe8,0xd4,0x9b,0x0f,0x13,0x3c,0x89,0x67,0xc0,0x71,0xaa,0xb6,0xf5,
|
|
636
|
+
0xa4,0xbe,0xfd,0x8c,0x12,0x00,0x97,0xda,0x78,0xe1,0xcf,0x6b,0x39,0x43,0x55,0x26,
|
|
637
|
+
0x30,0x98,0xcc,0xdd,0xeb,0x54,0xb3,0x8f,0x4e,0x16,0xfa,0x22,0xa5,0x77,0x09,0x61,
|
|
638
|
+
0xd6,0x2a,0x53,0x37,0x45,0xc1,0x6c,0xae,0xef,0x70,0x08,0x99,0x8b,0x1d,0xf2,0xb4,
|
|
639
|
+
0xe9,0xc7,0x9f,0x4a,0x31,0x25,0xfe,0x7c,0xd3,0xa2,0xbd,0x56,0x14,0x88,0x60,0x0b,
|
|
640
|
+
0xcd,0xe2,0x34,0x50,0x9e,0xdc,0x11,0x05,0x2b,0xb7,0xa9,0x48,0xff,0x66,0x8a,0x73,
|
|
641
|
+
0x03,0x75,0x86,0xf1,0x6a,0xa7,0x40,0xc2,0xb9,0x2c,0xdb,0x1f,0x58,0x94,0x3e,0xed,
|
|
642
|
+
0xfc,0x1b,0xa0,0x04,0xb8,0x8d,0xe6,0x59,0x62,0x93,0x35,0x7e,0xca,0x21,0xdf,0x47,
|
|
643
|
+
0x15,0xf3,0xba,0x7f,0xa6,0x69,0xc8,0x4d,0x87,0x3b,0x9c,0x01,0xe0,0xde,0x24,0x52,
|
|
644
|
+
0x7b,0x0c,0x68,0x1e,0x80,0xb2,0x5a,0xe7,0xad,0xd5,0x23,0xf4,0x46,0x3f,0x91,0xc9,
|
|
645
|
+
0x6e,0x84,0x72,0xbb,0x0d,0x18,0xd9,0x96,0xf0,0x5f,0x41,0xac,0x27,0xc5,0xe3,0x3a,
|
|
646
|
+
0x81,0x6f,0x07,0xa3,0x79,0xf6,0x2d,0x38,0x1a,0x44,0x5e,0xb5,0xd2,0xec,0xcb,0x90,
|
|
647
|
+
0x9a,0x36,0xe5,0x29,0xc3,0x4f,0xab,0x64,0x51,0xf8,0x10,0xd7,0xbc,0x02,0x7d,0x8e])
|
|
648
|
+
|
|
649
|
+
CLEFIA_S1 = SBox([
|
|
650
|
+
0x6c,0xda,0xc3,0xe9,0x4e,0x9d,0x0a,0x3d,0xb8,0x36,0xb4,0x38,0x13,0x34,0x0c,0xd9,
|
|
651
|
+
0xbf,0x74,0x94,0x8f,0xb7,0x9c,0xe5,0xdc,0x9e,0x07,0x49,0x4f,0x98,0x2c,0xb0,0x93,
|
|
652
|
+
0x12,0xeb,0xcd,0xb3,0x92,0xe7,0x41,0x60,0xe3,0x21,0x27,0x3b,0xe6,0x19,0xd2,0x0e,
|
|
653
|
+
0x91,0x11,0xc7,0x3f,0x2a,0x8e,0xa1,0xbc,0x2b,0xc8,0xc5,0x0f,0x5b,0xf3,0x87,0x8b,
|
|
654
|
+
0xfb,0xf5,0xde,0x20,0xc6,0xa7,0x84,0xce,0xd8,0x65,0x51,0xc9,0xa4,0xef,0x43,0x53,
|
|
655
|
+
0x25,0x5d,0x9b,0x31,0xe8,0x3e,0x0d,0xd7,0x80,0xff,0x69,0x8a,0xba,0x0b,0x73,0x5c,
|
|
656
|
+
0x6e,0x54,0x15,0x62,0xf6,0x35,0x30,0x52,0xa3,0x16,0xd3,0x28,0x32,0xfa,0xaa,0x5e,
|
|
657
|
+
0xcf,0xea,0xed,0x78,0x33,0x58,0x09,0x7b,0x63,0xc0,0xc1,0x46,0x1e,0xdf,0xa9,0x99,
|
|
658
|
+
0x55,0x04,0xc4,0x86,0x39,0x77,0x82,0xec,0x40,0x18,0x90,0x97,0x59,0xdd,0x83,0x1f,
|
|
659
|
+
0x9a,0x37,0x06,0x24,0x64,0x7c,0xa5,0x56,0x48,0x08,0x85,0xd0,0x61,0x26,0xca,0x6f,
|
|
660
|
+
0x7e,0x6a,0xb6,0x71,0xa0,0x70,0x05,0xd1,0x45,0x8c,0x23,0x1c,0xf0,0xee,0x89,0xad,
|
|
661
|
+
0x7a,0x4b,0xc2,0x2f,0xdb,0x5a,0x4d,0x76,0x67,0x17,0x2d,0xf4,0xcb,0xb1,0x4a,0xa8,
|
|
662
|
+
0xb5,0x22,0x47,0x3a,0xd5,0x10,0x4c,0x72,0xcc,0x00,0xf9,0xe0,0xfd,0xe2,0xfe,0xae,
|
|
663
|
+
0xf8,0x5f,0xab,0xf1,0x1b,0x42,0x81,0xd6,0xbe,0x44,0x29,0xa6,0x57,0xb9,0xaf,0xf2,
|
|
664
|
+
0xd4,0x75,0x66,0xbb,0x68,0x9f,0x50,0x02,0x01,0x3c,0x7f,0x8d,0x1a,0x88,0xbd,0xac,
|
|
665
|
+
0xf7,0xe4,0x79,0x96,0xa2,0xfc,0x6d,0xb2,0x6b,0x03,0xe1,0x2e,0x7d,0x14,0x95,0x1d])
|
|
666
|
+
|
|
667
|
+
Crypton_0_5 = SBox([
|
|
668
|
+
0xf0,0x12,0x4c,0x7a,0x47,0x16,0x03,0x3a,0xe6,0x9d,0x44,0x77,0x53,0xca,0x3b,0x0f,
|
|
669
|
+
0x9b,0x98,0x54,0x90,0x3d,0xac,0x74,0x56,0x9e,0xde,0x5c,0xf3,0x86,0x39,0x7c,0xc4,
|
|
670
|
+
0x91,0xa9,0x97,0x5f,0x9c,0x0d,0x78,0xcc,0xfd,0x43,0xbf,0x02,0x4b,0x92,0x60,0x3e,
|
|
671
|
+
0x7d,0x1d,0x50,0xcb,0xb8,0xb9,0x70,0x27,0xaa,0x96,0x48,0x88,0x38,0xd7,0x68,0x42,
|
|
672
|
+
0xa8,0xd0,0xa6,0x2e,0x25,0xf4,0x2c,0x6e,0x0c,0xb7,0xce,0xe0,0xbe,0x0b,0x24,0x67,
|
|
673
|
+
0x8c,0xec,0xc5,0x52,0xd9,0xd8,0x09,0xb4,0xcf,0x8f,0x8d,0x8b,0x59,0x23,0x51,0xe3,
|
|
674
|
+
0xd3,0xb1,0x18,0xf8,0xd4,0x05,0xa2,0xdb,0x82,0x6c,0x00,0x46,0x8a,0xaf,0xda,0xbc,
|
|
675
|
+
0x99,0x1a,0xad,0xb3,0x1f,0x0e,0x71,0x4f,0xc7,0x2b,0xe5,0x2a,0xe2,0x58,0x29,0x06,
|
|
676
|
+
0xf6,0xfe,0xf9,0x19,0x6b,0xea,0xbb,0xc2,0xa3,0x55,0xa1,0xdf,0x6f,0x45,0x83,0x69,
|
|
677
|
+
0x8e,0x7b,0x72,0x3c,0xee,0xff,0x07,0xa5,0xe8,0xf1,0x0a,0x1c,0x75,0xe1,0x2f,0x21,
|
|
678
|
+
0xd2,0xb6,0x3f,0xf7,0x73,0xb2,0x5d,0x79,0x35,0x80,0x17,0x41,0x94,0x7e,0x15,0xed,
|
|
679
|
+
0xb5,0xd5,0x93,0x14,0x20,0x61,0x76,0x31,0xc9,0x6a,0xab,0x34,0xa0,0xa4,0x1e,0xba,
|
|
680
|
+
0xe7,0x13,0x4e,0xc6,0xd6,0x87,0x7f,0xbd,0x84,0x62,0x26,0x95,0x6d,0x4d,0x57,0x28,
|
|
681
|
+
0x04,0x64,0x4a,0x11,0x01,0x40,0x65,0x08,0xb0,0xe9,0x32,0xcd,0x81,0x66,0x2d,0x5b,
|
|
682
|
+
0xef,0xa7,0xfb,0xdd,0xf2,0x33,0x5a,0x63,0xc1,0xe4,0xc3,0xae,0xdc,0xfc,0x22,0x10,
|
|
683
|
+
0xfa,0x9f,0xd1,0x85,0x9a,0x1b,0x5e,0x30,0xeb,0xc8,0x89,0x49,0x37,0xc0,0x36,0xf5])
|
|
684
|
+
|
|
685
|
+
Crypton_1_0_S0 = SBox([
|
|
686
|
+
0x63,0xec,0x59,0xaa,0xdb,0x8e,0x66,0xc0,0x37,0x3c,0x14,0xff,0x13,0x44,0xa9,0x91,
|
|
687
|
+
0x3b,0x78,0x8d,0xef,0xc2,0x2a,0xf0,0xd7,0x61,0x9e,0xa5,0xbc,0x48,0x15,0x12,0x47,
|
|
688
|
+
0xed,0x42,0x1a,0x33,0x38,0xc8,0x17,0x90,0xa6,0xd5,0x5d,0x65,0x6a,0xfe,0x8f,0xa1,
|
|
689
|
+
0x93,0xca,0x2f,0x0c,0x68,0x58,0xdf,0xf4,0x45,0x11,0xa0,0xa7,0x22,0x96,0xfb,0x7d,
|
|
690
|
+
0x1d,0xb4,0x84,0xe0,0xbf,0x57,0xe9,0x0a,0x4e,0x83,0xcc,0x7a,0x71,0x39,0xc7,0x32,
|
|
691
|
+
0x74,0x3d,0xde,0x50,0x85,0x06,0x6f,0x53,0xe8,0xad,0x82,0x19,0xe1,0xba,0x36,0xcb,
|
|
692
|
+
0x0e,0x28,0xf3,0x9b,0x4a,0x62,0x94,0x1f,0xbd,0xf6,0x67,0x41,0xd8,0xd1,0x2d,0xa4,
|
|
693
|
+
0x86,0xb7,0x01,0xc5,0xb0,0x75,0x02,0xf9,0x2c,0x29,0x6e,0xd2,0x5f,0x8b,0xfc,0x5a,
|
|
694
|
+
0xe4,0x7f,0xdd,0x07,0x55,0xb1,0x2b,0x89,0x72,0x18,0x3a,0x4c,0xb6,0xe3,0x80,0xce,
|
|
695
|
+
0x49,0xcf,0x6b,0xb9,0xf2,0x0d,0xdc,0x64,0x95,0x46,0xf7,0x10,0x9a,0x20,0xa2,0x3f,
|
|
696
|
+
0xd6,0x87,0x70,0x3e,0x21,0xfd,0x4d,0x7b,0xc3,0xae,0x09,0x8a,0x04,0xb3,0x54,0xf8,
|
|
697
|
+
0x30,0x00,0x56,0xd4,0xe7,0x25,0xbb,0xac,0x98,0x73,0xea,0xc9,0x9d,0x4f,0x7e,0x03,
|
|
698
|
+
0xab,0x92,0xa8,0x43,0x0f,0xfa,0x24,0x5c,0x1e,0x60,0x31,0x97,0xcd,0xc6,0x79,0xf5,
|
|
699
|
+
0x5e,0xe5,0x34,0x76,0x1c,0x81,0xb2,0xaf,0x0b,0x5b,0xd9,0xe2,0x27,0x6d,0xd0,0x88,
|
|
700
|
+
0xc1,0x51,0xe6,0x9c,0x77,0xbe,0x99,0x23,0xda,0xeb,0x52,0x2e,0xb5,0x08,0x05,0x6c,
|
|
701
|
+
0xb8,0x1b,0xa3,0x69,0x8c,0xd3,0x40,0x26,0xf1,0xc4,0x9f,0x35,0xee,0x7c,0x4b,0x16])
|
|
702
|
+
|
|
703
|
+
Crypton_1_0_S1 = SBox([
|
|
704
|
+
0x8d,0xb3,0x65,0xaa,0x6f,0x3a,0x99,0x03,0xdc,0xf0,0x50,0xff,0x4c,0x11,0xa6,0x46,
|
|
705
|
+
0xec,0xe1,0x36,0xbf,0x0b,0xa8,0xc3,0x5f,0x85,0x7a,0x96,0xf2,0x21,0x54,0x48,0x1d,
|
|
706
|
+
0xb7,0x09,0x68,0xcc,0xe0,0x23,0x5c,0x42,0x9a,0x57,0x75,0x95,0xa9,0xfb,0x3e,0x86,
|
|
707
|
+
0x4e,0x2b,0xbc,0x30,0xa1,0x61,0x7f,0xd3,0x15,0x44,0x82,0x9e,0x88,0x5a,0xef,0xf5,
|
|
708
|
+
0x74,0xd2,0x12,0x83,0xfe,0x5d,0xa7,0x28,0x39,0x0e,0x33,0xe9,0xc5,0xe4,0x1f,0xc8,
|
|
709
|
+
0xd1,0xf4,0x7b,0x41,0x16,0x18,0xbd,0x4d,0xa3,0xb6,0x0a,0x64,0x87,0xea,0xd8,0x2f,
|
|
710
|
+
0x38,0xa0,0xcf,0x6e,0x29,0x89,0x52,0x7c,0xf6,0xdb,0x9d,0x05,0x63,0x47,0xb4,0x92,
|
|
711
|
+
0x1a,0xde,0x04,0x17,0xc2,0xd5,0x08,0xe7,0xb0,0xa4,0xb9,0x4b,0x7d,0x2e,0xf3,0x69,
|
|
712
|
+
0x93,0xfd,0x77,0x1c,0x55,0xc6,0xac,0x26,0xc9,0x60,0xe8,0x31,0xda,0x8f,0x02,0x3b,
|
|
713
|
+
0x25,0x3f,0xad,0xe6,0xcb,0x34,0x73,0x91,0x56,0x19,0xdf,0x40,0x6a,0x80,0x8a,0xfc,
|
|
714
|
+
0x5b,0x1e,0xc1,0xf8,0x84,0xf7,0x35,0xed,0x0f,0xba,0x24,0x2a,0x10,0xce,0x51,0xe3,
|
|
715
|
+
0xc0,0x00,0x59,0x53,0x9f,0x94,0xee,0xb2,0x62,0xcd,0xab,0x27,0x76,0x3d,0xf9,0x0c,
|
|
716
|
+
0xae,0x4a,0xa2,0x0d,0x3c,0xeb,0x90,0x71,0x78,0x81,0xc4,0x5e,0x37,0x1b,0xe5,0xd7,
|
|
717
|
+
0x79,0x97,0xd0,0xd9,0x70,0x06,0xca,0xbe,0x2c,0x6d,0x67,0x8b,0x9c,0xb5,0x43,0x22,
|
|
718
|
+
0x07,0x45,0x9b,0x72,0xdd,0xfa,0x66,0x8c,0x6b,0xaf,0x49,0xb8,0xd6,0x20,0x14,0xb1,
|
|
719
|
+
0xe2,0x6c,0x8e,0xa5,0x32,0x4f,0x01,0x98,0xc7,0x13,0x7e,0xd4,0xbb,0xf1,0x2d,0x58])
|
|
720
|
+
|
|
721
|
+
Crypton_1_0_S2 = SBox([
|
|
722
|
+
0xb1,0x72,0x76,0xbf,0xac,0xee,0x55,0x83,0xed,0xaa,0x47,0xd8,0x33,0x95,0x60,0xc4,
|
|
723
|
+
0x9b,0x39,0x1e,0x0c,0x0a,0x1d,0xff,0x26,0x89,0x5b,0x22,0xf1,0xd4,0x40,0xc8,0x67,
|
|
724
|
+
0x9d,0xa4,0x3c,0xe7,0xc6,0xb5,0xf7,0xdc,0x61,0x79,0x15,0x86,0x78,0x6e,0xeb,0x32,
|
|
725
|
+
0xb0,0xca,0x4f,0x23,0xd2,0xfb,0x5e,0x08,0x24,0x4d,0x8a,0x10,0x09,0x51,0xa3,0x9f,
|
|
726
|
+
0xf6,0x6b,0x21,0xc3,0x0d,0x38,0x99,0x1f,0x1c,0x90,0x64,0xfe,0x8b,0xa6,0x48,0xbd,
|
|
727
|
+
0x53,0xe1,0xea,0x57,0xae,0x84,0xb2,0x45,0x35,0x02,0x7f,0xd9,0xc7,0x2a,0xd0,0x7c,
|
|
728
|
+
0xc9,0x18,0x65,0x00,0x97,0x2b,0x06,0x6a,0x34,0xf3,0x2c,0x92,0xef,0xdd,0x7a,0x56,
|
|
729
|
+
0xa2,0x4c,0x88,0xb9,0x50,0x75,0xd3,0xe4,0x11,0xce,0x4b,0xa7,0xfd,0x3f,0xbe,0x81,
|
|
730
|
+
0x8e,0xd5,0x5a,0x49,0x42,0x54,0x70,0xa1,0xdf,0x87,0xab,0x7d,0xf4,0x12,0x05,0x2e,
|
|
731
|
+
0x27,0x0f,0xc1,0x30,0x66,0x98,0x3d,0xcb,0xb8,0xe6,0x9c,0x63,0xe3,0xbc,0x19,0xfa,
|
|
732
|
+
0x3a,0x2f,0x9e,0xf2,0x6f,0x1a,0x28,0x3b,0xc2,0x0e,0x03,0xc0,0xb7,0x59,0xa9,0xd7,
|
|
733
|
+
0x74,0x85,0xd6,0xad,0x41,0xec,0x8c,0x71,0xf0,0x93,0x5d,0xb6,0x1b,0x68,0xe5,0x44,
|
|
734
|
+
0x07,0xe0,0x14,0xa8,0xf9,0x73,0xcd,0x4e,0x25,0xbb,0x31,0x5f,0x4a,0xcc,0x8f,0x91,
|
|
735
|
+
0xde,0x6d,0x7b,0xf5,0xb3,0x29,0xa0,0x17,0x6c,0xda,0xe8,0x04,0x96,0x82,0x52,0x36,
|
|
736
|
+
0x43,0x5c,0xdb,0x8d,0x80,0xd1,0xe2,0xb4,0x58,0x46,0xba,0xe9,0x01,0x20,0xfc,0x13,
|
|
737
|
+
0x16,0xf8,0x94,0x62,0x37,0xcf,0x69,0x9a,0xaf,0x77,0xc5,0x3e,0x7e,0xa5,0x2d,0x0b])
|
|
738
|
+
|
|
739
|
+
Crypton_1_0_S3 = SBox([
|
|
740
|
+
0xb1,0xf6,0x8e,0x07,0x72,0x6b,0xd5,0xe0,0x76,0x21,0x5a,0x14,0xbf,0xc3,0x49,0xa8,
|
|
741
|
+
0xac,0x0d,0x42,0xf9,0xee,0x38,0x54,0x73,0x55,0x99,0x70,0xcd,0x83,0x1f,0xa1,0x4e,
|
|
742
|
+
0xed,0x1c,0xdf,0x25,0xaa,0x90,0x87,0xbb,0x47,0x64,0xab,0x31,0xd8,0xfe,0x7d,0x5f,
|
|
743
|
+
0x33,0x8b,0xf4,0x4a,0x95,0xa6,0x12,0xcc,0x60,0x48,0x05,0x8f,0xc4,0xbd,0x2e,0x91,
|
|
744
|
+
0x9b,0x53,0x27,0xde,0x39,0xe1,0x0f,0x6d,0x1e,0xea,0xc1,0x7b,0x0c,0x57,0x30,0xf5,
|
|
745
|
+
0x0a,0xae,0x66,0xb3,0x1d,0x84,0x98,0x29,0xff,0xb2,0x3d,0xa0,0x26,0x45,0xcb,0x17,
|
|
746
|
+
0x89,0x35,0xb8,0x6c,0x5b,0x02,0xe6,0xda,0x22,0x7f,0x9c,0xe8,0xf1,0xd9,0x63,0x04,
|
|
747
|
+
0xd4,0xc7,0xe3,0x96,0x40,0x2a,0xbc,0x82,0xc8,0xd0,0x19,0x52,0x67,0x7c,0xfa,0x36,
|
|
748
|
+
0x9d,0xc9,0x3a,0x43,0xa4,0x18,0x2f,0x5c,0x3c,0x65,0x9e,0xdb,0xe7,0x00,0xf2,0x8d,
|
|
749
|
+
0xc6,0x97,0x6f,0x80,0xb5,0x2b,0x1a,0xd1,0xf7,0x06,0x28,0xe2,0xdc,0x6a,0x3b,0xb4,
|
|
750
|
+
0x61,0x34,0xc2,0x58,0x79,0xf3,0x0e,0x46,0x15,0x2c,0x03,0xba,0x86,0x92,0xc0,0xe9,
|
|
751
|
+
0x78,0xef,0xb7,0x01,0x6e,0xdd,0x59,0x20,0xeb,0x7a,0xa9,0xfc,0x32,0x56,0xd7,0x13,
|
|
752
|
+
0xb0,0xa2,0x74,0x16,0xca,0x4c,0x85,0xf8,0x4f,0x88,0xd6,0x94,0x23,0xb9,0xad,0x62,
|
|
753
|
+
0xd2,0x50,0x41,0x37,0xfb,0x75,0xec,0xcf,0x5e,0xd3,0x8c,0x69,0x08,0xe4,0x71,0x9a,
|
|
754
|
+
0x24,0x11,0xf0,0xaf,0x4d,0xce,0x93,0x77,0x8a,0x4b,0x5d,0xc5,0x10,0xa7,0xb6,0x3e,
|
|
755
|
+
0x09,0xfd,0x1b,0x7e,0x51,0x3f,0x68,0xa5,0xa3,0xbe,0xe5,0x2d,0x9f,0x81,0x44,0x0b])
|
|
756
|
+
|
|
757
|
+
CS_cipher = SBox([
|
|
758
|
+
0x29,0xd,0x61,0x40,0x9c,0xeb,0x9e,0x8f,0x1f,0x85,0x5f,0x58,0x5b,0x1,0x39,0x86,
|
|
759
|
+
0x97,0x2e,0xd7,0xd6,0x35,0xae,0x17,0x16,0x21,0xb6,0x69,0x4e,0xa5,0x72,0x87,0x8,
|
|
760
|
+
0x3c,0x18,0xe6,0xe7,0xfa,0xad,0xb8,0x89,0xb7,0x0,0xf7,0x6f,0x73,0x84,0x11,0x63,
|
|
761
|
+
0x3f,0x96,0x7f,0x6e,0xbf,0x14,0x9d,0xac,0xa4,0xe,0x7e,0xf6,0x20,0x4a,0x62,0x30,
|
|
762
|
+
0x3,0xc5,0x4b,0x5a,0x46,0xa3,0x44,0x65,0x7d,0x4d,0x3d,0x42,0x79,0x49,0x1b,0x5c,
|
|
763
|
+
0xf5,0x6c,0xb5,0x94,0x54,0xff,0x56,0x57,0xb,0xf4,0x43,0xc,0x4f,0x70,0x6d,0xa,
|
|
764
|
+
0xe4,0x2,0x3e,0x2f,0xa2,0x47,0xe0,0xc1,0xd5,0x1a,0x95,0xa7,0x51,0x5e,0x33,0x2b,
|
|
765
|
+
0x5d,0xd4,0x1d,0x2c,0xee,0x75,0xec,0xdd,0x7c,0x4c,0xa6,0xb4,0x78,0x48,0x3a,0x32,
|
|
766
|
+
0x98,0xaf,0xc0,0xe1,0x2d,0x9,0xf,0x1e,0xb9,0x27,0x8a,0xe9,0xbd,0xe3,0x9f,0x7,
|
|
767
|
+
0xb1,0xea,0x92,0x93,0x53,0x6a,0x31,0x10,0x80,0xf2,0xd8,0x9b,0x4,0x36,0x6,0x8e,
|
|
768
|
+
0xbe,0xa9,0x64,0x45,0x38,0x1c,0x7a,0x6b,0xf3,0xa1,0xf0,0xcd,0x37,0x25,0x15,0x81,
|
|
769
|
+
0xfb,0x90,0xe8,0xd9,0x7b,0x52,0x19,0x28,0x26,0x88,0xfc,0xd1,0xe2,0x8c,0xa0,0x34,
|
|
770
|
+
0x82,0x67,0xda,0xcb,0xc7,0x41,0xe5,0xc4,0xc8,0xef,0xdb,0xc3,0xcc,0xab,0xce,0xed,
|
|
771
|
+
0xd0,0xbb,0xd3,0xd2,0x71,0x68,0x13,0x12,0x9a,0xb3,0xc2,0xca,0xde,0x77,0xdc,0xdf,
|
|
772
|
+
0x66,0x83,0xbc,0x8d,0x60,0xc6,0x22,0x23,0xb2,0x8b,0x91,0x5,0x76,0xcf,0x74,0xc9,
|
|
773
|
+
0xaa,0xf1,0x99,0xa8,0x59,0x50,0x3b,0x2a,0xfe,0xf9,0x24,0xb0,0xba,0xfd,0xf8,0x55])
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
CSA = SBox([
|
|
777
|
+
0x3a,0xea,0x68,0xfe,0x33,0xe9,0x88,0x1a,0x83,0xcf,0xe1,0x7f,0xba,0xe2,0x38,0x12,
|
|
778
|
+
0xe8,0x27,0x61,0x95,0x0c,0x36,0xe5,0x70,0xa2,0x06,0x82,0x7c,0x17,0xa3,0x26,0x49,
|
|
779
|
+
0xbe,0x7a,0x6d,0x47,0xc1,0x51,0x8f,0xf3,0xcc,0x5b,0x67,0xbd,0xcd,0x18,0x08,0xc9,
|
|
780
|
+
0xff,0x69,0xef,0x03,0x4e,0x48,0x4a,0x84,0x3f,0xb4,0x10,0x04,0xdc,0xf5,0x5c,0xc6,
|
|
781
|
+
0x16,0xab,0xac,0x4c,0xf1,0x6a,0x2f,0x3c,0x3b,0xd4,0xd5,0x94,0xd0,0xc4,0x63,0x62,
|
|
782
|
+
0x71,0xa1,0xf9,0x4f,0x2e,0xaa,0xc5,0x56,0xe3,0x39,0x93,0xce,0x65,0x64,0xe4,0x58,
|
|
783
|
+
0x6c,0x19,0x42,0x79,0xdd,0xee,0x96,0xf6,0x8a,0xec,0x1e,0x85,0x53,0x45,0xde,0xbb,
|
|
784
|
+
0x7e,0x0a,0x9a,0x13,0x2a,0x9d,0xc2,0x5e,0x5a,0x1f,0x32,0x35,0x9c,0xa8,0x73,0x30,
|
|
785
|
+
0x29,0x3d,0xe7,0x92,0x87,0x1b,0x2b,0x4b,0xa5,0x57,0x97,0x40,0x15,0xe6,0xbc,0x0e,
|
|
786
|
+
0xeb,0xc3,0x34,0x2d,0xb8,0x44,0x25,0xa4,0x1c,0xc7,0x23,0xed,0x90,0x6e,0x50,0x00,
|
|
787
|
+
0x99,0x9e,0x4d,0xd9,0xda,0x8d,0x6f,0x5f,0x3e,0xd7,0x21,0x74,0x86,0xdf,0x6b,0x05,
|
|
788
|
+
0x8e,0x5d,0x37,0x11,0xd2,0x28,0x75,0xd6,0xa7,0x77,0x24,0xbf,0xf0,0xb0,0x02,0xb7,
|
|
789
|
+
0xf8,0xfc,0x81,0x09,0xb1,0x01,0x76,0x91,0x7d,0x0f,0xc8,0xa0,0xf2,0xcb,0x78,0x60,
|
|
790
|
+
0xd1,0xf7,0xe0,0xb5,0x98,0x22,0xb3,0x20,0x1d,0xa6,0xdb,0x7b,0x59,0x9f,0xae,0x31,
|
|
791
|
+
0xfb,0xd3,0xb6,0xca,0x43,0x72,0x07,0xf4,0xd8,0x41,0x14,0x55,0x0d,0x54,0x8b,0xb9,
|
|
792
|
+
0xad,0x46,0x0b,0xaf,0x80,0x52,0x2c,0xfa,0x8c,0x89,0x66,0xfd,0xb2,0xa9,0x9b,0xc0])
|
|
793
|
+
|
|
794
|
+
# source: http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=3672D97255B2446765DA47DA97960CDF?doi=10.1.1.118.6103&rep=rep1&type=pdf
|
|
795
|
+
CSS = SBox([
|
|
796
|
+
0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e,0x36,0x2b,0x6e,0x2e,0x66,0x7b,
|
|
797
|
+
0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e,0xd6,0x0b,0x4e,0x0e,0x46,0x9b,
|
|
798
|
+
0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a,0x52,0x8f,0xca,0x8a,0xc2,0x1f,
|
|
799
|
+
0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98,0xd0,0x01,0x48,0x08,0x40,0x91,
|
|
800
|
+
0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c,0x34,0x25,0x6c,0x2c,0x64,0x75,
|
|
801
|
+
0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c,0xd4,0x05,0x4c,0x0c,0x44,0x95,
|
|
802
|
+
0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18,0x50,0x81,0xc8,0x88,0xc0,0x11,
|
|
803
|
+
0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a,0xd2,0x0f,0x4a,0x0a,0x42,0x9f,
|
|
804
|
+
0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e,0x56,0x8b,0xce,0x8e,0xc6,0x1b,
|
|
805
|
+
0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe,0xb6,0xab,0xee,0xae,0xe6,0xfb,
|
|
806
|
+
0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a,0x32,0x2f,0x6a,0x2a,0x62,0x7f,
|
|
807
|
+
0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8,0xb0,0xa1,0xe8,0xa8,0xe0,0xf1,
|
|
808
|
+
0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c,0x54,0x85,0xcc,0x8c,0xc4,0x15,
|
|
809
|
+
0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc,0xb4,0xa5,0xec,0xac,0xe4,0xf5,
|
|
810
|
+
0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78,0x30,0x21,0x68,0x28,0x60,0x71,
|
|
811
|
+
0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa,0xb2,0xaf,0xea,0xaa,0xe2,0xff])
|
|
812
|
+
|
|
813
|
+
DBlock = SBox([
|
|
814
|
+
0x51,0x36,0x93,0x53,0xd9,0x4a,0xfc,0x58,0xe4,0x2e,0x0d,0x14,0xda,0x9d,0x91,0x69,
|
|
815
|
+
0xef,0x72,0x03,0xc6,0x15,0x8d,0x5c,0x62,0x3f,0xb9,0x45,0x70,0x13,0xa3,0x95,0x6f,
|
|
816
|
+
0x84,0xdb,0xb8,0x89,0x8a,0x6e,0xd4,0x7b,0x40,0xdc,0x9b,0x0c,0x50,0x8e,0xee,0x6a,
|
|
817
|
+
0x88,0x3b,0x0f,0x6b,0x85,0xd3,0x54,0xa8,0x20,0xdf,0xb5,0x1b,0x32,0x7c,0x56,0x64,
|
|
818
|
+
0x74,0xfa,0xc7,0x2d,0x96,0x17,0xae,0xcd,0xb4,0xf5,0x57,0x8c,0xf1,0xbc,0xd8,0xfe,
|
|
819
|
+
0x27,0x06,0xe1,0xa9,0x1a,0x0e,0x5b,0x08,0xf4,0x9f,0x4b,0xed,0x73,0xb7,0xac,0x76,
|
|
820
|
+
0x23,0xca,0x16,0xba,0xa7,0x00,0x8b,0x46,0x41,0xd5,0x7e,0xf2,0x05,0xf6,0x63,0x67,
|
|
821
|
+
0x61,0x8f,0x3d,0xc8,0x1c,0x5a,0xb0,0x79,0x38,0x81,0xaa,0x33,0x97,0xe6,0x2c,0x01,
|
|
822
|
+
0x22,0x87,0x4f,0xbe,0x24,0x71,0x35,0x9c,0xb1,0xad,0xc5,0x1d,0x80,0x3e,0x75,0xb3,
|
|
823
|
+
0x28,0x68,0x2a,0xa0,0xbf,0x2f,0xb2,0xc4,0xce,0x19,0xd7,0xcf,0xaf,0x02,0xa4,0xa5,
|
|
824
|
+
0x7a,0x39,0xd2,0x04,0xab,0xf7,0x60,0x2b,0x4c,0xec,0x4d,0x10,0x90,0x12,0xfb,0x78,
|
|
825
|
+
0x82,0x4e,0x37,0x47,0xd6,0xa2,0xd1,0x86,0xb6,0xc1,0xe9,0xdd,0xa1,0xf8,0x55,0xde,
|
|
826
|
+
0x98,0x7d,0xe5,0x30,0xfd,0xe2,0xcc,0x3a,0xea,0xd0,0x0a,0x29,0xe8,0xe3,0xeb,0xf0,
|
|
827
|
+
0x9a,0x5d,0x3c,0x21,0xc0,0x48,0x6d,0x1e,0xe7,0x1f,0xc9,0x44,0x34,0x18,0x83,0xf9,
|
|
828
|
+
0x59,0x5f,0x42,0x92,0x6c,0x11,0xa6,0x52,0xff,0x9e,0x49,0x26,0x07,0x43,0xbd,0xc3,
|
|
829
|
+
0x99,0xf3,0x77,0x0b,0x5e,0xcb,0x09,0x31,0xe0,0xc2,0x65,0x7f,0x25,0x94,0xbb,0x66])
|
|
830
|
+
|
|
831
|
+
E2 = SBox([
|
|
832
|
+
0xe1,0x42,0x3e,0x81,0x4e,0x17,0x9e,0xfd,0xb4,0x3f,0x2c,0xda,0x31,0x1e,0xe0,0x41,
|
|
833
|
+
0xcc,0xf3,0x82,0x7d,0x7c,0x12,0x8e,0xbb,0xe4,0x58,0x15,0xd5,0x6f,0xe9,0x4c,0x4b,
|
|
834
|
+
0x35,0x7b,0x5a,0x9a,0x90,0x45,0xbc,0xf8,0x79,0xd6,0x1b,0x88,0x02,0xab,0xcf,0x64,
|
|
835
|
+
0x09,0x0c,0xf0,0x01,0xa4,0xb0,0xf6,0x93,0x43,0x63,0x86,0xdc,0x11,0xa5,0x83,0x8b,
|
|
836
|
+
0xc9,0xd0,0x19,0x95,0x6a,0xa1,0x5c,0x24,0x6e,0x50,0x21,0x80,0x2f,0xe7,0x53,0x0f,
|
|
837
|
+
0x91,0x22,0x04,0xed,0xa6,0x48,0x49,0x67,0xec,0xf7,0xc0,0x39,0xce,0xf2,0x2d,0xbe,
|
|
838
|
+
0x5d,0x1c,0xe3,0x87,0x07,0x0d,0x7a,0xf4,0xfb,0x32,0xf5,0x8c,0xdb,0x8f,0x25,0x96,
|
|
839
|
+
0xa8,0xea,0xcd,0x33,0x65,0x54,0x06,0x8d,0x89,0x0a,0x5e,0xd9,0x16,0x0e,0x71,0x6c,
|
|
840
|
+
0x0b,0xff,0x60,0xd2,0x2e,0xd3,0xc8,0x55,0xc2,0x23,0xb7,0x74,0xe2,0x9b,0xdf,0x77,
|
|
841
|
+
0x2b,0xb9,0x3c,0x62,0x13,0xe5,0x94,0x34,0xb1,0x27,0x84,0x9f,0xd7,0x51,0x00,0x61,
|
|
842
|
+
0xad,0x85,0x73,0x03,0x08,0x40,0xef,0x68,0xfe,0x97,0x1f,0xde,0xaf,0x66,0xe8,0xb8,
|
|
843
|
+
0xae,0xbd,0xb3,0xeb,0xc6,0x6b,0x47,0xa9,0xd8,0xa7,0x72,0xee,0x1d,0x7e,0xaa,0xb6,
|
|
844
|
+
0x75,0xcb,0xd4,0x30,0x69,0x20,0x7f,0x37,0x5b,0x9d,0x78,0xa3,0xf1,0x76,0xfa,0x05,
|
|
845
|
+
0x3d,0x3a,0x44,0x57,0x3b,0xca,0xc7,0x8a,0x18,0x46,0x9c,0xbf,0xba,0x38,0x56,0x1a,
|
|
846
|
+
0x92,0x4d,0x26,0x29,0xa2,0x98,0x10,0x99,0x70,0xa0,0xc5,0x28,0xc1,0x6d,0x14,0xac,
|
|
847
|
+
0xf9,0x5f,0x4f,0xc4,0xc3,0xd1,0xfc,0xdd,0xb2,0x59,0xe6,0xb5,0x36,0x52,0x4a,0x2a])
|
|
848
|
+
|
|
849
|
+
Enocoro = SBox([
|
|
850
|
+
99,82,26,223,138,246,174,85,137,231,208,45,189,1,36,120,
|
|
851
|
+
27,217,227,84,200,164,236,126,171,0,156,46,145,103,55,83,
|
|
852
|
+
78,107,108,17,178,192,130,253,57,69,254,155,52,215,167,8,
|
|
853
|
+
184,154,51,198,76,29,105,161,110,62,197,10,87,244,241,131,
|
|
854
|
+
245,71,31,122,165,41,60,66,214,115,141,240,142,24,170,193,
|
|
855
|
+
32,191,230,147,81,14,247,152,221,186,106,5,72,35,109,212,
|
|
856
|
+
30,96,117,67,151,42,49,219,132,25,175,188,204,243,232,70,
|
|
857
|
+
136,172,139,228,123,213,88,54,2,177,7,114,225,220,95,47,
|
|
858
|
+
93,229,209,12,38,153,181,111,224,74,59,222,162,104,146,23,
|
|
859
|
+
202,238,169,182,3,94,211,37,251,157,97,89,6,144,116,44,
|
|
860
|
+
39,149,160,185,124,237,4,210,80,226,73,119,203,58,15,158,
|
|
861
|
+
112,22,92,239,33,179,159,13,166,201,34,148,250,75,216,101,
|
|
862
|
+
133,61,150,40,20,91,102,234,127,206,249,64,19,173,195,176,
|
|
863
|
+
242,194,56,128,207,113,11,135,77,53,86,233,100,190,28,187,
|
|
864
|
+
183,48,196,43,255,98,65,168,21,140,18,199,121,143,90,252,
|
|
865
|
+
205,9,79,125,248,134,218,16,50,118,180,163,63,68,129,235])
|
|
866
|
+
|
|
867
|
+
Fantomas = SBox([
|
|
868
|
+
0x1e,0x75,0x5f,0xe1,0x99,0xfc,0x89,0x2f,0x86,0xee,0xf1,0x7b,0x23,0x52,0x10,0x94,
|
|
869
|
+
0x0c,0xb7,0x4d,0x67,0xd8,0x42,0xc8,0xd6,0xc4,0x6b,0xaa,0xba,0x3d,0xa5,0x00,0x33,
|
|
870
|
+
0x53,0x2d,0x0b,0xb8,0xda,0xa8,0xc5,0x6c,0xca,0xb6,0xa4,0x22,0x60,0x07,0x5d,0xd7,
|
|
871
|
+
0x4f,0xf4,0x15,0x32,0x81,0x1b,0x9c,0x8e,0x91,0x3f,0xe6,0xf9,0x70,0xe9,0x43,0x7e,
|
|
872
|
+
0x8d,0xf3,0xcc,0x65,0x08,0x7a,0x18,0xab,0x16,0x6a,0x77,0xfd,0xa7,0xc0,0x82,0x04,
|
|
873
|
+
0x9f,0x31,0xde,0xe3,0x49,0xd0,0x59,0x46,0x54,0xef,0x2e,0x3c,0xbb,0x21,0x92,0xb5,
|
|
874
|
+
0x55,0x3e,0x0f,0xa9,0xdc,0xb9,0xc1,0x7f,0xce,0xa6,0xb4,0x30,0x72,0x03,0x5b,0xd1,
|
|
875
|
+
0x4b,0xe4,0x13,0x20,0x85,0x1d,0x9a,0x8a,0x97,0x2c,0xf6,0xe8,0x62,0xf8,0x47,0x6d,
|
|
876
|
+
0x29,0x41,0x68,0xd5,0xac,0xcb,0xbe,0x1a,0xb0,0xdb,0xc7,0x4e,0x17,0x64,0x26,0xa0,
|
|
877
|
+
0x39,0x83,0x78,0x51,0xed,0x76,0xff,0xe2,0xf2,0x5c,0x9d,0x8f,0x0a,0x93,0x34,0x05,
|
|
878
|
+
0x25,0x58,0x7c,0xcd,0xaf,0xdf,0xb3,0x19,0xbd,0xc2,0xd2,0x56,0x14,0x71,0x2a,0xa3,
|
|
879
|
+
0x3a,0x80,0x61,0x44,0xf5,0x6e,0xeb,0xfb,0xe7,0x48,0x90,0x8c,0x06,0x9e,0x37,0x09,
|
|
880
|
+
0x98,0xe5,0xd9,0x73,0x1f,0x6f,0x0d,0xbc,0x02,0x7d,0x63,0xea,0xb1,0xd4,0x96,0x12,
|
|
881
|
+
0x88,0x27,0xc9,0xf7,0x5e,0xc6,0x4c,0x50,0x40,0xfa,0x3b,0x2b,0xae,0x35,0x84,0xa1,
|
|
882
|
+
0x01,0x69,0x5a,0xfe,0x8b,0xec,0x95,0x28,0x9b,0xf0,0xe0,0x66,0x24,0x57,0x0e,0x87,
|
|
883
|
+
0x1c,0xb2,0x45,0x74,0xd3,0x4a,0xcf,0xdd,0xc3,0x79,0xa2,0xbf,0x36,0xad,0x11,0x38])
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
FLY = SBox([
|
|
887
|
+
0x00,0x9b,0xc2,0x15,0x5d,0x84,0x4c,0xd1,0x67,0x38,0xef,0xb0,0x7e,0x2b,0xf6,0xa3,
|
|
888
|
+
0xb9,0xaa,0x36,0x78,0x2f,0x6e,0xe3,0xf7,0x12,0x5c,0x9a,0xd4,0x89,0xcd,0x01,0x45,
|
|
889
|
+
0x2c,0x63,0x44,0xde,0x02,0x96,0x39,0x70,0xba,0xe4,0x18,0x57,0xa1,0xf5,0x8b,0xce,
|
|
890
|
+
0x51,0x87,0xed,0xff,0xb5,0xa8,0xca,0x1b,0xdf,0x90,0x6c,0x32,0x46,0x03,0x7d,0x29,
|
|
891
|
+
0xd5,0xf2,0x20,0x5b,0xcc,0x31,0x04,0xbd,0xa6,0x41,0x8e,0x79,0xea,0x9f,0x68,0x1c,
|
|
892
|
+
0x48,0xe6,0x69,0x8a,0x13,0x77,0x9e,0xaf,0xf3,0x05,0xcb,0x2d,0xb4,0xd0,0x37,0x52,
|
|
893
|
+
0xc4,0x3e,0x93,0xac,0x40,0xe9,0x22,0x56,0x7b,0x8d,0xf1,0x06,0x17,0x62,0xbf,0xda,
|
|
894
|
+
0x1d,0x7f,0x07,0xb1,0xdb,0xfa,0x65,0x88,0x2e,0xc9,0xa5,0x43,0x58,0x3c,0xe0,0x94,
|
|
895
|
+
0x76,0x21,0xab,0xfd,0x6a,0x3f,0xb7,0xe2,0xdd,0x4f,0x53,0x8c,0xc0,0x19,0x95,0x08,
|
|
896
|
+
0x83,0xc5,0x4e,0x09,0x14,0x50,0xd8,0x9c,0xf4,0xee,0x27,0x61,0x3b,0x7a,0xa2,0xb6,
|
|
897
|
+
0xfe,0xa9,0x81,0xc6,0xe8,0xbc,0x1f,0x5a,0x35,0x72,0x99,0x0a,0xd3,0x47,0x24,0x6d,
|
|
898
|
+
0x0b,0x4d,0x75,0x23,0x97,0xd2,0x60,0x34,0xc8,0x16,0xa0,0xbb,0xfc,0xe1,0x5e,0x8f,
|
|
899
|
+
0xe7,0x98,0x1a,0x64,0xae,0x4b,0x71,0x85,0x0c,0xb3,0x3d,0xcf,0x55,0x28,0xd9,0xf0,
|
|
900
|
+
0xb2,0xdc,0x5f,0x30,0xf9,0x0d,0x26,0xc3,0x91,0xa7,0x74,0x1e,0x82,0x66,0x4a,0xeb,
|
|
901
|
+
0x6f,0x10,0xb8,0xd7,0x86,0x73,0xfb,0x0e,0x59,0x2a,0x42,0xe5,0x9d,0xa4,0x33,0xc7,
|
|
902
|
+
0x3a,0x54,0xec,0x92,0xc1,0x25,0xad,0x49,0x80,0x6b,0xd6,0xf8,0x0f,0xbe,0x7c,0x11])
|
|
903
|
+
|
|
904
|
+
Fox = SBox([
|
|
905
|
+
0x5D,0xDE,0x00,0xB7,0xD3,0xCA,0x3C,0x0D,0xC3,0xF8,0xCB,0x8D,0x76,0x89,0xAA,0x12,
|
|
906
|
+
0x88,0x22,0x4F,0xDB,0x6D,0x47,0xE4,0x4C,0x78,0x9A,0x49,0x93,0xC4,0xC0,0x86,0x13,
|
|
907
|
+
0xA9,0x20,0x53,0x1C,0x4E,0xCF,0x35,0x39,0xB4,0xA1,0x54,0x64,0x03,0xC7,0x85,0x5C,
|
|
908
|
+
0x5B,0xCD,0xD8,0x72,0x96,0x42,0xB8,0xE1,0xA2,0x60,0xEF,0xBD,0x02,0xAF,0x8C,0x73,
|
|
909
|
+
0x7C,0x7F,0x5E,0xF9,0x65,0xE6,0xEB,0xAD,0x5A,0xA5,0x79,0x8E,0x15,0x30,0xEC,0xA4,
|
|
910
|
+
0xC2,0x3E,0xE0,0x74,0x51,0xFB,0x2D,0x6E,0x94,0x4D,0x55,0x34,0xAE,0x52,0x7E,0x9D,
|
|
911
|
+
0x4A,0xF7,0x80,0xF0,0xD0,0x90,0xA7,0xE8,0x9F,0x50,0xD5,0xD1,0x98,0xCC,0xA0,0x17,
|
|
912
|
+
0xF4,0xB6,0xC1,0x28,0x5F,0x26,0x01,0xAB,0x25,0x38,0x82,0x7D,0x48,0xFC,0x1B,0xCE,
|
|
913
|
+
0x3F,0x6B,0xE2,0x67,0x66,0x43,0x59,0x19,0x84,0x3D,0xF5,0x2F,0xC9,0xBC,0xD9,0x95,
|
|
914
|
+
0x29,0x41,0xDA,0x1A,0xB0,0xE9,0x69,0xD2,0x7B,0xD7,0x11,0x9B,0x33,0x8A,0x23,0x09,
|
|
915
|
+
0xD4,0x71,0x44,0x68,0x6F,0xF2,0x0E,0xDF,0x87,0xDC,0x83,0x18,0x6A,0xEE,0x99,0x81,
|
|
916
|
+
0x62,0x36,0x2E,0x7A,0xFE,0x45,0x9C,0x75,0x91,0x0C,0x0F,0xE7,0xF6,0x14,0x63,0x1D,
|
|
917
|
+
0x0B,0x8B,0xB3,0xF3,0xB2,0x3B,0x08,0x4B,0x10,0xA6,0x32,0xB9,0xA8,0x92,0xF1,0x56,
|
|
918
|
+
0xDD,0x21,0xBF,0x04,0xBE,0xD6,0xFD,0x77,0xEA,0x3A,0xC8,0x8F,0x57,0x1E,0xFA,0x2B,
|
|
919
|
+
0x58,0xC5,0x27,0xAC,0xE3,0xED,0x97,0xBB,0x46,0x05,0x40,0x31,0xE5,0x37,0x2C,0x9E,
|
|
920
|
+
0x0A,0xB1,0xB5,0x06,0x6C,0x1F,0xA3,0x2A,0x70,0xFF,0xBA,0x07,0x24,0x16,0xC6,0x61])
|
|
921
|
+
|
|
922
|
+
Iceberg = SBox([
|
|
923
|
+
0x24,0xc1,0x38,0x30,0xe7,0x57,0xdf,0x20,0x3e,0x99,0x1a,0x34,0xca,0xd6,0x52,0xfd,
|
|
924
|
+
0x40,0x6c,0xd3,0x3d,0x4a,0x59,0xf8,0x77,0xfb,0x61,0x0a,0x56,0xb9,0xd2,0xfc,0xf1,
|
|
925
|
+
0x07,0xf5,0x93,0xcd,0x00,0xb6,0x62,0xa7,0x63,0xfe,0x44,0xbd,0x5f,0x92,0x6b,0x68,
|
|
926
|
+
0x03,0x4e,0xa2,0x97,0x0b,0x60,0x83,0xa3,0x02,0xe5,0x45,0x67,0xf4,0x13,0x08,0x8b,
|
|
927
|
+
0x10,0xce,0xbe,0xb4,0x2a,0x3a,0x96,0x84,0xc8,0x9f,0x14,0xc0,0xc4,0x6f,0x31,0xd9,
|
|
928
|
+
0xab,0xae,0x0e,0x64,0x7c,0xda,0x1b,0x05,0xa8,0x15,0xa5,0x90,0x94,0x85,0x71,0x2c,
|
|
929
|
+
0x35,0x19,0x26,0x28,0x53,0xe2,0x7f,0x3b,0x2f,0xa9,0xcc,0x2e,0x11,0x76,0xed,0x4d,
|
|
930
|
+
0x87,0x5e,0xc2,0xc7,0x80,0xb0,0x6d,0x17,0xb2,0xff,0xe4,0xb7,0x54,0x9d,0xb8,0x66,
|
|
931
|
+
0x74,0x9c,0xdb,0x36,0x47,0x5d,0xde,0x70,0xd5,0x91,0xaa,0x3f,0xc9,0xd8,0xf3,0xf2,
|
|
932
|
+
0x5b,0x89,0x2d,0x22,0x5c,0xe1,0x46,0x33,0xe6,0x09,0xbc,0xe8,0x81,0x7d,0xe9,0x49,
|
|
933
|
+
0xe0,0xb1,0x32,0x37,0xea,0x5a,0xf6,0x27,0x58,0x69,0x8a,0x50,0xba,0xdd,0x51,0xf9,
|
|
934
|
+
0x75,0xa1,0x78,0xd0,0x43,0xf7,0x25,0x7b,0x7e,0x1c,0xac,0xd4,0x9a,0x2b,0x42,0xe3,
|
|
935
|
+
0x4b,0x01,0x72,0xd7,0x4c,0xfa,0xeb,0x73,0x48,0x8c,0x0c,0xf0,0x6a,0x23,0x41,0xec,
|
|
936
|
+
0xb3,0xef,0x1d,0x12,0xbb,0x88,0x0d,0xc3,0x8d,0x4f,0x55,0x82,0xee,0xad,0x86,0x06,
|
|
937
|
+
0xa0,0x95,0x65,0xbf,0x7a,0x39,0x98,0x04,0x9b,0x9e,0xa4,0xc6,0xcf,0x6e,0xdc,0xd1,
|
|
938
|
+
0xcb,0x1f,0x8f,0x8e,0x3c,0x21,0xa6,0xb5,0x16,0xaf,0xc5,0x18,0x1e,0x0f,0x29,0x79])
|
|
939
|
+
|
|
940
|
+
Iraqi = SBox([
|
|
941
|
+
173,84,240,67,1,53,254,36,41,172,115,109,223,199,152,189,90,46,
|
|
942
|
+
149,193,218,130,250,40,203,4,35,237,236,246,213,143,169,176,48,
|
|
943
|
+
23,61,206,69,34,97,155,4,109,183,220,42,64,21,123,29,233,253,
|
|
944
|
+
105,183,209,1,191,113,12,46,7,8,183,166,199,166,7,78,37,135,
|
|
945
|
+
252,174,84,140,164,152,94,22,185,59,68,181,60,176,67,51,25,28,
|
|
946
|
+
190,138,198,44,90,92,221,149,175,186,25,49,210,50,237,41,207,
|
|
947
|
+
31,226,114,121,230,15,58,25,142,58,98,232,59,3,189,28,8,116,
|
|
948
|
+
131,185,78,250,239,33,116,173,94,45,104,62,122,179,18,150,246,
|
|
949
|
+
250,17,8,79,157,225,238,47,10,133,58,8,126,82,68,153,141,2,158,
|
|
950
|
+
204,50,130,53,59,32,243,160,172,35,24,107,35,115,228,143,28,
|
|
951
|
+
224,77,55,25,28,120,89,186,152,49,84,117,180,30,138,134,77,182,
|
|
952
|
+
157,61,230,22,149,54,15,110,32,213,155,106,78,16,23,89,140,158,
|
|
953
|
+
169,96,136,186,104,30,199,67,35,218,159,210,109,28,238,33,150,
|
|
954
|
+
173,180,247,201,83,150,105,164,228,59,207,101,221,99,52,120,
|
|
955
|
+
199,31,6,144,202,215,209,49,42,195])
|
|
956
|
+
|
|
957
|
+
iScream = SBox([
|
|
958
|
+
0x00,0x85,0x65,0xD2,0x5B,0xFF,0x7A,0xCE,0x4D,0xE2,0x2C,0x36,0x92,0x15,0xBD,0xAD,
|
|
959
|
+
0x57,0xF3,0x37,0x2D,0x88,0x0D,0xAC,0xBC,0x18,0x9F,0x7E,0xCA,0x41,0xEE,0x61,0xD6,
|
|
960
|
+
0x59,0xEC,0x78,0xD4,0x47,0xF9,0x26,0xA3,0x90,0x8B,0xBF,0x30,0x0A,0x13,0x6F,0xC0,
|
|
961
|
+
0x2B,0xAE,0x91,0x8A,0xD8,0x74,0x0B,0x12,0xCC,0x63,0xFD,0x43,0xB2,0x3D,0xE8,0x5D,
|
|
962
|
+
0xB6,0x1C,0x83,0x3B,0xC8,0x45,0x9D,0x24,0x52,0xDD,0xE4,0xF4,0xAB,0x08,0x77,0x6D,
|
|
963
|
+
0xF5,0xE5,0x48,0xC5,0x6C,0x76,0xBA,0x10,0x99,0x20,0xA7,0x04,0x87,0x3F,0xD0,0x5F,
|
|
964
|
+
0xA5,0x1E,0x9B,0x39,0xB0,0x02,0xEA,0x67,0xC6,0xDF,0x71,0xF6,0x54,0x4F,0x8D,0x2E,
|
|
965
|
+
0xE7,0x6A,0xC7,0xDE,0x35,0x97,0x55,0x4E,0x22,0x81,0x06,0xB4,0x7C,0xFB,0x1A,0xA1,
|
|
966
|
+
0xD5,0x79,0xFC,0x42,0x84,0x01,0xE9,0x5C,0x14,0x93,0x33,0x29,0xC1,0x6E,0xA8,0xB8,
|
|
967
|
+
0x28,0x32,0x0C,0x89,0xB9,0xA9,0xD9,0x75,0xED,0x58,0xCD,0x62,0xF8,0x46,0x9E,0x19,
|
|
968
|
+
0xCB,0x7F,0xA2,0x27,0xD7,0x60,0xFE,0x5A,0x8E,0x95,0xE3,0x4C,0x16,0x0F,0x31,0xBE,
|
|
969
|
+
0x64,0xD3,0x3C,0xB3,0x7B,0xCF,0x40,0xEF,0x8F,0x94,0x56,0xF2,0x17,0x0E,0xAF,0x2A,
|
|
970
|
+
0x2F,0x8C,0xF1,0xE1,0xDC,0x53,0x68,0x72,0x44,0xC9,0x1B,0xA0,0x38,0x9A,0x07,0xB5,
|
|
971
|
+
0x5E,0xD1,0x03,0xB1,0x23,0x80,0x1F,0xA4,0x34,0x96,0xE0,0xF0,0xC4,0x49,0x73,0x69,
|
|
972
|
+
0xDA,0xC3,0x09,0xAA,0x4A,0x51,0xF7,0x70,0x3E,0x86,0x66,0xEB,0x21,0x98,0x1D,0xB7,
|
|
973
|
+
0xDB,0xC2,0xBB,0x11,0x4B,0x50,0x6B,0xE6,0x9C,0x25,0xFA,0x7D,0x82,0x3A,0xA6,0x05])
|
|
974
|
+
|
|
975
|
+
Kalyna_pi0 = SBox([
|
|
976
|
+
0xa8,0x43,0x5f,0x6,0x6b,0x75,0x6c,0x59,0x71,0xdf,0x87,0x95,0x17,0xf0,0xd8,0x9,
|
|
977
|
+
0x6d,0xf3,0x1d,0xcb,0xc9,0x4d,0x2c,0xaf,0x79,0xe0,0x97,0xfd,0x6f,0x4b,0x45,0x39,
|
|
978
|
+
0x3e,0xdd,0xa3,0x4f,0xb4,0xb6,0x9a,0xe,0x1f,0xbf,0x15,0xe1,0x49,0xd2,0x93,0xc6,
|
|
979
|
+
0x92,0x72,0x9e,0x61,0xd1,0x63,0xfa,0xee,0xf4,0x19,0xd5,0xad,0x58,0xa4,0xbb,0xa1,
|
|
980
|
+
0xdc,0xf2,0x83,0x37,0x42,0xe4,0x7a,0x32,0x9c,0xcc,0xab,0x4a,0x8f,0x6e,0x4,0x27,
|
|
981
|
+
0x2e,0xe7,0xe2,0x5a,0x96,0x16,0x23,0x2b,0xc2,0x65,0x66,0xf,0xbc,0xa9,0x47,0x41,
|
|
982
|
+
0x34,0x48,0xfc,0xb7,0x6a,0x88,0xa5,0x53,0x86,0xf9,0x5b,0xdb,0x38,0x7b,0xc3,0x1e,
|
|
983
|
+
0x22,0x33,0x24,0x28,0x36,0xc7,0xb2,0x3b,0x8e,0x77,0xba,0xf5,0x14,0x9f,0x8,0x55,
|
|
984
|
+
0x9b,0x4c,0xfe,0x60,0x5c,0xda,0x18,0x46,0xcd,0x7d,0x21,0xb0,0x3f,0x1b,0x89,0xff,
|
|
985
|
+
0xeb,0x84,0x69,0x3a,0x9d,0xd7,0xd3,0x70,0x67,0x40,0xb5,0xde,0x5d,0x30,0x91,0xb1,
|
|
986
|
+
0x78,0x11,0x1,0xe5,0x0,0x68,0x98,0xa0,0xc5,0x2,0xa6,0x74,0x2d,0xb,0xa2,0x76,
|
|
987
|
+
0xb3,0xbe,0xce,0xbd,0xae,0xe9,0x8a,0x31,0x1c,0xec,0xf1,0x99,0x94,0xaa,0xf6,0x26,
|
|
988
|
+
0x2f,0xef,0xe8,0x8c,0x35,0x3,0xd4,0x7f,0xfb,0x5,0xc1,0x5e,0x90,0x20,0x3d,0x82,
|
|
989
|
+
0xf7,0xea,0xa,0xd,0x7e,0xf8,0x50,0x1a,0xc4,0x7,0x57,0xb8,0x3c,0x62,0xe3,0xc8,
|
|
990
|
+
0xac,0x52,0x64,0x10,0xd0,0xd9,0x13,0xc,0x12,0x29,0x51,0xb9,0xcf,0xd6,0x73,0x8d,
|
|
991
|
+
0x81,0x54,0xc0,0xed,0x4e,0x44,0xa7,0x2a,0x85,0x25,0xe6,0xca,0x7c,0x8b,0x56,0x80])
|
|
992
|
+
|
|
993
|
+
Kalyna_pi1 = SBox([
|
|
994
|
+
0xce,0xbb,0xeb,0x92,0xea,0xcb,0x13,0xc1,0xe9,0x3a,0xd6,0xb2,0xd2,0x90,0x17,0xf8,
|
|
995
|
+
0x42,0x15,0x56,0xb4,0x65,0x1c,0x88,0x43,0xc5,0x5c,0x36,0xba,0xf5,0x57,0x67,0x8d,
|
|
996
|
+
0x31,0xf6,0x64,0x58,0x9e,0xf4,0x22,0xaa,0x75,0xf,0x2,0xb1,0xdf,0x6d,0x73,0x4d,
|
|
997
|
+
0x7c,0x26,0x2e,0xf7,0x8,0x5d,0x44,0x3e,0x9f,0x14,0xc8,0xae,0x54,0x10,0xd8,0xbc,
|
|
998
|
+
0x1a,0x6b,0x69,0xf3,0xbd,0x33,0xab,0xfa,0xd1,0x9b,0x68,0x4e,0x16,0x95,0x91,0xee,
|
|
999
|
+
0x4c,0x63,0x8e,0x5b,0xcc,0x3c,0x19,0xa1,0x81,0x49,0x7b,0xd9,0x6f,0x37,0x60,0xca,
|
|
1000
|
+
0xe7,0x2b,0x48,0xfd,0x96,0x45,0xfc,0x41,0x12,0xd,0x79,0xe5,0x89,0x8c,0xe3,0x20,
|
|
1001
|
+
0x30,0xdc,0xb7,0x6c,0x4a,0xb5,0x3f,0x97,0xd4,0x62,0x2d,0x6,0xa4,0xa5,0x83,0x5f,
|
|
1002
|
+
0x2a,0xda,0xc9,0x0,0x7e,0xa2,0x55,0xbf,0x11,0xd5,0x9c,0xcf,0xe,0xa,0x3d,0x51,
|
|
1003
|
+
0x7d,0x93,0x1b,0xfe,0xc4,0x47,0x9,0x86,0xb,0x8f,0x9d,0x6a,0x7,0xb9,0xb0,0x98,
|
|
1004
|
+
0x18,0x32,0x71,0x4b,0xef,0x3b,0x70,0xa0,0xe4,0x40,0xff,0xc3,0xa9,0xe6,0x78,0xf9,
|
|
1005
|
+
0x8b,0x46,0x80,0x1e,0x38,0xe1,0xb8,0xa8,0xe0,0xc,0x23,0x76,0x1d,0x25,0x24,0x5,
|
|
1006
|
+
0xf1,0x6e,0x94,0x28,0x9a,0x84,0xe8,0xa3,0x4f,0x77,0xd3,0x85,0xe2,0x52,0xf2,0x82,
|
|
1007
|
+
0x50,0x7a,0x2f,0x74,0x53,0xb3,0x61,0xaf,0x39,0x35,0xde,0xcd,0x1f,0x99,0xac,0xad,
|
|
1008
|
+
0x72,0x2c,0xdd,0xd0,0x87,0xbe,0x5e,0xa6,0xec,0x4,0xc6,0x3,0x34,0xfb,0xdb,0x59,
|
|
1009
|
+
0xb6,0xc2,0x1,0xf0,0x5a,0xed,0xa7,0x66,0x21,0x7f,0x8a,0x27,0xc7,0xc0,0x29,0xd7])
|
|
1010
|
+
|
|
1011
|
+
Kalyna_pi2 = SBox([
|
|
1012
|
+
0x93,0xd9,0x9a,0xb5,0x98,0x22,0x45,0xfc,0xba,0x6a,0xdf,0x2,0x9f,0xdc,0x51,0x59,
|
|
1013
|
+
0x4a,0x17,0x2b,0xc2,0x94,0xf4,0xbb,0xa3,0x62,0xe4,0x71,0xd4,0xcd,0x70,0x16,0xe1,
|
|
1014
|
+
0x49,0x3c,0xc0,0xd8,0x5c,0x9b,0xad,0x85,0x53,0xa1,0x7a,0xc8,0x2d,0xe0,0xd1,0x72,
|
|
1015
|
+
0xa6,0x2c,0xc4,0xe3,0x76,0x78,0xb7,0xb4,0x9,0x3b,0xe,0x41,0x4c,0xde,0xb2,0x90,
|
|
1016
|
+
0x25,0xa5,0xd7,0x3,0x11,0x0,0xc3,0x2e,0x92,0xef,0x4e,0x12,0x9d,0x7d,0xcb,0x35,
|
|
1017
|
+
0x10,0xd5,0x4f,0x9e,0x4d,0xa9,0x55,0xc6,0xd0,0x7b,0x18,0x97,0xd3,0x36,0xe6,0x48,
|
|
1018
|
+
0x56,0x81,0x8f,0x77,0xcc,0x9c,0xb9,0xe2,0xac,0xb8,0x2f,0x15,0xa4,0x7c,0xda,0x38,
|
|
1019
|
+
0x1e,0xb,0x5,0xd6,0x14,0x6e,0x6c,0x7e,0x66,0xfd,0xb1,0xe5,0x60,0xaf,0x5e,0x33,
|
|
1020
|
+
0x87,0xc9,0xf0,0x5d,0x6d,0x3f,0x88,0x8d,0xc7,0xf7,0x1d,0xe9,0xec,0xed,0x80,0x29,
|
|
1021
|
+
0x27,0xcf,0x99,0xa8,0x50,0xf,0x37,0x24,0x28,0x30,0x95,0xd2,0x3e,0x5b,0x40,0x83,
|
|
1022
|
+
0xb3,0x69,0x57,0x1f,0x7,0x1c,0x8a,0xbc,0x20,0xeb,0xce,0x8e,0xab,0xee,0x31,0xa2,
|
|
1023
|
+
0x73,0xf9,0xca,0x3a,0x1a,0xfb,0xd,0xc1,0xfe,0xfa,0xf2,0x6f,0xbd,0x96,0xdd,0x43,
|
|
1024
|
+
0x52,0xb6,0x8,0xf3,0xae,0xbe,0x19,0x89,0x32,0x26,0xb0,0xea,0x4b,0x64,0x84,0x82,
|
|
1025
|
+
0x6b,0xf5,0x79,0xbf,0x1,0x5f,0x75,0x63,0x1b,0x23,0x3d,0x68,0x2a,0x65,0xe8,0x91,
|
|
1026
|
+
0xf6,0xff,0x13,0x58,0xf1,0x47,0xa,0x7f,0xc5,0xa7,0xe7,0x61,0x5a,0x6,0x46,0x44,
|
|
1027
|
+
0x42,0x4,0xa0,0xdb,0x39,0x86,0x54,0xaa,0x8c,0x34,0x21,0x8b,0xf8,0xc,0x74,0x67])
|
|
1028
|
+
|
|
1029
|
+
Kalyna_pi3 = SBox([
|
|
1030
|
+
0x68,0x8d,0xca,0x4d,0x73,0x4b,0x4e,0x2a,0xd4,0x52,0x26,0xb3,0x54,0x1e,0x19,0x1f,
|
|
1031
|
+
0x22,0x3,0x46,0x3d,0x2d,0x4a,0x53,0x83,0x13,0x8a,0xb7,0xd5,0x25,0x79,0xf5,0xbd,
|
|
1032
|
+
0x58,0x2f,0xd,0x2,0xed,0x51,0x9e,0x11,0xf2,0x3e,0x55,0x5e,0xd1,0x16,0x3c,0x66,
|
|
1033
|
+
0x70,0x5d,0xf3,0x45,0x40,0xcc,0xe8,0x94,0x56,0x8,0xce,0x1a,0x3a,0xd2,0xe1,0xdf,
|
|
1034
|
+
0xb5,0x38,0x6e,0xe,0xe5,0xf4,0xf9,0x86,0xe9,0x4f,0xd6,0x85,0x23,0xcf,0x32,0x99,
|
|
1035
|
+
0x31,0x14,0xae,0xee,0xc8,0x48,0xd3,0x30,0xa1,0x92,0x41,0xb1,0x18,0xc4,0x2c,0x71,
|
|
1036
|
+
0x72,0x44,0x15,0xfd,0x37,0xbe,0x5f,0xaa,0x9b,0x88,0xd8,0xab,0x89,0x9c,0xfa,0x60,
|
|
1037
|
+
0xea,0xbc,0x62,0xc,0x24,0xa6,0xa8,0xec,0x67,0x20,0xdb,0x7c,0x28,0xdd,0xac,0x5b,
|
|
1038
|
+
0x34,0x7e,0x10,0xf1,0x7b,0x8f,0x63,0xa0,0x5,0x9a,0x43,0x77,0x21,0xbf,0x27,0x9,
|
|
1039
|
+
0xc3,0x9f,0xb6,0xd7,0x29,0xc2,0xeb,0xc0,0xa4,0x8b,0x8c,0x1d,0xfb,0xff,0xc1,0xb2,
|
|
1040
|
+
0x97,0x2e,0xf8,0x65,0xf6,0x75,0x7,0x4,0x49,0x33,0xe4,0xd9,0xb9,0xd0,0x42,0xc7,
|
|
1041
|
+
0x6c,0x90,0x0,0x8e,0x6f,0x50,0x1,0xc5,0xda,0x47,0x3f,0xcd,0x69,0xa2,0xe2,0x7a,
|
|
1042
|
+
0xa7,0xc6,0x93,0xf,0xa,0x6,0xe6,0x2b,0x96,0xa3,0x1c,0xaf,0x6a,0x12,0x84,0x39,
|
|
1043
|
+
0xe7,0xb0,0x82,0xf7,0xfe,0x9d,0x87,0x5c,0x81,0x35,0xde,0xb4,0xa5,0xfc,0x80,0xef,
|
|
1044
|
+
0xcb,0xbb,0x6b,0x76,0xba,0x5a,0x7d,0x78,0xb,0x95,0xe3,0xad,0x74,0x98,0x3b,0x36,
|
|
1045
|
+
0x64,0x6d,0xdc,0xf0,0x59,0xa9,0x4c,0x17,0x7f,0x91,0xb8,0xc9,0x57,0x1b,0xe0,0x61])
|
|
1046
|
+
|
|
1047
|
+
Khazad = SBox([
|
|
1048
|
+
0xba,0x54,0x2f,0x74,0x53,0xd3,0xd2,0x4d,0x50,0xac,0x8d,0xbf,0x70,0x52,0x9a,0x4c,
|
|
1049
|
+
0xea,0xd5,0x97,0xd1,0x33,0x51,0x5b,0xa6,0xde,0x48,0xa8,0x99,0xdb,0x32,0xb7,0xfc,
|
|
1050
|
+
0xe3,0x9e,0x91,0x9b,0xe2,0xbb,0x41,0x6e,0xa5,0xcb,0x6b,0x95,0xa1,0xf3,0xb1,0x02,
|
|
1051
|
+
0xcc,0xc4,0x1d,0x14,0xc3,0x63,0xda,0x5d,0x5f,0xdc,0x7d,0xcd,0x7f,0x5a,0x6c,0x5c,
|
|
1052
|
+
0xf7,0x26,0xff,0xed,0xe8,0x9d,0x6f,0x8e,0x19,0xa0,0xf0,0x89,0x0f,0x07,0xaf,0xfb,
|
|
1053
|
+
0x08,0x15,0x0d,0x04,0x01,0x64,0xdf,0x76,0x79,0xdd,0x3d,0x16,0x3f,0x37,0x6d,0x38,
|
|
1054
|
+
0xb9,0x73,0xe9,0x35,0x55,0x71,0x7b,0x8c,0x72,0x88,0xf6,0x2a,0x3e,0x5e,0x27,0x46,
|
|
1055
|
+
0x0c,0x65,0x68,0x61,0x03,0xc1,0x57,0xd6,0xd9,0x58,0xd8,0x66,0xd7,0x3a,0xc8,0x3c,
|
|
1056
|
+
0xfa,0x96,0xa7,0x98,0xec,0xb8,0xc7,0xae,0x69,0x4b,0xab,0xa9,0x67,0x0a,0x47,0xf2,
|
|
1057
|
+
0xb5,0x22,0xe5,0xee,0xbe,0x2b,0x81,0x12,0x83,0x1b,0x0e,0x23,0xf5,0x45,0x21,0xce,
|
|
1058
|
+
0x49,0x2c,0xf9,0xe6,0xb6,0x28,0x17,0x82,0x1a,0x8b,0xfe,0x8a,0x09,0xc9,0x87,0x4e,
|
|
1059
|
+
0xe1,0x2e,0xe4,0xe0,0xeb,0x90,0xa4,0x1e,0x85,0x60,0x00,0x25,0xf4,0xf1,0x94,0x0b,
|
|
1060
|
+
0xe7,0x75,0xef,0x34,0x31,0xd4,0xd0,0x86,0x7e,0xad,0xfd,0x29,0x30,0x3b,0x9f,0xf8,
|
|
1061
|
+
0xc6,0x13,0x06,0x05,0xc5,0x11,0x77,0x7c,0x7a,0x78,0x36,0x1c,0x39,0x59,0x18,0x56,
|
|
1062
|
+
0xb3,0xb0,0x24,0x20,0xb2,0x92,0xa3,0xc0,0x44,0x62,0x10,0xb4,0x84,0x43,0x93,0xc2,
|
|
1063
|
+
0x4a,0xbd,0x8f,0x2d,0xbc,0x9c,0x6a,0x40,0xcf,0xa2,0x80,0x4f,0x1f,0xca,0xaa,0x42])
|
|
1064
|
+
|
|
1065
|
+
Kuznyechik = SBox([
|
|
1066
|
+
0xFC,0xEE,0xDD,0x11,0xCF,0x6E,0x31,0x16,0xFB,0xC4,0xFA,0xDA,0x23,0xC5,0x04,0x4D,
|
|
1067
|
+
0xE9,0x77,0xF0,0xDB,0x93,0x2E,0x99,0xBA,0x17,0x36,0xF1,0xBB,0x14,0xCD,0x5F,0xC1,
|
|
1068
|
+
0xF9,0x18,0x65,0x5A,0xE2,0x5C,0xEF,0x21,0x81,0x1C,0x3C,0x42,0x8B,0x01,0x8E,0x4F,
|
|
1069
|
+
0x05,0x84,0x02,0xAE,0xE3,0x6A,0x8F,0xA0,0x06,0x0B,0xED,0x98,0x7F,0xD4,0xD3,0x1F,
|
|
1070
|
+
0xEB,0x34,0x2C,0x51,0xEA,0xC8,0x48,0xAB,0xF2,0x2A,0x68,0xA2,0xFD,0x3A,0xCE,0xCC,
|
|
1071
|
+
0xB5,0x70,0x0E,0x56,0x08,0x0C,0x76,0x12,0xBF,0x72,0x13,0x47,0x9C,0xB7,0x5D,0x87,
|
|
1072
|
+
0x15,0xA1,0x96,0x29,0x10,0x7B,0x9A,0xC7,0xF3,0x91,0x78,0x6F,0x9D,0x9E,0xB2,0xB1,
|
|
1073
|
+
0x32,0x75,0x19,0x3D,0xFF,0x35,0x8A,0x7E,0x6D,0x54,0xC6,0x80,0xC3,0xBD,0x0D,0x57,
|
|
1074
|
+
0xDF,0xF5,0x24,0xA9,0x3E,0xA8,0x43,0xC9,0xD7,0x79,0xD6,0xF6,0x7C,0x22,0xB9,0x03,
|
|
1075
|
+
0xE0,0x0F,0xEC,0xDE,0x7A,0x94,0xB0,0xBC,0xDC,0xE8,0x28,0x50,0x4E,0x33,0x0A,0x4A,
|
|
1076
|
+
0xA7,0x97,0x60,0x73,0x1E,0x00,0x62,0x44,0x1A,0xB8,0x38,0x82,0x64,0x9F,0x26,0x41,
|
|
1077
|
+
0xAD,0x45,0x46,0x92,0x27,0x5E,0x55,0x2F,0x8C,0xA3,0xA5,0x7D,0x69,0xD5,0x95,0x3B,
|
|
1078
|
+
0x07,0x58,0xB3,0x40,0x86,0xAC,0x1D,0xF7,0x30,0x37,0x6B,0xE4,0x88,0xD9,0xE7,0x89,
|
|
1079
|
+
0xE1,0x1B,0x83,0x49,0x4C,0x3F,0xF8,0xFE,0x8D,0x53,0xAA,0x90,0xCA,0xD8,0x85,0x61,
|
|
1080
|
+
0x20,0x71,0x67,0xA4,0x2D,0x2B,0x09,0x5B,0xCB,0x9B,0x25,0xD0,0xBE,0xE5,0x6C,0x52,
|
|
1081
|
+
0x59,0xA6,0x74,0xD2,0xE6,0xF4,0xB4,0xC0,0xD1,0x66,0xAF,0xC2,0x39,0x4B,0x63,0xB6])
|
|
1082
|
+
Kuznechik = Kuznyechik
|
|
1083
|
+
Streebog = Kuznyechik
|
|
1084
|
+
Stribog = Kuznyechik
|
|
1085
|
+
|
|
1086
|
+
Lilliput_AE = SBox([
|
|
1087
|
+
0x20, 0x00, 0xB2, 0x85, 0x3B, 0x35, 0xA6, 0xA4, 0x30, 0xE4, 0x6A, 0x2C, 0xFF, 0x59, 0xE2, 0x0E,
|
|
1088
|
+
0xF8, 0x1E, 0x7A, 0x80, 0x15, 0xBD, 0x3E, 0xB1, 0xE8, 0xF3, 0xA2, 0xC2, 0xDA, 0x51, 0x2A, 0x10,
|
|
1089
|
+
0x21, 0x01, 0x23, 0x78, 0x5C, 0x24, 0x27, 0xB5, 0x37, 0xC7, 0x2B, 0x1F, 0xAE, 0x0A, 0x77, 0x5F,
|
|
1090
|
+
0x6F, 0x09, 0x9D, 0x81, 0x04, 0x5A, 0x29, 0xDC, 0x39, 0x9C, 0x05, 0x57, 0x97, 0x74, 0x79, 0x17,
|
|
1091
|
+
0x44, 0xC6, 0xE6, 0xE9, 0xDD, 0x41, 0xF2, 0x8A, 0x54, 0xCA, 0x6E, 0x4A, 0xE1, 0xAD, 0xB6, 0x88,
|
|
1092
|
+
0x1C, 0x98, 0x7E, 0xCE, 0x63, 0x49, 0x3A, 0x5D, 0x0C, 0xEF, 0xF6, 0x34, 0x56, 0x25, 0x2E, 0xD6,
|
|
1093
|
+
0x67, 0x75, 0x55, 0x76, 0xB8, 0xD2, 0x61, 0xD9, 0x71, 0x8B, 0xCD, 0x0B, 0x72, 0x6C, 0x31, 0x4B,
|
|
1094
|
+
0x69, 0xFD, 0x7B, 0x6D, 0x60, 0x3C, 0x2F, 0x62, 0x3F, 0x22, 0x73, 0x13, 0xC9, 0x82, 0x7F, 0x53,
|
|
1095
|
+
0x32, 0x12, 0xA0, 0x7C, 0x02, 0x87, 0x84, 0x86, 0x93, 0x4E, 0x68, 0x46, 0x8D, 0xC3, 0xDB, 0xEC,
|
|
1096
|
+
0x9B, 0xB7, 0x89, 0x92, 0xA7, 0xBE, 0x3D, 0xD8, 0xEA, 0x50, 0x91, 0xF1, 0x33, 0x38, 0xE0, 0xA9,
|
|
1097
|
+
0xA3, 0x83, 0xA1, 0x1B, 0xCF, 0x06, 0x95, 0x07, 0x9E, 0xED, 0xB9, 0xF5, 0x4C, 0xC0, 0xF4, 0x2D,
|
|
1098
|
+
0x16, 0xFA, 0xB4, 0x03, 0x26, 0xB3, 0x90, 0x4F, 0xAB, 0x65, 0xFC, 0xFE, 0x14, 0xF7, 0xE3, 0x94,
|
|
1099
|
+
0xEE, 0xAC, 0x8C, 0x1A, 0xDE, 0xCB, 0x28, 0x40, 0x7D, 0xC8, 0xC4, 0x48, 0x6B, 0xDF, 0xA5, 0x52,
|
|
1100
|
+
0xE5, 0xFB, 0xD7, 0x64, 0xF9, 0xF0, 0xD3, 0x5E, 0x66, 0x96, 0x8F, 0x1D, 0x45, 0x36, 0xCC, 0xC5,
|
|
1101
|
+
0x4D, 0x9F, 0xBF, 0x0F, 0xD1, 0x08, 0xEB, 0x43, 0x42, 0x19, 0xE7, 0x99, 0xA8, 0x8E, 0x58, 0xC1,
|
|
1102
|
+
0x9A, 0xD4, 0x18, 0x47, 0xAA, 0xAF, 0xBC, 0x5B, 0xD5, 0x11, 0xD0, 0xB0, 0x70, 0xBB, 0x0D, 0xBA])
|
|
1103
|
+
|
|
1104
|
+
#source: https://crypto.stackexchange.com/questions/11935/how-is-the-md2-hash-function-s-table-constructed-from-pi
|
|
1105
|
+
# structure: pseudo-random, derived from the digits of pi
|
|
1106
|
+
MD2 = SBox([
|
|
1107
|
+
0x29,0x2E,0x43,0xC9,0xA2,0xD8,0x7C,0x01,0x3D,0x36,0x54,0xA1,0xEC,0xF0,0x06,0x13,
|
|
1108
|
+
0x62,0xA7,0x05,0xF3,0xC0,0xC7,0x73,0x8C,0x98,0x93,0x2B,0xD9,0xBC,0x4C,0x82,0xCA,
|
|
1109
|
+
0x1E,0x9B,0x57,0x3C,0xFD,0xD4,0xE0,0x16,0x67,0x42,0x6F,0x18,0x8A,0x17,0xE5,0x12,
|
|
1110
|
+
0xBE,0x4E,0xC4,0xD6,0xDA,0x9E,0xDE,0x49,0xA0,0xFB,0xF5,0x8E,0xBB,0x2F,0xEE,0x7A,
|
|
1111
|
+
0xA9,0x68,0x79,0x91,0x15,0xB2,0x07,0x3F,0x94,0xC2,0x10,0x89,0x0B,0x22,0x5F,0x21,
|
|
1112
|
+
0x80,0x7F,0x5D,0x9A,0x5A,0x90,0x32,0x27,0x35,0x3E,0xCC,0xE7,0xBF,0xF7,0x97,0x03,
|
|
1113
|
+
0xFF,0x19,0x30,0xB3,0x48,0xA5,0xB5,0xD1,0xD7,0x5E,0x92,0x2A,0xAC,0x56,0xAA,0xC6,
|
|
1114
|
+
0x4F,0xB8,0x38,0xD2,0x96,0xA4,0x7D,0xB6,0x76,0xFC,0x6B,0xE2,0x9C,0x74,0x04,0xF1,
|
|
1115
|
+
0x45,0x9D,0x70,0x59,0x64,0x71,0x87,0x20,0x86,0x5B,0xCF,0x65,0xE6,0x2D,0xA8,0x02,
|
|
1116
|
+
0x1B,0x60,0x25,0xAD,0xAE,0xB0,0xB9,0xF6,0x1C,0x46,0x61,0x69,0x34,0x40,0x7E,0x0F,
|
|
1117
|
+
0x55,0x47,0xA3,0x23,0xDD,0x51,0xAF,0x3A,0xC3,0x5C,0xF9,0xCE,0xBA,0xC5,0xEA,0x26,
|
|
1118
|
+
0x2C,0x53,0x0D,0x6E,0x85,0x28,0x84,0x09,0xD3,0xDF,0xCD,0xF4,0x41,0x81,0x4D,0x52,
|
|
1119
|
+
0x6A,0xDC,0x37,0xC8,0x6C,0xC1,0xAB,0xFA,0x24,0xE1,0x7B,0x08,0x0C,0xBD,0xB1,0x4A,
|
|
1120
|
+
0x78,0x88,0x95,0x8B,0xE3,0x63,0xE8,0x6D,0xE9,0xCB,0xD5,0xFE,0x3B,0x00,0x1D,0x39,
|
|
1121
|
+
0xF2,0xEF,0xB7,0x0E,0x66,0x58,0xD0,0xE4,0xA6,0x77,0x72,0xF8,0xEB,0x75,0x4B,0x0A,
|
|
1122
|
+
0x31,0x44,0x50,0xB4,0x8F,0xED,0x1F,0x1A,0xDB,0x99,0x8D,0x33,0x9F,0x11,0x83,0x14])
|
|
1123
|
+
|
|
1124
|
+
newDES = SBox([
|
|
1125
|
+
32,137,239,188,102,125,221, 72,212, 68, 81, 37, 86,237,147,149,
|
|
1126
|
+
70,229, 17,124,115,207, 33, 20,122,143, 25,215, 51,183,138,142,
|
|
1127
|
+
146,211,110,173, 1,228,189, 14,103, 78,162, 36,253,167,116,255,
|
|
1128
|
+
158, 45,185, 50, 98,168,250,235, 54,141,195,247,240, 63,148, 2,
|
|
1129
|
+
224,169,214,180, 62, 22,117,108, 19,172,161,159,160, 47, 43,171,
|
|
1130
|
+
194,175,178, 56,196,112, 23,220, 89, 21,164,130,157, 8, 85,251,
|
|
1131
|
+
216, 44, 94,179,226, 38, 90,119, 40,202, 34,206, 35, 69,231,246,
|
|
1132
|
+
29,109, 74, 71,176, 6, 60,145, 65, 13, 77,151, 12,127, 95,199,
|
|
1133
|
+
57,101, 5,232,150,210,129, 24,181, 10,121,187, 48,193,139,252,
|
|
1134
|
+
219, 64, 88,233, 96,128, 80, 53,191,144,218, 11,106,132,155,104,
|
|
1135
|
+
91,136, 31, 42,243, 66,126,135, 30, 26, 87,186,182,154,242,123,
|
|
1136
|
+
82,166,208, 39,152,190,113,205,114,105,225, 84, 73,163, 99,111,
|
|
1137
|
+
204, 61,200,217,170, 15,198, 28,192,254,134,234,222, 7,236,248,
|
|
1138
|
+
201, 41,177,156, 92,131, 67,249,245,184,203, 9,241, 0, 27, 46,
|
|
1139
|
+
133,174, 75, 18, 93,209,100,120, 76,213, 16, 83, 4,107,140, 52,
|
|
1140
|
+
58, 55, 3,244, 97,197,238,227,118, 49, 79,230,223,165,153, 59])
|
|
1141
|
+
|
|
1142
|
+
Picaro = SBox([
|
|
1143
|
+
0x08,0x0c,0x03,0x06,0x06,0x04,0x05,0x06,0x05,0x04,0x0c,0x0c,0x04,0x03,0x05,0x03,
|
|
1144
|
+
0x0a,0x1f,0x29,0x3b,0x4b,0x55,0x62,0x7b,0x82,0x95,0xaf,0xbf,0xc5,0xd9,0xe2,0xf9,
|
|
1145
|
+
0x01,0x2d,0x45,0x6a,0x8a,0xac,0xcf,0xea,0x9f,0xbc,0xdd,0xfd,0x1c,0x35,0x5f,0x75,
|
|
1146
|
+
0x0f,0x34,0x61,0x52,0xc2,0xfb,0xa3,0x92,0x13,0x2b,0x74,0x44,0xdb,0xe1,0xb3,0x81,
|
|
1147
|
+
0x0f,0x44,0x81,0xc2,0x92,0xdb,0x13,0x52,0xb3,0xfb,0x34,0x74,0x2b,0x61,0xa3,0xe1,
|
|
1148
|
+
0x0e,0x59,0xa4,0xf8,0xd8,0x87,0x7c,0x28,0x3c,0x67,0x99,0xc9,0xe7,0xb4,0x4c,0x14,
|
|
1149
|
+
0x02,0x63,0xca,0xad,0x1d,0x71,0xd7,0xbd,0x27,0x41,0xe3,0x83,0x31,0x5a,0xf7,0x9a,
|
|
1150
|
+
0x0f,0x74,0xe1,0x92,0x52,0x2b,0xb3,0xc2,0xa3,0xdb,0x44,0x34,0xfb,0x81,0x13,0x61,
|
|
1151
|
+
0x02,0x83,0x9a,0x1d,0xbd,0x31,0x27,0xad,0xf7,0x71,0x63,0xe3,0x41,0xca,0xd7,0x5a,
|
|
1152
|
+
0x0e,0x99,0xb4,0x28,0xf8,0x67,0x4c,0xd8,0x7c,0xe7,0xc9,0x59,0x87,0x14,0x3c,0xa4,
|
|
1153
|
+
0x0a,0xaf,0xd9,0x7b,0x3b,0x95,0xe2,0x4b,0x62,0xc5,0xbf,0x1f,0x55,0xf9,0x82,0x29,
|
|
1154
|
+
0x0a,0xbf,0xf9,0x4b,0x7b,0xc5,0x82,0x3b,0xe2,0x55,0x1f,0xaf,0x95,0x29,0x62,0xd9,
|
|
1155
|
+
0x0e,0xc9,0x14,0xd8,0x28,0xe7,0x3c,0xf8,0x4c,0x87,0x59,0x99,0x67,0xa4,0x7c,0xb4,
|
|
1156
|
+
0x01,0xdd,0x35,0xea,0x6a,0xbc,0x5f,0x8a,0xcf,0x1c,0xfd,0x2d,0xac,0x75,0x9f,0x45,
|
|
1157
|
+
0x02,0xe3,0x5a,0xbd,0xad,0x41,0xf7,0x1d,0xd7,0x31,0x83,0x63,0x71,0x9a,0x27,0xca,
|
|
1158
|
+
0x01,0xfd,0x75,0x8a,0xea,0x1c,0x9f,0x6a,0x5f,0xac,0x2d,0xdd,0xbc,0x45,0xcf,0x35])
|
|
1159
|
+
|
|
1160
|
+
Safer = SBox([
|
|
1161
|
+
1, 45, 226, 147, 190, 69, 21, 174, 120, 3, 135, 164, 184, 56, 207, 63,
|
|
1162
|
+
8, 103, 9, 148, 235, 38, 168, 107, 189, 24, 52, 27, 187, 191, 114, 247,
|
|
1163
|
+
64, 53, 72, 156, 81, 47, 59, 85, 227, 192, 159, 216, 211, 243, 141, 177,
|
|
1164
|
+
255, 167, 62, 220, 134, 119, 215, 166, 17, 251, 244, 186, 146, 145, 100, 131,
|
|
1165
|
+
241, 51, 239, 218, 44, 181, 178, 43, 136, 209, 153, 203, 140, 132, 29, 20,
|
|
1166
|
+
129, 151, 113, 202, 95, 163, 139, 87, 60, 130, 196, 82, 92, 28, 232, 160,
|
|
1167
|
+
4, 180, 133, 74, 246, 19, 84, 182, 223, 12, 26, 142, 222, 224, 57, 252,
|
|
1168
|
+
32, 155, 36, 78, 169, 152, 158, 171, 242, 96, 208, 108, 234, 250, 199, 217,
|
|
1169
|
+
0, 212, 31, 110, 67, 188, 236, 83, 137, 254, 122, 93, 73, 201, 50, 194,
|
|
1170
|
+
249, 154, 248, 109, 22, 219, 89, 150, 68, 233, 205, 230, 70, 66, 143, 10,
|
|
1171
|
+
193, 204, 185, 101, 176, 210, 198, 172, 30, 65, 98, 41, 46, 14, 116, 80,
|
|
1172
|
+
2, 90, 195, 37, 123, 138, 42, 91, 240, 6, 13, 71, 111, 112, 157, 126,
|
|
1173
|
+
16, 206, 18, 39, 213, 76, 79, 214, 121, 48, 104, 54, 117, 125, 228, 237,
|
|
1174
|
+
128, 106, 144, 55, 162, 94, 118, 170, 197, 127, 61, 175, 165, 229, 25, 97,
|
|
1175
|
+
253, 77, 124, 183, 11, 238, 173, 75, 34, 245, 231, 115, 35, 33, 200, 5,
|
|
1176
|
+
225, 102, 221, 179, 88, 105, 99, 86, 15, 161, 49, 149, 23, 7, 58, 40])
|
|
1177
|
+
|
|
1178
|
+
Scream = SBox([
|
|
1179
|
+
0x20,0x8D,0xB2,0xDA,0x33,0x35,0xA6,0xFF,0x7A,0x52,0x6A,0xC6,0xA4,0xA8,0x51,0x23,
|
|
1180
|
+
0xA2,0x96,0x30,0xAB,0xC8,0x17,0x14,0x9E,0xE8,0xF3,0xF8,0xDD,0x85,0xE2,0x4B,0xD8,
|
|
1181
|
+
0x6C,0x01,0x0E,0x3D,0xB6,0x39,0x4A,0x83,0x6F,0xAA,0x86,0x6E,0x68,0x40,0x98,0x5F,
|
|
1182
|
+
0x37,0x13,0x05,0x87,0x04,0x82,0x31,0x89,0x24,0x38,0x9D,0x54,0x22,0x7B,0x63,0xBD,
|
|
1183
|
+
0x75,0x2C,0x47,0xE9,0xC2,0x60,0x43,0xAC,0x57,0xA1,0x1F,0x27,0xE7,0xAD,0x5C,0xD2,
|
|
1184
|
+
0x0F,0x77,0xFD,0x08,0x79,0x3A,0x49,0x5D,0xED,0x90,0x65,0x7C,0x56,0x4F,0x2E,0x69,
|
|
1185
|
+
0xCD,0x44,0x3F,0x62,0x5B,0x88,0x6B,0xC4,0x5E,0x2D,0x67,0x0B,0x9F,0x21,0x29,0x2A,
|
|
1186
|
+
0xD6,0x7E,0x74,0xE0,0x41,0x73,0x50,0x76,0x55,0x97,0x3C,0x09,0x7D,0x5A,0x92,0x70,
|
|
1187
|
+
0x84,0xB9,0x26,0x34,0x1D,0x81,0x32,0x2B,0x36,0x64,0xAE,0xC0,0x00,0xEE,0x8F,0xA7,
|
|
1188
|
+
0xBE,0x58,0xDC,0x7F,0xEC,0x9B,0x78,0x10,0xCC,0x2F,0x94,0xF1,0x3B,0x9C,0x6D,0x16,
|
|
1189
|
+
0x48,0xB5,0xCA,0x11,0xFA,0x0D,0x8E,0x07,0xB1,0x0C,0x12,0x28,0x4C,0x46,0xF4,0x8B,
|
|
1190
|
+
0xA9,0xCF,0xBB,0x03,0xA0,0xFC,0xEF,0x25,0x80,0xF6,0xB3,0xBA,0x3E,0xF7,0xD5,0x91,
|
|
1191
|
+
0xC3,0x8A,0xC1,0x45,0xDE,0x66,0xF5,0x0A,0xC9,0x15,0xD9,0xA3,0x61,0x99,0xB0,0xE4,
|
|
1192
|
+
0xD1,0xFB,0xD3,0x4E,0xBF,0xD4,0xD7,0x71,0xCB,0x1E,0xDB,0x02,0x1A,0x93,0xEA,0xC5,
|
|
1193
|
+
0xEB,0x72,0xF9,0x1C,0xE5,0xCE,0x4D,0xF2,0x42,0x19,0xE1,0xDF,0x59,0x95,0xB7,0x8C,
|
|
1194
|
+
0x9A,0xF0,0x18,0xE6,0xC7,0xAF,0xBC,0xB8,0xE3,0x1B,0xD0,0xA5,0x53,0xB4,0x06,0xFE])
|
|
1195
|
+
|
|
1196
|
+
# Source: https://tools.ietf.org/html/rfc4269
|
|
1197
|
+
SEED_S0 = SBox([
|
|
1198
|
+
0xA9,0x85,0xD6,0xD3,0x54,0x1D,0xAC,0x25,0x5D,0x43,0x18,0x1E,0x51,0xFC,0xCA,0x63,
|
|
1199
|
+
0x28,0x44,0x20,0x9D,0xE0,0xE2,0xC8,0x17,0xA5,0x8F,0x03,0x7B,0xBB,0x13,0xD2,0xEE,
|
|
1200
|
+
0x70,0x8C,0x3F,0xA8,0x32,0xDD,0xF6,0x74,0xEC,0x95,0x0B,0x57,0x5C,0x5B,0xBD,0x01,
|
|
1201
|
+
0x24,0x1C,0x73,0x98,0x10,0xCC,0xF2,0xD9,0x2C,0xE7,0x72,0x83,0x9B,0xD1,0x86,0xC9,
|
|
1202
|
+
0x60,0x50,0xA3,0xEB,0x0D,0xB6,0x9E,0x4F,0xB7,0x5A,0xC6,0x78,0xA6,0x12,0xAF,0xD5,
|
|
1203
|
+
0x61,0xC3,0xB4,0x41,0x52,0x7D,0x8D,0x08,0x1F,0x99,0x00,0x19,0x04,0x53,0xF7,0xE1,
|
|
1204
|
+
0xFD,0x76,0x2F,0x27,0xB0,0x8B,0x0E,0xAB,0xA2,0x6E,0x93,0x4D,0x69,0x7C,0x09,0x0A,
|
|
1205
|
+
0xBF,0xEF,0xF3,0xC5,0x87,0x14,0xFE,0x64,0xDE,0x2E,0x4B,0x1A,0x06,0x21,0x6B,0x66,
|
|
1206
|
+
0x02,0xF5,0x92,0x8A,0x0C,0xB3,0x7E,0xD0,0x7A,0x47,0x96,0xE5,0x26,0x80,0xAD,0xDF,
|
|
1207
|
+
0xA1,0x30,0x37,0xAE,0x36,0x15,0x22,0x38,0xF4,0xA7,0x45,0x4C,0x81,0xE9,0x84,0x97,
|
|
1208
|
+
0x35,0xCB,0xCE,0x3C,0x71,0x11,0xC7,0x89,0x75,0xFB,0xDA,0xF8,0x94,0x59,0x82,0xC4,
|
|
1209
|
+
0xFF,0x49,0x39,0x67,0xC0,0xCF,0xD7,0xB8,0x0F,0x8E,0x42,0x23,0x91,0x6C,0xDB,0xA4,
|
|
1210
|
+
0x34,0xF1,0x48,0xC2,0x6F,0x3D,0x2D,0x40,0xBE,0x3E,0xBC,0xC1,0xAA,0xBA,0x4E,0x55,
|
|
1211
|
+
0x3B,0xDC,0x68,0x7F,0x9C,0xD8,0x4A,0x56,0x77,0xA0,0xED,0x46,0xB5,0x2B,0x65,0xFA,
|
|
1212
|
+
0xE3,0xB9,0xB1,0x9F,0x5E,0xF9,0xE6,0xB2,0x31,0xEA,0x6D,0x5F,0xE4,0xF0,0xCD,0x88,
|
|
1213
|
+
0x16,0x3A,0x58,0xD4,0x62,0x29,0x07,0x33,0xE8,0x1B,0x05,0x79,0x90,0x6A,0x2A,0x9A])
|
|
1214
|
+
|
|
1215
|
+
SEED_S1 = SBox([
|
|
1216
|
+
0x38,0xE8,0x2D,0xA6,0xCF,0xDE,0xB3,0xB8,0xAF,0x60,0x55,0xC7,0x44,0x6F,0x6B,0x5B,
|
|
1217
|
+
0xC3,0x62,0x33,0xB5,0x29,0xA0,0xE2,0xA7,0xD3,0x91,0x11,0x06,0x1C,0xBC,0x36,0x4B,
|
|
1218
|
+
0xEF,0x88,0x6C,0xA8,0x17,0xC4,0x16,0xF4,0xC2,0x45,0xE1,0xD6,0x3F,0x3D,0x8E,0x98,
|
|
1219
|
+
0x28,0x4E,0xF6,0x3E,0xA5,0xF9,0x0D,0xDF,0xD8,0x2B,0x66,0x7A,0x27,0x2F,0xF1,0x72,
|
|
1220
|
+
0x42,0xD4,0x41,0xC0,0x73,0x67,0xAC,0x8B,0xF7,0xAD,0x80,0x1F,0xCA,0x2C,0xAA,0x34,
|
|
1221
|
+
0xD2,0x0B,0xEE,0xE9,0x5D,0x94,0x18,0xF8,0x57,0xAE,0x08,0xC5,0x13,0xCD,0x86,0xB9,
|
|
1222
|
+
0xFF,0x7D,0xC1,0x31,0xF5,0x8A,0x6A,0xB1,0xD1,0x20,0xD7,0x02,0x22,0x04,0x68,0x71,
|
|
1223
|
+
0x07,0xDB,0x9D,0x99,0x61,0xBE,0xE6,0x59,0xDD,0x51,0x90,0xDC,0x9A,0xA3,0xAB,0xD0,
|
|
1224
|
+
0x81,0x0F,0x47,0x1A,0xE3,0xEC,0x8D,0xBF,0x96,0x7B,0x5C,0xA2,0xA1,0x63,0x23,0x4D,
|
|
1225
|
+
0xC8,0x9E,0x9C,0x3A,0x0C,0x2E,0xBA,0x6E,0x9F,0x5A,0xF2,0x92,0xF3,0x49,0x78,0xCC,
|
|
1226
|
+
0x15,0xFB,0x70,0x75,0x7F,0x35,0x10,0x03,0x64,0x6D,0xC6,0x74,0xD5,0xB4,0xEA,0x09,
|
|
1227
|
+
0x76,0x19,0xFE,0x40,0x12,0xE0,0xBD,0x05,0xFA,0x01,0xF0,0x2A,0x5E,0xA9,0x56,0x43,
|
|
1228
|
+
0x85,0x14,0x89,0x9B,0xB0,0xE5,0x48,0x79,0x97,0xFC,0x1E,0x82,0x21,0x8C,0x1B,0x5F,
|
|
1229
|
+
0x77,0x54,0xB2,0x1D,0x25,0x4F,0x00,0x46,0xED,0x58,0x52,0xEB,0x7E,0xDA,0xC9,0xFD,
|
|
1230
|
+
0x30,0x95,0x65,0x3C,0xB6,0xE4,0xBB,0x7C,0x0E,0x50,0x39,0x26,0x32,0x84,0x69,0x93,
|
|
1231
|
+
0x37,0xE7,0x24,0xA4,0xCB,0x53,0x0A,0x87,0xD9,0x4C,0x83,0x8F,0xCE,0x3B,0x4A,0xB7])
|
|
1232
|
+
|
|
1233
|
+
SKINNY_8 = SBox([
|
|
1234
|
+
0x65,0x4c,0x6a,0x42,0x4b,0x63,0x43,0x6b,0x55,0x75,0x5a,0x7a,0x53,0x73,0x5b,0x7b,
|
|
1235
|
+
0x35,0x8c,0x3a,0x81,0x89,0x33,0x80,0x3b,0x95,0x25,0x98,0x2a,0x90,0x23,0x99,0x2b,
|
|
1236
|
+
0xe5,0xcc,0xe8,0xc1,0xc9,0xe0,0xc0,0xe9,0xd5,0xf5,0xd8,0xf8,0xd0,0xf0,0xd9,0xf9,
|
|
1237
|
+
0xa5,0x1c,0xa8,0x12,0x1b,0xa0,0x13,0xa9,0x05,0xb5,0x0a,0xb8,0x03,0xb0,0x0b,0xb9,
|
|
1238
|
+
0x32,0x88,0x3c,0x85,0x8d,0x34,0x84,0x3d,0x91,0x22,0x9c,0x2c,0x94,0x24,0x9d,0x2d,
|
|
1239
|
+
0x62,0x4a,0x6c,0x45,0x4d,0x64,0x44,0x6d,0x52,0x72,0x5c,0x7c,0x54,0x74,0x5d,0x7d,
|
|
1240
|
+
0xa1,0x1a,0xac,0x15,0x1d,0xa4,0x14,0xad,0x02,0xb1,0x0c,0xbc,0x04,0xb4,0x0d,0xbd,
|
|
1241
|
+
0xe1,0xc8,0xec,0xc5,0xcd,0xe4,0xc4,0xed,0xd1,0xf1,0xdc,0xfc,0xd4,0xf4,0xdd,0xfd,
|
|
1242
|
+
0x36,0x8e,0x38,0x82,0x8b,0x30,0x83,0x39,0x96,0x26,0x9a,0x28,0x93,0x20,0x9b,0x29,
|
|
1243
|
+
0x66,0x4e,0x68,0x41,0x49,0x60,0x40,0x69,0x56,0x76,0x58,0x78,0x50,0x70,0x59,0x79,
|
|
1244
|
+
0xa6,0x1e,0xaa,0x11,0x19,0xa3,0x10,0xab,0x06,0xb6,0x08,0xba,0x00,0xb3,0x09,0xbb,
|
|
1245
|
+
0xe6,0xce,0xea,0xc2,0xcb,0xe3,0xc3,0xeb,0xd6,0xf6,0xda,0xfa,0xd3,0xf3,0xdb,0xfb,
|
|
1246
|
+
0x31,0x8a,0x3e,0x86,0x8f,0x37,0x87,0x3f,0x92,0x21,0x9e,0x2e,0x97,0x27,0x9f,0x2f,
|
|
1247
|
+
0x61,0x48,0x6e,0x46,0x4f,0x67,0x47,0x6f,0x51,0x71,0x5e,0x7e,0x57,0x77,0x5f,0x7f,
|
|
1248
|
+
0xa2,0x18,0xae,0x16,0x1f,0xa7,0x17,0xaf,0x01,0xb2,0x0e,0xbe,0x07,0xb7,0x0f,0xbf,
|
|
1249
|
+
0xe2,0xca,0xee,0xc6,0xcf,0xe7,0xc7,0xef,0xd2,0xf2,0xde,0xfe,0xd7,0xf7,0xdf,0xff])
|
|
1250
|
+
|
|
1251
|
+
ForkSkinny_8 = SKINNY_8
|
|
1252
|
+
Remus_8 = SKINNY_8
|
|
1253
|
+
Romulus = SKINNY_8
|
|
1254
|
+
|
|
1255
|
+
Skipjack = SBox([
|
|
1256
|
+
0xa3,0xd7,0x09,0x83,0xf8,0x48,0xf6,0xf4,0xb3,0x21,0x15,0x78,0x99,0xb1,0xaf,0xf9,
|
|
1257
|
+
0xe7,0x2d,0x4d,0x8a,0xce,0x4c,0xca,0x2e,0x52,0x95,0xd9,0x1e,0x4e,0x38,0x44,0x28,
|
|
1258
|
+
0x0a,0xdf,0x02,0xa0,0x17,0xf1,0x60,0x68,0x12,0xb7,0x7a,0xc3,0xe9,0xfa,0x3d,0x53,
|
|
1259
|
+
0x96,0x84,0x6b,0xba,0xf2,0x63,0x9a,0x19,0x7c,0xae,0xe5,0xf5,0xf7,0x16,0x6a,0xa2,
|
|
1260
|
+
0x39,0xb6,0x7b,0x0f,0xc1,0x93,0x81,0x1b,0xee,0xb4,0x1a,0xea,0xd0,0x91,0x2f,0xb8,
|
|
1261
|
+
0x55,0xb9,0xda,0x85,0x3f,0x41,0xbf,0xe0,0x5a,0x58,0x80,0x5f,0x66,0x0b,0xd8,0x90,
|
|
1262
|
+
0x35,0xd5,0xc0,0xa7,0x33,0x06,0x65,0x69,0x45,0x00,0x94,0x56,0x6d,0x98,0x9b,0x76,
|
|
1263
|
+
0x97,0xfc,0xb2,0xc2,0xb0,0xfe,0xdb,0x20,0xe1,0xeb,0xd6,0xe4,0xdd,0x47,0x4a,0x1d,
|
|
1264
|
+
0x42,0xed,0x9e,0x6e,0x49,0x3c,0xcd,0x43,0x27,0xd2,0x07,0xd4,0xde,0xc7,0x67,0x18,
|
|
1265
|
+
0x89,0xcb,0x30,0x1f,0x8d,0xc6,0x8f,0xaa,0xc8,0x74,0xdc,0xc9,0x5d,0x5c,0x31,0xa4,
|
|
1266
|
+
0x70,0x88,0x61,0x2c,0x9f,0x0d,0x2b,0x87,0x50,0x82,0x54,0x64,0x26,0x7d,0x03,0x40,
|
|
1267
|
+
0x34,0x4b,0x1c,0x73,0xd1,0xc4,0xfd,0x3b,0xcc,0xfb,0x7f,0xab,0xe6,0x3e,0x5b,0xa5,
|
|
1268
|
+
0xad,0x04,0x23,0x9c,0x14,0x51,0x22,0xf0,0x29,0x79,0x71,0x7e,0xff,0x8c,0x0e,0xe2,
|
|
1269
|
+
0x0c,0xef,0xbc,0x72,0x75,0x6f,0x37,0xa1,0xec,0xd3,0x8e,0x62,0x8b,0x86,0x10,0xe8,
|
|
1270
|
+
0x08,0x77,0x11,0xbe,0x92,0x4f,0x24,0xc5,0x32,0x36,0x9d,0xcf,0xf3,0xa6,0xbb,0xac,
|
|
1271
|
+
0x5e,0x6c,0xa9,0x13,0x57,0x25,0xb5,0xe3,0xbd,0xa8,0x3a,0x01,0x05,0x59,0x2a,0x46])
|
|
1272
|
+
|
|
1273
|
+
# source: www.gsma.com/aboutus/wp-content/uploads/2014/12/snow3gspec.doc
|
|
1274
|
+
SNOW_3G_sq = SBox([
|
|
1275
|
+
0x25,0x24,0x73,0x67,0xD7,0xAE,0x5C,0x30,0xA4,0xEE,0x6E,0xCB,0x7D,0xB5,0x82,0xDB,
|
|
1276
|
+
0xE4,0x8E,0x48,0x49,0x4F,0x5D,0x6A,0x78,0x70,0x88,0xE8,0x5F,0x5E,0x84,0x65,0xE2,
|
|
1277
|
+
0xD8,0xE9,0xCC,0xED,0x40,0x2F,0x11,0x28,0x57,0xD2,0xAC,0xE3,0x4A,0x15,0x1B,0xB9,
|
|
1278
|
+
0xB2,0x80,0x85,0xA6,0x2E,0x02,0x47,0x29,0x07,0x4B,0x0E,0xC1,0x51,0xAA,0x89,0xD4,
|
|
1279
|
+
0xCA,0x01,0x46,0xB3,0xEF,0xDD,0x44,0x7B,0xC2,0x7F,0xBE,0xC3,0x9F,0x20,0x4C,0x64,
|
|
1280
|
+
0x83,0xA2,0x68,0x42,0x13,0xB4,0x41,0xCD,0xBA,0xC6,0xBB,0x6D,0x4D,0x71,0x21,0xF4,
|
|
1281
|
+
0x8D,0xB0,0xE5,0x93,0xFE,0x8F,0xE6,0xCF,0x43,0x45,0x31,0x22,0x37,0x36,0x96,0xFA,
|
|
1282
|
+
0xBC,0x0F,0x08,0x52,0x1D,0x55,0x1A,0xC5,0x4E,0x23,0x69,0x7A,0x92,0xFF,0x5B,0x5A,
|
|
1283
|
+
0xEB,0x9A,0x1C,0xA9,0xD1,0x7E,0x0D,0xFC,0x50,0x8A,0xB6,0x62,0xF5,0x0A,0xF8,0xDC,
|
|
1284
|
+
0x03,0x3C,0x0C,0x39,0xF1,0xB8,0xF3,0x3D,0xF2,0xD5,0x97,0x66,0x81,0x32,0xA0,0x00,
|
|
1285
|
+
0x06,0xCE,0xF6,0xEA,0xB7,0x17,0xF7,0x8C,0x79,0xD6,0xA7,0xBF,0x8B,0x3F,0x1F,0x53,
|
|
1286
|
+
0x63,0x75,0x35,0x2C,0x60,0xFD,0x27,0xD3,0x94,0xA5,0x7C,0xA1,0x05,0x58,0x2D,0xBD,
|
|
1287
|
+
0xD9,0xC7,0xAF,0x6B,0x54,0x0B,0xE0,0x38,0x04,0xC8,0x9D,0xE7,0x14,0xB1,0x87,0x9C,
|
|
1288
|
+
0xDF,0x6F,0xF9,0xDA,0x2A,0xC4,0x59,0x16,0x74,0x91,0xAB,0x26,0x61,0x76,0x34,0x2B,
|
|
1289
|
+
0xAD,0x99,0xFB,0x72,0xEC,0x33,0x12,0xDE,0x98,0x3B,0xC0,0x9B,0x3E,0x18,0x10,0x3A,
|
|
1290
|
+
0x56,0xE1,0x77,0xC9,0x1E,0x9E,0x95,0xA3,0x90,0x19,0xA8,0x6C,0x09,0xD0,0xF0,0x86])
|
|
1291
|
+
|
|
1292
|
+
SMS4 = SBox([
|
|
1293
|
+
0xd6,0x90,0xe9,0xfe,0xcc,0xe1,0x3d,0xb7,0x16,0xb6,0x14,0xc2,0x28,0xfb,0x2c,0x05,
|
|
1294
|
+
0x2b,0x67,0x9a,0x76,0x2a,0xbe,0x04,0xc3,0xaa,0x44,0x13,0x26,0x49,0x86,0x06,0x99,
|
|
1295
|
+
0x9c,0x42,0x50,0xf4,0x91,0xef,0x98,0x7a,0x33,0x54,0x0b,0x43,0xed,0xcf,0xac,0x62,
|
|
1296
|
+
0xe4,0xb3,0x1c,0xa9,0xc9,0x08,0xe8,0x95,0x80,0xdf,0x94,0xfa,0x75,0x8f,0x3f,0xa6,
|
|
1297
|
+
0x47,0x07,0xa7,0xfc,0xf3,0x73,0x17,0xba,0x83,0x59,0x3c,0x19,0xe6,0x85,0x4f,0xa8,
|
|
1298
|
+
0x68,0x6b,0x81,0xb2,0x71,0x64,0xda,0x8b,0xf8,0xeb,0x0f,0x4b,0x70,0x56,0x9d,0x35,
|
|
1299
|
+
0x1e,0x24,0x0e,0x5e,0x63,0x58,0xd1,0xa2,0x25,0x22,0x7c,0x3b,0x01,0x21,0x78,0x87,
|
|
1300
|
+
0xd4,0x00,0x46,0x57,0x9f,0xd3,0x27,0x52,0x4c,0x36,0x02,0xe7,0xa0,0xc4,0xc8,0x9e,
|
|
1301
|
+
0xea,0xbf,0x8a,0xd2,0x40,0xc7,0x38,0xb5,0xa3,0xf7,0xf2,0xce,0xf9,0x61,0x15,0xa1,
|
|
1302
|
+
0xe0,0xae,0x5d,0xa4,0x9b,0x34,0x1a,0x55,0xad,0x93,0x32,0x30,0xf5,0x8c,0xb1,0xe3,
|
|
1303
|
+
0x1d,0xf6,0xe2,0x2e,0x82,0x66,0xca,0x60,0xc0,0x29,0x23,0xab,0x0d,0x53,0x4e,0x6f,
|
|
1304
|
+
0xd5,0xdb,0x37,0x45,0xde,0xfd,0x8e,0x2f,0x03,0xff,0x6a,0x72,0x6d,0x6c,0x5b,0x51,
|
|
1305
|
+
0x8d,0x1b,0xaf,0x92,0xbb,0xdd,0xbc,0x7f,0x11,0xd9,0x5c,0x41,0x1f,0x10,0x5a,0xd8,
|
|
1306
|
+
0x0a,0xc1,0x31,0x88,0xa5,0xcd,0x7b,0xbd,0x2d,0x74,0xd0,0x12,0xb8,0xe5,0xb4,0xb0,
|
|
1307
|
+
0x89,0x69,0x97,0x4a,0x0c,0x96,0x77,0x7e,0x65,0xb9,0xf1,0x09,0xc5,0x6e,0xc6,0x84,
|
|
1308
|
+
0x18,0xf0,0x7d,0xec,0x3a,0xdc,0x4d,0x20,0x79,0xee,0x5f,0x3e,0xd7,0xcb,0x39,0x48])
|
|
1309
|
+
|
|
1310
|
+
# source: https://www.iacr.org/archive/fse2003/28870306/28870306.pdf
|
|
1311
|
+
# structure: random, obtained from RC4
|
|
1312
|
+
Turing = SBox([
|
|
1313
|
+
0x61,0x51,0xeb,0x19,0xb9,0x5d,0x60,0x38,0x7c,0xb2,0x06,0x12,0xc4,0x5b,0x16,0x3b,
|
|
1314
|
+
0x2b,0x18,0x83,0xb0,0x7f,0x75,0xfa,0xa0,0xe9,0xdd,0x6d,0x7a,0x6b,0x68,0x2d,0x49,
|
|
1315
|
+
0xb5,0x1c,0x90,0xf7,0xed,0x9f,0xe8,0xce,0xae,0x77,0xc2,0x13,0xfd,0xcd,0x3e,0xcf,
|
|
1316
|
+
0x37,0x6a,0xd4,0xdb,0x8e,0x65,0x1f,0x1a,0x87,0xcb,0x40,0x15,0x88,0x0d,0x35,0xb3,
|
|
1317
|
+
0x11,0x0f,0xd0,0x30,0x48,0xf9,0xa8,0xac,0x85,0x27,0x0e,0x8a,0xe0,0x50,0x64,0xa7,
|
|
1318
|
+
0xcc,0xe4,0xf1,0x98,0xff,0xa1,0x04,0xda,0xd5,0xbc,0x1b,0xbb,0xd1,0xfe,0x31,0xca,
|
|
1319
|
+
0xba,0xd9,0x2e,0xf3,0x1d,0x47,0x4a,0x3d,0x71,0x4c,0xab,0x7d,0x8d,0xc7,0x59,0xb8,
|
|
1320
|
+
0xc1,0x96,0x1e,0xfc,0x44,0xc8,0x7b,0xdc,0x5c,0x78,0x2a,0x9d,0xa5,0xf0,0x73,0x22,
|
|
1321
|
+
0x89,0x05,0xf4,0x07,0x21,0x52,0xa6,0x28,0x9a,0x92,0x69,0x8f,0xc5,0xc3,0xf5,0xe1,
|
|
1322
|
+
0xde,0xec,0x09,0xf2,0xd3,0xaf,0x34,0x23,0xaa,0xdf,0x7e,0x82,0x29,0xc0,0x24,0x14,
|
|
1323
|
+
0x03,0x32,0x4e,0x39,0x6f,0xc6,0xb1,0x9b,0xea,0x72,0x79,0x41,0xd8,0x26,0x6c,0x5e,
|
|
1324
|
+
0x2c,0xb4,0xa2,0x53,0x57,0xe2,0x9c,0x86,0x54,0x95,0xb6,0x80,0x8c,0x36,0x67,0xbd,
|
|
1325
|
+
0x08,0x93,0x2f,0x99,0x5a,0xf8,0x3a,0xd7,0x56,0x84,0xd2,0x01,0xf6,0x66,0x4d,0x55,
|
|
1326
|
+
0x8b,0x0c,0x0b,0x46,0xb7,0x3c,0x45,0x91,0xa4,0xe3,0x70,0xd6,0xfb,0xe6,0x10,0xa9,
|
|
1327
|
+
0xc9,0x00,0x9e,0xe7,0x4f,0x76,0x25,0x3f,0x5f,0xa3,0x33,0x20,0x02,0xef,0x62,0x74,
|
|
1328
|
+
0xee,0x17,0x81,0x42,0x58,0x0a,0x4b,0x63,0xe5,0xbe,0x6e,0xad,0xbf,0x43,0x94,0x97])
|
|
1329
|
+
|
|
1330
|
+
# source: https://www.schneier.com/cryptography/paperfiles/paper-twofish-paper.pdf
|
|
1331
|
+
# structure: ASAS, the 4 bit S-Boxes q0 ti for i=0..3 are provided below
|
|
1332
|
+
Twofish_p0 = SBox([
|
|
1333
|
+
0xA9,0x67,0xB3,0xE8,0x04,0xFD,0xA3,0x76,0x9A,0x92,0x80,0x78,0xE4,0xDD,0xD1,0x38,
|
|
1334
|
+
0x0D,0xC6,0x35,0x98,0x18,0xF7,0xEC,0x6C,0x43,0x75,0x37,0x26,0xFA,0x13,0x94,0x48,
|
|
1335
|
+
0xF2,0xD0,0x8B,0x30,0x84,0x54,0xDF,0x23,0x19,0x5B,0x3D,0x59,0xF3,0xAE,0xA2,0x82,
|
|
1336
|
+
0x63,0x01,0x83,0x2E,0xD9,0x51,0x9B,0x7C,0xA6,0xEB,0xA5,0xBE,0x16,0x0C,0xE3,0x61,
|
|
1337
|
+
0xC0,0x8C,0x3A,0xF5,0x73,0x2C,0x25,0x0B,0xBB,0x4E,0x89,0x6B,0x53,0x6A,0xB4,0xF1,
|
|
1338
|
+
0xE1,0xE6,0xBD,0x45,0xE2,0xF4,0xB6,0x66,0xCC,0x95,0x03,0x56,0xD4,0x1C,0x1E,0xD7,
|
|
1339
|
+
0xFB,0xC3,0x8E,0xB5,0xE9,0xCF,0xBF,0xBA,0xEA,0x77,0x39,0xAF,0x33,0xC9,0x62,0x71,
|
|
1340
|
+
0x81,0x79,0x09,0xAD,0x24,0xCD,0xF9,0xD8,0xE5,0xC5,0xB9,0x4D,0x44,0x08,0x86,0xE7,
|
|
1341
|
+
0xA1,0x1D,0xAA,0xED,0x06,0x70,0xB2,0xD2,0x41,0x7B,0xA0,0x11,0x31,0xC2,0x27,0x90,
|
|
1342
|
+
0x20,0xF6,0x60,0xFF,0x96,0x5C,0xB1,0xAB,0x9E,0x9C,0x52,0x1B,0x5F,0x93,0x0A,0xEF,
|
|
1343
|
+
0x91,0x85,0x49,0xEE,0x2D,0x4F,0x8F,0x3B,0x47,0x87,0x6D,0x46,0xD6,0x3E,0x69,0x64,
|
|
1344
|
+
0x2A,0xCE,0xCB,0x2F,0xFC,0x97,0x05,0x7A,0xAC,0x7F,0xD5,0x1A,0x4B,0x0E,0xA7,0x5A,
|
|
1345
|
+
0x28,0x14,0x3F,0x29,0x88,0x3C,0x4C,0x02,0xB8,0xDA,0xB0,0x17,0x55,0x1F,0x8A,0x7D,
|
|
1346
|
+
0x57,0xC7,0x8D,0x74,0xB7,0xC4,0x9F,0x72,0x7E,0x15,0x22,0x12,0x58,0x07,0x99,0x34,
|
|
1347
|
+
0x6E,0x50,0xDE,0x68,0x65,0xBC,0xDB,0xF8,0xC8,0xA8,0x2B,0x40,0xDC,0xFE,0x32,0xA4,
|
|
1348
|
+
0xCA,0x10,0x21,0xF0,0xD3,0x5D,0x0F,0x00,0x6F,0x9D,0x36,0x42,0x4A,0x5E,0xC1,0xE0])
|
|
1349
|
+
|
|
1350
|
+
# source: https://www.schneier.com/cryptography/paperfiles/paper-twofish-paper.pdf
|
|
1351
|
+
# structure: ASAS, the 4 bit S-Boxes q1 ti for i=0..3 are provided below
|
|
1352
|
+
Twofish_p1 = SBox([
|
|
1353
|
+
0x75,0xF3,0xC6,0xF4,0xDB,0x7B,0xFB,0xC8,0x4A,0xD3,0xE6,0x6B,0x45,0x7D,0xE8,0x4B,
|
|
1354
|
+
0xD6,0x32,0xD8,0xFD,0x37,0x71,0xF1,0xE1,0x30,0x0F,0xF8,0x1B,0x87,0xFA,0x06,0x3F,
|
|
1355
|
+
0x5E,0xBA,0xAE,0x5B,0x8A,0x00,0xBC,0x9D,0x6D,0xC1,0xB1,0x0E,0x80,0x5D,0xD2,0xD5,
|
|
1356
|
+
0xA0,0x84,0x07,0x14,0xB5,0x90,0x2C,0xA3,0xB2,0x73,0x4C,0x54,0x92,0x74,0x36,0x51,
|
|
1357
|
+
0x38,0xB0,0xBD,0x5A,0xFC,0x60,0x62,0x96,0x6C,0x42,0xF7,0x10,0x7C,0x28,0x27,0x8C,
|
|
1358
|
+
0x13,0x95,0x9C,0xC7,0x24,0x46,0x3B,0x70,0xCA,0xE3,0x85,0xCB,0x11,0xD0,0x93,0xB8,
|
|
1359
|
+
0xA6,0x83,0x20,0xFF,0x9F,0x77,0xC3,0xCC,0x03,0x6F,0x08,0xBF,0x40,0xE7,0x2B,0xE2,
|
|
1360
|
+
0x79,0x0C,0xAA,0x82,0x41,0x3A,0xEA,0xB9,0xE4,0x9A,0xA4,0x97,0x7E,0xDA,0x7A,0x17,
|
|
1361
|
+
0x66,0x94,0xA1,0x1D,0x3D,0xF0,0xDE,0xB3,0x0B,0x72,0xA7,0x1C,0xEF,0xD1,0x53,0x3E,
|
|
1362
|
+
0x8F,0x33,0x26,0x5F,0xEC,0x76,0x2A,0x49,0x81,0x88,0xEE,0x21,0xC4,0x1A,0xEB,0xD9,
|
|
1363
|
+
0xC5,0x39,0x99,0xCD,0xAD,0x31,0x8B,0x01,0x18,0x23,0xDD,0x1F,0x4E,0x2D,0xF9,0x48,
|
|
1364
|
+
0x4F,0xF2,0x65,0x8E,0x78,0x5C,0x58,0x19,0x8D,0xE5,0x98,0x57,0x67,0x7F,0x05,0x64,
|
|
1365
|
+
0xAF,0x63,0xB6,0xFE,0xF5,0xB7,0x3C,0xA5,0xCE,0xE9,0x68,0x44,0xE0,0x4D,0x43,0x69,
|
|
1366
|
+
0x29,0x2E,0xAC,0x15,0x59,0xA8,0x0A,0x9E,0x6E,0x47,0xDF,0x34,0x35,0x6A,0xCF,0xDC,
|
|
1367
|
+
0x22,0xC9,0xC0,0x9B,0x89,0xD4,0xED,0xAB,0x12,0xA2,0x0D,0x52,0xBB,0x02,0x2F,0xA9,
|
|
1368
|
+
0xD7,0x61,0x1E,0xB4,0x50,0x04,0xF6,0xC2,0x16,0x25,0x86,0x56,0x55,0x09,0xBE,0x91])
|
|
1369
|
+
|
|
1370
|
+
Whirlpool = SBox([
|
|
1371
|
+
0x18,0x23,0xc6,0xE8,0x87,0xB8,0x01,0x4F,0x36,0xA6,0xd2,0xF5,0x79,0x6F,0x91,0x52,
|
|
1372
|
+
0x60,0xBc,0x9B,0x8E,0xA3,0x0c,0x7B,0x35,0x1d,0xE0,0xd7,0xc2,0x2E,0x4B,0xFE,0x57,
|
|
1373
|
+
0x15,0x77,0x37,0xE5,0x9F,0xF0,0x4A,0xdA,0x58,0xc9,0x29,0x0A,0xB1,0xA0,0x6B,0x85,
|
|
1374
|
+
0xBd,0x5d,0x10,0xF4,0xcB,0x3E,0x05,0x67,0xE4,0x27,0x41,0x8B,0xA7,0x7d,0x95,0xd8,
|
|
1375
|
+
0xFB,0xEE,0x7c,0x66,0xdd,0x17,0x47,0x9E,0xcA,0x2d,0xBF,0x07,0xAd,0x5A,0x83,0x33,
|
|
1376
|
+
0x63,0x02,0xAA,0x71,0xc8,0x19,0x49,0xd9,0xF2,0xE3,0x5B,0x88,0x9A,0x26,0x32,0xB0,
|
|
1377
|
+
0xE9,0x0F,0xd5,0x80,0xBE,0xcd,0x34,0x48,0xFF,0x7A,0x90,0x5F,0x20,0x68,0x1A,0xAE,
|
|
1378
|
+
0xB4,0x54,0x93,0x22,0x64,0xF1,0x73,0x12,0x40,0x08,0xc3,0xEc,0xdB,0xA1,0x8d,0x3d,
|
|
1379
|
+
0x97,0x00,0xcF,0x2B,0x76,0x82,0xd6,0x1B,0xB5,0xAF,0x6A,0x50,0x45,0xF3,0x30,0xEF,
|
|
1380
|
+
0x3F,0x55,0xA2,0xEA,0x65,0xBA,0x2F,0xc0,0xdE,0x1c,0xFd,0x4d,0x92,0x75,0x06,0x8A,
|
|
1381
|
+
0xB2,0xE6,0x0E,0x1F,0x62,0xd4,0xA8,0x96,0xF9,0xc5,0x25,0x59,0x84,0x72,0x39,0x4c,
|
|
1382
|
+
0x5E,0x78,0x38,0x8c,0xd1,0xA5,0xE2,0x61,0xB3,0x21,0x9c,0x1E,0x43,0xc7,0xFc,0x04,
|
|
1383
|
+
0x51,0x99,0x6d,0x0d,0xFA,0xdF,0x7E,0x24,0x3B,0xAB,0xcE,0x11,0x8F,0x4E,0xB7,0xEB,
|
|
1384
|
+
0x3c,0x81,0x94,0xF7,0xB9,0x13,0x2c,0xd3,0xE7,0x6E,0xc4,0x03,0x56,0x44,0x7F,0xA9,
|
|
1385
|
+
0x2A,0xBB,0xc1,0x53,0xdc,0x0B,0x9d,0x6c,0x31,0x74,0xF6,0x46,0xAc,0x89,0x14,0xE1,
|
|
1386
|
+
0x16,0x3A,0x69,0x09,0x70,0xB6,0xd0,0xEd,0xcc,0x42,0x98,0xA4,0x28,0x5c,0xF8,0x86])
|
|
1387
|
+
|
|
1388
|
+
Zorro = SBox([
|
|
1389
|
+
0xB2,0xE5,0x5E,0xFD,0x5F,0xC5,0x50,0xBC,0xDC,0x4A,0xFA,0x88,0x28,0xD8,0xE0,0xD1,
|
|
1390
|
+
0xB5,0xD0,0x3C,0xB0,0x99,0xC1,0xE8,0xE2,0x13,0x59,0xA7,0xFB,0x71,0x34,0x31,0xF1,
|
|
1391
|
+
0x9F,0x3A,0xCE,0x6E,0xA8,0xA4,0xB4,0x7E,0x1F,0xB7,0x51,0x1D,0x38,0x9D,0x46,0x69,
|
|
1392
|
+
0x53,0xE,0x42,0x1B,0xF,0x11,0x68,0xCA,0xAA,0x6,0xF0,0xBD,0x26,0x6F,0x0,0xD9,
|
|
1393
|
+
0x62,0xF3,0x15,0x60,0xF2,0x3D,0x7F,0x35,0x63,0x2D,0x67,0x93,0x1C,0x91,0xF9,0x9C,
|
|
1394
|
+
0x66,0x2A,0x81,0x20,0x95,0xF8,0xE3,0x4D,0x5A,0x6D,0x24,0x7B,0xB9,0xEF,0xDF,0xDA,
|
|
1395
|
+
0x58,0xA9,0x92,0x76,0x2E,0xB3,0x39,0xC,0x29,0xCD,0x43,0xFE,0xAB,0xF5,0x94,0x23,
|
|
1396
|
+
0x16,0x80,0xC0,0x12,0x4C,0xE9,0x48,0x19,0x8,0xAE,0x41,0x70,0x84,0x14,0xA2,0xD5,
|
|
1397
|
+
0xB8,0x33,0x65,0xBA,0xED,0x17,0xCF,0x96,0x1E,0x3B,0xB,0xC2,0xC8,0xB6,0xBB,0x8B,
|
|
1398
|
+
0xA1,0x54,0x75,0xC4,0x10,0x5D,0xD6,0x25,0x97,0xE6,0xFC,0x49,0xF7,0x52,0x18,0x86,
|
|
1399
|
+
0x8D,0xCB,0xE1,0xBF,0xD7,0x8E,0x37,0xBE,0x82,0xCC,0x64,0x90,0x7C,0x32,0x8F,0x4B,
|
|
1400
|
+
0xAC,0x1A,0xEA,0xD3,0xF4,0x6B,0x2C,0xFF,0x55,0xA,0x45,0x9,0x89,0x1,0x30,0x2B,
|
|
1401
|
+
0xD2,0x77,0x87,0x72,0xEB,0x36,0xDE,0x9E,0x8C,0xDB,0x6C,0x9B,0x5,0x2,0x4E,0xAF,
|
|
1402
|
+
0x4,0xAD,0x74,0xC3,0xEE,0xA6,0xF6,0xC7,0x7D,0x40,0xD4,0xD,0x3E,0x5B,0xEC,0x78,
|
|
1403
|
+
0xA0,0xB1,0x44,0x73,0x47,0x5C,0x98,0x21,0x22,0x61,0x3F,0xC6,0x7A,0x56,0xDD,0xE7,
|
|
1404
|
+
0x85,0xC9,0x8A,0x57,0x27,0x7,0x9A,0x3,0xA3,0x83,0xE4,0x6A,0xA5,0x2F,0x79,0x4F])
|
|
1405
|
+
|
|
1406
|
+
ZUC_S0 = SBox([
|
|
1407
|
+
0x3e,0x72,0x5b,0x47,0xca,0xe0,0x00,0x33,0x04,0xd1,0x54,0x98,0x09,0xb9,0x6d,0xcb,
|
|
1408
|
+
0x7b,0x1b,0xf9,0x32,0xaf,0x9d,0x6a,0xa5,0xb8,0x2d,0xfc,0x1d,0x08,0x53,0x03,0x90,
|
|
1409
|
+
0x4d,0x4e,0x84,0x99,0xe4,0xce,0xd9,0x91,0xdd,0xb6,0x85,0x48,0x8b,0x29,0x6e,0xac,
|
|
1410
|
+
0xcd,0xc1,0xf8,0x1e,0x73,0x43,0x69,0xc6,0xb5,0xbd,0xfd,0x39,0x63,0x20,0xd4,0x38,
|
|
1411
|
+
0x76,0x7d,0xb2,0xa7,0xcf,0xed,0x57,0xc5,0xf3,0x2c,0xbb,0x14,0x21,0x06,0x55,0x9b,
|
|
1412
|
+
0xe3,0xef,0x5e,0x31,0x4f,0x7f,0x5a,0xa4,0x0d,0x82,0x51,0x49,0x5f,0xba,0x58,0x1c,
|
|
1413
|
+
0x4a,0x16,0xd5,0x17,0xa8,0x92,0x24,0x1f,0x8c,0xff,0xd8,0xae,0x2e,0x01,0xd3,0xad,
|
|
1414
|
+
0x3b,0x4b,0xda,0x46,0xeb,0xc9,0xde,0x9a,0x8f,0x87,0xd7,0x3a,0x80,0x6f,0x2f,0xc8,
|
|
1415
|
+
0xb1,0xb4,0x37,0xf7,0x0a,0x22,0x13,0x28,0x7c,0xcc,0x3c,0x89,0xc7,0xc3,0x96,0x56,
|
|
1416
|
+
0x07,0xbf,0x7e,0xf0,0x0b,0x2b,0x97,0x52,0x35,0x41,0x79,0x61,0xa6,0x4c,0x10,0xfe,
|
|
1417
|
+
0xbc,0x26,0x95,0x88,0x8a,0xb0,0xa3,0xfb,0xc0,0x18,0x94,0xf2,0xe1,0xe5,0xe9,0x5d,
|
|
1418
|
+
0xd0,0xdc,0x11,0x66,0x64,0x5c,0xec,0x59,0x42,0x75,0x12,0xf5,0x74,0x9c,0xaa,0x23,
|
|
1419
|
+
0x0e,0x86,0xab,0xbe,0x2a,0x02,0xe7,0x67,0xe6,0x44,0xa2,0x6c,0xc2,0x93,0x9f,0xf1,
|
|
1420
|
+
0xf6,0xfa,0x36,0xd2,0x50,0x68,0x9e,0x62,0x71,0x15,0x3d,0xd6,0x40,0xc4,0xe2,0x0f,
|
|
1421
|
+
0x8e,0x83,0x77,0x6b,0x25,0x05,0x3f,0x0c,0x30,0xea,0x70,0xb7,0xa1,0xe8,0xa9,0x65,
|
|
1422
|
+
0x8d,0x27,0x1a,0xdb,0x81,0xb3,0xa0,0xf4,0x45,0x7a,0x19,0xdf,0xee,0x78,0x34,0x60])
|
|
1423
|
+
|
|
1424
|
+
ZUC_S1 = SBox([
|
|
1425
|
+
0x55,0xc2,0x63,0x71,0x3b,0xc8,0x47,0x86,0x9f,0x3c,0xda,0x5b,0x29,0xaa,0xfd,0x77,
|
|
1426
|
+
0x8c,0xc5,0x94,0x0c,0xa6,0x1a,0x13,0x00,0xe3,0xa8,0x16,0x72,0x40,0xf9,0xf8,0x42,
|
|
1427
|
+
0x44,0x26,0x68,0x96,0x81,0xd9,0x45,0x3e,0x10,0x76,0xc6,0xa7,0x8b,0x39,0x43,0xe1,
|
|
1428
|
+
0x3a,0xb5,0x56,0x2a,0xc0,0x6d,0xb3,0x05,0x22,0x66,0xbf,0xdc,0x0b,0xfa,0x62,0x48,
|
|
1429
|
+
0xdd,0x20,0x11,0x06,0x36,0xc9,0xc1,0xcf,0xf6,0x27,0x52,0xbb,0x69,0xf5,0xd4,0x87,
|
|
1430
|
+
0x7f,0x84,0x4c,0xd2,0x9c,0x57,0xa4,0xbc,0x4f,0x9a,0xdf,0xfe,0xd6,0x8d,0x7a,0xeb,
|
|
1431
|
+
0x2b,0x53,0xd8,0x5c,0xa1,0x14,0x17,0xfb,0x23,0xd5,0x7d,0x30,0x67,0x73,0x08,0x09,
|
|
1432
|
+
0xee,0xb7,0x70,0x3f,0x61,0xb2,0x19,0x8e,0x4e,0xe5,0x4b,0x93,0x8f,0x5d,0xdb,0xa9,
|
|
1433
|
+
0xad,0xf1,0xae,0x2e,0xcb,0x0d,0xfc,0xf4,0x2d,0x46,0x6e,0x1d,0x97,0xe8,0xd1,0xe9,
|
|
1434
|
+
0x4d,0x37,0xa5,0x75,0x5e,0x83,0x9e,0xab,0x82,0x9d,0xb9,0x1c,0xe0,0xcd,0x49,0x89,
|
|
1435
|
+
0x01,0xb6,0xbd,0x58,0x24,0xa2,0x5f,0x38,0x78,0x99,0x15,0x90,0x50,0xb8,0x95,0xe4,
|
|
1436
|
+
0xd0,0x91,0xc7,0xce,0xed,0x0f,0xb4,0x6f,0xa0,0xcc,0xf0,0x02,0x4a,0x79,0xc3,0xde,
|
|
1437
|
+
0xa3,0xef,0xea,0x51,0xe6,0x6b,0x18,0xec,0x1b,0x2c,0x80,0xf7,0x74,0xe7,0xff,0x21,
|
|
1438
|
+
0x5a,0x6a,0x54,0x1e,0x41,0x31,0x92,0x35,0xc4,0x33,0x07,0x0a,0xba,0x7e,0x0e,0x34,
|
|
1439
|
+
0x88,0xb1,0x98,0x7c,0xf3,0x3d,0x60,0x6c,0x7b,0xca,0xd3,0x1f,0x32,0x65,0x04,0x28,
|
|
1440
|
+
0x64,0xbe,0x85,0x9b,0x2f,0x59,0x8a,0xd7,0xb0,0x25,0xac,0xaf,0x12,0x03,0xe2,0xf2])
|
|
1441
|
+
|
|
1442
|
+
# Bijective S-Boxes mapping 7 bits to 7
|
|
1443
|
+
# =====================================
|
|
1444
|
+
|
|
1445
|
+
WAGE = SBox([
|
|
1446
|
+
0x2e, 0x1c, 0x6d, 0x2b, 0x35, 0x07, 0x7f, 0x3b, 0x28, 0x08, 0x0b, 0x5f, 0x31, 0x11, 0x1b, 0x4d,
|
|
1447
|
+
0x6e, 0x54, 0x0d, 0x09, 0x1f, 0x45, 0x75, 0x53, 0x6a, 0x5d, 0x61, 0x00, 0x04, 0x78, 0x06, 0x1e,
|
|
1448
|
+
0x37, 0x6f, 0x2f, 0x49, 0x64, 0x34, 0x7d, 0x19, 0x39, 0x33, 0x43, 0x57, 0x60, 0x62, 0x13, 0x05,
|
|
1449
|
+
0x77, 0x47, 0x4f, 0x4b, 0x1d, 0x2d, 0x24, 0x48, 0x74, 0x58, 0x25, 0x5e, 0x5a, 0x76, 0x41, 0x42,
|
|
1450
|
+
0x27, 0x3e, 0x6c, 0x01, 0x2c, 0x3c, 0x4e, 0x1a, 0x21, 0x2a, 0x0a, 0x55, 0x3a, 0x38, 0x18, 0x7e,
|
|
1451
|
+
0x0c, 0x63, 0x67, 0x56, 0x50, 0x7c, 0x32, 0x7a, 0x68, 0x02, 0x6b, 0x17, 0x7b, 0x59, 0x71, 0x0f,
|
|
1452
|
+
0x30, 0x10, 0x22, 0x3d, 0x40, 0x69, 0x52, 0x14, 0x36, 0x44, 0x46, 0x03, 0x16, 0x65, 0x66, 0x72,
|
|
1453
|
+
0x12, 0x0e, 0x29, 0x4a, 0x4c, 0x70, 0x15, 0x26, 0x79, 0x51, 0x23, 0x3f, 0x73, 0x5b, 0x20, 0x5c])
|
|
1454
|
+
|
|
1455
|
+
# Bijective S-Boxes mapping 6 bits to 6
|
|
1456
|
+
# =====================================
|
|
1457
|
+
|
|
1458
|
+
Fides_6 = SBox([
|
|
1459
|
+
0x36,0x00,0x30,0x0d,0x0f,0x12,0x23,0x35,0x3f,0x19,0x2d,0x34,0x03,0x14,0x21,0x29,
|
|
1460
|
+
0x08,0x0a,0x39,0x25,0x3b,0x24,0x22,0x02,0x1a,0x32,0x3a,0x18,0x3c,0x13,0x0e,0x2a,
|
|
1461
|
+
0x2e,0x3d,0x05,0x31,0x1f,0x0b,0x1c,0x04,0x0c,0x1e,0x37,0x16,0x09,0x06,0x20,0x17,
|
|
1462
|
+
0x1b,0x27,0x15,0x11,0x10,0x1d,0x3e,0x01,0x28,0x2f,0x33,0x38,0x07,0x2b,0x26,0x2c])
|
|
1463
|
+
|
|
1464
|
+
APN_6 = SBox([
|
|
1465
|
+
0x0,0x36,0x30,0xd,0xf,0x12,0x35,0x23,0x19,0x3f,0x2d,0x34,0x3,0x14,0x29,0x21,
|
|
1466
|
+
0x3b,0x24,0x2,0x22,0xa,0x8,0x39,0x25,0x3c,0x13,0x2a,0xe,0x32,0x1a,0x3a,0x18,
|
|
1467
|
+
0x27,0x1b,0x15,0x11,0x10,0x1d,0x1,0x3e,0x2f,0x28,0x33,0x38,0x7,0x2b,0x2c,0x26,
|
|
1468
|
+
0x1f,0xb,0x4,0x1c,0x3d,0x2e,0x5,0x31,0x9,0x6,0x17,0x20,0x1e,0xc,0x37,0x16])
|
|
1469
|
+
|
|
1470
|
+
SC2000_6 = SBox([
|
|
1471
|
+
47,59,25,42,15,23,28,39,26,38,36,19,60,24,29,56,
|
|
1472
|
+
37,63,20,61,55,2,30,44,9,10,6,22,53,48,51,11,
|
|
1473
|
+
62,52,35,18,14,46,0,54,17,40,27,4,31,8,5,12,
|
|
1474
|
+
3,16,41,34,33,7,45,49,50,58,1,21,43,57,32,13])
|
|
1475
|
+
|
|
1476
|
+
# Bijective S-Boxes mapping 5 bits to 5
|
|
1477
|
+
# =====================================
|
|
1478
|
+
|
|
1479
|
+
Ascon = SBox([
|
|
1480
|
+
0x04,0x0b,0x1f,0x14,0x1a,0x15,0x09,0x02,0x1b,0x05,0x08,0x12,0x1d,0x03,0x06,0x1c,
|
|
1481
|
+
0x1e,0x13,0x07,0x0e,0x00,0x0d,0x11,0x18,0x10,0x0c,0x01,0x19,0x16,0x0a,0x0f,0x17])
|
|
1482
|
+
ISAP = Ascon
|
|
1483
|
+
|
|
1484
|
+
DryGASCON128 = SBox([0x04, 0x0f, 0x1b, 0x01, 0x0b, 0x00, 0x17, 0x0d, 0x1f,
|
|
1485
|
+
0x1c, 0x02, 0x10, 0x12, 0x11, 0x0c, 0x1e, 0x1a, 0x19,
|
|
1486
|
+
0x14, 0x06, 0x15, 0x16, 0x18, 0x0a, 0x05, 0x0e, 0x09,
|
|
1487
|
+
0x13, 0x08, 0x03, 0x07, 0x1d])
|
|
1488
|
+
|
|
1489
|
+
Fides_5 = SBox([
|
|
1490
|
+
0x01,0x00,0x19,0x1a,0x11,0x1d,0x15,0x1b,0x14,0x05,0x04,0x17,0x0e,0x12,0x02,0x1c,
|
|
1491
|
+
0x0f,0x08,0x06,0x03,0x0d,0x07,0x18,0x10,0x1e,0x09,0x1f,0x0a,0x16,0x0c,0x0b,0x13])
|
|
1492
|
+
|
|
1493
|
+
SC2000_5 = SBox([
|
|
1494
|
+
20,26,7,31,19,12,10,15,22,30,13,14,4,24,9,
|
|
1495
|
+
18,27,11,1,21,6,16,2,28,23,5,8,3,0,17,29,25])
|
|
1496
|
+
|
|
1497
|
+
Shamash = SBox([16, 14, 13, 2, 11, 17, 21, 30, 7, 24, 18, 28, 26, 1, 12, 6,
|
|
1498
|
+
31, 25, 0, 23, 20, 22, 8, 27, 4, 3, 19, 5, 9, 10, 29, 15])
|
|
1499
|
+
|
|
1500
|
+
SYCON = SBox([8, 19, 30, 7, 6, 25, 16, 13, 22, 15, 3, 24, 17, 12, 4, 27, 11, 0,
|
|
1501
|
+
29, 20, 1, 14, 23, 26, 28, 21, 9, 2, 31, 18, 10, 5])
|
|
1502
|
+
|
|
1503
|
+
# Bijective S-Boxes mapping 4 bits to 4
|
|
1504
|
+
# =====================================
|
|
1505
|
+
|
|
1506
|
+
Elephant = SBox([0xE, 0xD, 0xB, 0x0, 0x2, 0x1, 0x4, 0xF, 0x7, 0xA, 0x8, 0x5,
|
|
1507
|
+
0x9, 0xC, 0x3, 0x6])
|
|
1508
|
+
KNOT = SBox([0x4, 0x0, 0xA, 0x7, 0xB, 0xE, 0x1, 0xD, 0x9, 0xF, 0x6, 0x8,
|
|
1509
|
+
0x5, 0x2, 0xC, 0x3])
|
|
1510
|
+
Pyjamask_4 = SBox([0x2, 0xd, 0x3, 0x9, 0x7, 0xb, 0xa, 0x6, 0xe, 0x0, 0xf, 0x4,
|
|
1511
|
+
0x8, 0x5, 0x1, 0xc])
|
|
1512
|
+
SATURNIN_0 = SBox([0x0, 0x6, 0xE, 0x1, 0xF, 0x4, 0x7, 0xD, 0x9, 0x8, 0xC, 0x5,
|
|
1513
|
+
0x2, 0xA, 0x3, 0xB])
|
|
1514
|
+
SATURNIN_1 = SBox([0x0, 0x9, 0xD, 0x2, 0xF, 0x1, 0xB, 0x7, 0x6, 0x4, 0x5, 0x3,
|
|
1515
|
+
0x8, 0xC, 0xA, 0xE])
|
|
1516
|
+
Spook = SBox([0x0, 0x8, 0x1, 0xF, 0x2, 0xA, 0x7, 0x9, 0x4, 0xD, 0x5, 0x6, 0xE,
|
|
1517
|
+
0x3, 0xB, 0xC])
|
|
1518
|
+
Clyde = Spook
|
|
1519
|
+
Shadow = Spook
|
|
1520
|
+
TRIFLE = SBox([0x0, 0xC, 0x9, 0x7, 0x3, 0x5, 0xE, 0x4, 0x6, 0xB, 0xA, 0x2,
|
|
1521
|
+
0xD, 0x1, 0x8, 0xF])
|
|
1522
|
+
Yarara = SBox([0x4, 0x7, 0x1, 0xC, 0x2, 0x8, 0xF, 0x3, 0xD, 0xA, 0xe, 0x9, 0xB,
|
|
1523
|
+
0x6, 0x5, 0x0])
|
|
1524
|
+
Coral = Yarara
|
|
1525
|
+
|
|
1526
|
+
# DES
|
|
1527
|
+
|
|
1528
|
+
DES_S1_1 = SBox([14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7])
|
|
1529
|
+
DES_S1_2 = SBox([0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8])
|
|
1530
|
+
DES_S1_3 = SBox([4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0])
|
|
1531
|
+
DES_S1_4 = SBox([15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13])
|
|
1532
|
+
|
|
1533
|
+
DES_S2_1 = SBox([15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10])
|
|
1534
|
+
DES_S2_2 = SBox([3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5])
|
|
1535
|
+
DES_S2_3 = SBox([0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15])
|
|
1536
|
+
DES_S2_4 = SBox([13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9])
|
|
1537
|
+
|
|
1538
|
+
DES_S3_1 = SBox([10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8])
|
|
1539
|
+
DES_S3_2 = SBox([13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1])
|
|
1540
|
+
DES_S3_3 = SBox([13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7])
|
|
1541
|
+
DES_S3_4 = SBox([1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12])
|
|
1542
|
+
|
|
1543
|
+
DES_S4_1 = SBox([7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15])
|
|
1544
|
+
DES_S4_2 = SBox([13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9])
|
|
1545
|
+
DES_S4_3 = SBox([10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4])
|
|
1546
|
+
DES_S4_4 = SBox([3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14])
|
|
1547
|
+
|
|
1548
|
+
DES_S5_1 = SBox([2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9])
|
|
1549
|
+
DES_S5_2 = SBox([14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6])
|
|
1550
|
+
DES_S5_3 = SBox([4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14])
|
|
1551
|
+
DES_S5_4 = SBox([11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3])
|
|
1552
|
+
|
|
1553
|
+
DES_S6_1 = SBox([12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11])
|
|
1554
|
+
DES_S6_2 = SBox([10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8])
|
|
1555
|
+
DES_S6_3 = SBox([9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6])
|
|
1556
|
+
DES_S6_4 = SBox([4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13])
|
|
1557
|
+
|
|
1558
|
+
DES_S7_1 = SBox([4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1])
|
|
1559
|
+
DES_S7_2 = SBox([13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6])
|
|
1560
|
+
DES_S7_3 = SBox([1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2])
|
|
1561
|
+
DES_S7_4 = SBox([6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12])
|
|
1562
|
+
|
|
1563
|
+
DES_S8_1 = SBox([13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7])
|
|
1564
|
+
DES_S8_2 = SBox([1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2])
|
|
1565
|
+
DES_S8_3 = SBox([7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8])
|
|
1566
|
+
DES_S8_4 = SBox([2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11])
|
|
1567
|
+
|
|
1568
|
+
# source: http://www.quadibloc.com/crypto/co0401.htm
|
|
1569
|
+
Lucifer_S0 = SBox([12,15,7,10,14,13,11,0,2,6,3,1,9,4,5,8])
|
|
1570
|
+
Lucifer_S1 = SBox([7,2,14,9,3,11,0,4,12,13,1,10,6,15,8,5])
|
|
1571
|
+
|
|
1572
|
+
# First GOST block cipher and its modification.
|
|
1573
|
+
# ref: https://en.wikipedia.org/wiki/GOST_28147-89
|
|
1574
|
+
GOST_1 = SBox([0x4,0xa,0x9,0x2,0xd,0x8,0x0,0xe,0x6,0xb,0x1,0xc,0x7,0xf,0x5,0x3])
|
|
1575
|
+
GOST_2 = SBox([0xe,0xb,0x4,0xc,0x6,0xd,0xf,0xa,0x2,0x3,0x8,0x1,0x0,0x7,0x5,0x9])
|
|
1576
|
+
GOST_3 = SBox([0x5,0x8,0x1,0xd,0xa,0x3,0x4,0x2,0xe,0xf,0xc,0x7,0x6,0x0,0x9,0xb])
|
|
1577
|
+
GOST_4 = SBox([0x7,0xd,0xa,0x1,0x0,0x8,0x9,0xf,0xe,0x4,0x6,0xc,0xb,0x2,0x5,0x3])
|
|
1578
|
+
GOST_5 = SBox([0x6,0xc,0x7,0x1,0x5,0xf,0xd,0x8,0x4,0xa,0x9,0xe,0x0,0x3,0xb,0x2])
|
|
1579
|
+
GOST_6 = SBox([0x4,0xb,0xa,0x0,0x7,0x2,0x1,0xd,0x3,0x6,0x8,0x5,0x9,0xc,0xf,0xe])
|
|
1580
|
+
GOST_7 = SBox([0xd,0xb,0x4,0x1,0x3,0xf,0x5,0x9,0x0,0xa,0xe,0x7,0x6,0x8,0x2,0xc])
|
|
1581
|
+
GOST_8 = SBox([0x1,0xf,0xd,0x0,0x5,0x7,0xa,0x4,0x9,0x2,0x3,0xe,0x6,0xb,0x8,0xc])
|
|
1582
|
+
|
|
1583
|
+
# ref: https://eprint.iacr.org/2015/065.pdf
|
|
1584
|
+
GOST2_1 = SBox([0x6,0xA,0xF,0x4,0x3,0x8,0x5,0x0,0xD,0xE,0x7,0x1,0x2,0xB,0xC,0x9])
|
|
1585
|
+
GOST2_2 = SBox([0xE,0x0,0x8,0x1,0x7,0xA,0x5,0x6,0xD,0x2,0x4,0x9,0x3,0xF,0xC,0xB])
|
|
1586
|
+
|
|
1587
|
+
Magma_1 = SBox([0xC,0x4,0x6,0x2,0xA,0x5,0xB,0x9,0xE,0x8,0xD,0x7,0x0,0x3,0xF,0x1])
|
|
1588
|
+
Magma_2 = SBox([0x6,0x8,0x2,0x3,0x9,0xA,0x5,0xC,0x1,0xE,0x4,0x7,0xB,0xD,0x0,0xF])
|
|
1589
|
+
Magma_3 = SBox([0xB,0x3,0x5,0x8,0x2,0xF,0xA,0xD,0xE,0x1,0x7,0x4,0xC,0x9,0x6,0x0])
|
|
1590
|
+
Magma_4 = SBox([0xC,0x8,0x2,0x1,0xD,0x4,0xF,0x6,0x7,0x0,0xA,0x5,0x3,0xE,0x9,0xB])
|
|
1591
|
+
Magma_5 = SBox([0x7,0xF,0x5,0xA,0x8,0x1,0x6,0xD,0x0,0x9,0x3,0xE,0xB,0x4,0x2,0xC])
|
|
1592
|
+
Magma_6 = SBox([0x5,0xD,0xF,0x6,0x9,0x2,0xC,0xA,0xB,0x7,0x8,0x1,0x4,0x3,0xE,0x0])
|
|
1593
|
+
Magma_7 = SBox([0x8,0xE,0x2,0x5,0x6,0x9,0x1,0xC,0xF,0x4,0xB,0x0,0xD,0xA,0x3,0x7])
|
|
1594
|
+
Magma_8 = SBox([0x1,0x7,0xE,0xD,0x0,0x5,0x8,0x3,0x4,0xF,0xA,0x6,0x9,0xC,0xB,0x2])
|
|
1595
|
+
|
|
1596
|
+
GOST_IETF_1 = SBox([0x9,0x6,0x3,0x2,0x8,0xb,0x1,0x7,0xa,0x4,0xe,0xf,0xc,0x0,0xd,0x5])
|
|
1597
|
+
GOST_IETF_2 = SBox([0x3,0x7,0xe,0x9,0x8,0xa,0xf,0x0,0x5,0x2,0x6,0xc,0xb,0x4,0xd,0x1])
|
|
1598
|
+
GOST_IETF_3 = SBox([0xe,0x4,0x6,0x2,0xb,0x3,0xd,0x8,0xc,0xf,0x5,0xa,0x0,0x7,0x1,0x9])
|
|
1599
|
+
GOST_IETF_4 = SBox([0xe,0x7,0xa,0xc,0xd,0x1,0x3,0x9,0x0,0x2,0xb,0x4,0xf,0x8,0x5,0x6])
|
|
1600
|
+
GOST_IETF_5 = SBox([0xb,0x5,0x1,0x9,0x8,0xd,0xf,0x0,0xe,0x4,0x2,0x3,0xc,0x7,0xa,0x6])
|
|
1601
|
+
GOST_IETF_6 = SBox([0x3,0xa,0xd,0xc,0x1,0x2,0x0,0xb,0x7,0x5,0x9,0x4,0x8,0xf,0xe,0x6])
|
|
1602
|
+
GOST_IETF_7 = SBox([0x1,0xd,0x2,0x9,0x7,0xa,0x6,0x0,0x8,0xc,0x4,0x5,0xf,0x3,0xb,0xe])
|
|
1603
|
+
GOST_IETF_8 = SBox([0xb,0xa,0xf,0x5,0x0,0xc,0xe,0x8,0x6,0x2,0x3,0x9,0x1,0x7,0xd,0x4])
|
|
1604
|
+
|
|
1605
|
+
# Hummingbird-2
|
|
1606
|
+
Hummingbird_2_S1 = SBox([7,12,14,9,2,1,5,15,11,6,13,0,4,8,10,3])
|
|
1607
|
+
Hummingbird_2_S2 = SBox([4,10,1,6,8,15,7,12,3,0,14,13,5,9,11,2])
|
|
1608
|
+
Hummingbird_2_S3 = SBox([2,15,12,1,5,6,10,13,14,8,3,4,0,11,9,7])
|
|
1609
|
+
Hummingbird_2_S4 = SBox([15,4,5,8,9,7,2,1,10,3,0,14,6,12,13,11])
|
|
1610
|
+
|
|
1611
|
+
# LBlock
|
|
1612
|
+
LBlock_0 = SBox([14, 9, 15, 0, 13, 4, 10, 11, 1, 2, 8, 3, 7, 6, 12, 5])
|
|
1613
|
+
LBlock_1 = SBox([4, 11, 14, 9, 15, 13, 0, 10, 7, 12, 5, 6, 2, 8, 1, 3])
|
|
1614
|
+
LBlock_2 = SBox([1, 14, 7, 12, 15, 13, 0, 6, 11, 5, 9, 3, 2, 4, 8, 10])
|
|
1615
|
+
LBlock_3 = SBox([7, 6, 8, 11, 0, 15, 3, 14, 9, 10, 12, 13, 5, 2, 4, 1])
|
|
1616
|
+
LBlock_4 = SBox([14, 5, 15, 0, 7, 2, 12, 13, 1, 8, 4, 9, 11, 10, 6, 3])
|
|
1617
|
+
LBlock_5 = SBox([2, 13, 11, 12, 15, 14, 0, 9, 7, 10, 6, 3, 1, 8, 4, 5])
|
|
1618
|
+
LBlock_6 = SBox([11, 9, 4, 14, 0, 15, 10, 13, 6, 12, 5, 7, 3, 8, 1, 2])
|
|
1619
|
+
LBlock_7 = SBox([13, 10, 15, 0, 14, 4, 9, 11, 2, 1, 8, 3, 7, 5, 12, 6])
|
|
1620
|
+
LBlock_8 = SBox([8, 7, 14, 5, 15, 13, 0, 6, 11, 12, 9, 10, 2, 4, 1, 3])
|
|
1621
|
+
LBlock_9 = SBox([11, 5, 15, 0, 7, 2, 9, 13, 4, 8, 1, 12, 14, 10, 3, 6])
|
|
1622
|
+
|
|
1623
|
+
# SERPENT
|
|
1624
|
+
SERPENT_S0 = SBox([3,8,15,1,10,6,5,11,14,13,4,2,7,0,9,12])
|
|
1625
|
+
SERPENT_S1 = SBox([15,12,2,7,9,0,5,10,1,11,14,8,6,13,3,4])
|
|
1626
|
+
SERPENT_S2 = SBox([8,6,7,9,3,12,10,15,13,1,14,4,0,11,5,2])
|
|
1627
|
+
SERPENT_S3 = SBox([0,15,11,8,12,9,6,3,13,1,2,4,10,7,5,14])
|
|
1628
|
+
SERPENT_S4 = SBox([1,15,8,3,12,0,11,6,2,5,4,10,9,14,7,13])
|
|
1629
|
+
SERPENT_S5 = SBox([15,5,2,11,4,10,9,12,0,3,14,8,13,6,7,1])
|
|
1630
|
+
SERPENT_S6 = SBox([7,2,12,5,8,4,6,11,14,9,1,15,13,3,10,0])
|
|
1631
|
+
SERPENT_S7 = SBox([1,13,15,0,14,8,2,11,7,4,12,10,9,3,5,6])
|
|
1632
|
+
|
|
1633
|
+
# Other Block ciphers
|
|
1634
|
+
KLEIN = SBox([0x7,0x4,0xA,0x9,0x1,0xF,0xB,0x0,0xC,0x3,0x2,0x6,0x8,0xE,0xD,0x5])
|
|
1635
|
+
MIBS = SBox([4,15,3,8,13,10,12,0,11,5,7,14,2,6,1,9])
|
|
1636
|
+
Midori_Sb0 = SBox([0xc,0xa,0xd,0x3,0xe,0xb,0xf,0x7,0x8,0x9,0x1,0x5,0x0,0x2,0x4,0x6])
|
|
1637
|
+
MANTIS = Midori_Sb0
|
|
1638
|
+
WARP = Midori_Sb0
|
|
1639
|
+
CRAFT = Midori_Sb0
|
|
1640
|
+
Midori_Sb1 = SBox([0x1,0x0,0x5,0x3,0xe,0x2,0xf,0x7,0xd,0xa,0x9,0xb,0xc,0x8,0x4,0x6])
|
|
1641
|
+
Noekeon = SBox([0x7,0xA,0x2,0xC,0x4,0x8,0xF,0x0,0x5,0x9,0x1,0xE,0x3,0xD,0xB,0x6])
|
|
1642
|
+
Piccolo = SBox([0xe,0x4,0xb,0x2,0x3,0x8,0x0,0x9,0x1,0xa,0x7,0xf,0x6,0xc,0x5,0xd])
|
|
1643
|
+
Panda = SBox([0x0,0x1,0x3,0x2,0xf,0xc,0x9,0xb,0xa,0x6,0x8,0x7,0x5,0xe,0xd,0x4])
|
|
1644
|
+
PRESENT = SBox([0xC,0x5,0x6,0xB,0x9,0x0,0xA,0xD,0x3,0xE,0xF,0x8,0x4,0x7,0x1,0x2])
|
|
1645
|
+
CiliPadi = PRESENT
|
|
1646
|
+
PHOTON = PRESENT
|
|
1647
|
+
ORANGE = PHOTON
|
|
1648
|
+
GIFT = SBox([0x1,0xa,0x4,0xc,0x6,0xf,0x3,0x9,0x2,0xd,0xb,0x7,0x5,0x0,0x8,0xe])
|
|
1649
|
+
HYENA = GIFT
|
|
1650
|
+
Fountain_1 = GIFT
|
|
1651
|
+
TGIF = GIFT
|
|
1652
|
+
Fountain_2 = SBox([0x9, 0x5, 0x6, 0xD, 0x8, 0xA, 0x7, 0x2, 0xE, 0x4, 0xC,
|
|
1653
|
+
0x1, 0xF, 0x0, 0xB, 0x3])
|
|
1654
|
+
Fountain_3 = SBox([0x9, 0xD, 0xE, 0x5, 0x8, 0xA, 0xF, 0x2, 0x6, 0xC, 0x4,
|
|
1655
|
+
0x1, 0x7, 0x0, 0xB, 0x3])
|
|
1656
|
+
Fountain_4 = SBox([0xB, 0xF, 0xE, 0x8, 0x7, 0xA, 0x2, 0xD, 0x9, 0x3, 0x4,
|
|
1657
|
+
0xC, 0x5, 0x0, 0x6, 0x1])
|
|
1658
|
+
Pride = SBox([0x0,0x4,0x8,0xf,0x1,0x5,0xe,0x9,0x2,0x7,0xa,0xc,0xb,0xd,0x6,0x3])
|
|
1659
|
+
PRINCE = SBox([0xB,0xF,0x3,0x2,0xA,0xC,0x9,0x1,0x6,0x7,0x8,0x0,0xE,0x5,0xD,0x4])
|
|
1660
|
+
Prost = Pride
|
|
1661
|
+
Qarma_sigma0 = SBox([0, 14, 2, 10, 9, 15, 8, 11, 6, 4, 3, 7, 13, 12, 1, 5])
|
|
1662
|
+
Qarma_sigma1 = SBox([10, 13, 14, 6, 15, 7, 3, 5, 9, 8, 0, 12, 11, 1, 2, 4])
|
|
1663
|
+
Qameleon = Qarma_sigma1
|
|
1664
|
+
Qarma_sigma2 = SBox([11, 6, 8, 15, 12, 0, 9, 14, 3, 7, 4, 5, 13, 2, 1, 10])
|
|
1665
|
+
REC_0 = SBox([0x9,0x4,0xF,0xA,0xE,0x1,0x0,0x6,0xC,0x7,0x3,0x8,0x2,0xB,0x5,0xD])
|
|
1666
|
+
Rectangle = SBox([0x6,0x5,0xC,0xA,0x1,0xE,0x7,0x9,0xB,0x0,0x3,0xD,0x8,0xF,0x4,0x2])
|
|
1667
|
+
SC2000_4 = SBox([2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14])
|
|
1668
|
+
SKINNY_4 = SBox([0xc,0x6,0x9,0x0,0x1,0xa,0x2,0xb,0x3,0x8,0x5,0xd,0x4,0xe,0x7,0xf])
|
|
1669
|
+
ForkSkinny_4 = SKINNY_4
|
|
1670
|
+
Remus_4 = SKINNY_4
|
|
1671
|
+
|
|
1672
|
+
TWINE = SBox([0xC,0x0,0xF,0xA,0x2,0xB,0x9,0x5,0x8,0x3,0xD,0x7,0x1,0xE,0x6,0x4])
|
|
1673
|
+
|
|
1674
|
+
# Sub-components of hash functions
|
|
1675
|
+
Luffa_v1 = SBox([0x7,0xd,0xb,0xa,0xc,0x4,0x8,0x3,0x5,0xf,0x6,0x0,0x9,0x1,0x2,0xe])
|
|
1676
|
+
Luffa = SBox([0xd,0xe,0x0,0x1,0x5,0xa,0x7,0x6,0xb,0x3,0x9,0xc,0xf,0x8,0x2,0x4])
|
|
1677
|
+
BLAKE_1 = SBox([14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3])
|
|
1678
|
+
BLAKE_2 = SBox([11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4])
|
|
1679
|
+
BLAKE_3 = SBox([7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8])
|
|
1680
|
+
BLAKE_4 = SBox([9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13])
|
|
1681
|
+
BLAKE_5 = SBox([2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9])
|
|
1682
|
+
BLAKE_6 = SBox([12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11])
|
|
1683
|
+
BLAKE_7 = SBox([13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10])
|
|
1684
|
+
BLAKE_8 = SBox([6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5])
|
|
1685
|
+
BLAKE_9 = SBox([10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0])
|
|
1686
|
+
JH_S0 = SBox([9,0,4,11,13,12,3,15,1,10,2,6,7,5,8,14])
|
|
1687
|
+
JH_S1 = SBox([3,12,6,13,5,7,1,9,15,2,0,4,11,10,14,8])
|
|
1688
|
+
SMASH_256_S1 = SBox([6,13,12,7,15,1,3,10,8,11,5,0,2,4,14,9])
|
|
1689
|
+
SMASH_256_S2 = SBox([1,11,6,0,14,13,5,10,12,2,9,7,3,8,15,4])
|
|
1690
|
+
SMASH_256_S3 = SBox([4,2,9,12,8,1,14,7,15,5,0,11,6,10,3,13])
|
|
1691
|
+
|
|
1692
|
+
# Sub-components of larger S-Boxes
|
|
1693
|
+
Anubis_S0 = SBox([0xd,0x7,0x3,0x2,0x9,0xa,0xc,0x1,0xf,0x4,0x5,0xe,0x6,0x0,0xb,0x8])
|
|
1694
|
+
Anubis_S1 = SBox([0x4,0xa,0xf,0xc,0x0,0xd,0x9,0xb,0xe,0x6,0x1,0x7,0x3,0x5,0x8,0x2])
|
|
1695
|
+
CLEFIA_SS0 = SBox([0xe,0x6,0xc,0xa,0x8,0x7,0x2,0xf,0xb,0x1,0x4,0x0,0x5,0x9,0xd,0x3])
|
|
1696
|
+
CLEFIA_SS1 = SBox([0x6,0x4,0x0,0xd,0x2,0xb,0xa,0x3,0x9,0xc,0xe,0xf,0x8,0x7,0x5,0x1])
|
|
1697
|
+
CLEFIA_SS2 = SBox([0xb,0x8,0x5,0xe,0xa,0x6,0x4,0xc,0xf,0x7,0x2,0x3,0x1,0x0,0xd,0x9])
|
|
1698
|
+
CLEFIA_SS3 = SBox([0xa,0x2,0x6,0xd,0x3,0x4,0x5,0xe,0x0,0x7,0x8,0x9,0xb,0xf,0xc,0x1])
|
|
1699
|
+
Enocoro_S4 = SBox([1,3,9,10,5,14,7,2,13,0,12,15,4,8,6,11])
|
|
1700
|
+
Iceberg_S0 = Anubis_S0
|
|
1701
|
+
Iceberg_S1 = Anubis_S1
|
|
1702
|
+
Khazad_P = SBox([0x3,0xF,0xE,0x0,0x5,0x4,0xB,0xC,0xD,0xA,0x9,0x6,0x7,0x8,0x2,0x1])
|
|
1703
|
+
Khazad_Q = SBox([0x9,0xE,0x5,0x6,0xA,0x2,0x3,0xC,0xF,0x0,0x4,0xD,0x7,0xB,0x1,0x8])
|
|
1704
|
+
Whirlpool_E = SBox([0x1,0xB,0x9,0xC,0xD,0x6,0xF,0x3,0xE,0x8,0x7,0x4,0xA,0x2,0x5,0x0])
|
|
1705
|
+
Whirlpool_R = SBox([0x7,0xC,0xB,0xD,0xE,0x4,0x9,0xF,0x6,0x3,0x8,0xA,0x2,0x5,0x1,0x0])
|
|
1706
|
+
CS_cipher_F = SBox([0xf,0xd,0xb,0xb,0x7,0x5,0x7,0x7,0xe,0xd,0xa,0xb,0xe,0xd,0xe,0xf])
|
|
1707
|
+
CS_cipher_G = SBox([0xa,0x6,0x0,0x2,0xb,0xe,0x1,0x8,0xd,0x4,0x5,0x3,0xf,0xc,0x7,0x9])
|
|
1708
|
+
Fox_S1 = SBox([0x2,0x5,0x1,0x9,0xE,0xA,0xC,0x8,0x6,0x4,0x7,0xF,0xD,0xB,0x0,0x3])
|
|
1709
|
+
Fox_S2 = SBox([0xB,0x4,0x1,0xF,0x0,0x3,0xE,0xD,0xA,0x8,0x7,0x5,0xC,0x2,0x9,0x6])
|
|
1710
|
+
Fox_S3 = SBox([0xD,0xA,0xB,0x1,0x4,0x3,0x8,0x9,0x5,0x7,0x2,0xC,0xF,0x0,0x6,0xE])
|
|
1711
|
+
Twofish_Q0_T0 = SBox([0x8,0x1,0x7,0xD,0x6,0xF,0x3,0x2,0x0,0xB,0x5,0x9,0xE,0xC,0xA,0x4])
|
|
1712
|
+
Twofish_Q0_T1 = SBox([0xE,0xC,0xB,0x8,0x1,0x2,0x3,0x5,0xF,0x4,0xA,0x6,0x7,0x0,0x9,0xD])
|
|
1713
|
+
Twofish_Q0_T2 = SBox([0xB,0xA,0x5,0xE,0x6,0xD,0x9,0x0,0xC,0x8,0xF,0x3,0x2,0x4,0x7,0x1])
|
|
1714
|
+
Twofish_Q0_T3 = SBox([0xD,0x7,0xF,0x4,0x1,0x2,0x6,0xE,0x9,0xB,0x3,0x0,0x8,0x5,0xC,0xA])
|
|
1715
|
+
Twofish_Q1_T0 = SBox([0x2,0x8,0xB,0xD,0xF,0x7,0x6,0xE,0x3,0x1,0x9,0x4,0x0,0xA,0xC,0x5])
|
|
1716
|
+
Twofish_Q1_T1 = SBox([0x1,0xE,0x2,0xB,0x4,0xC,0x3,0x7,0x6,0xD,0xA,0x5,0xF,0x9,0x0,0x8])
|
|
1717
|
+
Twofish_Q1_T2 = SBox([0x4,0xC,0x7,0x5,0x1,0x6,0x9,0xA,0x0,0xE,0xD,0x8,0x2,0xB,0x3,0xF])
|
|
1718
|
+
Twofish_Q1_T3 = SBox([0xB,0x9,0x5,0x1,0xC,0x3,0xD,0xE,0x6,0x4,0x7,0xF,0x2,0x0,0x8,0xA])
|
|
1719
|
+
Kuznyechik_nu0 = SBox([0x2,0x5,0x3,0xb,0x6,0x9,0xe,0xa,0x0,0x4,0xf,0x1,0x8,0xd,0xc,0x7])
|
|
1720
|
+
Kuznyechik_nu1 = SBox([0x7,0x6,0xc,0x9,0x0,0xf,0x8,0x1,0x4,0x5,0xb,0xe,0xd,0x2,0x3,0xa])
|
|
1721
|
+
Kuznyechik_sigma = SBox([0xc,0xd,0x0,0x4,0x8,0xb,0xa,0xe,0x3,0x9,0x5,0x2,0xf,0x1,0x6,0x7])
|
|
1722
|
+
Kuznyechik_phi = SBox([0xb,0x2,0xb,0x8,0xc,0x4,0x1,0xc,0x6,0x3,0x5,0x8,0xe,0x3,0x6,0xb])
|
|
1723
|
+
Optimal_S0 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 11, 12, 9, 3, 14, 10, 5])
|
|
1724
|
+
Optimal_S1 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 11, 14, 3, 5, 9, 10, 12])
|
|
1725
|
+
Optimal_S2 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 11, 14, 3, 10, 12, 5, 9])
|
|
1726
|
+
Optimal_S3 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 12, 5, 3, 10, 14, 11, 9])
|
|
1727
|
+
Optimal_S4 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 12, 9, 11, 10, 14, 5, 3])
|
|
1728
|
+
Optimal_S5 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 12, 11, 9, 10, 14, 3, 5])
|
|
1729
|
+
Optimal_S6 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 12, 11, 9, 10, 14, 5, 3])
|
|
1730
|
+
Optimal_S7 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 12, 14, 11, 10, 9, 3, 5])
|
|
1731
|
+
Optimal_S8 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 9, 5, 10, 11, 3, 12])
|
|
1732
|
+
Optimal_S9 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 11, 3, 5, 9, 10, 12])
|
|
1733
|
+
Optimal_S10 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 11, 5, 10, 9, 3, 12])
|
|
1734
|
+
Optimal_S11 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 11, 10, 5, 9, 12, 3])
|
|
1735
|
+
Optimal_S12 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 11, 10, 9, 3, 12, 5])
|
|
1736
|
+
Optimal_S13 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 12, 9, 5, 11, 10, 3])
|
|
1737
|
+
Optimal_S14 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 12, 11, 3, 9, 5, 10])
|
|
1738
|
+
Optimal_S15 = SBox([0, 1, 2, 13, 4, 7, 15, 6, 8, 14, 12, 11, 9, 3, 10, 5])
|
|
1739
|
+
Serpent_type_S0 = SBox([0, 3, 5, 6, 7, 10, 11, 12, 13, 4, 14, 9, 8, 1, 2, 15])
|
|
1740
|
+
Serpent_type_S1 = SBox([0, 3, 5, 8, 6, 9, 10, 7, 11, 12, 14, 2, 1, 15, 13, 4])
|
|
1741
|
+
Serpent_type_S2 = SBox([0, 3, 5, 8, 6, 9, 11, 2, 13, 4, 14, 1, 10, 15, 7, 12])
|
|
1742
|
+
Serpent_type_S3 = SBox([0, 3, 5, 8, 6, 10, 15, 4, 14, 13, 9, 2, 1, 7, 12, 11])
|
|
1743
|
+
Serpent_type_S4 = SBox([0, 3, 5, 8, 6, 12, 11, 7, 9, 14, 10, 13, 15, 2, 1, 4])
|
|
1744
|
+
Serpent_type_S5 = SBox([0, 3, 5, 8, 6, 12, 11, 7, 10, 4, 9, 14, 15, 1, 2, 13])
|
|
1745
|
+
Serpent_type_S6 = SBox([0, 3, 5, 8, 6, 12, 11, 7, 10, 13, 9, 14, 15, 1, 2, 4])
|
|
1746
|
+
Serpent_type_S7 = SBox([0, 3, 5, 8, 6, 12, 11, 7, 13, 10, 14, 4, 1, 15, 2, 9])
|
|
1747
|
+
Serpent_type_S8 = SBox([0, 3, 5, 8, 6, 12, 15, 1, 10, 4, 9, 14, 13, 11, 2, 7])
|
|
1748
|
+
Serpent_type_S9 = SBox([0, 3, 5, 8, 6, 12, 15, 2, 14, 9, 11, 7, 13, 10, 4, 1])
|
|
1749
|
+
Serpent_type_S10 = SBox([0, 3, 5, 8, 6, 13, 15, 1, 9, 12, 2, 11, 10, 7, 4, 14])
|
|
1750
|
+
Serpent_type_S11 = SBox([0, 3, 5, 8, 6, 13, 15, 2, 7, 4, 14, 11, 10, 1, 9, 12])
|
|
1751
|
+
Serpent_type_S12 = SBox([0, 3, 5, 8, 6, 13, 15, 2, 12, 9, 10, 4, 11, 14, 1, 7])
|
|
1752
|
+
Serpent_type_S13 = SBox([0, 3, 5, 8, 6, 15, 10, 1, 7, 9, 14, 4, 11, 12, 13, 2])
|
|
1753
|
+
Serpent_type_S14 = SBox([0, 3, 5, 8, 7, 4, 9, 14, 15, 6, 2, 11, 10, 13, 12, 1])
|
|
1754
|
+
Serpent_type_S15 = SBox([0, 3, 5, 8, 7, 9, 11, 14, 10, 13, 15, 4, 12, 2, 6, 1])
|
|
1755
|
+
Serpent_type_S16 = SBox([0, 3, 5, 8, 9, 12, 14, 7, 10, 13, 15, 4, 6, 11, 1, 2])
|
|
1756
|
+
Serpent_type_S17 = SBox([0, 3, 5, 8, 10, 13, 9, 4, 15, 6, 2, 1, 12, 11, 7, 14])
|
|
1757
|
+
Serpent_type_S18 = SBox([0, 3, 5, 8, 11, 12, 6, 15, 14, 9, 2, 7, 4, 10, 13, 1])
|
|
1758
|
+
Serpent_type_S19 = SBox([0, 3, 5, 10, 7, 12, 11, 6, 13, 4, 2, 9, 14, 1, 8, 15])
|
|
1759
|
+
Golden_S0 = SBox([0, 3, 5, 8, 6, 9, 12, 7, 13, 10, 14, 4, 1, 15, 11, 2])
|
|
1760
|
+
Golden_S1 = Serpent_type_S4
|
|
1761
|
+
Golden_S2 = Serpent_type_S3
|
|
1762
|
+
Golden_S3 = Serpent_type_S5
|
|
1763
|
+
|
|
1764
|
+
# S-Boxes from the literature on Boolean functions
|
|
1765
|
+
|
|
1766
|
+
# Ullrich, Markus, et al. "Finding optimal bitsliced implementations
|
|
1767
|
+
# of 4x4-bit S-boxes." SKEW 2011 Symmetric Key Encryption Workshop,
|
|
1768
|
+
# Copenhagen, Denmark. 2011.
|
|
1769
|
+
UDCIKMP11 = SBox([0x0,0x8,0x6,0xD,0x5,0xF,0x7,0xC,0x4,0xE,0x2,0x3,0x9,0x1,0xB,0xA])
|
|
1770
|
+
|
|
1771
|
+
# Bijective S-Boxes mapping 3 bits to 3
|
|
1772
|
+
# =====================================
|
|
1773
|
+
|
|
1774
|
+
SEA = SBox([0x0,0x5,0x6,0x7,0x4,0x3,0x1,0x2])
|
|
1775
|
+
PRINTcipher = SBox([0x0, 0x1, 0x3, 0x6, 0x7, 0x4, 0x5, 0x2])
|
|
1776
|
+
Pyjamask_3 = SBox([0x1, 0x3, 0x6, 0x5, 0x2, 0x4, 0x7, 0x0])
|
|
1777
|
+
|
|
1778
|
+
affine_equiv_classes = {}
|
|
1779
|
+
# affine equivalent classes for 4 bit
|
|
1780
|
+
affine_equiv_classes[4] = [
|
|
1781
|
+
SBox([0x4, 0x0, 0x1, 0xF, 0x2, 0xB, 0x6, 0x7, 0x3, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0x8]),
|
|
1782
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0x6, 0x9, 0x4, 0x3, 0xA, 0xB, 0x7, 0xD, 0xE, 0xF]),
|
|
1783
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0xF, 0x5, 0x6, 0x7, 0x4, 0x3, 0xA, 0xB, 0x9, 0xD, 0xE, 0x2]),
|
|
1784
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xD, 0x6, 0x7, 0x4, 0x9, 0xA, 0x5, 0xC, 0xB, 0xE, 0xF]),
|
|
1785
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xF, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1786
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xB, 0x6, 0x7, 0x4, 0x9, 0xA, 0xF, 0xC, 0xD, 0xE, 0x5]),
|
|
1787
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0xB, 0x6, 0x7, 0x0, 0x9, 0xA, 0xE, 0xC, 0xD, 0x5, 0xF]),
|
|
1788
|
+
SBox([0x8, 0x0, 0x1, 0x9, 0x2, 0x5, 0xD, 0x7, 0x4, 0x6, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1789
|
+
SBox([0x8, 0xE, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0xC, 0xA, 0xB, 0x9, 0xD, 0x0, 0xF]),
|
|
1790
|
+
SBox([0x8, 0xE, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xF, 0xB, 0xC, 0xD, 0x0, 0xA]),
|
|
1791
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0x5, 0xC, 0x7, 0x4, 0x9, 0xA, 0xB, 0x6, 0xD, 0xE, 0x0]),
|
|
1792
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0x5, 0x6, 0xD, 0x4, 0x9, 0xA, 0xB, 0xC, 0x7, 0xE, 0x0]),
|
|
1793
|
+
SBox([0xC, 0x0, 0x1, 0x9, 0x3, 0x5, 0x4, 0x7, 0x6, 0x2, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1794
|
+
SBox([0xC, 0xB, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0x0, 0x8, 0xD, 0xE, 0xF]),
|
|
1795
|
+
SBox([0xC, 0x9, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x0, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1796
|
+
SBox([0x8, 0xE, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0x0, 0xC, 0xD, 0xB, 0xF]),
|
|
1797
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0xB, 0x6, 0x7, 0x4, 0x9, 0x0, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1798
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xC, 0x3, 0x7, 0x6, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
1799
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x3, 0xB, 0x6, 0x9, 0xA, 0x7, 0xC, 0xD, 0xE, 0xF]),
|
|
1800
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x3, 0xE, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0x7, 0xF]),
|
|
1801
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0x4, 0xB, 0x0, 0x9, 0xA, 0x7, 0xC, 0xD, 0xE, 0xF]),
|
|
1802
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x9, 0x3, 0x7, 0x6, 0x5, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1803
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0x0, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1804
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0xF, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
1805
|
+
SBox([0xD, 0x0, 0x1, 0x2, 0x3, 0x5, 0xE, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x8, 0x4, 0xF]),
|
|
1806
|
+
SBox([0xC, 0xA, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0x0, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1807
|
+
SBox([0xC, 0x0, 0x1, 0x2, 0x3, 0x5, 0xF, 0x7, 0x6, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0x4]),
|
|
1808
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0x0, 0x4, 0x7, 0x6, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1809
|
+
SBox([0x8, 0xD, 0x1, 0x2, 0x3, 0x0, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x5, 0xE, 0xF]),
|
|
1810
|
+
SBox([0x6, 0x8, 0x1, 0xE, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x2, 0xF]),
|
|
1811
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0xA, 0x7, 0x6, 0x9, 0x3, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1812
|
+
SBox([0xC, 0x0, 0xA, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0x1, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1813
|
+
SBox([0xD, 0x0, 0xA, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0x1, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1814
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0x0]),
|
|
1815
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0xB, 0x7, 0x4, 0x9, 0xA, 0x6, 0x3, 0xD, 0xE, 0xF]),
|
|
1816
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0xD, 0x7, 0x4, 0x9, 0xA, 0xB, 0x3, 0x6, 0xE, 0xF]),
|
|
1817
|
+
SBox([0xC, 0x0, 0x1, 0x2, 0x3, 0xF, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0x5]),
|
|
1818
|
+
SBox([0xC, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0xD, 0x4, 0x9, 0xA, 0xB, 0x8, 0x7, 0xE, 0xF]),
|
|
1819
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0x5, 0x6, 0x9, 0x4, 0x7, 0x0, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1820
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0xE, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x3, 0xD, 0x5, 0xF]),
|
|
1821
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xD, 0x3, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x5, 0xE, 0xF]),
|
|
1822
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xA, 0x3, 0x7, 0x6, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1823
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0x4, 0xC, 0x0, 0x9, 0xA, 0xB, 0x7, 0xD, 0xE, 0xF]),
|
|
1824
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0x4, 0xD, 0x0, 0x9, 0xA, 0xB, 0xC, 0x7, 0xE, 0xF]),
|
|
1825
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0x4, 0x9, 0x0, 0x7, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1826
|
+
SBox([0xD, 0xA, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0x0, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1827
|
+
SBox([0xE, 0x0, 0x1, 0xA, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0x2, 0xB, 0xC, 0xD, 0x8, 0xF]),
|
|
1828
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0x5, 0x9, 0x7, 0x4, 0x6, 0x0, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1829
|
+
SBox([0x8, 0x0, 0x1, 0xD, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0x3, 0xB, 0xC, 0xA, 0xE, 0xF]),
|
|
1830
|
+
SBox([0x8, 0x0, 0x1, 0x6, 0x2, 0x5, 0xD, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1831
|
+
SBox([0x8, 0xC, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0x0, 0xD, 0xE, 0xF]),
|
|
1832
|
+
SBox([0x6, 0x8, 0xD, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0x1, 0xE, 0xF]),
|
|
1833
|
+
SBox([0x6, 0x8, 0xE, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x1, 0xF]),
|
|
1834
|
+
SBox([0x4, 0x0, 0x1, 0xF, 0x2, 0x5, 0x3, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
1835
|
+
SBox([0x4, 0x0, 0x1, 0xA, 0x2, 0x8, 0x6, 0x7, 0x3, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1836
|
+
SBox([0x4, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x8, 0x3, 0x9, 0x7, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1837
|
+
SBox([0x6, 0x0, 0x8, 0xF, 0x3, 0x5, 0x4, 0x7, 0x1, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x2]),
|
|
1838
|
+
SBox([0x6, 0x0, 0x8, 0xC, 0x3, 0x5, 0x4, 0x7, 0x1, 0x9, 0xA, 0xB, 0x2, 0xD, 0xE, 0xF]),
|
|
1839
|
+
SBox([0x6, 0x8, 0x1, 0xC, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0x2, 0xD, 0xE, 0xF]),
|
|
1840
|
+
SBox([0x6, 0x8, 0x1, 0xD, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0x2, 0xE, 0xF]),
|
|
1841
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0x6, 0x7, 0x4, 0x3, 0xA, 0xB, 0x9, 0xD, 0xE, 0xF]),
|
|
1842
|
+
SBox([0x8, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x3, 0x4, 0x9, 0x7, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1843
|
+
SBox([0x8, 0x0, 0x1, 0xD, 0x2, 0x5, 0x3, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x6, 0xE, 0xF]),
|
|
1844
|
+
SBox([0x8, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xD, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1845
|
+
SBox([0x8, 0x0, 0x1, 0xE, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0x2, 0xF]),
|
|
1846
|
+
SBox([0x6, 0x0, 0x1, 0x8, 0xD, 0x5, 0x4, 0x7, 0x2, 0x9, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1847
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0xF, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
1848
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0xA, 0x4, 0x7, 0x0, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1849
|
+
SBox([0x8, 0x0, 0x1, 0x3, 0x2, 0xA, 0x6, 0x7, 0x4, 0x9, 0xF, 0xB, 0xC, 0xD, 0xE, 0x5]),
|
|
1850
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0xB, 0x7, 0x6, 0x9, 0xA, 0x3, 0xC, 0xD, 0xE, 0xF]),
|
|
1851
|
+
SBox([0x8, 0x0, 0x1, 0x6, 0x2, 0x5, 0xC, 0x7, 0x4, 0x9, 0xA, 0xB, 0x3, 0xD, 0xE, 0xF]),
|
|
1852
|
+
SBox([0x8, 0x0, 0x1, 0x7, 0x2, 0x5, 0x6, 0xC, 0x4, 0x9, 0xA, 0xB, 0x3, 0xD, 0xE, 0xF]),
|
|
1853
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x9, 0x7, 0x6, 0x3, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1854
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x9, 0x4, 0x7, 0x0, 0x5, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1855
|
+
SBox([0x6, 0x8, 0x1, 0x9, 0x3, 0x5, 0x4, 0x7, 0x0, 0x2, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1856
|
+
SBox([0x8, 0x0, 0x1, 0x9, 0x2, 0x5, 0x3, 0x7, 0x4, 0x6, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1857
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0x3, 0x7, 0x4, 0x9, 0xA, 0xB, 0x6, 0xD, 0xE, 0xF]),
|
|
1858
|
+
SBox([0x8, 0x0, 0x1, 0x3, 0x2, 0xF, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1859
|
+
SBox([0x6, 0xD, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1860
|
+
SBox([0x8, 0xB, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0x0, 0xC, 0xD, 0xE, 0xF]),
|
|
1861
|
+
SBox([0x8, 0xD, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x0, 0xE, 0xF]),
|
|
1862
|
+
SBox([0x6, 0x8, 0xF, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x1]),
|
|
1863
|
+
SBox([0x6, 0x8, 0xC, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0x1, 0xD, 0xE, 0xF]),
|
|
1864
|
+
SBox([0x8, 0x5, 0x1, 0x2, 0x3, 0x0, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1865
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0x0, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1866
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0xA, 0x7, 0x0, 0x9, 0x4, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1867
|
+
SBox([0x8, 0xA, 0x1, 0xC, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0x0, 0xB, 0x2, 0xD, 0xE, 0xF]),
|
|
1868
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0x6, 0x3, 0x4, 0x9, 0xA, 0xB, 0x7, 0xD, 0xE, 0xF]),
|
|
1869
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xB, 0x6, 0x7, 0x4, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1870
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0xB, 0x6, 0x7, 0x0, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1871
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x9, 0x0, 0x7, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1872
|
+
SBox([0x8, 0x6, 0x1, 0x2, 0x9, 0x5, 0x0, 0x7, 0x4, 0x3, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1873
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0xB, 0x4, 0x7, 0x0, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1874
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0xE, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x5, 0xF]),
|
|
1875
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0xF, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x5]),
|
|
1876
|
+
SBox([0xF, 0x0, 0x1, 0x3, 0x2, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0x8]),
|
|
1877
|
+
SBox([0x8, 0xD, 0x1, 0x2, 0x3, 0x5, 0x0, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x6, 0xE, 0xF]),
|
|
1878
|
+
SBox([0x4, 0x0, 0x1, 0xE, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0x8, 0xB, 0xC, 0xD, 0xA, 0xF]),
|
|
1879
|
+
SBox([0x8, 0x0, 0x1, 0xF, 0x2, 0x5, 0x3, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x6]),
|
|
1880
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0xF, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
1881
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1882
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xD, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x5, 0xE, 0xF]),
|
|
1883
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xB, 0x6, 0x7, 0x3, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1884
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xC, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
1885
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0x5, 0x6, 0x7, 0x4, 0xC, 0xA, 0xB, 0x9, 0xD, 0xE, 0xF]),
|
|
1886
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x0]),
|
|
1887
|
+
SBox([0x8, 0x0, 0x1, 0xD, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x2, 0xE, 0xF]),
|
|
1888
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0xC, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0x3, 0xD, 0xE, 0xF]),
|
|
1889
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0xE, 0x6, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x5, 0xF]),
|
|
1890
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0xB, 0x6, 0x7, 0x4, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1891
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0xE, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x4, 0xF]),
|
|
1892
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0xD, 0x0, 0x9, 0xA, 0xB, 0xC, 0x7, 0xE, 0xF]),
|
|
1893
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0xF, 0xA, 0xB, 0xC, 0xD, 0xE, 0x9]),
|
|
1894
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xA, 0xE, 0xC, 0xD, 0xB, 0xF]),
|
|
1895
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x9, 0x4, 0x7, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1896
|
+
SBox([0xF, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0x3, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
1897
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xF, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x5]),
|
|
1898
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0xF, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x6]),
|
|
1899
|
+
SBox([0x6, 0x8, 0x1, 0xB, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0x2, 0xC, 0xD, 0xE, 0xF]),
|
|
1900
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0xA, 0x6, 0x7, 0x0, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1901
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0xF, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x5]),
|
|
1902
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0xB, 0x7, 0x0, 0x9, 0xA, 0x6, 0xC, 0xD, 0xE, 0xF]),
|
|
1903
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0xD, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0x6, 0xE, 0xF]),
|
|
1904
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0xA, 0x0, 0x9, 0x7, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1905
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0xD, 0x4, 0x9, 0xA, 0xB, 0xC, 0x7, 0xE, 0xF]),
|
|
1906
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0xC, 0xA, 0xB, 0x9, 0xD, 0xE, 0xF]),
|
|
1907
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xF, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1908
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x9, 0x7, 0x0, 0x6, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1909
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xE, 0xC, 0xD, 0xB, 0xF]),
|
|
1910
|
+
SBox([0x4, 0x0, 0x1, 0xA, 0x2, 0x5, 0x3, 0x7, 0x6, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1911
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0xA, 0x7, 0x0, 0x9, 0x6, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1912
|
+
SBox([0x8, 0x0, 0xB, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0x1, 0xC, 0xD, 0xE, 0xF]),
|
|
1913
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0xB, 0x7, 0x6, 0x9, 0xA, 0x4, 0xC, 0xD, 0xE, 0xF]),
|
|
1914
|
+
SBox([0x8, 0x0, 0xC, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0x1, 0xD, 0xE, 0xF]),
|
|
1915
|
+
SBox([0x8, 0x0, 0xD, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x1, 0xE, 0xF]),
|
|
1916
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0xE, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0x3, 0xF]),
|
|
1917
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0xF, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
1918
|
+
SBox([0x6, 0x0, 0x8, 0x2, 0x3, 0x5, 0xB, 0x7, 0x1, 0x9, 0xA, 0x4, 0xC, 0xD, 0xE, 0xF]),
|
|
1919
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0xC, 0x7, 0x4, 0x9, 0xA, 0xB, 0x6, 0xD, 0xE, 0xF]),
|
|
1920
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x9, 0x6, 0x7, 0x3, 0x5, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1921
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xF, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1922
|
+
SBox([0xC, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1923
|
+
SBox([0xD, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1924
|
+
SBox([0x8, 0xE, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0x0, 0xF]),
|
|
1925
|
+
SBox([0x8, 0x0, 0x1, 0xF, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0x3, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
1926
|
+
SBox([0x8, 0x0, 0x1, 0xB, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0x2, 0xC, 0xD, 0xE, 0xF]),
|
|
1927
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0x2, 0xD, 0xE, 0xF]),
|
|
1928
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0xB, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0x3, 0xC, 0xD, 0xE, 0xF]),
|
|
1929
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0xD, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1930
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0xF, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x4]),
|
|
1931
|
+
SBox([0x8, 0x0, 0x1, 0x6, 0x2, 0x5, 0xF, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
1932
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0x5, 0x6, 0xB, 0x1, 0x9, 0xA, 0x7, 0xC, 0xD, 0xE, 0xF]),
|
|
1933
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xA, 0xB, 0xE, 0xD, 0xC, 0xF]),
|
|
1934
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xF, 0xE, 0xD]),
|
|
1935
|
+
SBox([0x8, 0x0, 0xF, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x1]),
|
|
1936
|
+
SBox([0x8, 0x0, 0x1, 0x9, 0x2, 0x5, 0x6, 0x7, 0x4, 0xF, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
1937
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xD, 0xB, 0xC, 0xA, 0xE, 0xF]),
|
|
1938
|
+
SBox([0xB, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xD, 0xC, 0x8, 0xE, 0xF]),
|
|
1939
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
1940
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0xA, 0x6, 0x7, 0x3, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1941
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0x5, 0x6, 0x7, 0x4, 0xD, 0xA, 0xB, 0xC, 0x9, 0xE, 0xF]),
|
|
1942
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x9, 0x7, 0x3, 0x6, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1943
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0xB, 0x6, 0x7, 0x1, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
1944
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0xE, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0x5, 0xF]),
|
|
1945
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0x6, 0xE, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0x7, 0xF]),
|
|
1946
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0xC, 0x4, 0x9, 0xA, 0xB, 0x7, 0xD, 0xE, 0xF]),
|
|
1947
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0xC, 0xA, 0xB, 0x9, 0xD, 0xE, 0xF]),
|
|
1948
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0xD, 0xA, 0xB, 0xC, 0x9, 0xE, 0xF]),
|
|
1949
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xE, 0xC, 0xD, 0xB, 0xF]),
|
|
1950
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xF, 0xC, 0xD, 0xE, 0xB]),
|
|
1951
|
+
SBox([0x4, 0x0, 0x1, 0xF, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
1952
|
+
SBox([0x8, 0xE, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0x0, 0xF]),
|
|
1953
|
+
SBox([0x8, 0xF, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x0]),
|
|
1954
|
+
SBox([0x4, 0x0, 0x1, 0xD, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1955
|
+
SBox([0x8, 0x0, 0x1, 0xD, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x2, 0xE, 0xF]),
|
|
1956
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
1957
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0xE, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0x7, 0xF]),
|
|
1958
|
+
SBox([0x4, 0x8, 0xE, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0x1, 0xF]),
|
|
1959
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1960
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0x5, 0xB, 0x7, 0x1, 0x9, 0xA, 0x6, 0xC, 0xD, 0xE, 0xF]),
|
|
1961
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x9, 0x7, 0x4, 0x6, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1962
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0xB, 0x7, 0x4, 0x9, 0xA, 0x6, 0xC, 0xD, 0xE, 0xF]),
|
|
1963
|
+
SBox([0x8, 0x6, 0x1, 0xD, 0x3, 0x5, 0x0, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x2, 0xE, 0xF]),
|
|
1964
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0xD, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0x6, 0xE, 0xF]),
|
|
1965
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0xA, 0x7, 0x3, 0x9, 0x6, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1966
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0xD, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x6, 0xE, 0xF]),
|
|
1967
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xE, 0xD, 0xC, 0xF]),
|
|
1968
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xE, 0xB, 0xC, 0xD, 0xA, 0xF]),
|
|
1969
|
+
SBox([0x8, 0xA, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0x0, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1970
|
+
SBox([0x4, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1971
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x3, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1972
|
+
SBox([0x6, 0x0, 0x1, 0x8, 0x3, 0x5, 0x4, 0x7, 0x2, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1973
|
+
SBox([0x6, 0x8, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1974
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0xF, 0xB, 0x6, 0x7, 0x4, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0x8]),
|
|
1975
|
+
SBox([0x1, 0x0, 0x4, 0x8, 0x2, 0x5, 0xF, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x6]),
|
|
1976
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0xE, 0xA, 0xB, 0xC, 0xD, 0x9, 0xF]),
|
|
1977
|
+
SBox([0x8, 0x0, 0x1, 0x3, 0x2, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1978
|
+
SBox([0x8, 0x0, 0x1, 0xC, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x3, 0xD, 0xE, 0xF]),
|
|
1979
|
+
SBox([0x8, 0x0, 0x1, 0xD, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1980
|
+
SBox([0x1, 0x0, 0x4, 0x8, 0x2, 0xA, 0x6, 0x7, 0x3, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1981
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x8, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
1982
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0xE, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0x6, 0xF]),
|
|
1983
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0xF, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x6]),
|
|
1984
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xF, 0xE, 0xD]),
|
|
1985
|
+
SBox([0xD, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
1986
|
+
SBox([0xE, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0x8, 0xF]),
|
|
1987
|
+
SBox([0x8, 0xD, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x0, 0xE, 0xF]),
|
|
1988
|
+
SBox([0x8, 0x0, 0xC, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x1, 0xD, 0xE, 0xF]),
|
|
1989
|
+
SBox([0x4, 0x0, 0x1, 0xC, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1990
|
+
SBox([0x4, 0x0, 0x1, 0xE, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0x8, 0xF]),
|
|
1991
|
+
SBox([0x8, 0x0, 0x1, 0x3, 0x2, 0xF, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x5]),
|
|
1992
|
+
SBox([0x8, 0x6, 0x1, 0x2, 0x3, 0x5, 0x0, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1993
|
+
SBox([0x8, 0x0, 0x1, 0xA, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0x3, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1994
|
+
SBox([0x8, 0x0, 0x1, 0x6, 0x2, 0x5, 0x3, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
1995
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0xC, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0x3, 0xD, 0xE, 0xF]),
|
|
1996
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0xD, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0x3, 0xE, 0xF]),
|
|
1997
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0xE, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0x5, 0xF]),
|
|
1998
|
+
SBox([0xC, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
1999
|
+
SBox([0x8, 0x0, 0xD, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0x1, 0xE, 0xF]),
|
|
2000
|
+
SBox([0x2, 0x0, 0x1, 0x4, 0x3, 0x8, 0x6, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2001
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x8, 0x7, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2002
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x8, 0x6, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2003
|
+
SBox([0xF, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2004
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0xF, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2005
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0xC, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x5, 0xD, 0xE, 0xF]),
|
|
2006
|
+
SBox([0x7, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x8, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2007
|
+
SBox([0x8, 0x0, 0x1, 0xF, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x3]),
|
|
2008
|
+
SBox([0x2, 0x0, 0x1, 0x8, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2009
|
+
SBox([0x4, 0x8, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x0, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2010
|
+
SBox([0x4, 0x0, 0x1, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2011
|
+
SBox([0x8, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2012
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0x5, 0xA, 0x7, 0x1, 0x9, 0x6, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2013
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0x5, 0x6, 0x7, 0x1, 0x9, 0xA, 0xB, 0xE, 0xD, 0xC, 0xF]),
|
|
2014
|
+
SBox([0x6, 0x0, 0x8, 0x2, 0x3, 0x5, 0xA, 0x7, 0x1, 0x9, 0x4, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2015
|
+
SBox([0x6, 0x0, 0x8, 0x2, 0x3, 0x5, 0x4, 0x7, 0x1, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2016
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2017
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0xC, 0x7, 0x5, 0x9, 0xA, 0xB, 0x6, 0xD, 0xE, 0xF]),
|
|
2018
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x8, 0x5, 0xC, 0x7, 0x4, 0x9, 0xA, 0xB, 0x6, 0xD, 0xE, 0xF]),
|
|
2019
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0xC, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
2020
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x6, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2021
|
+
SBox([0x4, 0x0, 0x8, 0x2, 0x3, 0x5, 0x6, 0x7, 0x1, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2022
|
+
SBox([0x8, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2023
|
+
SBox([0x8, 0x0, 0xA, 0x2, 0x3, 0x5, 0x4, 0x7, 0x6, 0x9, 0x1, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2024
|
+
SBox([0x8, 0x0, 0x6, 0x2, 0x3, 0x5, 0x1, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2025
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xE, 0x8, 0xA, 0x9, 0xC, 0xD, 0xB, 0xF]),
|
|
2026
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xD, 0x9, 0x8, 0xB, 0xC, 0xA, 0xE, 0xF]),
|
|
2027
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xA, 0xC, 0x8, 0xB, 0x9, 0xD, 0xE, 0xF]),
|
|
2028
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x8, 0xB, 0x6, 0x7, 0x4, 0x9, 0xA, 0x5, 0xC, 0xD, 0xE, 0xF]),
|
|
2029
|
+
SBox([0x1, 0x0, 0x4, 0x8, 0x2, 0x5, 0xA, 0x7, 0x3, 0x9, 0x6, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2030
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xE, 0x9, 0x8, 0xB, 0xC, 0xD, 0xA, 0xF]),
|
|
2031
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xF, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xA]),
|
|
2032
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xA, 0xF, 0x9, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2033
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xC, 0x9, 0x8, 0xB, 0xA, 0xD, 0xE, 0xF]),
|
|
2034
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xD, 0x9, 0x8, 0xB, 0xC, 0xA, 0xE, 0xF]),
|
|
2035
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xA, 0xD, 0x9, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
2036
|
+
SBox([0x6, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0xC, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
2037
|
+
SBox([0x6, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0xD, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
2038
|
+
SBox([0x6, 0x5, 0x1, 0x2, 0x3, 0x0, 0x4, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2039
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2040
|
+
SBox([0x2, 0x0, 0x1, 0x4, 0x3, 0x5, 0x6, 0x7, 0xC, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
2041
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xD, 0x9, 0xA, 0xB, 0xC, 0x8, 0xE, 0xF]),
|
|
2042
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xE, 0x9, 0xA, 0xB, 0xC, 0xD, 0x8, 0xF]),
|
|
2043
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xE, 0x8, 0xA, 0xB, 0xC, 0xD, 0x9, 0xF]),
|
|
2044
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xB, 0x8, 0xA, 0x9, 0xC, 0xD, 0xE, 0xF]),
|
|
2045
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xF, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2046
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x5, 0x4, 0x6, 0x7, 0xE, 0x9, 0xA, 0xB, 0xC, 0xD, 0x8, 0xF]),
|
|
2047
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xC, 0x9, 0xA, 0xB, 0x8, 0xD, 0xE, 0xF]),
|
|
2048
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xF, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2049
|
+
SBox([0x1, 0x0, 0x4, 0x6, 0x2, 0x5, 0x3, 0x7, 0xA, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2050
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xD, 0x8, 0x9, 0xB, 0xC, 0xA, 0xE, 0xF]),
|
|
2051
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x8, 0xA, 0x6, 0x7, 0x4, 0x9, 0x5, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2052
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xA, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2053
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x4, 0x6, 0x7, 0x5, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2054
|
+
SBox([0x1, 0x0, 0x4, 0x8, 0x2, 0x5, 0x6, 0x7, 0x3, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2055
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x8, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2056
|
+
SBox([0x4, 0x6, 0x1, 0x2, 0x3, 0x5, 0x0, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2057
|
+
SBox([0x4, 0x0, 0x1, 0x6, 0x2, 0x5, 0x3, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2058
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0x9, 0x8, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2059
|
+
SBox([0x1, 0x0, 0x4, 0x6, 0x2, 0x5, 0x3, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2060
|
+
SBox([0x2, 0x0, 0x1, 0x4, 0x3, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2061
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2062
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0xA, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2063
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xA, 0x8, 0x9, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2064
|
+
SBox([0x6, 0x0, 0x1, 0x2, 0x3, 0x5, 0x4, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2065
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x8, 0x5, 0x6, 0x7, 0x4, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2066
|
+
SBox([0x4, 0x0, 0x1, 0x2, 0x3, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2067
|
+
SBox([0x1, 0x0, 0x4, 0x3, 0x2, 0x5, 0x6, 0x7, 0xF, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0x8]),
|
|
2068
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x5, 0x4, 0x6, 0x7, 0xA, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2069
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x7, 0x4, 0x6, 0x5, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2070
|
+
SBox([0x1, 0x0, 0x4, 0x3, 0x2, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2071
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x5, 0x4, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2072
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2073
|
+
SBox([0x8, 0x0, 0xA, 0x2, 0x3, 0x5, 0x1, 0x7, 0x4, 0x9, 0x6, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2074
|
+
SBox([0x4, 0x0, 0x1, 0x3, 0x2, 0x5, 0x6, 0x7, 0xC, 0x8, 0x9, 0xB, 0xA, 0xD, 0xE, 0xF]),
|
|
2075
|
+
SBox([0x4, 0x0, 0x6, 0x2, 0x3, 0x5, 0x1, 0x7, 0xA, 0x9, 0x8, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2076
|
+
SBox([0x4, 0x0, 0x6, 0x2, 0x3, 0x5, 0x1, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2077
|
+
SBox([0x2, 0x0, 0x1, 0x3, 0x6, 0x4, 0x5, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2078
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x6, 0x5, 0x4, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2079
|
+
SBox([0x3, 0x0, 0x1, 0x2, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2080
|
+
SBox([0x1, 0x0, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2081
|
+
SBox([0x1, 0x0, 0x3, 0x2, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF]),
|
|
2082
|
+
SBox([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF])
|
|
2083
|
+
]
|
|
2084
|
+
|
|
2085
|
+
# Dictionary of all available SBoxes
|
|
2086
|
+
sboxes = {}
|
|
2087
|
+
for k in dir(sys.modules[__name__]):
|
|
2088
|
+
v = getattr(sys.modules[__name__], k)
|
|
2089
|
+
if isinstance(v, SBox):
|
|
2090
|
+
sboxes[k] = v
|