Computer-implemented method for determining Gaussian integer congruent to given Gaussian integer modulo, method for determining reduction of given Gaussian integer modulo and cryptographic and error correction methods
By dividing the Gaussian integer model reduction into two parts, and using the Montgomery reduction method, the problem of low efficiency of Gaussian integer model reduction in the prior art is solved, and a high-efficiency and low-complexity mode reduction method is realized.
Patent Information
- Application Number
- CN202380053138.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-29
- Filing Date
- 2023-07-07
- Publication Date
- 2025-03-04
AI Technical Summary
The prior art is inefficient in Gaussian integer model reduction, especially in the fields of cryptography and error correction codes, resulting in high computational complexity.
By dividing the modulus reduction into two parts: the first part determines the congruence of Gaussian integers with a smaller norm, and the second part finalizes the congruence result, using the Montgomery reduction method to reduce the computational complexity.
Efficient Gaussian integer model reduction is achieved, which reduces the computational complexity and significantly improves the computational efficiency in cryptography and error correction codes.
Smart Images

Figure BDA0005236865690000071
Abstract
Description
[0001] The present invention relates to a computer-implemented method for determining a Gaussian integer that is congruent to a given Gaussian integer modulo a Gaussian integer modulo, and to a method for complete modular reduction of a given Gaussian integer modulo a Gaussian integer modulo. The present invention further relates to a computer-implemented cryptographic method and a computer-implemented error correction method.
[0002] Gaussian integers are a subset of complex numbers with integers as real and imaginary parts. The set of Gaussian integers together with addition and multiplication modulo the Gaussian integers form a ring or field, depending on the choice of the modulus. For this reason, Gaussian integers find applications in error correction coding theory, cryptography, and other scientific fields.
[0003] For example, if ΠΠ * = p is prime and hence a normal integer, then the set of Gaussian integers with addition and multiplication modulo the Gaussian integers modulo Π forms a finite Gaussian integer field. Note that the concept Π * Denote the complex conjugate of Π. In this case, the resulting field of Gaussian integers is isomorphic to the field of prime numbers over the ordinary integers, GF(p). Such an isomorphism exists for any prime number p that is congruent to 1 modulo 4.
[0004] As in the case of ordinary integers, a straightforward implementation of modular reduction for a given Gaussian integer is typically quite inefficient, since it requires division of the Gaussian integers followed by rounding of the result. Therefore, a more efficient reduction mechanism for Gaussian integers is needed.
[0005] In the field of cryptography and error correction codes, congruence solutions with smaller norm or absolute value than the original given Gaussian integer are used extensively and are typically relatively inefficient to compute.
[0006] The object of the present invention is to provide a method for efficient reduction of a given Gaussian integer with a Gaussian integer modulus. Likewise, a method for determining Gaussian integers that are congruent with a given Gaussian integer modulus with reduced complexity would also be beneficial for many applications. As mentioned above, cryptographic methods and error correction methods would benefit significantly from efficient reduction methods and are highly desirable.
[0007] The problem of the invention is solved by means of a computer-implemented method for determining a Gaussian integer that is congruent to a given Gaussian integer modulo a Gaussian integer, having the features contained in claim 1, a method for reduction of a given Gaussian integer modulo a Gaussian integer, having the features contained in claim 13, and a computer-implemented cryptographic method, having the features contained in claim 14, and a computer-implemented error correction method, having the features contained in claim 15.
[0008] Preferred and advantageous aspects of the invention are contained in the respective dependent claims and the subsequent description.
[0009] The main idea of the invention is to provide an efficient reduction method for Gaussian integer modules that boils down to a sequence of elementary bit operations, thus providing a very fast way to implement modular reduction for a large class of Gaussian integer modules (when using software and / or hardware).
[0010] The classical and straightforward method for modular reduction of a given Gaussian integer x modulo the Gaussian integer modulo π uses a total of subtractions, three complex multiplications, and two integer divisions due to complex division with rounding, which involves complex multiplications of both the numerator and denominator with the complex conjugate of the denominator, as shown in the following formula:
[0011] x mod Π=x-[(xΠ*) / (ΠΠ * )]·Π.
[0012] Again, the concept * denotes the complex conjugate of π, and the square brackets denote rounding operations.
[0013] A more efficient method for performing modular reduction of a given Gaussian integer modulo a Gaussian integer is described in the following paper: Safieh, Malek; Freudenberger, Jürgen: "Montgomery Reduction for Gaussian Integers", Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006).
[0014] Likewise, fast reduction methods for special classes of ordinary integers are also known. However, efficient reduction methods for Gaussian integers are less developed. Thus, the present invention in one particularly advantageous aspect addresses the important use case of a given Gaussian integer that is not an ordinary integer.
[0015] According to the present invention, modular reduction can be performed in two parts: in the first part, a Gaussian integer congruence is determined to replace a given Gaussian integer, which is smaller than the given Gaussian integer with respect to a norm such as absolute value, but is congruent to the final reduction result. In the second part, the congruence result can be reduced to obtain a final result of the modular reduction, which is a correct representative from the Gaussian integer ring or field. Both aspects of the determination of Gaussian integer congruence and the complete reduction are the subject of the present invention.
[0016] In the present invention, an efficient algorithm for modular reduction of given Gaussian integers in two parts as described above is disclosed. The first part is new and leads to algorithmic steps and arithmetic operations that are different from those described in the prior art. This first part can be combined with the second part from: Safieh, Malek; Freudenberger, Jürgen: "Montgomery Reduction for Gaussian Integers", Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006), as steps 3 to 11 of Algorithm 2 constituting the prior art.
[0017] The first and second parts can be combined to perform a complete modular reduction. However, in practice, the first part is performed more frequently, especially during cryptographic calculations, while the second part (which may also be referred to as the "final reduction" throughout this application) is performed only once at the end to obtain the final desired result, i.e., a representative of the so-called Gaussian integer ring or field, which is the result from the modular reduction. In addition, the second part is based on computationally intensive comparisons. Therefore, the first part aims to reduce the number of these comparisons to reduce the overall complexity.
[0018] Therefore, in particular determining the novel portion of Gaussian integers that are congruent to a given Gaussian integer modulo the Gaussian integer provides a major benefit in terms of the efficiency of the modular reduction of Gaussian integers. Further, it enables the final reduction with reduced complexity, i.e., the final reduction presented as steps 3 to 11 of Algorithm 2 in the article: Safieh, Malek; Freudenberger, jürgen: "Montgomery Reduction for Gaussian Integers" (Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006).
[0019] The computer-implemented method according to the present invention is a method for determining Gaussian integers that are congruent to a given Gaussian integer modulo a Gaussian integer modulus. In the method according to the present invention, the norm of the Gaussian integer is less than the norm of the square of the Gaussian integer modulus. In the method according to the present invention, a first integer exponent power of a real integer base is considered, whose norm is greater than the norm of the real part of the Gaussian integer modulus and also greater than the norm of the imaginary part of the Gaussian integer modulus. Further, a second integer exponent equal to or less than -2 is considered, and additionally, a third integer exponent equal to or greater than the first integer exponent increment by 1 is considered. In the method according to the invention, a variable value candidate of a Gaussian integer congruence is considered, which is first initialized with a given Gaussian integer, wherein the Gaussian integer is decremented completely or in truncated form by multiples of the Gaussian integer modulus, and the multiples of the Gaussian integer modulus are estimated by calculating the auxiliary product of the component-wise rounded-down quotient of the current value of the variable value candidate of the Gaussian integer congruence and the sum of the first integer exponent and the second integer exponent of the real integer base to the power of the previous factor, and by calculating the component-wise rounded-down quotient of the auxiliary product and the difference between the third integer exponent and the second integer exponent of the real integer base to the power of the real integer base, and multiplying the last-mentioned quotient by the Gaussian integer modulus.
[0020] This means that, as described above, the variable value candidate of the Gaussian integer congruence that has been initialized with a Gaussian integer is decremented by a multiple of the Gaussian integer modulus.
[0021] “First integer exponent increment by one” may also preferably be expressed as “first integer exponent plus one” or “first integer exponent increment by unit one.” In other words, “first integer exponent increment by one” means the result of adding the number 1 to the first integer exponent.
[0022] After this, the variable value candidates of the resulting Gaussian integer congruence determine a Gaussian integer congruence with a reduced norm or absolute value, which directly enables the use of the final reduction presented as steps 3 to 11 of Algorithm 2 in the following article: Safieh, Malek; Freudenberger, jürgen: "Montgomery Reduction for GaussianIntegers", Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006).
[0023] In this context, the term "Gaussian integer congruence" is used to designate Gaussian integers that are congruent with a given Gaussian integer modulo the Gaussian integer modulus. The present invention can also be directed to the goal of determining such Gaussian integer congruences whose norm is less than the norm of the given Gaussian integer. Determining such Gaussian integer congruences directly enables the use of the final reduction presented as steps 3 to 11 of Algorithm 2 in the following article: Safieh, Malek; Freudenberger, jürgen: "Montgomery Reduction for Gaussian Integers", Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006).
[0024] Therefore, in a particular aspect of the invention, the norm of the Gaussian integer congruence determined using the method according to the invention is smaller than the norm of the given Gaussian integer.
[0025] Throughout this application, the terms mentioned below have the following meanings:
[0026] The term Gaussian integer modulus denotes a complex modulus having any form. However, in an advantageous and preferred aspect of the invention, the invention is applied to such Gaussian integer moduli that are not ordinary integers. Later, in particular in the description of the preferred embodiment, the Gaussian integer modulus may also be denoted as π.
[0027] Throughout this application, the term "given Gaussian integer" refers to Gaussian integers, and thus includes ordinary integers. The given Gaussian integer may be denoted as z', and may be used to initialize variable value candidates hereinafter, particularly in the description of preferred embodiments.
[0028] Throughout this application, the term "real integer base raised to an integer exponent" refers to a base that is a real integer and the exponent is an integer. Later, particularly in the description of preferred embodiments, the real integer base is denoted β, and the integer exponent may be denoted by any symbol that is obvious from the corresponding context.
[0029] Throughout this application, the term "congruential variable value candidate" denotes a congruential candidate that may take on a temporary and changing Gaussian integer value during determination according to the method according to the invention. However, in a preferred aspect of the invention, the variable value candidate is congruential with a given Gaussian integer modulo the Gaussian integer modulus after decrement. Later, the variable value candidate for congruence may be denoted by z', in particular in the description of the preferred embodiments.
[0030] It should be understood that the phrase "decrement the variable value candidate by an amount" means subtracting the amount from the variable value candidate.
[0031] The method according to the invention allows for more efficient determination of Gaussian integers that are congruent to a given Gaussian integer modulo the Gaussian integer. Advantageously, the method according to the invention involves the calculation of a quotient which can be performed using computationally efficient bit shifts.
[0032] In an advantageous and optional aspect of the method according to the invention, a second integer exponent equal to or less than -3 is considered and such a third integer exponent equal to or greater than the first integer exponent increment of 3 is considered.
[0033] Preferably, in the method according to the invention, the Gaussian integer is decremented in truncated form by a multiple of the Gaussian integer modulus, such that the Gaussian integer is truncated via modular reduction of the Gaussian integer modulo the difference between the third integer exponent and the second integer exponent of the real integer base to the power of the difference, and the multiple of the Gaussian integer modulo is truncated via modular reduction of the multiple of the Gaussian integer modulo the difference between the third integer exponent and the second integer exponent of the real integer base to the power of the difference, and is subtracted from the truncated Gaussian integer. After subtracting the multiple of the truncated Gaussian integer modulo, the result is considered to be the decremented Gaussian integer.
[0034] Alternatively and also advantageously, the truncation may be performed after decrementing the Gaussian integer.
[0035] In a preferred aspect of the method according to the invention, the prefactor is the quotient of the sum of the first integer exponent and the third integer exponent of the real integer base to the power and the Gaussian integer modulus rounded down. Advantageously, the prefactor can be pre-calculated. Preferably, in the method according to the invention, the prefactor is pre-calculated.
[0036] In preferred and advantageous aspects of the invention, the norm indicates an absolute value. Thus, in this aspect of the invention, the norm of a variable value candidate means the absolute value of the variable value candidate, and the norm of a given Gaussian integer means the absolute value of the given Gaussian integer. In alternative advantageous aspects of the invention, other norms may be used, in particular the Manhattan weight or the absolute squared value of the variable value candidate.
[0037] In a preferred aspect of the method according to the invention, the method is implemented on a computer that stores numbers in a positional number system having a radix that is equal to the real integer base that constitutes the ordinary integer base in this aspect of the invention, or the real integer base is an integer power of the radix. In this aspect of the invention, the radix of the positional number system directly matches the real integer base, or the integer power of the radix of the positional number system matches the real integer base. Therefore, many operations in the algorithm can be implemented using positional shifts of digits in the positional number system. In this particularly useful aspect of the invention, when implementing the method, the computational benefits provided by the invention are directly used and appropriated.
[0038] In a particularly advantageous aspect of the method according to the invention, the real integer base is a normal integer, in particular 2 or an integer power of 2.
[0039] Therefore, the method is directly applicable to computers that store numbers as binary digits.Since this positional number system is widely used in the field of computing, in particular, this aspect of the invention addresses almost all currently available computing architectures.
[0040] In an advantageous and preferred aspect of the invention, in the method, the Gaussian integers are reduced using a final reduction.
[0041] In a preferred aspect of the invention, the component-wise rounding down of the quotient involves an operation that can be performed particularly efficiently using a shift of digits in the right direction. For real integer bases of 2 or integer powers of 2 and a binary number system, this operation can be performed with low computational cost by applying a conventional bit shift to the right by a number of digits, in particular a number of digits preferably equal to the logarithm of the denominator of the corresponding quotient of the base 2 or - for numbers other than binary - the base of the number system.
[0042] Component-wise rounding down of the quotient can be easily achieved by applying a corresponding bit shift to the right.
[0043] In a computer-implemented method for reducing a given Gaussian integer with a Gaussian integer modulus, a Gaussian integer that is congruent to a modular reduction of a given Gaussian integer with a Gaussian integer modulus is first determined using a method as described above, and then the Gaussian integer congruence is further reduced using a final reduction. A portion of the Montgomery reduction, namely the final portion given by steps 3 to 11 of Algorithm 2 in the following article: Safieh, Malek; Freudenberger, Jürgen: "Montgomery Reduction for Gaussian Integers", Cryptography 2021, 5, 6 (https: / / doi.org / 10.3390 / cryptography5010006), constitutes a known reduction, which, combined with a method for determining Gaussian integers that are congruent to a modular reduction of a given Gaussian integer with a complex modulus, results in a computationally efficient reduction of Gaussian integers.
[0044] The computer-implemented cryptographic method according to the invention is in particular a method for generating cryptographic keys and / or for encryption or decryption. In the method according to the invention, the cryptographic method involves determining a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo, and / or determining a reduction of a given Gaussian integer modulo the Gaussian integer modulo, and using the method as described above to determine a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo, and / or using the method as described above to determine a reduction of a given Gaussian integer modulo the Gaussian integer modulo.
[0045] In a computer-implemented error correction method according to the present invention, the error correction method involves determining a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo and / or a reduction of a given Gaussian integer modulo the Gaussian integer modulo, and using a method as described above to determine a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo and / or using a method as described above to evaluate a reduction of a given Gaussian integer modulo the Gaussian integer modulo.
[0046] In the following, embodiments of the present invention are described in more detail for a processor operating with a binary number system:
[0047] The reduction algorithm is described below as Algorithm 1 and contains in steps 1 to 4 a method according to the invention for determining the congruence of the modular reduction of a given Gaussian integer having a Gaussian integer modulus. This method represents the first part of Algorithm 1. The second part of Algorithm 1 consists of the final reduction to determine the correct representative from the Gaussian integer ring or field as used in the Montgomery method. Parts 1 and 2 together form a method according to the invention for the desired reduction of a given Gaussian integer having a Gaussian integer modulus.
[0048] The complete reduction algorithm according to Algorithm 1 targets Gaussian integer moduli of the form π=a+bi, where on input |z′|<|π 2 |a|<|β k | and |b|<|β k |. For efficient processing, a quantity μ=β is introduced that can be pre-calculated and stored k+δ divπ. In this example, the real integer base β is equal to 2 or to an integer power of 2:
[0049] Algorithm 1:
[0050]
[0051] In the first part of steps 1 to 4, a Gaussian integer z' is determined that is congruent to the correct result of the complete or expected normal modular reduction. Because the real integer base in Algorithm 1 is equal to 2 or a power of 2 in this example, the evaluation of steps 1 and 3 requires only bit shifts in the right direction for the real and imaginary parts. The second part of steps 5 to 13 - also referred to as the final reduction throughout this application - uniquely determines the correct final result, which is the correct representation from the Gaussian integer field or ring using the final reduction for Gaussian integers as described in steps 3 to 11 of Algorithm 2 in the following article: Safieh, Malek; Freudenberger, Jürgen: "Montgomery Reduction for Gaussian Integers", Cryptography 2021, 5, 6, as cited in the previous description, the content of which is hereby included by reference.
[0052] Several cases to which Algorithm 1 can be applied are distinguished below:
[0053] In this example and typically, the real integer base β is a common integer base, here for example a common integer β=2 or an integer power of 2. In the particular example described here, the real integer base β is such an integer power of 2 that the exponentiation yields the word length of the processor used, for example 64 for a 64-bit processor. Due to the choice of integer base β, steps 1 and 3 in Algorithm 1 only involve bit shifts and truncation in the right direction, respectively. Furthermore, the evaluation of the difference between the Gaussian integer z' and a multiple of the Gaussian integer modulus involves complex multiplications, which may not incur much computational cost.
[0054] In Algorithm 1, the absolute value of the Gaussian integer is smaller than the absolute value of the square of the modulus of the Gaussian integer. In other words, the Gaussian integer is smaller in absolute value than the square of the modulus of the Gaussian integer.
[0055] Choose a first integer exponent (also denoted as k in Algorithm 1) such that the first integer exponent k of the real integer base β is β k The norm of is greater than the norm of the real part of the Gaussian integer modulus: |a|<|β k |. The norm of the first integer exponent of the real integer base β is additionally greater than the norm of the imaginary part of the Gaussian integer modulus: π: |b|<|β k |.
[0056] Furthermore, for the evaluation of steps 1 to 4, consider that the second integer exponent δ is equal to or less than -2. Consider that the third integer exponent γ is equal to or greater than the first power of the first integer exponent. Consider that the variable value candidate of the Gaussian integer congruence is first initialized using a given Gaussian integer z'. In Algorithm 1, the variable value candidate of the Gaussian integer congruence is decremented in step 4 by a multiple q3π of the Gaussian integer modulus π, z'=z'-q3π. For this step 4, the multiple q3π of the Gaussian integer modulus is estimated by the following: In step 2, the sum k+δ power β of the current value of the variable value candidate z' of the Gaussian integer congruence obtained in step 1 and the first integer exponent k and the second integer exponent δ of the real integer base β is calculated. k+δ The component-by-component quotient z′divβ rounded down k+δ The auxiliary product (z′divβ) with the prefactor μ k+δ )μ, and in step 3, calculate the auxiliary product q2 = (z′divβ k+δ )μ and the quotient of the difference between the third integer exponent and the second integer exponent of the real integer base rounded down to the power of q3 = q2divβ γ-δ , and multiply the final down-rounded quotient q3 by the integer modulus π. The prefactor μ=β can be pre-calculated and stored k+γ divπ.
[0057] In other examples, other norms may be used instead of absolute values, such as Manhattan weights or absolute squared values.
[0058] Further embodiments of the method according to the invention deviate from the embodiments described above in those aspects which are explicitly mentioned below and correspond to the preceding embodiments in all other aspects.
[0059] In this further embodiment, in step 4, the variable value candidate of the Gaussian integer congruence is decremented by the multiple q3π of the Gaussian integer modulo π, not in a complete form involving all digits, but in step 4, the decrement is performed on a truncated version of the Gaussian integer using the multiple q3π of the Gaussian integer modulo π. In other words, instead of the previous step 4 of the previous embodiment, z′=z′-q3π, the relationship z′=z′modβ γ-δ -q3πmodβ γ-δ Applicable to step 4. Furthermore, for the evaluation of steps 1 to 4, the second integer exponent δ is not only equal to or less than -2, but the second integer exponent δ satisfies an even stronger condition of being equal to or less than -3, i.e., δ ≤ -3. The third integer exponent γ also satisfies an even stronger condition than in the previous embodiment, since it is equal to or greater than the first integer exponent increment 3, i.e., γ ≥ k+3.
Claims
1. A computer implemented method for determining Gaussian integers that are congruent to a given Gaussian integer modulo the Gaussian integer modulus, wherein the norm of the Gaussian integer is less than the norm of the square of the modulus of the Gaussian integer, wherein - a first integer exponent raised to a real integer base is considered, the norm of the first integer exponent being greater than the norm of the real part of the Gaussian integer modulus and greater than the norm of the imaginary part of the Gaussian integer modulus, wherein a second integer exponent equal to or less than -2 is considered, and wherein a third integer exponent equal to or greater than the first integer exponent incremented by one is considered, and wherein variable value candidates for Gaussian integer congruence are considered, namely: -First initialize with a given Gaussian integer, and - then, decrementing the multiples of the Gaussian integer modulus completely or in truncated form, wherein the multiples of the Gaussian integer modulus are estimated by calculating the component-wise rounded quotient of the current value of the variable value candidate of the Gaussian integer congruence and the sum of the first integer exponent and the second integer exponent of the real integer base to the power of the previous factor, and by calculating the component-wise rounded quotient of the auxiliary product and the difference between the third integer exponent and the second integer exponent of the real integer base to the power of the difference, and multiplying the latter quotient by the Gaussian integer modulus.
2. The method of claim 1, wherein such second integer exponent is considered equal to or less than -3, and such third integer exponent is considered equal to or greater than the first integer exponent incremented by three.
3. A method according to one of the preceding claims, in particular according to claim 2, wherein the Gaussian integer is decremented in truncated form by multiples of the Gaussian integer modulus, so that the Gaussian integer is truncated via modular reduction of the Gaussian integer modulus with the difference between the third integer exponent and the second integer exponent of the real integer base as power, and then the multiples of the Gaussian integer modulus are truncated via modular reduction of the multiples of the Gaussian integer modulus with the difference between the third integer exponent and the second integer exponent of the real integer base as power and subtracted from the truncated Gaussian integer.
4. The method according to claim 1, wherein the prefactor is the quotient of the sum of the first integer exponent and the third integer exponent of the real integer base raised to a power and the Gaussian integer modulus rounded down.
5. The method according to claim 1, wherein the norm of the determined Gaussian integer congruence is smaller than the norm of the given Gaussian integer. The method according to claim 1 , wherein the norm denotes an absolute value.
7. The method according to one of the preceding claims, wherein the norm denotes a Manhattan weight or an absolute square value.
8. A method according to any one of the preceding claims, wherein the method is implemented on a computer which stores numbers in a positional number system having a radix, wherein the radix is equal to a real integer base, or wherein an integer power of the radix is equal to the real integer base.
9. The method according to any of the preceding claims, wherein the real integer base is a normal integer base, and preferably is 2 or an integer power of 2.
10. The method according to claim 1, wherein the method is carried out on a processor having a word length, the real integer base being equal to the word length of the processor, in particular 16 or 32 or 64 or 128.
11. The method according to one of the preceding claims, wherein the final reduction is used to reduce the Gaussian integers.
12. The method according to one of the preceding claims, wherein a round-down fraction is estimated involving a bit shift of an integer number of bits and involving a bit truncation down to an integer number of bits.
13. A computer-implemented method for determining a reduction of a given Gaussian integer modulo a Gaussian integer modulo, wherein first a Gaussian integer congruent to the modular reduction of the given Gaussian integer modulo a Gaussian integer modulo is determined using a method according to one of the preceding claims, and the Gaussian integer congruence is further reduced using a final reduction.
14. A computer-implemented cryptographic method, in particular for generating cryptographic keys and / or for encryption or decryption, wherein the cryptographic method involves determining a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo, and / or determining a reduction of a given Gaussian integer modulo the Gaussian integer modulo, and wherein the Gaussian integer that is congruent to the given Gaussian integer modulo the Gaussian integer modulo is determined using a method according to one of claims 1 to 12, and / or wherein the reduction of a given Gaussian integer modulo the Gaussian integer modulo is determined using a method according to claim 13.
15. A computer implemented error correction method, wherein the error correction method involves determining a Gaussian integer that is congruent to a given Gaussian integer modulo the Gaussian integer modulo and / or determining a reduction of a given Gaussian integer modulo the Gaussian integer modulo, and wherein the Gaussian integer that is congruent to the given Gaussian integer modulo the Gaussian integer modulo is determined using a method according to one of claims 1 to 10, and / or wherein the reduction of the given Gaussian integer modulo the Gaussian integer modulo is determined using a method according to claim 13.