mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 03:50:57 +01:00
added raw library encryption test with static keys, cipher and message
This commit is contained in:
@@ -85,10 +85,7 @@ unsigned char *pcp_box_encrypt(pcp_key_t *secret, pcp_pubkey_t *public,
|
|||||||
unsigned char *message, size_t messagesize,
|
unsigned char *message, size_t messagesize,
|
||||||
size_t *csize) {
|
size_t *csize) {
|
||||||
|
|
||||||
//unsigned char *nonce = pcp_gennonce();
|
unsigned char *nonce = pcp_gennonce();
|
||||||
|
|
||||||
unsigned char *nonce = ucmalloc(crypto_secretbox_NONCEBYTES);
|
|
||||||
memset(nonce, 1, crypto_secretbox_NONCEBYTES);
|
|
||||||
|
|
||||||
unsigned char *cipher;
|
unsigned char *cipher;
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.\"
|
.\"
|
||||||
.IX Title "PCP1 1"
|
.IX Title "PCP1 1"
|
||||||
.TH PCP1 1 "2013-11-19" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION"
|
.TH PCP1 1 "2013-11-24" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION"
|
||||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||||
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
||||||
.if n .ad l
|
.if n .ad l
|
||||||
|
|||||||
@@ -20,7 +20,15 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
AM_CFLAGS = -I../include/pcp -Wall -g
|
AM_CFLAGS = -I../include/pcp -Wall -g
|
||||||
check_PROGRAMS = col invalidkeys pwhashes
|
check_PROGRAMS = col invalidkeys pwhashes gencheader statictest
|
||||||
|
|
||||||
|
gencheader_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
|
gencheader_SOURCES = gencheader.c
|
||||||
|
|
||||||
|
statictest_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
|
statictest_SOURCES = statictest.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
col_LDADD = ../libpcp/.libs/libpcp1.a
|
col_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
col_SOURCES = collisions.c ../src/compat_getopt.c
|
col_SOURCES = collisions.c ../src/compat_getopt.c
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ PRE_UNINSTALL = :
|
|||||||
POST_UNINSTALL = :
|
POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
build_triplet = @build@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT) pwhashes$(EXEEXT)
|
check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT) pwhashes$(EXEEXT) \
|
||||||
|
gencheader$(EXEEXT) statictest$(EXEEXT)
|
||||||
subdir = tests
|
subdir = tests
|
||||||
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||||
$(top_srcdir)/config/depcomp
|
$(top_srcdir)/config/depcomp
|
||||||
@@ -89,6 +90,9 @@ CONFIG_CLEAN_VPATH_FILES =
|
|||||||
am_col_OBJECTS = collisions.$(OBJEXT) compat_getopt.$(OBJEXT)
|
am_col_OBJECTS = collisions.$(OBJEXT) compat_getopt.$(OBJEXT)
|
||||||
col_OBJECTS = $(am_col_OBJECTS)
|
col_OBJECTS = $(am_col_OBJECTS)
|
||||||
col_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
col_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||||
|
am_gencheader_OBJECTS = gencheader.$(OBJEXT)
|
||||||
|
gencheader_OBJECTS = $(am_gencheader_OBJECTS)
|
||||||
|
gencheader_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||||
am_invalidkeys_OBJECTS = invalidkeys.$(OBJEXT)
|
am_invalidkeys_OBJECTS = invalidkeys.$(OBJEXT)
|
||||||
invalidkeys_OBJECTS = $(am_invalidkeys_OBJECTS)
|
invalidkeys_OBJECTS = $(am_invalidkeys_OBJECTS)
|
||||||
invalidkeys_DEPENDENCIES = ../libpcp/.libs/libpcp1.a ../src/keyprint.o \
|
invalidkeys_DEPENDENCIES = ../libpcp/.libs/libpcp1.a ../src/keyprint.o \
|
||||||
@@ -96,6 +100,9 @@ invalidkeys_DEPENDENCIES = ../libpcp/.libs/libpcp1.a ../src/keyprint.o \
|
|||||||
am_pwhashes_OBJECTS = pwhashes.$(OBJEXT)
|
am_pwhashes_OBJECTS = pwhashes.$(OBJEXT)
|
||||||
pwhashes_OBJECTS = $(am_pwhashes_OBJECTS)
|
pwhashes_OBJECTS = $(am_pwhashes_OBJECTS)
|
||||||
pwhashes_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
pwhashes_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||||
|
am_statictest_OBJECTS = statictest.$(OBJEXT)
|
||||||
|
statictest_OBJECTS = $(am_statictest_OBJECTS)
|
||||||
|
statictest_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/pcp
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/pcp
|
||||||
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
@@ -109,9 +116,11 @@ CCLD = $(CC)
|
|||||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||||
$(LDFLAGS) -o $@
|
$(LDFLAGS) -o $@
|
||||||
SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) $(pwhashes_SOURCES)
|
SOURCES = $(col_SOURCES) $(gencheader_SOURCES) $(invalidkeys_SOURCES) \
|
||||||
DIST_SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) \
|
$(pwhashes_SOURCES) $(statictest_SOURCES)
|
||||||
$(pwhashes_SOURCES)
|
DIST_SOURCES = $(col_SOURCES) $(gencheader_SOURCES) \
|
||||||
|
$(invalidkeys_SOURCES) $(pwhashes_SOURCES) \
|
||||||
|
$(statictest_SOURCES)
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
case $$AM_UPDATE_INFO_DIR in \
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
n|no|NO) false;; \
|
n|no|NO) false;; \
|
||||||
@@ -234,6 +243,10 @@ top_build_prefix = @top_build_prefix@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
AM_CFLAGS = -I../include/pcp -Wall -g
|
AM_CFLAGS = -I../include/pcp -Wall -g
|
||||||
|
gencheader_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
|
gencheader_SOURCES = gencheader.c
|
||||||
|
statictest_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
|
statictest_SOURCES = statictest.c
|
||||||
col_LDADD = ../libpcp/.libs/libpcp1.a
|
col_LDADD = ../libpcp/.libs/libpcp1.a
|
||||||
col_SOURCES = collisions.c ../src/compat_getopt.c
|
col_SOURCES = collisions.c ../src/compat_getopt.c
|
||||||
invalidkeys_LDADD = ../libpcp/.libs/libpcp1.a \
|
invalidkeys_LDADD = ../libpcp/.libs/libpcp1.a \
|
||||||
@@ -289,12 +302,18 @@ clean-checkPROGRAMS:
|
|||||||
col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES) $(EXTRA_col_DEPENDENCIES)
|
col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES) $(EXTRA_col_DEPENDENCIES)
|
||||||
@rm -f col$(EXEEXT)
|
@rm -f col$(EXEEXT)
|
||||||
$(LINK) $(col_OBJECTS) $(col_LDADD) $(LIBS)
|
$(LINK) $(col_OBJECTS) $(col_LDADD) $(LIBS)
|
||||||
|
gencheader$(EXEEXT): $(gencheader_OBJECTS) $(gencheader_DEPENDENCIES) $(EXTRA_gencheader_DEPENDENCIES)
|
||||||
|
@rm -f gencheader$(EXEEXT)
|
||||||
|
$(LINK) $(gencheader_OBJECTS) $(gencheader_LDADD) $(LIBS)
|
||||||
invalidkeys$(EXEEXT): $(invalidkeys_OBJECTS) $(invalidkeys_DEPENDENCIES) $(EXTRA_invalidkeys_DEPENDENCIES)
|
invalidkeys$(EXEEXT): $(invalidkeys_OBJECTS) $(invalidkeys_DEPENDENCIES) $(EXTRA_invalidkeys_DEPENDENCIES)
|
||||||
@rm -f invalidkeys$(EXEEXT)
|
@rm -f invalidkeys$(EXEEXT)
|
||||||
$(LINK) $(invalidkeys_OBJECTS) $(invalidkeys_LDADD) $(LIBS)
|
$(LINK) $(invalidkeys_OBJECTS) $(invalidkeys_LDADD) $(LIBS)
|
||||||
pwhashes$(EXEEXT): $(pwhashes_OBJECTS) $(pwhashes_DEPENDENCIES) $(EXTRA_pwhashes_DEPENDENCIES)
|
pwhashes$(EXEEXT): $(pwhashes_OBJECTS) $(pwhashes_DEPENDENCIES) $(EXTRA_pwhashes_DEPENDENCIES)
|
||||||
@rm -f pwhashes$(EXEEXT)
|
@rm -f pwhashes$(EXEEXT)
|
||||||
$(LINK) $(pwhashes_OBJECTS) $(pwhashes_LDADD) $(LIBS)
|
$(LINK) $(pwhashes_OBJECTS) $(pwhashes_LDADD) $(LIBS)
|
||||||
|
statictest$(EXEEXT): $(statictest_OBJECTS) $(statictest_DEPENDENCIES) $(EXTRA_statictest_DEPENDENCIES)
|
||||||
|
@rm -f statictest$(EXEEXT)
|
||||||
|
$(LINK) $(statictest_OBJECTS) $(statictest_LDADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT)
|
||||||
@@ -304,8 +323,10 @@ distclean-compile:
|
|||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collisions.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collisions.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat_getopt.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat_getopt.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gencheader.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/invalidkeys.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/invalidkeys.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwhashes.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwhashes.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statictest.Po@am__quote@
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
|||||||
@@ -3,33 +3,33 @@
|
|||||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||||
Owner: Bart
|
Owner: Bart
|
||||||
Mail: bart@local
|
Mail: bart@local
|
||||||
Key-ID: 0x9AD180B48F2746E7
|
Key-ID: 0x8C26BF8A5F2C72E8
|
||||||
Public-Key: 0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu&Qfb
|
Public-Key: 1gxyGI2IKAa=A*)lJG78tgkw350bPzBaCtxH%G6ZbldYz
|
||||||
Creation Time: 2013-11-19T14:56:12
|
Creation Time: 2013-11-24T19:39:00
|
||||||
Checksum: 06:95:B5:78:15:E4:F7:DB:34:B2:02:ED:B5:3F:C9:6D
|
Checksum: FE:EC:88:38:A1:4F:7E:1B:BB:05:95:5E:81:58:DF:24
|
||||||
4F:20:1F:94:19:27:32:31:7C:E2:8F:A4:C4:30:29:12
|
2F:CA:8A:61:EE:6B:F4:13:AE:53:5C:BC:68:AC:AC:E5
|
||||||
Serial Number: 0xEBBF8898
|
Serial Number: 0xB0E778FA
|
||||||
Key Version: 0x00000004
|
Key Version: 0x00000004
|
||||||
Random Art ID: +----------------+
|
Random Art ID: +----------------+
|
||||||
| o |
|
|
||||||
| . + |
|
|
||||||
|. . . . . |
|
|
||||||
| o . . |
|
|
||||||
|= . . . |
|
|
||||||
| * o . |
|
|
||||||
|. . . |
|
|
||||||
| |
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| . . |
|
||||||
|
| . . . + . |
|
||||||
|
|. . .. + o |
|
||||||
|
|. .o o o |
|
||||||
|
| ..o.. . |
|
||||||
+----------------+
|
+----------------+
|
||||||
|
|
||||||
0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu]Y@S75-O9Mv]$?.q^!NtEu4[3ULQ*3
|
1gxyGI2IKAa=A*)lJG78tgkw350bPzBaCtxH%G6ZbFH2!uP]vMhKFj6gldkUZcd%$g+^M[J
|
||||||
Vo-nB)uSVbsk*VBo0GfGcp5NMsb^MqUj3:(i<P.9.n&LRzz{w]Q?f9-PYZCwtWU21oZaNa=
|
hj]eN6g9@eKA(^Bo5dCk(2m^n2SL^O*p?](fdGuF^@zqPuoJ3jHD)Vd^GqNMs*fRHWcT3Pe
|
||||||
j^kQei@&!=*NpwtOrV-QzR1zND=Egb92!@t(IDpLVbnaV*dHm*b{rFgz45&oWV9=#/{jqI0
|
0v5=Kbj}!K#W1z3Qqx(m{B8M/Gma<lOS$S#u^wK1lGqctK3sqXNvncbegBTh}cvN9{JYw8&
|
||||||
cV2.>8nz(cq3H6.w60rb<yn)?!OWkT9TDJx[)GF3AmGjOAvnQ*nz]bMa5/{00gk2NW.gXF*
|
s!E?C9Yosz}yP/$a>U0$Q]IkMbwwfEPN-vrd/sM/HXLSfDlHA<nclmppD8VN{u5dZYs^sOO
|
||||||
3tKEn0S.s{H(+w>[8w#)?kG=ixxk.XFGa/pI9%^px=>Gl+ou22k)0+pTT*S6#IoIK3Ix#)L
|
FDfo^.dQ{7}oM5^1l$hJy-.3ToZ+X%[?!!e23Gyj8o^s{tMvJ]/:HeI!ZY-mA}Q^47HuC*9
|
||||||
Pr3<4W!(KgAU5yvR/Ep]g.t):??2QC*!fRka&uG!ojG2zvQTq0kX$vGvqC}NxLDX7cR3T@/
|
G4ccB9jJ.q<#z9p3Xc2EjWcUv^Rdv8n66HII>MJyes5iOvQTq0kX$vGvqC}CVj<L?bbiE#W
|
||||||
ldGZoc+WNkcGX0k}d2Kh?H.ra6J=^vMW(p>Fy}FnM)ce@b>E*/EsTFQ}C4J&mpjX.KU7#?j
|
SaVJ6q.O3l&%A=jUpi=y*/1=-fQdqE#qi0w%LPdvNDGXpi>3!OnvaP.R<cwUQK@WU%uTXXA
|
||||||
OZKaHWA76Y>1VHsv0H9BV?cKr9J.r3*r9ps<S5@}>$j-9>p1t6I=F3*xOLyH*K2Y7sL-vBz
|
whBpbL[@>ui86&vy^lU9sE^G$1&-]iQ@Q^T$TB{h}79MD!oL}&9:5wc/]4ZwHW}r0g>/t&v
|
||||||
It/w[a<NuL1jpypjWP3GyZHZUi$+ns!)DnD(raKG^%R}SO)G0jf9EX}O2p<EA#nl<mT<TVz
|
^2Ic+6Cpm-0QxL*QeL[q#CLn!g9{<Ez&@q:AAWpBu1y0fjH5[?/0=<<-78K={i.q9O%HEn-
|
||||||
JC$}A)+lZWm4P.w]/Z$EO[H0STPtumZ8w&Q)Ai9&j]55oJoBh:(iud<gmkEvQOb]Z.eD]Ve
|
gp<cL&9Jj%yMiLeXI3=qJ:f7gO5Z?MK@2rj=MSKG)B!UcHL)ny@+/Y}k]G+D/ZLU({^WNTR
|
||||||
.=p^SSp(@Ck$0B!fHvPQmLV[VhBPL80@@r308!.(}#uY%1NA*UM&E9^
|
V{a(u^RJwLlOZL^mMrW>mLWs&gdse50@@r308!$I.#G=q1Hd6l}tZG}
|
||||||
------ END PCP PUBLICKEY ------
|
------ END PCP PUBLICKEY ------
|
||||||
|
|||||||
@@ -1,90 +0,0 @@
|
|||||||
PREFIX = $(HOME)/usr
|
|
||||||
BUILD = $(HOME)/build
|
|
||||||
|
|
||||||
GITSODIUM = https://github.com/jedisct1/libsodium.git
|
|
||||||
GITPCP = https://github.com/TLINDEN/pcp.git
|
|
||||||
|
|
||||||
DIRCFG = Config-General-2.52
|
|
||||||
DIRTIE = Tie-IxHash-1.23
|
|
||||||
DIRYAM = YAML-0.84
|
|
||||||
|
|
||||||
GZCFG = $(DIRCFG).tar.gz
|
|
||||||
GZTIE = $(DIRTIE).tar.gz
|
|
||||||
GZYAM = $(DIRYAM).tar.gz
|
|
||||||
|
|
||||||
CPANCFG = http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/$(GZCFG)
|
|
||||||
CPANTIE = http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/$(GZTIE)
|
|
||||||
CPANYAM = http://search.cpan.org/CPAN/authors/id/M/MS/MSTROUT/$(GZYAM)
|
|
||||||
|
|
||||||
HAVEPERL = $(PREFIX)/_haveperl
|
|
||||||
HAVESODIUM = $(PREFIX)/_havesodium
|
|
||||||
|
|
||||||
SRCSODIUM = $(BUILD)/libsodium
|
|
||||||
SRCPCP = $(BUILD)/pcp
|
|
||||||
|
|
||||||
all: prepare fetch config-sodium compile-sodium install-sodium config-pcp compile-pcp install-pcp test-pcp
|
|
||||||
@echo done
|
|
||||||
|
|
||||||
|
|
||||||
prepare:
|
|
||||||
if test ! -d $(PREFIX); then mkdir -p $(PREFIX); fi
|
|
||||||
if test ! -d $(BUILD); then mkdir -p $(BUILD); fi
|
|
||||||
|
|
||||||
perl: prepare
|
|
||||||
if test ! -f $(HAVEPERL); then \
|
|
||||||
cd $(BUILD) && wget $(CPANCFG) && gunzip -c $(GZCFG) | tar -x -f -; \
|
|
||||||
cd $(BUILD)/$(DIRCFG) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
|
|
||||||
cd $(BUILD) && wget $(CPANTIE) && gunzip -c $(GZTIE) | tar -x -f -; \
|
|
||||||
cd $(BUILD)/$(DIRTIE) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
|
|
||||||
cd $(BUILD) && wget $(CPANYAM) && gunzip -c $(GZYAM) | tar -x -f -; \
|
|
||||||
cd $(BUILD)/$(DIRYAM) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
|
|
||||||
touch $(HAVEPERL); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
fetch: prepare
|
|
||||||
if test ! -d $(SRCSODIUM); then \
|
|
||||||
cd $(BUILD) && git clone $(GITSODIUM); \
|
|
||||||
else \
|
|
||||||
cd $(SRCSODIUM) && git pull; \
|
|
||||||
fi
|
|
||||||
if test ! -d $(SRCPCP); then \
|
|
||||||
cd $(BUILD) && git clone $(GITPCP); \
|
|
||||||
else \
|
|
||||||
cd $(SRCPCP) && git pull; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config-sodium:
|
|
||||||
if test ! -f $(HAVESODIUM); then \
|
|
||||||
cd $(SRCSODIUM) && ./autogen.sh; \
|
|
||||||
cd $(SRCSODIUM) && ./configure --prefix=$(PREFIX); \
|
|
||||||
touch $(HAVESODIUM); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config-pcp:
|
|
||||||
cd $(SRCPCP) && ./configure --prefix=$(PREFIX) --with-libsodium=$(PREFIX)
|
|
||||||
|
|
||||||
compile-sodium:
|
|
||||||
if test ! -f $(HAVESODIUM); then \
|
|
||||||
cd $(SRCSODIUM) && make; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
compile-pcp:
|
|
||||||
cd $(SRCPCP) && make
|
|
||||||
|
|
||||||
install-sodium:
|
|
||||||
if test ! -f $(HAVESODIUM); then \
|
|
||||||
cd $(SRCSODIUM) && make install; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
install-pcp:
|
|
||||||
cd $(SRCPCP) && make install
|
|
||||||
|
|
||||||
clean:
|
|
||||||
cd $(SRCSODIUM) && make clean
|
|
||||||
cd $(SRCPCP) && make clean
|
|
||||||
rm -rf $(PREFIX)
|
|
||||||
|
|
||||||
test-pcp: perl
|
|
||||||
ln -sf $(PREFIX)/share/perl/5.10.1 $(SRCPCP)/tests/lib
|
|
||||||
cd $(SRCPCP) && make test
|
|
||||||
36
tests/gencheader.c
Normal file
36
tests/gencheader.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#include <pcp.h>
|
||||||
|
|
||||||
|
void pr(char *var, unsigned char *d, size_t len) {
|
||||||
|
printf("size_t %s_len = %ld;\n", var, len);
|
||||||
|
printf("unsigned char %s[%ld] = {\n", var, len);
|
||||||
|
size_t i;
|
||||||
|
for(i=0; i<len-1; ++i) {
|
||||||
|
printf("0x%02x, ", (unsigned int)d[i]);
|
||||||
|
if (i % 8 == 7) printf("\n");
|
||||||
|
}
|
||||||
|
printf("0x%02x\n};\n\n", (unsigned int)d[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
pcp_key_t *a = pcpkey_new();
|
||||||
|
pcp_key_t *b = pcpkey_new();
|
||||||
|
pcp_pubkey_t *p = pcpkey_pub_from_secret(b);
|
||||||
|
|
||||||
|
unsigned char m[12] = "hallo world";
|
||||||
|
|
||||||
|
size_t clen;
|
||||||
|
unsigned char *c = pcp_box_encrypt(a, p, m, 12, &clen);
|
||||||
|
unsigned char *n = ucmalloc(24);
|
||||||
|
|
||||||
|
memcpy(n, c, 24);
|
||||||
|
|
||||||
|
pr("secret_a", a->secret, 32);
|
||||||
|
pr("public_a", a->public, 32);
|
||||||
|
pr("secret_b", b->secret, 32);
|
||||||
|
pr("public_b", b->public, 32);
|
||||||
|
pr("message", m, 12);
|
||||||
|
pr("nonce", n, 24);
|
||||||
|
pr("cipher", &c[24], clen - 24);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -54,4 +54,6 @@ idalicia = $ida
|
|||||||
mailbobby = bobby@local
|
mailbobby = bobby@local
|
||||||
mailalicia = alicia@local" > keys.cfg
|
mailalicia = alicia@local" > keys.cfg
|
||||||
|
|
||||||
|
./gencheader > static.h
|
||||||
|
|
||||||
rm -f vxxx
|
rm -f vxxx
|
||||||
|
|||||||
@@ -3,33 +3,33 @@
|
|||||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||||
Owner: Alicia
|
Owner: Alicia
|
||||||
Mail: alicia@local
|
Mail: alicia@local
|
||||||
Key-ID: 0x23E0082C8250DB56
|
Key-ID: 0x518602BB8F2D8C7F
|
||||||
Public-Key: 1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa]?Py
|
Public-Key: 1eRhFt(S$Aj[MWvNqYUgL(Mfpe86usIa9bvMwFc/7YTKo
|
||||||
Creation Time: 2013-11-19T14:56:11
|
Creation Time: 2013-11-24T19:38:59
|
||||||
Checksum: 86:A5:27:8C:C8:8E:2D:3E:14:36:6C:14:B9:1F:FB:2B
|
Checksum: 12:FE:CA:AD:09:3E:9F:2D:3D:3A:E8:8C:86:D5:75:58
|
||||||
21:20:E7:D6:7C:E3:B1:C8:3B:49:3F:7E:07:5A:D3:ED
|
C3:9C:5C:51:96:F7:1E:FA:0F:6D:75:1C:20:87:53:2D
|
||||||
Serial Number: 0xC82855BB
|
Serial Number: 0x49B690C5
|
||||||
Key Version: 0x00000004
|
Key Version: 0x00000004
|
||||||
Random Art ID: +----------------+
|
Random Art ID: +----------------+
|
||||||
| |
|
| . |
|
||||||
| o oo |
|
| . . . |
|
||||||
| . +o.o|
|
| o o |
|
||||||
| . .+ |
|
| . + . .|
|
||||||
| . ooo|
|
| . = . +o|
|
||||||
| +o|
|
| . . o +|
|
||||||
| . |
|
| . |
|
||||||
| |
|
| |
|
||||||
+----------------+
|
+----------------+
|
||||||
|
|
||||||
1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa%i2InPXn<7fm@^FT&}@4g)AWW$O$O>
|
1eRhFt(S$Aj[MWvNqYUgL(Mfpe86usIa9bvMwFc/7^R<>]u#!:jIb>^+HObot$n)mmc+r:n
|
||||||
4kNwnRosYGf:r/v}/uKOROHY&elN9jI+.GcW<FLwWeDsQ?=5si770*ne@h@H.wYcFO^4O26
|
}14[Zcddn*^b:<v}/uKAjgTDFi}ApL/jtC[47Yg8Rx#$)%tEdZp-Utr0(jI[%%jWp)pt0u+
|
||||||
01$:tISi+G+v$+}zM^4R-E#t%baPJK%k(?CucUlG<g27)*VLqS[Q@Q}48$Ibb$AkOAgr!zE
|
ys-SF.j-oM(RKNiE:#[v*Bj+8&JH2rQ3EBCDs*J<U)sgcm[(7&=<3x/T:xEi6!Vz-#=C>:?
|
||||||
8ekb5zJS1tFI1Gl1GHn6gEx#Tjwnv5(8@QA$#Q>2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.
|
%SZKTmRJYshko/&>x<*o77i[XM3W^-(OEt>6IvJkr]D<&D4cN?z.&Gl//X/D[KsAOUwlMLz
|
||||||
7]cf{>bclF.g><x#-.Hi5ShiWU)LF{mk@pRR?>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lb
|
fCSdcJ@a>wDHDFwj@M!RyQo.OT5jB0C5^&1J[>}d5bBR}lYwK+rlZfP&yme.D}}vxg6SW^U
|
||||||
xCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq>VC63ao(=%BvqGT/x<<nyz!0i(0e&g28u0@tJ
|
U$(/JeTC(w6t.*v9LxYl>7kQ^W)!sN5pBP+P(eVO)5Wu7vqGT/x<<nyz!0i(06bWS5^dXUT
|
||||||
fs2QN]rhB%b^@&UQh0!X6QO#AGP)sBpkf^p4kG#neN$(oB9>VJ)W1*}v9oc&mf2HN++3.wU
|
(DC.Y]e*d]r^yB>4zpJbh{}Smh5R?}42cWM@YOy+P2$/+Z#d=11b)8u]L[rh]7!DJglxt=-
|
||||||
Z$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{
|
E=o)OI1s)g(rbpa8I{AJKG[nkxhVzf(j}!tgtaLm7t]B-<xSdHrqbQzOFJFhW%Y@^q-/})F
|
||||||
dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rpXf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$
|
iDJMM}@oSyNeIy=e#MrKPF-:M@TZ2D05hhG]LMB/p{h<E@UpM]]@>3=tBMsTL$Q27$%n+wm
|
||||||
VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT+%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(F
|
72<g62jV:ZR&Ry&IxL)P]zK?r%I@:${D<z>F):2ctn)*?IOe64&^>h={:UX7fKdj{myaS[o
|
||||||
P{N#?i6+XygES#Ki5i&XgbQ:NlnZU30@@r308!.(}V3P@1JR#>Y8R*h
|
l>o*<]dLqBf/R6Bgd1q!mLWv>lPmEm0@@r308!$I.VfVp1wc4--q/(r
|
||||||
------ END PCP PUBLICKEY ------
|
------ END PCP PUBLICKEY ------
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
----- BEGIN PCP SECRET KEY -----
|
----- BEGIN PCP SECRET KEY -----
|
||||||
Generated by: Pretty Curved Privacy Version 0.1.5
|
Generated by: Pretty Curved Privacy Version 0.1.5
|
||||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||||
Key-ID: 0x23E0082C8250DB56
|
Key-ID: 0x518602BB8F2D8C7F
|
||||||
Creation Time: 2013-11-19T14:56:11
|
Creation Time: 2013-11-24T19:38:59
|
||||||
Serial Number: 0xC82855BB
|
Serial Number: 0x49B690C5
|
||||||
Key Version: 0x00000004
|
Key Version: 0x00000004
|
||||||
|
|
||||||
1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa])FA/eI>rvJhcifZHSec%lWfh#MRFH
|
1eRhFt(S$Aj[MWvNqYUgL(Mfpe86usIa9bvMwFc/7YWNWenlDKe}(VQ/s$k>o^GU#w}zX3=
|
||||||
zliU2nzAK^JsWOnPXn<7fm@^FT&}@4g)AWW$O$O>4kNwnRosYG8/:Nn.^v}oixcz?Ff*t{R
|
rBetin9dCRA[]K]u#!:jIb>^+HObot$n)mmc+r:n}14[Zcddn*YeWrQP[h1^k(qBeTLOaPu
|
||||||
Ff}J]4J)]a{l^ok)SLd0WSQS=T<I-B}v4Cg-m*9Q]UkuIN#kcp6TsodS>iBsSJQ3O{-fVlp
|
s-O0DqovBY*z=5R^{3zjI{g[+3[fISYF!ob)X3lR[9AwygvJsm*!A=}gmEY><uSWCseu5dd
|
||||||
<w(0%DDpmjQ72)L+wk9lY1/olL%zoV2}gy[ElD]f%tR>rs{mfZIC>/3^l+T}))0mG(ui>0y
|
l?Ge1gQ+va(z!lDEaEeksX3y0:+V7SIZIkS0k}GDMEh$Y>OUxP@Z?Fsx6fa{br>VG3A]P4X
|
||||||
bJXO?#7CN@H1G7giGKS5T69Qq!4M[p>xn4@u/q*3N>Ml8[CTldWv}/uKOROHY&elN9jI+.G
|
vT%6^J31QsR+hG*U2V%:ex7j}5wyWf{frah/+j:R}{]h3H@Y$vmv}/uKAjgTDFi}ApL/jtC
|
||||||
cW<FLwWeDsQ?=5si770*ne@h@H.wYcFO^4O2601$:tISi+G+v$+}zM^4R-E#t%baPJK%k(?
|
[47Yg8Rx#$)%tEdZp-Utr0(jI[%%jWp)pt0u+ys-SF.j-oM(RKNiE:#[v*Bj+8&JH2rQ3EB
|
||||||
CucUlG<g27)*VLqS[Q@Q}48$Ibb$AkOAgr!zE8ekb5zJS1tFI1Gl1GHn6gEx#Tjwnv5(8@Q
|
CDs*J<U)sgcm[(7&=<3x/T:xEi6!Vz-#=C>:?%SZKTmRJYshko/&>x<*o77i[XM3W^-(OEt
|
||||||
A$#Q>2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.7]cf{>bclF.g><x#-.Hi5ShiWU)LF{mk@p
|
>6IvJkr]D<&D4cN?z.&Gl//X/D[KsAOUwlMLzfCSdcJ@a>wDHDFwj@M!RyQo.OT5jB0C5^&
|
||||||
RR?>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lbxCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq
|
1J[>}d5bBR}lYwK+rlZfP&yme.D}}vxg6SW^UU$(/JeTC(w6t.*v9LxYl>7kQ^W)!sN5pBP
|
||||||
>VC63ao(=%BvqGT/x<<nyz!0i(0e&g28u0@tJfs2QN]rhB%b^@&UQh0!X6QO#AGP)sBpkf^
|
+P(eVO)5Wu7vqGT/x<<nyz!0i(06bWS5^dXUT(DC.Y]e*d]r^yB>4zpJbh{}Smh5R?}42cW
|
||||||
p4kG#neN$(oB9>VJ)W1*}v9oc&mf2HN++3.wUZ$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:
|
M@YOy+P2$/+Z#d=11b)8u]L[rh]7!DJglxt=-E=o)OI1s)g(rbpa8I{AJKG[nkxhVzf(j}!
|
||||||
dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rp
|
tgtaLm7t]B-<xSdHrqbQzOFJFhW%Y@^q-/})FiDJMM}@oSyNeIy=e#MrKPF-:M@TZ2D05hh
|
||||||
Xf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT
|
G]LMB/p{h<E@UpM]]@>3=tBMsTL$Q27$%n+wm72<g62jV:ZR&Ry&IxL)P]zK?r%I@:${D<z
|
||||||
+%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(FP{N#?i6+XygES#Ki5i&XgbQ:NlnZU30rr9
|
>F):2ctn)*?IOe64&^>h={:UX7fKdj{myaS[ol>o*<]dLqBf/R6Bgd1q!mLWv>lPmEm0rr9
|
||||||
108!.(}V3P@1JR#>Y8R*h
|
108!$I.VfVp1wc4--q/(r
|
||||||
------ END PCP SECRET KEY ------
|
------ END PCP SECRET KEY ------
|
||||||
|
|||||||
@@ -3,33 +3,33 @@
|
|||||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||||
Owner: Bobby
|
Owner: Bobby
|
||||||
Mail: bobby@local
|
Mail: bobby@local
|
||||||
Key-ID: 0x1749A29D12CA3FC5
|
Key-ID: 0x8F8C31402D541153
|
||||||
Public-Key: 1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff8$$L
|
Public-Key: 18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXf8$$L
|
||||||
Creation Time: 2013-11-19T14:56:11
|
Creation Time: 2013-11-24T19:38:59
|
||||||
Checksum: 29:26:30:F0:37:EF:EC:8D:4C:8E:0A:0D:CD:0D:A1:21
|
Checksum: CE:2C:FF:3F:D0:D3:C3:46:7D:3A:32:10:9E:92:22:3F
|
||||||
51:89:EA:56:F9:54:19:D0:EB:69:F4:7F:8F:2D:E7:E0
|
2B:D3:EE:FB:66:53:01:E8:07:9A:83:12:2D:D7:D0:7D
|
||||||
Serial Number: 0x73C06B1E
|
Serial Number: 0x53010B68
|
||||||
Key Version: 0x00000004
|
Key Version: 0x00000004
|
||||||
Random Art ID: +----------------+
|
Random Art ID: +----------------+
|
||||||
| . . |
|
|
||||||
| * . |
|
|
||||||
| = + |
|
|
||||||
| o . . o |
|
|
||||||
| . = o |
|
|
||||||
| o o |
|
|
||||||
| . |
|
|
||||||
| |
|
| |
|
||||||
|
| |
|
||||||
|
| . |
|
||||||
|
| . |
|
||||||
|
|. . . |
|
||||||
|
|+ . o . |
|
||||||
|
|o+o . + |
|
||||||
|
| ==. . |
|
||||||
+----------------+
|
+----------------+
|
||||||
|
|
||||||
1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akffmc5iOurCi1Ip/71wZ^})-qyTe}4KGy
|
18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXfrMI6SgVY^IjrNb3P[$qAOIRFH<B<8=
|
||||||
@QWuan[+6[<mn7vTd@2vNG=oSC<E$^=Rr*w-v4$aA}A$6[A*QJ}]rnly*m92jKZqZWm2DLD
|
l<.=Q=>?c]*iOavTd%r/nn>4bO*92Ze8fnC(FSptK+Eu%4(or7sRgc7GvB[li3mawTB19uM
|
||||||
=A{WWaR[+D=>qhs{@*4)9kryQwSUVp:95@hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5
|
%abae])GA#q@z}Zv^Ft[-SEJk9#79PZ4:g{G#6Z$}@iFL6%meRnU?{=<r142me^V++FD+nG
|
||||||
s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}vd+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6
|
p73vy5k?aV5naU5[gPq/m5:SL@FslmO:bAkwJeLuwP9[:Fitmv:i&dmj]N88kdJ4ubcSg1g
|
||||||
PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2.P0JX5c*w0GW<Ku6RJzOz675YVS}88+<yl2k@
|
bg%bE3N!ajVMV^21?A{MRVTP@k+bIs&v:u2qG[^/{cD>US>6xM[xO4Tz.8KO&^h?h:M.=xc
|
||||||
5!YGJwYW+y:xff[Qf7PXiD6uo-mMHAjCaM8Fh*3Cncjh+vSbZ+C%Dg:v{%fN>n1CDR%aF@&
|
@70}#QM{lw[o?.[LCwyXmgQPNH@fZzm9Gz4b?%8*fQSNKvSbZ+C%Dg:v{%fNqBbn7tc.Ygi
|
||||||
[>]aU-<cu-O}4WetV4SWc:6#+wlSzV=RWwpI$2p*a^<.VV%PQFrf7Lq%W?5z-mkizt.guKw
|
.:ushR:wNi:YYbij8Zti0Fr]/J=!/NHcQKm8@*m6#J4#-of+%Il@Doo2W1(+s$}uyqmd@?z
|
||||||
$/Vl-(ilZNvW@y+L?*94bI5lzeqPBvcg@td]f*tt]E}eBXf%Ufi1rO^Q=a(Tjp}epZa+4gk
|
*@*QBgKy3%YW!zHGIZT<Nolii!N(QKxsb!Z%BiTcnIPduViC=m&k$R(r7N([(#**!IWCBVS
|
||||||
Kf*zqRkFCr2qCK]h0<V1f6bdv%aZ^j:$/}NGrWL?fET)$OhvbB)L:/5x({NM>+Qbax29{}H
|
O6:L$$@q<f^&}oXSO(ZrOI6[70NA(dK}iff{JgA&zObTyKE>}}1XY6f({Aqmt0bUb0[8>9j
|
||||||
th(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!
|
v42PeNv76*v]V<evqwQ-{5<:D$D+yC^)c/4#6zr]Y}Q7Am&*n8?D%FJ8=oxSmXDl2-/*nU7
|
||||||
8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0@@r308!.(}V3P@1ARv]9SMfu
|
RsGrS}W/ePmMr:>f/gNtl]u!Qf/p-!0@@r308!$I.VfVp1xbsexAe2j
|
||||||
------ END PCP PUBLICKEY ------
|
------ END PCP PUBLICKEY ------
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
----- BEGIN PCP SECRET KEY -----
|
----- BEGIN PCP SECRET KEY -----
|
||||||
Generated by: Pretty Curved Privacy Version 0.1.5
|
Generated by: Pretty Curved Privacy Version 0.1.5
|
||||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||||
Key-ID: 0x1749A29D12CA3FC5
|
Key-ID: 0x8F8C31402D541153
|
||||||
Creation Time: 2013-11-19T14:56:11
|
Creation Time: 2013-11-24T19:38:59
|
||||||
Serial Number: 0x73C06B1E
|
Serial Number: 0x53010B68
|
||||||
Key Version: 0x00000004
|
Key Version: 0x00000004
|
||||||
|
|
||||||
1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff94vs*^&{c!M<:ygH9Oj@o+CQ-5YL44
|
18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXf97h#Sy$NsTEg$:(a)2^3VrK/=:@2Vh
|
||||||
@(Ewr>Ch*8gaZ@OurCi1Ip/71wZ^})-qyTe}4KGy@QWuan[+6[=k:}K^kAe?9Gz:]b.9[G5
|
ticy+]-7)jGY)jSgVY^IjrNb3P[$qAOIRFH<B<8=l<.=Q=>?c]-e*@ZTW$!SSJ>(I@^&=3L
|
||||||
50*1D/jm227vzE57QPjI<9!W=Y5aKW}-TBpPl3Vtuh:2-$Cm]<J!9}#riZ9c&V-Cf?&BY7.
|
afZ@8X]6RsA8WOr@L5&6Pyvz1!ofy{JqfM+RPtlHO><!P-:B&Id5!(x{Vsfug2]dLn=E?q4
|
||||||
9gOA2gWfLpN!G{YQ2}vJ8=R]23skUlu@(#Ha-@vUc)f-x](o)0{yC76DOsH9=Sywouk.Cy#
|
-h[SutvBH/FU)pp$eNs]X{mnCp?p/!KuQK*#ZC=PT%b=U=%?%>4(3rqj6/C.Bz5i&[<TI@<
|
||||||
e.8Jvu8^*b30XR@fPON45A8Vnf8e<jXE*6hIY:NwWWD)T<LTop$vTd@2vNG=oSC<E$^=Rr*
|
OvgJG^W?PaX=ud6Mw5]lgLpk!r(vm}guzgL{z6WV&ia9/Q[<mn7vTd%r/nn>4bO*92Ze8fn
|
||||||
w-v4$aA}A$6[A*QJ}]rnly*m92jKZqZWm2DLD=A{WWaR[+D=>qhs{@*4)9kryQwSUVp:95@
|
C(FSptK+Eu%4(or7sRgc7GvB[li3mawTB19uM%abae])GA#q@z}Zv^Ft[-SEJk9#79PZ4:g
|
||||||
hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}v
|
{G#6Z$}@iFL6%meRnU?{=<r142me^V++FD+nGp73vy5k?aV5naU5[gPq/m5:SL@FslmO:bA
|
||||||
d+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2
|
kwJeLuwP9[:Fitmv:i&dmj]N88kdJ4ubcSg1gbg%bE3N!ajVMV^21?A{MRVTP@k+bIs&v:u
|
||||||
.P0JX5c*w0GW<Ku6RJzOz675YVS}88+<yl2k@5!YGJwYW+y:xff[Qf7PXiD6uo-mMHAjCaM
|
2qG[^/{cD>US>6xM[xO4Tz.8KO&^h?h:M.=xc@70}#QM{lw[o?.[LCwyXmgQPNH@fZzm9Gz
|
||||||
8Fh*3Cncjh+vSbZ+C%Dg:v{%fN>n1CDR%aF@&[>]aU-<cu-O}4WetV4SWc:6#+wlSzV=RWw
|
4b?%8*fQSNKvSbZ+C%Dg:v{%fNqBbn7tc.Ygi.:ushR:wNi:YYbij8Zti0Fr]/J=!/NHcQK
|
||||||
pI$2p*a^<.VV%PQFrf7Lq%W?5z-mkizt.guKw$/Vl-(ilZNvW@y+L?*94bI5lzeqPBvcg@t
|
m8@*m6#J4#-of+%Il@Doo2W1(+s$}uyqmd@?z*@*QBgKy3%YW!zHGIZT<Nolii!N(QKxsb!
|
||||||
d]f*tt]E}eBXf%Ufi1rO^Q=a(Tjp}epZa+4gkKf*zqRkFCr2qCK]h0<V1f6bdv%aZ^j:$/}
|
Z%BiTcnIPduViC=m&k$R(r7N([(#**!IWCBVSO6:L$$@q<f^&}oXSO(ZrOI6[70NA(dK}if
|
||||||
NGrWL?fET)$OhvbB)L:/5x({NM>+Qbax29{}Hth(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg
|
f{JgA&zObTyKE>}}1XY6f({Aqmt0bUb0[8>9jv42PeNv76*v]V<evqwQ-{5<:D$D+yC^)c/
|
||||||
0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0SSi
|
4#6zr]Y}Q7Am&*n8?D%FJ8=oxSmXDl2-/*nU7RsGrS}W/ePmMr:>f/gNtl]u!Qf/p-!0SSi
|
||||||
208!.(}V3P@1ARv]9SMfu
|
208!$I.VfVp1xbsexAe2j
|
||||||
------ END PCP SECRET KEY ------
|
------ END PCP SECRET KEY ------
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
bartid = 0x9AD180B48F2746E7
|
bartid = 0x8C26BF8A5F2C72E8
|
||||||
bartserial = 0xEBBF8898
|
bartserial = 0xB0E778FA
|
||||||
idbobby = 0x1749A29D12CA3FC5
|
idbobby = 0x8F8C31402D541153
|
||||||
idalicia = 0x23E0082C8250DB56
|
idalicia = 0x518602BB8F2D8C7F
|
||||||
mailbobby = bobby@local
|
mailbobby = bobby@local
|
||||||
mailalicia = alicia@local
|
mailalicia = alicia@local
|
||||||
|
|||||||
53
tests/static.h
Normal file
53
tests/static.h
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
size_t secret_a_len = 32;
|
||||||
|
unsigned char secret_a[32] = {
|
||||||
|
0xe0, 0x75, 0x2c, 0xb7, 0xeb, 0x7d, 0x73, 0x7a,
|
||||||
|
0x5b, 0x1c, 0x45, 0xf8, 0x9e, 0x8c, 0xc5, 0xfe,
|
||||||
|
0xb7, 0x30, 0x9e, 0xac, 0x03, 0x7c, 0x57, 0x0f,
|
||||||
|
0x0b, 0x76, 0x49, 0x2d, 0xa1, 0x33, 0x43, 0x53
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t public_a_len = 32;
|
||||||
|
unsigned char public_a[32] = {
|
||||||
|
0x2f, 0xb4, 0xaa, 0x49, 0x06, 0xf1, 0x8f, 0xa1,
|
||||||
|
0x22, 0xa0, 0x44, 0xf3, 0xd1, 0x3d, 0x0b, 0xca,
|
||||||
|
0xe3, 0x5f, 0x7c, 0x3b, 0x23, 0x05, 0xf0, 0xb2,
|
||||||
|
0x51, 0x11, 0xe8, 0x7f, 0x32, 0xc8, 0xec, 0x17
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t secret_b_len = 32;
|
||||||
|
unsigned char secret_b[32] = {
|
||||||
|
0xc0, 0xb6, 0xfb, 0xa5, 0x3b, 0xd2, 0x10, 0x76,
|
||||||
|
0x40, 0xf4, 0xbf, 0xda, 0x99, 0xdc, 0x6b, 0xf0,
|
||||||
|
0xf5, 0xbd, 0xcc, 0x2e, 0xaa, 0x85, 0x6a, 0x62,
|
||||||
|
0x64, 0xf4, 0xa0, 0xc8, 0xad, 0x82, 0x43, 0x56
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t public_b_len = 32;
|
||||||
|
unsigned char public_b[32] = {
|
||||||
|
0x47, 0xaa, 0x98, 0xad, 0xcd, 0x76, 0x6d, 0x8d,
|
||||||
|
0x7a, 0x1a, 0x4f, 0x5e, 0x24, 0xac, 0x98, 0xb9,
|
||||||
|
0x07, 0x3d, 0x48, 0xeb, 0x29, 0x41, 0x4c, 0x82,
|
||||||
|
0x06, 0x92, 0x58, 0xa4, 0x7d, 0xd8, 0x53, 0x7d
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t message_len = 12;
|
||||||
|
unsigned char message[12] = {
|
||||||
|
0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f,
|
||||||
|
0x72, 0x6c, 0x64, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t nonce_len = 24;
|
||||||
|
unsigned char nonce[24] = {
|
||||||
|
0x24, 0x64, 0x0e, 0xd3, 0x8a, 0xbf, 0x98, 0x52,
|
||||||
|
0x1e, 0xd9, 0xa4, 0xdd, 0x93, 0x27, 0x11, 0xee,
|
||||||
|
0x63, 0x7e, 0x49, 0x2e, 0x97, 0x3b, 0x78, 0xee
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t cipher_len = 28;
|
||||||
|
unsigned char cipher[28] = {
|
||||||
|
0x5f, 0x55, 0xeb, 0x71, 0x24, 0x84, 0x81, 0xdd,
|
||||||
|
0x17, 0x74, 0x89, 0xe2, 0x15, 0xbe, 0x3d, 0xc7,
|
||||||
|
0xd8, 0xce, 0x68, 0xc6, 0x6c, 0x2b, 0x45, 0xc7,
|
||||||
|
0x61, 0x43, 0xe7, 0x6d
|
||||||
|
};
|
||||||
|
|
||||||
20
tests/statictest.c
Normal file
20
tests/statictest.c
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#include <pcp.h>
|
||||||
|
#include "static.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
unsigned char *t = ucmalloc(12);
|
||||||
|
if(pcp_sodium_verify_box(&t, cipher, cipher_len, nonce, secret_b, public_a) == 0) {
|
||||||
|
if(memcmp(t, message, message_len) == 0) {
|
||||||
|
printf("ok\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("decrypted but message doesnt match\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("failed to decrypt\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -271,6 +271,14 @@ dxmorg@florida.cops.gov
|
|||||||
expect = /VAR1/
|
expect = /VAR1/
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
#
|
||||||
|
# raw C test with prepared keys, message and cipher
|
||||||
|
<test check-raw-decrypt>
|
||||||
|
cmd = ./statictest
|
||||||
|
expect = /ok/
|
||||||
|
</test>
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# negative tests, check for error handling
|
# negative tests, check for error handling
|
||||||
<test check-if-catch-conflicting-params>
|
<test check-if-catch-conflicting-params>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
11FKR@@sm5ulAVpg?d#VWZ/C<w*)&r*=p2-.hdv/i(Jn}OF/PM&p-*+-slMVEB%#ic<<N6l
|
1m<jZ+yjZ<y7gQ8a-W9rjAzcQ}{c4(@9#ojRD=2+yP7ItztJ%DY9G@(QX^AJd4*xQkbq[}w
|
||||||
J6vq]]*=Rr8ddszddr)0phoo9Dm]1NA2c?r!3+KqZ<:#q$WWJd8QiQhXKQhR8aBmR{#@cGE
|
F{60Nx)SElqzlazddr)0gJtlcE>LG&iym32X&^m7LJG900W!1Oo8u]r::]?<!.@<uwxGw(/
|
||||||
lmKZ.VYXUYmA<i@7$)41/h1q!Jp-x?N0N-l0%x1s!}OEW[6kuViu=mBKR0c^QZqh0N^9Q&e
|
%F)L=0c$J0h58T7&Dq=)H{bp0b!UNx}{XA:*3@4A[Ydpc=Jdx>SeByX8[qq<(O-!xv(-/rA
|
||||||
f^]^/3%feM)=J9tSQYS}E7)^]M#y7e2Q)VRaz-EC8]k5VgMZ.fA8-C50+V*.7*B$mOF)nXz
|
@sAmlyfv%HzNBy/lEDhKPG&>QK%hKS2:%3FuE+&QWD}$}Pm-/zYILHtH-@g^.dsVZF%B[LI
|
||||||
yR}!8MO}+X0.krUZZ3HBI}jfB/^/bx%Ar4(j9a0@Eatg9<E5D8-@Ac/u]2}IXEK>.1?-aFf
|
4UZ&G(q5giPD@l&NqrJ)e1(Hdj-Fz0#kxifA!jr1.z%[dP<^QobH5uN4dbNHZxk3b(gG/b)
|
||||||
iN-ind-7XB/(-^m8faYlpRo^FO-}R-92:Sa->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%ka
|
{)T$E-YL)Z&!]tS5GL>91tkxZ<]}h5{6uoT5^OZc^##iYzFrW0vqYQvy&r/(yYKm0P?=H3f
|
||||||
s5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdzM/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i
|
xSQ)D#vQSz%hGprHEdo!3EMZ5}i(@Pg6p!w%T(>9R[*PR%kt}^d[+.EB[1PmMsyDHK7^sNF
|
||||||
9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@ykU[<R)p=IJG:wqSU1hxlribZWP*9*)(?2@QPo
|
#:JH?il.++eNF4?}zoH%=)1wIgSQv&2$?b>@8JgV3RzR[bvEi>Fxf%c>6-gFYf=H!bMoeoQ
|
||||||
#PRsJ.fkjS}Pgg/gLvz9e^vWw@$oeX]TIk!1162Rn.)FUO5%4EF#M(YYoe+qDM:cN4}Yg1N
|
f#=mgC%*=nCs>y])AbHM9{1AY&vOVRK9XxL!})KeiiO!g0Aho}2uW6uq18])6}q%R^&^={1
|
||||||
Hn/SjH8utta@WIHY1Nsa^e%9a++:zZUEXLuCMN$dAMRaEa5d:d0w7{8qzBX31Ym}a.[:*)o
|
&<TF1qdA?LImyNLcoTVn8p>LXqD>YEdDJi2{=(0v(F4n<ZZpv6Id@slrRDKgX}6D5GMoW=[
|
||||||
+r.n>Ad8QZgC}SZmk=}Qg^TL*f!$D-0@@r308!.(}#uY%1HVsi9rl6t
|
*T2N.A1k&7k$0N@ixoI/f*XeWhAsha0@@r308!$I.#G=q1uZQ?pYHE}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
11FKR@@sm5ulAVpg?d#VWZ/C<w*)&r*=p2-.hdv/iSOLh}x@.cKb(1rNTN<rzr6bg6hcyn?
|
1m<jZ+yjZ<y7gQ8a-W9rjAzcQ}{c4(@9#ojRD=2+yxb/MqJ60fXWL(A^*)H6wC?aaT(VQw%
|
||||||
L]F^}/Cg/4-GQAOF/PM&p-*+-slMVEB%#ic<<N6lJ6vq]]*=Rq#^GY)Oql&.dc.OukuZhtA
|
fLPSV}[bN&hx]ZztJ%DY9G@(QX^AJd4*xQkbq[}wF{60Nx)SEli4/aNs}jp@L{Ss27=+VW[
|
||||||
>@8@wBa3x=@:bJ{hS1j]S:tr!/@6GjHTi88@^VJd5rXc*KVxJVG(@7&[YSa%nqnZ*T1Szd&
|
2V8EIbhZ!niKyRY4-FB#6C]mU%K-{^4AgO}dp#2tT#&M1N+rJ1VGkqsGK))s*zw=cfEh5v=
|
||||||
/bP-hA1&-J9WlZHv5UqyJNkzKin{(Q@[eB?Nupc1xP5:kfWJC+=LypT2.[Jz#3aaUm)j&-r
|
@{lkjg@YZE[W[r4:xE?%Q]ZwT0d13NXu+S.V8kXkxwOc0(cuQ>U!f1Alj(l+v(WQt45)e^^
|
||||||
z!7YPT*di]YBo}>&tJ8RDB7tF6NxSVcqL0R(Uf7enM}x:9]Ifaizddr)0phoo9Dm]1NA2c?
|
aoeF!k>y}}wrB^Xp6Z2YLO[p#@@tj38RyuKHmN?l}Ro/p0&.Bi0zddr)0gJtlcE>LG&iym3
|
||||||
r!3+KqZ<:#q$WWJd8QiQhXKQhR8aBmR{#@cGElmKZ.VYXUYmA<i@7$)41/h1q!Jp-x?N0N-
|
2X&^m7LJG900W!1Oo8u]r::]?<!.@<uwxGw(/%F)L=0c$J0h58T7&Dq=)H{bp0b!UNx}{XA
|
||||||
l0%x1s!}OEW[6kuViu=mBKR0c^QZqh0N^9Q&ef^]^/3%feM)=J9tSQYS}E7)^]M#y7e2Q)V
|
:*3@4A[Ydpc=Jdx>SeByX8[qq<(O-!xv(-/rA@sAmlyfv%HzNBy/lEDhKPG&>QK%hKS2:%3
|
||||||
Raz-EC8]k5VgMZ.fA8-C50+V*.7*B$mOF)nXzyR}!8MO}+X0.krUZZ3HBI}jfB/^/bx%Ar4
|
FuE+&QWD}$}Pm-/zYILHtH-@g^.dsVZF%B[LI4UZ&G(q5giPD@l&NqrJ)e1(Hdj-Fz0#kxi
|
||||||
(j9a0@Eatg9<E5D8-@Ac/u]2}IXEK>.1?-aFfiN-ind-7XB/(-^m8faYlpRo^FO-}R-92:S
|
fA!jr1.z%[dP<^QobH5uN4dbNHZxk3b(gG/b){)T$E-YL)Z&!]tS5GL>91tkxZ<]}h5{6uo
|
||||||
a->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%kas5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdz
|
T5^OZc^##iYzFrW0vqYQvy&r/(yYKm0P?=H3fxSQ)D#vQSz%hGprHEdo!3EMZ5}i(@Pg6p!
|
||||||
M/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@y
|
w%T(>9R[*PR%kt}^d[+.EB[1PmMsyDHK7^sNF#:JH?il.++eNF4?}zoH%=)1wIgSQv&2$?b
|
||||||
kU[<R)p=IJG:wqSU1hxlribZWP*9*)(?2@QPo#PRsJ.fkjS}Pgg/gLvz9e^vWw@$oeX]TIk
|
>@8JgV3RzR[bvEi>Fxf%c>6-gFYf=H!bMoeoQf#=mgC%*=nCs>y])AbHM9{1AY&vOVRK9Xx
|
||||||
!1162Rn.)FUO5%4EF#M(YYoe+qDM:cN4}Yg1NHn/SjH8utta@WIHY1Nsa^e%9a++:zZUEXL
|
L!})KeiiO!g0Aho}2uW6uq18])6}q%R^&^={1&<TF1qdA?LImyNLcoTVn8p>LXqD>YEdDJi
|
||||||
uCMN$dAMRaEa5d:d0w7{8qzBX31Ym}a.[:*)o+r.n>Ad8QZgC}SZmk=}Qg^TL*f!$D-0SSi
|
2{=(0v(F4n<ZZpv6Id@slrRDKgX}6D5GMoW=[*T2N.A1k&7k$0N@ixoI/f*XeWhAsha0SSi
|
||||||
208!.(}#uY%1HVsi9rl6t
|
208!$I.#G=q1uZQ?pYHE}
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
0NJpVRBx#s8XBhtH3[&hnAHi{@a#izw2QKZs>(!qEVm6!Ek-M>gFR&C13T-*gZ+fyQ@!9I*
|
0uIv3?N)Qxev.C#E>NfM=aQEig<y}WISoDJ5H5@b8IGC5?D+V{aPSf5yJ:.x]:.E2Vzlq0(
|
||||||
hRt+6n.(bqn5B4myD2$*etzI5-QwmkMKXNbeq4C8Dk)q7B4=)EeWyhtM>IV1pZ7:vF&!0
|
0&)DA*&N9>km^Qzf@oBK&=Z$yRAe^bifC14#VrI:$M/LW&>f9b:7VE^@Y-{.({/XdJ=$p
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
16LDgD]-t>Q1x*FrY.@b*&DTJ6N<9wQMrWGh5/.A<O<rx&M^(K5x@cx@9To3s&(WOwxz]->
|
1bv/%k]1URFil1tfg3xpP)i(Rk0Q>qjd#OrJ4Sw$Cp^NOiivH(3md$lUvpO#ehBcMBYiAH!
|
||||||
AxT^(g2ne2@jq9fFCEwlPu?UfHOk+huiZS000000000008!.(}#uY%0SSi200000
|
(7t$T:GZ<4Mb$2hzu)Mlo4B&l]WK)mGrz*000000000008!$I.#G=q0SSi200000
|
||||||
|
|||||||
Reference in New Issue
Block a user