<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bitmessage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burntbrunch</id>
	<title>Bitmessage Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bitmessage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burntbrunch"/>
	<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php/Special:Contributions/Burntbrunch"/>
	<updated>2026-04-26T09:54:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=20767</id>
		<title>Public key to bitmessage address</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=20767"/>
		<updated>2013-10-19T17:01:59Z</updated>

		<summary type="html">&lt;p&gt;Burntbrunch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page briefly describes, how to generate a Bitmessage Address from a public key.&lt;br /&gt;
The variable after the list is used to refer to the step later&lt;br /&gt;
&lt;br /&gt;
# Create a private and a public key for encryption and signing (resulting in 4 keys)&lt;br /&gt;
# Merge the public part of the signing key and the encryption key together. (encoded in uncompressed X9.62 format) (A)&lt;br /&gt;
# Take the SHA512 hash of A. (B)&lt;br /&gt;
# Take the RIPEMD160 of B. (C)&lt;br /&gt;
# Repeat step 1-4 until you have a result that starts with a zero (Or two zeros, if you want a short address). (D)&lt;br /&gt;
# Remove the zeros at the beginning of D. (E)&lt;br /&gt;
# Put the stream number (as a [[Protocol specification#Variable length integer|var_int]]) in front of E. (F)&lt;br /&gt;
# Put the address version (as a [[Protocol specification#Variable length integer|var_int]]) in front of F. (G)&lt;br /&gt;
# Take a double SHA512 (hash of a hash) of G and use the first four bytes as a checksum, that you append to the end. (H)&lt;br /&gt;
# base58 encode H. (J)&lt;br /&gt;
# Put &amp;quot;BM-&amp;quot; in front J. (K)&lt;br /&gt;
&lt;br /&gt;
K is your full address&lt;br /&gt;
&lt;br /&gt;
Note: Bitmessage's base58 encoding uses the following sequence (the same as Bitcoin's): &amp;quot;123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz&amp;quot;.  Many existing libraries for base58 do not use this ordering.&lt;/div&gt;</summary>
		<author><name>Burntbrunch</name></author>
		
	</entry>
</feed>