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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sqr.s

?? flint庫 RSA算法
?? S
字號:
#******************************************************************************#*                                                                            *#* Functions for arithmetic and number theory with large integers in C        *#* Software supplement to the book "Cryptography in C and C++"                *#* by Michael Welschenbach                                                    *#*                                                                            *#* Module sqr.s            Revision: 15.06.2002                               *#*                                                                            *#*  Copyright (C) 1998-2005 by Michael Welschenbach                           *#*  Copyright (C) 2001-2005 by Springer-Verlag Berlin, Heidelberg             *#*  Copyright (C) 2001-2005 by Apress L.P., Berkeley, CA                      *#*  Copyright (C) 2002-2005 by Wydawnictwa MIKOM, Poland                      *#*  Copyright (C) 2002-2005 by PHEI, P.R.China                                *#*  Copyright (C) 2002-2005 by InfoBook, Korea                                *#*  Copyright (C) 2002-2005 by Triumph Publishing, Russia                     *#*                                                                            *#*  All Rights Reserved                                                       *#*                                                                            *#*  The software may be used for noncommercial purposes and may be altered,   *#*  as long as the following conditions are accepted without any              *#*  qualification:                                                            *#*                                                                            *#*  (1) All changes to the sources must be identified in such a way that the  *#*      changed software cannot be misinterpreted as the original software.   *#*                                                                            *#*  (2) The statements of copyright may not be removed or altered.            *#*                                                                            *#*  (3) The following DISCLAIMER is accepted:                                 *#*                                                                            *#*  DISCLAIMER:                                                               *#*                                                                            *#*  There is no warranty for the software contained in this distribution, to  *#*  the extent permitted by applicable law. The copyright holders provide the *#*  software `as is' without warranty of any kind, either expressed or        *#*  implied, including, but not limited to, the implied warranty of fitness   *#*  for a particular purpose. The entire risk as to the quality and           *#*  performance of the program is with you.                                   *#*                                                                            *#*  In no event unless required by applicable law or agreed to in writing     *#*  will the copyright holders, or any of the individual authors named in     *#*  the source files, be liable to you for damages, including any general,    *#*  special, incidental or consequential damages arising out of any use of    *#*  the software or out of inability to use the software (including but not   *#*  limited to any financial losses, loss of data or data being rendered      *#*  inaccurate or losses sustained by you or by third parties as a result of  *#*  a failure of the software to operate with any other programs), even if    *#*  such holder or other party has been advised of the possibility of such    *#*  damages.                                                                  *#*                                                                            *#******************************************************************************#*                                                                            *#*      Squaring, interface compatible with C function sqr_l()                *#*                                                                            *#*      Q := a * a mod M                                                      *#*                                                                            *#*      Stack on calling of sqr:          SP+ 8 ---> Offset q                 *#*                                        SP+ 4 ---> Offset a                 *#*                                        SP    ---> Return address           *#*                                                                            *#*      Return Value : ax = 0                                                 *#*                                                                            *#******************************************************************************#.equ    fct,       0                    # Factor (working memory).equ    prd,     520                    # Square (working memory)#.equ    WORKSP, 1560                    # Working memory in stack area#.text.globl  _sqr_sqr:   pushl   %ebp                    # Store base ptr for caller        movl    %esp,%ebp        subl    $WORKSP, %esp           # Local memory        movl    %esp,%eax        pushl   %ebx        pushl   %edi        pushl   %esi        movl    %eax,%ebx               # Store starting address#        movl    8(%ebp),%esi            # Offset of variable a        movw    (%esi),%dx              # Length l(a)        cmpw    $0,%dx        jnz     .sqr011        jmp     .sqrnul.sqr011: ##>>>>>> Lade Operanden#.sqr02: leal    fct(%ebx),%edi          # Destination offset is a[bx]                  movl    $0,%ecx			                                               movw    %dx,%cx                 # l(a) into cx                         .l1:    cld				                                       rep     movsw                           # Load a in chunks of USHORT into a[bx]        movsw                           #  plus one USHORT        movw    $0,(%edi)##>>>>>> Prepare addressing of local working memory#        pushl   %ebp                    # Store bp        movl    %ebx,%ebp               # Indexed addressing based on ss##>>>>>> Remove leading zeros from operand#        xorl    %eax,%eax        movw    fct(%ebp),%ax           # #USHORTs in ax        cmpw    $0,%ax        je      .end1        shll    %eax                    # #Bytes, index to high-order digit        movl    %eax,%esi.l2:    cmpw    $0,fct(%ebp,%esi)       # digit = 0 ?                        jne     .l3                     # If not, then we're done            subl    $2,%esi                 # Else: step back one USHORT         cmpl    $0,%esi                 # Index = 0?                         je      .mazer1                 # Then argument = 0                  jmp     .l2                     # Compare next digit         .l3: .mazer1: 	shrl    %esi                    # #USHORTS        movl    %esi,%eax               # Get base address of oeperand        movw    %ax,fct(%ebp)           # Store number of digits.end1:  cmpw    $0,%ax        jne     .sqrmul        popl    %ebp        jmp     .sqrnul###>>>>>> Beginn der Quadrierung##----->  Arbeitsfeld initialisieren#.sqrmul: 	movl    $0,%ecx        movw    fct(%ebp),%cx           # l(f)        shrw    %cx        jnc     .l4        incw    %cx.l4:    cmpw    $1,%cx        jne     ._sqr09        jmp     ._xrgsq                 # If l(f)=1 do squaring in registers._sqr09: 	movl    $0,%eax        movl    $2,%esi                 # Prepare index i._sqr10: 	movl    %eax,prd(%ebp,%esi)        addl    $4,%esi        loop    ._sqr10##-----> Outer loop#        movl    $2,%esi                 # Prepare index i        movl    $0,%ecx        movw    fct(%ebp),%cx           # Counter outer loop        shrw    %cx        jc      ._sqr11        decw    %cx                     # in cx = l(a)-1._sqr11: 	pushl   %ecx                    # Store counter##-----> Innere Schleife#        movl    %esi,%edi               # index j=i+4        addl    $4,%edi        xorl    %ecx,%ecx        movw    fct(%ebp),%cx           # Counter inner loop        shrw    %cx        jnc     .l5        incw    %cx.l5:    pushl   %esi        addl    $2,%esi        shrl    $2,%esi        subl    %esi,%ecx        popl    %esi                    # cx = l(a)-i        movl    $0,%edx                 # Dummy carry        movl    fct(%ebp,%esi),%ebx     # Load a[i]        addl    %edi,%esi               # Product index i+j._sqr12: 	pushl   %ecx                    # Store counter        movl    %edx,%ecx               # Carry u in edx        movl    %ebx,%eax        mull    fct(%ebp,%edi)        addl    %ecx,%eax               # ax + u        adcl    $0,%edx        addl    %eax, prd-2(%ebp,%esi)  # q[i+j-1]= ax + q[i+j-1]        adcl    $0,%edx                 # new carry u in dx        addl    $4,%edi                 # j=j+4        addl    $4,%esi                 # i+j=i+j+4        popl    %ecx                    # Get counter inner loop        loop    ._sqr12##-----> End inner loop#        movl    %edx,prd-2(%ebp,%esi)   # q[i+j-1]=u        subl    %edi,%esi               # Restore i        addl    $4,%esi                 # i=i+4        popl    %ecx                    # Get counter outer loop        loop    ._sqr11##-----> End outer loop#        addl    %edi,%esi        movl    $0,prd-2(%ebp,%esi)        movl    $0,prd+2(%ebp,%esi)##-----> Multiply intermediate result by 2#        movl    $6,%esi                 # First word is zero         xorl    %ecx,%ecx        movw    fct(%ebp),%cx._xsll:         rcll    $1,prd(%ebp,%esi)       # Shift q in chunks of ULONG        incl    %esi        incl    %esi        incl    %esi        incl    %esi        loop    ._xsll##-----> Add squares to intermediate result q#.xsle:  movw    fct(%ebp),%cx.l6:    shlw    %cx        movw    %cx,prd(%ebp)        movl    $2,%esi        movl    $2,%edi        movw    fct(%ebp),%cx           # l(a) is counter        shrw    %cx        jnc     .l7        incw    %cx.l7:    xorl    %eax,%eax        pushf                           # Dummy carry._sqr20: 	movl    fct(%ebp,%esi),%eax        mull    %eax                    # ax = lo, dx = hi        popf        adcl    %eax, prd(%ebp,%edi)        adcl    %edx, prd+4(%ebp,%edi)        pushf        addl    $4,%esi        addl    $8,%edi        loop    ._sqr20        popf                            # Adjust stack pointer        jmp     ._sqr20a##-----> Squaring in registers in case of l(a) = 1#._xrgsq: 	movl    fct+2(%ebp),%eax        mull    %eax        movl    %eax, prd+2(%ebp)        movl    %edx, prd+6(%ebp)        movw    $4,prd(%ebp)##-----> Determine length of remainder#._sqr20a:         xorl    %eax,%eax        movw    prd(%ebp),%ax        movl    %eax,%edi        shll    %edi        cmpw    $0,prd(%ebp,%edi)        jnz     ._sqr60        decw    prd(%ebp)        jmp     ._sqr20a##-----> Store square#._sqr60: 	leal    prd(%ebp),%esi        movl    %ebp,%ebx        popl    %ebp        movl    12(%ebp), %edi        movl    $0,%ecx        movw    (%esi),%cx        shrw    %cx        jnc     .l8        incw    %cx.l8:    cmpw    $0,%cx        je      .l9        cldrep     movsl.l9:    movsw##*******************************************************************************#       Security: Purge stack.sqrret: 	movl    %ebx,%edi        movl    $(WORKSP-4)/4, %ecx        cld        movl    $0,%eax                 # Return-Value = 0: OKrep     stosl                           # Overwrite with 0#*******************************************************************************#        popl    %esi        popl    %edi        popl    %ebx        movl    %ebp,%esp        popl    %ebp        ret#.sqrnul: 	movl    12(%ebp), %esi        movw    $0,(%esi)        jmp     .sqrret#

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉的 | 成人一区二区在线观看| 国产精品视频一二三区| 欧美日精品一区视频| 国内一区二区视频| 五月天激情综合网| 国产精品理论片| 欧美α欧美αv大片| 色哟哟亚洲精品| 国产高清精品网站| 天天爽夜夜爽夜夜爽精品视频| 国产欧美精品一区aⅴ影院| 欧美挠脚心视频网站| 91欧美一区二区| 丁香啪啪综合成人亚洲小说| 日韩激情一区二区| 依依成人综合视频| 国产精品久久久久国产精品日日| 欧美成va人片在线观看| 欧美午夜免费电影| 91首页免费视频| 成人免费黄色大片| 国产一区二区在线影院| 日韩国产在线观看| 午夜伊人狠狠久久| 亚洲一区二区三区在线看| 综合久久国产九一剧情麻豆| 国产三级精品视频| 久久久久久久久99精品| 亚洲精品一区在线观看| 777色狠狠一区二区三区| 欧美优质美女网站| 91小视频在线| 91美女视频网站| 91免费版在线| 欧美在线短视频| 欧美三级中文字幕| 欧美日韩一区二区电影| 欧美视频完全免费看| 欧美视频在线一区二区三区 | aaa欧美日韩| va亚洲va日韩不卡在线观看| 成人午夜激情视频| aa级大片欧美| 欧美性xxxxxxxx| 91精品国产综合久久精品app| 欧美狂野另类xxxxoooo| 91麻豆精品国产91久久久久久久久| 欧美日韩国产一区| 91精品国产麻豆| 久久伊人蜜桃av一区二区| 久久久久综合网| 国产精品护士白丝一区av| 日韩美女视频19| 亚洲一区二区三区四区五区中文| 亚洲成人av在线电影| 日韩精品一二三四| 精品一区二区av| 不卡一区在线观看| 在线免费一区三区| 欧美一区日韩一区| 久久久高清一区二区三区| 中文一区二区在线观看| 一区二区三区在线视频免费| 性感美女久久精品| 国模无码大尺度一区二区三区| 高清在线成人网| 91久久精品一区二区三区| 欧美性大战久久久久久久| 日韩免费高清视频| 国产精品久久久久久一区二区三区| 亚洲另类中文字| 久久国内精品自在自线400部| 国产精品亚洲视频| 91看片淫黄大片一级| 91精品国产欧美一区二区18| 久久久久久久国产精品影院| 亚洲欧美日韩综合aⅴ视频| 日本aⅴ精品一区二区三区| 国产a精品视频| 欧美日韩日日摸| 久久久av毛片精品| 亚洲国产一区二区三区青草影视| 精品在线你懂的| 欧美亚洲高清一区| 久久久亚洲精华液精华液精华液| 亚洲乱码中文字幕| 韩国v欧美v日本v亚洲v| 精品污污网站免费看| 国产午夜三级一区二区三| 亚洲午夜三级在线| 成人免费视频caoporn| 日韩一区二区三区视频在线| 欧美国产欧美综合| 男女男精品视频| 色婷婷久久综合| 久久午夜国产精品| 香蕉乱码成人久久天堂爱免费| 国产不卡一区视频| 欧美一激情一区二区三区| 亚洲视频图片小说| 国产精品自在在线| 欧美一区二区福利视频| 亚洲男女一区二区三区| 国产很黄免费观看久久| 777亚洲妇女| 亚洲电影你懂得| 91在线国产观看| 国产欧美日本一区视频| 日韩电影免费在线看| 在线视频中文字幕一区二区| 国产亚洲综合色| 久久99国产精品免费网站| 欧美日韩精品一区二区在线播放| 中文字幕亚洲成人| 国产黄色91视频| 2014亚洲片线观看视频免费| 日韩电影在线观看电影| 欧美日韩亚洲高清一区二区| 亚洲乱码中文字幕综合| av一二三不卡影片| 国产精品福利影院| 成人精品gif动图一区| 久久久久久影视| 精品无人区卡一卡二卡三乱码免费卡| 欧美三级欧美一级| 一区二区在线观看视频| 91亚洲精品一区二区乱码| 国产精品第一页第二页第三页| 国产高清精品在线| 国产日韩av一区二区| 国产电影精品久久禁18| 国产午夜亚洲精品理论片色戒| 狠狠狠色丁香婷婷综合激情| 精品国内二区三区| 国产一区三区三区| 久久亚洲影视婷婷| 国产99久久久久| 欧美激情资源网| 成人av在线资源网站| 国产精品福利一区二区三区| 91天堂素人约啪| 亚洲自拍都市欧美小说| 在线观看亚洲一区| 天天影视网天天综合色在线播放| 欧美一区二区视频免费观看| 秋霞午夜av一区二区三区| 精品国产乱码久久久久久老虎| 国产真实乱子伦精品视频| 久久女同精品一区二区| 成人丝袜高跟foot| 亚洲欧美电影院| 欧美三级在线播放| 麻豆精品在线看| 国产日韩欧美a| 91片黄在线观看| 日韩中文字幕1| 久久久久久久性| 色婷婷久久久久swag精品| 亚洲成人7777| www欧美成人18+| av电影在线观看不卡| 亚洲福利视频一区| 欧美mv日韩mv国产网站| 成人免费av网站| 亚洲电影在线免费观看| 精品国产乱码久久久久久1区2区 | 欧美日韩性生活| 国内精品视频666| 最新成人av在线| 4438x成人网最大色成网站| 国产精品资源在线| 亚洲一卡二卡三卡四卡无卡久久| 欧美剧在线免费观看网站| 国产精品综合一区二区| 亚洲一区在线观看网站| 26uuu亚洲综合色| 91免费在线看| 国产一区二区视频在线播放| 亚洲欧洲制服丝袜| 精品久久久久一区二区国产| 96av麻豆蜜桃一区二区| 久久国产精品99精品国产| 国产精品成人一区二区三区夜夜夜| 欧美视频中文字幕| 成人激情黄色小说| 日韩经典一区二区| 亚洲男人的天堂在线观看| 精品久久久久久综合日本欧美| 一本在线高清不卡dvd| 国产做a爰片久久毛片| 亚洲精品乱码久久久久久黑人 | 欧美精品99久久久**| 懂色av噜噜一区二区三区av| 日本在线观看不卡视频| 一区二区三区中文字幕精品精品| 久久久国产午夜精品 | 欧美国产禁国产网站cc| 777a∨成人精品桃花网| 日本电影亚洲天堂一区|