18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Diffie-Hellman group 5 operations 304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Copyright (c) 2009, 2012, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "includes.h" 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common.h" 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "dh_groups.h" 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "dh_group5.h" 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid * dh5_init(struct wpabuf **priv, struct wpabuf **publ) 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *publ = dh_init(dh_groups_get(5), priv); 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt if (*publ == NULL) 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return NULL; 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return (void *) 1; 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2504949598a23f501be6eec21697465fd46a28840aDmitry Shmidtvoid * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ) 2604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt{ 2704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt return (void *) 1; 2804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt} 2904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 3004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public, 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt const struct wpabuf *own_private) 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return dh_derive_shared(peer_public, own_private, dh_groups_get(5)); 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid dh5_free(void *ctx) 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 41