mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 12:00:56 +01:00
implemented pbp-compatible self encryption mode (symetrical encryption using scrypt(passphrase, static nonce), no pk)
This commit is contained in:
@@ -53,10 +53,12 @@ unsigned char *pcp_box_decrypt(pcp_key_t *secret, pcp_pubkey_t *pub,
|
||||
unsigned char *cipher, size_t ciphersize,
|
||||
size_t *dsize);
|
||||
|
||||
size_t pcp_encrypt_file(FILE *in, FILE* out, pcp_key_t *s, pcp_pubkey_t *p, int self);
|
||||
size_t pcp_encrypt_file(FILE *in, FILE* out, pcp_key_t *s, pcp_pubkey_t *p);
|
||||
|
||||
size_t pcp_decrypt_file(FILE *in, FILE* out, pcp_key_t *s);
|
||||
size_t pcp_decrypt_file(FILE *in, FILE* out, pcp_key_t *s, unsigned char *symkey);
|
||||
|
||||
size_t pcp_encrypt_file_sym(FILE *in, FILE* out, unsigned char *symkey, int havehead);
|
||||
|
||||
size_t pcp_decrypt_file_sym(FILE *in, FILE* out, unsigned char *symkey);
|
||||
|
||||
#endif // _HAVE_PCP_CRYPTO_H
|
||||
|
||||
@@ -67,12 +67,16 @@ typedef unsigned int qbyte; // Quad byte = 32 bits
|
||||
|
||||
// crypto file format stuff
|
||||
#define PCP_ASYM_CIPHER 5
|
||||
#define PCP_BLOCK_CIPHER 23
|
||||
#define PCP_SYM_CIPHER 23
|
||||
#define PCP_BLOCK_SIZE 32 * 1024
|
||||
#define PCP_BLOCK_SIZE_IN (PCP_BLOCK_SIZE) + 16 + crypto_secretbox_NONCEBYTES
|
||||
#define PCP_ASYM_RECIPIENT_SIZE ((crypto_secretbox_KEYBYTES + crypto_box_ZEROBYTES) - crypto_box_BOXZEROBYTES) + crypto_secretbox_NONCEBYTES
|
||||
#define PCP_CRYPTO_ADD (crypto_box_ZEROBYTES - crypto_box_BOXZEROBYTES)
|
||||
#define PCP_ASYM_RECIPIENT_SIZE crypto_secretbox_KEYBYTES + PCP_CRYPTO_ADD + crypto_secretbox_NONCEBYTES
|
||||
//#define PCP_ASYM_ADD_SENDER_PUB
|
||||
|
||||
// used for self encryption only
|
||||
#define PBP_COMPAT_SALT "qa~t](84z<1t<1oz:ik.@IRNyhG=8q(on9}4#!/_h#a7wqK{Nt$T?W>,mt8NqYq&6U<GB1$,<$j>,rSYI2GRDd:Bcm"
|
||||
|
||||
// error handling
|
||||
extern char *PCP_ERR;
|
||||
extern byte PCP_ERRSET;
|
||||
|
||||
Reference in New Issue
Block a user