aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/data/bn/powmod.vec
blob: 024a2d36b6fffa50abb7368607c2c265d8a95641 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
[ModExp]

Base = 0x1
Exponent = 0x0
Modulus = 0x2
Output = 0x1

Base = 0x2
Exponent = 0x67
Modulus = 0x96
Output = 0x8

Base = 0xF53
Exponent = 0x17C
Modulus = 0xFC1
Output = 0x1

Base = 0x5EBDAA
Exponent = 0x86CA74C
Modulus = 0xAB17B43
Output = 0x4760F28

Base = 0x8466D0C17
Exponent = 0x67CA63635
Modulus = 0xCAAD20657
Output = 0x4484225E9

Base = 0x7DF406A87
Exponent = 0x508DF4A9D
Modulus = 0xFD2785061
Output = 0x16FAB14EE

Base = 0x153014C3EDA6813C33
Exponent = 0x3F015
Modulus = 0x107A2F9D441C723BD789
Output = 0x1511E0BE0F7631CF62

Base = 0x2
Exponent = 0x400
Modulus = 0x77E8F1591092967F286A46030CCDE683
Output = 0x4C2C52EB1054E501720FDCC043CEB086

Base = 0x2
Exponent = 0x1000
Modulus = 0x43729A4BE70
Output = 0x466BDEBE40

Base = 0x2
Exponent = 0x1FFE
Modulus = 0x81E644685F4B7EE718F2E18F84195651CBB7B27
Output = 0x3EFEF820185A68AEC5F04D44FA3B0906721CD1A

Base = 0x2
Exponent = 0x10001
Modulus = 0x1B63761AFCD7F89A44714FB1ADDFA28668B5808ECAEDFC5930FE44965503F5B517D0430C9612BE6FC1E4EC2275F0FB6A05F729AC0B
Output = 0x175E1C5F2E9B222B6F98898B694DEB7D5F0549130A24850B7A1B4E78D3CC6B791C1F8F2F7934DBEADC3DBAFE3F91A21E7D563269C3

Base = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Exponent = 0x5000000000000000000000074AED6FE50A167FD03000000030000000000000058ABD6FE4C24510367A7E36EECF121FF58ABD6FE186725FF0000000067A7E36E4C24510304CD23FF2000000000000000000000001B98192F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001
Modulus = 0x18000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Output = 0x11A0D334E187609000A94A5C70A9BE6023C0E37127FB8CB79DD822C3D9969692CA8241937C6A5AE6F818B16056838E58702C4081908C35FA33D9380F2A91B9C943CC8930337EFAA6D146B26030FA7B3FE07D5ECFE08B9F5D0DB25439AC232DED14CCC30CFE06D389B6D9A1B7B9EA0BB1B8A5D3CA15F3006A0D232A3F7CE1C3E9ADE55965C75A896D2F1EBF45E3C3A28D368412AED6E90C0D4E71D882197AFD52C3D22C8ED705AC096E55E3D6EE1E5A6E91C7C0175377E4094589D65201507D6EC493D9B5D807F720CF029EA958EE5B33656DE875E973AC607F9F93E687582A5104DF8FF8EBE247B4B27EA37AAB82989CCEE5126D49D6A9886A8EFFCA57379890504D04FD4D79F539C6D0ABCC44C851EAAC381CACA826487A56D0FDA8824BCC86F96A04C34A07B024B0E1186F2ECE5E24420619836D110AA9C23A917F7978AE9839

Base = 0xDF2F1FE817
Exponent = 0x61FC837F5533B6E7B2EE3F52AB56F5C0589498D2D4B71A7A671167C770C04
Modulus = 0xDA22C7614016834D35447546DE13EF75CD9FC5DB3C1C288E2AAD327C1CADDB
Output = 0x467902F517D87B73F3E80886FBAD58A2EB5802357332E5E5F2A29A3AA65225

Base = 0x3E1
Exponent = 0x5978AD6F0C41D9E6A18E639644703285F96C10C679486F4D548B82624EAE11
Modulus = 0x6E8E5805A00D7013542D3E31F8A52B0591C09CD8C8267DB275A667329BC931
Output = 0x2B31F1B1C994C95C92261D2BF3798E95BC4B3CA33ACD8622622CA200B6F6FB

Base = 0x16CD
Exponent = 0x1412029F7
Modulus = 0x74FA74286E240E3DF02A518674E31B66AA1ABE2038C311C437802BD2C4DF30E9
Output = 0x5B3617148E895F7D63F3216FFE940197D3A564EE652A1B7EE1F84EEC7D84F016

Base = 0x2E2C
Exponent = 0x329A5581DDF9C439EE1D22B176255CB7AA672728CFCEA12F531D9889ABEF
Modulus = 0x19DB2CD3ED192BDB3BE14B52A22078F4AE69448B22FB3C47B803A2535B3F762D
Output = 0xAC89E841A0426615B950D0C1CE728E85717E6BF49E9A2BAAC4514E9CC8A6BBD

Base = 0x138615
Exponent = 0x2127B4E1C672A6EF82093E16728A170D8A99E179ADE1344572888D783E52
Modulus = 0x567E4E7DF343DF0314D70D9C43635E4CA8D9FE41BC3901C8EE05C4A4F479
Output = 0x4F775AAE8BABA7A2AA1A91CA86FC8EC9315F26443D0952F64CECD24B768F

Base = 0xA96CAEE6F99D9055DDCC9A67E1AAACCCBEB40D2AFA23565D2AAD14A0E696
Exponent = 0x247
Modulus = 0xC34845CD0DA4F10377B4C6E5A4623C8EE57203AD6115781D3C5923E974F5
Output = 0x8EF8B5D459374F77917BF2A7313839A48E2431D19B298338A589CD8EBCED

Base = 0x1675F91BEA439A713EB30C74808BA9DC66ACA3434F174D2E5FEBBA71AF65CB
Exponent = 0x2D2B8E04C242812E51B344CC0C2A98237007F9ACD0DE78DC468A9CFF2D49BA
Modulus = 0x5F35406DFB34FF909E03EAC32CB6DB15E5CEFA0E59E988865FF1252A58DDCB
Output = 0x5CC3F888B0EE4B4FE58BFA4DB22C208E263D160A61D7525E0BA1A96A6F89D

Base = 0x16424C11E95C77C77A2BDAFC609AFE148
Exponent = 0x1234184727EED9852361FAFCAC391BFBE
Modulus = 0x1A16EB76865E864137D7C72C34A3FA2DB
Output = 0x151AE807B0CE712C115FEC5951E7E9F0B

Base = 0x12051528C4525101CF07EC5E3FE9EF476
Exponent = 0x3BD6BA22DE280B77FAEDD1A70CE82C2B68BD
Modulus = 0x6E34D5DB17775C0817A89867EBF663ECFA79
Output = 0x65A6609E9463D28CACEA2E0C8557B93DE15

Base = 0x2FB5C95D5702990E91A7F439800C51988530BFB
Exponent = 0x81721C65F5D8F9C6206549E5C8606509
Modulus = 0x4A98FB939327EE13C11013A1C352F4C047A9D0B4B874D7B387D6BD795BF73BE778A92C5297BAB409F3A14DC993197
Output = 0x1CEEF3177FFD9880EC503660284939B934A122CD5E92880B36B5E86B7D3D7A6C327FE047CCD74FEA3D444F4340FF7

Base = 0xBF791361D54005F624FEB32A5EECAFFD2243C3088F8945569ACE8E0E0D0B00489B4ADA19F5967B82A098DB97
Exponent = 0xA9F22D3362DA654FBA8F884C4B386ED27D5F419684B8D56C5C95CBE65C05AAB9EA74D8EC41C0D79FC089A86F
Modulus = 0x101F513C66DFB89F1ED0D03E0ED1F2FA3FE1AC6B86DFDB352D2B5979154D2C22C763101997DB94E91D777B3B7
Output = 0x79998AC2C00348A5C5C166D5948805AFC5F4B7A85C14312842830FF93EC7B678CC59E21DAD6C531BA5E2142C

Base = 0x2D76D19D8AB4D88E3C1D0286DCE731C4BE9CA39BA0A329256A2BFBC9F6994A061424FCD955AB996196F8BD0DE0344
Exponent = 0xC428A6F75C999585FBBC7CF9F6926D71D30DEEC76886FEEDF49CCB0D95FF46101C217551278455BD26675CD50E0
Modulus = 0x796AC6B1AF58EB618DB5C07DF2901A45B07E36FF5AB7E2F531D8F21A337BE4750617CF632BC6360A0B7A9219D3089
Output = 0xCB92647CAB4D0ECDED534799957780D7617C3EC6C9834B2A829A13CC0E861EFC3529B056CC9FE05CE52F96B851F2

Base = 0x1EE84446B082ADEA57DB1981FA4615E5F3
Exponent = 0xE20B04652F017DC01EBC1C57E6FC598E9E
Modulus = 0xFA7C9F013AFC6FBC7E4A1F3EAF8DFABE8F3DE9292A4E8CCAB4621DDB24E20E25E8289E3D79B484643B1E9ECCC74E79
Output = 0x70D1913C72834BAFDBBBCBCF7A856DA47D1277359A668891D2022E3DF4A723A8D10ACA7C7D5FF3021EAAF5DD34B02E

Base = 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Exponent = 0xB69B09104B6014D160140841309969A4
Modulus = 0x8DFA80DF945656CAF186B302053E2F1CE6642A2CEC217CC4FB3714CE0EE5E3D11EA777115F24F3F53EEC9A1A18613
Output = 0x8CC7007D059A8C83BD42518EB540E1218BE0E0F1AAC1687F31A0D1472E16F379C7C1CE0096AD5FB47501426DDBE1A

Base = 0xAB155850CDCF1D13A6FE80EC25C8D17A4F5
Exponent = 0x280A08AA00A220AA002A20A0800A0008AA2
Modulus = 0xB0AF5E718307F0F558FF91A5DC7578F9E2D
Output = 0x9907A436B00B46A54D393E428D2B42E742D

Base = 0x40147F79DA93E8D3F21A11E66D2F08F445BABB7AB7C3C2EF1B94312E6CBF347DC65831F7C49EE202F8E6F77233FB3EF7E462D5E4D3C81DA2CBC9335F9B1A7F51
Exponent = 0x2
Modulus = 0x962EDDCC369CBA8EBB260EE6B6A126D9346E38C5
Output = 0x51ADA2F6C0DD379DEA6F45A50B91E9A7A3481EA6

Base = 0xFFFFF80000000000
Exponent = 0xBFE01FFFFFFFFFFF
Modulus = 0xFFFFFFFFFFFFFFFF
Output = 0x8735B122788A46DC

Base = 0x70000000FFFFFFBF02
Exponent = 0x1FFFFBBFFFFFFFC002
Modulus = 0x800000000000003FFE
Output = 0x609529A3F5345D0A1A

Base = 0x3D80000807C000180F
Exponent = 0x7E037FC10007FFFFF80E
Modulus = 0x80007FFFFFF8000007F0
Output = 0x24F01062C097A00AE0C1

Base = 0xBE0000000000000007FFFF
Exponent = 0x7000FFFFF800200000
Modulus = 0xFFFF8FFF000003FFFFFFFF
Output = 0xD34CC02D9BBB5F1B3FD65E

Base = 0x7F7FF007FFFFEFFF00000079
Exponent = 0x8000000000000000003FFFFC
Modulus = 0x807FFFFFFFFFF000FFFFFFFF
Output = 0x3A298451F401ED3F361B3E83

Base = 0xFFE0000FFF80003F00000000FF
Exponent = 0x7FF7C00200
Modulus = 0xFFFFFFC00000000000003FFFFF
Output = 0xCAEB2FF794C6783C4F1F06E684

Base = 0x7FFFF8FFFE00FFFBFFE000003FFF
Exponent = 0x3F8FFFE00FFFC00000000006F
Modulus = 0x8000070001FF0003FFFFFFFFC001
Output = 0xCCAC1B86140C6F650017FE6993A

Base = 0xFFFF000007FFE00000000003FFFFFF
Exponent = 0x8000000001FFFE0001FFFFFFFFFFFF
Modulus = 0xFFFFFFFFFFFF0000000000000000FF
Output = 0xE6E68CFB5864CC3EC011E84DAD071

Base = 0x7EF80009FFFFFFFFFFFFFDFFFE00020
Exponent = 0x81FFFF000000003FFFFFFFFFFFF3FF3F
Modulus = 0xF8007FFF8000000000000000001FFFE0
Output = 0xBF5C09CB4AAFFE50A5598A04E403D9E0

Base = 0x7BFFFFFFBFF7900003FFFFFE
Exponent = 0xFFFFFFFC0000000007800003FFFBFF
Modulus = 0x800000000003FFFFFFFFF87FFFFC000001
Output = 0x1729F5569C1B022EBDF418F5A084D6D069

Base = 0xF9FFFFF000000FFFFFFFFFFFFFFFC0000000
Exponent = 0x83FFFF000000000000000003FFFFFFFFFFFF
Modulus = 0xFFE007FFF9F83FFFFF8F000FFFFFFFFFFFFF
Output = 0xA917797602DADCC854BD67D27E86BB1D6575

# OSS-Fuzz #287 followed by some variations
Base = 1024
Exponent = 0x1000000000000000000000000000000000000000000000000000000000030400000000000004000
Modulus = 0x40000000000000000000000000000000000000000000000000000000000c100000000000000ffff
Output = 32

Base = 1024
Exponent = 0x1000000000000000000000000000000000000000000000000000000000030400000000000004001
Modulus = 0x40000000000000000000000000000000000000000000000000000000000c100000000000000ffff
Output = 32768

Base = 1024
Exponent = 0x1000000000000000000000000000000000000000000000000000000000030400000000000004001
Modulus = 0x40000000000000000000000000000000000000000000000000000000000c100000000000000fffd
Output = 0x3a130cf2e4c28710c6661c071e38d642150f28479017f313d2a855564458f9a958753fb286d6b6e

Base = 1024
Exponent = 0x20000000000000000000000000000000000000000000000000000000000608000000000000080
Modulus  = 0x40000000000000000000000000000000000000000000000000000000000c100000000000000fffd
Output = 0x9943fa648c48cb4cd01756bed11e3382aca74d84fb0bf8cf8d56cd4524f80538d4888cbd23b8e2