mirror of
				https://github.com/PowerShell/openssh-portable.git
				synced 2025-10-31 11:34:38 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			994 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			994 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $OpenBSD: chacha.h,v 1.5 2021/04/03 05:54:14 djm Exp $ */
 | |
| 
 | |
| /*
 | |
| chacha-merged.c version 20080118
 | |
| D. J. Bernstein
 | |
| Public domain.
 | |
| */
 | |
| 
 | |
| #ifndef CHACHA_H
 | |
| #define CHACHA_H
 | |
| 
 | |
| #include <sys/types.h>
 | |
| #include <stdlib.h>
 | |
| 
 | |
| struct chacha_ctx {
 | |
| 	u_int input[16];
 | |
| };
 | |
| 
 | |
| #define CHACHA_MINKEYLEN	16
 | |
| #define CHACHA_NONCELEN		8
 | |
| #define CHACHA_CTRLEN		8
 | |
| #define CHACHA_STATELEN		(CHACHA_NONCELEN+CHACHA_CTRLEN)
 | |
| #define CHACHA_BLOCKLEN		64
 | |
| 
 | |
| void chacha_keysetup(struct chacha_ctx *x, const u_char *k, u_int kbits)
 | |
|     __attribute__((__bounded__(__minbytes__, 2, CHACHA_MINKEYLEN)));
 | |
| void chacha_ivsetup(struct chacha_ctx *x, const u_char *iv, const u_char *ctr)
 | |
|     __attribute__((__bounded__(__minbytes__, 2, CHACHA_NONCELEN)))
 | |
|     __attribute__((__bounded__(__minbytes__, 3, CHACHA_CTRLEN)));
 | |
| void chacha_encrypt_bytes(struct chacha_ctx *x, const u_char *m,
 | |
|     u_char *c, u_int bytes)
 | |
|     __attribute__((__bounded__(__buffer__, 2, 4)))
 | |
|     __attribute__((__bounded__(__buffer__, 3, 4)));
 | |
| 
 | |
| #endif	/* CHACHA_H */
 | |
| 
 |