in a manner that is particularly advantageous , the invention proposes a permutation function p that is configurable ( or parameterizable ), i . e . a function having parameters that can be set , which function can be used in diverse cryptographic applications , as described below , in particular for pseudo - random generation , for encrypting / decrypting data , and for cryptographically hashing a message . this permutation function p can have its parameters set as a function of the size of the data to which it is applied and has its parameters set by a so - called permutation key . thus the following notation convention is used : to designate that the permutation function p as with parameters set by the permutation key c is applied to input data e to obtain output data s . generally speaking , for input data e of size e and a permutation key c of size p less than or equal to e , the permutation function p is the result of applying p successive permutations of size e to the input data e , each permutation being associated with one bit of the permutation key c and chosen as a function at least of the value of that bit . for example , there is associated with each bit of the permutation key , i . e . with each permutation stage of the permutation function , a permutation p 0 if that bit is at 0 and a permutation p 1 if that bit is at 1 . the same pair of permutations ( p 0 , p 1 ) can be considered at the various stages of the permutation function p . these permutations p 0 and p 1 are then preferably defined as different from each other at all points and each individually different at all points from the identity permutation . however , these assumptions are not under any circumstances limiting on the invention , and different pairs of permutations can be considered at each stage of the permutation function , or other conditions applied to the permutations p 0 and p 1 , for example that the permutation obtained by composing the permutations p 0 and p 1 must be different at all points from the permutation obtained by composing the permutations p 1 and p 0 . the permutation function p has different properties according to the permutation key considered . thus if the permutation key c is formed from data independent of the input data to which the permutation function p is applied , a bijective ( or key permutation ) function is obtained , i . e . the function p is invertible provided that the value of the permutation key is known , i . e . that to a value of the input data of the function p with parameters set by this key there corresponds only one value of the output data . this property of the permutation function p is considered in particular in certain embodiments relating to an encryption / decryption device and a cryptographic hashing device of the invention . if the permutation key c is formed from input data e to which the permutation function p is applied ( in other words , if the permutation key depends on the whole or part of the input data e ), a one - way function is obtained , i . e . the function p is non - invertible , in other words is easy to calculate in one direction but difficult or even impossible to invert in a reasonable time ( i . e . with a reasonable complexity ). such a permutation function with parameters set in this way ( i . e . with a permutation key depending on the input data to which the permutation function is applied ), and a fortiori a one - way function based on such a permutation function , has never been proposed or used in the prior art . this property of the permutation function p is notably considered for a cryptographic module and a cryptographic generator of a pseudo - random data sequence ( pseudo - random generator ) in different embodiments of the invention . in the remainder of the description , to distinguish between applications of the permutation function p as a function of its properties , the expression “ surjective permutation means ” refers to the means implementing the permutation function p when it is a one - way function ( also referred to below for simplification as “ surjective permutation ”). consequently , surjective permutation must be understood as non - invertible ( i . e . non - bijective ), because it is used in the context of a one - way , i . e . non - invertible , function and in the context of that one - way function , different input data e 1 , e 2 , . . . can have the same output s ( for example , s = p ( e 1 , e 1 )= p ( e 2 , e 2 )= . . . , with e 1 ≠ e 2 ≠, . . . ). similarly , the expression “ bijective permutation means ” refers to the means implementing the permutation function p when it is a bijective function , in other words a bijective key permutation ( also referred to below for simplicity as “ bijective permutation ”). the features of and means for implementing the permutation function p are explained in more detail below , in particular with reference to fig9 a - 9e , 10 a and 10 b . these features and implementation means apply to the various devices and means described below using the permutation function p ( whether it is a one - way function or a bijective function ). fig1 represents diagrammatically an example of a pseudo - random generator 1 of the invention for generating a pseudo - random data sequence 3 . fig1 b shows one particular embodiment of this pseudo - random generator . note that fig1 a and 1b also illustrate the principal steps of the method of the invention of generating a pseudo - random data sequence . the pseudo - random generator 1 includes calculation means 5 which , starting from an initial value v 0 of a state vector v , form the pseudo - random data sequence 3 by iterative generation of a succession of values v 0 , . . . , v n - 1 , v n , . . . of the state vector . note that v n corresponds to the value taken by the state vector v n on the n th iteration . the same convention is used in a similar way for the other variables . the state vector v comprises a particular number k of bits ( i . e . it is a vector of size k , where k is an integer greater than or equal to 1 ). on each iteration n of the pseudo - random generation process , the calculation means 5 calculate a current value vn of the state vector v using a non - invertible application depending on a preceding value v n - 1 of the state vector . this non - invertible application is based on a one - way function with parameters set by a permutation key of size d ≦ k . in the example envisaged here , the state vector is advantageously fed on each iteration n with a current intermediate value x α calculated by another application , for example the application at , which can depend on the previous value v n - 1 of the state vector and a current input word u n belonging to an input data sequence ( an input data block in the sense of the invention ). in the example described here , the input words u n comprise a particular number m of bits ( words of size m ), where m is an integer greater than or equal to 1 . the current intermediate value x α comprises m bits ( vector of size m ). examples of the application at are described below , in particular with reference to fig2 to 12 ( in which the application at is an encryption / decryption module ) and fig1 ( in which the application at is a preconditioning module of a cryptographic hashing device ). referring to fig1 b , the principal means and the principal steps executed respectively in the pseudo - random generator 1 and in the pseudo - random generation method of one particular implementation of the invention are described below with reference to fig1 b . on the first iteration , the pseudo - random generator 1 calculates a first value v 1 of the state vector v as a function of a first input word u 1 ( using the current intermediate value x α ) and the initial value v 0 of the state vector . by extension , on the n th iteration , the pseudo - random generator 1 calculates a current value v n of the state vector v as a function of a current input word u n ( using the current intermediate vector x α ) and the preceding value v n - 1 of the state vector . in this example , the pseudo - random generator 1 includes transmission means 321 , reception means 323 , and calculation means 325 a , 325 b , 325 c , 326 , and 327 . on each iteration ( for example on iteration n ), the transmission means 321 send the application at the preceding value v n - 1 of the state vector . the reception means 323 receive from the application at the current intermediate value x α . first calculation means 325 a replace a section x n - 1 of size m of the preceding value v n - 1 of the state vector with the current intermediate value x α to form a current value of a first intermediate state vector v int1 . in the example described here , second calculation means 325 b form a current value of a provisional vector v prov of size k 1 greater than or equal to k from the current value of the first intermediate state vector v int1 and the current value of the complementary vector , written v int1 , of the first intermediate state vector v int1 ( i . e . in the sense of the invention the provisional vector v prov comprises the vectors v int1 and v int1 ). as known in the art , the complementary vector of a vector is obtained by complementing to 1 each bit of that vector . here the current value of the provisional vector obtained in that way is : alternatively , this provisional vector can be equal to v int1 ( i . e . the second calculation means 325 b can be dispensed with ) and is then of size k . an embodiment corresponding to such an option is represented in fig3 a in particular and described in more detail below . the current value of the provisional vector is then supplied to third calculation means 326 comprising surjective permutation means 326 a adapted to apply a one - way function to the current value of the provisional vector to produce the current value of a result vector v res . the one - way function applied by the surjective permutation means 326 a is based on the configurable permutation function p described above with its parameters set by a permutation key c of predetermined size d ( i . e . p = d ) less than or equal to k . here the choice made is d = k . the current value of the permutation key c of the one - way function is formed by formation means 326 b from the current value of the first intermediate state vector . in the example described here , the current value c is taken as equal to the current value of the first intermediate state vector , c = v int1 . below , for simplicity , c and the term “ key ” are used interchangeably for the current value of the permutation key for iteration n and the permutation key itself ( i . e . the random variable ). alternatively , in another embodiment of the invention , the size of the key d can be strictly less than k . the permutation key c is then formed by the means 326 b selecting d distinct bits , consecutive or otherwise , from the k bits of the first intermediate vector v int1 , the positions of the selected d bits preferably being predefined and fixed . the size d of the permutation key is preferably made greater than the size of the intermediate current value x α and the selected d bits preferably comprise the current intermediate value x α . here the one - way function applied by the surjective permutation means 326 a is therefore the result of applying d = k successive permutations of size k 1 = 2k ( i . e . e = k 1 = 2k ), each permutation being associated with a distinct bit of the permutation key c = v int1 and chosen as a function at least of the value of this bit ( for example in a predefined permutation table , as described below with reference to fig1 a and 10 b ). alternatively , it can also depend on the permutation stage concerned . p defines a one - way function because the permutation key c = v int1 depending on the data to which the permutation function p is applied ( since v prov =( v int1 v int1 )). the result vector v res obtained after this application step is of size k 1 = 2k . in the sense of the invention the calculation means 326 therefore consist of a cryptographic module . in the embodiment described here , the calculation means 5 of the pseudo - random generator 1 further include fourth calculation means 325 c that select a section of k bits from the k 1 bits of the current value of the result vector v res to form the current value of a second intermediate vector v int2 . for example , the second intermediate vector v int2 is formed by the first k bits of the result vector v res . moreover , the calculation means 5 of the pseudo - random generator 1 here further include fifth calculation means 327 including an exclusive - or gate 327 a combining the preceding value v n - 1 of the state vector and the current value of the second intermediate state vector v int2 . in addition to being non - reversible , this exclusive - or operation confers a greater spread on the pseudo - random generator 1 . in another embodiment of the invention , the exclusive - or gate 327 a of the fifth calculation means 327 combines the current value of the second intermediate state vector v int2 with the current value of the first intermediate state vector v int1 . in a further embodiment of the invention , the current value v n of the state vector v corresponds to the current value of the second intermediate state vector v int2 . after the above operations of iteration n , the current value v n of the state vector v is available for the next iteration n + 1 . in the example represented in fig1 b , the current intermediate value x α replaces a section x n - 1 consisting of m consecutive bits of the preceding value v n - 1 of the state vector to form a current value of a first intermediate state vector v int1 . this assumption is not limiting on the invention , however , and it is of course equally possible to replace the m bits of a section x n - 1 of v n - 1 occupying m particular positions , not necessarily consecutive , in the state vector , by the m components of the current intermediate value x α to form a current value of a first intermediate state vector v int1 . fig2 to 12 show that the pseudo - random generator 1 represented diagrammatically in fig1 a ( a particular implementation of which is shown by way of example in fig1 b ) can be used in combination with an encryption / decryption module to encrypt and / or decrypt a succession of input words . note that fig2 to 12 also illustrate the principal steps of the method of encrypting an input data sequence . in this situation , the current intermediate value x α can be calculated by the encryption / decryption module by an application independent of that of the pseudo - random generator . fig2 shows a device 7 for encrypting ( and / or decrypting ) an input data sequence 9 ( respectively 15 ) in one particular embodiment of the invention . this device 7 includes generation means 11 for iteratively generating a succession of values 13 of a state vector and a succession of output words 15 ( respectively 9 ) from an initial value v 0 of the state vector and a succession of input words u n ( respectively y n ) forming the input sequence . the state vector v comprises a predetermined number k of bits and the initial value v 0 of the state vector corresponds to a configurable encryption / decryption key of size k . the size k of the encryption / decryption key corresponds to the number of bits of the key and thus to the number of bits of the state vector v . moreover , an input or output word u n / y n is of a size m corresponding to the number of bits that are encrypted or decrypted by the encryption / decryption module 17 on each iteration . these values k and m can be predefined . embodiments in which the size of an input or output word can be variable are described in detail below with reference to fig7 and 8 . in the example envisaged here , the generation means 11 include a pseudo - random generator 1 of the invention as shown in fig1 a ( for example the pseudo - random generator from fig1 b ) and an encryption / decryption module 17 . alternatively , other pseudo - random generators can be used to implement the encryption device and method of the invention , for example a pseudo - random generator based on the advanced encryption standard ( aes ) algorithm , a pseudo - random generator based on the blum blum shub ( bbs ) algorithm , or a pseudo - random generator based on shift registers known to the person skilled in the art . accordingly , on each iteration n , the pseudo - random generator 1 calculates a current value v n of the state vector by a non - invertible application depending on the preceding value v n - 1 of the state vector and the current intermediate value x α produced by a calculation carried out by the encryption / decryption module 17 and depending on the preceding value v n - 1 of the state vector and the current input word u n ( respectively y n ), and the encryption / decryption module 17 calculates a current output word y n ( respectively u n ) by a reversible application depending on a current input word u n ( respectively y n ) and the preceding value v n - 1 of the state vector . note that the encryption device 7 can be used reversibly for encryption and / or decryption . as described above , the encryption method of the invention can be used in encryption mode when the sequence of input words is from a message in clear to be encrypted or in decryption mode when the sequence of output words is from an encrypted message to be decrypted . in the present example , on each iteration n the pseudo - random generator 1 feeds the state vector with the current intermediate value x α produced by a calculation carried out by the encryption / decryption module 17 and depending on the preceding value v n - 1 of the state vector and the current input word u n ( respectively y n ). as described above , the pseudo - random generator 1 uses a non - invertible application based on a one - way function with parameters set by a permutation key and can be used to perform encryption and decryption in the same way . moreover , the encryption / decryption module 17 is reversible and can therefore be used with the encryption / decryption operations effected in reverse order . thus , during encryption , an input word is written u n ( data in clear ) and an output word is written y n ( encrypted data ), while during decryption an input word is written y n ( encrypted data ) and an output word is written u n ( data in clear ). more specifically , before starting encryption by the encryption method of the invention , the value of the encryption key becomes the initial value v 0 of the state vector v ( v 0 = encryption key ). on the first iteration , the encryption / decryption module 17 calculates the first output word y 1 ( corresponding to an encrypted word ) as a function of the first input word u 1 ( corresponding to a word in clear ) and the initial value v 0 of the state vector . moreover , the pseudo - random generator 1 calculates a first vector v 1 of the state vector v as a function of the first input word u 1 and the initial value v 0 of the state vector . by extension , on the n th iteration , the encryption / decryption module 17 calculates the current output word y n as a function of the current input word u n and the preceding value v n - 1 of the state vector . moreover , the pseudo - random generator 1 calculates a current value v n of the state vector v as a function of the current input word u n and the preceding value v n - 1 of the state vector . in the same manner , before starting decryption by the encryption method of the invention , the value of the decryption key becomes the initial value v 0 of the state vector v ( v 0 = decryption key ). the decryption key is naturally taken as equal to the encryption key used to encrypt the data ( symmetrical encryption ). on the first iteration of the decryption process , the encryption / decryption module 17 calculates the first output word u 1 ( corresponding to a decrypted word ) as a function of the first input word y 1 ( corresponding to a encrypted word ) and the initial value v 0 of the state vector . moreover , the pseudo - random generator 1 calculates a first value v 1 of the state vector v as a function of the first input word y 1 and the initial value v 0 of the state vector . by extension , on the n th iteration the encryption / decryption module 17 calculates the current output word u n as a function of the current input word y n and the preceding value v n - 1 of the state vector . moreover , the pseudo - random generator 1 calculates a current value v n of the state vector v as a function of the current input word y n and the preceding value v n - 1 of the state vector . in the example described here , the state vector v advantageously includes a set of sections comprising at least a first state variable x , a second state variable a , a third state variable b , and possibly other state variables . these state variables are therefore pseudo - random variables . for example , the current value v n of the state vector v can be structured in the following manner : v n =( . . . ( x n =( x n1 . . . x nm )) . . . ( a n =( a n1 . . . a nm )) . . . ( b n =( b n1 . . . b nm )) . . . ) the values of the state variables x , a , and b will also be considered as sections of the state value or of the value of the state vector in the sense of the invention . in this example , the state variables x , a , and b are sections each consisting of m consecutive bits . the current value x n of the first state variable x comprises m bits x n1 , . . . , x nm , the current value a n of the second state variable a comprises m bits a n1 , . . . , a nm , and the current value b n of the third state variable b comprises m bits b n1 , . . . , b nm . more specifically , the value x n of the first state variable x is used in the next iteration by functions ( respectively means ) referred to as “ isolation ” functions ( respectively means ) of the encryption / decryption module 17 before being replaced by the intermediate value x α produced by the calculation effected in the next iteration by the encryption / decryption module 17 . the values a n and b n of the second and third state variables are also used during the next iteration by the isolation functions of the encryption / decryption module 17 ( see for example fig3 a and 3b ). the state variables are preferably located at a fixed position , but it is possible to assign them a position variable as a function of the value or values taken by one or more sections of the state vector , themselves at fixed positions . only the solution of a fixed position of the state variables is described below . moreover , it is preferable ( although not necessary ) for the sectors assigned to each of the state variables not to overlap . the size k of the state vector is therefore chosen accordingly and each state variable corresponds to a section of limited size of the state vector ( i . e . of a size strictly less than that of the state vector ). fig3 a shows in more detail a first example of an encryption / decryption device 7 from fig2 . in this first example , the pseudo - random generator 1 includes transmission means 21 , reception means 23 , and calculation means 25 , 26 , and possibly 27 . on each iteration ( for example on iteration n ), the transmission means 21 send the encryption / decryption module 17 the preceding value v n - 1 of the state vector comprising at least the preceding value x n - 1 of the first state variable x , the preceding value a n - 1 of the second state variable a , and the preceding value b n - 1 of the third state variable b . the reception means 23 receive from the encryption / decryption module 17 the current intermediate value x α . first calculation means 25 replace the preceding value x n - 1 of the first state variable x by the current intermediate value x α to calculate a current value of a first intermediate state vector v int1 . second calculation means 26 comprise surjective permutation means 26 a adapted to apply to the first intermediate state vector v int1 a one - way function with parameters set by a permutation key c of size d = k comprising the current value of the first intermediate vector v int1 ( c = v int1 ) to form the second intermediate state vector v int2 . the second calculation means 26 function in a similar way ( apart from the size of the vectors ) to the calculation means 326 described above and constitute a cryptographic module in the sense of the invention . the one - way function applied by the calculation means 26 a is based on the configurable permutation function p described above ( p = d = k and e = k ) and therefore is here the result of applying k successive permutations of size k , each permutation being associated with a distinct bit of the permutation key c = v int1 and chosen as a function at least of the value of that bit . accordingly , the means 26 a apply the one - way function p =( v int1 , v int1 ) with parameters set by the current value of the first intermediate state vector v int1 to the first intermediate state vector to form a current value of a second intermediate state vector v int2 . in this first example , in the sense of the invention , the first intermediate value , respectively the second intermediate value , therefore represents a provisional vector , respectively a result vector . note that the vectors v int1 and v int2 are both of size k . the current value v n of the state vector v therefore corresponds to the current value of the second intermediate state vector v int2 . in another variant ( represented in dashed line in fig3 a ), the calculation means 5 of the pseudo - random generator 1 further include third calculation means 27 including an exclusive - or gate 27 a combining the current value of the first intermediate state vector v int1 and the current value of the second intermediate state vector v int2 . in another variant ( not shown ), the third calculation means 27 include an exclusive - or gate 27 a combining the preceding value of the state vector v n - 1 and the current value of the second intermediate state vector v int2 . thus the calculation means 5 of the pseudo - random generator 1 execute a one - way , ( i . e . non - invertible ) function on the first intermediate state vector v int1 the result of which is optionally combined with this first intermediate state vector v int1 or with the state vector in the preceding iteration . after the above operations of iteration n , the current value v n of the state vector v is available for the next iteration n + 1 . moreover , the encryption / decryption module 17 includes reception means 33 , isolation means 35 a and 35 b and , in the example described here , connection means 37 between the isolation means 35 a and 35 b . the reception means 33 receive from the pseudo - random generator 1 the preceding value v n - 1 of the state vector comprising at least the preceding value x n - 1 of the first state variable x , the preceding value a n - 1 of the second state variable a , and the preceding value b n - 1 of the third state variable b . the isolation means comprise at least two isolation means 35 a and 35 b for isolating the current intermediate value x α . the isolation means apply a symmetrical “ secret key ” function , the secret key being obtained from at least one section of the preceding value of the state vector . as the person skilled in the art knows , a symmetrical secret key function is one for which calculating the output as a function of the input and the input as a function of the output is easy if the secret key is available and impossible if the secret key is not known . the secret key functions used preferably include at least one exclusive - or operation , i . e . the isolation means include at least one exclusive - or gate . they can further include bijective permutation means . in the example described here ( see fig5 a ), the isolation means each include an exclusive - or gate and two bijective permutation means and the connection means 37 include an exclusive - or gate . the secret key function used in each isolation means in the sense of the invention is thus made up of two bijective permutations and one exclusive - or operation , each with parameters set by a section of size m of the state vector v n - 1 . the secret key of this function is made up of the section setting the parameters of the first bijective permutation , the section setting the parameters of the exclusive - or operation , and the section setting the parameters of the second bijective permutation . thus the encryption device 7 includes two interconnected elements , namely a pseudo - random generator 1 with parameters set by an encryption / decryption key of any size k used to initialize the state vector v and an encryption - decryption module 17 incorporating secret key isolation functions . fig3 b shows a second example of an encryption device 7 from fig2 using the pseudo - random generator 1 represented in fig1 b . the mode of operation of this device 7 and the associated variants are similar to those described above with reference to fig3 a . fig5 a and 6a show in more detail ways of encrypting and decrypting an input data sequence when the fig3 a pseudo - random generator 1 is used . more specifically , fig5 a shows the encryption device 7 in an encryption mode in which the input data sequence corresponds to a message in clear and the succession of output words corresponds to an encrypted message . in the present example , the connection means 37 between the first isolation means 35 a and the second isolation means 35 b includes a central exclusive - or gate 41 b . the first isolation means 35 a include first and second bijective permutation means 39 a , 39 b separated by a first exclusive - or gate 41 a . the second isolation means 35 b include third and fourth bijective permutation means 39 c , 39 d separated by a second exclusive - or gate 41 c . the bijective permutation means 39 a , 39 b , 39 c , 39 d considered here each implement the permutation function p described above with parameters set by a state variable of the state vector v n - 1 , i . e . by a permutation key of size m ( p = m ) equal to a state variable of the state vector v n - 1 . accordingly : the first bijective permutation means 39 a implement a first bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the second state variable a n - 1 ; the second bijective permutation means 39 b implement a second bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the first state variable x n - 1 ; the third bijective permutation means 39 c implement a third bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the first state variable x n - 1 ; and the fourth bijective permutation means 39 d implement a fourth bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the third state variable b n - 1 . the permutation keys used to set the parameters of the permutation function p in the bijective permutation means 39 a , 39 b , 39 c , and 39 d being independent of the data to which the resulting permutation function p is applied , each therefore implements an invertible ( bijective ) function the invert function of which is a permutation function p − 1 . this invertible function p is the result of applying m successive permutations of size m ( p = e = m ) selected as a function of the value of each bit of the permutation key concerned . thus , in this encryption mode , calculating a current output word y n during an iteration n includes the following operations . the first permutation means 39 a calculate a first intermediate word g 1n by applying the first bijective permutation to a pair consisting of the current input word u n and a preceding value a n - 1 of the second state variable : g 1n = p ( u n , a n - 1 ). in other words , the first permutation means 39 a calculate the first intermediate word g 1n by applying to the current input word u n the bijective permutation function p with parameters set by a n - 1 . the first exclusive - or gate 41 a calculates a second intermediate word g 2n by applying an exclusive - or operation to the first intermediate word g 1n and the preceding value a n - 1 of the second state variable : g 2n = g 1n ⊕ a n - 1 . the second permutation means 39 b calculate a third intermediate word g 3n by applying the second bijective permutation to a pair consisting of the second intermediate word g 2n and the preceding value x n - 1 of the first state variable : g 2n = p ( g 2n , x n - 1 ). in other words , the second calculation means 39 b calculate the third intermediate word g 3n by applying the bijective permutation function p with parameters set by x n - 1 to the second intermediate word g 2n . the central exclusive - or gate 41 b calculates the current intermediate value x α by applying an exclusive - or operation to the third intermediate word g 3n and the preceding value x n - 1 of the first state variable : x α = g 3n ⊕ x n - 1 . this current intermediate value x α is then sent to the pseudo - random generator 1 . the third permutation means 39 c then calculate a fourth intermediate word g 4n by applying the third bijective permutation to a pair consisting of the current intermediate value x α and the preceding value x n - 1 of the first state variable : g 4n = p ( x α , x n - 1 ). in other words , the third permutation means 39 c calculate the fourth intermediate word g 4n by applying the bijective permutation function p with parameters set by x n - 1 to the current intermediate value x α . the third exclusive - or gate 41 c calculates a fifth intermediate word g 5n by applying an exclusive - or operation to the fourth intermediate word g 4n and the preceding value b n - 1 of the third state variable : g 5n = g 4n αb n - 1 . finally , the fourth permutation means 39 d calculate the current output word y n by applying the fourth bijective permutation to a pair formed by the fifth intermediate word g 5n and a preceding value b n - 1 of the third state variable : y n = p ( g 5n , b n - 1 ). in other words , the fourth permutation means 39 d calculate the current output word y n by applying the bijective permutation function p with parameters set by b n - 1 to the fifth intermediate word g 5n . fig6 a shows the encryption device as used in a decryption mode in which the input data sequence corresponds to an encrypted message and the succession of output words corresponds to a message in clear . in this decryption mode the calculation of a current output word u n in an iteration n includes the following operations . the fourth permutation means 39 d calculate a fifth intermediate word g 5n by applying a permutation that is the reverse of the fourth bijective permutation to a pair formed by a current input word y n and the preceding value b n - 1 of the third state variable : g 5n = p − 1 ( y n , b n - 1 ). the third exclusive - or gate 41 c calculates a fourth intermediate word g 4n by applying an exclusive - or operation to the fifth intermediate word g 5n and the preceding value b n - 1 of the third state variable : g 4n = g 5n ⊕ b n - 1 . the third permutation means 39 c calculate the current value x α by applying a permutation that is the reverse of the third bijective permutation to a pair formed by the fourth intermediate word g 4n and the preceding value x n - 1 of the first state variable : x α = p − 1 ( g 4n , x n - 1 ). this current intermediate value x α is then sent to the pseudo - random generator . the center exclusive - or gate 41 b calculates a third intermediate word g 3n by applying an exclusive - or operation to the current intermediate value x α and the preceding value x n - 1 of the first state variable : g 3n = x α ⊕ x n - 1 . the second permutation means 39 b calculate a second intermediate word g 2n by applying a permutation that is the reverse of the second bijective permutation to a pair formed by the third intermediate word g 3n and the preceding value x n - 1 of the first state variable : g 2n = p − 1 ( g 3n , x n - 1 ). the first exclusive - or gate 41 a calculates a first intermediate word g 1n by applying an exclusive - or operation to the second intermediate word g 2n and the preceding value a n - 1 of the second state variable : g 1n = g 2n ⊕ a n - 1 . finally , the first permutation means 39 a calculate the current output word u n by applying a permutation that is the reverse of the first bijective permutation to a pair formed by the first intermediate word g 1n and the preceding value a n - 1 of the second state variable : u n = p − 1 ( g 1n , a n - 1 ). accordingly , in the fig5 a and 6a examples , the isolation functions or means 35 a and 35 b are each made up of two permutation functions ( bijective permutations in the sense of the invention ) with parameters set by a n - 1 and x n - 1 for the first isolation means 35 a and by b n - 1 and x n - 1 for the second isolation means 35 b , and an exclusive - or operation with a n - 1 for the first isolation means 35 a and with b n - 1 for the second isolation means 35 b . the current intermediate value x α is therefore isolated from the input and output words ( i . e . not accessible from the input and output words ) in the middle of four permutation functions with parameters set by a n - 1 , x n - 1 , and b n - 1 , and three exclusive - or operations with the state variables a n - 1 , x n - 1 , and b n - 1 of the state vector v , which is itself isolated from the inputs and outputs . this amounts to self - isolation of the state vector v . fig5 b and 6b show in a similar way modes for encrypting and decrypting an input data sequence using the fig3 b pseudo - random generator 1 . alternatively , other state pseudo - random generators could be used . moreover , in one embodiment , the complexity of the encryption / decryption operations can be further increased by replacing each of the state variables a n , b n , and x n by two sub - variables of identical size ( sections in the sense of the invention ), respectively a n ′ and a n ″ for a n , b n ′, and b n ″ for b n and x n ′, and x n ″ for x n . the sub - variables a n , b n ′, and x n ′ can be used to set the parameters of the permutations p and p − 1 and the sub - variables a n ″, b n ″, and x n ″ can be used to calculate the exclusive - or operations . in another embodiment , the respective state sub - variables a n ′ and a n ″ for a n , b n ′, and b n ″ for b n and x n ′, and x n ″ for x n can be non - contiguous and each of size m . for example : v n =( x ′ n a ′ n b ′ n x ″ n a ″ n b ″ n . . . ) in a further embodiment , each state variable can include m not necessarily consecutive bits of the state vector v occupying predetermined positions , for example . moreover , note that in one particular embodiment of the invention it is possible to use a plurality of generators in parallel for the same encryption / decryption module . for example , fig4 shows an encryption device 107 that can be used in a similar way to the encryption device 7 in encryption mode and / or in decryption mode and includes an encryption / decryption module 17 and two pseudo - random generators 101 , 102 similar to that described with reference to fig3 a for the first embodiment ( alternatively other pseudo - random generators can be considered , for example two pseudo - random generators similar to the generator shown in fig3 b ). the first pseudo - random generator 101 forms a first current value v 1 n of a first state vector v 1 and the second pseudo - random generator 102 forms a second current value v 2 n of a second state vector v 2 . the two pseudo - random generators 101 , 102 can be combined in parallel by means of an exclusive - or gate , for example . the current value v n of the state vector is then the result of an exclusive - or operation applied to the first current value v 1 n of the first state vector and the second current value v 2 n of the second state vector . note that any other combination is possible , for example the current value v n of the state vector coming from the two pseudo - random generators 101 , 102 can be made up of a first section derived from the first current value v 1 n of the first state vector , a second section derived from the second current value v 2 n of the second state vector , and a third section derived from any combination of the corresponding sections of the first and second current values v 1 n , v 2 n of the first and second state vectors . more specifically , in the fig4 example , the first pseudo - random generator 101 is fed a first initial value v 1 0 and generates a first current value v 1 n of a first state vector v 1 including at least a first current value x 1 n of the first state variable x 1 , a first current value a 1 n of the second state variable a 1 , and a first current value b 1 n of the third state variable b 1 . moreover , the second pseudo - random generator 102 is fed a second initial value v 2 0 and generates a second current value v 2 n of a second state vector v 2 including at least a second current value x 2 n of the first state variable x 2 , a second current value a 2 n of the second state variable a 2 , and a second current value b 2 , of the third state variable b 2 . in this specific example , the preceding value v n - 1 of the state vector sent to the encryption / decryption module 17 is formed by a preceding value x n - 1 of the first state variable x resulting from an exclusive - or operation applied to the first preceding value x 1 n - 1 of the first state variable x 1 of the first state vector and the second preceding value x 2 n - 1 of the first state variable x 2 of the second state vector , a preceding value a n - 1 = a 1 n - 1 of the second state variable a 1 of the first state vector and a preceding value b n - 1 = b 2 n - 1 of the third state variable b 2 of the second state vector . moreover , the two pseudo - random generators 101 , 102 are fed the same current intermediate value x α from the encryption / decryption module 107 . thus , generally speaking , it is possible to implement h pseudo - random generators in parallel ( i = 1 to h ) for the same encryption / decryption module . the h pseudo - random generators are then all fed the same current intermediate value x α from the encryption / decryption module . the h generators can be of the same or different sizes k 1 , . . . , k h . the initial values v 1 0 , . . . , vh 0 can be extracted or calculated from the same common encryption / decryption key , the size of which is equal to the maximum of k 1 , . . . , k h . the values of a n and b n can come from the same generator or different generators . x n can correspond to the result of combining by means of exclusive - or operations all of the respective xi n : x n = x 1 n ⊕ x 2 n ⊕ . . . ⊕ xh n . of course , the pseudo - random generators in parallel can be used independently of the encryption / decryption module to generate a pseudo - random data sequence of high quality . in the above examples , the state vector comprises a particular number k of bits and each output or input word comprises a particular number m of bits less than the particular number k of bits of the state vector . in one particular embodiment of the invention , each output or input word can advantageously comprise a number w of bits that can vary on each iteration whilst remaining less than the particular number k of bits of the state vector . fig7 shows a device for encrypting a variable number w of bits in such an embodiment of the invention . the pseudo - random generator in this figure is that shown in fig3 a . of course , a different pseudo - random generator could be considered instead , for example that shown in fig3 b . here the state vector v can advantageously include a fourth state variable e indicating this number w of bits that is variable on each iteration to adapt the permutations ( in particular the size e of the permutations and the number p of stages of permutation concerned ) and exclusive - or operators implemented by the permutation means and the exclusive - or gates of the module 17 for encrypting / decrypting to this variable number w . accordingly , the permutation functions p ( for encryption ), p − 1 ( for decryption ) and the exclusive - or operator “⊕” used by the encryption / decryption module 17 are adaptable to input and output words u n / y n of any length w ( w ≦ m & lt ; k ). provided that permutation tables are predefined corresponding to all feasible values of w to implement the permutation functions p and p − 1 to effect the exclusive - or operations on the first w bits of the state variables a n - 1 , x n - 1 , and b n - 1 , it is possible to divide the input data into blocks of variable size w and to encrypt and / or decrypt those blocks using the encryption / decryption module 17 . the parameter indicating the number w of input bits to be encrypted and / or decrypted during iteration n is provided by the preceding value e n - 1 of the fourth state variable e . this fourth state variable e is a section of size r of the state vector isolated from the inputs and outputs and depending on the encryption / decryption key and the whole of the applied sequence of input words u n / y n . accordingly , during iteration n , the size w n - 1 of the block to be processed is sent to the input word u n / y n or the output word y n / u n and to the permutation means 39 a - 39 d and to the logic gates 41 a - 41 c to size the permutations and the exclusive - or operations . the number of bits encrypted on each iteration is therefore pseudo - random , depending on the encryption / decryption key and the whole of the applied sequence of input words u n / y n . the slightest modification of the input word sequence u n / y n therefore systematically leads to modification of the whole of the subdivision of the data after that modification . to extract the number w of bits to encrypt / decrypt during the iteration n from the preceding value e n - 1 of the fourth state variable e , w can be assigned the decimal value coded on the r bits of the preceding value e n - 1 of the fourth state variable : 0 ≦ w ≦ 2 r − 1 (= m ). alternatively , w can be assigned the value of the number of bits at 1 in the preceding value e n - 1 of the fourth state variable : 0 ≦ w ≦ r (= m ). note that in the example described here the initial number of bits is set to w 0 = 1 by convention and regardless of the initial value e 0 of the fourth state variable e . thus only one bit is systematically encrypted / decrypted during the first iteration . to prevent leaking of information concerning the subdivision effected ( for example by observing the inputs and outputs of the encryption module ) the output words y n / u n can advantageously be grouped to free up at the output blocks of constant length m only . the same precaution can be applied to the input words u n / y n in the case of decryption . fig8 shows an encryption device ( which can be used for encryption and / or decryption like that shown in fig7 ) including a pseudo - random generator 1 like that shown in fig3 a , which includes additional means for calculating a new current state value replacing the current value of the state vector by means of a non - invertible application depending on the current value of the state vector . these additional means enable the pseudo - random generator 1 to effect “ empty ” iterations on the state vector v as a function of the value w indicated by the fourth state variable e . thus the pseudo - random generator 1 includes fourth calculation means 45 including additional surjective permutation means . thus the pseudo - random generation step of each iteration includes application by the fourth calculation means 45 , when the variable number w is equal to zero , of a surjective permutation to the current value v n of the state vector ( permutation function p with parameters set by a permutation key equal to the vector v n ) to form a current value of an additional second intermediate state vector v 2 ins . this current value of the second additional intermediate state vector v 2 ins then replaces the current value v n of the state vector v . alternatively , the pseudo - random generator 1 can include fifth calculation means 47 including an additional exclusive - or gate 47 a for calculating a new current value v temp of the state vector by applying an exclusive - or operation to the current value of the additional second intermediate state vector v 2 ins and the current value v n of the state vector . this new current value v temp of the state vector then replaces the current value v n of the state vector . thus fig8 shows that when it is determined that w = 0 the pseudo - random generator 1 effects “ empty ” iterations on the state vector v for as long as w remains at 0 , without incorporating the current intermediate value x α into the state vector v since no encryption / decryption operation is effected on the input words u n / y n or output words y n / u n ( in other words , 0 bits are encrypted / decrypted ). more specifically , before starting an encryption process , the value of the encryption key becomes the initial value v 0 of the state vector v : v 0 = encryption key and w 0 = 1 . on the first iteration , the encryption / decryption module 17 takes the first bit of the input word u 1 to be encrypted and calculates the value of the first bit of the output word y 1 encrypted as a function of u 1 and the initial value v 0 of the state vector v . the pseudo - random generator 1 calculates a first value v 1 of the state vector v as a function of u 1 and v 0 . by extension , on the n th iteration , if the pseudo - random generator 1 detects that w n - 1 = 0 , the pseudo - random generator 1 effects “ empty ” iterations on the preceding value v n - 1 of the state vector for as long as w n - 1 = 0 . in contrast , if w n - 1 ≠ 0 , the encryption / decryption module 17 takes the next w n - 1 bits of the data to be encrypted ( block u n ) and calculates the value of the output word y n as a function of u n and v n - 1 . the pseudo - random generator 1 calculates a new value v n of the state vector v as a function of u n and v n - 1 . symmetrically , before decryption , the value of the decryption key becomes the initial value v 0 of the state vector v : v 0 = decryption key and w 0 = 1 . on the first iteration , the encryption / decryption module 17 takes the first bit of the input word y 1 to be decrypted and calculates the value of the first bit of the output word u 1 decrypted as a function of y 1 and the initial value v 0 of the state vector v . the pseudo - random generator 1 calculates a first value v 1 of the state vector v as a function of y 1 and v 0 . by extension , on the n th iteration , if the pseudo - random generator 1 detects that w n - 1 = 0 , the pseudo - random generator 1 effects “ empty ” iterations on the preceding value v n - 1 of the state vector for as long as w n - 1 = 0 . in contrast , if w n - 1 ≠ 0 , the encryption / decryption module 17 takes the next w n - 1 bits of the data to be decrypted ( block y n ) and calculates the value of the output word u n as a function of y n and v n - 1 . furthermore , the pseudo - random generator 1 calculates a new value v n of the state vector v as a function of y n and v n - 1 . accordingly , the operations of the fig8 example are such that the iterations effected on the pseudo - random generator 1 are desynchronized from the iterations effected by the encryption / decryption module 17 as a function of a non - accessible pseudo - random variable ( fourth state variable e ), the encryption / decryption key , and the whole of the sequence of input words u n / y n applied . the slightest modification of the sequence of input words u n / y n therefore leads systematically to modification of the whole of the subdivision of the data after that modification and therefore modification of how the pseudo - random generator 1 is desynchronized from the encryption / decryption module 17 . note moreover that in order to avoid desynchronization of streams and empty cycles the size of the blocks to be encrypted / decrypted can be varied without having to address the situation where w = 0 ; in this situation where w = 0 only one bit must be encrypted / decrypted . it is also possible to retain only the stream desynchronization function without varying the size of the blocks to be encrypted / decrypted . an empty cycle of the pseudo - random generator 1 is then effected if w = 0 whereas for any other value of w an input word u n / y n or an output word y n / u n of fixed size m is encrypted / decrypted . the various embodiments of the encryption method and device of the invention can be used for high bit rate stream encryption applications ( telecommunications , protected multimedia content broadcasting , on the fly encryption of data in servers , personal computers and software applications , etc .). furthermore , the very structure of the encryption process suits it to applications in the field of cryptographic multiplexing . generally speaking , cryptographic multiplexing causes m messages in clear 71 to be encrypted to converge toward the same encryption device 207 a , which generates m encrypted messages . these m encrypted messages are then combined and sent via the same channel 73 a ( fig1 a ) or separately via different channels 73 b ( fig1 b ) to a user or to an application for which they are intended . fig1 c shows that mixed solutions can be envisaged as a function of the number of transmission channels available and the respective bit rate of each of those channels . in this example , a first channel 73 c sends a single encrypted message and a second channel 73 d sends m − 1 combined encrypted messages . an encryption device 207 b used in decryption mode ( also referred to as a decryption device ) then reconstitutes the m messages 75 in clear from the m encrypted messages . it is impossible to reconstitute only one of the m messages in clear if the m encrypted messages are not available or all of them . this solution pools the cryptographic application and offers a simple and effective solution for protecting multiple contents that have to be routed over one or more non - secured channels . the encryption method of the invention effects cryptographic multiplexing as described above using only one pseudo - random generator sized accordingly and m encryption / decryption modules in parallel . this enables an extremely simple hardware or software implementation benefiting from the performance of the encryption method in terms of speed and cryptanalysis resistance , as well as variable size block , empty iteration and stream desynchronization functions applied to m different messages . fig1 shows an encryption device ( that can operate in encryption mode and / or decryption mode ) for performing cryptographic multiplexing and including only one pseudo - random generator 1 and two encryption / decryptions modules 17 a , 17 b in parallel . in this situation , the pseudo - random generator 1 calculates on each iteration a current value of a state vector including a first set of state variable sections and at least one second set of state variable sections . generally speaking , to multiplex m messages ( m = 2 in fig1 ), the current value v , of the state vector v of the pseudo - random generator 1 takes the following form : v n =( . . . x 1 n , a 1 n , b 1 n , e 1 n , . . . x 2 n , a 2 n , b 2 n , e 2 n , . . . xm n , am n , bm n , em n , . . . ) moreover , the first encryption / decryption module 17 a calculates a first current output word y 1 n / u 1 n , by a first reversible application depending on a first current input word u 1 n / y 1 n and the first set of sections x 1 n - 1 , a 1 n - 1 , b 1 n - 1 , e 1 n - 1 of the preceding value v n - 1 of the state vector . the intermediate value x 1 α is sent to the pseudo - random generator 1 . the second encryption / decryption module 17 b calculates a second current output word y 2 n / u 2 n by a second reversible application depending on a current input word u 2 n / y 2 n and the second set of sections x 2 n - 1 , a 2 n - 1 , b 2 n - 1 , e 2 n - 1 of the preceding value v n - 1 of the state vector . the intermediate value x 2 α is sent to the pseudo - random generator 1 . fig1 shows very diagrammatically an example of an encryption device ( that can be used in encryption mode and / or in decryption mode ) including cryptographic multiplexing means 81 . in this example , the cryptographic multiplexing means 81 can multiplex at least two message blocks in clear to form at least two encrypted message blocks , each message block in clear corresponding to a succession of input words . the cryptographic multiplexing means 81 correspond to the setting the parameters of a pseudo - random generator 1 as shown in the above figures by a state vector including a fifth state variable f . accordingly , the pseudo - random generator 1 can order the various message blocks encrypted on each iteration as a function of the fifth state variable f in the state vector . consequently , the order in the transmission channels of the m blocks encrypted on each iteration , whether combined or not , can be predefined or a function of a non - accessible pseudo - random variable ( a section of the state vector ), depending on the encryption key in encryption mode ( respectively the decryption key in decryption mode ) and the whole of the applied sequence of input words . for example , the m encrypted blocks , whether combined or not , can be ordered by the permutation function p with parameters set by the fifth state variable f included in the state vector . the parameter for ordering the m blocks of the encrypted message combined during iteration n is supplied by the preceding value f n - 1 of the fifth state variable f , f n - 1 being a section of size m of the preceding value v n - 1 of the state vector , isolated from the input words and the output words and depending on the encryption key ( respectively the decryption key ) and the whole of the sequence of input words applied . the order in the transmission channels of the m blocks of the encrypted message on each iteration , combined or not , is therefore pseudo - random , depending on the encryption key ( respectively the decryption key ) and the whole of the applied sequence of input words . the slightest modification to the sequence of input words therefore leads systematically to complete modification of the order of the blocks of the encrypted message in the transmission channels , combined or not , after that modification . fig1 shows that the pseudo - random generator 1 as represented diagrammatically in fig1 a can also be used in combination with a preconditioning module in a cryptographic hashing ( or hash ) device of the invention to generate a digest of the message . note that fig1 also illustrates the principal steps of the cryptographic hashing method of the invention . in the embodiment described in detail here , the state vector v includes a predetermined number k of bits and the initial value v 00 f the state vector corresponds to a configurable hashing key of size k . fig1 shows a device 407 of one particular embodiment of the invention for cryptographically hashing a message mess . this device 407 includes means for dividing the message mess into a predetermined number m of blocks z 1 , z 2 , . . . , z m of predetermined size ( for example m blocks each of m bits ). in a manner that is known in the art , if the last block in the subdivision is incomplete ( i . e . does not comprise m bits ), the incomplete block is padded out with bits at 0 . the device 407 further includes generation means for iteratively generating a succession 13 of m values of a state vector v from an initial value v 0 of the state vector and obtaining a digest hash of the message mess from the latest value v m of the state vector generated . the message blocks z 1 , z 2 , . . . , z m are used in turn by the generation means during successive iterations to generate the m values of the state vector . in the example envisaged here , the generation means include a pseudo - random generator 1 of the invention ( for example the pseudo - random generator shown in fig1 b and 3b ) and a preconditioning module 417 . before cryptographic hashing by the cryptographic hashing method of the invention is started , the value of the hashing key becomes the initial value v 0 of the state vector v ( v 0 = hashing key ). on each iteration n , the pseudo - random generator 1 calculates a current value v n of the state vector using a non - invertible application depending on the preceding value v n - 1 of the state vector and an intermediate current value x α produced by a calculation carried out by the preconditioning module 417 , the preconditioning module 417 calculating the current intermediate value x α using an invertible application depending on the preceding value v n - 1 of the state vector and a current message block z n ( input block in the sense of the invention ). on each iteration n the pseudo - random generator 1 feeds the state vector v n with the current intermediate value x α from the preconditioning module 417 . on the first iteration , the preconditioning module 417 calculates the current intermediate value x α for iteration 1 as a function of the first message block z 1 and the initial value v 0 of the state vector . the pseudo - random generator 1 calculates a first value v 1 of the state vector v as a function of the first message block z 1 and the initial value v 0 of the state vector . by extension , on the n th iteration , the preconditioning module 417 calculates the current intermediate value x α for iteration n as a function of the current message block z n and the preceding value v n - 1 of the state vector and the pseudo - random generator 1 calculates a current value v n of the state vector v as a function of the current message block z n ( using the current intermediate value x α ) and the preceding value v n - 1 of the state vector . in the embodiment described here , the state vector v advantageously includes a set of sections including at least one first state variable x and one second state variable a of size m . for example , the current value v n of the state vector v can be structured in the following manner where , in the sense of the invention , the state variables x and a are sections of the state vector : v n =( . . . ( x n =( x n1 . . . x nm )) . . . ( a n =( a n1 . . . a nm )) . . . ) in this example , the current value x n of the first state variable x comprises m bits x n1 , . . . , x nm and the current value a n of the second state variable a comprises m bits a n1 , . . . , a nm , where m is the size of the message blocks z n , n = 1 , . . . , m . the locations of the state variables are predefined and preferably fixed , but it is possible to assign them a position variable as a function of the value or values taken by one or more sections of the state vector , themselves of fixed position . only the solution of a fixed position of the state variables is described below . moreover , it is preferable ( although not necessary ) for the sectors assigned to each of the state variables not to overlap . the size k of the state vector is then chosen accordingly , and each state variable corresponds to a section of the state vector of limited size ( i . e . of size strictly less than that of the state vector ). of course , the variants of the state variables described above in the context of an encryption method are equally applicable in the context of a cryptographic hashing method of the invention . the value x n of the first state variable x is used in a subsequent iteration by an isolation function of the preconditioning module 417 before it is replaced by the intermediate value x α produced by the calculation carried out in the next iteration by the preconditioning module 417 . the value a n of the second state variable is also used in the next iteration by the isolation function of the preconditioning module 417 . on each iteration ( for example on iteration n ), the transmission means 321 of the pseudo - random generator 1 send the preconditioning module 417 the preceding value v n - 1 of the state vector including at least the preceding value x n - 1 of the first state variable x and the preceding value a n - 1 of the second state variable a . the reception means 323 of the pseudo - random generator 1 receive from the preconditioning module 417 the current intermediate value x α . the first calculation means 325 a replace the preceding value x n - 1 of the first state variable x by the current intermediate value x α to calculate a current value of a first intermediate state vector v int1 . the other process steps and means of the pseudo - random generator 1 are similar to those described with reference to fig1 b ( and fig3 b ) and are not described in more detail here . the preconditioning module 417 includes reception means 433 and isolation means 435 for isolating the current intermediate value x α from the message blocks . the reception means 433 receive from the pseudo - random generator 1 the preceding value v n - 1 of the state vector including at least the preceding value x n - 1 of the first state variable x and the preceding value a n - 1 of the second state variable a . the isolation means 435 are adapted to apply a symmetrical secret key function to each message block z n , the secret key being obtained from at least one section of the preceding value of the state vector . the secret key function used preferably includes at least one exclusive - or operation , i . e . the isolation means 435 include at least one exclusive - or gate with parameters set by a section of size m of the preceding value of the state vector . alternatively , it can further include at least one bijective permutation in the sense of the invention with parameters set by a section of size m of the preceding value of the state vector . in the example described here , the secret key function used by the isolation means 435 is made up of two bijective permutations in the sense of the invention and two exclusive - or operations each with parameters set by a section of size m of the state vector v n - 1 . the secret key of this function is made up of the section setting the parameters of the first bijective permutation , the section setting the parameters of the first exclusive - or operation , the section setting the parameters of the second bijective permutation , and the section setting the parameters of the second exclusive - or operation . thus the isolation means 435 include first and second bijective permutation means 439 a and 439 b separated by a first exclusive - or gate 441 a . a second exclusive - or gate 441 b receives the output of the second bijective permutation means 439 b . the bijective permutation means 439 a and 439 b considered here each use the permutation function p described above , with parameters set by respective different state variables of the state vector v n - 1 . in other words , the above - mentioned different bijective permutation means use a permutation key of size m equal to a state variable of the state vector v n - 1 . accordingly : the first bijective permutation means 439 a use a first bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the second state variable a n - 1 ; and the second bijective permutation means 439 b use a second bijective permutation corresponding to the permutation function p with parameters set by a permutation key equal to the preceding value of the first state variable x n - 1 . the permutation keys used to set the parameters of the permutation function p in the bijective permutation means 439 a and 439 b are independent of the data to which the resulting permutation function p is applied , and each therefore uses an invertible ( bijective ) function . this invertible function p is the result of applying m successive permutations of size m selected as a function of the value of each bit of the permutation key concerned . thus calculating the current intermediate value x α in an iteration n includes the following operations : the first permutation means 439 a calculate a first intermediate word j 1n by applying the first bijective permutation to the current input block z n , that permutation having parameters set by a preceding value a n - 1 of the second state variable : j 1n = p ( z n , a n - 1 ); the first exclusive - or gate 441 a calculates a second intermediate word j 2n by applying an exclusive - or operation to the first intermediate word j 1n and the preceding value a n - 1 of the second state variable : j 2n = j 1n ⊕ a n - 1 ; the second permutation means 439 b calculate a third intermediate word j 3n by applying the second bijective permutation to the second intermediate word j 2n , that permutation having parameters set by a preceding value x n - 1 of the first state variable : j 3n = p ( j 2n , x n - 1 ); the second exclusive - or gate 441 b calculates the current intermediate value x α by applying an exclusive - or operation to the third intermediate word j 3n and the preceding value x n - 1 of the first state variable : x α = j 3n ⊕ x n - 1 . this current intermediate value x α is then sent to the pseudo - random generator 1 . note that modifying one bit of the current block z n ( i . e . the message block in the process of being hashed ) modifies a bit of the variable x α incorporated in the state vector v n - 1 by the calculation means 325 a of the pseudo - random generator 1 to form the first intermediate vector v int1 in iteration n . consequently , the choice of the permutations implemented by the calculation means 326 is assigned to one stage of permutation , and thus in consequence the whole of the state vector v n and the subsequent state vectors will also be modified ( avalanche effect ). after m successive iterations using the m message blocks constituting the message mess , the digest hash of the message mess is formed by the cryptographic hashing device 407 from the latest ( i . e . the m th ) state vector generated by the pseudo - random generator 1 , in other words : hash = v m . this provides for extremely simple hardware or software implementation of a cryptographic hashing method and device benefiting from the speed and cryptanalysis resistance performance of the pseudo - random generation method . moreover , in accordance with principles similar to those implemented for the encryption device of the invention , it is possible to consider message blocks z n of a size variable as a function of the iteration ( i . e . subdividing the message mess as the iterations proceed into blocks whose size w is variable and specified in a section of the state vector ) and / or to desynchronize the operations effected in the preconditioning module and in the pseudo - random generator ( in particular by introducing “ empty iterations ” as described for the encryption device . moreover , in one particular embodiment of the invention it is equally possible to chain h hashing devices sequentially ( a section of a state vector generated by the pseudo - random generator of a hashing device feeding the preconditioning module of the next hashing device ) to increase the mathematical complexity of the cryptographic hashing . moreover , in one particular embodiment of the invention , it is possible to effect the cryptographic hashing by the hashing method of the invention simultaneously with encrypting ( respectively decrypting ) the message using the architecture of the encryption method of the invention . how the permutation function p used in the above examples works is described in more detail below with reference to fig9 a to 9e . as mentioned above , in a manner that is highly advantageous here , the pseudo - random generator ( and generation method ), the encryption device ( and method ), and the cryptographic hashing device ( and method ) rely on the same permutation function p proposed by the invention with parameters set by a permutation key and parameters that can be set as a function of the size of the input data and the key concerned . thus the permutation function p in these examples has the advantage of addressing a plurality of requirements . in one case , the size of the permutation key is equal to the size of the input data that is also equal to the size of the output data ( for example for encryption or cryptographic hashing , but also for pseudo - random generation in the example shown in fig3 a ). this is referred to as “ square ” permutation function . in another case , the size of the permutation key is strictly less than the size of the input data that is also equal to the size of the output data ( for example for pseudo - random generation in the example shown in fig1 b and 3b ). this is referred to as “ rectangular ” permutation . in a further case , the permutation function p can have parameters set so that it can be applied both to the input data of size e ( e = k 1 ≧ k − size of the state vector v ) and m ( size of the data u / v to be encrypted / decrypted ). in further cases , the permutation function p can have parameters set so that it can be applied to input data of any size e = w enabling access to functions for modifying the number of bits encrypted on each iteration . fig9 a shows a permutation table including boxes 61 a - 61 f and in which each box indicates the source position of the bit that appears at the location concerned . on movement each bit retains its value : v ( i )= binary value ( 0 or 1 ) of the i th bit of the data concerned . in this example , the first bit of the input data is shifted to the 3 rd location ( box 61 c ) of the output data retaining its value v ( 1 ). the second bit of the input data is shifted to the k th location ( box 61 f ) of the output data retaining its value v ( 2 ). the third bit of the input data is shifted to the 4 th location ( box 61 d ) of the output data retaining its value v ( 3 ). the fourth bit of the input data is shifted to the 1 st location of the output data retaining its value v ( 4 ). the k th bit of the input data is shifted to the 2 nd location ( box 61 b ) of the output data retaining its value v ( k ). according to the choice made for the key relative to the input data to which the permutation function p is applied , the permutation function p is : a one - way function and therefore non - reversible ( non - invertible ) if the permutation key is generated from input data ( for example key = input data ); these one - way function properties are exploited in the operations carried out by the pseudo - random generator 1 and in a cryptographic module of the invention ; or a bijective function ( bijective key permutation ) that is therefore reversible provided that the value of the permutation key is known and the permutation key is independent or fixed relative to the input data ; these bijective function properties can be exploited in the isolation functions or means of the encryption / decryption module 17 or the preconditioning module 417 of the cryptographic hashing device . to apply the permutation function p with parameters set by the permutation key c of size p to the data to be permutated of size e , there are chained to the data to be permutated p permutations of size e with parameters set by the value of the p bits of the permutation key , i . e . each permutation is chosen as a function of the value of a distinct bit of the permutation key . for each bit of the permutation key , the permutation is chosen from a pair of different permutations ( p 0 , p 1 ) of size e predefined for each permutation stage . for example , if the bit of the permutation key considered is equal to 0 permutation p 0 is chosen and if the bit of the permutation key considered is equal to 1 permutation p 1 is chosen . the permutations of size e considered can in particular be chosen from predefined pairs of permutations ( p 0 , p 1 ) satisfying at least one of the following conditions : for each bit of the key , the permutation obtained by respectively composing p 0 and p 1 and the permutation obtained by respectively composing p 1 and p 0 are different at all points ; there is used in each of the p stages of the permutation function ( a stage corresponding to the application of a permutation ), an identical pair of permutations p 0 and p 1 different at all points , i . e ., for any t , the position of the bit t at the output for the first permutation is different from the position of the bit t at the output for the second permutation ; there is used in each stage a pair of permutations ( p 0 ; p 1 ) such that the permutations p 0 and p 1 are individually different at all points from the identity permutation , i . e . a bit at position t before application of permutation p 0 , respectively p 1 , is located at a position different from t on exit from the permutation p 0 , respectively the permutation p 1 . alternatively , a pair of different permutations ( p 0 i , p 1 i ) can be applied in each permutation stage i . thus , for data of any size e to be processed , the permutation function p proceeds in two steps : in a first step , a table of size ( p , 2e ) made up of p rows each of two permutations ( p 0 , p 1 ) of size e , which also serves as a routing matrix in a hardware implementation , is calculated beforehand ; in a second step , and when using the permutation function p , each row i of this table provides two possible permutations , one or the other of those permutations being chosen as a function of the value vkey ( i ) of the i th bit of the permutation key used . for a given permutation key value , the permutation function p thus chains to the input data p permutations of size e respectively with parameters set by the value of each of the p bits of the permutation key . fig9 b shows an example of five different pairs of successive permutations of size e = 5 used in the respective five permutation stages of a permutation function p and to be applied to input data of size e = 5 as a function of the value vkey ( i ) of the i th bit of a permutation key of size p = 5 of the function p ( square permutation function p ). fig9 c shows an example of an identical pair of two different permutations of size e = 5 used for each of the five permutation stages of a permutation function p and to be applied to input data of size e = 5 as a function of the value vkey ( i ) of the i th bit of a permutation key of size p = 5 of the function p ( square permutation function p ). fig9 d shows an example of five different pairs of successive permutations of size e = 7 , respectively used in the five permutation stages of a permutation function p and to be applied to input data of size e = 7 as a function of the value vkey ( i ) of the i th bit of a permutation key of size p = 5 of the function p ( rectangular permutation function p ). fig9 e shows an example of an identical pair of two different permutations of size e = 7 , used for each of the five permutation stages of a permutation function p and to be applied to input data of size e = 7 as a function of the value vkey ( i ) of the i th bit of the permutation key of size p = 5 of the function p ( rectangular permutation function p ). a main advantage of the permutation function p described above is its very simple hardware implementation , which can employ only “ not ” and “ and ” logic functions . fig1 a and 10b shows permutation means including logic gates 63 , 65 for selecting for each bit vkey ( i ), i = 1 , . . . , p , a permutation key of size p , one of two predefined permutations of size e ( size of the data to be permutated ) as a function of the value of the bit vkey ( i ), and thus enabling chaining of p permutations with parameters set by the value of each of the p bits of said permutation key . the fig1 a example shows more particularly the wiring of the first permutation stage of the permutation function p from fig9 c for p = 5 and e = 5 using a “ not ” logic gate 63 and “ and ” logic gates 65 . the and logic gate 65 corresponds in this application to a switch ( or a transistor in a hardware implementation ) controlled by the value vkey of a bit of the permutation key or its complement . the switch is therefore open or closed as a function of the value vkey of the bit of the key or its complement ( turned on or turned off when the switch is a transistor ). the stages are therefore chained one after the other , the output 69 of the stage h - 1 feeding the input 67 of the stage h . by applying to the inputs of the first stage the respective values of each bit of the data to be permutated and to the key input of each stage the respective value of the bit of the associated key there is obtained a logic function that can be executed in only one operation over all the p stages , corresponding to p permutations of size e effected on input data of size e and with parameters set by a key of size p . if an identical pair of two different permutations is used for each of the p stages , p identical modules are used . fig1 b shows an example of hardware implementation of an identical pair of two different permutations used for each of the p = 5 stages to be applied to the input data of size e = 5 as a function of the value vkey ( i ) for p = 5 as shown in fig9 c . for software implementation , a recursive function can be used having for its parameters : the input data , the permutation key , the permutation table and the permutation stage i concerned . the permutation function p is calculated extremely quickly by calling the following “ recursive function ” with i = p : the hardware and software implementations described above have the advantage that they can be used regardless of the nature of the permutation key concerned ( i . e . dependent on or independent of the input data to be permutated ), i . e . whether the permutation function p is a one - way function or if the permutation function p is a bijective key permutation . this has the advantage of limiting the complexity of implementing the processes and devices described above . the present invention thus provides a pseudo - random generator with parameters set by an encryption key of any size k ( used as the initial value of the state vector ), effecting iterations on a state vector fed on each iteration with an intermediate result coming from an encryption / decryption module , and thus depending on the whole of the applied input sequence . the encryption / decryption module integrates self - isolation functions of the pseudo - random generator and carries out on each iteration the encryption and / or decryption of input data as a function of the values of a plurality of sections of the state vector of the pseudo - random generator . thus the encryption device of the invention has the following advantages in particular : the encryption / decryption module is reversible whether implemented in hardware or software . it is therefore not necessary to have different programs / circuits for the encryption and decryption functions . a permutation function p is effected in a single extremely fast operation whether implemented in hardware or software , used in a non - invertible form p ( data , key ( data )) ( i . e . the key depends on the data to be permutated ) in the pseudo - random generator and in an invertible form p ( data , fixed_key ) ( i . e . the key is fixed in relation to the data to be permutated ) in the encryption / decryption module . the pseudo - random generator has no particular period and does not follow a predefined cycle . the value of the state vector depends on the encryption / decryption key and on the whole of the applied sequence of input words , with no deterministic cycle , because of switching on each iteration from one attractor ( cycle specific to a particular input sequence ) to another . the state vector pseudo - random generator proposed by the invention is such that the value of the state vector cannot be reconstructed from observation of the sequences of output words or intentionally brought to a predefined value by a sequence of input words ( non - observable and non - commandable state vector ). the state vector isolates input and output words using isolation functions with parameters set by the values of certain of its own state variables ( self - isolation ). apart from resistance to cryptanalysis , this property eliminates problems of modification of the initialization vector each time the encryption process is started . the encryption / decryption key that serves as an initialization vector therefore need not be modified . additionally a message header can be used beginning with a nonce ( number used once ) of the message number type in order to avoid leaking of information concerning the fact that the messages have similar headers . the invention offers the possibility of modifying the number of bits encrypted on each iteration as a function of a pseudo - random variable that is not accessible ( a section of the state vector ) and depends on the encryption / decryption key and the whole of the applied sequence of input words . another option is for the pseudo - random generator to effect “ empty cycles ” ( iterations effected on the state vector without encrypting the inputs ), as a function of a pseudo - random variable that is not accessible ( a section of the state vector ) and depends on the encryption / decryption key and the whole of the applied sequence of input words , leading to desynchronization of the pseudo - random generator and the data encryption / decryption module . a further option is to use the encryption device as a cryptographic multiplexer , by having m messages in clear to be encrypted to converge on the same encryption module that generates m encrypted messages . it is impossible to reconstruct a single one of the m messages in clear or all of them if the m encrypted messages are not accessible . the encrypted messages can be combined with each other to reduce the number of transmission channels . the order of the encrypted blocks in the transmission channel on each iteration , combined or otherwise , can be predefined or a function of a pseudo - random variable that is not accessible ( a section of the state vector ) and depends on the encryption key and the whole of the applied sequence of input words . the invention finds a highly advantageous application in that it enables simultaneous cryptographic hashing and symmetrical encryption / decryption offering a high level of security and simple and efficient implementation in hardware or in software . note that cryptographic hashing and symmetrical encryption are routinely used in all types of communication , such as mobile communication , the internet , smart cards , etc .