From bc630f82e2760b75a960213e505665a8dc638f96 Mon Sep 17 00:00:00 2001 From: Christian Basler Date: Fri, 15 May 2015 10:59:56 +0200 Subject: [PATCH] Updated documentation --- Bitmessage.uml | 92 + docs/diagram.svg | 5844 ++++++++++++++++++++++++++++++++++++++++++++++ docs/seminar.pdf | Bin 112227 -> 135662 bytes docs/seminar.tex | 32 +- 4 files changed, 5965 insertions(+), 3 deletions(-) create mode 100644 Bitmessage.uml create mode 100644 docs/diagram.svg diff --git a/Bitmessage.uml b/Bitmessage.uml new file mode 100644 index 0000000..592faa7 --- /dev/null +++ b/Bitmessage.uml @@ -0,0 +1,92 @@ + + + JAVA + + + ch.dissem.bitmessage.entity.VerAck + ch.dissem.bitmessage.entity.Streamable + ch.dissem.bitmessage.ports.Inventory + ch.dissem.bitmessage.entity.Version + ch.dissem.bitmessage.entity.MessagePayload + ch.dissem.bitmessage.ports.NetworkMessageReceiver + ch.dissem.bitmessage.entity.NetworkMessage + ch.dissem.bitmessage.entity.Addr + ch.dissem.bitmessage.ports.NetworkMessageSender + ch.dissem.bitmessage.entity.valueobject.InventoryVector + ch.dissem.bitmessage.entity.ObjectPayload + ch.dissem.bitmessage.entity.valueobject.NetworkAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fields + Methods + Properties + + All + private + + diff --git a/docs/diagram.svg b/docs/diagram.svg new file mode 100644 index 0000000..5ef0521 --- /dev/null +++ b/docs/diagram.svg @@ -0,0 +1,5844 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List<InventoryVector> + + + + + + getInventory(long...) + + + + + + List<InventoryVector> + + + + + + getMissing(List<InventoryVector>, long...) + + + + + + ObjectMessage + + + + + + getObject(InventoryVector) + + + + + + List<ObjectMessage> + + + + + + getObjects(long, long, ObjectType) + + + + + + void + + + + + + storeObject(ObjectMessage) + + + + + + void + + + + + + cleanup() + + + + + + + + + + Inventory + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + List<NetworkAddress> + + + + + + addresses + + + + + + + + + + Addr + + + + + + + + + + + + + + + + + + + + + + InetAddress + + + + + toInetAddress() + + + + + + boolean + + + + + equals(Object) + + + + + + int + + + + + hashCode() + + + + + + String + + + + + toString() + + + + + + void + + + + + write(OutputStream) + + + + + + void + + + + + write(OutputStream, boolean) + + + + + + + + + long + + + + + + services + + + + + + int + + + + + + port + + + + + + long + + + + + + time + + + + + + long + + + + + + stream + + + + + + byte[] + + + + + + IPv6 + + + + + + + + + NetworkAddress + + + + + + + + + + + + + + + + + + + + + + + + + Command + + + + + + command + + + + + + + + + MessagePayload + + + + + + + + + + + + + + + + + + + + + + + + + int + + + + + + + + MAGIC + + + + + + byte[] + + + + + + + + MAGIC_BYTES + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + MessagePayload + + + + + + payload + + + + + + + + + + NetworkMessage + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + long + + + + + + nonce + + + + + + long + + + + + + services + + + + + + String + + + + + + userAgent + + + + + + NetworkAddress + + + + + + addrFrom + + + + + + NetworkAddress + + + + + + addrRecv + + + + + + long[] + + + + + + streams + + + + + + long + + + + + + timestamp + + + + + + int + + + + + + version + + + + + + + + + + Version + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + equals(Object) + + + + + + int + + + + + + hashCode() + + + + + + void + + + + + + write(OutputStream) + + + + + + String + + + + + + toString() + + + + + + + + + byte[] + + + + + + hash + + + + + + + + + + InventoryVector + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + write(OutputStream) + + + + + + + + + Streamable + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + + + + + VerAck + + + + + + + + + + + + + + + + + + + + + + + + + int + + + + + + + + CURRENT_VERSION + + + + + + + + + void + + + + + + send(long, long, ObjectPayload, long, long, long) + + + + + + void + + + + + + addStream(long) + + + + + + void + + + + + + removeStream(long) + + + + + + + + + long + + + + + + networkNonceTrialsPerByte + + + + + + NodeRegistry + + + + + + addressRepository + + + + + + int + + + + + + port + + + + + + NetworkHandler + + + + + + networkHandler + + + + + + long + + + + + + networkExtraBytes + + + + + + Inventory + + + + + + inventory + + + + + + long[] + + + + + + streams + + + + + + + + + + BitmessageContext + + + + + + + + + + + + + + + + + + + + + + + + + List<BitmessageAddress> + + + + + + findIdentities() + + + + + + List<BitmessageAddress> + + + + + + findContacts() + + + + + + void + + + + + + save(BitmessageAddress) + + + + + + void + + + + + + remove(BitmessageAddress) + + + + + + + + + + AddressRepository + + + + + + + + + + + + + + + + + + + + + + + + + byte[] + + + + + calculateNonce(byte[], byte[]) + + + + + + + + + ProofOfWorkEngine + + + + + + + + + + + + + + + + + + + + + + byte[] + + + + + calculateNonce(byte[], byte[]) + + + + + + + + + MultiThreadedPOWEngine + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + start(MessageListener) + + + + + + void + + + + + + stop() + + + + + + void + + + + + + offer(InventoryVector) + + + + + + + + + + NetworkHandler + + + + + + + + + + + + + + + + + + + + + + + + + List<NetworkAddress> + + + + + + getKnownAddresses(int, long...) + + + + + + void + + + + + + offerAddresses(List<NetworkAddress>) + + + + + + + + + + NodeRegistry + + + + + + + + + + + + + + + + + + + + + + Logger + + + + + + + + LOG + + + + + + + + + NetworkMessage + + + + + + + getNetworkMessage(int, InputStream) + + + + + + ObjectMessage + + + + + + + getObjectMessage(int, InputStream, int) + + + + + + Pubkey + + + + + + + createPubkey(long, long, byte[], byte[], long, long, Feature...) + + + + + + BitmessageAddress + + + + + + + generatePrivateAddress(long, Feature...) + + + + + + ObjectPayload + + + + + + + getObjectPayload(long, long, long, InputStream, int) + + + + + + Pubkey + + + + + + + readPubkey(long, long, InputStream, int) + + + + + + + + + + Factory + + + + + + + + + + + + + + + + + + + + + + NetworkMessage + + + + + + + read(InputStream) + + + + + + ObjectMessage + + + + + + + readObject(InputStream, int) + + + + + + + + + + V3MessageFactory + + + + + + + + + + + + + + + + + + + + + + byte[] + + + + + + + calculateTag(long, long, byte[]) + + + + + + String + + + + + + toString() + + + + + + + + + byte[] + + + + + + ripe + + + + + + String + + + + + + address + + + + + + byte[] + + + + + + tag + + + + + + PrivateKey + + + + + + privateKey + + + + + + long + + + + + + version + + + + + + Pubkey + + + + + + pubkey + + + + + + long + + + + + + stream + + + + + + String + + + + + + alias + + + + + + + + + + BitmessageAddress + + + + + + + + + + + + + + + + + + + + + + void + + + + + + encrypt(byte[]) + + + + + + void + + + + + + decrypt(byte[]) + + + + + + + + + + Encrypted + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + List<InventoryVector> + + + + + + inventory + + + + + + + + + + Inv + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + sign(PrivateKey) + + + + + + boolean + + + + + + isSignatureValid(Pubkey) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + byte[] + + + + + + payloadBytesWithoutNonce + + + + + + InventoryVector + + + + + + inventoryVector + + + + + + long + + + + + + expiresTime + + + + + + boolean + + + + + + signed + + + + + + long + + + + + + version + + + + + + ObjectPayload + + + + + + payload + + + + + + byte[] + + + + + + nonce + + + + + + long + + + + + + type + + + + + + long + + + + + + stream + + + + + + + + + + ObjectMessage + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + Command + + + + + + command + + + + + + List<InventoryVector> + + + + + + inventory + + + + + + + + + + GetData + + + + + + + + + + + + + + + + + + + + + + + + + PrivateKey + + + + + + + read(InputStream) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + privateEncryptionKey + + + + + + byte[] + + + + + + privateSigningKey + + + + + + Pubkey + + + + + + pubkey + + + + + + + + + + PrivateKey + + + + + + + + + + + + + + + + + + + + + + byte[] + + + + + + encrypted + + + + + + + + + Broadcast + + + + + + + + + + + + + + + + + + + + + + V4Pubkey + + + + + + + read(InputStream, long, int) + + + + + + void + + + + + + encrypt(byte[]) + + + + + + void + + + + + + decrypt(byte[]) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + signingKey + + + + + + ObjectType + + + + + + type + + + + + + byte[] + + + + + + tag + + + + + + long + + + + + + version + + + + + + byte[] + + + + + + signature + + + + + + byte[] + + + + + + encryptionKey + + + + + + long + + + + + + stream + + + + + + + + + + V4Pubkey + + + + + + + + + + + + + + + + + + + + + + int + + + + + + behaviorBitfield + + + + + + + + + V2Pubkey + + + + + + + read(InputStream, long) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + signingKey + + + + + + ObjectType + + + + + + type + + + + + + long + + + + + + version + + + + + + byte[] + + + + + + encryptionKey + + + + + + long + + + + + + stream + + + + + + + + + + V2Pubkey + + + + + + + + + + + + + + + + + + + + + + long + + + + + + nonceTrialsPerByte + + + + + + long + + + + + + extraBytes + + + + + + + + + V3Pubkey + + + + + + + read(InputStream, long) + + + + + + void + + + + + + write(OutputStream) + + + + + + void + + + + + + writeBytesToSign(OutputStream) + + + + + + + + + boolean + + + + + + signed + + + + + + long + + + + + + version + + + + + + byte[] + + + + + + signature + + + + + + + + + + V3Pubkey + + + + + + + + + + + + + + + + + + + + + + void + + + + + writeBytesToSign(OutputStream) + + + + + + + + + ObjectType + + + + + + type + + + + + + boolean + + + + + + signed + + + + + + byte[] + + + + + + signature + + + + + + long + + + + + + stream + + + + + + + + + ObjectPayload + + + + + + + + + + + + + + + + + + + + + + UnencryptedMessage + + + + + read(InputStream) + + + + + + void + + + + + write(OutputStream, boolean) + + + + + + void + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + signature + + + + + + long + + + + + + stream + + + + + + + + + UnencryptedMessage + + + + + + + + + + + + + + + + + + + + + + + + + CryptoBox + + + + + + + read(InputStream, int) + + + + + + InputStream + + + + + + decrypt(byte[]) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + + CryptoBox + + + + + + + + + + + + + + + + + + + + + + V5Broadcast + + + + + read(InputStream, long, int) + + + + + + void + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + tag + + + + + + + + + V5Broadcast + + + + + + + + + + + + + + + + + + + + + + long + + + + + + + + LATEST_VERSION + + + + + + + + + byte[] + + + + + + add0x04(byte[]) + + + + + + + + + byte[] + + + + + + signingKey + + + + + + byte[] + + + + + + ripe + + + + + + long + + + + + + version + + + + + + byte[] + + + + + + encryptionKey + + + + + + + + + + Pubkey + + + + + + + + + + + + + + + + + + + + + + GetPubkey + + + + + read(InputStream, long, int, long) + + + + + + void + + + + + write(OutputStream) + + + + + + + + + ObjectType + + + + + + type + + + + + + long + + + + + + stream + + + + + + + + + + GetPubkey + + + + + + + + + + + + + + + + + + + + + + + + + + GET_PUBKEY + + + + + + + PUBKEY + + + + + + + MSG + + + + + + + BROADCAST + + + + + + + + + ObjectType + + + + + + + fromNumber(long) + + + + + + + + + long + + + + + + number + + + + + + + + + ObjectType + + + + + + + + + + + + + + + + + + + + + + + + + GenericPayload + + + + + + + read(InputStream, long, int) + + + + + + void + + + + + + write(OutputStream) + + + + + + boolean + + + + + + equals(Object) + + + + + + int + + + + + + hashCode() + + + + + + + + + ObjectType + + + + + + type + + + + + + long + + + + + + stream + + + + + + + + + + GenericPayload + + + + + + + + + + + + + + + + + + + + + + Msg + + + + + + + read(InputStream, long, int) + + + + + + void + + + + + + writeBytesToSign(OutputStream) + + + + + + void + + + + + decrypt(byte[]) + + + + + + void + + + + + + write(OutputStream) + + + + + + + + + ObjectType + + + + + + type + + + + + + boolean + + + + + + signed + + + + + + byte[] + + + + + + signature + + + + + + long + + + + + + stream + + + + + + + + + + Msg + + + + + + + + + + + + + + + + + + + + + + V4Broadcast + + + + + read(InputStream, long, int) + + + + + + void + + + + + writeBytesToSign(OutputStream) + + + + + + void + + + + + write(OutputStream) + + + + + + + + + byte[] + + + + + + encrypted + + + + + + ObjectType + + + + + + type + + + + + + byte[] + + + + + + signature + + + + + + long + + + + + + stream + + + + + + + + + V4Broadcast + + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + «create» + + + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + + «create» + + + + + + + + + + + 1 + 1 + + + + + + + + + + «create» + + + + + + + + + + + + «create» + + + + + + + + + + + + «create» + + + + + + + + + + + + «create» + + + + + + + + + + + * + 1 + + + + + + + + + * + 1 + + + + + + + + + + «create» + + + + + + + + + + + + «create» + + + + + + + + + + + * + 1 + + + + + + + + + + «create» + + + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + 1 + 1 + + + + + + + + + + «create» + + + diff --git a/docs/seminar.pdf b/docs/seminar.pdf index 57e28b8dfef8e2e04d5689fde85b99bff39932bd..f01bb705344c2a5eaf887d3d005a9094fe829960 100644 GIT binary patch delta 72155 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�Tb~oK0y*e%+3Cax=m!OB&-`I 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 delta 48677 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

%x=afnli*5t z>{ssRRecCToMvvwspJYG^pT(EFC(H7E29ycH_L%*y>~6Ui$k3GZ0?BgOD3(@9^|}C zz0KiDMtkrrZX1(M>w>{a%ZmotbX;b_Z%yHpb(@sytkAZ-HrS>!8>Z}7Btj9r_QQ1_ z037B`cS!fs5XfPS~XH@#BbeThQ z^RQ}vb1xl)R@K^e^s+z}1A%ZUFBIa1(i-`$zx^D0ew$xD$kMoxS;jMdo7LTFsX>|0 z_mP%;twWM``9onYyk6(7BC4F?5&X{K_%ow!H~WM32Ti_f@mnubn<( z(C>T0eS3+m!SN>{mdgHCzWP|V^x~7fN!#|%{P$Fp>92Zw73fFhaS*uT%pb3(>45_N zg;_yGYK(%&~m?t~$F7D4l99sVZIh<^`v$)P|uxVog5%7_az^ zCsT?PVmFa2LYsHQVP@D@Spfje+d0<$SE=FRNM`m#17Z1ZH5D~Lb=qN@3909j)~h7& z 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 diff --git a/docs/seminar.tex b/docs/seminar.tex index 826ec37..5134281 100644 --- a/docs/seminar.tex +++ b/docs/seminar.tex @@ -11,6 +11,7 @@ \newcommand{\msg}[1]{\textit{#1}} \newcommand{\obj}[1]{\textbf{#1}} \newcommand{\node}[1]{\textbf{#1}} +\newcommand{\key}[1]{\textbf{#1}} \begin{document} \maketitle @@ -76,7 +77,7 @@ \subsection{Addresses} \label{subsec:addr} - \textit{BM-2cXxfcSetKnbHJX2Y85rSkaVpsdNUZ5q9h}: Addresses start with "BM-" and are, like Bitcoin addresses, Base58 encoded\footnote{Which avoids the easily confused characters I, l, 0 and O.}. + \textit{BM-2cXxfcSetKnbHJX2Y85rSkaVpsdNUZ5q9h}: Addresses start with "BM-" and are, like Bitcoin addresses, Base58 encoded\footnote{Which uses characters 1-9, A-Z and a-z without the easily confused characters I, l, 0 and O.}. \listinginfo{}{version}{Address version.}{} \listinginfo{}{stream}{Stream number.}{} @@ -84,7 +85,32 @@ \listinginfo{}{checksum}{First four bytes of a double SHA-512 hash of the above.}{sha512(sha512(version + stream + ripe))} \subsection{Encryption} - TODO + + Bitcoin uses Elliptic Curve Cryptography for both signing and encryption. While the mathematics behind elliptic curves is even harder to understand than the usual prime-and-modulo-until-your-brain-explodes approach, it's based on the same principle that factorizing large numbers is very hard to do. Instead of two very large primes, we multiply a point on the elliptic curve by a very large number\footnote{Please don't ask me how to do it. If your're crazy enough, start at \url{http://en.wikipedia.org/wiki/Elliptic_curve_cryptography}. If you're not that crazy, use a library like Bouncy Casle.}. + + The user, let's call her Alice, needs a key pair, consisting of a private key +$$k$$ +which represents a huge random number, and a public key +$$K = G k$$ +which represents a point on the agreed on curve\footnote{Bitmessage uses a curve called \textit{secp256k1}.}. Please note that this is not a simple multiplication, but the multiplication of a point along an elliptic curve. $G$ is the starting point for all operations on a specific curve. + + Another user, Bob, knows the public key. To encrypt a message, Bob creates a temporary key pair +$$r$$ +and +$$R = G r$$ +He then calculates +$$K r$$ +uses the resulting Point to encrypt the message\footnote{A double SHA-512 hash over the x-coordinate is used to create the actual key.} and sends $K$ along with the message. + + When Alice receives the message, she uses the fact that +$$K r = G k r = G r k = R k$$ +so she just uses $R k$ to decrypt the message. + + The exact method used in Bitmessage is called Elliptic Curve Integrated Encryption Scheme or ECIES\footnote{See \url{http://en.wikipedia.org/wiki/Integrated_Encryption_Scheme}}. + + \subsection{Signature} + +ECDSA \section{Issues} @@ -93,7 +119,7 @@ Bitmessage doen't really scale. If there are very few users, anonymity isn't given anymore, and with many users traffic and storage use grows quadratically. \subsubsection{Streams} - The intended solution for this problem is splitting traffic\footnote{Addresses, actualy} into streams. When all active streams are full, a new one is created which should be used for new addresses. All users can send messages to any stream, but only listen to the streams belonging to their addresses. The unsolved problem is to determine when a stream is full. The other issue is the fact that, as the overall network grows, traffic on full streams still grows, as there are more users who might wanto to write someone on the full stream. + The intended solution for this problem is splitting traffic\footnote{Addresses, actualy.} into streams. When all active streams are full, a new one is created which should be used for new addresses. All users can send messages to any stream, but only listen to the streams belonging to their addresses. The unsolved problem is to determine when a stream is full. The other issue is the fact that, as the overall network grows, traffic on full streams still grows, as there are more users who might wanto to write someone on the full stream. \subsubsection{Prefix Filtering} TODO