In a nutshell
Booth's algorithm multiplies two signed numbers (positive or negative) using only the operations hardware already has: add, subtract, and shift. Instead of adding the multiplicand once for every 1 bit, it looks at pairs of bits to find where runs of 1s begin and end — subtracting once at the start of a run and adding once at the end. That lets it skip long stretches of identical bits, and it copes with negative numbers automatically.