more docs
This commit is contained in:
		
							parent
							
								
									50dcc217ea
								
							
						
					
					
						commit
						4ee64c0560
					
				
							
								
								
									
										42
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								readme.md
									
									
									
									
									
								
							@ -33,13 +33,47 @@ API
 | 
			
		||||
    int ed25519_create_seed(unsigned char *seed);
 | 
			
		||||
 | 
			
		||||
Creates a 32 byte random seed in `seed` for key generation. `seed` must be a
 | 
			
		||||
writable 32 byte buffer.
 | 
			
		||||
writable 32 byte buffer. Returns 0 on success, and nonzero on failure.
 | 
			
		||||
 | 
			
		||||
    int ed25519_create_keypair(unsigned char *verify_key, unsigned char *sign_key, const unsigned char *seed);
 | 
			
		||||
 | 
			
		||||
Creates a new key pair from the given seed. `verify_key` must be a writable 32
 | 
			
		||||
byte buffer, `sign_key` must be a writable 64 byte buffer and `seed` must be a
 | 
			
		||||
32 byte buffer.
 | 
			
		||||
32 byte buffer.  Returns 0 on success, and nonzero on failure.
 | 
			
		||||
 | 
			
		||||
    int ed25519_sign(unsigned char *signature, const unsigned char *message, size_t message_len, const unsigned char *sign_key);
 | 
			
		||||
    int ed25519_verify(const unsigned char *signature, const unsigned char *message, size_t message_len, const unsigned char *verify_key);
 | 
			
		||||
    int ed25519_sign(unsigned char *signature,
 | 
			
		||||
                     const unsigned char *message, size_t message_len,
 | 
			
		||||
                     const unsigned char *sign_key);
 | 
			
		||||
 | 
			
		||||
Creates a signature of the given message with `sign_key`. `signature` must be
 | 
			
		||||
a writable 64 byte buffer. `message` must have at least `message_len` bytes to
 | 
			
		||||
be read. `sign_key` must be a 64 byte signing key generated by
 | 
			
		||||
`ed25519_create_keypair`. Returns 0 on success, and nonzero on failure.
 | 
			
		||||
 | 
			
		||||
    int ed25519_verify(const unsigned char *signature,
 | 
			
		||||
                       const unsigned char *message, size_t message_len,
 | 
			
		||||
                       const unsigned char *verify_key);
 | 
			
		||||
 | 
			
		||||
Verifies the signature on the given message using verify_key. `signature` must be
 | 
			
		||||
a readable 64 byte buffer. `message` must have at least `message_len` bytes to
 | 
			
		||||
be read. `sign_key` must be a 32 byte verifying key generated by
 | 
			
		||||
`ed25519_create_keypair`. Returns 0 if the signature matches, 1 otherwise.
 | 
			
		||||
 | 
			
		||||
Example
 | 
			
		||||
-------
 | 
			
		||||
    unsigned char seed[32], sign_key[64], verify_key[32], signature[64];
 | 
			
		||||
    const unsigned char message[] = "TEST MESSAGE";
 | 
			
		||||
 | 
			
		||||
    /* create a random seed, and a keypair out of that seed */
 | 
			
		||||
    ed25519_create_seed(seed);
 | 
			
		||||
    ed25519_create_keypair(verify_key, sign_key, seed);
 | 
			
		||||
 | 
			
		||||
    /* create signature on the message with the sign key */
 | 
			
		||||
    ed25519_sign(signature, message, strlen(message), sign_key);
 | 
			
		||||
 | 
			
		||||
    /* verify the signature */
 | 
			
		||||
    if (ed25519_verify(signature, message, strlen(message), verify_key)) {
 | 
			
		||||
        printf("invalid signature\n");
 | 
			
		||||
    } else {
 | 
			
		||||
        printf("valid signature\n");
 | 
			
		||||
    }
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user