Anonymous Internet banking
This article needs additional citations for verification. (December 2013) (Learn how and when to remove this template message)
Anonymous Internet banking is the proposed use of strong financial cryptography to make electronic bank secrecy (or more precisely pseudonymous banking) possible. The bank issues currency in the form of electronic tokens that can be converted on presentation to the bank to some other currency. This concept has a long history in which free banking institutions have issued their own paper currency often backed by a physical commodity.
While the academic study of trust relationships and systems has long been the domain of intelligence services such as the NSA, the growth of the Internet in the 1990s and the contemporary declassification of related knowledge allowed for greater public discussion of the potential for anonymous banking services by groups such as the cryptoanarchists and cypherpunks.
Example system implementationsEdit
For a full list see list of anonymous internet banking systems
- Anonymous cryptocurrencies
- GNU Taler: A libre electronic payment system that allows anonymous payments for customers while still allowing taxation of (non-anonymous) merchants
The underlying mathematicsEdit
Anonymous internet banking depends on the mathematics of public key cryptography and blind signature algorithms. In this simple example we have Alice and Bob and a banker. The banker generates an RSA public key with modulus , where and are large primes, making a semiprime. As described in RSA operation, the bank also generates public key exponent and private key exponent .
Bob asks the banker for a $100 deposit slip in anticipation of Alice wanting to transfer money to him. To generate a deposit slip the bank selects a large, globally unique random number and encrypts it using the bank's public key; this means that it can only be decrypted with the bank's secret key:
This encrypted value is sent to Bob with the promise to deposit $100 into his account when Bob sends the value back to the bank. The bank is confident that Bob won't be able to break RSA to generate from within a reasonable period without knowledge of , so it does not worry about handing out the deposit slips without receiving anything from Bob.
When Alice wants to pay Bob $100 she asks for the deposit slip and Bob sends her . Alice selects a large random value coprime with (so as to have an inverse modulo ) and uses it to blind and sends it to the bank to be blind signed. The Bank charges Alice $100 for this operation and returns the blind signed value . Due to the symmetric properties of RSA, this provides her with :
Because of the blinding process, the Bank is not able to associate or with or . The only possible way for the bank to do this is to trial divide by all the values of that it gave out or by all values of . This means the bank is unable to determine that Bob and Alice are doing business together, preserving the anonymity of the transaction. Alice unblinds (by dividing it by ) to generate the original value , which she sends to Bob. Bob verifies that can be encrypted with the bank's public key by computing , which means that Alice has deposited $100 into the bank. Bob then sends this value to the bank and the bank checks its records to be sure that has not been already used. If it has not, it deposits $100 into his account and updates its database that the unique value has been redeemed.
Different public keys can be used for different denominations of currency so this system doesn't take appreciably longer for large transactions.
Note that if neither Alice nor Bob wishes the bank to know that they performed a transaction with each other, then it is hard for the bank to find out. However, in order to ensure this is the case many people need to be making transactions at the same time. Otherwise the bank can figure it out by the timing of the transactions, using traffic analysis.
- Are Bitcoin Transactions Traceable?, Bitcoin.stackexchange.com/
- "GNU Taler - Electronic payments for a liberal society". Retrieved 25 October 2015.
- Open Transactions - Open-source software, including library, server, and client, providing untraceable digital cash and anonymous numbered accounts.
- The Digital Monetary Trust, Part 1 - Anonymous banking based on cryptography, not bankers & lawyers.
- The Digital Monetary Trust, Part 2 - The mathematical details of the anonymous banking system.
- David Chaum (August 1992). "Achieving Electronic Privacy". Scientific American: 96–101. Archived from the original on 2003-06-05.
- Untraceable Digital Cash, Information Markets, and BlackNet by Timothy C. May