(* 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[     42956,       1122]
NotebookOptionsPosition[     34627,        968]
NotebookOutlinePosition[     36926,       1020]
CellTagsIndexPosition[     36848,       1015]
WindowTitle->Secp256k1PointEncode
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->
           "2bc0a223-c1b9-4f7a-bb3f-33aa5324c11c"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "c6e37a69-46ce-4597-9ee7-c1ccf9d9c05c"],
        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->
           "0f6610ae-6ba3-4330-beb4-cf4655cae1ad"]
         }],ExpressionUUID->"6c033b27-f957-4da7-afe8-79e533003d22"],
         StripOnInput->False],{
        StyleBox[
          "\"Secp256k1Point\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Secp256k1Point"], 
         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"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "6a6ca684-e4d0-44fb-b6ff-face1bc64696"],
     "\[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->
           "890b0a73-7cbd-4311-947a-48174d6d0e54"]
         }],ExpressionUUID->"1041e6e1-ae0d-4bf1-964b-a859ccb5344d"],
         StripOnInput->False],{
        "\"Derivation\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Derivation"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "9a30978f-9355-4dad-9731-0284aad3d3ea"],
     "\[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->
           "be437eda-f6c8-4acb-9e8e-3700a442ca0a"]
         }],ExpressionUUID->"1a4d5b9b-9c2c-4196-b46d-bd925615ec0b"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/Secp256k1PointEncode\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/Secp256k1PointEncode"],
          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/Secp256k1PointEncode.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/Secp256k1PointEncode" <> 
               ".html"], None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "a5dae2f3-5d32-481a-bb3f-620106d55ea0"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "22fb7abc-4f99-4278-877f-ac0ccc70053d"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"ac948a6f-d366-4b8d-a20b-c34baf6f240b"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"9f715d04-1fbf-414b-8326-fb6bfe0769e0"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "Secp256k1PointEncode", "ObjectName",ExpressionUUID->
      "5ae67ef2-ea3c-492f-b637-cd252b56dfff"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"af6b28ec-83fe-4668-9a06-c26b847f94dc"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "efd8abfb-4dba-41e9-9368-fbbe68c9dd16"]
    }],ExpressionUUID->"4c6685cb-8f9c-426a-b97b-e54b6700bd17"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"50fb9b68-de15-49fb-a843-\
e9e7ab2e952a"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["Secp256k1PointEncode"]], 
         "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointEncode", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{"{", 
        RowBox[{
         StyleBox["x", "TI"], ",", " ", 
         StyleBox["y", "TI"]}], "}"}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "4f9c0bbc-10f8-41e4-8a6a-485e6bc6af39"],
     "\[LineSeparator]",
     "gives the 33-byte compressed SEC1 encoding of a curve point, as a \
ByteArray."
    }],ExpressionUUID->"11a89ef7-0253-4797-a020-98e4fd8693cc"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["Secp256k1PointEncode"]], 
         "paclet:WolframInstitute/Puzzles/ref/Secp256k1PointEncode", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{
        RowBox[{"{", 
         RowBox[{
          StyleBox["x", "TI"], ",", " ", 
          StyleBox["y", "TI"]}], "}"}], ",", " ", 
        StyleBox["form", "TI"]}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "35f2a28a-1bf7-4f5e-a39e-907c082db15d"],
     "\[LineSeparator]",
     "gives the encoding in ",
     StyleBox["form", "TI"],
     ", either ",
     Cell[BoxData["\"\<Compressed\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "7eae19a8-dc4e-4b9c-9604-f8d48a16498b"],
     " or ",
     Cell[BoxData["\"\<Uncompressed\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "f02d2a41-fac4-4ee4-a4c5-b8786f749728"],
     "."
    }],ExpressionUUID->"230a9906-1707-450f-a2c3-1b0c8b37488d"]}
  }]], "Usage",ExpressionUUID->"7ef54daa-c677-4154-8d13-ed4dd9edf27c"]
}, 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->"24b13191-4bc7-412d-b6bf-af1bb730cb07"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"479c333e-c968-4a31-ad5b-65a74763ef8a"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "2e8e3a95-2844-444d-b350-183a410bcea2"]],ExpressionUUID->"31a1dd10-a1c0-\
4e2d-b45c-2605100b5871"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->420244492,ExpressionUUID->"8920213a-5793-4dfd-a4e0-bcd945bb439e"],

Cell[TextData[{
 "The compressed encoding is the prefix ",
 Cell[BoxData[
  RowBox[{"0", "x02"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "2a473677-af5b-4f8e-9263-f139d9d1273d"],
 " for an even ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "cf89fa90-c2b9-445c-a44e-28a3794de45a"],
 " or ",
 Cell[BoxData[
  RowBox[{"0", "x03"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "0a5807cd-93ab-46b8-92b2-74a3299f5db3"],
 " for an odd ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "c525f10c-9bc5-4e52-b3f5-defa52618b5c"],
 ", followed by the 32-byte big-endian ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "1360c3e1-669d-4946-94dd-1454c9fc23a2"],
 "."
}], "Notes",ExpressionUUID->"29c5bdf5-1a3b-4e57-8451-094aa5032817"],

Cell[TextData[{
 "The uncompressed encoding is the prefix ",
 Cell[BoxData[
  RowBox[{"0", "x04"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "230b39d4-1146-4d6c-bb91-bcddf1c267aa"],
 " followed by the 32-byte ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5b50f912-e3c0-4a72-96d9-868453ad7c22"],
 " and the 32-byte ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "e2d7a899-2c89-4eff-8d36-e509dbb340a5"],
 "."
}], "Notes",ExpressionUUID->"16adc08f-3753-4867-ad7a-83a5bb5bfbbe"],

Cell[TextData[{
 "Both coordinates are padded to a full 32 bytes, so a small ",
 Cell[BoxData[
  StyleBox["x", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "786064fd-5c02-41c7-8c8f-ec4994a89be4"],
 " keeps its leading zeros."
}], "Notes",ExpressionUUID->"45d3e869-b8a8-41d6-9b38-50533a7f2e78"],

Cell["\<\
The point must satisfy the curve equation; a pair that is not on the curve \
matches no definition and the call is returned unevaluated.\
\>", "Notes",ExpressionUUID->"74d838b1-eb8f-40d3-b273-776b71538e11"],

Cell["\<\
The point at infinity has no SEC1 encoding and is left unevaluated.\
\>", "Notes",ExpressionUUID->"4637267d-6b23-4f9e-870e-7548c1d8afdf"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Secp256k1Point"]], 
    "paclet:WolframInstitute/Puzzles/ref/Secp256k1Point", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "407e7a14-2e8c-4bd1-920f-da61316142eb"],
 " is the inverse."
}], "Notes",ExpressionUUID->"c4787d67-1fdc-4e1c-be3e-e38c643ebcd8"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"8075d1e5-1076-4525-a285-a67c63d32eaf"],

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->"1f6e33b3-ef11-40d0-93d6-316644dafe90"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"bff92157-7951-4e1f-ad84-6e4da222983b"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(9)", "ExampleCount",ExpressionUUID->
  "8493e89d-e075-477d-88a5-90cffe70c0a6"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2122945708,ExpressionUUID->"da384cc3-862e-438e-8c98-a2dd3bf46015"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"fad9801b-da50-4d07-969f-da78be12e850"],

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->
  "8a752d23-e3ec-402a-8ab3-07e06301107b"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"72eaa6bd-4751-4886-96c9-9af7f08c203d"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "b3a60f08-a6cd-4f06-b632-c28bf6394c01"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2055203098,ExpressionUUID->"e92c811b-f4eb-4d94-a739-a6a13f35a85b"],

Cell["The generator, compressed:", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"31366105-121d-4288-9d63-a3e448f05dd2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Secp256k1PointEncode", "[", 
  RowBox[{"$Secp256k1", "[", "\"\<Generator\>\"", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"45953489-c906-4053-97bd-e8249598f9d7"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["ByteArray",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            GridBox[{{
               TagBox["\"33 bytes\"", "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            GridBox[{{
               TagBox["\"33 bytes\"", "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  ByteArray[{2, 121, 190, 102, 126, 249, 220, 187, 172, 85, 160, 98, 149, 206,
    135, 11, 7, 2, 155, 252, 219, 45, 206, 40, 217, 89, 242, 129, 91, 22, 248,
    23, 152}],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"0709def6-d1ed-4612-85e8-da2a36a02f24"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "c0ac60f6-cd17-4f85-9951-c094be8e37e4"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"3da58a7e-1318-439e-\
a507-eee89715edab"],

Cell[TextData[{
 "The same point in hexadecimal, matching the SEC 2 quotation of ",
 Cell[BoxData[
  StyleBox["G", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "86d268a9-6ffe-440d-bdef-06c60f86118e"],
 ":"
}], "ExampleText",ExpressionUUID->"194264df-8657-4fb4-9dc9-3e6b84a2b1da"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{"Normal", "[", 
   RowBox[{"Secp256k1PointEncode", "[", 
    RowBox[{"$Secp256k1", "[", "\"\<Generator\>\"", "]"}], "]"}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"9b2c6e67-9cf6-41ad-bd0a-52e478eb66ad"],

Cell[BoxData["\<\"\
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"\>"], \
"Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"c048bdb9-457e-49c5-9ae2-45b899446c13"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "a7e3bca2-97f3-4191-a5cd-2f882f469930"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"25f05a49-144c-441f-\
b52b-b0c6a0a6fef6"],

Cell["The uncompressed encoding, 65 bytes:", "ExampleText",ExpressionUUID->"0cbd654c-dc45-45cf-9f2a-58acd383d602"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{"Normal", "[", 
   RowBox[{"Secp256k1PointEncode", "[", 
    RowBox[{
     RowBox[{"$Secp256k1", "[", "\"\<Generator\>\"", "]"}], ",", 
     " ", "\"\<Uncompressed\>\""}], "]"}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"6c90d59f-35cc-4bdd-a5e2-67bc4f0268e5"],

Cell[BoxData["\<\"\
0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3\
c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"4ed7e38b-cd5c-4680-900a-cb8560552c2d"]
}, 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->
  "08610111-0472-4261-8262-d22fa1eb7522"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"9887e1c1-1c33-495b-be7c-a93e6043bd87"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "2a02eae7-ca4a-46e6-b9cd-a5dce6305472"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"d9d90455-b6b1-4a7a-aab9-4a54fe1a115a"],

Cell[TextData[{
 "The explicit ",
 Cell[BoxData["\<\"Compressed\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7663d84e-3b76-4dbf-ae02-fd0b377c11bc"],
 " form is the same as the one-argument call:"
}], "ExampleText",ExpressionUUID->"d69af782-d616-4bf8-94fe-b334b74ea33a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Secp256k1PointEncode", "[", 
   RowBox[{
    RowBox[{"$Secp256k1", "[", "\"\<Generator\>\"", "]"}], ",", 
    " ", "\"\<Compressed\>\""}], "]"}], " ", "===", " ", 
  RowBox[{"Secp256k1PointEncode", "[", 
   RowBox[{"$Secp256k1", "[", "\"\<Generator\>\"", "]"}], "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2ddfb3ba-5194-4abd-9853-c26dfe27f794"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"569b6000-a485-4650-9844-cb6f879b6620"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "8fa528ab-42b2-4348-ab77-35912a19a1d2"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"a1871446-3be7-4cef-\
af42-493e7c3510f4"],

Cell[TextData[{
 "A point with odd ",
 Cell[BoxData[
  StyleBox["y", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b3117daa-e643-40ef-a163-588adc3e3a42"],
 " takes the ",
 Cell[BoxData[
  RowBox[{"0", "x03"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "8c0586ff-0e9f-4d0e-a54a-1a04370b2456"],
 " prefix:"
}], "ExampleText",ExpressionUUID->"6fbcac9d-c659-4b12-8968-219235be77b4"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"First", "[", 
  RowBox[{"Normal", "[", 
   RowBox[{"Secp256k1PointEncode", "[", 
    RowBox[{"Secp256k1Point", "[", 
     RowBox[{"Secp256k1PublicKey", "[", 
      RowBox[{
       RowBox[{"$Secp256k1", "[", "\"\<Order\>\"", "]"}], " ", "-", " ", 
       "1"}], "]"}], "]"}], "]"}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"f1c4ca38-461b-45ae-8a3c-d978b5844e03"],

Cell[BoxData["3"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f07bd5ad-b9a6-4940-bccc-a620ea364c7c"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f4095172-e06c-429f-8ddc-66a0b12a62fe"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"3bc14793-2b3d-4d7d-\
9650-9f830c8daa8b"],

Cell["\<\
A pair that is not on the curve is not a point, so the call is returned \
unevaluated:\
\>", "ExampleText",ExpressionUUID->"eb8a03f6-e048-44d8-8c9c-806006b86d59"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MatchQ", "[", 
  RowBox[{
   RowBox[{"Secp256k1PointEncode", "[", 
    RowBox[{"{", 
     RowBox[{"1", ",", " ", "1"}], "}"}], "]"}], ",", " ", 
   "_Secp256k1PointEncode"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8e8bd28a-abf3-4d74-8f05-fa57c6d062fb"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"eb7e7dab-4880-4fbf-becd-5f5e4000bae5"]
}, 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->
  "a585804e-38a0-4286-aeb2-c668cc49dcff"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"b41831e8-448f-4c95-ab8d-26011fb3dda0"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "1be0302f-d40c-47ef-ac47-acc1b1c80df5"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"9966dbfa-cbba-420a-9628-4701f424873b"],

Cell["Encoding and decoding are inverse:", "ExampleText",ExpressionUUID->"ce581239-9d46-47d9-97d3-5e48dc870bfb"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Secp256k1Point", "[", 
   RowBox[{"Secp256k1PointEncode", "[", 
    RowBox[{
     RowBox[{"Secp256k1Point", "[", 
      RowBox[{"Secp256k1PublicKey", "[", "5", "]"}], "]"}], ",", 
     " ", "\"\<Uncompressed\>\""}], "]"}], "]"}], " ", "===", " ", 
  RowBox[{"Secp256k1Point", "[", 
   RowBox[{"Secp256k1PublicKey", "[", "5", "]"}], "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"891b3a5b-377d-4382-ac35-f9d08d1be3b2"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"41ba7554-486f-4ae9-bc95-fcdecf413711"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "9be2870f-1647-42e1-9b5e-2fd917a169c4"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"fd40cbba-2e48-4d45-\
a2e3-4f449300a0cc"],

Cell[TextData[{
 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->
  "e35f51f6-a2c8-430d-8a4f-c2cf7d9efb9a"],
 " is this function composed with scalar multiplication:"
}], "ExampleText",ExpressionUUID->"8aecc2ff-93a0-4acb-a8d8-db770aca2209"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Secp256k1PointEncode", "[", 
   RowBox[{"Secp256k1Point", "[", 
    RowBox[{"Secp256k1PublicKey", "[", "11", "]"}], "]"}], "]"}], " ", "===", 
  " ", 
  RowBox[{"Secp256k1PublicKey", "[", "11", "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"d3920b69-908d-40b0-b67a-b115f350a5ef"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"64837f49-061f-48f7-8c0a-c8994c3b2d92"]
}, 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->
  "2f54a135-75d7-496a-a6df-e1323d621164"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"38864962-88f4-46b4-8500-72151dbaa3c7"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "9740a6a4-8cae-45f8-b96a-cb24542ec22a"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"8953728a-6c01-421b-9cb0-ea9c457ad1fc"],

Cell["\<\
The point at infinity, the group identity, has no SEC1 encoding and is \
returned unevaluated:\
\>", "ExampleText",ExpressionUUID->"16deb975-3355-4e23-80af-ce424a134cda"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MatchQ", "[", 
  RowBox[{
   RowBox[{"Secp256k1PointEncode", "[", "Infinity", "]"}], ",", " ", 
   "_Secp256k1PointEncode"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"3893f0eb-fbd0-4f49-9438-88df42abf284"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e4dafe1f-3b70-44c8-bfa1-132c83463a31"]
}, 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["Secp256k1Point"]], 
           "paclet:WolframInstitute/Puzzles/ref/Secp256k1Point", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "f085eac9-b709-4ae6-82b4-e2350e7a9e89"],
        "\[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->
         "993f4736-2e28-4314-b7cd-657f3a51f1a3"],
        "\[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->
         "82167294-d004-4159-9f99-4bbe64e2ca01"],
        "\[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->
         "00694b64-383e-44f5-938a-e5c354cc0c57"]
       }], "SeeAlso",ExpressionUUID->"3c0de16c-5bb6-446e-a415-2a2108a66618"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"de03d2d3-32cb-4fe8-8534-\
8c8265ac3f03"],

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->
         "e20f55b9-8835-4956-b7d5-5966d866d2e7"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"984b4b74-1493-4b6c-b27b-\
7c87bc858caa"],

Cell[" ", "FooterCell",ExpressionUUID->"79cf41b4-cf75-4040-913b-07083023c3f9"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"Secp256k1PointEncode",
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, 50.514986}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[Secp256k1PointEncode, paclet : \
WolframInstitute/Puzzles/ref/Secp256k1PointEncode, WolframInstitute/Puzzles \
Package Symbol][{x, y}] gives the 33-byte compressed SEC1 encoding of a curve \
point, as a ByteArray. PackageLink[Secp256k1PointEncode, paclet : \
WolframInstitute/Puzzles/ref/Secp256k1PointEncode, WolframInstitute/Puzzles \
Package Symbol][{x, y}, form] gives the encoding in form, either Compressed \
or Uncompressed.", "synonyms" -> {}, "tabletags" -> {}, "title" -> 
    "Secp256k1PointEncode", "titlemodifier" -> "", "metadescription" -> "", 
    "windowtitle" -> "Secp256k1PointEncode", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/Secp256k1PointEncode", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"19ca249f-a41b-4229-abea-144f56f8067b"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[16556, 454, 136, 2, 70, "ExampleText",ExpressionUUID->"31366105-121d-4288-9d63-a3e448f05dd2",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 36691, 1009}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[588, 21, 5664, 139, 70, "AnchorBarGrid",ExpressionUUID->"ac948a6f-d366-4b8d-a20b-c34baf6f240b",
 CellID->1],
Cell[6255, 162, 107, 0, 70, "ContextNameCell",ExpressionUUID->"9f715d04-1fbf-414b-8326-fb6bfe0769e0"],
Cell[CellGroupData[{
Cell[6387, 166, 563, 14, 70, "ObjectNameGrid",ExpressionUUID->"50fb9b68-de15-49fb-a843-e9e7ab2e952a"],
Cell[6953, 182, 2109, 56, 70, "Usage",ExpressionUUID->"7ef54daa-c677-4154-8d13-ed4dd9edf27c"]
}, Open  ]],
Cell[CellGroupData[{
Cell[9099, 243, 1443, 34, 70, "NotesSection",ExpressionUUID->"8920213a-5793-4dfd-a4e0-bcd945bb439e",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->420244492],
Cell[10545, 279, 1094, 32, 70, "Notes",ExpressionUUID->"29c5bdf5-1a3b-4e57-8451-094aa5032817"],
Cell[11642, 313, 711, 20, 70, "Notes",ExpressionUUID->"16adc08f-3753-4867-ad7a-83a5bb5bfbbe"],
Cell[12356, 335, 351, 8, 70, "Notes",ExpressionUUID->"45d3e869-b8a8-41d6-9b38-50533a7f2e78"],
Cell[12710, 345, 216, 3, 70, "Notes",ExpressionUUID->"74d838b1-eb8f-40d3-b273-776b71538e11"],
Cell[12929, 350, 147, 2, 70, "Notes",ExpressionUUID->"4637267d-6b23-4f9e-870e-7548c1d8afdf"],
Cell[13079, 354, 473, 13, 70, "Notes",ExpressionUUID->"c4787d67-1fdc-4e1c-be3e-e38c643ebcd8"]
}, Closed]],
Cell[13567, 370, 80, 0, 70, "PageDelimiter",ExpressionUUID->"8075d1e5-1076-4525-a285-a67c63d32eaf"],
Cell[CellGroupData[{
Cell[13672, 374, 1401, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"da384cc3-862e-438e-8c98-a2dd3bf46015",
 CellID->2122945708],
Cell[15076, 413, 216, 4, 70, "Input",ExpressionUUID->"fad9801b-da50-4d07-969f-da78be12e850",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[15317, 421, 1236, 31, 70, "ExampleSection",ExpressionUUID->"e92c811b-f4eb-4d94-a739-a6a13f35a85b",
 CellID->2055203098],
Cell[16556, 454, 136, 2, 70, "ExampleText",ExpressionUUID->"31366105-121d-4288-9d63-a3e448f05dd2",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[16717, 460, 253, 4, 70, "Input",ExpressionUUID->"45953489-c906-4053-97bd-e8249598f9d7"],
Cell[16973, 466, 2288, 48, 70, "Output",ExpressionUUID->"0709def6-d1ed-4612-85e8-da2a36a02f24"]
}, Open  ]],
Cell[CellGroupData[{
Cell[19298, 519, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"3da58a7e-1318-439e-a507-eee89715edab"],
Cell[19525, 526, 337, 8, 70, "ExampleText",ExpressionUUID->"194264df-8657-4fb4-9dc9-3e6b84a2b1da"],
Cell[CellGroupData[{
Cell[19887, 538, 338, 7, 70, "Input",ExpressionUUID->"9b2c6e67-9cf6-41ad-bd0a-52e478eb66ad"],
Cell[20228, 547, 184, 3, 70, "Output",ExpressionUUID->"c048bdb9-457e-49c5-9ae2-45b899446c13"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[20461, 556, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"25f05a49-144c-441f-b52b-b0c6a0a6fef6"],
Cell[20688, 563, 114, 0, 70, "ExampleText",ExpressionUUID->"0cbd654c-dc45-45cf-9f2a-58acd383d602"],
Cell[CellGroupData[{
Cell[20827, 567, 391, 8, 70, "Input",ExpressionUUID->"6c90d59f-35cc-4bdd-a5e2-67bc4f0268e5"],
Cell[21221, 577, 248, 3, 70, "Output",ExpressionUUID->"4ed7e38b-cd5c-4680-900a-cb8560552c2d"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[21530, 587, 1227, 31, 70, "ExampleSection",ExpressionUUID->"d9d90455-b6b1-4a7a-aab9-4a54fe1a115a",
 CellID->1293636265],
Cell[22760, 620, 327, 7, 70, "ExampleText",ExpressionUUID->"d69af782-d616-4bf8-94fe-b334b74ea33a"],
Cell[CellGroupData[{
Cell[23112, 631, 442, 9, 70, "Input",ExpressionUUID->"2ddfb3ba-5194-4abd-9853-c26dfe27f794"],
Cell[23557, 642, 110, 1, 70, "Output",ExpressionUUID->"569b6000-a485-4650-9844-cb6f879b6620"]
}, Open  ]],
Cell[CellGroupData[{
Cell[23704, 648, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"a1871446-3be7-4cef-af42-493e7c3510f4"],
Cell[23931, 655, 490, 14, 70, "ExampleText",ExpressionUUID->"6fbcac9d-c659-4b12-8968-219235be77b4"],
Cell[CellGroupData[{
Cell[24446, 673, 456, 10, 70, "Input",ExpressionUUID->"f1c4ca38-461b-45ae-8a3c-d978b5844e03"],
Cell[24905, 685, 107, 1, 70, "Output",ExpressionUUID->"f07bd5ad-b9a6-4940-bccc-a620ea364c7c"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[25061, 692, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"3bc14793-2b3d-4d7d-9650-9f830c8daa8b"],
Cell[25288, 699, 172, 3, 70, "ExampleText",ExpressionUUID->"eb8a03f6-e048-44d8-8c9c-806006b86d59"],
Cell[CellGroupData[{
Cell[25485, 706, 342, 8, 70, "Input",ExpressionUUID->"8e8bd28a-abf3-4d74-8f05-fa57c6d062fb"],
Cell[25830, 716, 110, 1, 70, "Output",ExpressionUUID->"eb7e7dab-4880-4fbf-becd-5f5e4000bae5"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[26001, 724, 1244, 31, 70, "ExampleSection",ExpressionUUID->"9966dbfa-cbba-420a-9628-4701f424873b",
 CellID->2123667759],
Cell[27248, 757, 112, 0, 70, "ExampleText",ExpressionUUID->"ce581239-9d46-47d9-97d3-5e48dc870bfb"],
Cell[CellGroupData[{
Cell[27385, 761, 512, 11, 70, "Input",ExpressionUUID->"891b3a5b-377d-4382-ac35-f9d08d1be3b2"],
Cell[27900, 774, 110, 1, 70, "Output",ExpressionUUID->"41ba7554-486f-4ae9-bc95-fcdecf413711"]
}, Open  ]],
Cell[CellGroupData[{
Cell[28047, 780, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"fd40cbba-2e48-4d45-a2e3-4f449300a0cc"],
Cell[28274, 787, 525, 13, 70, "ExampleText",ExpressionUUID->"8aecc2ff-93a0-4acb-a8d8-db770aca2209"],
Cell[CellGroupData[{
Cell[28824, 804, 374, 8, 70, "Input",ExpressionUUID->"d3920b69-908d-40b0-b67a-b115f350a5ef"],
Cell[29201, 814, 110, 1, 70, "Output",ExpressionUUID->"64837f49-061f-48f7-8c0a-c8994c3b2d92"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[29372, 822, 1237, 31, 70, "ExampleSection",ExpressionUUID->"8953728a-6c01-421b-9cb0-ea9c457ad1fc",
 CellID->1305812373],
Cell[30612, 855, 180, 3, 70, "ExampleText",ExpressionUUID->"16deb975-3355-4e23-80af-ce424a134cda"],
Cell[CellGroupData[{
Cell[30817, 862, 293, 6, 70, "Input",ExpressionUUID->"3893f0eb-fbd0-4f49-9438-88df42abf284"],
Cell[31113, 870, 110, 1, 70, "Output",ExpressionUUID->"e4dafe1f-3b70-44c8-bfa1-132c83463a31"]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[31262, 876, 2577, 67, 70, "SeeAlsoSection",ExpressionUUID->"de03d2d3-32cb-4fe8-8534-8c8265ac3f03"],
Cell[33842, 945, 700, 19, 70, "MoreAboutSection",ExpressionUUID->"984b4b74-1493-4b6c-b27b-7c87bc858caa"],
Cell[34545, 966, 78, 0, 70, "FooterCell",ExpressionUUID->"79cf41b4-cf75-4040-913b-07083023c3f9"]
}
]
*)

(* End of internal cache information *)

