00001 /* 00002 * Diffie-Hellman groups 00003 * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License version 2 as 00007 * published by the Free Software Foundation. 00008 * 00009 * Alternatively, this software may be distributed under the terms of BSD 00010 * license. 00011 * 00012 * See README and COPYING for more details. 00013 */ 00014 00015 #ifndef DH_GROUPS_H 00016 #define DH_GROUPS_H 00017 00018 struct dh_group { 00019 int id; 00020 const u8 *generator; 00021 size_t generator_len; 00022 const u8 *prime; 00023 size_t prime_len; 00024 }; 00025 00026 const struct dh_group * dh_groups_get(int id); 00027 struct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv); 00028 struct wpabuf * dh_derive_shared(const struct wpabuf *peer_public, 00029 const struct wpabuf *own_private, 00030 const struct dh_group *dh); 00031 00032 #endif /* DH_GROUPS_H */