diff options
Diffstat (limited to 'lib/crypto/mpi/mpi-bit.c')
| -rw-r--r-- | lib/crypto/mpi/mpi-bit.c | 143 | 
1 files changed, 0 insertions, 143 deletions
| diff --git a/lib/crypto/mpi/mpi-bit.c b/lib/crypto/mpi/mpi-bit.c index e08fc202ea5c..c29b85362664 100644 --- a/lib/crypto/mpi/mpi-bit.c +++ b/lib/crypto/mpi/mpi-bit.c @@ -32,7 +32,6 @@ void mpi_normalize(MPI a)  	for (; a->nlimbs && !a->d[a->nlimbs - 1]; a->nlimbs--)  		;  } -EXPORT_SYMBOL_GPL(mpi_normalize);  /****************   * Return the number of bits in A. @@ -93,85 +92,6 @@ void mpi_set_bit(MPI a, unsigned int n)  	a->d[limbno] |= (A_LIMB_1<<bitno);  } -/**************** - * Set bit N of A. and clear all bits above - */ -void mpi_set_highbit(MPI a, unsigned int n) -{ -	unsigned int i, limbno, bitno; - -	limbno = n / BITS_PER_MPI_LIMB; -	bitno  = n % BITS_PER_MPI_LIMB; - -	if (limbno >= a->nlimbs) { -		for (i = a->nlimbs; i < a->alloced; i++) -			a->d[i] = 0; -		mpi_resize(a, limbno+1); -		a->nlimbs = limbno+1; -	} -	a->d[limbno] |= (A_LIMB_1<<bitno); -	for (bitno++; bitno < BITS_PER_MPI_LIMB; bitno++) -		a->d[limbno] &= ~(A_LIMB_1 << bitno); -	a->nlimbs = limbno+1; -} -EXPORT_SYMBOL_GPL(mpi_set_highbit); - -/**************** - * clear bit N of A and all bits above - */ -void mpi_clear_highbit(MPI a, unsigned int n) -{ -	unsigned int limbno, bitno; - -	limbno = n / BITS_PER_MPI_LIMB; -	bitno  = n % BITS_PER_MPI_LIMB; - -	if (limbno >= a->nlimbs) -		return; /* not allocated, therefore no need to clear bits :-) */ - -	for ( ; bitno < BITS_PER_MPI_LIMB; bitno++) -		a->d[limbno] &= ~(A_LIMB_1 << bitno); -	a->nlimbs = limbno+1; -} - -/**************** - * Clear bit N of A. - */ -void mpi_clear_bit(MPI a, unsigned int n) -{ -	unsigned int limbno, bitno; - -	limbno = n / BITS_PER_MPI_LIMB; -	bitno  = n % BITS_PER_MPI_LIMB; - -	if (limbno >= a->nlimbs) -		return; /* Don't need to clear this bit, it's far too left.  */ -	a->d[limbno] &= ~(A_LIMB_1 << bitno); -} -EXPORT_SYMBOL_GPL(mpi_clear_bit); - - -/**************** - * Shift A by COUNT limbs to the right - * This is used only within the MPI library - */ -void mpi_rshift_limbs(MPI a, unsigned int count) -{ -	mpi_ptr_t ap = a->d; -	mpi_size_t n = a->nlimbs; -	unsigned int i; - -	if (count >= n) { -		a->nlimbs = 0; -		return; -	} - -	for (i = 0; i < n - count; i++) -		ap[i] = ap[i+count]; -	ap[i] = 0; -	a->nlimbs -= count; -} -  /*   * Shift A by N bits to the right.   */ @@ -241,66 +161,3 @@ void mpi_rshift(MPI x, MPI a, unsigned int n)  	MPN_NORMALIZE(x->d, x->nlimbs);  }  EXPORT_SYMBOL_GPL(mpi_rshift); - -/**************** - * Shift A by COUNT limbs to the left - * This is used only within the MPI library - */ -void mpi_lshift_limbs(MPI a, unsigned int count) -{ -	mpi_ptr_t ap; -	int n = a->nlimbs; -	int i; - -	if (!count || !n) -		return; - -	RESIZE_IF_NEEDED(a, n+count); - -	ap = a->d; -	for (i = n-1; i >= 0; i--) -		ap[i+count] = ap[i]; -	for (i = 0; i < count; i++) -		ap[i] = 0; -	a->nlimbs += count; -} - -/* - * Shift A by N bits to the left. - */ -void mpi_lshift(MPI x, MPI a, unsigned int n) -{ -	unsigned int nlimbs = (n/BITS_PER_MPI_LIMB); -	unsigned int nbits = (n%BITS_PER_MPI_LIMB); - -	if (x == a && !n) -		return;  /* In-place shift with an amount of zero.  */ - -	if (x != a) { -		/* Copy A to X.  */ -		unsigned int alimbs = a->nlimbs; -		int asign = a->sign; -		mpi_ptr_t xp, ap; - -		RESIZE_IF_NEEDED(x, alimbs+nlimbs+1); -		xp = x->d; -		ap = a->d; -		MPN_COPY(xp, ap, alimbs); -		x->nlimbs = alimbs; -		x->flags = a->flags; -		x->sign = asign; -	} - -	if (nlimbs && !nbits) { -		/* Shift a full number of limbs.  */ -		mpi_lshift_limbs(x, nlimbs); -	} else if (n) { -		/* We use a very dump approach: Shift left by the number of -		 * limbs plus one and than fix it up by an rshift. -		 */ -		mpi_lshift_limbs(x, nlimbs+1); -		mpi_rshift(x, x, BITS_PER_MPI_LIMB - nbits); -	} - -	MPN_NORMALIZE(x->d, x->nlimbs); -} | 
