tailieunhanh - cryptography for developers 2006 phần 10

Các đảo cuối cùng được tính từ ước tính sơ bộ có hiệu quả với sự thay đổi và bổ sung. Modular lũy thừa là một vấn đề tốt nhất giải quyết với một loạt các thuật toán tùy thuộc vào tình hình. Cẩm nang ứng dụng mật mã vạch ra một số, chẳng hạn như lũy thừa cơ bản trái sang phải, lũy thừa cửa sổ, và chuỗi lũy thừa vector. | Large Integer Arithmetic Chapter 8 375 inverse Richard Schroeppel Hilarie Orman Sean O Malley Oliver Spatscheck Fast Key Exchange with Elliptic Curve Systems 1995 Advances in Cryptology Crypto 95 Edited by Don Coppersmith Springer-Verlag . The final inversion is computed from the rough estimate efficiently with shifts and additions. Modular exponentiation is another problem best solved with a variety of algorithms depending on the situation. The Handbook of Applied Cryptography outlines several such as basic left-to-right exponentiation windowed exponentiation and vector chain exponentiation. These are also covered in a more academic setting in The Art Of Computer Programming Volume 2 by Knuth. His text discusses the asymptotic behaviors of various exponentiation algorithms this knowledge is fundamental to properly develop a math library of versatile use. A more practical treatment of exponentiation is explored in the text BigNum Math Implementing Cryptographic Multiple Precision Arithmetic by Tom St Denis. The latter text includes a vast array of source code useful for implementing independent BigNum libraries. Size versus Speed Aside from picking platform suitable algorithms one is often presented with the choice of how to best use code and data memory. As we have seen loop unrolling can greatly accelerate integer multiplication and squaring. However this added speed comes at a price of size. The algorithms we use for multiplication and squaring are quadratic in nature3 . O n2 and the tradeoff follows this. Technically algorithm such as Karatsuba and Toom-Cook multiplication are not quadratic. However they are completely inefficient with the size of numbers we will be using. Various algorithms such as those for addition subtraction and shifting are linear by nature . O n and can be sped up relatively cheaply with code unrolling. On the whole this will save cycles when performing public key operations. However the savings like the cost will be minimal at .

TỪ KHÓA LIÊN QUAN