fixed z85 encoding overflow bug, fixed signature code on big-endian systems.

This commit is contained in:
TLINDEN
2013-11-19 17:17:30 +01:00
parent 314dbde0b9
commit 80ec5014a8
17 changed files with 203 additions and 153 deletions

View File

@@ -63,7 +63,7 @@ typedef unsigned int qbyte; // Quad byte = 32 bits
#define PCP_VAULT_VERSION 2 #define PCP_VAULT_VERSION 2
// sigs // sigs
#define PCP_SIG_VERSION 1 #define PCP_SIG_VERSION 2
char *PCP_ERR; char *PCP_ERR;
byte PCP_ERRSET; byte PCP_ERRSET;

View File

@@ -37,10 +37,10 @@ extern "C" {
#include "key.h" #include "key.h"
struct _pcp_sig_t { struct _pcp_sig_t {
byte edsig[crypto_sign_BYTES];
char id[17]; char id[17];
long ctime; uint64_t ctime;
uint32_t version; uint32_t version;
byte edsig[crypto_hash_sha256_BYTES + crypto_sign_BYTES];
}; };
typedef struct _pcp_sig_t pcp_sig_t; typedef struct _pcp_sig_t pcp_sig_t;
@@ -55,6 +55,8 @@ pcp_sig_t *sig2be(pcp_sig_t *k);
pcp_sig_t *pcp_ed_newsig(unsigned char *hash, char *id); pcp_sig_t *pcp_ed_newsig(unsigned char *hash, char *id);
void pcp_dumpsig(pcp_sig_t *sig);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@@ -32,7 +32,7 @@ size_t pcp_sodium_box(unsigned char **cipher,
unsigned char *pad_clear; unsigned char *pad_clear;
unsigned char *pad_cipher; unsigned char *pad_cipher;
size_t ciphersize = (clearsize + crypto_box_ZEROBYTES) - crypto_box_BOXZEROBYTES; // $s + 32 -16 size_t ciphersize = (clearsize + crypto_box_ZEROBYTES) - crypto_box_BOXZEROBYTES;
pad_cipher = ucmalloc(crypto_box_ZEROBYTES + clearsize); pad_cipher = ucmalloc(crypto_box_ZEROBYTES + clearsize);
pcp_pad_prepend(&pad_clear, cleartext, crypto_box_ZEROBYTES, clearsize); pcp_pad_prepend(&pad_clear, cleartext, crypto_box_ZEROBYTES, clearsize);

View File

@@ -72,20 +72,28 @@ pcp_sig_t *pcp_ed_newsig(unsigned char *hash, char *id) {
pcp_sig_t *sig = ucmalloc(sizeof(pcp_sig_t)); pcp_sig_t *sig = ucmalloc(sizeof(pcp_sig_t));
sig->version = PCP_SIG_VERSION; sig->version = PCP_SIG_VERSION;
sig->ctime = (long)time(0); sig->ctime = (long)time(0);
memcpy(sig->edsig, hash, crypto_hash_sha256_BYTES + crypto_sign_BYTES); memcpy(sig->edsig, hash, crypto_sign_BYTES);
memcpy(sig->id, id, 17); memcpy(sig->id, id, 17);
return sig; return sig;
} }
pcp_sig_t *sig2native(pcp_sig_t *s) { pcp_sig_t *sig2native(pcp_sig_t *s) {
#ifdef __BIG_ENDIAN
return s;
#else
s->version = be32toh(s->version); s->version = be32toh(s->version);
s->ctime = be64toh(s->ctime); s->ctime = be64toh(s->ctime);
return s; return s;
#endif
} }
pcp_sig_t *sig2be(pcp_sig_t *s) { pcp_sig_t *sig2be(pcp_sig_t *s) {
#ifdef __BIG_ENDIAN
return s;
#else
s->version = htobe32(s->version); s->version = htobe32(s->version);
s->ctime = htobe64(s->ctime); s->ctime = htobe64(s->ctime);
return s; return s;
#endif
} }

View File

@@ -102,22 +102,47 @@ char *pcp_z85_encode(unsigned char *raw, size_t srclen, size_t *dstlen) {
char *z85 = ucmalloc(zlen); char *z85 = ucmalloc(zlen);
z85 = zmq_z85_encode(z85, padded, outlen); z85 = zmq_z85_encode(z85, padded, outlen);
// make it a 72 chars wide block // make it a 72 chars wide block
blocklen = strlen(z85) + ((strlen(z85) / 72) * 2) + 1; blocklen = (zlen + ((zlen / 72) * 2)) + 1;
char *z85block = ucmalloc(blocklen); char *z85block = ucmalloc(blocklen);
//fprintf(stderr, "zlen: %d, outlen: %d, srclen: %d, blocklen: %d\n",
// zlen, outlen, srclen, blocklen);
pos = b = 0; pos = b = 0;
/*
for(i=0; i<zlen; ++i) { for(i=0; i<zlen; ++i) {
if(pos >= 71) { if(pos >= 71) {
z85block[b++] = '\r'; *z85block++ = '\r';
z85block[b++] = '\n'; *z85block++ = '\n';
pos = 1; pos = 1;
} }
else { else {
pos++; pos++;
} }
z85block[b++] = z85[i]; *z85block++ = z85[i];
} }
*/
char *z = &z85[0];
char *B = &z85block[0];
while(*z != '\0') {
if(pos >= 71) {
*B++ = '\r';
*B++ = '\n';
pos = 1;
}
else {
pos++;
}
*B++ = *z++;
}
*B = '\0';
//fprintf(stderr, "z85block len: %d\n", blocklen, strlen(z85block));
//fprintf(stderr, "z85block: <%s>\n", z85block);
*dstlen = blocklen; *dstlen = blocklen;
free(z85); free(z85);

View File

@@ -124,7 +124,7 @@
.\" ======================================================================== .\" ========================================================================
.\" .\"
.IX Title "PCP1 1" .IX Title "PCP1 1"
.TH PCP1 1 "2013-11-18" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION" .TH PCP1 1 "2013-11-19" "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

View File

@@ -97,6 +97,10 @@ int pcpsign(char *infile, char *outfile, char *recipient, char *passwd) {
size_t zlen; size_t zlen;
pcp_sig_t *signature = pcp_ed_sign(input, inputBufSize, secret); pcp_sig_t *signature = pcp_ed_sign(input, inputBufSize, secret);
// scip
//printf("sigsize: %d\n", (int)sizeof(pcp_sig_t));
//pcp_dumpsig(signature);
if(signature == NULL) if(signature == NULL)
goto errs5; goto errs5;
@@ -226,3 +230,15 @@ int pcpverify(char *infile, char *sigfile) {
errv1: errv1:
return 1; return 1;
} }
void pcp_dumpsig(pcp_sig_t *sig) {
printf(" ed: ");
pcpprint_bin(stdout, sig->edsig, crypto_sign_BYTES);printf("\n");
printf(" id: %s\n", sig->id);
printf(" ctime: %ld\n", sig->ctime);
printf("version: %04x\n", sig->version);
}

View File

@@ -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: 0x7AEFC16D88E43C2B Key-ID: 0x9AD180B48F2746E7
Public-Key: 1e2fw+W4a9:aMM[Z0fQ)4Vn!i}+SRl75j-AHe?mf2MK&8 Public-Key: 0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu&Qfb
Creation Time: 2013-11-19T09:54:59 Creation Time: 2013-11-19T14:56:12
Checksum: 55:DC:88:01:EE:69:EA:C5:02:B6:A8:22:36:50:A1:CC Checksum: 06:95:B5:78:15:E4:F7:DB:34:B2:02:ED:B5:3F:C9:6D
EB:73:3E:EC:2D:74:FC:D9:B2:10:D3:B5:D9:16:72:32 4F:20:1F:94:19:27:32:31:7C:E2:8F:A4:C4:30:29:12
Serial Number: 0x91FEE742 Serial Number: 0xEBBF8898
Key Version: 0x00000004 Key Version: 0x00000004
Random Art ID: +----------------+ Random Art ID: +----------------+
| o |
| . + |
|. . . . . |
| o . . |
|= . . . |
| * o . |
|. . . |
| | | |
| |
| |
| o|
| . o .o.|
| . o*.. |
| =..+ |
| +o |
+----------------+ +----------------+
1e2fw+W4a9:aMM[Z0fQ)4Vn!i}+SRl75j-AHe?mf2MK&ZM}j&L{OmyZyc!^/]nyFZz+T:qL 0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu]Y@S75-O9Mv]$?.q^!NtEu4[3ULQ*3
vB%cC0&as:WfARBo16v8cSVxh?6B9Sftn.qhoEK&Iwi6k*mbP00jw5fF5%DtUK<-hFa+uXZ Vo-nB)uSVbsk*VBo0GfGcp5NMsb^MqUj3:(i<P.9.n&LRzz{w]Q?f9-PYZCwtWU21oZaNa=
y>?CZ.lf3oACxnaseq+#cXwmxVJnT*84.L[5OLiq7JQTA:&U[p.d5Y}g]Pb:EA*0TzS3dbD j^kQei@&!=*NpwtOrV-QzR1zND=Egb92!@t(IDpLVbnaV*dHm*b{rFgz45&oWV9=#/{jqI0
@!Z-l>ahp2fW!JLt<toLkf>=TVm7Pcf.arNYOK[bqdNQUe4J8>D6B/?P(CQ[>&^:ZNxHf22 cV2.>8nz(cq3H6.w60rb<yn)?!OWkT9TDJx[)GF3AmGjOAvnQ*nz]bMa5/{00gk2NW.gXF*
bVe>-IO?]/mQy2cOOZJjZTIW!CdX-NbXKsK+pmxm.y<:-ArM]@&c/wHB<JTZd4UUp(>CX[s 3tKEn0S.s{H(+w>[8w#)?kG=ixxk.XFGa/pI9%^px=>Gl+ou22k)0+pTT*S6#IoIK3Ix#)L
KYObJC34eS+tPTc:Kiu%)!N)G6(9dA^W4NasM9Ks<0q>?vQTq0kX$vGvqC]z-v<%rEB.&ny Pr3<4W!(KgAU5yvR/Ep]g.t):??2QC*!fRka&uG!ojG2zvQTq0kX$vGvqC}NxLDX7cR3T@/
P:=z)T>0!ruz&gJ<CYJ&jda2Q<0AF5#!CTG-#7zQek&JTV1?RnNDSldf&FF0r=n3m*zeG!6 ldGZoc+WNkcGX0k}d2Kh?H.ra6J=^vMW(p>Fy}FnM)ce@b>E*/EsTFQ}C4J&mpjX.KU7#?j
O8wpihb[a{gWORZ0eB8v6M%7n^QBMPPCdgP6d.ojX#q1X@Xbd0:d96Yp8}Cl-3f431k?23b OZKaHWA76Y>1VHsv0H9BV?cKr9J.r3*r9ps<S5@}>$j-9>p1t6I=F3*xOLyH*K2Y7sL-vBz
h/3qKQyuhq*}>X.h&+{MH>@XO2WPj[kd:]c&aKAaK]upf*v)QHy]OjPQ$WwvI^5W2TnRCyG It/w[a<NuL1jpypjWP3GyZHZUi$+ns!)DnD(raKG^%R}SO)G0jf9EX}O2p<EA#nl<mT<TVz
sGO4TEK8tLXrW!uNi?DG/jL5le<:ib:acObU.ukvS/@.]Kqf4i(ktCy*saPQsfoT=3Cx@be JC$}A)+lZWm4P.w]/Z$EO[H0STPtumZ8w&Q)Ai9&j]55oJoBh:(iud<gmkEvQOb]Z.eD]Ve
e3U9$)IN37k$amgf/zAVi7kUWlOZ$d0@@r308!.5v/MGe1D&YDli3#= .=p^SSp(@Ck$0B!fHvPQmLV[VhBPL80@@r308!.(}#uY%1NA*UM&E9^
------ END PCP PUBLICKEY ------ ------ END PCP PUBLICKEY ------

View File

@@ -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: 0x7BDF786564A94A60 Key-ID: 0x23E0082C8250DB56
Public-Key: 1d10ok&9wTrr(Qb7}b$E3%Xzt0oCfQ)6Q$byko!{iSGcW Public-Key: 1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa]?Py
Creation Time: 2013-11-19T09:54:59 Creation Time: 2013-11-19T14:56:11
Checksum: C0:18:A5:2A:A4:55:D0:CB:EA:7C:83:5E:D0:54:40:79 Checksum: 86:A5:27:8C:C8:8E:2D:3E:14:36:6C:14:B9:1F:FB:2B
FB:0C:06:5D:18:CA:5B:03:E5:C7:96:7A:B8:50:01:33 21:20:E7:D6:7C:E3:B1:C8:3B:49:3F:7E:07:5A:D3:ED
Serial Number: 0x96DA9F38 Serial Number: 0xC82855BB
Key Version: 0x00000004 Key Version: 0x00000004
Random Art ID: +----------------+ Random Art ID: +----------------+
| ..o...... | | |
| o . o | | o oo |
| o o | | . +o.o|
| . . | | . .+ |
| * . | | . ooo|
| . + . | | +o|
| . | | . |
| | | |
+----------------+ +----------------+
1d10ok&9wTrr(Qb7}b$E3%Xzt0oCfQ)6Q$byko!{i)2/AJJ=bY7!p$vpJ7^aTd7dB1GOYNR 1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa%i2InPXn<7fm@^FT&}@4g)AWW$O$O>
/on#Dp{<f<uWP@v}/uK<=5U$!eSzE&iK*giK5rJy.&Eamow4qLRfRZ>rWjZZ>Fz*LLy$R.o 4kNwnRosYGf:r/v}/uKOROHY&elN9jI+.GcW<FLwWeDsQ?=5si770*ne@h@H.wYcFO^4O26
oV5/L9*Z=0i!C0S2[qh.mR^mgmQ&)![&<+&%vyM^J<fDcxKX!BwD5xRO2OX12jOsS[YuH:N 01$:tISi+G+v$+}zM^4R-E#t%baPJK%k(?CucUlG<g27)*VLqS[Q@Q}48$Ibb$AkOAgr!zE
P@K1C$8Fs0]o*/A!fZE$R-}x/u3*Ze&@F{!!B&C]AKGsN+ZeHGc%GJ)5r4v:u*Bxpe7m5X2 8ekb5zJS1tFI1Gl1GHn6gEx#Tjwnv5(8@QA$#Q>2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.
xq:e5^F#b{c&nC-j[x0eZoX+-2eir6.ARxh!4a}IoULk(lr2{y]!o}JDT-SVG78A%R5uCeB 7]cf{>bclF.g><x#-.Hi5ShiWU)LF{mk@pRR?>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lb
P.r^Ay[+K4p*uHTs*rG%PBJS7o:yTChC>I{sd^{Gj5F<OvqGT/x<<nyz!0i(00xdSsO2InR xCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq>VC63ao(=%BvqGT/x<<nyz!0i(0e&g28u0@tJ
}>kdqQ?ZMz=?X}&r[.2rcHd&4UhkuyBwEC=V{$JaWa>M-fSHlfliGBuweJ[trfsi!ZbLh]. fs2QN]rhB%b^@&UQh0!X6QO#AGP)sBpkf^p4kG#neN$(oB9>VJ)W1*}v9oc&mf2HN++3.wU
Kh@hc77XVWHvax<3>V=a!}&^fxKsegwbDH+Xml[g:lze?jDL<ZN+DPk0eRka.m=t/5)2[4- Z$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{
bdXscb8sIJ9/)cw5NI&BjGRqr@KT+U3DO1#K=C#/tP7<neZ)r=UzXV@Mw-A-%6mJ$Q2R)mg dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rpXf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$
7.35H>h>>&LFbykFXJc%y(+5-@]:y+6Htc>T02)oy^pF)V&RA1=EWRXBv-eQF-rh)68A1fs VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT+%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(F
<Bu^bsPONZlpsp4i5SSLg^KbUk@Hy%0@@r308!.5v/MGe1Ev=lh#&{U P{N#?i6+XygES#Ki5i&XgbQ:NlnZU30@@r308!.(}V3P@1JR#>Y8R*h
------ END PCP PUBLICKEY ------ ------ END PCP PUBLICKEY ------

View File

@@ -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: 0x7BDF786564A94A60 Key-ID: 0x23E0082C8250DB56
Creation Time: 2013-11-19T09:54:59 Creation Time: 2013-11-19T14:56:11
Serial Number: 0x96DA9F38 Serial Number: 0xC82855BB
Key Version: 0x00000004 Key Version: 0x00000004
1d10ok&9wTrr(Qb7}b$E3%Xzt0oCfQ)6Q$byko!{iSN>e40u+@Y+LkP!yO?I([uuJveWh-y 1j-}eBc7.!-B{7%2E<jV8]me1R=A)%E*<A8H*Qbqa])FA/eI>rvJhcifZHSec%lWfh#MRFH
sA![o?0&+I]<ywJJ=bY7!p$vpJ7^aTd7dB1GOYNR/on#Dp{<f<nZlXR2&^]o/7:)qJ4*p+) zliU2nzAK^JsWOnPXn<7fm@^FT&}@4g)AWW$O$O>4kNwnRosYG8/:Nn.^v}oixcz?Ff*t{R
/vhs0<UAOB#Gno<FX3q[8Wg^9rqmi9KO1^Le)eA61m9-{*J$m!gaZ<)5yVAXFhQ*Qu(%Bj= Ff}J]4J)]a{l^ok)SLd0WSQS=T<I-B}v4Cg-m*9Q]UkuIN#kcp6TsodS>iBsSJQ3O{-fVlp
TtLeCMoysWe%++*8[&=mf<Wd:o2+qOC3P]O19HQ{#Vlt}Vw8FIbNI%UAz!71RZgv$vzfg#n <w(0%DDpmjQ72)L+wk9lY1/olL%zoV2}gy[ElD]f%tR>rs{mfZIC>/3^l+T}))0mG(ui>0y
d{^zY5]ehhK><<ydC%DTW-Jr+NV&+J/ey?}BrdJ]Yzc}<:dNv(+v}/uK<=5U$!eSzE&iK*g bJXO?#7CN@H1G7giGKS5T69Qq!4M[p>xn4@u/q*3N>Ml8[CTldWv}/uKOROHY&elN9jI+.G
iK5rJy.&Eamow4qLRfRZ>rWjZZ>Fz*LLy$R.ooV5/L9*Z=0i!C0S2[qh.mR^mgmQ&)![&<+ cW<FLwWeDsQ?=5si770*ne@h@H.wYcFO^4O2601$:tISi+G+v$+}zM^4R-E#t%baPJK%k(?
&%vyM^J<fDcxKX!BwD5xRO2OX12jOsS[YuH:NP@K1C$8Fs0]o*/A!fZE$R-}x/u3*Ze&@F{ CucUlG<g27)*VLqS[Q@Q}48$Ibb$AkOAgr!zE8ekb5zJS1tFI1Gl1GHn6gEx#Tjwnv5(8@Q
!!B&C]AKGsN+ZeHGc%GJ)5r4v:u*Bxpe7m5X2xq:e5^F#b{c&nC-j[x0eZoX+-2eir6.ARx A$#Q>2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.7]cf{>bclF.g><x#-.Hi5ShiWU)LF{mk@p
h!4a}IoULk(lr2{y]!o}JDT-SVG78A%R5uCeBP.r^Ay[+K4p*uHTs*rG%PBJS7o:yTChC>I RR?>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lbxCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq
{sd^{Gj5F<OvqGT/x<<nyz!0i(00xdSsO2InR}>kdqQ?ZMz=?X}&r[.2rcHd&4UhkuyBwEC >VC63ao(=%BvqGT/x<<nyz!0i(0e&g28u0@tJfs2QN]rhB%b^@&UQh0!X6QO#AGP)sBpkf^
=V{$JaWa>M-fSHlfliGBuweJ[trfsi!ZbLh].Kh@hc77XVWHvax<3>V=a!}&^fxKsegwbDH p4kG#neN$(oB9>VJ)W1*}v9oc&mf2HN++3.wUZ$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:
+Xml[g:lze?jDL<ZN+DPk0eRka.m=t/5)2[4-bdXscb8sIJ9/)cw5NI&BjGRqr@KT+U3DO1 dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rp
#K=C#/tP7<neZ)r=UzXV@Mw-A-%6mJ$Q2R)mg7.35H>h>>&LFbykFXJc%y(+5-@]:y+6Htc Xf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT
>T02)oy^pF)V&RA1=EWRXBv-eQF-rh)68A1fs<Bu^bsPONZlpsp4i5SSLg^KbUk@Hy%0rr9 +%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(FP{N#?i6+XygES#Ki5i&XgbQ:NlnZU30rr9
108!.5v/MGe1Ev=lh#&{U 108!.(}V3P@1JR#>Y8R*h
------ END PCP SECRET KEY ------ ------ END PCP SECRET KEY ------

View File

@@ -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: 0xFEC0AFC9E0E38457 Key-ID: 0x1749A29D12CA3FC5
Public-Key: 0#1e35=WR)p92aZYm/h$byX2/UCCE[rqXzSe/:L.a]?Py Public-Key: 1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff8$$L
Creation Time: 2013-11-19T09:54:59 Creation Time: 2013-11-19T14:56:11
Checksum: 1E:3F:73:81:BD:5A:E3:2C:68:2A:7D:FC:47:06:BE:B4 Checksum: 29:26:30:F0:37:EF:EC:8D:4C:8E:0A:0D:CD:0D:A1:21
52:EC:A8:F3:07:9D:52:4D:0A:4F:CE:18:5A:AA:68:61 51:89:EA:56:F9:54:19:D0:EB:69:F4:7F:8F:2D:E7:E0
Serial Number: 0xF32F4352 Serial Number: 0x73C06B1E
Key Version: 0x00000004 Key Version: 0x00000004
Random Art ID: +----------------+ Random Art ID: +----------------+
| o.o | | . . |
| * | | * . |
| . + | | = + |
| . o . | | o . . o |
| o o + | | . = o |
| o = | | o o |
| . . | | . |
| | | |
+----------------+ +----------------+
0#1e35=WR)p92aZYm/h$byX2/UCCE[rqXzSe/:L.bej(AY9}pIWv4<!2V=KlP9C1r{jJcJg 1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akffmc5iOurCi1Ip/71wZ^})-qyTe}4KGy
&8-IGMQG}4NL8yvTd%87&wSL:C=w[JA0u{U5rBeScCR1n61U%?Q9&gxmkeH-{ag]=IR<3AR @QWuan[+6[<mn7vTd@2vNG=oSC<E$^=Rr*w-v4$aA}A$6[A*QJ}]rnly*m92jKZqZWm2DLD
Qg-&*aqFb4mMOiXGoB<oOg{mU=*:N>P#w/%ei]HbEQ$HCyIcqF&bN*x7<)>ND0FsZUUj^LH =A{WWaR[+D=>qhs{@*4)9kryQwSUVp:95@hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5
sum?.7wI)=R>}I1IB)G]1j-S(/Ds$4lYo8%*N8JvmTM@Z]HZh<I/.%=N8fTwo%P!8MwLnkY s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}vd+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6
a6xsZ-dM6W5r=Z@0*C)xMY)2ytaTraU20(?iE13Ro0dlsyuj6CzLyZ1TP<qyn@lV4<S}.<C PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2.P0JX5c*w0GW<Ku6RJzOz675YVS}88+<yl2k@
JUY78^^hv4A[uD84$ByiJyC}GK)pR>?QPULNUoa[k}O8fvSbZ+C%Dg:v{%fN{]pZsiv-g@: 5!YGJwYW+y:xff[Qf7PXiD6uo-mMHAjCaM8Fh*3Cncjh+vSbZ+C%Dg:v{%fN>n1CDR%aF@&
.j4zL99S&M}l2jb/]Yk8xk/5X7y@Hj{BjPUq15l[t[B&sh){^4d+^c8XalUGG-SKASh1lm5 [>]aU-<cu-O}4WetV4SWc:6#+wlSzV=RWwpI$2p*a^<.VV%PQFrf7Lq%W?5z-mkizt.guKw
<JH8nyUoGGia7N>H}ziJXTF:-SH[ih.TiqHCj62N&JD5kfgLe8rFsjNFu<Q-3)WYKG*x]hT $/Vl-(ilZNvW@y+L?*94bI5lzeqPBvcg@td]f*tt]E}eBXf%Ufi1rO^Q=a(Tjp}epZa+4gk
L+7TLS5iwZ}VTRG}QU@sqPz$7Vijo1Kx]yfOl07EYT.L0RZ.ymt#M760v2*$HDa])8El!-l Kf*zqRkFCr2qCK]h0<V1f6bdv%aZ^j:$/}NGrWL?fET)$OhvbB)L:/5x({NM>+Qbax29{}H
?Zb^Y&IE0I<8SJ*[>EKyQhfLDn<RW/Iu7}I>6pVS34SooYD#1xFRX{HwWYF*@ElqhnZ>BzO th(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!
U!#K:((j!Jmme:{mNGg8fHW=Sg=mh(0@@r308!.5v/MGe1OjolqucW% 8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0@@r308!.(}V3P@1ARv]9SMfu
------ END PCP PUBLICKEY ------ ------ END PCP PUBLICKEY ------

View File

@@ -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: 0xFEC0AFC9E0E38457 Key-ID: 0x1749A29D12CA3FC5
Creation Time: 2013-11-19T09:54:59 Creation Time: 2013-11-19T14:56:11
Serial Number: 0xF32F4352 Serial Number: 0x73C06B1E
Key Version: 0x00000004 Key Version: 0x00000004
0#1e35=WR)p92aZYm/h$byX2/UCCE[rqXzSe/:L.a])M(*Z#nGM3zR%pjJX:[=CXgt[h]{B 1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff94vs*^&{c!M<:ygH9Oj@o+CQ-5YL44
!jK4C+9/ct!.39Y9}pIWv4<!2V=KlP9C1r{jJcJg&8-IGMQG}4GHiVOa:b@ZZO$s:YPjPe5 @(Ewr>Ch*8gaZ@OurCi1Ip/71wZ^})-qyTe}4KGy@QWuan[+6[=k:}K^kAe?9Gz:]b.9[G5
DjRa9K9B[(s]!Bk:n95/aO(Ilow{cLZ%.D&fTqwon#NM&y[&M/v0nWE=*dgaK7Va7lHn][u 50*1D/jm227vzE57QPjI<9!W=Y5aKW}-TBpPl3Vtuh:2-$Cm]<J!9}#riZ9c&V-Cf?&BY7.
g<Ysqw5sg!>]8t-l/O%m(nF#wtlMbGbP!j/?cqDzz3/$HIL5b[KKBKe4lyPH5jyy3a2hnSt 9gOA2gWfLpN!G{YQ2}vJ8=R]23skUlu@(#Ha-@vUc)f-x](o)0{yC76DOsH9=Sywouk.Cy#
CP2:BHc[j>T}$h3KRXkK#M/+v>qAEN0}N7t%1eM4cgp64j[J}e6vTd%87&wSL:C=w[JA0u{ e.8Jvu8^*b30XR@fPON45A8Vnf8e<jXE*6hIY:NwWWD)T<LTop$vTd@2vNG=oSC<E$^=Rr*
U5rBeScCR1n61U%?Q9&gxmkeH-{ag]=IR<3ARQg-&*aqFb4mMOiXGoB<oOg{mU=*:N>P#w/ w-v4$aA}A$6[A*QJ}]rnly*m92jKZqZWm2DLD=A{WWaR[+D=>qhs{@*4)9kryQwSUVp:95@
%ei]HbEQ$HCyIcqF&bN*x7<)>ND0FsZUUj^LHsum?.7wI)=R>}I1IB)G]1j-S(/Ds$4lYo8 hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}v
%*N8JvmTM@Z]HZh<I/.%=N8fTwo%P!8MwLnkYa6xsZ-dM6W5r=Z@0*C)xMY)2ytaTraU20( d+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2
?iE13Ro0dlsyuj6CzLyZ1TP<qyn@lV4<S}.<CJUY78^^hv4A[uD84$ByiJyC}GK)pR>?QPU .P0JX5c*w0GW<Ku6RJzOz675YVS}88+<yl2k@5!YGJwYW+y:xff[Qf7PXiD6uo-mMHAjCaM
LNUoa[k}O8fvSbZ+C%Dg:v{%fN{]pZsiv-g@:.j4zL99S&M}l2jb/]Yk8xk/5X7y@Hj{BjP 8Fh*3Cncjh+vSbZ+C%Dg:v{%fN>n1CDR%aF@&[>]aU-<cu-O}4WetV4SWc:6#+wlSzV=RWw
Uq15l[t[B&sh){^4d+^c8XalUGG-SKASh1lm5<JH8nyUoGGia7N>H}ziJXTF:-SH[ih.Tiq pI$2p*a^<.VV%PQFrf7Lq%W?5z-mkizt.guKw$/Vl-(ilZNvW@y+L?*94bI5lzeqPBvcg@t
HCj62N&JD5kfgLe8rFsjNFu<Q-3)WYKG*x]hTL+7TLS5iwZ}VTRG}QU@sqPz$7Vijo1Kx]y d]f*tt]E}eBXf%Ufi1rO^Q=a(Tjp}epZa+4gkKf*zqRkFCr2qCK]h0<V1f6bdv%aZ^j:$/}
fOl07EYT.L0RZ.ymt#M760v2*$HDa])8El!-l?Zb^Y&IE0I<8SJ*[>EKyQhfLDn<RW/Iu7} NGrWL?fET)$OhvbB)L:/5x({NM>+Qbax29{}Hth(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg
I>6pVS34SooYD#1xFRX{HwWYF*@ElqhnZ>BzOU!#K:((j!Jmme:{mNGg8fHW=Sg=mh(0SSi 0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0SSi
208!.5v/MGe1OjolqucW% 208!.(}V3P@1ARv]9SMfu
------ END PCP SECRET KEY ------ ------ END PCP SECRET KEY ------

View File

@@ -1,6 +1,6 @@
bartid = 0x7AEFC16D88E43C2B bartid = 0x9AD180B48F2746E7
bartserial = 0x91FEE742 bartserial = 0xEBBF8898
idbobby = 0xFEC0AFC9E0E38457 idbobby = 0x1749A29D12CA3FC5
idalicia = 0x7BDF786564A94A60 idalicia = 0x23E0082C8250DB56
mailbobby = bobby@local mailbobby = bobby@local
mailalicia = alicia@local mailalicia = alicia@local

View File

@@ -1,11 +1,11 @@
117IsVZ{M<S&Z?0mhIOEbgqco>Qeqspa72t2[5<yzy<%XA&m<+e)nUjO*]&*K*c)pffj2=% 11FKR@@sm5ulAVpg?d#VWZ/C<w*)&r*=p2-.hdv/i(Jn}OF/PM&p-*+-slMVEB%#ic<<N6l
7MN(EWGTCGIDk)zddr)0jIh^EACdxEJQma{[<Gf}7*=X[Krixt-FCg{x&O&56{+!eRcw0?# J6vq]]*=Rr8ddszddr)0phoo9Dm]1NA2c?r!3+KqZ<:#q$WWJd8QiQhXKQhR8aBmR{#@cGE
AdpYnz#nBupZH0Q/<xx.QO-^?NBE1uw?L^pCFlVb{%6FDsNN80L/z6kX.A3jWVIsDBC*M[c lmKZ.VYXUYmA<i@7$)41/h1q!Jp-x?N0N-l0%x1s!}OEW[6kuViu=mBKR0c^QZqh0N^9Q&e
.)uxMiW]%P!&lg[O:Dg6%cz8SDMijDFRXAS:++>Jx<dDZ[#Oh!l0O#ip[01S^Zm&GgcIKcp f^]^/3%feM)=J9tSQYS}E7)^]M#y7e2Q)VRaz-EC8]k5VgMZ.fA8-C50+V*.7*B$mOF)nXz
Jk{3Ic3ax2>Xj-}W!lJ*v.89pLi*Ncm!mE<NdnQjO8Ee-V:usGF6NAyHmZC$$qToaZykHww yR}!8MO}+X0.krUZZ3HBI}jfB/^/bx%Ar4(j9a0@Eatg9<E5D8-@Ac/u]2}IXEK>.1?-aFf
f{Xsq^(m:KXo<SRjr4k>JDU@ABW]MdqUH#x5<k6RAFmPozFrW0vqYQvy&r/(yYDpRkp3Q5Q iN-ind-7XB/(-^m8faYlpRo^FO-}R-92:Sa->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%ka
9M&Qb^&8>QT6%&-xJ^K9%Fh.FQjWPBFYS(DJJLLnNVYJ?/&&#IitIYm>L^U[PQoWmcVqk6p s5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdzM/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i
tIf-F:1SJX{%fp}1AG!rp.}YO2WxCg5$ogL-d:Ft.a[030WFR/?.10JpCDEGO.{C*QOC?Sl 9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@ykU[<R)p=IJG:wqSU1hxlribZWP*9*)(?2@QPo
^)KkvlGN6sj>]tUcY?T=oJmd>>ZQ(lladd=t1h6GW1(q?]qmr<vE=RSRO^/j4-a1P=y/.yW #PRsJ.fkjS}Pgg/gLvz9e^vWw@$oeX]TIk!1162Rn.)FUO5%4EF#M(YYoe+qDM:cN4}Yg1N
*2PX<-b}c3lCCsTv/}fUj32k6Lf)Gish5YM8poO:bF$}Il?2+q*rZ^{VM4Zh<n52u}{+]-G Hn/SjH8utta@WIHY1Nsa^e%9a++:zZUEXLuCMN$dAMRaEa5d:d0w7{8qzBX31Ym}a.[:*)o
EErFwp&/@5mmo6[i5-VFmk=}*fF#r10@@r308!.5wb(Pf1Gnzdv/MGe +r.n>Ad8QZgC}SZmk=}Qg^TL*f!$D-0@@r308!.(}#uY%1HVsi9rl6t

View File

@@ -1,15 +1,15 @@
117IsVZ{M<S&Z?0mhIOEbgqco>Qeqspa72t2[5<yzu86SbJeYg=?0X7HYq1UY>E<T.5}8K0 11FKR@@sm5ulAVpg?d#VWZ/C<w*)&r*=p2-.hdv/iSOLh}x@.cKb(1rNTN<rzr6bg6hcyn?
ldO8f*T4?bRna*A&m<+e)nUjO*]&*K*c)pffj2=%7MN(EWGTCGA9Z/m7:@FxVrz<nVw4yZW L]F^}/Cg/4-GQAOF/PM&p-*+-slMVEB%#ic<<N6lJ6vq]]*=Rq#^GY)Oql&.dc.OukuZhtA
pF>iLe3XC2+ZEXP$^.LcU[T6m5J1<pAw.0KC=.dMJckEGVKGfP49[<RGI$YV2HP*>&Xn.Lq >@8@wBa3x=@:bJ{hS1j]S:tr!/@6GjHTi88@^VJd5rXc*KVxJVG(@7&[YSa%nqnZ*T1Szd&
kCg%Rf7uQj}37$dDZ{Hdt!rYCIKU2PiLopVHGX-jEYVwKWf/Eaz!^^L<om^eX+VzuVfKBZI /bP-hA1&-J9WlZHv5UqyJNkzKin{(Q@[eB?Nupc1xP5:kfWJC+=LypT2.[Jz#3aaUm)j&-r
bQ9E)VpYi4JR=%)Z3H=:?^Znf(ajIot1RVK!ahk%lAvd0F)OmFczddr)0jIh^EACdxEJQma z!7YPT*di]YBo}>&tJ8RDB7tF6NxSVcqL0R(Uf7enM}x:9]Ifaizddr)0phoo9Dm]1NA2c?
{[<Gf}7*=X[Krixt-FCg{x&O&56{+!eRcw0?#AdpYnz#nBupZH0Q/<xx.QO-^?NBE1uw?L^ r!3+KqZ<:#q$WWJd8QiQhXKQhR8aBmR{#@cGElmKZ.VYXUYmA<i@7$)41/h1q!Jp-x?N0N-
pCFlVb{%6FDsNN80L/z6kX.A3jWVIsDBC*M[c.)uxMiW]%P!&lg[O:Dg6%cz8SDMijDFRXA l0%x1s!}OEW[6kuViu=mBKR0c^QZqh0N^9Q&ef^]^/3%feM)=J9tSQYS}E7)^]M#y7e2Q)V
S:++>Jx<dDZ[#Oh!l0O#ip[01S^Zm&GgcIKcpJk{3Ic3ax2>Xj-}W!lJ*v.89pLi*Ncm!mE Raz-EC8]k5VgMZ.fA8-C50+V*.7*B$mOF)nXzyR}!8MO}+X0.krUZZ3HBI}jfB/^/bx%Ar4
<NdnQjO8Ee-V:usGF6NAyHmZC$$qToaZykHwwf{Xsq^(m:KXo<SRjr4k>JDU@ABW]MdqUH# (j9a0@Eatg9<E5D8-@Ac/u]2}IXEK>.1?-aFfiN-ind-7XB/(-^m8faYlpRo^FO-}R-92:S
x5<k6RAFmPozFrW0vqYQvy&r/(yYDpRkp3Q5Q9M&Qb^&8>QT6%&-xJ^K9%Fh.FQjWPBFYS( a->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%kas5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdz
DJJLLnNVYJ?/&&#IitIYm>L^U[PQoWmcVqk6ptIf-F:1SJX{%fp}1AG!rp.}YO2WxCg5$og M/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@y
L-d:Ft.a[030WFR/?.10JpCDEGO.{C*QOC?Sl^)KkvlGN6sj>]tUcY?T=oJmd>>ZQ(lladd kU[<R)p=IJG:wqSU1hxlribZWP*9*)(?2@QPo#PRsJ.fkjS}Pgg/gLvz9e^vWw@$oeX]TIk
=t1h6GW1(q?]qmr<vE=RSRO^/j4-a1P=y/.yW*2PX<-b}c3lCCsTv/}fUj32k6Lf)Gish5Y !1162Rn.)FUO5%4EF#M(YYoe+qDM:cN4}Yg1NHn/SjH8utta@WIHY1Nsa^e%9a++:zZUEXL
M8poO:bF$}Il?2+q*rZ^{VM4Zh<n52u}{+]-GEErFwp&/@5mmo6[i5-VFmk=}*fF#r10SSi uCMN$dAMRaEa5d:d0w7{8qzBX31Ym}a.[:*)o+r.n>Ad8QZgC}SZmk=}Qg^TL*f!$D-0SSi
208!.5wb(Pf1Gnzdv/MGe 208!.(}#uY%1HVsi9rl6t

View File

@@ -1,2 +1,2 @@
0yzGIvaO]*=f%2j{IN3RyjMVfDkqOCCWa%iGKjQA4sv<gU%}2pVH4?=opi#NgNZTplE8-/L 0NJpVRBx#s8XBhtH3[&hnAHi{@a#izw2QKZs>(!qEVm6!Ek-M>gFR&C13T-*gZ+fyQ@!9I*
TacAn-Z^)aMhF6VTn?YTZl2=3#qorAT*[gk4vkK+U<FB:6z+([3xE}0#XsX8<X(?RB#)G hRt+6n.(bqn5B4myD2$*etzI5-QwmkMKXNbeq4C8Dk)q7B4=)EeWyhtM>IV1pZ7:vF&!0

View File

@@ -1,3 +1,2 @@
12&LmmMip+h8WoSiw:2WfAq7M000000000008!.5wb(Pf0yj1r?y^{}ZAt{nLMo443Ht[22 16LDgD]-t>Q1x*FrY.@b*&DTJ6N<9wQMrWGh5/.A<O<rx&M^(K5x@cx@9To3s&(WOwxz]->
+B]Zw9l8C8u&*uVXnJ>]pFu>N95pAc<).Ll5X12&Gj%0UH3rJE]GES2lj-7000000000000 AxT^(g2ne2@jq9fFCEwlPu?UfHOk+huiZS000000000008!.(}#uY%0SSi200000
000000000000000000000000000000000