Separate viewing keys (a_pk, sk_enc) from receiving keys sk_enc.

Also fix a minor error in the specification of note decryption.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2017-02-23 20:31:13 +00:00
parent 8a36de79df
commit fb456b8a38
3 changed files with 255 additions and 173 deletions

BIN
protocol/key_components.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -9,12 +9,15 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="525"
height="250"
width="560"
height="370"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="key_components.pdf">
inkscape:version="0.92.0 r15299"
sodipodi:docname="key_components.svg"
inkscape:export-filename="/home/davidsarah/zecc/zips/protocol/key_components.png"
inkscape:export-xdpi="179.99957"
inkscape:export-ydpi="179.99957">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
@ -22,9 +25,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="307.17839"
inkscape:cy="290.98095"
inkscape:zoom="1.979899"
inkscape:cx="256.59392"
inkscape:cy="195.56571"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@ -43,9 +46,8 @@
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M -11.403143,-4.732916 1.416553,-0.01878889 -11.403144,4.6953372 c 2.0480517,-2.7832182 2.0362508,-6.5911436 10e-7,-9.4282532 z"
style="fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round"
id="path4007"
inkscape:connector-curvature="0" />
</marker>
@ -57,9 +59,8 @@
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path3995"
inkscape:connector-curvature="0" />
</marker>
@ -71,9 +72,8 @@
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path3995-1"
inkscape:connector-curvature="0" />
</marker>
@ -85,9 +85,8 @@
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path3995-3"
inkscape:connector-curvature="0" />
</marker>
@ -99,9 +98,8 @@
orient="auto"
inkscape:stockid="Arrow1Mend-3A">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path4669"
inkscape:connector-curvature="0" />
</marker>
@ -113,9 +111,8 @@
orient="auto"
inkscape:stockid="Arrow1Mendq">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path4767"
inkscape:connector-curvature="0" />
</marker>
@ -127,9 +124,8 @@
orient="auto"
inkscape:stockid="Arrow1MendJ">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path4770"
inkscape:connector-curvature="0" />
</marker>
@ -141,9 +137,8 @@
orient="auto"
inkscape:stockid="Arrow1Mend-3A2">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:0.42666668pt"
d="M -4.2666667,0 -6.4,2.1333333 1.0666667,0 -6.4,-2.1333333 Z"
id="path4773"
inkscape:connector-curvature="0" />
</marker>
@ -155,12 +150,37 @@
orient="auto"
inkscape:stockid="Arrow2Lendh">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:0.625;stroke-linejoin:round"
d="M -11.403143,-4.732916 1.416553,-0.01878889 -11.403144,4.6953372 c 2.0480517,-2.7832182 2.0362508,-6.5911436 10e-7,-9.4282532 z"
style="fill:#f10090;fill-rule:evenodd;stroke:#f10090;stroke-width:0.73333335;stroke-linejoin:round"
id="path5670"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-2"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
d="M -11.403143,-4.732916 1.416553,-0.01878889 -11.403144,4.6953372 c 2.0480517,-2.7832182 2.0362508,-6.5911436 10e-7,-9.4282532 z"
style="fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round"
id="path4007-6"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-2-8"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
d="M -11.403143,-4.732916 1.416553,-0.01878889 -11.403144,4.6953372 c 2.0480517,-2.7832182 2.0362508,-6.5911436 10e-7,-9.4282532 z"
style="fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round"
id="path4007-6-7"
inkscape:connector-curvature="0" />
</marker>
</defs>
<metadata
id="metadata7">
@ -178,212 +198,269 @@
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1"
transform="translate(0,-802.36214)">
transform="translate(0,-752.51961)">
<rect
ry="23.214285"
y="982.36218"
x="251.66313"
height="48.57143"
width="75.000008"
id="rect2985-9-7"
style="fill:#fdfe99;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
ry="24.999996"
y="880.93359"
x="158.57143"
height="49.999992"
width="167.14285"
ry="26.666662"
y="827.51959"
x="176.28571"
height="53.333324"
width="178.28571"
id="rect2985"
style="fill:#74da9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
style="fill:#74da9a;fill-opacity:1;stroke:#000000;stroke-width:1.06666672;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text3755"
y="910.93359"
x="181.63776"
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="859.51959"
x="200.88979"
style="font-style:normal;font-weight:normal;font-size:25.60000038px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="910.93359"
x="181.63776"
y="859.51959"
x="200.88979"
id="tspan3757"
sodipodi:role="line">a</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">a</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3759"
y="914.50507"
x="195.53572"
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="863.32916"
x="215.71429"
style="font-style:normal;font-weight:normal;font-size:14.9333334px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="914.50507"
x="195.53572"
y="863.32916"
x="215.71429"
id="tspan3761"
sodipodi:role="line">pk</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">pk</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3755-1"
y="911.91254"
x="258.30273"
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="860.56384"
x="282.66577"
style="font-style:normal;font-weight:normal;font-size:25.60000038px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="911.91254"
x="258.30273"
y="860.56384"
x="282.66577"
id="tspan3757-3"
sodipodi:role="line">pk</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">pk</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3759-1"
y="915.48401"
x="288.30273"
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="864.37341"
x="314.66577"
style="font-style:normal;font-weight:normal;font-size:14.9333334px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="915.48401"
x="288.30273"
y="864.37341"
x="314.66577"
id="tspan3761-4"
sodipodi:role="line">enc</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">enc</tspan></text>
<rect
ry="23.214285"
y="982.36218"
x="160"
height="48.57143"
width="75.000008"
ry="24.761904"
y="1047.853"
x="175.66667"
height="51.809525"
width="80.000008"
id="rect2985-9"
style="fill:#ff949c;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
style="fill:#ff949c;fill-opacity:1;stroke:#000000;stroke-width:1.06666672;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text3755-4"
y="1012.3622"
x="183.5714"
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="1079.853"
x="200.80949"
style="font-style:normal;font-weight:normal;font-size:25.60000038px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="1012.3622"
x="183.5714"
y="1079.853"
x="200.80949"
id="tspan3757-5"
sodipodi:role="line">a</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">a</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3759-9"
y="1016.6479"
x="197.14284"
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
y="1084.4244"
x="215.28569"
style="font-style:normal;font-weight:normal;font-size:14.9333334px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="1016.6479"
x="197.14284"
y="1084.4244"
x="215.28569"
id="tspan3761-0"
sodipodi:role="line">sk</tspan></text>
sodipodi:role="line"
style="stroke-width:1.06666672">sk</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3755-1-5"
y="1013.3411"
x="262.46588"
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="1013.3411"
x="262.46588"
id="tspan3757-3-7"
sodipodi:role="line">sk</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3759-1-5"
y="1016.9126"
x="289.60876"
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="1016.9126"
x="289.60876"
id="tspan3761-4-2"
sodipodi:role="line">enc</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3850"
y="912.36218"
x="341.42859"
style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif Italic"
y="859.8241"
x="366.16003"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Quattrocento;-inkscape-font-specification:Quattrocento Italic"
y="912.36218"
x="341.42859"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';stroke-width:1.06666672"
y="859.8241"
x="366.16003"
id="tspan3852"
sodipodi:role="line">Transmission key</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3850-8"
y="1014.1697"
x="341.15625"
style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#f10090;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif Italic"
y="968.34802"
x="12.178715"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#f10090;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#f10090;fill-opacity:1;font-family:Quattrocento;-inkscape-font-specification:Quattrocento Italic"
y="1014.1697"
x="341.15625"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';fill:#f10090;fill-opacity:1;stroke-width:1.06666672"
y="968.34802"
x="12.178715"
id="tspan3852-3"
sodipodi:role="line">Viewing key</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3850-3"
y="910.59833"
x="43.299095"
style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif Italic"
y="859.16199"
x="53.32856"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Quattrocento;-inkscape-font-specification:Quattrocento Italic"
y="910.59833"
x="43.299095"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';stroke-width:1.06666672"
y="859.16199"
x="53.32856"
id="tspan3852-9"
sodipodi:role="line">Paying key</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3850-3-1"
y="1011.3126"
x="14.695654"
style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif Italic"
y="1078.7335"
x="20.675364"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Quattrocento;-inkscape-font-specification:Quattrocento Italic"
y="1011.3126"
x="14.695654"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';stroke-width:1.06666672"
y="1078.7335"
x="20.675364"
id="tspan3852-9-9"
sodipodi:role="line">Spending key</tspan></text>
<g
transform="translate(-75.245104,703.63834)"
transform="translate(-72.736063,638.75133)"
id="g3955">
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 233.57143,166.64789 c -0.24154,-13.79958 20.55192,-11.4278 42.14286,-12.14285 30.71428,0.71429 35.60298,-1.98987 39.28571,-5.7143 3.10809,-3.14327 2.14285,-4.99998 2.14285,-4.99998"
style="fill:none;stroke:#000000;stroke-width:1.06666672px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 249.14286,177.75775 c -0.25764,-14.71955 21.92205,-12.18965 44.95238,-12.95237 32.7619,0.76191 37.97651,-2.12253 41.90476,-6.09526 3.3153,-3.35282 2.28571,-5.33331 2.28571,-5.33331"
id="path3917"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 401.14123,166.60457 c 0.24154,-13.79958 -20.55192,-11.4278 -42.14286,-12.14285 -30.71428,0.71429 -35.60298,-1.98987 -39.28571,-5.7143 -3.10809,-3.14327 -2.14285,-4.99998 -2.14285,-4.99998"
style="fill:none;stroke:#000000;stroke-width:1.06666672px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 427.88398,177.71154 c 0.25764,-14.71955 -21.92205,-12.18965 -44.95239,-12.95237 -32.76189,0.76191 -37.97651,-2.12253 -41.90475,-6.09526 -3.3153,-3.35282 -2.28571,-5.33331 -2.28571,-5.33331"
id="path3917-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
</g>
<text
sodipodi:linespacing="125%"
id="text3850-7"
y="836.33234"
x="159.40506"
style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif Italic"
y="784.07965"
x="176.54729"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Quattrocento;-inkscape-font-specification:Quattrocento Italic"
y="836.33234"
x="159.40506"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';stroke-width:1.06666672"
y="784.07965"
x="176.54729"
id="tspan3852-97"
sodipodi:role="line">Payment address</tspan></text>
<rect
ry="26.666662"
y="936.75397"
x="175.06087"
height="53.333324"
width="178.28571"
id="rect2985-3"
style="fill:#fdfe99;fill-opacity:1;stroke:#000000;stroke-width:1.06666672;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text3755-6"
y="968.75397"
x="199.66493"
style="font-style:normal;font-weight:normal;font-size:25.60000038px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="968.75397"
x="199.66493"
id="tspan3757-7"
sodipodi:role="line"
style="stroke-width:1.06666672">a</tspan></text>
<text
id="text3759-5"
y="972.56354"
x="214.48946"
style="font-style:normal;font-weight:normal;font-size:14.9333334px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="972.56354"
x="214.48946"
id="tspan3761-3"
sodipodi:role="line"
style="stroke-width:1.06666672">pk</tspan></text>
<text
id="text3759-1-9"
y="973.60779"
x="313.44095"
style="font-style:normal;font-weight:normal;font-size:14.9333334px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="973.60779"
x="313.44095"
id="tspan3761-4-1"
sodipodi:role="line"
style="stroke-width:1.06666672">enc</tspan></text>
<text
id="text3850-3-0"
y="969.91156"
x="366.73032"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.20000076px;line-height:125%;font-family:Serif;-inkscape-font-specification:'Serif Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.46666718px;font-family:Quattrocento;-inkscape-font-specification:'Quattrocento Italic';stroke-width:1.06666672"
y="969.91156"
x="366.73032"
id="tspan3852-9-93"
sodipodi:role="line">Receiving key</tspan></text>
<text
id="text3755-1-5-6"
y="969.42883"
x="283.70557"
style="font-style:normal;font-weight:normal;font-size:25.60000038px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672"
xml:space="preserve"><tspan
y="969.42883"
x="283.70557"
id="tspan3757-3-7-0"
sodipodi:role="line"
style="stroke-width:1.06666672">sk</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3980"
d="m 196.23339,994.85058 c -0.003,-21.36583 0.68365,-75.48353 0.68365,-75.48353"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
d="m 214.31562,1061.174 c -0.003,-22.7903 0.22414,-80.51581 0.22414,-80.51581"
style="fill:none;stroke:#000000;stroke-width:1.06666672px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#f10090;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lendh)"
d="m 236.22125,1074.622 c 34.77583,0.084 47.58393,0.1214 53.32507,-0.049 9.82135,-0.2917 13.49011,-3.3425 16.98421,-7.3592 3.37581,-3.8807 5.29483,-10.8339 5.55584,-33.5876 l -0.15607,-53.13527"
id="path4668"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csscc" />
<g
id="g4689"
style="fill:none;fill-opacity:1;stroke:#f10090;stroke-opacity:1"
transform="translate(9.6719556,-2.3991123)">
<path
sodipodi:nodetypes="czzzc"
inkscape:connector-curvature="0"
id="path4670"
d="m 156.2806,930.52347 c -3.22019,0.27418 -4.8062,0.90755 -6.85506,3.96663 -2.04886,3.05908 -2.06364,10.34355 -2.01133,15.3383 0.0523,4.99475 -0.10857,8.93699 -2.51642,11.96863 -2.40782,3.03165 -4.09355,3.97036 -8.40092,3.77013"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#f10090;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="czzzc"
inkscape:connector-curvature="0"
id="path4670-6"
d="m 156.2806,1000.6108 c -3.22019,-0.2741 -4.8062,-0.9075 -6.85506,-3.96658 -2.04886,-3.05908 -2.06364,-10.34355 -2.01133,-15.3383 0.0523,-4.99475 -0.10857,-8.93699 -2.51642,-11.96863 -2.40782,-3.03165 -4.09355,-3.97036 -8.40092,-3.77013"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#f10090;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3980-5"
d="m 288.2203,992.19509 c -0.25517,-21.61837 -0.25254,-73.06275 -0.25254,-73.06275"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
id="path3980-1"
d="m 312.48597,951.40098 c -0.003,-22.7903 0.22414,-80.51581 0.22414,-80.51581"
style="fill:none;stroke:#000000;stroke-width:1.06666672px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-2)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3980-6"
d="m 216.74804,1007.4736 c 19.1899,0.1 42.67895,0.2526 42.67895,0.2526"
style="fill:#f10090;fill-opacity:1;stroke:#f10090;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lendh)" />
id="path3980-1-9"
d="m 213.49102,951.40098 c -0.003,-22.7903 0.22414,-80.51581 0.22414,-80.51581"
style="fill:none;stroke:#000000;stroke-width:1.067;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:;stroke-miterlimit:4;stroke-dasharray:none" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3980-1-9-2"
d="m 216.06059,951.40411 c -0.003,-22.7903 0.22414,-80.51581 0.22414,-80.51581"
style="fill:none;stroke:#000000;stroke-width:1.06700003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -363,6 +363,8 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\paymentAddresses}{\term{payment addresses}}
\newcommand{\viewingKey}{\term{viewing key}}
\newcommand{\viewingKeys}{\term{viewing keys}}
\newcommand{\receivingKey}{\term{receiving key}}
\newcommand{\receivingKeys}{\term{receiving keys}}
\newcommand{\spendingKey}{\term{spending key}}
\newcommand{\spendingKeys}{\term{spending keys}}
\newcommand{\payingKey}{\term{paying key}}
@ -480,6 +482,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\PaymentAddress}{\mathsf{addr_{pk}}}
\newcommand{\PaymentAddressLeadByte}{\hexint{16}}
\newcommand{\PaymentAddressSecondByte}{\hexint{9A}}
\newcommand{\ViewingKey}{\mathsf{vk}}
\newcommand{\SpendingKeyLeadByte}{\hexint{AB}}
\newcommand{\SpendingKeySecondByte}{\hexint{36}}
\newcommand{\PtoSHAddressLeadByte}{\hexint{1C}}
@ -1051,9 +1054,9 @@ A \paymentAddress includes two public keys: a \payingKey matching that of \notes
sent to the address, and a \transmissionKey for a key-private asymmetric encryption
scheme. ``Key-private'' means that ciphertexts do not reveal information about
which key they were encrypted to, except to a holder of the corresponding
private key, which in this context is called the \viewingKey. This facility is
private key, which in this context is called the \receivingKey. This facility is
used to communicate encrypted output \notes on the \blockchain to their
intended recipient, who can use the \viewingKey to scan the \blockchain for
intended recipient, who can use the \receivingKey to scan the \blockchain for
\notes addressed to them and then decrypt those \notes.
The basis of the privacy properties of \Zcash is that when a \note is spent,
@ -1201,7 +1204,8 @@ $\PoWMaxAdjustUp$ will also be defined in that section.
\sproutonly{
A \keyTuple $(\AuthPrivate, \TransmitPrivate, \PaymentAddress)$ is
generated by users who wish to receive payments under this scheme.
The \viewingKey $\TransmitPrivate$ and the \paymentAddress
The \receivingKey $\TransmitPrivate$, the \viewingKey
$\ViewingKey = (\AuthPublic, \TransmitPrivate)$, and the \paymentAddress
$\PaymentAddress = (\AuthPublic, \TransmitPublic)$ are derived from the
\spendingKey $\AuthPrivate$.
}
@ -2484,8 +2488,9 @@ out-of-band, which are not addressed in this document.
\nsubsubsection{Decryption by a Recipient}
Let $\PaymentAddress = (\AuthPublic, \TransmitPublic)$ be the recipient's
\paymentAddress, and let $\TransmitPrivate$ be the recipient's \viewingKey.
Let $\ViewingKey = (\AuthPublic, \TransmitPrivate)$ be the recipient's \viewingKey,
and let $\TransmitPublic$ be the corresponding \transmissionKey derived from
$\TransmitPrivate$ as specified in \crossref{keycomponents}.
Let $\cmNew{\allNew}$ be the \noteCommitments of each output coin.
@ -2497,7 +2502,7 @@ component as follows:
\begin{itemize}
\item Let $\DHSecret{i} := \KAAgree(\TransmitPrivate, \EphemeralPublic)$.
\item Let $\TransmitKey{i} := \KDF(i, \hSig, \DHSecret{i}, \EphemeralPublic,
\TransmitPublicNew{i})$.
\TransmitPublic)$.
\item Return $\DecryptNote(\TransmitKey{i}, \TransmitCiphertext{i}, \cmNew{i},
\AuthPublic).$
\end{itemize}