(en.wikipedia.org) Extended Euclidean algorithm - Wikipedia

ROAM_REFS: https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm

In arithmetic and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common divisor (gcd) of integers a and b, also the coefficients of Bézout's identity, which are integers x and y such that

\(ax + by = \gcd(a,b).\)

This is a certifying algorithm, because the gcd is the only number that can simultaneously satisfy this equation and divide the inputs. It allows one to compute also, with almost no extra cost, the quotients of a and b by their greatest common divisor.

Extended Euclidean algorithm also refers to a very similar algorithm for computing the polynomial greatest common divisor and the coefficients of Bézout's identity of two univariate polynomials.

The extended Euclidean algorithm is particularly useful when a and b are coprime. With that provision, x is the modular multiplicative inverse of a modulo b, and y is the modular multiplicative inverse of b modulo a. Similarly, the polynomial extended Euclidean algorithm allows one to compute the multiplicative inverse in algebraic field extensions and, in particular in finite fields of non prime order. It follows that both extended Euclidean algorithms are widely used in cryptography. In particular, the computation of the modular multiplicative inverse is an essential step in the derivation of key-pairs in the RSA public-key encryption method.

Local Graph

org-roam aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12 (en.wikipedia.org) Extended Euclidean... //en.wikipedia.org/wiki/Arithmetic https://en.wikipedia.org/wiki/Arithmetic aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Arithmetic //en.wikipedia.org/wiki/Computer_programming https://en.wikipedia.org/wiki/Computer_programming aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Computer_programming //en.wikipedia.org/wiki/Euclidean_algorithm https://en.wikipedia.org/wiki/Euclidean_algorithm aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Euclidean_algorithm //en.wikipedia.org/wiki/Greatest_common_divisor https://en.wikipedia.org/wiki/Greatest_common_divisor aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Greatest_common_divisor //en.wikipedia.org/wiki/Bézout's_identity //en.wikipedia.org/wiki/Bézout's_identity aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Bézout's_identity //en.wikipedia.org/wiki/Certifying_algorithm https://en.wikipedia.org/wiki/Certifying_algorithm aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Certifying_algorithm //en.wikipedia.org/wiki/Polynomial_greatest_common_divisor#Bézout's_identity_and_extended_GCD_algorithm //en.wikipedia.org/wiki/Polynomial_greatest_common_divisor#Bézout's_identity_and_extended_GCD_algorithm aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Polynomial_greatest_common_divisor#Bézout's_identity_and_extended_GCD_algorithm //en.wikipedia.org/wiki/Polynomial_greatest_common_divisor https://en.wikipedia.org/wiki/Polynomial_greatest_common_divisor aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Polynomial_greatest_common_divisor //en.wikipedia.org/wiki/Univariate_polynomial https://en.wikipedia.org/wiki/Univariate_polynomial aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Univariate_polynomial //en.wikipedia.org/wiki/Coprime https://en.wikipedia.org/wiki/Coprime aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Coprime //en.wikipedia.org/wiki/Modular_multiplicative_inverse https://en.wikipedia.org/wiki/Modular_multiplicative_inverse aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Modular_multiplicative_inverse //en.wikipedia.org/wiki/Modular_arithmetic https://en.wikipedia.org/wiki/Modular_arithmetic aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Modular_arithmetic //en.wikipedia.org/wiki/Multiplicative_inverse https://en.wikipedia.org/wiki/Multiplicative_inverse aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Multiplicative_inverse //en.wikipedia.org/wiki/Algebraic_field_extension https://en.wikipedia.org/wiki/Algebraic_field_extension aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Algebraic_field_extension //en.wikipedia.org/wiki/Finite_field https://en.wikipedia.org/wiki/Finite_field aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Finite_field //en.wikipedia.org/wiki/Cryptography https://en.wikipedia.org/wiki/Cryptography aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/Cryptography //en.wikipedia.org/wiki/RSA_(algorithm) https://en.wikipedia.org/wiki/RSA_(algorithm) aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12->//en.wikipedia.org/wiki/RSA_(algorithm) //en.wikipedia.org/wiki/Bézout's_identity https://en.wikipedia.org/wiki/Bézout's_identity //en.wikipedia.org/wiki/Polynomial_greatest_common_divisor#Bézout's_identity_and_extended_GCD_algorithm https://en.wikipedia.org/wiki/Polynomial_greatest_common_divisor#Bézout's_identity_and_extended_GCD_algorithm 2a07e4ea-610b-4c9a-bb84-d961fb2450e5 Code and Coffee Book Club 2a07e4ea-610b-4c9a-bb84-d961fb2450e5->aa79adc9-3e6a-4056-9bd8-6fe00a1ccf12