CRYPTOGRAPHY AND MATHEMATICAL VISUALIZATIONS
Based on a protocol Bitcoin and language programming C#
A protocol such as bitcoin selects a set of parameters for the elliptic curve and its finite field representation
that is fixed for all users of the protocol.
The parameters include the equation used, the prime modulo of the field, and a base point that falls on the curve.
The order of the base point, which is not independently selected but is a function of the other parameters,
can be thought of graphically as the number of times the point can be added to itself until its slope is infinite,
or a vertical line.
In the case of bitcoin:
Elliptic curve equation: y2 = x3 + 7
order = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141";
basepointX = "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798";
basepointY = "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8";
mod = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F";
(2256 – 232 – 29 – 28 – 27 – 26 – 24 – 1)
DigitsBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
Point addition, P + Q = R, is defined as the reflection through the x-axis of the third intersecting point R’ on a line that includes P and Q.
Point doubling, P + P = R is defined by finding the line tangent to the point to be doubled, P, and taking reflection through the x-axis of the intersecting point R’ on the curve to get R.
For other coins was used
PrivatKey to WIF:
for BTC: Privatkey = Convert.ToByte(128),
for example for NYC: Privatkey = Convert.ToByte(188), etc...
Public to WalletAdress:
for BTC: sha256RIPEMD160publicKey = Convert.ToByte(0),
for example for NYC: sha256RIPEMD160publicKey = Convert.ToByte(60), etc...
30 September - 30 September
29 September - 29 September