A method for transforming data with a secret parameter in an elliptic curve cryptosystem based on an elliptic curve defined over an underlying binary polynomial field, the method comprising multiplying a point of the elliptic curve, representing the data to be transformed, by a scalar representing the secret parameter, wherein the multiplying includes performing at least one point addition operation and at least one point doubling operation on points of the elliptic curve. The point addition operation comprises a first sequence of elementary field operations, and the point doubling operation comprises a second sequence of elementary field operations, both the first and the second sequences of elementary field operations including a field inversion of coordinates of the elliptic curve points. A representation of the elliptic curve points in affine coordinates is provided and the first and second sequences of elementary field operations are balanced. The field inversion of coordinates is performed by the Extended Euclidean Algorithm and the balancing includes balancing the Extended Euclidean Algorithm by adding at least one dummy operation. In particular, the balancing of the Extended Euclidean Algorithm includes: after comparing respective degrees of two binary polynomials being iteratively processed in the algorithm, performing a same sequence of operations regardless of the result of said comparing. A device (305) is also provided, for transforming data with a secret parameter, comprising an integrated circuit (315) adapted to perform the above mentioned method. Circuit (315) implements a cryptosystem (317) including a scalar multiplication unit (320), includes in turn four subunits: a point addition unit (325), a point doubling unit (330), a field arithmetic unit (335), and a control unit (340).
展开▼