user5312: I know it is some combination of sha256 and ripemd160 that is used on the public key component to obtain the Ripple wallet address, but what is the specific algorithm?

user3364: The process of going from a Ripple secret to a specific ECDSA private/public key (which you didn't ask about but I included it here anyway) is documented on the Account Family wiki page.
From a ECDSA public key, {X,Y}, you do ripemd160(sha256(CompressPoint(X,Y)).
That's then encoded in base58 (using the Ripple alphabet/dictionary).
You can also look at the rippled implementation or a Go implementation.

5312: <p>I know it is some combination of sha256 and ripemd160 that is used on the public key component to obtain the Ripple wallet address, but what is the specific algorithm?</p>
 3364: <p>The process of going from a Ripple secret to a specific ECDSA private/public key (which you didn't ask about but I included it here anyway) is documented on the <a href="https://ripple.com/wiki/Account_family" rel="nofollow">Account Family</a> wiki page.</p>

<p>From a ECDSA public key, {X,Y}, you do <code>ripemd160(sha256(CompressPoint(X,Y))</code>.
That's then <a href="https://ripple.com/wiki/Encodings" rel="nofollow">encoded in base58</a> (using the Ripple alphabet/dictionary).</p>

<p>You can also look at the <a href="https://github.com/ripple/rippled/blob/develop/src/ripple_data/crypto/CKeyDeterministic.cpp" rel="nofollow">rippled</a> implementation or a <a href="https://godoc.org/bitbucket.org/dchapes/ripple/crypto/rkey#AcctPublicKey.Address" rel="nofollow">Go implementation</a>.</p>
