1.モジュロ演算(MOD)
:モジュラ算術モジュロ演算は、また、例えば23≡11(MOD12)、= KNので、もし+ B、ルールを計算する、≡のB(mod n)を計算するように表すことができる、と呼ぶことができます
(A + B)mod nを=((MOD N)+(mod nをB))mod nを
(* b)はMOD N =((MOD N)*(mod nをB))mod nを
- 残りの完全なセット
1〜n-1が残っている自然数の完全なセットを構成するnは、任意の整数mの%nに対して1〜Nのコレクションに存在しています。
- 加算器チェーン構成
暗号化アルゴリズムでは、nは、そのような付加など、すべての操作は、中間構造体の減算は、例えば、2Kビットを超えないk個のビット番号に対してモジュロ演算モードの多数に適用X mod nを計算が大幅場合簡略化します複雑。
例えば、A 。8 MOD N-ができる計算で算出することが((A 2 MOD N-)2 MOD N-)2 MOD N-
インデックスxが2の倍数を加算器チェーン構成、例えば25、25 = 16 + 8 + 1 = 2を要求されていない場合。4 + 2 3 + 2 0
こうして25 MOD N- =(* Aの8 * 16 )N-MOD =((((2 * A)2)2)2 * A)N-MOD
C言語の表現
符号なしのロング SS(符号なし長い X、符号なしのロング Y、符号なしのロングN){ 符号なしのロングS、T、U。 int型私は、 S = 1。T = xで。Uは= yと、 一方、(U){ 場合(U&1)S =(Sの* tの)&N。 U >> = 1 ; T =(T * T)%N。 } リターン(S); }
- 素数
最大公約数(GCD)
GCD(4,2)= 2 GCD(4,3)= 1つのGCD(6,4)= 2
C言語:
INT GCD(int型のx、int型のY){ int型、M。 一方、(X> 0 ){ m個の =のX。 X = X%のY。 Y = M。 } 戻り M
- 逆モード
逆:
方程式 と呼ばれるソリューション
モジュロ
場合、逆の
(すなわち
、
プライム)は、次に方程式は一意の解、または全く解を有します。
次いで、逆例えば、それを行うために使用することができ 、かつない
と仮定すると、爆発の精度を指示する、我々は、逆を使用することができ、それに加えて
の代表
次いで、逆
。
逆モード:
4 * X≡1(7 MOD)、すなわち、4X + 1 = 7K
より一般的な問題がある:1 =(* x)から MOD Nを書き込むことができるA -1 ≡X(N-MOD)
したがって、ここでの問題の解決策のセットがあります:
場合GCD(A、N-)= 1、A -1 ≡X(N-MOD)ユニーク溶液
GCD(A、N-)。1≠ A -1 ≡X(N-MOD)は溶液ありません
どのように%nの逆数を見つけ、ユークリッドアルゴリズムの使用を拡大します
ボイド e_gcd(int型、int型 B、INT&GCD、INT&X、INT&Y) { 場合(Bの== 0 ) { X = 1 。 Y = 0 。 GCD = A; } 他 { e_gcd(B、 %のB、GCD、Y、X)。 Y - = X *(A / B) } }
- フェルマーの小定理
この定理は、多くの場合、一見も高校リーグを見ていた前に、中学校の数学リーグに遭遇したが、少しを書くための基礎としてCMOされます。
コンテンツ:mは素数であり、mの倍数でない場合、定理がある。M 1- ≡ 1(MODのM)。
- オイラー機能
オイラー関数:φ(n)は1〜N-1からnの数互いに素数を示します。φ= 1(1。) 、一般的な用語の式:[ピー](N)= N *(P4 / 1-1)(P1 / 1-1)*(P2 / 1-1)*(P3 / 1-1)* ... ..(1-1 / PN)
ここで、P1〜n個の素因数PN。
いくつかの暗号化アルゴリズムでは、秘密鍵生成プロセスは、オイラー関数を計算するプロセスです。
- 有限体上の離散対数
ダイインデックスは頻繁に別の一方向関数暗号化に使用されています
例えば:. 3 X ≡ 15 MOD。17、Xの= 6
全ての離散対数のは、例えば、対応する解を持つ。3 X ≡。7 MOD 13無し整数xが式に従わなくてもよいである、離散対数のない溶液となるよう。2例のドメイン存在の離散対数に:
1.プライムドメインの乗法群
有限体の楕円曲線群2