"This is because the signature algorithm needs mathematical objects in some given sets which are limited in size, so they need to work on values which are not too big, such as the output of a hash function." . . . .