I am trying to run the following example from
S-Boxes and Their Algebraic Representations - Cryptography (sagemath.org)
from sage.crypto.sbox import SBox
S = SBox(12,5,6,11,9,0,10,13,3,14,15,8,4,7,1,2)
S.component_function(1).autocorrelation()
When I run the code I get the error copied here:
Traceback (most recent call last):
File "/home/sajjad/experiments/testin.py", line 1, in <module>
from sage.crypto.sbox import SBox
File "/usr/lib/python3/dist-packages/sage/crypto/sbox.py", line 6, in <module>
from sage.crypto.boolean_function import BooleanFunction
File "sage/crypto/boolean_function.pyx", line 40, in init sage.crypto.boolean_function (build/cythonized/sage/crypto/boolean_function.c:28685)
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/pbori/__init__.py", line 32, in <module>
from .PyPolyBoRi import *
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/pbori/PyPolyBoRi.py", line 68, in <module>
from .pbori import (order_dict, TermOrder_from_pb_order, BooleanPolynomialRing,
File "sage/rings/polynomial/pbori/pbori.pyx", line 1, in init sage.rings.polynomial.pbori.pbori (build/cythonized/sage/rings/polynomial/pbori/pbori.cpp:76772)
File "sage/rings/polynomial/multi_polynomial_ring_base.pyx", line 26, in init sage.rings.polynomial.multi_polynomial_ring_base (build/cythonized/sage/rings/polynomial/multi_polynomial_ring_base.c:23089)
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/polynomial_ring.py", line 170, in <module>
from .polynomial_element import PolynomialBaseringInjection
File "sage/rings/polynomial/polynomial_element.pyx", line 67, in init sage.rings.polynomial.polynomial_element (build/cythonized/sage/rings/polynomial/polynomial_element.c:107154)
ImportError: cannot import name polynomial_ring
sa@DESKTOP-K88EPGF:~/experiments$ /bin/python3 /home/sajjad/experiments/testin.py
Traceback (most recent call last):
File "/home/sajjad/experiments/testin.py", line 1, in <module>
from sage.crypto.sbox import SBox
File "/usr/lib/python3/dist-packages/sage/crypto/sbox.py", line 6, in <module>
from sage.crypto.boolean_function import BooleanFunction
File "sage/crypto/boolean_function.pyx", line 40, in init sage.crypto.boolean_function (build/cythonized/sage/crypto/boolean_function.c:28685)
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/pbori/__init__.py", line 32, in <module>
from .PyPolyBoRi import *
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/pbori/PyPolyBoRi.py", line 68, in <module>
from .pbori import (order_dict, TermOrder_from_pb_order, BooleanPolynomialRing,
File "sage/rings/polynomial/pbori/pbori.pyx", line 1, in init sage.rings.polynomial.pbori.pbori (build/cythonized/sage/rings/polynomial/pbori/pbori.cpp:76772)
File "sage/rings/polynomial/multi_polynomial_ring_base.pyx", line 26, in init sage.rings.polynomial.multi_polynomial_ring_base (build/cythonized/sage/rings/polynomial/multi_polynomial_ring_base.c:23089)
File "/usr/lib/python3/dist-packages/sage/rings/polynomial/polynomial_ring.py", line 170, in <module>
from .polynomial_element import PolynomialBaseringInjection
File "sage/rings/polynomial/polynomial_element.pyx", line 67, in init sage.rings.polynomial.polynomial_element (build/cythonized/sage/rings/polynomial/polynomial_element.c:107154)
ImportError: cannot import name polynomial_ring