Skip to main content

Private keys are 256 bit numbers

Public keys are a pair of X,Y coordinates. Each coordinate is a 256 bit number. BUT for every X coordinate there are only two possible Y coordinates (one positive, one negative) so you can store a public key as just the X coordinate (256 bits) and the sign of the Y coordinate (1 bit) and the proper Y coordinate can then be calculatecalculated from the X coordinate and the sign.

So private key = 256 bits, public key = 2*256=512 bits OR 256+1=257 bits

Then there is a small amount of formatting overhead of a few bits.

Then these are encoded.

Private keys are 256 bit numbers

Public keys are a pair of X,Y coordinates. Each coordinate is a 256 bit number. BUT for every X coordinate there are only two possible Y coordinates (one positive, one negative) so you can store a public key as just the X coordinate (256 bits) and the sign of the Y coordinate (1 bit) and the proper Y coordinate can be calculate from the X coordinate and the sign.

So private key = 256 bits, public key = 2*256=512 bits OR 256+1=257 bits

Then there is a small amount of formatting overhead of a few bits.

Then these are encoded.

Private keys are 256 bit numbers

Public keys are a pair of X,Y coordinates. Each coordinate is a 256 bit number. BUT for every X coordinate there are only two possible Y coordinates (one positive, one negative) so you can store a public key as just the X coordinate (256 bits) and the sign of the Y coordinate (1 bit) and the proper Y coordinate can then be calculated from the X coordinate and the sign.

So private key = 256 bits, public key = 2*256=512 bits OR 256+1=257 bits

Then there is a small amount of formatting overhead of a few bits.

Then these are encoded.

Source Link
BurtW
  • 101
  • 1
  • 2

Private keys are 256 bit numbers

Public keys are a pair of X,Y coordinates. Each coordinate is a 256 bit number. BUT for every X coordinate there are only two possible Y coordinates (one positive, one negative) so you can store a public key as just the X coordinate (256 bits) and the sign of the Y coordinate (1 bit) and the proper Y coordinate can be calculate from the X coordinate and the sign.

So private key = 256 bits, public key = 2*256=512 bits OR 256+1=257 bits

Then there is a small amount of formatting overhead of a few bits.

Then these are encoded.