5fdb373570
The WEP code in the mac80211 subsystem currently uses the crypto API to access the arc4 (RC4) cipher, which is overly complicated, and doesn't really have an upside in this particular case, since ciphers are always synchronous and therefore always implemented in software. Given that we have no accelerated software implementations either, it is much more straightforward to invoke a generic library interface directly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
/*
|
|
* Software WEP encryption implementation
|
|
* Copyright 2002, Jouni Malinen <jkmaline@cc.hut.fi>
|
|
* Copyright 2003, Instant802 Networks, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef WEP_H
|
|
#define WEP_H
|
|
|
|
#include <linux/skbuff.h>
|
|
#include <linux/types.h>
|
|
#include "ieee80211_i.h"
|
|
#include "key.h"
|
|
|
|
int ieee80211_wep_init(struct ieee80211_local *local);
|
|
int ieee80211_wep_encrypt_data(struct arc4_ctx *ctx, u8 *rc4key,
|
|
size_t klen, u8 *data, size_t data_len);
|
|
int ieee80211_wep_encrypt(struct ieee80211_local *local,
|
|
struct sk_buff *skb,
|
|
const u8 *key, int keylen, int keyidx);
|
|
int ieee80211_wep_decrypt_data(struct arc4_ctx *ctx, u8 *rc4key,
|
|
size_t klen, u8 *data, size_t data_len);
|
|
|
|
ieee80211_rx_result
|
|
ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx);
|
|
ieee80211_tx_result
|
|
ieee80211_crypto_wep_encrypt(struct ieee80211_tx_data *tx);
|
|
|
|
#endif /* WEP_H */
|