[44695] in Cypherpunks

home help back first fref pref prev next nref lref last post

Re: bulk RC4 brute forcing

daemon@ATHENA.MIT.EDU (Lyal Collins)
Tue Dec 5 05:57:51 1995

Date: Tue, 05 Dec 1995 20:41:25 -0800
From: Lyal Collins <lyalc@ozemail.com.au>
To: Andy Brown <a.brown@nexor.co.uk>
Cc: cypherpunks@toad.com

This is a multi-part message in MIME format.

-----------------------------42692480825918
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

following requests for this test code, the attached should compile and 
run the tests I desciribed earlier.
It is messy - sorry.
lyal
-- All mistakes in this message belong to me - you should not use 
them!

-----------------------------42692480825918
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="RC4M.C"

LyogcmM0IHRlc3QgYmVkDQogYmFzZWQgb24gUkM0IGNvZGUgZGV2ZWxvcGVkIGJ5IEUgQSBZ
b3VuZywgYXBwYXJlbnRseSBmcm9tIGNvZGUNCiBjaXJjdWxhdGVkIG9uIHRoZSBJbnRlcm5l
dCBpbiAxOTk0LzUuIFBhcnQgb2YgRUFZJ3MgU1NMRUFZIGNvZGUgaXMgdXNlZCBoZXJlLg0K
DQogSWRlYSBoZXJlIGlzIHRvIGNvbXBhcmUgc2luZ2xla2V5L3BsYWluL2NpcGhlciB0ZXN0
IHRpbWUgYWdhaW5zdA0KIHNpbmdsZSBrZXksIG11bHRpcGxlIHBsYWluL2NpcGhlciBwYWly
cw0KIElzIHRoaXMgYXBwcm9hY2ggbW9yZSBlZmZpY2llbnQgPz8/Pw0KDQogKi8NCg0KI2Rl
ZmluZSBQUk9UTw0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4N
CiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlICJ0aW1lLmgiDQojaW5jbHVkZSAicmM0
LmgiDQoNCnN0YXRpYyBjaGFyICp2ZXJzaW9uPSJcMFJDNCBwYXJ0IG9mIFNTTGVheSB2IDAu
NC4zIDE1LzA2Lzk1IjsNCg0KdHlwZWRlZiAgdW5zaWduZWQgY2hhciBVQ0hBUjsNCg0KdHlw
ZWRlZiBzdHJ1Y3QgcmM0X3Rlc3RfcGFpcjENCgl7DQogICAgY2hhciBwbGFpbls4XTsNCiAg
ICBjaGFyIGNpcGhlcls4XTsNCiAgICBpbnQgZm91bmQ7DQogICAgY2hhciBrZXlfZm91bmRb
OF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLw0KCX0gcmM0X3Rlc3RfcGFp
cjsNCg0KdW5zaWduZWQgaW50IGtleV9idWZmWzI1Nl07ICAgICAgICAgICAgICAgICAvL3Vz
ZWQgdG8gc3BlZWQga2V5IHNjaGVkdWxpbmcNCg0KUkM0X0tFWSBrZXk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvL21hc3RlciBrZXkgaXMgbWFkZSBoZXJlDQoNClJDNF9L
RVkga2V5dGVzdDsNCg0KI2RlZmluZSBOT19PRl9URVNUUyAgMTI2DQpyYzRfdGVzdF9wYWly
IG1hc3Rlcl9wbGFpbl9jaXBoZXJbTk9fT0ZfVEVTVFNdOyAgICAgLy9tYXN0ZXIgcGxhaW4v
Y2lwaGVyIHRlc3QgcGFpcnMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy9hY3F1aXNpdGlvbiAwZiB0aGVzZSBpcw0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Fub3RoZXIgcXVlc3Rpb24NClJDNF9LRVkg
bWFzdGVyX2tleXNbTk9fT0ZfVEVTVFNdOyAgICAgICAgICAgICAgICAgICAvL21hc3RlciBr
ZXkgYXJyYXkNCg0KdW5zaWduZWQgY2hhciBidWZmZXJbXSA9ICAiMTIzNDU2NzgiOw0KdW5z
aWduZWQgY2hhciBrZXk0W10gPSB7MHgwLCAweDAsIDB4MCwgMHgwMSwgMHgwMiwgMHgwLCAw
eDAsIDB4MH07DQp1bnNpZ25lZCBjaGFyIGtleTVbXSA9IHsweDAsIDB4MCwgMHgwLCAweDAx
LCAweDAyLCAweDAsIDB4MCwgMHgwfTsNCg0KdW5zaWduZWQgaW50IGtleV9zdGFydCA9IDB4
MDsgICAgICAgICAvL3N0YXJ0LCBlbmRwb2ludCBmb3Iga2V5IHRlc3Qgcm91dGluZQ0KdW5z
aWduZWQgaW50IGtleV9lbmQgICA9IDB4ZmY7DQoNCnVuc2lnbmVkIGNoYXIgYSxiLGMsZCxl
Ow0KDQpjbG9ja190IHN0YXJ0LCBlbmQ7ICAgICAgICAgICAgICAgICAgICAgLy90aW1lciB2
YWx1ZXMNCmNsb2NrX3QgY2xvY2soKTsNCg0KdW5zaWduZWQgbG9uZyBibG9ja3MgPSA0MDk2
OyAgICAgICAgICAgIC8vZGVmYXVsdCBibG9jayBjb3VudA0KbG9uZyBrOw0KdW5zaWduZWQg
bG9uZyBsb29wczsNCg0KDQoNCmZsb2F0IHR6Ow0KaW50IHo7DQppbnQga2V5X2RhdGFfbGVu
ID0gODsNCmludCBidWZmZXJfbGVuID0gODsNCg0KDQovL2RlY2xhcmF0aW9ucw0Kdm9pZCBy
YzQodW5zaWduZWQgY2hhciAqYnVmZmVyX3B0ciwgaW50IGJ1ZmZlcl9sZW4sIFJDNF9LRVkg
KmtleSk7DQpzdGF0aWMgdm9pZCBzd2FwX2J5dGUoIHVuc2lnbmVkIGNoYXIgKmEsIHVuc2ln
bmVkIGNoYXIgKmIpOw0Kdm9pZCByYzRfa2V5X3Rlc3Qodm9pZCk7DQoNCi8vPT09PT09PT09
PT09PT09DQoNCnZvaWQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KaWYgKGFy
Z2MgIT0gMikgCQkgIC8qIGdldCBudW1iZXIgb2YgYmxvY2tzICovDQogcHJpbnRmKCJcbk5v
IGJsb2NrIHNpemUgc3BlY2lmaWVkLCB1c2luZyAlZCBhcyBudW1iZXIgb2YgYmxvY2tzLlxu
IiwgYmxvY2tzKTsNCmVsc2UNCiBzc2NhbmYoYXJndlsxXSwiJUkiLCZibG9ja3MpOwkgICAg
Ly9nZXQgY291bnQNCg0KIGZvciAoej0wOyB6PDI1NjsgeisrKQ0KCWtleV9idWZmW3pdPXo7
ICAgICAgICAgICAgICAgICAgLy9pbml0IGtleV9idWZmDQoNCiAgICAvL21lYXN1cmUgcmF3
IHNwZWVkDQoNCiBmb3IgKGE9MDsgYTxOT19PRl9URVNUUzsgYSsrKSAgICAgIC8vbWFrZSB0
ZXN0IGRhdGENCiAgew0KICBrZXk1WzRdID0gYTsNCiAgUkM0X3NldF9rZXkoJmtleSwga2V5
X2RhdGFfbGVuLCAma2V5NSk7DQogIG1lbWNweSgmbWFzdGVyX3BsYWluX2NpcGhlclthXS5w
bGFpbiwgJmJ1ZmZlciwgYnVmZmVyX2xlbik7IC8vY29weSBwbGFpbiB0ZXh0DQogIFJDNCgm
a2V5LCBidWZmZXJfbGVuLCBtYXN0ZXJfcGxhaW5fY2lwaGVyW2FdLnBsYWluLCBtYXN0ZXJf
cGxhaW5fY2lwaGVyW2FdLmNpcGhlcik7DQogIH0NCg0KcmM0X2tleV90ZXN0KCk7ICAgICAg
ICAgLy9tZWFzdXJlIGtleSB0ZXN0aW5nIHNwZWVkDQp9OyAgICAgICAgICAgICAgICAgICAg
ICAvL2VuZCBtYWluDQovLyAgPT09PT09PT09PT09PQ0KDQovKiAgaWRlYSBpcyBiYXNlZCBv
biBtYWtpbmcgYSBtYXN0ZXIgcmM0X2tleSwgY29weWluZyB0aGF0IHRvIE5PX09GX1RFU1RT
IGtleSBzcGFjZXMNCiAgICBUaGVuLCBlYWNoIGNvcHkgb2YgdGhlIGtleSBpcyB0ZXN0ZWQg
YWdhaW5zdCBhIHBsYWluL2NpcGhlcnRlY3QgcGFpci4NCiAgICBJZiBhIG1hdGNoIGZvdW5k
LCBhIGZsYWcgaXMgc2V0IGZvciB0aGF0IHBsYWluL2NpcGhlcnRlY3QgcGFpciwgYW5kIHRo
ZQ0KICAgIGtleSBzdG9yZWQgd2l0aCBpdC4NCiAgICB0aGlzIHNob3VsZCByZWR1Y2Ugb3Zl
cmhlYWRzIGFzc29jaWF0ZWQgd2l0aCBrZXkgc2NoZWR1bGluZyAtIEkgaG9wZS4NCiovDQoN
CnZvaWQgcmM0X2tleV90ZXN0KHZvaWQpDQp7DQppbnQgaTsNCmludCBqPU5PX09GX1RFU1RT
Ow0KcHJpbnRmKCJcbk1lYXN1cmluZyB0aGUgc3BlZWQgd2l0aCB3aGljaCB0aGlzIENQVSBj
YW4gdGVzdCBmb3IgdmFsaWQga2V5cy4iKTsNCmxvb3BzPTA7DQplbmQgPSBjbG9jaygpOw0K
c3RhcnQgPSBjbG9jaygpOw0Kd2hpbGUgKGVuZCA9PSBzdGFydCkNCiBzdGFydCA9IGNsb2Nr
KCk7ICAgICAgIC8vZmluZCBwb2ludCBpbW1lZGlhdGVseSBhZnRlciBjbG9jayB0aWNrIGhh
cyBoYXBwZW5lZA0KDQpmb3IoIGEgPSBrZXlfc3RhcnQ7IGE8a2V5X2VuZDsgYSsrKQ0Kew0K
IGtleTRbN10gPWE7DQogZm9yKGI9a2V5X3N0YXJ0OyBiPGtleV9lbmQ7IGIrKykNCiB7DQog
IGtleTRbNl09YjsNCiAgZm9yKGM9a2V5X3N0YXJ0OyBjPGtleV9lbmQ7IGMrKykNCiAgew0K
ICAga2V5NFs1XT1jOw0KDQogICBmb3IoZD1rZXlfc3RhcnQ7IGQ8a2V5X2VuZDsgZCsrKQ0K
ICAgew0KICAgIGtleTRbNF09ZDsNCi8vICAgIHByaW50ZigiXG4gbnVtYmVyIG9mIGtleXMg
Zm91bmQgZm9yIHBsYWluL2NpcGhlciBwYWlyID0gJWQiLCBqKTsNCi8vICAgaWYoZCkNCi8v
ICAgIHsNCi8vICAgICBlbmQgPSBjbG9jaygpLXN0YXJ0Ow0KLy8JIHR6ID0gIChlbmQvQ0xL
X1RDSyk7DQovLwkgcHJpbnRmKCJcblRpbWUgdGFrZW4gPSAlNi4xZiBzZWNvbmRzLCBudW1i
ZXIgb2Yga2V5cyB0ZXN0ZWQgPSAlbGQuXG4iLCB0eiwgbG9vcHMpOw0KLy8JIHByaW50Zigi
JTYuMWYgIiwgKGZsb2F0KShsb29wcy90eikpOw0KLy8gICAgfQ0KLy9wcmludGYoIlxuIG51
bWJlciBvZiBrZXlzIGZvdW5kIGZvciBwbGFpbi9jaXBoZXIgcGFpciA9ICVkIiwgTk9fT0Zf
VEVTVFMtaik7DQogICAgZm9yKGU9a2V5X3N0YXJ0OyBlPGtleV9lbmQ7IGUrKykNCiAgICB7
DQogICAga2V5NFszXT1lOw0KICAgIFJDNF9zZXRfa2V5X3Rlc3QoJmtleSwga2V5X2RhdGFf
bGVuLCAma2V5NCk7ICAgIC8vbWFrZSBtYXN0ZXIga2V5DQogICAgZm9yIChpPTA7IGk8Tk9f
T0ZfVEVTVFM7IGkrKykgICAgICAgICAgICAgICAgICAgICAgICAgLy9tb3ZlIG1hc3RlciBr
ZXkgdG8gYXJyYXkNCiAgICAgIG1lbWNweShtYXN0ZXJfa2V5c1tpXS5kYXRhLCAma2V5LCBz
aXplb2Yoa2V5KSk7DQoNCiAgICAgIGZvciAoaT0wOyBpPE5PX09GX1RFU1RTOyBpKyspDQog
ICAgICAgew0KICAgICAgICBpZiAoIW1hc3Rlcl9wbGFpbl9jaXBoZXJbaV0uZm91bmQpDQog
ICAgICAgIHsNCiAgICAgICAgbG9vcHMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vaW5jcmVtZW50IHRoaXMgYXMgYSBjb3VudGVyDQogICAgICAgICBpZihSQzRfdGVzdCht
YXN0ZXJfa2V5c1tpXS5kYXRhLCBidWZmZXJfbGVuLCBtYXN0ZXJfcGxhaW5fY2lwaGVyW2ld
LnBsYWluLCBtYXN0ZXJfcGxhaW5fY2lwaGVyW2ldLmNpcGhlcikpDQogICAgICAgICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aWxs
IGtleSBtYXRjaGVzDQogICAgICAgICAgbWFzdGVyX3BsYWluX2NpcGhlcltpXS5mb3VuZCA9
IDE7DQogICAgICAgICAgbWVtY3B5KG1hc3Rlcl9wbGFpbl9jaXBoZXJbaV0ua2V5X2ZvdW5k
LCBrZXk0LCA4KTsNCiAgICAgICAgICBqLS07DQovLyAgICAgICAgICBwcmludGYoIlxuIG51
bWJlciBvZiBrZXlzIGZvdW5kIGZvciBwbGFpbi9jaXBoZXIgcGFpciA9ICVkIiwgTk9fT0Zf
VEVTVFMtaik7DQogICAgICAgICAgaWYgKCFqKQ0KICAgICAgICAgICB7DQogICAgICAgICAg
IGVuZCA9IGNsb2NrKCktc3RhcnQ7DQoJICAgICAgIHR6ID0gIChlbmQvQ0xLX1RDSyk7DQoJ
ICAgICAgIHByaW50ZigiXG5UaW1lIHRha2VuID0gJTYuMWYgc2Vjb25kcyIsIHR6KTsNCgkg
ICAgICAgcHJpbnRmKCJcblNwZWVkID0gJTYuMWYgdGVzdHMgcGVyIHNlY29uZC4iLCAoZmxv
YXQpKGxvb3BzL3R6KSk7DQogICAgICAgICAgIHByaW50ZigiXG5vdXQgb2YgYSB0b3RhbCBv
ZiAlZCBwbGFpbi9jaXBoZXIgcGFpcnMuXG4iLCBOT19PRl9URVNUUyk7DQogICAgICAgICAg
IHJldHVybjsNCiAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAg
IH0gICAgICAgIC8vZW5kIGZvciBpDQogICAgIH0gICAgICAgICAgICAgICAvL2UNCiAgICB9
ICAgICAgICAgICAgICAgIC8vZA0KICAgfSAgICAgICAgICAgICAgICAgLy9jDQogIH0gICAg
ICAgICAgICAgICAgICAvL2INCiB9ICAgICAgICAgICAgICAgICAgIC8vYQ0KfTsNCi8vICA9
PT09PT09PT09PT09DQoNCi8qIFJDNCBhcyBpbXBsZW1lbnRlZCBmcm9tIGEgcG9zdGluZyBm
cm9tDQogKiBOZXdzZ3JvdXBzOiBzY2kuY3J5cHQNCiAqIEZyb206IHN0ZXJuZGFya0BuZXRj
b20uY29tIChEYXZpZCBTdGVybmRhcmspDQogKiBTdWJqZWN0OiBSQzQgQWxnb3JpdGhtIHJl
dmVhbGVkLg0KICogTWVzc2FnZS1JRDogPHN0ZXJuQ3ZLTDRCLkh5eUBuZXRjb20uY29tPg0K
ICovDQoNCnZvaWQgUkM0X3NldF9rZXkoa2V5LCBsZW4sIGRhdGEpDQpSQzRfS0VZICprZXk7
DQppbnQgbGVuOw0KcmVnaXN0ZXIgdW5zaWduZWQgY2hhciAqZGF0YTsNCgl7DQogICAgICAg
IHJlZ2lzdGVyIFJDNF9JTlQgdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQg
aWQxLGlkMjsNCiAgICAgICAgcmVnaXN0ZXIgUkM0X0lOVCAqZDsNCiAgICAgICAgaW50IGk7
DQoNCiAgICAgICAgZD0mKGtleS0+ZGF0YVswXSk7DQoJZm9yIChpPTA7IGk8MjU2OyBpKysp
DQoJCWRbaV09aTsNCg0KICAgICAgICBrZXktPnggPSAwOw0KICAgICAgICBrZXktPnkgPSAw
Ow0KICAgICAgICBpZDE9aWQyPTA7DQogICAgICAgIGZvciAoaT0wOyBpIDwgMjU2OyBpKysp
DQoJCXsNCgkJaWQyID0gKGRhdGFbaWQxXSArIGRbaV0gKyBpZDIpICYgMHhmZjsNCgkJdG1w
PWRbaV07IGRbaV09ZFtpZDJdOyBkW2lkMl09dG1wOw0KCQlpZDE9KGlkMSsxKSVsZW47DQoJ
CX0NCgl9Ow0KLy8gID09PT09PT09PT09PT0NCnZvaWQgUkM0KGtleSwgbGVuLCBpbmRhdGEs
IG91dGRhdGEpDQpSQzRfS0VZICprZXk7DQp1bnNpZ25lZCBpbnQgbGVuOw0KdW5zaWduZWQg
Y2hhciAqaW5kYXRhOw0KdW5zaWduZWQgY2hhciAqb3V0ZGF0YTsNCgl7DQogICAgICAgIHJl
Z2lzdGVyIFJDNF9JTlQgKmQsdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQg
eCx5Ow0KCXVuc2lnbmVkIGludCBpOw0KDQogICAgICAgIHg9a2V5LT54Ow0KICAgICAgICB5
PWtleS0+eTsNCg0KICAgICAgICBkPWtleS0+ZGF0YTsNCg0KICAgICAgICBmb3IgKGk9MDsg
aTxsZW47IGkrKykNCgkJew0KCQl4PSgoeCsxKSYweGZmKTsNCgkJdG1wPWRbeF07DQoJCXk9
KHRtcCt5KSYweGZmOw0KCQlkW3hdPWRbeV07DQoJCWRbeV09dG1wOw0KCQlvdXRkYXRhW2ld
PWluZGF0YVtpXV5kWyhkW3hdK3RtcCkmMHhmZl07DQoJCX0NCglrZXktPng9eDsNCglrZXkt
Pnk9eTsNCgl9DQovLyAgPT09PT09PT09PT09PQ0KaW50IFJDNF90ZXN0KGtleSwgbGVuLCBp
bmRhdGEsIG91dGRhdGEpDQpSQzRfS0VZICprZXk7DQp1bnNpZ25lZCBpbnQgbGVuOw0KdW5z
aWduZWQgY2hhciAqaW5kYXRhOw0KdW5zaWduZWQgY2hhciAqb3V0ZGF0YTsNCgl7DQogICAg
ICAgIHJlZ2lzdGVyIFJDNF9JTlQgKmQsdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25l
ZCBpbnQgeCx5Ow0KCXVuc2lnbmVkIGludCBpOw0KICAgIGNoYXIgdGVtcDsNCg0KICAgICAg
ICB4PWtleS0+eDsNCiAgICAgICAgeT1rZXktPnk7DQogICAgICAgIGQ9a2V5LT5kYXRhOw0K
ICAgICAgICBmb3IgKGk9MDsgaTxsZW47IGkrKykNCgkJew0KCQl4PSgoeCsxKSYweGZmKTsN
CgkJdG1wPWRbeF07DQoJCXk9KHRtcCt5KSYweGZmOw0KCQlkW3hdPWRbeV07DQoJCWRbeV09
dG1wOw0KLy8JCW91dGRhdGFbaV09Ow0KICAgICAgICB0ZW1wID0gaW5kYXRhW2ldXmRbKGRb
eF0rdG1wKSYweGZmXTsNCiAgICAgICAgaWYgKHRlbXAgIT0gb3V0ZGF0YVtpXSkgICAgICAg
ICAgICAvL3NtYWxsIHNwZWVkIHVwIGltcHJvdmVtZW50DQogICAgICAgICByZXR1cm4oMCk7
ICAgICAgICAgICAgICAgICAgICAgICAgLy9maXJzdCBieXRlIG5vdCByaWdodCwgbmV4dCBr
ZXkNCgkJfQ0KCWtleS0+eD14Ow0KCWtleS0+eT15Ow0KICAgIHJldHVybigxKTsNCgl9Ow0K
Ly8gID09PT09PT09PT09PT0NCnZvaWQgUkM0X3NldF9rZXlfdGVzdChrZXksIGxlbiwgZGF0
YSkNClJDNF9LRVkgKmtleTsNCmludCBsZW47DQpyZWdpc3RlciB1bnNpZ25lZCBjaGFyICpk
YXRhOw0KCXsNCiAgICAgICAgcmVnaXN0ZXIgUkM0X0lOVCB0bXA7DQogICAgICAgIHJlZ2lz
dGVyIHVuc2lnbmVkIGludCBpZDEsaWQyOw0KICAgICAgICByZWdpc3RlciBSQzRfSU5UICpk
Ow0KICAgICAgICBpbnQgaTsNCiAgICAgICAgZD0mKGtleS0+ZGF0YVswXSk7DQogICAgICAg
IG1lbWNweShkLCAma2V5X2J1ZmYsIHNpemVvZihrZXlfYnVmZikpOyAgLy9zbWFsbCBzcGVl
ZCBpbXByb3ZlbWVudA0KDQogICAgICAgIGtleS0+eCA9IDA7DQogICAgICAgIGtleS0+eSA9
IDA7DQogICAgICAgIGlkMT1pZDI9MDsNCiAgICAgICAgZm9yIChpPTA7IGkgPCAyNTY7IGkr
KykNCgkJew0KCQlpZDIgPSAoZGF0YVtpZDFdICsgZFtpXSArIGlkMikgJiAweGZmOw0KCQl0
bXA9ZFtpXTsgZFtpXT1kW2lkMl07IGRbaWQyXT10bXA7DQoJCWlkMT0oaWQxKzEpJWxlbjsN
CgkJfQ0KCX07DQoNCi8vICA9PT09PT09PT09PT09AAo=
-----------------------------42692480825918--


home help back first fref pref prev next nref lref last post