Computer implemented method for determining a hash value for an input message (Inp) in an electronic system, the computer implemented method comprising: preloading at least one computation variable (Out, UniNum, InPos, OutPos, LoCo) for the computation of the hash value based on a predefined arbitrary number; and calculating the hash value for the input message (Inp) based on integer overflows caused by computations over the input message (Inp) and the at least one preloaded computation variable (Out, UniNum, InPos, OutPos, LoCo), wherein preloading comprises initializing a first element of an output buffer (Out) for the hash value with the predefined arbitrary number and initializing the further elements of the output buffer (Out) based on the value of the first element of the output buffer (Out) and initializing a unique number variable (UniNum) with a unique number, wherein preloading comprises initializing an input position pointer (InpPos) with half the size of the input message (Inp) and initializing an output position pointer (OutPos) with half the size of the output buffer (Out) and initializing a loop counter (LoCo) with the summed value of the size of the input message (Inp) and size of the output buffer (Out) multiplied by a multiplication factor, wherein calculating comprises performing calculations over the unique number variable (UniNum) and the input message (Inp) and the output buffer (Out) with themselves in a loop that is repeated a number of times as indicated by the loop counter (LoCo), and wherein performing calculations comprises assigning the unique number variable (UniNum) its value multiplied by the sum of the element of the input message (Inp) at the position indicated by the input position pointer (InpPos) and the element of the output buffer (Out) at the position indicated by the output position pointer (OutPos) and assigning the unique number variable (UniNum) its value plus its value divided by 256. preloading at least one computation variable (Out, UniNum, InPos, OutPos, LoCo) for the computation of the hash value based on a predefined arbitrary number; and calculating the hash value for the input message (Inp) based on integer overflows caused by computations over the input message (Inp) and the at least one preloaded computation variable (Out, UniNum, InPos, OutPos, LoCo), wherein preloading comprises initializing a first element of an output buffer (Out) for the hash value with the predefined arbitrary number and initializing the further elements of the output buffer (Out) based on the value of the first element of the output buffer (Out) and initializing a unique number variable (UniNum) with a unique number, wherein preloading comprises initializing an input position pointer (InpPos) with half the size of the input message (Inp) and initializing an output position pointer (OutPos) with half the size of the output buffer (Out) and initializing a loop counter (LoCo) with the summed value of the size of the input message (Inp) and size of the output buffer (Out) multiplied by a multiplication factor, wherein calculating comprises performing calculations over the unique number variable (UniNum) and the input message (Inp) and the output buffer (Out) with themselves in a loop that is repeated a number of times as indicated by the loop counter (LoCo), and wherein performing calculations comprises assigning the unique number variable (UniNum) its value multiplied by the sum of the element of the input message (Inp) at the position indicated by the input position pointer (InpPos) and the element of the output buffer (Out) at the position indicated by the output position pointer (OutPos) and assigning the unique number variable (UniNum) its value plus its value divided by 256.