Fixed code for windows
This commit is contained in:
		
							parent
							
								
									438f6b3f77
								
							
						
					
					
						commit
						5ae5ff880a
					
				@ -18,11 +18,12 @@ set(SOURCE
 | 
				
			|||||||
		src/verify.c
 | 
							src/verify.c
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(USE_OPENSSL OFF)
 | 
				
			||||||
if(USE_OPENSSL)
 | 
					if(USE_OPENSSL)
 | 
				
			||||||
	add_definitions(-DUSE_OPENSSL)
 | 
						add_definitions(-DUSE_OPENSSL)
 | 
				
			||||||
	set(SOURCE ${SOURCE} src/sha512_openssl.c)
 | 
						set(SOURCE ${SOURCE} src/sha512_openssl.c)
 | 
				
			||||||
else()
 | 
					else()
 | 
				
			||||||
	message(FATAL_ERROR "Not supported yet!")
 | 
					#	message(FATAL_ERROR "Not supported yet!")
 | 
				
			||||||
	set(SOURCE ${SOURCE} src/sha512.c)
 | 
						set(SOURCE ${SOURCE} src/sha512.c)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								src/ge.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								src/ge.c
									
									
									
									
									
								
							@ -1,4 +1,3 @@
 | 
				
			|||||||
#include <memory.h>
 | 
					 | 
				
			||||||
#include "../include/ge.h"
 | 
					#include "../include/ge.h"
 | 
				
			||||||
#include "../include/precomp_data.h"
 | 
					#include "../include/precomp_data.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -328,7 +327,7 @@ void ge_p3_to_p2(ge_p2 *r, const ge_p3 *p) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ge_p2_to_p3(ge_p3 *r, const ge_p2 *p) {
 | 
					void ge_p2_to_p3(ge_p3 *r, const ge_p2 *p) {
 | 
				
			||||||
	uint8_t buffer[32];
 | 
					    unsigned char buffer[32];
 | 
				
			||||||
	ge_tobytes(buffer, p);
 | 
						ge_tobytes(buffer, p);
 | 
				
			||||||
	ge_frombytes_negate_vartime(r, buffer);
 | 
						ge_frombytes_negate_vartime(r, buffer);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										38
									
								
								src/sha512.c
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/sha512.c
									
									
									
									
									
								
							@ -8,7 +8,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include "../include/fixedint.h"
 | 
					#include "../include/fixedint.h"
 | 
				
			||||||
#include "../include/sha512.h"
 | 
					#include "../include/sha512.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -17,7 +17,7 @@ typedef struct sha512_context_ {
 | 
				
			|||||||
	uint64_t  length, state[8];
 | 
						uint64_t  length, state[8];
 | 
				
			||||||
	size_t curlen;
 | 
						size_t curlen;
 | 
				
			||||||
	unsigned char buf[128];
 | 
						unsigned char buf[128];
 | 
				
			||||||
} sha512_context;
 | 
					} sha512_internal_context;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* the K array */
 | 
					/* the K array */
 | 
				
			||||||
static const uint64_t K[80] = {
 | 
					static const uint64_t K[80] = {
 | 
				
			||||||
@ -95,7 +95,7 @@ static const uint64_t K[80] = {
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* compress 1024-bits */
 | 
					/* compress 1024-bits */
 | 
				
			||||||
static int _ed_sha512_compress(sha512_context *md, unsigned char *buf) {
 | 
					static int _ed_sha512_compress(sha512_internal_context *md, unsigned char *buf) {
 | 
				
			||||||
	uint64_t S[8], W[80], t0, t1;
 | 
						uint64_t S[8], W[80], t0, t1;
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -150,7 +150,7 @@ static int _ed_sha512_compress(sha512_context *md, unsigned char *buf) {
 | 
				
			|||||||
   @param md   The hash state you wish to initialize
 | 
					   @param md   The hash state you wish to initialize
 | 
				
			||||||
   @return 0 if successful
 | 
					   @return 0 if successful
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
int _ed_sha512_init(sha512_context *md) {
 | 
					int _ed_sha512_init(sha512_internal_context *md) {
 | 
				
			||||||
	if (md == NULL) return 1;
 | 
						if (md == NULL) return 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	md->curlen = 0;
 | 
						md->curlen = 0;
 | 
				
			||||||
@ -174,7 +174,7 @@ int _ed_sha512_init(sha512_context *md) {
 | 
				
			|||||||
   @param inlen  The length of the data (octets)
 | 
					   @param inlen  The length of the data (octets)
 | 
				
			||||||
   @return 0 if successful
 | 
					   @return 0 if successful
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
int _ed_sha512_update(sha512_context *md, const unsigned char *in, size_t inlen) {
 | 
					int _ed_sha512_update(sha512_internal_context *md, const unsigned char *in, size_t inlen) {
 | 
				
			||||||
	size_t n;
 | 
						size_t n;
 | 
				
			||||||
	size_t i;
 | 
						size_t i;
 | 
				
			||||||
	int err;
 | 
						int err;
 | 
				
			||||||
@ -220,7 +220,7 @@ int _ed_sha512_update(sha512_context *md, const unsigned char *in, size_t inlen)
 | 
				
			|||||||
   @param out [out] The destination of the hash (64 bytes)
 | 
					   @param out [out] The destination of the hash (64 bytes)
 | 
				
			||||||
   @return 0 if successful
 | 
					   @return 0 if successful
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
int _ed_sha512_final(sha512_context *md, unsigned char *out) {
 | 
					int _ed_sha512_final(sha512_internal_context *md, unsigned char *out) {
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (md == NULL) return 1;
 | 
						if (md == NULL) return 1;
 | 
				
			||||||
@ -268,17 +268,23 @@ int _ed_sha512_final(sha512_context *md, unsigned char *out) {
 | 
				
			|||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int _ed_sha512(const unsigned char *message, size_t message_len, unsigned char *out) {
 | 
					int __ed_sha512_final(sha512_context *md, unsigned char *out) {
 | 
				
			||||||
	sha512_context ctx;
 | 
					    auto result = _ed_sha512_final(md->context, out);
 | 
				
			||||||
	int ret;
 | 
					    free(md->context);
 | 
				
			||||||
	if ((ret = _ed_sha512_init(&ctx))) return ret;
 | 
					    return result;
 | 
				
			||||||
	if ((ret = _ed_sha512_update(&ctx, message, message_len))) return ret;
 | 
					}
 | 
				
			||||||
	if ((ret = _ed_sha512_final(&ctx, out))) return ret;
 | 
					
 | 
				
			||||||
	return 0;
 | 
					int __ed_sha512_init(sha512_context *md) {
 | 
				
			||||||
 | 
					    md->context = malloc(sizeof(sha512_internal_context));
 | 
				
			||||||
 | 
					    return _ed_sha512_init(md->context);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int __ed_sha512_update(sha512_context *md, const unsigned char *in, size_t inlen) {
 | 
				
			||||||
 | 
					    return _ed_sha512_update(md->context, in, inlen);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sha512_functions _ed_sha512_functions = {
 | 
					sha512_functions _ed_sha512_functions = {
 | 
				
			||||||
		_ed_sha512_init,
 | 
					        __ed_sha512_init,
 | 
				
			||||||
		_ed_sha512_final,
 | 
					        __ed_sha512_final,
 | 
				
			||||||
		_ed_sha512_update
 | 
					        __ed_sha512_update
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
							
								
								
									
										2
									
								
								test.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								test.c
									
									
									
									
									
								
							@ -21,7 +21,7 @@ int main() {
 | 
				
			|||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const unsigned char message[] = "Hello, world!";
 | 
					    const unsigned char message[] = "Hello, world!";
 | 
				
			||||||
    const int message_len = strlen((char*) message);
 | 
					    const size_t message_len = strlen((char*) message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* create a random seed, and a keypair out of that seed */
 | 
					    /* create a random seed, and a keypair out of that seed */
 | 
				
			||||||
    ed25519_create_seed(seed);
 | 
					    ed25519_create_seed(seed);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user