(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     43402,       1166]
NotebookOptionsPosition[     34873,       1007]
NotebookOutlinePosition[     36915,       1056]
CellTagsIndexPosition[     36837,       1051]
WindowTitle->Secp256k1Point
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "df09dfee-5eda-4466-bfee-38ca716f904c"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "97b77139-f380-443b-8c3a-1adb2604d24e"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "31334e89-45d1-4b19-8e95-90962bc5b0ef"]
         }],ExpressionUUID->"865b9e65-248f-4ebb-9e34-0ebae6d003b7"],
         StripOnInput->False],{
        StyleBox[
          "\"Secp256k1PointEncode\"", "SeeAlsoRelated", StripOnInput -> 
           False] :> Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointEncode"], 
         StyleBox[
          "\"Secp256k1PublicKey\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Secp256k1PublicKey"], 
         StyleBox[
          "\"Secp256k1PointQ\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointQ"], 
         StyleBox[
          "\"Secp256k1PointAdd\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointAdd"], 
         StyleBox[
          "\"TaprootOutputKey\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/TaprootOutputKey"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "d06f32db-f4cb-4aaf-989d-1577418f5cb7"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "538468ae-5d23-47e0-a6bd-eac292c7b4d3"]
         }],ExpressionUUID->"a9f05e3c-ab36-44e3-9bc0-0383b0887042"],
         StripOnInput->False],{
        "\"Derivation\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Derivation"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "31899884-6fbe-4633-aa2a-c096837772f3"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "1a3576b2-0426-42f7-ab83-f9b99101674f"]
         }],ExpressionUUID->"7c0327cf-6e4c-4f81-b7d6-d3c5012714d0"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/Secp256k1Point\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/Secp256k1Point"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/Secp256k1Point.html"], StandardForm]], "Input", TextClipboardType -> 
                 "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/Secp256k1Point" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "884db427-8976-4712-8616-a9c6cc47faf4"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "56b34f1d-c33a-4bdf-9d49-2848b6102e26"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"b7654d22-136e-4729-9715-52784b00a28e"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"83845176-b2e1-465a-a74a-5ab2616293ff"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "Secp256k1Point", "ObjectName",ExpressionUUID->
      "1dc796a5-dc14-492e-b2c0-5a80ae742740"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"93144c1b-7c13-440d-8f12-cbc4a0abf0da"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "38abcd14-dd2b-4988-b573-d820d2ce6b67"]
    }],ExpressionUUID->"9f86896c-b915-4ecf-8543-64a1ba8c1563"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"09dbbb16-fe4c-489a-a9b9-\
01afa84a6a1b"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["Secp256k1Point"]], 
         "paclet:WolframInstitute/Puzzles/ref/Secp256k1Point", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["key", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "8e8fcaad-564d-4047-bf8e-f1241c281d5b"],
     "\[LineSeparator]",
     "gives the curve point ",
     Cell[BoxData[
      RowBox[{
       RowBox[{"{", 
        StyleBox["x", "TI"]}], ",", 
       RowBox[{
        StyleBox["y", "TI"], "}"}]}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "65de30d6-c8c6-45a0-bbf2-db7814962ed4"],
     " of a compressed or uncompressed SEC1 public ",
     StyleBox["key", "TI"],
     "."
    }],ExpressionUUID->"abeb65e1-acfb-41d5-89f9-dabd6606e47c"]}
  }]], "Usage",ExpressionUUID->"9c01e0c7-b9cf-4f5f-bca3-04845325454f"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"e6a31191-fd9c-48a0-99e1-eda10811d14e"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"c09ac160-f575-483b-a687-786397de9046"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "147838df-5b8b-4cfb-b7c4-25526f77ea24"]],ExpressionUUID->"fc4c7d39-a018-\
4cfa-ba4a-8ca170422b5b"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->2122214032,ExpressionUUID->"85717806-2063-4c0a-aff2-32c8a5a14693"],

Cell["\<\
The key is a 33-byte or 65-byte ByteArray, or the hexadecimal string of one.\
\>", "Notes",ExpressionUUID->"9d2e98af-f037-4ce4-a5f9-4b49c6bbe28c"],

Cell[TextData[{
 "A 33-byte key stores only ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "6b5a7018-2111-476d-b7d1-63e38a7446f7"],
 " and the parity of ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "51567c7e-5eda-45f4-a05c-66d09fb447a9"],
 "; the ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "6bac5ed0-7bec-43ee-8d15-de3ed8b205ef"],
 " coordinate is recovered as the square root of ",
 Cell[BoxData[
  RowBox[{
   SuperscriptBox[
    StyleBox["x", "TI"], "3"], "+", "7"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "d9ecf3de-c76e-47f7-b6b9-02b87163624a"],
 " with the stored parity."
}], "Notes",ExpressionUUID->"375290d7-5262-4817-a3a4-ac0018281f5f"],

Cell[TextData[{
 "The field order is ",
 Cell[BoxData["3"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "e1e32525-5f34-4e4d-88cd-fd3be3a6937a"],
 " modulo ",
 Cell[BoxData["4"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "92cff322-87a3-48cd-81bb-7f8002c13a15"],
 ", so the square root is the ",
 Cell[BoxData[
  RowBox[{
   StyleBox["(",
    SpanMaxSize->1], 
   RowBox[{
    StyleBox["p", "TI"], "+", "1"}], 
   StyleBox[")",
    SpanMaxSize->1], "/", "4"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ce2d05ce-010e-4f7d-988a-7309b2793515"],
 " power and no general square-root algorithm is needed."
}], "Notes",ExpressionUUID->"cec36801-cafb-48ca-9d64-4456aac82f9c"],

Cell[TextData[{
 "A key whose ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "97c909fb-7a09-47f3-bcc6-6595b280cac7"],
 " coordinate has no square root, or whose stored ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "493b8668-dde4-41e5-8d5c-0a419503baed"],
 " is not on the curve, gives a Failure: the decoding was attempted and did \
not succeed."
}], "Notes",ExpressionUUID->"763f0d1c-ff4c-45d5-9263-1c8a56b4806d"],

Cell[TextData[{
 "A ByteArray of the wrong length, or one whose first byte is not ",
 Cell[BoxData[
  RowBox[{"0", "x02"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "205c7aad-2ac6-4d1f-ae6e-58f96a22a7de"],
 ", ",
 Cell[BoxData[
  RowBox[{"0", "x03"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "bba50790-b467-41ed-b711-b48779a25e16"],
 " or ",
 Cell[BoxData[
  RowBox[{"0", "x04"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "6694a56a-c0e2-4e46-8dd1-b28726dabb5b"],
 ", is not a SEC1 key at all and the call is returned unevaluated."
}], "Notes",ExpressionUUID->"189c5079-30b9-488e-91ce-f55696af17a1"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Secp256k1PointEncode"]], 
    "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointEncode", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7ded6205-2807-43ed-b09c-f32ce32a247b"],
 " is the inverse."
}], "Notes",ExpressionUUID->"47a86876-ccdb-4ee0-9685-3d476c8b058f"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"3eda3dbd-5145-4a23-85f1-c66ca1b68dfa"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"4f1d0cbb-78b2-47ba-b115-bb5dc2d5603b"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"4b95e187-3f1a-488b-bfd2-18af2934725b"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(10)", "ExampleCount",ExpressionUUID->
  "9ddd5956-d392-4eb6-8ff4-77b5732be1ec"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->495342801,ExpressionUUID->"099c407d-0cf4-4c0d-81a0-5cbf23acd01c"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"a33bd5fe-b1ad-434a-a1b1-d5752d469680"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "6e3b1b9a-d188-4671-8cef-82bb710a3126"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"ac50f90b-4c5d-4a48-a183-1172039ba234"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "fa0b66ed-5fc2-4007-b99b-af76fdc6c89f"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1579840635,ExpressionUUID->"9f810002-dd98-4756-990f-7e73e46c7b6c"],

Cell["The point of the generator's compressed encoding:", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"328ef23b-a9cc-432b-bf0d-e54aacf005ed"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Secp256k1Point", 
  "[", "\"\<\
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\>\"", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"ef1ef807-31b4-425c-9282-f2d04c63f4b6"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "550662630222773436695787188951685343262506034537775941755001873603891167292\
40", ",", 
   "32670510020758816978083085130507043184471273380659243275938904335757337482\
424"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f3e7103b-65ae-4a7a-9dff-f554d78cf83c"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "9230825c-0e1e-47b9-a425-11085abe148b"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"541fd192-d10c-490d-\
949c-3b02a97c11fd"],

Cell[TextData[{
 "The same key uncompressed, which carries ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "71aa5776-537d-4efc-b922-2bcf3eabc7b6"],
 " explicitly:"
}], "ExampleText",ExpressionUUID->"68d58c50-d972-4564-ad09-ede363eed7a2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Secp256k1Point", 
  "[", "\"\<\
0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3\
c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2a421274-f98c-4c0e-8d1e-2e149ca9ffd3"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "550662630222773436695787188951685343262506034537775941755001873603891167292\
40", ",", 
   "32670510020758816978083085130507043184471273380659243275938904335757337482\
424"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b4558975-53fd-447e-b099-11e136650cbe"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "d35f22a2-4909-48d9-b608-b439565ec4b4"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"2a356cec-f072-4b56-\
955e-b7d164daed70"],

Cell[TextData[{
 "Decompressing a ByteArray key straight from ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Secp256k1PublicKey"]], 
    "paclet:WolframInstitute/Puzzles/ref/Secp256k1PublicKey", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b0bc95bf-880b-4cee-8f69-f8115acd9220"],
 ":"
}], "ExampleText",ExpressionUUID->"867fa579-3c7c-46c1-ac5a-f3fc7a844596"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Secp256k1Point", "[", 
  RowBox[{"Secp256k1PublicKey", "[", "2", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c1c9627e-88b2-4ef6-a7da-6fbc3d579d44"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "895658919265470042312529204259356923606441458296222098336843299132971889865\
97", ",", 
   "12158399299693830322967808612713398636155367887041628176798871954788371653\
930"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"5d56c11d-cddc-453a-91a3-eaa29dbe8ae8"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "96d2e893-a372-4298-be42-48341bf107aa"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"2e8e712c-664d-44b4-8766-934f7465f44f"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "68accae3-5250-4edb-ac92-ad303d17798c"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"07cee490-9334-469f-b9ab-404d87ad41b5"],

Cell[TextData[{
 "A ",
 Cell[BoxData[
  RowBox[{"0", "x03"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "82ab4889-2971-49d7-a205-eb4a6dc937f3"],
 " prefix selects the odd root, giving the other point with the same ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "d91f0ed3-ef26-4aa3-b588-ee23fd3fd936"],
 ":"
}], "ExampleText",ExpressionUUID->"e0b6a286-300e-465a-b973-c756c8264582"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Last", "[", 
  RowBox[{
  "Secp256k1Point", 
   "[", "\"\<\
0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\>\"", 
   "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"bc3ff068-9b06-4bd0-81b3-dddf200114cd"],

Cell[BoxData[\
"83121579216557378445487899878180864668798711284981320763518679672151497189239\
"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"9b9612e5-0d3a-4aff-ad2c-02509238861d"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "1ac9f481-a08b-457a-beae-d0d615aab562"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"2cc0582c-3b8d-4309-\
b306-549f2eb9a619"],

Cell["The two roots sum to the field order:", "ExampleText",ExpressionUUID->"edb8d0bb-c44b-416a-8ec2-62b93a8c1b70"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Mod", "[", 
  RowBox[{
   RowBox[{
    RowBox[{"Last", "[", 
     RowBox[{
     "Secp256k1Point", 
      "[", "\"\<\
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\>\"", 
      "]"}], "]"}], " ", "+", " ", 
    RowBox[{"Last", "[", 
     RowBox[{
     "Secp256k1Point", 
      "[", "\"\<\
0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\>\"", 
      "]"}], "]"}]}], ",", " ", 
   RowBox[{"$Secp256k1", "[", "\"\<Prime\>\"", "]"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"d6284dec-4315-4434-9ecb-bc21105f1cf9"],

Cell[BoxData["0"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"98531a11-4bba-46a9-928a-d3ca1e301978"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "27a1e803-84d7-4129-8ef3-86519de9d39b"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"e1f81dc3-1766-4972-\
b762-b92508abffeb"],

Cell[TextData[{
 "An ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5df8b5cb-49d9-40c4-9fb9-d1c0a6ac57f4"],
 " coordinate with no square root on the curve gives a Failure; BIP32 test \
vector 5 uses this key as an invalid one:"
}], "ExampleText",ExpressionUUID->"da357133-c3d6-43e3-9582-ab30d593e888"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FailureQ", "[", 
  RowBox[{
  "Secp256k1Point", 
   "[", "\"\<\
020000000000000000000000000000000000000000000000000000000000000007\>\"", 
   "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c7319361-bc55-490a-8044-13e8de0f4dbc"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"7e5e51ee-9b24-459b-adc4-f2fec9207d19"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "37da4f95-d247-49fe-b816-20e4816c12b2"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"e6cd224f-7a81-4e90-b7b3-7db84df69bfb"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "d789c330-992c-4f10-b377-5496e2a43c86"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"3a9821c1-613d-4c4a-9344-ce01f75f04e7"],

Cell["\<\
Decoding and re-encoding is the identity on a compressed key:\
\>", "ExampleText",ExpressionUUID->"7d684d78-d918-440f-b3ba-6a5b92123bec"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Secp256k1PointEncode", "[", 
   RowBox[{"Secp256k1Point", "[", 
    RowBox[{"Secp256k1PublicKey", "[", "9", "]"}], "]"}], "]"}], " ", "===", 
  " ", 
  RowBox[{"Secp256k1PublicKey", "[", "9", "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"b396d6cb-16d9-47b7-b8c7-9f66112c2024"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"060dadaa-7b14-4162-8936-f37f07bd22a3"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f7f75a05-34b9-405f-965d-d2f07bd35866"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"05028a32-c23c-430e-\
b72c-d8b2055f52c5"],

Cell["\<\
The compressed and uncompressed encodings of one key decode to the same point:\
\>", "ExampleText",ExpressionUUID->"d3e7294e-d549-400a-8600-9facd9156efe"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Secp256k1Point", "[", 
   RowBox[{"Secp256k1PublicKey", "[", "9", "]"}], "]"}], " ", "===", " ", 
  RowBox[{"Secp256k1Point", "[", 
   RowBox[{"Secp256k1PublicKey", "[", 
    RowBox[{"9", ",", " ", "\"\<Uncompressed\>\""}], "]"}], "]"}]}]], "Input",\

 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"d43654dd-c524-4384-ae23-6e802cc38b07"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"1eecea61-afc0-4264-9afb-630f051dbd03"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "208f9f87-2448-4dcc-9c7e-9fd37f8826dd"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"0d490242-6920-4d13-8dea-8db237a223aa"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "04e5f602-ed0d-42cd-b725-38b42fee9fbc"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"84ba774a-956f-4608-8bac-5e9f86bd05c0"],

Cell[TextData[{
 "A SEC1 prefix of ",
 Cell[BoxData[
  RowBox[{"0", "x01"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "424bc0cc-85b8-4219-ae6e-9760797d117f"],
 " is not defined, so the input is not a key and the call is returned \
unevaluated:"
}], "ExampleText",ExpressionUUID->"5a8317bd-72d5-4cd1-a5d9-9fb09a0f2a57"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MatchQ", "[", 
  RowBox[{
   RowBox[{
   "Secp256k1Point", 
    "[", "\"\<\
010000000000000000000000000000000000000000000000000000000000000007\>\"", 
    "]"}], ",", " ", "_Secp256k1Point"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"cdcf2bb9-f21c-42f2-9000-fa8ee7d55f47"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"06288e56-4965-4d52-9f6b-29e8f3d11a4c"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "55ea5b22-6e5f-4c41-8e41-0f9a4f71c452"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"4a439987-6012-4d2f-\
822c-989c47d8bde6"],

Cell[TextData[{
 "An uncompressed key whose stored ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b71323df-c510-4a37-b723-705932b730df"],
 " does not satisfy the curve equation gives a Failure rather than the point \
it claims:"
}], "ExampleText",ExpressionUUID->"96a6587b-a1ef-433b-ba08-4e2d88cfd003"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FailureQ", "[", 
  RowBox[{
  "Secp256k1Point", 
   "[", "\"\<\
0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798000000000000\
0000000000000000000000000000000000000000000000000001\>\"", "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"9b973653-d591-4b3d-bbd1-a17330b02637"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"d537209a-fae8-41be-8c04-0bfe8073d69c"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Secp256k1PointEncode"]], 
           "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointEncode", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "0222412d-ccc0-4e03-a68d-3b765f7aa3c5"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Secp256k1PublicKey"]], 
           "paclet:WolframInstitute/Puzzles/ref/Secp256k1PublicKey", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "00eed275-a023-44e3-bc39-48bc36d40981"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Secp256k1PointQ"]], 
           "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointQ", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "075f918b-5b8e-4670-9afe-5c736dcfd729"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Secp256k1PointAdd"]], 
           "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointAdd", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "8347f112-37a5-47b4-8c37-1dc3551811d7"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["TaprootOutputKey"]], 
           "paclet:WolframInstitute/Puzzles/ref/TaprootOutputKey", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "9fbe693c-5820-4891-b2a2-2b8263067747"]
       }], "SeeAlso",ExpressionUUID->"a5ca8576-c77a-4b9d-9d85-00df058b68df"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"3d2c4c2d-1175-4b01-8607-\
0e80c7153392"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedGuide.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Derivation"]], 
           "paclet:WolframInstitute/Puzzles/guide/Derivation"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "41a1a398-be57-4229-874e-ecbcb4d3f33b"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"bee40b8d-5983-458c-830a-\
82930f3d1dc8"],

Cell[" ", "FooterCell",ExpressionUUID->"1f971111-ae89-4913-9c66-8dd8a6cd5f67"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"Secp256k1Point",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 52.402316}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[Secp256k1Point,paclet : \
WolframInstitute/Puzzles/ref/Secp256k1Point, WolframInstitute/Puzzles Package \
Symbol][key] gives the curve point {x, y} of a compressed or uncompressed \
SEC1 public key.", "synonyms" -> {}, "tabletags" -> {}, "title" -> 
    "Secp256k1Point", "titlemodifier" -> "", "metadescription" -> "", 
    "windowtitle" -> "Secp256k1Point", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/Secp256k1Point", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"23a62540-7183-4851-b6fe-56e1de76ab68"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[16540, 456, 159, 2, 70, "ExampleText",ExpressionUUID->"328ef23b-a9cc-432b-bf0d-e54aacf005ed",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 36680, 1045}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[582, 21, 5854, 143, 70, "AnchorBarGrid",ExpressionUUID->"b7654d22-136e-4729-9715-52784b00a28e",
 CellID->1],
Cell[6439, 166, 107, 0, 70, "ContextNameCell",ExpressionUUID->"83845176-b2e1-465a-a74a-5ab2616293ff"],
Cell[CellGroupData[{
Cell[6571, 170, 557, 14, 70, "ObjectNameGrid",ExpressionUUID->"09dbbb16-fe4c-489a-a9b9-01afa84a6a1b"],
Cell[7131, 186, 1102, 30, 70, "Usage",ExpressionUUID->"9c01e0c7-b9cf-4f5f-bca3-04845325454f"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8270, 221, 1444, 34, 70, "NotesSection",ExpressionUUID->"85717806-2063-4c0a-aff2-32c8a5a14693",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->2122214032],
Cell[9717, 257, 156, 2, 70, "Notes",ExpressionUUID->"9d2e98af-f037-4ce4-a5f9-4b49c6bbe28c"],
Cell[9876, 261, 979, 28, 70, "Notes",ExpressionUUID->"375290d7-5262-4817-a3a4-ac0018281f5f"],
Cell[10858, 291, 825, 24, 70, "Notes",ExpressionUUID->"cec36801-cafb-48ca-9d64-4456aac82f9c"],
Cell[11686, 317, 595, 15, 70, "Notes",ExpressionUUID->"763f0d1c-ff4c-45d5-9263-1c8a56b4806d"],
Cell[12284, 334, 764, 20, 70, "Notes",ExpressionUUID->"189c5079-30b9-488e-91ce-f55696af17a1"],
Cell[13051, 356, 485, 13, 70, "Notes",ExpressionUUID->"47a86876-ccdb-4ee0-9685-3d476c8b058f"]
}, Closed]],
Cell[13551, 372, 80, 0, 70, "PageDelimiter",ExpressionUUID->"3eda3dbd-5145-4a23-85f1-c66ca1b68dfa"],
Cell[CellGroupData[{
Cell[13656, 376, 1401, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"099c407d-0cf4-4c0d-81a0-5cbf23acd01c",
 CellID->495342801],
Cell[15060, 415, 216, 4, 70, "Input",ExpressionUUID->"a33bd5fe-b1ad-434a-a1b1-d5752d469680",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[15301, 423, 1236, 31, 70, "ExampleSection",ExpressionUUID->"9f810002-dd98-4756-990f-7e73e46c7b6c",
 CellID->1579840635],
Cell[16540, 456, 159, 2, 70, "ExampleText",ExpressionUUID->"328ef23b-a9cc-432b-bf0d-e54aacf005ed",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[16724, 462, 275, 6, 70, "Input",ExpressionUUID->"ef1ef807-31b4-425c-9282-f2d04c63f4b6"],
Cell[17002, 470, 315, 7, 70, "Output",ExpressionUUID->"f3e7103b-65ae-4a7a-9dff-f554d78cf83c"]
}, Open  ]],
Cell[CellGroupData[{
Cell[17354, 482, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"541fd192-d10c-490d-949c-3b02a97c11fd"],
Cell[17581, 489, 326, 8, 70, "ExampleText",ExpressionUUID->"68d58c50-d972-4564-ad09-ede363eed7a2"],
Cell[CellGroupData[{
Cell[17932, 501, 338, 6, 70, "Input",ExpressionUUID->"2a421274-f98c-4c0e-8d1e-2e149ca9ffd3"],
Cell[18273, 509, 315, 7, 70, "Output",ExpressionUUID->"b4558975-53fd-447e-b099-11e136650cbe"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[18637, 522, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"2a356cec-f072-4b56-955e-b7d164daed70"],
Cell[18864, 529, 521, 14, 70, "ExampleText",ExpressionUUID->"867fa579-3c7c-46c1-ac5a-f3fc7a844596"],
Cell[CellGroupData[{
Cell[19410, 547, 239, 4, 70, "Input",ExpressionUUID->"c1c9627e-88b2-4ef6-a7da-6fbc3d579d44"],
Cell[19652, 553, 315, 7, 70, "Output",ExpressionUUID->"5d56c11d-cddc-453a-91a3-eaa29dbe8ae8"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[20028, 567, 1227, 31, 70, "ExampleSection",ExpressionUUID->"07cee490-9334-469f-b9ab-404d87ad41b5",
 CellID->1293636265],
Cell[21258, 600, 524, 14, 70, "ExampleText",ExpressionUUID->"e0b6a286-300e-465a-b973-c756c8264582"],
Cell[CellGroupData[{
Cell[21807, 618, 311, 8, 70, "Input",ExpressionUUID->"bc3ff068-9b06-4bd0-81b3-dddf200114cd"],
Cell[22121, 628, 187, 3, 70, "Output",ExpressionUUID->"9b9612e5-0d3a-4aff-ad2c-02509238861d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[22345, 636, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"2cc0582c-3b8d-4309-b306-549f2eb9a619"],
Cell[22572, 643, 115, 0, 70, "ExampleText",ExpressionUUID->"edb8d0bb-c44b-416a-8ec2-62b93a8c1b70"],
Cell[CellGroupData[{
Cell[22712, 647, 639, 18, 70, "Input",ExpressionUUID->"d6284dec-4315-4434-9ecb-bc21105f1cf9"],
Cell[23354, 667, 107, 1, 70, "Output",ExpressionUUID->"98531a11-4bba-46a9-928a-d3ca1e301978"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[23510, 674, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"e1f81dc3-1766-4972-b762-b92508abffeb"],
Cell[23737, 681, 392, 9, 70, "ExampleText",ExpressionUUID->"da357133-c3d6-43e3-9582-ab30d593e888"],
Cell[CellGroupData[{
Cell[24154, 694, 315, 8, 70, "Input",ExpressionUUID->"c7319361-bc55-490a-8044-13e8de0f4dbc"],
Cell[24472, 704, 110, 1, 70, "Output",ExpressionUUID->"7e5e51ee-9b24-459b-adc4-f2fec9207d19"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[24643, 712, 1244, 31, 70, "ExampleSection",ExpressionUUID->"3a9821c1-613d-4c4a-9344-ce01f75f04e7",
 CellID->2123667759],
Cell[25890, 745, 147, 2, 70, "ExampleText",ExpressionUUID->"7d684d78-d918-440f-b3ba-6a5b92123bec"],
Cell[CellGroupData[{
Cell[26062, 751, 372, 8, 70, "Input",ExpressionUUID->"b396d6cb-16d9-47b7-b8c7-9f66112c2024"],
Cell[26437, 761, 110, 1, 70, "Output",ExpressionUUID->"060dadaa-7b14-4162-8936-f37f07bd22a3"]
}, Open  ]],
Cell[CellGroupData[{
Cell[26584, 767, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"05028a32-c23c-430e-b72c-d8b2055f52c5"],
Cell[26811, 774, 164, 2, 70, "ExampleText",ExpressionUUID->"d3e7294e-d549-400a-8600-9facd9156efe"],
Cell[CellGroupData[{
Cell[27000, 780, 413, 9, 70, "Input",ExpressionUUID->"d43654dd-c524-4384-ae23-6e802cc38b07"],
Cell[27416, 791, 110, 1, 70, "Output",ExpressionUUID->"1eecea61-afc0-4264-9afb-630f051dbd03"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[27587, 799, 1237, 31, 70, "ExampleSection",ExpressionUUID->"84ba774a-956f-4608-8bac-5e9f86bd05c0",
 CellID->1305812373],
Cell[28827, 832, 373, 9, 70, "ExampleText",ExpressionUUID->"5a8317bd-72d5-4cd1-a5d9-9fb09a0f2a57"],
Cell[CellGroupData[{
Cell[29225, 845, 359, 9, 70, "Input",ExpressionUUID->"cdcf2bb9-f21c-42f2-9000-fa8ee7d55f47"],
Cell[29587, 856, 110, 1, 70, "Output",ExpressionUUID->"06288e56-4965-4d52-9f6b-29e8f3d11a4c"]
}, Open  ]],
Cell[CellGroupData[{
Cell[29734, 862, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"4a439987-6012-4d2f-822c-989c47d8bde6"],
Cell[29961, 869, 393, 9, 70, "ExampleText",ExpressionUUID->"96a6587b-a1ef-433b-ba08-4e2d88cfd003"],
Cell[CellGroupData[{
Cell[30379, 882, 380, 9, 70, "Input",ExpressionUUID->"9b973653-d591-4b3d-bbd1-a17330b02637"],
Cell[30762, 893, 110, 1, 70, "Output",ExpressionUUID->"d537209a-fae8-41be-8c04-0bfe8073d69c"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[30923, 900, 3162, 82, 70, "SeeAlsoSection",ExpressionUUID->"3d2c4c2d-1175-4b01-8607-0e80c7153392"],
Cell[34088, 984, 700, 19, 70, "MoreAboutSection",ExpressionUUID->"bee40b8d-5983-458c-830a-82930f3d1dc8"],
Cell[34791, 1005, 78, 0, 70, "FooterCell",ExpressionUUID->"1f971111-ae89-4913-9c66-8dd8a6cd5f67"]
}
]
*)

(* End of internal cache information *)

