⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blowfish.inc

📁 IA-32汇编原代码,blowfish.相比于c/c++写的原代码,效率更高
💻 INC
📖 第 1 页 / 共 2 页
字号:
comment		*

Algorithm		: Blowfish		( Block Cipher )
Block		: 8 bytes
KeySize		; --
Round		; _noRounds

Abstract		:   Author     :  Paul Kocher
 		    E-mail     :  pck@netcom.com
 		    Date       :  1997
 		    Description:  C implementation of the Blowfish algorithm.
 		    
Usage		:  invoke	blowfish_init,addr ptrInkey,ptrInkey_length	( SetKey )
		   invoke  blowfish_encrypt,addr ptrIndata,addr ptrOutdata  ( 8bytes Encrypt )
		   invoke  blowfish_decrypt,addr ptrIndata,addr ptrOutdata  ( 8bytes Decrypt )
		    
Coded by x3chun	(2004.02.24)
		( x3chun@korea.com  or  x3chun@hanyang.ac.kr ) ( http://x3chun.wo.to )
		
*

blowfishctx	struct
		
		P		dd	18	dup(?)
		S		dd	256*4	dup(?)

blowfishctx	ends

blowfish_init	proto	:DWORD, :DWORD
blowfish_encrypt	proto	:DWORD, :DWORD
blowfish_decrypt	proto	:DWORD, :DWORD
_F		proto	:DWORD

.const

_noRounds	equ	16
MAXKEYBYTES 	equ	56          /* 448 bits */	( did not used )

.data

align		8
blowfishpbox	dd	 608135816, 2242054355,  320440878,   57701188
		dd	2752067618,  698298832,  137296536, 3964562569
		dd	1160258022,  953160567, 3193202383,  887688300
		dd	3232508343, 3380367581, 1065670069, 3041331479
		dd	2450970073, 2306472731
		
blowfishsbox1	dd	3509652390, 2564797868,  805139163, 3491422135
		dd	3101798381, 1780907670, 3128725573, 4046225305
		dd	 614570311, 3012652279,  134345442, 2240740374
		dd	1667834072, 1901547113, 2757295779, 4103290238
		dd	 227898511, 1921955416, 1904987480, 2182433518
		dd	2069144605, 3260701109, 2620446009,  720527379
		dd	3318853667,  677414384, 3393288472, 3101374703
		dd	2390351024, 1614419982, 1822297739, 2954791486
		dd	3608508353, 3174124327, 2024746970, 1432378464
		dd	3864339955, 2857741204, 1464375394, 1676153920
		dd	1439316330,  715854006, 3033291828,  289532110
		dd	2706671279, 2087905683, 3018724369, 1668267050
		dd	 732546397, 1947742710, 3462151702, 2609353502
		dd	2950085171, 1814351708, 2050118529,  680887927
		dd	 999245976, 1800124847, 3300911131, 1713906067
		dd	1641548236, 4213287313, 1216130144, 1575780402
		dd	4018429277, 3917837745, 3693486850, 3949271944
		dd	 596196993, 3549867205,  258830323, 2213823033
		dd	 772490370, 2760122372, 1774776394, 2652871518
		dd	 566650946, 4142492826, 1728879713, 2882767088
		dd	1783734482, 3629395816, 2517608232, 2874225571
		dd	1861159788,  326777828, 3124490320, 2130389656
		dd	2716951837,  967770486, 1724537150, 2185432712
		dd	2364442137, 1164943284, 2105845187,  998989502
		dd	3765401048, 2244026483, 1075463327, 1455516326
		dd	1322494562,  910128902,  469688178, 1117454909
		dd	 936433444, 3490320968, 3675253459, 1240580251
		dd	 122909385, 2157517691,  634681816, 4142456567
		dd	3825094682, 3061402683, 2540495037,   79693498
		dd	3249098678, 1084186820, 1583128258,  426386531
		dd	1761308591, 1047286709,  322548459,  995290223
		dd	1845252383, 2603652396, 3431023940, 2942221577
		dd	3202600964, 3727903485, 1712269319,  422464435
		dd	3234572375, 1170764815, 3523960633, 3117677531
		dd	1434042557,  442511882, 3600875718, 1076654713
		dd	1738483198, 4213154764, 2393238008, 3677496056
		dd	1014306527, 4251020053,  793779912, 2902807211
		dd	 842905082, 4246964064, 1395751752, 1040244610
		dd	2656851899, 3396308128,  445077038, 3742853595
		dd	3577915638,  679411651, 2892444358, 2354009459
		dd	1767581616, 3150600392, 3791627101, 3102740896
		dd	 284835224, 4246832056, 1258075500,  768725851
		dd	2589189241, 3069724005, 3532540348, 1274779536
		dd	3789419226, 2764799539, 1660621633, 3471099624
		dd	4011903706,  913787905, 3497959166,  737222580
		dd	2514213453, 2928710040, 3937242737, 1804850592
		dd	3499020752, 2949064160, 2386320175, 2390070455
		dd	2415321851, 4061277028, 2290661394, 2416832540
		dd	1336762016, 1754252060, 3520065937, 3014181293
		dd	 791618072, 3188594551, 3933548030, 2332172193
		dd	3852520463, 3043980520,  413987798, 3465142937
		dd	3030929376, 4245938359, 2093235073, 3534596313
		dd	 375366246, 2157278981, 2479649556,  555357303
		dd	3870105701, 2008414854, 3344188149, 4221384143
		dd	3956125452, 2067696032, 3594591187, 2921233993
		dd	   2428461,  544322398,  577241275, 1471733935
		dd	 610547355, 4027169054, 1432588573, 1507829418
		dd	2025931657, 3646575487,  545086370,   48609733
		dd	2200306550, 1653985193,  298326376, 1316178497
		dd	3007786442, 2064951626,  458293330, 2589141269
		dd	3591329599, 3164325604,  727753846, 2179363840
		dd	 146436021, 1461446943, 4069977195,  705550613
		dd	3059967265, 3887724982, 4281599278, 3313849956
		dd	1404054877, 2845806497,  146425753, 1854211946
		
blowfishsbox2	dd	1266315497, 3048417604, 3681880366, 3289982499
		dd	2909710000, 1235738493, 2632868024, 2414719590
		dd	3970600049, 1771706367, 1449415276, 3266420449
		dd	 422970021, 1963543593, 2690192192, 3826793022
		dd	1062508698, 1531092325, 1804592342, 2583117782
		dd	2714934279, 4024971509, 1294809318, 4028980673
		dd	1289560198, 2221992742, 1669523910,   35572830
		dd	 157838143, 1052438473, 1016535060, 1802137761
		dd	1753167236, 1386275462, 3080475397, 2857371447
		dd	1040679964, 2145300060, 2390574316, 1461121720
		dd	2956646967, 4031777805, 4028374788,   33600511
		dd	2920084762, 1018524850,  629373528, 3691585981
		dd	3515945977, 2091462646, 2486323059,  586499841
		dd	 988145025,  935516892, 3367335476, 2599673255
		dd	2839830854,  265290510, 3972581182, 2759138881
		dd	3795373465, 1005194799,  847297441,  406762289
		dd	1314163512, 1332590856, 1866599683, 4127851711
		dd	 750260880,  613907577, 1450815602, 3165620655
		dd	3734664991, 3650291728, 3012275730, 3704569646
		dd	1427272223,  778793252, 1343938022, 2676280711
		dd	2052605720, 1946737175, 3164576444, 3914038668
		dd	3967478842, 3682934266, 1661551462, 3294938066
		dd	4011595847,  840292616, 3712170807,  616741398
		dd	 312560963,  711312465, 1351876610,  322626781
		dd	1910503582,  271666773, 2175563734, 1594956187
		dd	  70604529, 3617834859, 1007753275, 1495573769
		dd	4069517037, 2549218298, 2663038764,  504708206
		dd	2263041392, 3941167025, 2249088522, 1514023603
		dd	1998579484, 1312622330,  694541497, 2582060303
		dd	2151582166, 1382467621,  776784248, 2618340202
		dd	3323268794, 2497899128, 2784771155,  503983604
		dd	4076293799,  907881277,  423175695,  432175456
		dd	1378068232, 4145222326, 3954048622, 3938656102
		dd	3820766613, 2793130115, 2977904593,   26017576
		dd	3274890735, 3194772133, 1700274565, 1756076034
		dd	4006520079, 3677328699,  720338349, 1533947780
		dd	 354530856,  688349552, 3973924725, 1637815568
		dd	 332179504, 3949051286,   53804574, 2852348879
		dd	3044236432, 1282449977, 3583942155, 3416972820
		dd	4006381244, 1617046695, 2628476075, 3002303598
		dd	1686838959,  431878346, 2686675385, 1700445008
		dd	1080580658, 1009431731,  832498133, 3223435511
		dd	2605976345, 2271191193, 2516031870, 1648197032
		dd	4164389018, 2548247927,  300782431,  375919233
		dd	 238389289, 3353747414, 2531188641, 2019080857
		dd	1475708069,  455242339, 2609103871,  448939670
		dd	3451063019, 1395535956, 2413381860, 1841049896
		dd	1491858159,  885456874, 4264095073, 4001119347
		dd	1565136089, 3898914787, 1108368660,  540939232
		dd	1173283510, 2745871338, 3681308437, 4207628240
		dd	3343053890, 4016749493, 1699691293, 1103962373
		dd	3625875870, 2256883143, 3830138730, 1031889488
		dd	3479347698, 1535977030, 4236805024, 3251091107
		dd	2132092099, 1774941330, 1199868427, 1452454533
		dd	 157007616, 2904115357,  342012276,  595725824
		dd	1480756522,  206960106,  497939518,  591360097
		dd	 863170706, 2375253569, 3596610801, 1814182875
		dd	2094937945, 3421402208, 1082520231, 3463918190
		dd	2785509508,  435703966, 3908032597, 1641649973
		dd	2842273706, 3305899714, 1510255612, 2148256476
		dd	2655287854, 3276092548, 4258621189,  236887753
		dd	3681803219,  274041037, 1734335097, 3815195456
		dd	3317970021, 1899903192, 1026095262, 4050517792
		dd	 356393447, 2410691914, 3873677099, 3682840055
		
blowfishsbox3	dd	3913112168, 2491498743, 4132185628, 2489919796
		dd	1091903735, 1979897079, 3170134830, 3567386728
		dd	3557303409,  857797738, 1136121015, 1342202287
		dd	 507115054, 2535736646,  337727348, 3213592640
		dd	1301675037, 2528481711, 1895095763, 1721773893
		dd	3216771564,   62756741, 2142006736,  835421444
		dd	2531993523, 1442658625, 3659876326, 2882144922
		dd	 676362277, 1392781812,  170690266, 3921047035
		dd	1759253602, 3611846912, 1745797284,  664899054
		dd	1329594018, 3901205900, 3045908486, 2062866102
		dd	2865634940, 3543621612, 3464012697, 1080764994
		dd	 553557557, 3656615353, 3996768171,  991055499
		dd	 499776247, 1265440854,  648242737, 3940784050
		dd	 980351604, 3713745714, 1749149687, 3396870395
		dd	4211799374, 3640570775, 1161844396, 3125318951
		dd	1431517754,  545492359, 4268468663, 3499529547
		dd	1437099964, 2702547544, 3433638243, 2581715763
		dd	2787789398, 1060185593, 1593081372, 2418618748
		dd	4260947970,   69676912, 2159744348,   86519011
		dd	2512459080, 3838209314, 1220612927, 3339683548
		dd	 133810670, 1090789135, 1078426020, 1569222167
		dd	 845107691, 3583754449, 4072456591, 1091646820
		dd	 628848692, 1613405280, 3757631651,  526609435
		dd	 236106946,   48312990, 2942717905, 3402727701
		dd	1797494240,  859738849,  992217954, 4005476642
		dd	2243076622, 3870952857, 3732016268,  765654824
		dd	3490871365, 2511836413, 1685915746, 3888969200
		dd	1414112111, 2273134842, 3281911079, 4080962846
		dd	 172450625, 2569994100,  980381355, 4109958455
		dd	2819808352, 2716589560, 2568741196, 3681446669
		dd	3329971472, 1835478071,  660984891, 3704678404
		dd	4045999559, 3422617507, 3040415634, 1762651403
		dd	1719377915, 3470491036, 2693910283, 3642056355
		dd	3138596744, 1364962596, 2073328063, 1983633131
		dd	 926494387, 3423689081, 2150032023, 4096667949
		dd	1749200295, 3328846651,  309677260, 2016342300
		dd	1779581495, 3079819751,  111262694, 1274766160
		dd	 443224088,  298511866, 1025883608, 3806446537
		dd	1145181785,  168956806, 3641502830, 3584813610
		dd	1689216846, 3666258015, 3200248200, 1692713982
		dd	2646376535, 4042768518, 1618508792, 1610833997
		dd	3523052358, 4130873264, 2001055236, 3610705100
		dd	2202168115, 4028541809, 2961195399, 1006657119

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -