www.pudn.com > serpent.rar > submission.ps
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: submission.dvi
%%Pages: 6
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentPaperSizes: A4
%%EndComments
%DVIPSCommandLine: dvips submission
%DVIPSParameters: dpi=600, compressed, comments removed
%DVIPSSource: TeX output 1998.06.10:2009
%%BeginProcSet: texc.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (submission.dvi)
@start /Fa 8 58 df48 D<130C133C137CEA03FC12FFEAFC
7C1200B3B113FE387FFFFEA2172C7AAB23>II<140EA2141E143EA2147E14FE
A2EB01BE1303143E1306130E130C131813381330136013E013C0EA018012031300120612
0E120C5A123812305A12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>52
D<000CEB0180380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF838
0DE07C380F801F01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB
07E012E0006014C00070130F6C14806CEB1F006C133E380780F83801FFE038007F801C2D
7DAB23>II56
DI E /Fb 24 125 df12 D<007FB5FCB6FCA214FEA21805789723>45
D<91B912C0A30201902680000313806E90C8127F4A163F191F4B150FA30203EE07005DA3
14074B5D190EA2140F4B1307A25F021F020E90C7FC5DA2171E023F141C4B133C177C17FC
027FEB03F892B5FCA39139FF8003F0ED00011600A2495D5CA2160101034B13705C19F061
010791C8FC4A1501611803010F5F4A150796C7FC60131F4A151E183E183C013F167C4A15
FC4D5A017F1503EF0FF04A143F01FF913803FFE0B9FCA26042447AC342>69
D<91B91280A30201902680000713006E90C8FC4A163FA24B81A30203160E5DA314074B15
1E191CA2140F5D17075F021F020E90C7FC5DA2171E023F141C4B133CA2177C027F5CED80
0392B5FCA291B65AED00071601A2496E5A5CA2160101035D5CA2160301075D4A90CAFCA3
130F5CA3131F5CA3133F5CA2137FA313FFB612E0A341447AC340>I83 D97 D
99 DIII<15FCEC03FF91390F83838091393E01CFC091387C00EF4A13FF4948137F01
0315804948133F495A131F4A1400133F91C75A5B167E13FE16FE1201495CA21501120349
5CA21503A2495CA21507A25EA2150F151F5E0001143F157F6C6C13FF913801DF8090387C
039F90383E0F3FEB0FFCD903F090C7FC90C7FC5DA2157EA215FEA25DA2001C495A127F48
495A14074A5A485C023FC8FC00F8137E387C01F8381FFFE0000390C9FC2A407BAB2D>I<
14FE137FA3EB01FC13001301A25CA21303A25CA21307A25CA2130FA25CA2131FA25C157F
90393F83FFC091388F81F091381E00F802387F4948137C5C4A137EA2495A91C7FCA25B48
4814FE5E5BA2000314015E5BA2000714035E5B1507000F5DA249130F5E001F1678031F13
70491480A2003F023F13F0EE00E090C7FC160148023E13C01603007E1680EE070000FEEC
1E0FED1F1E48EC0FF80038EC03E02D467AC432>I<143C147E14FE1301A3EB00FC147014
00AE137C48B4FC3803C780380703C0000F13E0120E121C13071238A21278EA700F14C013
1F00F0138012E0EA003F1400A25B137EA213FE5B12015BA212035B141E0007131C13E0A2
000F133CEBC038A21478EB807014F014E0EB81C0EA0783EBC7803803FE00EA00F8174378
C11E>I<14FE137FA3EB01FC13001301A25CA21303A25CA21307A25CA2130FA25CA2131F
A25C167E013F49B4FC92380783C09138000E07ED3C1F491370ED603F017E13E0EC01C090
26FE03801380913907000E00D9FC0E90C7FC5C00015B5C495AEBF9C03803FB8001FFC9FC
A214F03807F3FCEBF07F9038E01FC06E7E000F130781EBC003A2001F150FA20180140EA2
003F151E161C010013E0A2485DA2007E1578167000FE01015B15F1489038007F80003802
1FC7FC2A467AC42D>107 DI110 DII114
DI<1470EB01F8A313
035CA313075CA3130F5CA3131F5CA2007FB512E0B6FC15C0D8003FC7FCA25B137EA313FE
5BA312015BA312035BA312075BA3120F5BA2EC0780001F140013805C140E003F131EEB00
1C143C14385C6C13F0495A6C485AEB8780D807FEC7FCEA01F81B3F78BD20>I<017CEE03
8048B4020EEB0FC02603C780013FEB1FE0380703C0000E7F5E001C037E130F0107160712
3804FE130300785DEA700F4A1501011F130100F001804914C012E0EA003FDA000314034C
14805B137E0307140701FE1700495CA2030F5C0001170E495CA260A24848495A60A26012
01033F5C7F4B6C485A000002F713036D9039E7E0078090267E01C349C7FC903A1F0781F8
1E903A0FFF007FF8D901FCEB0FE03B2D78AB41>119 D<137C48B414072603C780EB1F80
380703C0000F7F000E153F001C1600130712385E0078157EEA700F5C011F14FE00F0495B
12E0EA003FEC00015E5B137E150301FE5C5BA2150700015D5BA2150F00035D5BA2151F5E
A2153F12014BC7FC6D5B00005BEB7C0390383E0F7EEB1FFEEB03F090C712FE5DA214015D
121F397F8003F0A24A5A4848485A5D48131F00F049C8FC0070137E007813F8383801F038
1E07C06CB4C9FCEA01FC294078AB2F>121 D124
D E /Fc 47 123 df12 D
14 D46
D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600
7FB712FEA52F4E76CD43>49 DI<91380FFFC091B512
FC0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680
D807FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C1300
5FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E00301
13F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0F
F8487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A
1380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD900
1F1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA2
5D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E14
7C5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC12
3E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>III<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C808304
7F80167E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F8116
8083033F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844AB87E
A24A83A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A820107
85A24A82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
DI<932601FFFCEC01C0047F
D9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7
383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982
4949824990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA2
98C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D
606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D
6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F
93C8FC030715FCDB007F14E0040101FCC9FC525479D261>III73 D75 D77 D<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013
FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49
496F7F49496F7F4990C96C7F49854948707F4948707FA24849717E48864A83481B804A83
481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F
6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D
6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F002
0F01FC90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E0565479D265
>79 D
I82 D<91260FFF80130791B5
00F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5
FC4848C87E48488149150F001F824981123F4981007F82A28412FF84A27FA26D82A27F7F
6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C83
6C836D826D82010F821303010082021F16801400030F15C0ED007F040714E01600173F05
0F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D
5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7
FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>I<003FBC1280A59126C0003F
9038C0007F49C71607D87FF8060113C001E08449197F49193F90C8171FA2007E1A0FA300
7C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A553517BD05E>I87 D97 DI<913801FFF8021FEBFF8091B612F0
010315FC010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A
485BA2486F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F
17076C6D15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038
E01FF0010390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5
EE001F1707B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7
D97FFC0101B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127F
A36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF8090
3A0FFFC07FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<91
3803FFC0023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849
130F48496D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA3
18E049CAFCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D14
1F6C6DEC3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49
C7FC020113F034387CB63D>IIII<137F497E000313E0487FA2487FA76C5BA26C5BC613806D
C7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I107 DIII<913801FF
E0021F13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D
7F48496D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18
C0AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B
6D6C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E0
3A387CB643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7
F8007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F
85A4721380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03
F0EBFFFC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5
414D7BB54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83F
FC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7
FCA55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB
003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FC
EBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C013000207
14E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F
6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601
F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A
000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC0
3E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>IIII<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC
07F86D6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C
485A6EEB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92
B5FCDA01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F
4A6D7F495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB4
47>II<001FB8FC1880A3912680007F130001FCC7B5FC01F0
495B495D49495B495B4B5B48C75C5D4B5B5F003E4A90C7FC92B5FC4A5B5E4A5B5CC7485B
5E4A5B5C4A5B93C8FC91B5FC495B5D4949EB0F805B495B5D495B49151F4949140092C7FC
495A485E485B5C485E485B4A5C48495B4815074849495A91C712FFB8FCA37E31357CB43C
>I E /Fd 78 124 df<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC0007
7E07E0D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE0
4991393FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9
FC0FB512E0A33C467EC539>11 D<4AB4FC020F13E091387F80F8903901FC001C49487FD9
07E0130F4948137F011FECFF80495A49C7FCA25B49EC7F00163E93C7FCACEE3F80B8FCA3
C648C7FC167F163FB3B0486CEC7FC0007FD9FC1FB5FCA330467EC536>I14 D<001EEB03C0397F800FF000FF131F01C013F8A201E013FCA3007F
130F391E6003CC0000EB000CA401E0131C491318A3000114384913300003147090C71260
4814E0000614C0000E130148EB038048EB070048130E0060130C1E1D7DC431>34
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
1206120E5A5A5A12600B1D78C41B>39 D<140C141C1438147014E0EB01C01303EB0780EB
0F00A2131E5BA25B13F85B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA412
7CA312FCB3A2127CA3127EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13
787FA27F7FA2EB0780EB03C01301EB00E014701438141C140C166476CA26>I<12C07E12
707E7E7E120F6C7E6C7EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0
A3EB03E0A314F0A21301A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3
EB07C0A3EB0F80A3EB1F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E
5A5A5A5A5A16647BCA26>I<16C04B7EB3AB007FBAFCBB1280A26C1900C8D801E0C9FCB3
AB6F5A41407BB84C>43 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0
A312011380120313005A1206120E5A5A5A12600B1D78891B>II<
121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A78891B>I<1618163C167CA2167816F8A2
16F01501A216E01503A216C01507A21680150FA2ED1F00A2151E153EA2153C157CA21578
15F8A25D1401A24A5AA25D1407A25D140FA292C7FC5CA2141E143EA2143C147CA25CA25C
1301A25C1303A25C1307A25C130FA291C8FC5BA2133EA2133C137CA2137813F8A25B1201
A25B1203A2485AA25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A126026
647BCA31>I<14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F4848
EB07C04848EB03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FF
B3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D13
0F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131>
I<143014F013011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3204278
C131>II<49B4FC010F13E0013F13FC
9038FE01FE3A01F0007F80D803C0EB3FC048C7EA1FE0120EED0FF0EA0FE0486C14F8A215
077F5BA26C48130FEA03C0C813F0A3ED1FE0A2ED3FC01680ED7F0015FE4A5AEC03F0EC1F
C0D90FFFC7FC15F090380001FCEC007FED3F80ED1FC0ED0FE016F0ED07F816FC150316FE
A2150116FFA3121EEA7F80487EA416FE491303A2007EC713FC00701407003015F8003814
0F6C15F06CEC1FE06C6CEB3FC0D803E0EB7F803A01FE01FE0039007FFFF8010F13E00101
90C7FC28447CC131>II<000615C0D807C0130701FCEB7F8090B612005D5D5D
15E0158026063FFCC7FC90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807
C07F49EB1F8016C090C7120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA4
16F890C712075A006015F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C
6C13FE6C6C485A3901F807F039007FFFE0011F90C7FCEB07F826447BC131>II<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030
151C00705D0060153016705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E0
4A5AA24A5A140792C8FC5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A613
0FAA6D5AEB01C02A457BC231>I<14FF010713E0011F13F890387F00FE01FC133FD801F0
EB1F804848EB0FC049EB07E00007EC03F048481301A290C713F8481400A47FA26D130116
F07F6C6CEB03E013FC6C6CEB07C09039FF800F806C9038C01F006CEBF03EECF87839007F
FEF090383FFFC07F01077F6D13F8497F90381E7FFFD97C1F1380496C13C02601E00313E0
48486C13F000079038007FF84848EB3FFC48C7120F003EEC07FE150148140016FF167F48
153FA2161FA56C151E007C153EA2007E153C003E157C6C15F86DEB01F06C6CEB03E06C6C
EB07C0D803F8EB1F80C6B4EBFF0090383FFFFC010F13F00101138028447CC131>I<14FF
010713E0011F13F890387F80FC9038FC007E48487F4848EB1F804848EB0FC0000FEC07E0
485AED03F0485A16F8007F140190C713FCA25AA216FE1500A516FFA46C5CA36C7E5D121F
7F000F5C6C6C1306150E6C6C5B6C6C5BD8007C5B90383F01E090390FFF80FE903801FE00
90C8FC150116FCA4ED03F8A216F0D80F801307486C14E0486C130F16C0ED1F80A249EB3F
0049137E001EC75A001C495A000F495A3907E01FE06CB51280C649C7FCEB1FF028447CC1
31>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121EEA7F80A2EAFFC0A4EA7F
80A2EA1E000A2B78AA1B>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121E12
7FEAFF80A213C0A4127F121E1200A512011380A3120313005A1206120E120C121C5A5A12
600A3E78AA1B>I64 D<16C04B7EA34B7EA34B7E
A34B7EA3ED19FEA3ED30FFA203707FED607FA203E07FEDC03FA2020180ED801FA2DA0300
7F160FA20206801607A24A6D7EA34A6D7EA34A6D7EA20270810260147FA202E08191B7FC
A249820280C7121FA249C87F170FA20106821707A2496F7EA3496F7EA3496F7EA2017883
13F8486C83D80FFF03037FB500E0027FEBFFC0A342477DC649>IIIIIIIII<010FB512FEA3D900031380
6E130080B3B3AB123F487E487EA44A5A13801300006C495A00705C6C13076C5C6C495A6C
EB1F802603E07FC7FC3800FFFCEB1FE027467BC332>IIIIIIIII<49B41303010FEBE007013F13F890
39FE00FE0FD801F8131FD807E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82
127C00FC81A282A37E82A27EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE0
6C14FC6C14FF6C15C0013F14F0010F80010180D9001F7F14019138001FFF03031380816F
13C0167F163F161F17E000C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D
6D147ED8FBC05CD8F9F0495AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0
003FF02B487BC536>I<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048
187C0078183CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA3
3F447DC346>IIII<003FB500E0011FB5FCA3C691C7000713E0D93FFC020190C7FC6D4815FC010F6F5A
6D6C15E0A26D6C4A5A6D6C5D4DC8FC6D6D5B6E6C13065F6E6C131C6E6C13185F6E6C1370
6E6C13605F913803FE01DA01FF5B4CC9FC6E1387ED7FC616CCED3FFC6F5A5E6F7E6F7EA2
6F7E82A203067F150E92380C7FC04B6C7E15389238301FF04B6C7E15E04B6C7E4A486C7E
14034B6C7E02066D7F140E020C6E7E4A6E7E143802306E7E4A6E7E14E04A6E7E49486E7E
130349C86C7E496F7F5B496C8201FF83000701E0020313F8B500F8021FEBFFF0A344447E
C349>I<01C01318000114384848137048C712E0000EEB01C0000C1480001C1303001814
0000385B003013060070130E0060130CA300E0131C481318A400CFEB19E039FFC01FF801
E013FCA3007F130FA2003F130701C013F8390F0001E01E1D71C431>92
D<13C01201EA0380EA0700120E120C121C12181238123012701260A312E05AA412CFEAFF
C013E0A3127FA2123F13C0EA0F000B1D79C41B>96 DIII<167FED3FFFA315
018182B3EC7F80903803FFF090380FC07C90383F000E017E1307496D5AD803F87F48487F
5B000F81485AA2485AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B0003
5C6C6C9038077F806C6C010E13C0013F011C13FE90380FC0F8903803FFE09026007F0013
002F467DC436>IIIIII<143C14FFA249
1380A46D1300A2143C91C7FCADEC7F80EB3FFFA31300147F143FB3B3AA123E127F39FF80
7F00A2147EA25C6C485A383C01F06C485A3807FF80D801FEC7FC195785C21E>II<
EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315457DC41C>II<3901FC01FE00FF9038
07FFC091381E07F091383801F8000701707F0003EBE0002601FDC07F5C01FF147F91C7FC
A25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7DAB36>II<3901FC03FC00FF90380FFF8091383C07E091387001F83A07FDE000FE
00010180137F01FFEC3F8091C7EA1FC04915E049140F17F0160717F8160317FCA3EE01FE
ABEE03FCA3EE07F8A217F0160F6D15E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF0
03F891383C0FE091381FFF80DA03FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I<9138
7F8003903903FFE00790380FE07890393F801C0F90387E000E496D5AD803F8EB039F0007
EC01BF4914FF48487F121F5B003F81A2485AA348C8FCAB6C7EA3123F7F121F6D5C120F6D
5B12076C6C5B6C6C497E6C6C130E013F131C90380FC0F8903803FFE09038007F0091C7FC
AEEEFF80033F13FEA32F3F7DAB33>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0
FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26
>I<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C1478127800
F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C614
F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C15786C
14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306A513
0EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA017E13
1C017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E7EBC
26>II
IIII<003FB612E0A290
38C0003F90C713C0003CEC7F800038ECFF00A20030495A0070495AA24A5A0060495AA24A
5A4A5AA2C7485A4AC7FC5B5C495A13075C495A131F4A1360495A495AA249C712C0485AA2
485A485A1501485A48481303A24848EB07804848131F00FF14FF90B6FCA2232B7DAA2B>
II E /Fe 29 122 df<94387FFF80041FB512F04BB612FC030F81
037F6F7E4AB5D8E0077F4A49C76C7E020F01F0EC1FF04A01C0147F4A90C8487E4A485C4A
484A7F49495C495BA2495B4E7F49705B5DA3725B725B725B735A96C9FCAB0503B512FEBB
FCA6D8000F01E0C7120184B3B3AF003FB6D8F803B71280A651657DE45A>12
D46 D<913801FFF8021FEBFFC091B612F8010315FF010F16
C0013F8290267FFC0114F89027FFE0003F7F4890C7000F7F48486E7FD807F86E14804848
6E14C048486E14E048486F13F001FC17F8486C816D17FC6E80B56C16FE8380A219FFA283
A36C5BA26C5B6C90C8FCD807FC5DEA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B5
12C019804C14004C5B604C5B4C5B604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8
FC4B5AED1FF84B5A4B5A4B48143F4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC
02FE16FE495A495A4948ED01FCD90FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABA
FCA219F0A4405E78DD51>50 D65 DI<4DB5ED03C0057F02F014070407B600FE140F04
7FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A
02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B54882
490280824991CB7E49498449498449498449865D49498490B5FC484A84A2484A84A24891
CD127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C
7FA37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D
6D4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E
02C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F91B648C8FC03
0117F86F6C16E004071680DC007F02F8C9FC050191CAFC626677E375>II73 D77
D80 D83
D<913803FFFE027FEBFFF00103B612FE010F6F7E4916E090273FFE001F7FD97FE001077F
D9FFF801017F486D6D7F717E486D6E7F85717FA2717FA36C496E7FA26C5B6D5AEB1FC090
C9FCA74BB6FC157F0207B7FC147F49B61207010F14C0013FEBFE004913F048B512C04891
C7FC485B4813F85A5C485B5A5CA2B55AA45FA25F806C5E806C047D7F6EEB01F96C6DD903
F1EBFF806C01FED90FE114FF6C9027FFC07FC01580000191B5487E6C6C4B7E011F02FC13
0F010302F001011400D9001F90CBFC49437CC14E>97 D<92380FFFF04AB67E020F15F002
3F15FC91B77E01039039FE001FFF4901F8010113804901E0010713C04901804913E0017F
90C7FC49484A13F0A2485B485B5A5C5A7113E0485B7113C048701380943800FE0095C7FC
485BA4B5FCAE7EA280A27EA2806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C
6D150F6D6DEC1FC06D01E0EC7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091
B512F0023F5D020F1580020102FCC7FCDA000F13C03E437BC148>99
DI<
92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9FE037F499039F0007FFF01
1F01C0011F7F49496D7F4990C76C7F49486E7F48498048844A804884485B727E5A5C4871
7EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA67EA380A27EA27E6E160FF11F806C
183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D4A5A6D01E04A5A6D6DEC3FE00103
01FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15F8020715E0020092C8FC030713F0
41437CC14A>I103 D<903807FF80B6FCA6C6FC7F7F
B3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F922781FE001F7FDB83F86D
7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA25DA45DB3B2B7D8F007
B71280A651647BE35A>II<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>108
D<902607FF80D91FFFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B6
12F84C6F488193267FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026
F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEE
FDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB6
12FCA67E417BC087>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267F
E07F7F922781FE001F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC
8003FC825DA25DA25DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC
020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D
7F4990C87F49486F7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A3
48496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19
E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13
E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>
I<902607FF80EBFFF8B6010FEBFF80047F14F00381B612FC038715FF038F010114C09227
BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13C0A2
7313E0A27313F0A21BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611BC06F
92B512801B006F5C6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A03C7
B648C7FC03C115F803C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC05A>
I114 D<913A3FFF8007800107B5EAF81F011FEC
FE7F017F91B5FC48B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F
49153FA212FF171FA27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C0
6C16F06C826C826C826C82013F1680010F16C01303D9007F15E0020315F0EC001F150004
1F13F81607007C150100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D
16C001FEEDFF806D0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8
007F49C7FC48010F13E035437BC140>II<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3
A260A360A2607F60183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D
91B55A6E1500021F5C020314F8DA003F018002F0C7FC51427BC05A>II121 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
%%EndSetup
%%Page: 1 1
1 0 bop 324 548 a Fe(Co)l(v)l(er)52 b(Sheet)374 761 y
Fd(Name)32 b(of)g(submitted)g(algorithm)352 b(:)99 b(SERPENT)374
1002 y(Principal)30 b(submitter)787 b(:)99 b(Ross)33
b(J.)g(Anderson)2118 1242 y(T)-8 b(el:)33 b(+44)f(1223)f(334733)2118
1363 y(F)-8 b(ax:)33 b(+44)f(1223)f(334678)2118 1483
y(email:)g(Ross.Anderson@cl.cam.ac.uk)2118 1604 y(URL:)i
(www.cl.cam.ac.uk/users/rja14)2118 1844 y(Univ)m(ersit)m(y)h(of)e(Cam)m
(bridge)2118 1965 y(Computer)h(Lab)s(oratory)2118 2085
y(P)m(em)m(brok)m(e)i(Street)2118 2205 y(Cam)m(bridge)d(CB2)h(3QG)2118
2326 y(England)374 2567 y(Auxiliary)d(submitters)737
b(:)99 b(Eli)32 b(Biham)1992 2687 y(:)99 b(Lars)33 b(R)f(Kn)m(udsen)374
2928 y(In)m(v)m(en)m(tors,)j(and)d(o)m(wners)i(of)e(the)h(paten)m(t)374
3048 y(application)d(for)i(the)h(algorithm)382 b(:)99
b(Ross)33 b(J.)g(Anderson)1992 3169 y(:)99 b(Eli)32 b(Biham)1992
3289 y(:)99 b(Lars)33 b(R.)g(Kn)m(udsen)374 3530 y(Signature)374
4252 y(Ross)g(J.)f(Anderson)p eop
%%Page: 2 2
2 1 bop 324 548 a Fe(2.B.)71 b(Algorithm)h(Sp)t(eci\014cation)h(and)f
(Supp)t(orting)324 731 y(Do)t(cumen)l(tation)324 979
y Fc(2.B.1)45 b(W)-11 b(ritten)46 b(sp)t(eci\014cation)324
1163 y Fd(This)39 b(is)g(con)m(tained)h(in)e(the)i(attac)m(hed)h(pap)s
(er)e(\\Serp)s(en)m(t:)58 b(A)40 b(Prop)s(osal)e(for)h(the)h(Ad-)324
1284 y(v)-5 b(anced)39 b(Encryption)g(Standard)f(of)g(whic)m(h)h(an)f
(initial)d(v)m(ersion)k(\(en)m(titled)f(\\Serp)s(en)m(t:)324
1404 y(A)27 b(new)i(blo)s(c)m(k)e(cipher)h(prop)s(osal"\))e(app)s
(eared)i(in)f Fb(F)-7 b(ast)29 b(Softwar)-5 b(e)30 b(Encryption)g(|)g
(pr)-5 b(o-)324 1525 y(c)g(e)g(e)g(dings)28 b(of)i(\014fth)g
(international)f(workshop)p Fd(,)e(Springer)g(Lecture)h(Notes)g(in)f
(Computer)324 1645 y(Science)33 b(v)g(1372)f(pp)h(222{238)324
1934 y Fc(2.B.2)45 b(Computational)i(e\016ciency)324
2119 y Fd(Computational)24 b(e\016ciency)k(estimates)f(are)f(included)h
(in)f(the)h(pap)s(er.)42 b(W)-8 b(e)27 b(summarise)324
2239 y(them)32 b(here.)443 2467 y(1.)49 b(The)32 b(n)m(um)m(b)s(er)g
(of)f(cycles)h(required)g(to)g(encrypt)g(or)g(decrypt)g(is)f(indep)s
(enden)m(t)i(of)568 2588 y(the)k(k)m(ey)i(size;)g(all)c(k)m(eys)k
(shorter)f(than)f(256)f(bits)h(are)g(padded)h(to)e(that)h(length)568
2708 y(and)32 b(used)i(as)f(a)f(256)g(bit)g(k)m(ey)-8
b(.)443 2911 y(2.)49 b(It)41 b(tak)m(es)i(ab)s(out)e(1830{1940)e
(instructions)j(to)f(encrypt)i(128)d(bits)h(using)h(Ser-)568
3032 y(p)s(en)m(t.)j(The)34 b(exact)g(\014gure)g(dep)s(ends)g(on)f(the)
h(pro)s(cessor)g(used,)g(and)f(encryption)568 3152 y(is)25
b(v)m(ery)j(sligh)m(tly)c(faster)i(than)g(decryption)h(in)e(the)h
(optimised)f(implemen)m(tation,)568 3273 y(although)39
b(it)h(needs)i(a)e(few)h(more)f(instructions.)67 b(On)41
b(a)f(P)m(en)m(tium)h(pro)s(cessor,)568 3393 y(the)35
b(1940)e(instructions)h(required)h(tak)m(e)g(ab)s(out)f(1738)g(clo)s(c)
m(k)g(cycles.)50 b(That)35 b(the)568 3513 y(clo)s(c)m(k)j(cycle)i(coun)
m(t)f(is)f(less)h(than)g(the)g(instruction)f(coun)m(t)h(is)f(due)h(to)g
(e\016cien)m(t)568 3634 y(use)f(of)f(pip)s(elining.)54
b(The)38 b(time)e(required)i(to)e(set)i(up)g(or)f(c)m(hange)h(a)f(k)m
(ey)h(is)f(ap-)568 3754 y(pro)m(ximately)f(the)i(time)e(required)j(to)e
(p)s(erform)f(one)i(encryption;)j(there)d(is)g(no)568
3874 y(extra)27 b(time)e(required)j(to)e(set)h(up)h(the)f(algorithm)c
(suc)m(h)29 b(as)e(b)m(y)g(building)e(in)m(ternal)568
3995 y(tables.)443 4198 y(3.)49 b(On)31 b(a)h(133MHz)g(P)m(en)m
(tium/MMX)g(pro)s(cessor)g(running)g(Lin)m(ux,)g(our)f(optimised)568
4319 y(C)g(implemen)m(tation)c(ac)m(hiev)m(es)33 b(an)d(encryption)h
(throughput)g(of)g(9,791,000)e(bits)568 4439 y(p)s(er)44
b(second)i(whic)m(h)f(corresp)s(onds)h(to)e(ab)s(out)g(1738)g(clo)s(c)m
(k)g(cycles)i(p)s(er)f(blo)s(c)m(k.)568 4559 y(W)-8 b(e)29
b(therefore)g(exp)s(ect)g(that)g(on)f(a)g(200)g(MHz)h(P)m(en)m(tium)g
(as)f(sp)s(eci\014ed)i(in)d(section)568 4680 y(6.B,)48
b(Serp)s(en)m(t)i(will)c(ha)m(v)m(e)k(a)e(throughput)h(of)f(ab)s(out)g
(14.7)g(Mbit/sec)h(unless)568 4800 y(the)42 b(test)h(soft)m(w)m(are)g
(or)e(c)m(hoice)h(of)g(op)s(erating)e(system)j(imp)s(oses)f(a)f
(signi\014can)m(t)568 4921 y(p)s(erformance)32 b(p)s(enalt)m(y)-8
b(.)p eop
%%Page: 3 3
3 2 bop 443 548 a Fd(4.)49 b(Our)38 b(Ja)m(v)-5 b(a)39
b(implemen)m(tation)c(p)s(erforms)j(10,000)f(encryptions)j(in)e(3.3)g
(seconds)568 668 y(on)g(a)g(133)g(MHz)h(P)m(en)m(tium)g(MMX.)g(This)g
(translates)f(to)g(388)g(kbit/s,)i(and)f(w)m(e)568 789
y(exp)s(ect)32 b(583)e(kbit/s)h(on)f(the)i(NIST)f(200)f(MHz)i(mac)m
(hine)e(\(though)h(just-in-time)568 909 y(compilation)k(should)k(sp)s
(eed)h(things)e(up\).)63 b(In)39 b(eac)m(h)h(case,)i(this)c(translates)
h(to)568 1029 y(ab)s(out)32 b(44,000)f(clo)s(c)m(k)i(cycles)g(p)s(er)g
(blo)s(c)m(k.)443 1231 y(5.)49 b(On)37 b(8-bit)e(pro)s(cessors,)40
b(a)d(compact)g(implemen)m(tation)d(should)j(tak)m(e)h(less)g(than)568
1351 y(1Kb)m(yte)22 b(but)g(34,000)f(clo)s(c)m(k)h(cycles,)j(giving)20
b(a)h(throughput)h(of)f(ab)s(out)h(12.8)f(kbit/s)568
1471 y(on)28 b(a)h(3.5)f(MHz)h(6805)f(as)h(used)g(in)f(lo)m(w-cost)h
(smartcards.)42 b(An)29 b(implemen)m(tation)568 1592
y(optimised)40 b(for)i(sp)s(eed)h(should)f(tak)m(e)h(11,000)d(clo)s(c)m
(k)j(cycles)g(and)f(th)m(us)h(deliv)m(er)568 1712 y(40.7)30
b(kbit/s,)g(but)h(o)s(ccup)m(y)h(ab)s(out)e(2K)g(of)g(memory)-8
b(.)42 b(This)31 b(is)f(comparable)f(with)568 1833 y(common)e(DES)h
(implemen)m(tations)d(and)k(more)e(than)i(adequate)g(for)f(t)m(ypical)f
(ap-)568 1953 y(plications.)443 2154 y(6.)49 b(W)-8 b(e)32
b(exp)s(ect)i(that)e(a)g(fully)f(pip)s(elined)f(hardw)m(are)k(implemen)
m(tation)29 b(w)m(ould)j(tak)m(e)568 2275 y(ab)s(out)27
b(100,000)g(gates.)43 b(If)28 b(piplined)e(k)m(ey)k(sc)m(heduling)e(is)
g(not)g(a)g(requiremen)m(t)h(\(it)568 2395 y(w)m(ould)i(almost)f(nev)m
(er)j(b)s(e\),)g(then)f(this)f(falls)f(to)h(67,000.)43
b(If)31 b(pip)s(elining)e(of)i(eigh)m(t)568 2515 y(stages)25
b(at)f(a)h(time)e(is)h(adequate)i(\(as)e(it)g(w)m(ould)h(usually)e(b)s
(e\))i(then)g(the)g(gate)g(coun)m(t)568 2636 y(falls)37
b(to)h(ab)s(out)h(18,000.)61 b(With)38 b(no)h(pip)s(elining,)e(it)h
(falls)f(to)h(ab)s(out)h(4,500.)61 b(In)568 2756 y(addition)37
b(it)h(is)g(p)s(ossible)h(to)f(construct)i(highly)e(e\016cien)m(t)i
(hardw)m(are/soft)m(w)m(are)568 2877 y(v)m(ersions)e(of)f(our)g
(algorithm)e(b)m(y)j(adding)e(an)i(extra)g(instruction)e(called)g
(`BIT-)568 2997 y(SLICE')d(to)g(existing)f(pro)s(cessors)i(at)e(a)g
(cost)h(of)f(ab)s(out)g(3,200)g(gates.)324 3285 y Fc(2.B.3)45
b(KA)-11 b(T)44 b(and)h(MCT)f(T)-11 b(ests)324 3469 y
Fd(These)34 b(are)f(included)f(on)g(disk)m(ette)324 3757
y Fc(2.B.4)45 b(Exp)t(ected)h(strength)324 3942 y Fd(The)35
b(follo)m(wing)e(w)m(orkload)h(\014gures)i(are)e(for)h(the)g(b)s(est)g
(attac)m(k)h(that)e(w)m(e)i(exp)s(ect)g(to)e(b)s(e)324
4062 y(p)s(ossible)e(on)g(our)h(cipher:)p 230 4265 3427
4 v 228 4385 4 121 v 279 4349 a(Blo)s(c)m(k)g(Size)99
b(Key)34 b(Size)99 b(W)-8 b(orkload)99 b(T)m(yp)s(e)34
b(of)e(attac)m(k)254 b(Chosen/Kno)m(wn)34 b(T)-8 b(exts)p
3654 4385 V 230 4389 3427 4 v 228 4509 4 121 v 426 4473
a(128)359 b(128)336 b(2)1464 4437 y Fa(128)1799 4473
y Fd(Exhaustiv)m(e)34 b(Searc)m(h)539 b(1)p 3654 4509
V 228 4629 V 426 4593 a(128)359 b(192)336 b(2)1464 4557
y Fa(192)1799 4593 y Fd(Exhaustiv)m(e)34 b(Searc)m(h)539
b(2)p 3654 4629 V 228 4750 V 426 4714 a(128)359 b(256)336
b(2)1464 4677 y Fa(256)1799 4714 y Fd(Exhaustiv)m(e)34
b(Searc)m(h)539 b(2)p 3654 4750 V 230 4753 3427 4 v 470
5002 a(W)-8 b(e)39 b(do)g(not)f(b)s(eliev)m(e)g(that)h(either)f
(di\013eren)m(tial)f(or)h(linear)f(attac)m(ks)j(are)e(p)s(ossible.)p
eop
%%Page: 4 4
4 3 bop 324 548 a Fd(Indeed,)44 b(with)c(the)h(curren)m(t)h(state)f(of)
g(the)g(art)f(w)m(e)i(do)e(not)h(b)s(eliev)m(e)g(that)f(they)i(giv)m(e)
324 668 y(useful)33 b(attac)m(ks)i(ev)m(en)g(if)e(Serp)s(en)m(t)h(is)f
(reduced)i(from)e(32)g(rounds)h(to)f(16.)46 b(In)34 b(an)m(y)h(case,)
324 789 y(w)m(e)d(advise)f(users)i(to)e(c)m(hange)h(k)m(eys)h(w)m(ell)d
(b)s(efore)h(birthda)m(y)g(attac)m(ks)i(are)e(p)s(ossible)f(\(i.e.)324
909 y(w)m(ell)f(b)s(efore)i(2)859 873 y Fa(64)963 909
y Fd(texts)h(ha)m(v)m(e)f(b)s(een)g(encrypted\).)45 b(In)31
b(that)f(case,)h(no)g(shortcut)g(attac)m(ks)324 1029
y(are)h(p)s(ossible)g(using)g(an)m(y)i(tec)m(hniques)g(kno)m(wn)g(to)e
(us)h(and)g(w)m(e)g(b)s(eliev)m(e)g(that)f(an)m(y)h(suc)m(h)324
1150 y(attac)m(k)g(w)m(ould)f(require)h(a)g(ma)5 b(jor)31
b(theoretical)g(breakthrough.)470 1270 y(W)-8 b(e)26
b(decided)g(to)f(use)i(t)m(wice)f(the)g(n)m(um)m(b)s(er)g(of)f(rounds)h
(that)f(are)h(necessary)i(to)d(guard)324 1391 y(against)37
b(all)g(presen)m(tly)j(kno)m(wn)g(attac)m(ks,)h(b)s(ecause)f(if)e(DES)g
(serv)m(es)j(as)e(a)g(reasonable)324 1511 y(guide,)29
b(the)f(cipher)h(selected)g(for)f(AES)h(ma)m(y)f(ha)m(v)m(e)i(to)d
(withstand)i(attac)m(k)g(for)f(50)f(y)m(ears)324 1631
y(or)j(more)f(\(25)h(y)m(ears)i(as)e(a)h(standard,)g(and)f(25)g(y)m
(ears)i(in)e(legacy)g(systems\).)44 b(If)30 b(Mo)s(ore's)324
1752 y(la)m(w)k(con)m(tin)m(ues)j(to)d(hold,)h(then)h(suc)m(h)g(attac)m
(ks)g(migh)m(t)e(in)m(v)m(olv)m(e)h(hardw)m(are)h(capable)f(of)324
1872 y(searc)m(hes)i(in)d(excess)j(of)d(2)1275 1836 y
Fa(100)1419 1872 y Fd(as)h(w)m(ell)f(as)h(considerable)g(adv)-5
b(ances)36 b(in)e(the)h(tec)m(hniques)324 1993 y(of)d(cryptanalysis.)
324 2281 y Fc(2.B.5)45 b(Resistance)i(against)f(kno)l(wn)f(attac)l(ks)
324 2466 y Fd(Our)29 b(cipher)h(resists)g(all)d(kno)m(wn)k(attac)m(ks.)
43 b(The)31 b(details)d(are)h(in)g(the)h(pap)s(er)g(whic)m(h)g(also)324
2586 y(includes)i(references.)324 2875 y Fc(2.B.6)45
b(Adv)-7 b(an)l(tages)46 b(and)e(limitations)324 3060
y Fd(An)26 b(extremely)h(imp)s(ortan)m(t)d(adv)-5 b(an)m(tage)26
b(of)g(Serp)s(en)m(t)h(is)f(the)g(bitslice)f(design)h(tec)m(hnique)324
3180 y(whic)m(h)41 b(enables)g(us)g(to)f(use)h(the)g(S-b)s(o)m(xes)h
(from)d(DES,)h(and)h(th)m(us)h(b)s(ene\014t)f(from)e(the)324
3301 y(extensiv)m(e)44 b(analysis)d(already)h(done)g(on)g(DES,)h(while)
e(a)m(v)m(oiding)g(the)h(p)s(o)s(or)g(soft)m(w)m(are)324
3421 y(p)s(erformance)c(from)f(whic)m(h)i(DES)f(su\013ers.)62
b(The)39 b(result)f(is)g(a)g(cipher)h(whic)m(h,)h(on)e(the)324
3542 y(main)31 b(target)i(platform,)e(is)i(as)g(fast)g(as)g(single)g
(DES)g(while)f(b)s(eing)g(more)h(secure)i(than)324 3662
y(three-k)m(ey)f(triple-DES.)470 3782 y(In)i(order)f(to)h(design)f(a)g
(cipher)h(to)f(withstand)h(50)e(y)m(ears)j(of)e(attac)m(ks,)i(w)m(e)g
(did)e(not)324 3903 y(b)s(eliev)m(e)43 b(it)g(pruden)m(t)i(to)e(use)i
(no)m(v)m(el)f(and)g(un)m(tested)i(ideas,)g(esp)s(ecially)d(as)h(the)g
(AES)324 4023 y(algorithm)35 b(will)h(b)s(e)i(accepted)i(after)e(a)g
(short)h(review)g(p)s(erio)s(d)e(and)i(used)g(to)f(protect)324
4143 y(enormous)e(v)m(olumes)g(of)g(\014nancial)e(transactions,)j
(health)f(records)h(and)f(go)m(v)m(ernmen)m(t)324 4264
y(information.)470 4384 y(T)-8 b(o)23 b(design)f(a)g(cipher)h(using)f
(only)g(w)m(ell)g(understo)s(o)s(d)h(comp)s(onen)m(ts)g(and)g(tec)m
(hniques,)324 4505 y(while)33 b(sim)m(ultaneously)f(deliv)m(ering)h
(enough)h(p)s(erformance)g(impro)m(v)m(emen)m(t)f(to)h(justify)324
4625 y(a)44 b(mo)m(v)m(e)g(a)m(w)m(a)m(y)h(from)e(triple-DES,)f
(required)j(an)f(inno)m(v)-5 b(ativ)m(e)43 b(idea.)78
b(Ho)m(w)m(ev)m(er)46 b(this)324 4745 y(inno)m(v)-5 b(ativ)m(e)40
b(idea)h(had)g(to)f(b)s(e)i(suc)m(h)g(as)f(to)g(enable)g(the)g
(existing)g(cryptanalytic)f(ap-)324 4866 y(paratus)f(to)f(b)s(e)h
(used,)j(rather)d(than)f(a)h(new)h(construction)f(whose)g(w)m(eakness)j
(migh)m(t)p eop
%%Page: 5 5
5 4 bop 324 548 a Fd(only)26 b(b)s(ecome)h(apparen)m(t)g(to)f(the)h
(cryptanalytic)f(comm)m(unit)m(y)g(after)g(some)h(y)m(ears.)43
b(Our)324 668 y(bitslice)31 b(construction)i(is)f(that)g(idea.)470
789 y(Other)h(more)f(sp)s(eci\014c)h(adv)-5 b(an)m(tages)33
b(of)f(Serp)s(en)m(t)i(include:)443 960 y(a.)49 b(When)42
b(Serp)s(en)m(t)h(is)e(implemen)m(ted)f(on)h(the)h(industry)g(standard)
g(arc)m(hitecture)568 1080 y(\(In)m(tel)e(P)m(en)m(tium/MMX)g(or)g(P)m
(en)m(tium)g(I)s(I\))g(it)e(is)i(p)s(ossible)f(to)h(p)s(erform)f(sim)m
(ul-)568 1200 y(taneous)i(CBC)g(encryption)g(and)g(MA)m(C)h
(computation)d(on)i(a)f(message)h(using)568 1321 y(di\013eren)m(t)32
b(k)m(eys.)438 1510 y(b.)49 b(Serp)s(en)m(t)41 b(can)f(also)f(b)s(e)h
(used)h(in)e(standard)h(mo)s(des)f(of)h(op)s(eration,)g(suc)m(h)h(as)f
(in)568 1630 y(Output)49 b(F)-8 b(eedbac)m(k)50 b(Mo)s(de)f(to)g(giv)m
(e)g(a)f(v)m(ery)i(e\016cien)m(t)g(and)f(strong)g(pseudo-)568
1751 y(random)31 b(bit)h(generator)h(for)f(stream)g(cipher)h(and)f
(other)h(applications.)448 1940 y(c.)50 b(Serp)s(en)m(t)45
b(pro)m(vides)g(adequate)h(p)s(erformance)e(as)h(a)f(hash)h(function.)
79 b(W)-8 b(e)45 b(are)568 2060 y(a)m(w)m(are)31 b(of)f(no)g(w)m(a)m(y)
i(in)e(whic)m(h)h(it)e(di\013ers)i(from)e(a)h(pseudorandom)h(p)s(erm)m
(utation,)568 2180 y(and)43 b(it)g(will)e(th)m(us)j(pro)m(vide)g(a)f
(one-w)m(a)m(y)i(collision-free)40 b(hash)k(function)f(when)568
2301 y(used)c(in)e(feedforw)m(ard)i(mo)s(de,)g(sub)5
b(ject)40 b(to)e(the)g(limits)d(imp)s(osed)i(b)m(y)i(its)f(blo)s(c)m(k)
568 2421 y(length.)46 b(On)34 b(man)m(y)g(mo)s(dern)f(pro)s(cessors,)j
(it)c(allo)m(ws)h(sev)m(eral)i(streams)f(of)f(data)568
2542 y(to)f(b)s(e)h(hashed)g(sim)m(ultaneously)-8 b(.)438
2731 y(d.)49 b(Serp)s(en)m(t)34 b(runs)f(quic)m(kly)g(enough)h(on)e
(smartcards)h(and)g(other)g(8-bit)e(pro)s(cessors)568
2851 y(for)23 b(the)h(k)m(ey)h(managemen)m(t,)g(v)-5
b(alue)23 b(transfer)h(and)g(similar)d(proto)s(cols)h(commonly)568
2971 y(implemen)m(ted)47 b(on)h(suc)m(h)i(devices.)93
b(The)49 b(fact)f(that)h(k)m(ey)h(set)f(up)g(or)f(c)m(hange)568
3092 y(requires)38 b(computation)e(equiv)-5 b(alen)m(t)37
b(to)g(only)g(one)h(encryption)g(mak)m(es)g(it)f(also)568
3212 y(suitable)23 b(for)i(applications)d(suc)m(h)27
b(as)e(A)-8 b(TM)25 b(encryption)g(where)h(k)m(ey)h(agilit)m(y)22
b(ma)m(y)568 3333 y(b)s(e)32 b(required.)448 3522 y(e.)50
b(Serp)s(en)m(t)34 b(can)f(b)s(e)g(implemen)m(ted)f(in)g(hardw)m(are)i
(in)e(a)h(v)-5 b(ariet)m(y)33 b(of)f(w)m(a)m(ys)j(dep)s(end-)568
3642 y(ing)j(on)h(the)h(precise)g(p)s(erformance)f(requiremen)m(ts.)64
b(There)41 b(is)e(a)g(particularly)568 3762 y(e\016cien)m(t)e(w)m(a)m
(y)g(to)e(add)i(it)e(to)g(an)h(existing)g(CPU)g(b)m(y)h(means)f(of)g(a)
g(sp)s(ecial)f(pur-)568 3883 y(p)s(ose)26 b(instruction)g(that)g(sp)s
(eeds)i(up)e(soft)m(w)m(are)h(implemen)m(tations)d(considerably)-8
b(.)568 4003 y(Serp)s(en)m(t)40 b(also)f(supp)s(orts)h(highly)f(pip)s
(elined)f(hardw)m(are)i(implemen)m(tations)d(for)568
4124 y(applications)25 b(suc)m(h)j(as)f(A)-8 b(TM/B-ISDN,)27
b(and)g(v)m(ery)i(compact)d(hardw)m(are)i(imple-)568
4244 y(men)m(tations)k(for)g(applications)e(suc)m(h)k(as)f(pa)m(y-TV)g
(deco)s(der)h(ASICs.)324 4569 y Fe(2.C)53 b(Magnetic)g(Data)324
4817 y Fc(2.C.1)46 b(Reference)g(Implemen)l(tation)324
5002 y Fd(Enclosed.)p eop
%%Page: 6 6
6 5 bop 324 548 a Fc(2.C.2)46 b(Mathematically)h(Optimized)f(Implemen)l
(tation)324 733 y Fd(ANSI)33 b(C)g(and)g(Ja)m(v)-5 b(a)32
b(enclosed.)324 1022 y Fc(2.C.3)46 b(T)-11 b(est)45 b(v)-7
b(alues)324 1206 y Fd(Enclosed.)324 1539 y Fe(2.D)53
b(In)l(tellectual)h(Prop)t(ert)l(y)f(Statemen)l(ts)324
1787 y Fc(2.D.1)46 b(Statemen)l(t)h(b)l(y)d(the)i(Submitter)324
1972 y Fd(Enclosed.)324 2261 y Fc(2.D.2)g(Statemen)l(t)h(b)l(y)d(P)l
(aten)l(t)j(Application)e(Owner)324 2445 y Fd(Enclosed.)324
2734 y Fc(2.D.3)64 b(Statemen)l(t)g(b)l(y)e(the)h(o)l(wners)g(of)g(the)
g(Reference)h(and)324 2884 y(Mathematically)47 b(Optimized)e(Implemen)l
(tations)324 3068 y Fd(Enclosed.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF