diff options
author | Colin Watson <cjwatson@debian.org> | 2010-01-24 22:46:54 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2010-01-24 22:46:54 +0000 |
commit | 59247ecde39f2d826a94ab07f6095ca1f6644e88 (patch) | |
tree | 5910d4a840352aafbf67e8a39fa63936e5529b26 /jpake.h | |
parent | 07d905b406c4ab64ea2f10a22f4f8f0d595269f6 (diff) | |
parent | 964476f91b66c475d5b8fa1e8b28d39a97a1b56e (diff) |
* New upstream release.
* Update to GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-5.3p1-gsskex-all-20100124.patch.
Diffstat (limited to 'jpake.h')
-rw-r--r-- | jpake.h | 38 |
1 files changed, 9 insertions, 29 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: jpake.h,v 1.1 2008/11/04 08:22:13 djm Exp $ */ | 1 | /* $OpenBSD: jpake.h,v 1.2 2009/03/05 07:18:19 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2008 Damien Miller. All rights reserved. | 3 | * Copyright (c) 2008 Damien Miller. All rights reserved. |
4 | * | 4 | * |
@@ -28,20 +28,16 @@ | |||
28 | # define JPAKE_DEBUG_BUF(a) | 28 | # define JPAKE_DEBUG_BUF(a) |
29 | # define JPAKE_DEBUG_CTX(a) | 29 | # define JPAKE_DEBUG_CTX(a) |
30 | #else | 30 | #else |
31 | # define JPAKE_DEBUG_BN(a) jpake_debug3_bn a | 31 | # define JPAKE_DEBUG_BN(a) debug3_bn a |
32 | # define JPAKE_DEBUG_BUF(a) jpake_debug3_buf a | 32 | # define JPAKE_DEBUG_BUF(a) debug3_buf a |
33 | # define JPAKE_DEBUG_CTX(a) jpake_dump a | 33 | # define JPAKE_DEBUG_CTX(a) jpake_dump a |
34 | #endif /* SCHNORR_DEBUG */ | 34 | #endif /* JPAKE_DEBUG */ |
35 | |||
36 | struct jpake_group { | ||
37 | BIGNUM *p, *q, *g; | ||
38 | }; | ||
39 | 35 | ||
40 | #define KZP_ID_LEN 16 /* Length of client and server IDs */ | 36 | #define KZP_ID_LEN 16 /* Length of client and server IDs */ |
41 | 37 | ||
42 | struct jpake_ctx { | 38 | struct jpake_ctx { |
43 | /* Parameters */ | 39 | /* Parameters */ |
44 | struct jpake_group *grp; | 40 | struct modp_group *grp; |
45 | 41 | ||
46 | /* Private values shared by client and server */ | 42 | /* Private values shared by client and server */ |
47 | BIGNUM *s; /* Secret (salted, crypted password) */ | 43 | BIGNUM *s; /* Secret (salted, crypted password) */ |
@@ -83,26 +79,18 @@ struct jpake_ctx { | |||
83 | }; | 79 | }; |
84 | 80 | ||
85 | /* jpake.c */ | 81 | /* jpake.c */ |
86 | struct jpake_group *jpake_default_group(void); | 82 | struct modp_group *jpake_default_group(void); |
87 | BIGNUM *bn_rand_range_gt_one(const BIGNUM *high); | ||
88 | int hash_buffer(const u_char *, u_int, const EVP_MD *, u_char **, u_int *); | ||
89 | void jpake_debug3_bn(const BIGNUM *, const char *, ...) | ||
90 | __attribute__((__nonnull__ (2))) | ||
91 | __attribute__((format(printf, 2, 3))); | ||
92 | void jpake_debug3_buf(const u_char *, u_int, const char *, ...) | ||
93 | __attribute__((__nonnull__ (3))) | ||
94 | __attribute__((format(printf, 3, 4))); | ||
95 | void jpake_dump(struct jpake_ctx *, const char *, ...) | 83 | void jpake_dump(struct jpake_ctx *, const char *, ...) |
96 | __attribute__((__nonnull__ (2))) | 84 | __attribute__((__nonnull__ (2))) |
97 | __attribute__((format(printf, 2, 3))); | 85 | __attribute__((format(printf, 2, 3))); |
98 | struct jpake_ctx *jpake_new(void); | 86 | struct jpake_ctx *jpake_new(void); |
99 | void jpake_free(struct jpake_ctx *); | 87 | void jpake_free(struct jpake_ctx *); |
100 | 88 | ||
101 | void jpake_step1(struct jpake_group *, u_char **, u_int *, | 89 | void jpake_step1(struct modp_group *, u_char **, u_int *, |
102 | BIGNUM **, BIGNUM **, BIGNUM **, BIGNUM **, | 90 | BIGNUM **, BIGNUM **, BIGNUM **, BIGNUM **, |
103 | u_char **, u_int *, u_char **, u_int *); | 91 | u_char **, u_int *, u_char **, u_int *); |
104 | 92 | ||
105 | void jpake_step2(struct jpake_group *, BIGNUM *, | 93 | void jpake_step2(struct modp_group *, BIGNUM *, |
106 | BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, | 94 | BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, |
107 | const u_char *, u_int, const u_char *, u_int, | 95 | const u_char *, u_int, const u_char *, u_int, |
108 | const u_char *, u_int, const u_char *, u_int, | 96 | const u_char *, u_int, const u_char *, u_int, |
@@ -113,7 +101,7 @@ void jpake_confirm_hash(const BIGNUM *, | |||
113 | const u_char *, u_int, | 101 | const u_char *, u_int, |
114 | u_char **, u_int *); | 102 | u_char **, u_int *); |
115 | 103 | ||
116 | void jpake_key_confirm(struct jpake_group *, BIGNUM *, BIGNUM *, | 104 | void jpake_key_confirm(struct modp_group *, BIGNUM *, BIGNUM *, |
117 | BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, | 105 | BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, |
118 | const u_char *, u_int, const u_char *, u_int, | 106 | const u_char *, u_int, const u_char *, u_int, |
119 | const u_char *, u_int, const u_char *, u_int, | 107 | const u_char *, u_int, const u_char *, u_int, |
@@ -122,13 +110,5 @@ void jpake_key_confirm(struct jpake_group *, BIGNUM *, BIGNUM *, | |||
122 | int jpake_check_confirm(const BIGNUM *, const u_char *, u_int, | 110 | int jpake_check_confirm(const BIGNUM *, const u_char *, u_int, |
123 | const u_char *, u_int, const u_char *, u_int); | 111 | const u_char *, u_int, const u_char *, u_int); |
124 | 112 | ||
125 | /* schnorr.c */ | ||
126 | int schnorr_sign(const BIGNUM *, const BIGNUM *, const BIGNUM *, | ||
127 | const BIGNUM *, const BIGNUM *, const u_char *, u_int , | ||
128 | u_char **, u_int *); | ||
129 | int schnorr_verify(const BIGNUM *, const BIGNUM *, const BIGNUM *, | ||
130 | const BIGNUM *, const u_char *, u_int, | ||
131 | const u_char *, u_int); | ||
132 | |||
133 | #endif /* JPAKE_H */ | 113 | #endif /* JPAKE_H */ |
134 | 114 | ||