亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? bn_sqr.c

?? LINUX AU12XX BOOTLADER
?? C
字號(hào):
/* crypto/bn/bn_sqr.c *//* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. *  * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to.  The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code.  The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). *  * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *    "This product includes cryptographic software written by *     Eric Young (eay@cryptsoft.com)" *    The word 'cryptographic' can be left out if the rouines from the library *    being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from  *    the apps directory (application code) you must include an acknowledgement: *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" *  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed.  i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */#include <stdio.h>#include "cryptlib.h"#include "bn_lcl.h"/* r must not be a *//* I've just gone over this and it is now %20 faster on x86 - eay - 27 Jun 96 */int BN_sqr(BIGNUM * r, BIGNUM * a, BN_CTX * ctx){    int max, al;    int ret = 0;    BIGNUM *tmp, *rr;#ifdef BN_COUNT    printf("BN_sqr %d * %d\n", a->top, a->top);#endif    bn_check_top(a);    al = a->top;    if (al <= 0) {	r->top = 0;	return (1);    }    BN_CTX_start(ctx);    rr = (a != r) ? r : BN_CTX_get(ctx);    tmp = BN_CTX_get(ctx);    if (tmp == NULL)	goto err;    max = (al + al);    if (bn_wexpand(rr, max + 1) == NULL)	goto err;    r->neg = 0;    if (al == 4) {#ifndef BN_SQR_COMBA	BN_ULONG t[8];	bn_sqr_normal(rr->d, a->d, 4, t);#else	bn_sqr_comba4(rr->d, a->d);#endif    } else if (al == 8) {#ifndef BN_SQR_COMBA	BN_ULONG t[16];	bn_sqr_normal(rr->d, a->d, 8, t);#else	bn_sqr_comba8(rr->d, a->d);#endif    } else {#if defined(BN_RECURSION)	if (al < BN_SQR_RECURSIVE_SIZE_NORMAL) {	    BN_ULONG t[BN_SQR_RECURSIVE_SIZE_NORMAL * 2];	    bn_sqr_normal(rr->d, a->d, al, t);	} else {	    int j, k;	    j = BN_num_bits_word((BN_ULONG) al);	    j = 1 << (j - 1);	    k = j + j;	    if (al == j) {		if (bn_wexpand(a, k * 2) == NULL)		    goto err;		if (bn_wexpand(tmp, k * 2) == NULL)		    goto err;		bn_sqr_recursive(rr->d, a->d, al, tmp->d);	    } else {		if (bn_wexpand(tmp, max) == NULL)		    goto err;		bn_sqr_normal(rr->d, a->d, al, tmp->d);	    }	}#else	if (bn_wexpand(tmp, max) == NULL)	    goto err;	bn_sqr_normal(rr->d, a->d, al, tmp->d);#endif    }    rr->top = max;    if ((max > 0) && (rr->d[max - 1] == 0))	rr->top--;    if (rr != r)	BN_copy(r, rr);    ret = 1;  err:    BN_CTX_end(ctx);    return (ret);}/* tmp must have 2*n words */void bn_sqr_normal(BN_ULONG * r, BN_ULONG * a, int n, BN_ULONG * tmp){    int i, j, max;    BN_ULONG *ap, *rp;    max = n * 2;    ap = a;    rp = r;    rp[0] = rp[max - 1] = 0;    rp++;    j = n;    if (--j > 0) {	ap++;	rp[j] = bn_mul_words(rp, ap, j, ap[-1]);	rp += 2;    }    for (i = n - 2; i > 0; i--) {	j--;	ap++;	rp[j] = bn_mul_add_words(rp, ap, j, ap[-1]);	rp += 2;    }    bn_add_words(r, r, r, max);    /* There will not be a carry */    bn_sqr_words(tmp, a, n);    bn_add_words(r, r, tmp, max);}#ifdef BN_RECURSION/* r is 2*n words in size, * a and b are both n words in size.    (There's not actually a 'b' here ...) * n must be a power of 2. * We multiply and return the result. * t must be 2*n words in size * We calculate * a[0]*b[0] * a[0]*b[0]+a[1]*b[1]+(a[0]-a[1])*(b[1]-b[0]) * a[1]*b[1] */void bn_sqr_recursive(BN_ULONG * r, BN_ULONG * a, int n2, BN_ULONG * t){    int n = n2 / 2;    int zero, c1;    BN_ULONG ln, lo, *p;#ifdef BN_COUNT    printf(" bn_sqr_recursive %d * %d\n", n2, n2);#endif    if (n2 == 4) {#ifndef BN_SQR_COMBA	bn_sqr_normal(r, a, 4, t);#else	bn_sqr_comba4(r, a);#endif	return;    } else if (n2 == 8) {#ifndef BN_SQR_COMBA	bn_sqr_normal(r, a, 8, t);#else	bn_sqr_comba8(r, a);#endif	return;    }    if (n2 < BN_SQR_RECURSIVE_SIZE_NORMAL) {	bn_sqr_normal(r, a, n2, t);	return;    }    /* r=(a[0]-a[1])*(a[1]-a[0]) */    c1 = bn_cmp_words(a, &(a[n]), n);    zero = 0;    if (c1 > 0)	bn_sub_words(t, a, &(a[n]), n);    else if (c1 < 0)	bn_sub_words(t, &(a[n]), a, n);    else	zero = 1;    /* The result will always be negative unless it is zero */    p = &(t[n2 * 2]);    if (!zero)	bn_sqr_recursive(&(t[n2]), t, n, p);    else	memset(&(t[n2]), 0, n2 * sizeof(BN_ULONG));    bn_sqr_recursive(r, a, n, p);    bn_sqr_recursive(&(r[n2]), &(a[n]), n, p);    /* t[32] holds (a[0]-a[1])*(a[1]-a[0]), it is negative or zero     * r[10] holds (a[0]*b[0])     * r[32] holds (b[1]*b[1])     */    c1 = (int) (bn_add_words(t, r, &(r[n2]), n2));    /* t[32] is negative */    c1 -= (int) (bn_sub_words(&(t[n2]), t, &(t[n2]), n2));    /* t[32] holds (a[0]-a[1])*(a[1]-a[0])+(a[0]*a[0])+(a[1]*a[1])     * r[10] holds (a[0]*a[0])     * r[32] holds (a[1]*a[1])     * c1 holds the carry bits     */    c1 += (int) (bn_add_words(&(r[n]), &(r[n]), &(t[n2]), n2));    if (c1) {	p = &(r[n + n2]);	lo = *p;	ln = (lo + c1) & BN_MASK2;	*p = ln;	/* The overflow will stop before we over write	 * words we should not overwrite */	if (ln < (BN_ULONG) c1) {	    do {		p++;		lo = *p;		ln = (lo + 1) & BN_MASK2;		*p = ln;	    } while (ln == 0);	}    }}#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性感一区二区三区| 亚洲国产日日夜夜| 制服丝袜在线91| 欧美最新大片在线看 | 精品视频全国免费看| 99精品欧美一区二区三区小说 | 成人国产在线观看| 国产精品亚洲人在线观看| 国产一区激情在线| 国产精品18久久久久久久网站| 国产在线视频精品一区| 国内精品在线播放| 国产成a人亚洲精品| 成人国产精品免费| 99久久国产综合色|国产精品| 99久久er热在这里只有精品66| av网站免费线看精品| 一本一本大道香蕉久在线精品| 91成人在线免费观看| 欧美日韩aaa| 欧美xxxxx裸体时装秀| 久久九九久精品国产免费直播| 日本一区二区免费在线观看视频| 国产亚洲综合av| 国产精品视频免费| 一区二区在线观看不卡| 图片区日韩欧美亚洲| 麻豆成人91精品二区三区| 国产乱码精品一区二区三区av| 成人av在线播放网址| 91久久一区二区| 欧美精品三级在线观看| 26uuu色噜噜精品一区二区| 国产精品入口麻豆原神| 亚洲在线成人精品| 久久91精品国产91久久小草 | 日韩一级片网址| 久久精品欧美日韩精品| 亚洲视频在线一区观看| 午夜欧美在线一二页| 麻豆免费精品视频| 成人a级免费电影| 欧美男生操女生| 久久久久青草大香线综合精品| 136国产福利精品导航| 偷窥少妇高潮呻吟av久久免费| 韩国av一区二区| 91丨九色丨蝌蚪丨老版| 日韩一区二区三区在线| 日本一区二区三级电影在线观看| 亚洲自拍偷拍av| 国模大尺度一区二区三区| 99精品在线观看视频| 欧美大片顶级少妇| 夜夜嗨av一区二区三区中文字幕| 六月丁香婷婷色狠狠久久| 97精品国产露脸对白| 91精品国产欧美一区二区| 国产精品欧美久久久久一区二区| 亚洲精品视频在线观看网站| 久久99精品久久久久婷婷| 一本久久a久久免费精品不卡| 精品免费日韩av| 亚洲一区在线观看免费| 国产成人午夜高潮毛片| 日韩欧美在线一区二区三区| 久久久久9999亚洲精品| 日韩精品亚洲专区| 色综合天天综合狠狠| 久久理论电影网| 午夜电影久久久| 91视频你懂的| 国产精品美女视频| 韩国女主播一区二区三区| 欧美精品日日鲁夜夜添| 亚洲福利电影网| 99精品久久久久久| 欧美激情一区二区三区在线| 蜜桃91丨九色丨蝌蚪91桃色| 欧美亚洲尤物久久| 亚洲女人的天堂| 成人激情小说网站| 久久精品一级爱片| 狠狠色综合日日| 日韩小视频在线观看专区| 亚洲v中文字幕| 在线一区二区视频| 亚洲丝袜制服诱惑| 99久久亚洲一区二区三区青草 | 日韩国产在线观看一区| 欧美伊人久久大香线蕉综合69| 中文字幕一区免费在线观看| 国产成人综合亚洲网站| 久久亚洲一区二区三区明星换脸 | 精彩视频一区二区| 欧美一区二区网站| 亚洲成av人片一区二区三区| 色乱码一区二区三区88| 亚洲欧洲在线观看av| 成人avav影音| 国产精品免费视频一区| 粉嫩欧美一区二区三区高清影视| 国产亚洲一二三区| 成人午夜精品在线| 欧美国产乱子伦| 韩国成人在线视频| 国产日韩欧美精品电影三级在线| 国产伦精品一区二区三区视频青涩 | 欧美日韩国产大片| 午夜欧美2019年伦理| 欧美日韩的一区二区| 天天操天天综合网| 91精品婷婷国产综合久久性色| 亚洲不卡在线观看| 337p亚洲精品色噜噜| 久久99久久精品欧美| 亚洲精品一区二区三区福利| 国产电影一区二区三区| 国产农村妇女毛片精品久久麻豆 | 欧美xxxxx牲另类人与| 久久精品国产色蜜蜜麻豆| 久久久综合视频| 成人精品高清在线| 亚洲男人的天堂网| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 精品国产乱码久久久久久1区2区 | 不卡av电影在线播放| 中文字幕一区在线观看视频| 色哟哟亚洲精品| 日本视频中文字幕一区二区三区| 欧美mv日韩mv| 成人激情动漫在线观看| 一区二区三区国产| 日韩一区二区三区在线视频| 国产成人精品1024| 一区二区三区免费观看| 欧美一区二区日韩一区二区| 国产毛片精品一区| 一区二区三区**美女毛片| 日韩一卡二卡三卡国产欧美| 国产精品一区二区91| 亚洲猫色日本管| 日韩精品一区二区在线观看| 成人av电影在线网| 日本欧美一区二区| 欧美韩国日本一区| 欧美一a一片一级一片| 看片的网站亚洲| 中文字幕在线一区二区三区| 欧美色图天堂网| 国产激情一区二区三区四区| 亚洲欧洲制服丝袜| 精品国产91久久久久久久妲己 | 欧美电影在哪看比较好| 国产精品夜夜嗨| 亚洲国产视频一区二区| 久久久五月婷婷| 欧美三级韩国三级日本三斤| 国产一区 二区 三区一级| 一区av在线播放| 久久精品人人做| 欧美日韩亚洲综合一区| 国产91富婆露脸刺激对白| 亚洲电影在线免费观看| 欧美国产精品一区二区三区| 欧美精品在线观看一区二区| 成人免费的视频| 免费人成精品欧美精品| 亚洲摸摸操操av| 国产网站一区二区| 91麻豆精品国产自产在线 | 在线免费不卡视频| 国产一区二区成人久久免费影院 | 在线观看av一区| 国产成人精品影院| 蜜乳av一区二区三区| 亚洲一区二区影院| 国产精品毛片大码女人 | 精品亚洲国产成人av制服丝袜| 亚洲激情av在线| 国产欧美一区二区三区鸳鸯浴 | 男人的天堂久久精品| 亚洲欧洲精品一区二区精品久久久 | 精品一区在线看| 午夜精彩视频在线观看不卡| 亚洲视频在线观看三级| 2020国产精品| 日韩午夜中文字幕| 欧美三级日本三级少妇99| 粉嫩蜜臀av国产精品网站| 国产综合久久久久久鬼色 | 成人免费视频免费观看| 久久99国产精品免费网站| 午夜精品123| 亚洲成人动漫在线观看| 一区二区三区欧美日| 亚洲色图19p| 中文字幕视频一区二区三区久| www亚洲一区| 精品久久久久久久久久久久久久久|