数学 では、正の整数k とs に対して、ベクトル加算チェーンは、− k + 1 ≤ i ≤ s の非負整数のk 次元ベクトルv i の列V と、次のような列wからなる。
v − k +1 = [1, 0, 0, ..., 0, 0] 、v − k +2 = [0, 1, 0, ..., 0, 0] 、 ⋮ ⋮ v 0 = [0, 0, 0, ..., 0, 1] 、 すべての 1 ≤ i ≤ sに対して v i = v j + v r が − k + 1 ≤ j 、r ≤ i − 1 で成り立つ。v s = [ n 0 , ..., n k −1 ],w = ( w 1 , ..., w s ), w i = ( j , r ).例えば、[22, 18, 3] のベクトル加算チェーンは次のようになります。
V = ([1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 0], [2, 2, 0], [4, 4, 0], [5, 4, 0], [10, 8, 0], [11, 9, 0], [11, 9, 1], [22, 18, 2]、[22、18、3])w = ((−2, −1), (1, 1), (2, 2), (−2, 3), (4, 4), (1, 5), (0, 6), (7, 7), (0, 8))ベクトル加算チェーンは多重べき乗を 実行するのに適しています: [ 1 ]
入力: アーベル群 G の要素x 0 、 ...、x k −1と、次元k のベクトル加算チェーン[ n 0 、 ...、n k −1 ]を計算する出力 : 要素x 0 n 0 ... x k −1 n r −1i = − k + 1から0まで y i → x i + k −1 を実行 する i = 1から sまで y i → y j × y r を 実行 する y s を返す
添加シーケンス 整数 の集合S = { n 0 , ..., n r −1 }に対する加算列は、 S のすべての要素を含む加算チェーン v です。
例えば、加算シーケンスを計算する
{47, 117, 343, 499} は
(1, 2, 4, 8, 10, 11, 18, 36, 47 , 55, 91, 109, 117 , 226, 343 , 434, 489, 499 ) ベクトル加算連鎖から加算シーケンスを見つけることが可能であり、その逆も可能なので、ある意味で双対関係にある。[ 2 ]
参考文献 ↑ de Rooij, Peter (1994). "プロコンピュテーションとベクトル加算チェーンを用いた効率的なべき乗演算". Santis, Alfredo De (編). Advances in Cryptology - EUROCRYPT '94, Workshop on the Theory and Application of Cryptographic Techniques, Perugia, Italy, May 9–12, 1994, Proceedings . Lecture Notes in Computer Science. Vol. 950. Springer. pp. 389–399 . doi : 10.1007/BFB0053453 . ISBN 978-3-540-60176-0 。 ↑ Cohen, H., Frey, G. (編): 楕円曲線および超楕円曲線暗号ハンドブック。Discrete Math. Appl., Chapman & Hall/CRC (2006).