baby-step-giant-step-algorithm