<p>It's nice to see my work copied verbatim in appendix A "Blockchain: Blueprint for a new Economy" by O'Rielly... but they missed a few details. Someone from there should reach out to me</p>

<hr>

<p>After generating 16 million keys,  comparing my results with the QT client over RPC, I've come up with the following test keys for compressed public keys:</p>

<p><strong>Default</strong></p>

<pre><code>Test:
Private as hex 79186670301299046436858412936420417076660923359050732094116068951337164773779
Public address 1EE8rpFCSSaBmG19sLdgQLEWuDaiYVFT9J
Message: test123
Signature: IGP5aqo6+oKzUF4/Pq6dfksKxlcy1CehKv6aKA6GUMGOf9Jd62UWRMNwN3KXnOHi0PdBekVBlr23EKa7sGDgTtI=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03A3D70082D23B32B26890EA01F6AF628F8D424DF3B025802D32FC3F2D5EF4D083
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 63F96AAA3AFA82B3505E3F3EAE9D7E4B0AC65732D427A12AFE9A280E8650C18E
Signature S (may need alignment to 32 bits): 7FD25DEB651644C3703772979CE1E2D0F7417A454196BDB710A6BBB060E04ED2
Signature Noncanonical: IGP5aqo6+oKzUF4/Pq6dfksKxlcy1CehKv6aKA6GUMGOAX/SXetlFkTDcDdyl5zh4s+x8Fcr8N9d8tB5Gj0xFpA=
S value noncanonical: 173607507099637907991191162345204054084248845170247593505487421300829521874963
Key recovery value: 1
</code></pre>

<p><strong>Canonical formatting of S</strong></p>

<pre><code>Test:   SValueReducedToHalf
Private as hex 104418396969965692461517188368945301704108638856440619106351414329473623554759
Public address 18m1EvVCeFsupQSsdZ3rTPGjL6j9hQpoj5
Message: test123
Signature: H5TIq/7pLqy2M9lUGUa9i1kxML4EmWN+MwiyijquyMhcbTuAiOjffxRz7xayj4qaAig8Y1OZFn/aqWDkM5GXVqQ=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0228E33569266CB496AC2808C68D217B542A1E769CA62F2144BEB4D602BDB28014
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 0094C8ABFEE92EACB633D9541946BD8B593130BE0499637E3308B28A3AAEC8C85C
Signature S (may need alignment to 32 bits): 0092C47F77172080EB8C10E94D707565FC927279931632206116717A593E9EEA9D
Signature Noncanonical: H5TIq/7pLqy2M9lUGUa9i1kxML4EmWN+MwiyijquyMhcksR/dxcggOuMEOlNcHVl/JJyeZMWMiBhFnF6WT6e6p0=
S value noncanonical: 66384857650308705735089161182204613834546990056514581767424835152008945003165
Key recovery value: 0
</code></pre>

<p><strong>Canonical formatting of S, R is "short"</strong></p>

<pre><code>Test:   SValueReducedToHalf, RHasZeros_1
Private as hex 26841850108733854068844877092845755783895918659584173218404826715393242032133
Public address 1FRUjbVX9bbctP6y7Z7jmBufdW6KyoSvGw
Message: test123
Signature: HxypbxPc+0rICT/x6AWkGoQjE/rE7UtCLy0eS0uGn4WFGlrLkJxJDgJcIgwGDH6MdIiWL/E+cvPv2dqeHw5zCwA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03F87C4C73949612279398F2634B3D4D3DDC60EBD1D5A7F52133B9A08625DCFBC1
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 1CA96F13DCFB4AC8093FF1E805A41A842313FAC4ED4B422F2D1E4B4B869F8585
Signature S (may need alignment to 32 bits): 00E5A5346F63B6F1FDA3DDF3F9F381738A3218ACF570D5AC4BE5F7C06DC1C33641
Signature Noncanonical: HxypbxPc+0rICT/x6AWkGoQjE/rE7UtCLy0eS0uGn4WF5aU0b2O28f2j3fP584FzijIYrPVw1axL5ffAbcHDNkE=
S value noncanonical: 103871533985121725711649129661651907020330641311974510999031854527404235241025
Key recovery value: 0
</code></pre>

<p><strong>Canonical formatting of S, has 4 zeroes</strong></p>

<pre><code>Test:   SValueReducedToHalf, SLessThan32_4
Private as hex 86520705923672484424543748367654505450021158466896423122495789612346391207140
Public address 1NQvJ2X1KVwuYPQRdeiDbFanLod72UPEjg
Message: test123
Signature: IAD0xd4DofuKthgkVUfH8JJF/zeKeGL9b4gdYCb6PxhVcHd4KiX7lFAN2Kun9wUC21T0Z0bPnrsTlAIHWN03P20=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0357B8B24DF08BEFDBEE910A3D95034FEAC1C54CDC100662FF394EB72BB23FE003
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00F4C5DE03A1FB8AB618245547C7F09245FF378A7862FD6F881D6026FA3F1855
Signature S (may need alignment to 32 bits): 008F8887D5DA046BAFF227545808FAFD2365BA759FDFA9E5282BD05733F2FF01D4
Signature Noncanonical: IAD0xd4DofuKthgkVUfH8JJF/zeKeGL9b4gdYCb6PxhVj4iH1doEa6/yJ1RYCPr9I2W6dZ/fqeUoK9BXM/L/AdQ=
S value noncanonical: 64921966049402308770510180383138525221043468997005421168542368100274768118228
Key recovery value: 1
</code></pre>

<p><strong>R and S had leading zeroes (twos compliment confusion possible)</strong></p>

<pre><code>Test:   RGreaterThan32, SGreaterThan32
Private as hex 49271812223912890183372000738074590620901220493616955749035660411043423358313
Public address 1EAGUmQG2evn1ujibn1meucRt5URGr7TKS
Message: test123
Signature: H1z4EjRWIcxYLu82qXDKVwvX74EGr5Zc8hnkL8NEO9fRAGOALDrFakMTq+gVoF+qf+8jgZSI8Lomvi1sSx8Zy3Y=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02A099AB8D17E11D044A495812D0619A833C03961ED0B090A06C2C81AB2CFB8C4C
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 5CF812345621CC582EEF36A970CA570BD7EF8106AF965CF219E42FC3443BD7D1
Signature S (may need alignment to 32 bits): 63802C3AC56A4313ABE815A05FAA7FEF23819488F0BA26BE2D6C4B1F19CB76
Signature Noncanonical: H1z4EjRWIcxYLu82qXDKVwvX74EGr5Zc8hnkL8NEO9fRAQBjgCw6xWpDE6voFaBfqn6p0l57ODlaYn3/ytfvUAw=
S value noncanonical: 115967891712688622791697912048921273624697397818356039879425919349736894106807
Key recovery value: 0
</code></pre>

<p>**Canonical formatting of S,  S has more than 32 zeros, R is "short" **</p>

<pre><code>Test:   SValueReducedToHalf, SGreaterThan32, RHasZeros_1
Private as hex 4777466271014663949802819381765970429152817494201827532502916324303349007402
Public address 1Ea6tSV9wrofLkfqepnbLuwDKSMgUNd8k8
Message: test123
Signature: IKJKgEi+x77OgaW0fr884GZrSh+/0cuP+TpY7EUm00EMXODggkAxLPSGfXSNWEjP5jNcSGJjjsxO1SqnNxMnowA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03AB63D0D115D9C8C53A60989D1D25EFB5FB508E1F5BEEFD7D2487D12289751E71
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00A24A8048BEC7BECE81A5B47EBF3CE0666B4A1FBFD1CB8FF93A58EC4526D3410C
Signature S (may need alignment to 32 bits): 00A31F1F7DBFCED30B79828B72A7B73018875294844BB9D3ECEAA7B755BD0E9E41
Signature Noncanonical: IKJKgEi+x77OgaW0fr884GZrSh+/0cuP+TpY7EUm00EMox8ffb/O0wt5gotyp7cwGIdSlIRLudPs6qe3Vb0OnkE=
S value noncanonical: 73781983922410365449727642718035935024524267847686688743716438700218775412289
Key recovery value: 1
</code></pre>

<p>**Canonical formatting of S, R and S look like two's compliment **</p>

<pre><code>Test:   SValueReducedToHalf, RGreaterThan32, SGreaterThan32
Private as hex 30773778924833153278326239976267448371250861545391810261071816760957004408309
Public address 13a8JzTy6igoA7QfQyZVsDCpQvXY4eBj9i
Message: test123
Signature: H4jdYEux4k1zQaXby1OXSfdi6I7XgdkngA1F/E1rfcSHANqDQxCb3cAxnVG88p8jxyoJKPZh8y/XdYLwPhgmEMM=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03C70FDC0743E19CCBF923FE5454FD6C63943E65C9BD8C1FE0847E3C365CFF8971
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 0088DD604BB1E24D7341A5DBCB539749F762E88ED781D927800D45FC4D6B7DC487
Signature S (may need alignment to 32 bits): 00FF257CBCEF64223FCE62AE430D60DC3790A5B3F04D5570644A4F6E4EB810307E
Signature Noncanonical: H4jdYEux4k1zQaXby1OXSfdi6I7XgdkngA1F/E1rfcSH/yV8vO9kIj/OYq5DDWDcN5Cls/BNVXBkSk9uTrgQMH4=
S value noncanonical: 115406010640357535068751835107045199953964590515092451110614826883136174960766
Key recovery value: 0
</code></pre>

<p><strong>R is short</strong></p>

<pre><code>Test:   RHasZeros_1
Private as hex 61103943668025454604648533394738966390945260249802700793400423519535802730901
Public address 19AnGbm4ZxhcUQ18Ttcpxd5AjQTtk7TfUy
Message: test123
Signature: ICLRZEqnmnOe21ZmOiKKxIpgN3F8gyxkHRYuXVJucXQAYv2FSwhrBU7djsZcDx0hSy5ilsRMBzBBIsuqkxQBEb4=

___ debug data for above ___
Is public key compressed:True
Public key as hex  032275700C1D9D1312266E4A0601DF98906C1458ACE8410FD8B6B6748FE9E65F3F
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 22D1644AA79A739EDB56663A228AC48A6037717C832C641D162E5D526E717400
Signature S (may need alignment to 32 bits): 62FD854B086B054EDD8EC65C0F1D214B2E6296C44C07304122CBAA93140111BE
Signature Noncanonical: ICLRZEqnmnOe21ZmOiKKxIpgN3F8gyxkHRYuXVJucXQAAWL9hUsIawVO3Y7GXA8dIUnpEXOq+0/QfOKeCR/kN1I=
S value noncanonical: 160566680661011880010816576153459883182868735970539852654309056175300236759807
Key recovery value: 1
</code></pre>

<p>**Canonical formatting of S, twos' compliment formatting of R, S has 4 zeroes **</p>

<pre><code>Test:   SValueReducedToHalf, RGreaterThan32, SLessThan32_4
Private as hex 73831678241472856909648189538766342154493645679368128703486299335910825024625
Public address 1MduqSPRnVWjYKNw9XyxDrTd4ScDGeB9h7
Message: test123
Signature: IADsZCQ4jSdVXJXFLMVmdvTL9Tj/P/ajJxOfbcsDUkqPANIxZZBd0aY4dqbglYBWzltXfGgVzRb6QSlDTps9bc0=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03EC5FD98EA4AC0B31E9F416CE90C91297AB7DA551E413206DAD423E6EE61233AB
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00EC6424388D27555C95C52CC56676F4CBF538FF3FF6A327139F6DCB03524A8F
Signature S (may need alignment to 32 bits): 00D23165905DD1A63876A6E0958056CE5B577C6815CD16FA4129434E9B3D6DCD
Signature Noncanonical: IADsZCQ4jSdVXJXFLMVmdvTL9Tj/P/ajJxOfbcsDUkqPAQDSMWWQXdGmOHam4JWAVs0WBllOxRW3NgD7odtrc68=
S value noncanonical: 116163468044648827127288252771819760996859021381472042992761249252296984080142
Key recovery value: 1
</code></pre>

<p><strong>Canonical formatting of S, S and R has twos compliment zero appended</strong></p>

<pre><code>Test:   SValueReducedToHalf, RGreaterThan32, SGreaterThan32, RHasZeros_1
Private as hex 39596642972382804109878550299664212933475275372831393917296101877715292328542
Public address 1KTMQ9PR7BTV7wofHW74nekbsDi4GYAEzN
Message: test123
Signature: IC7iMUeYPL9SuwIfs2BDoUO3cuMUVFxegg50A5HkKLeAAHyXhyVmnwgH/EzkCpITKkkn5PTAoZ6ZZv8/4PR6bAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02218C61C3BB82864EF5646985C0BD1412C9236016D5ECFE3BB99ABDCCE39523DF
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 2EE23147983CBF52BB021FB36043A143B772E314545C5E820E740391E428B780
Signature S (may need alignment to 32 bits): 00FF836878DA9960F7F803B31BF56DECD47186F7F1EEA701A258D31EABDBBBD541
Signature Noncanonical: IC7iMUeYPL9SuwIfs2BDoUO3cuMUVFxegg50A5HkKLeA/4NoeNqZYPf4A7Mb9W3s1HGG9/HupwGiWNMeq9u71UE=
S value noncanonical: 115571954394053739614724418392364175348093401631755466105511097999314105652545
Key recovery value: 1
</code></pre>

<p><strong>Canonical formatting of S, s is short with 4 zeroes, r is short by 1 zero</strong></p>

<pre><code>Test:   SValueReducedToHalf, SGreaterThan32, SLessThan32_4, RHasZeros_1
Private as hex 27286465058545275041328003731375053608759800669744477817022805727071484951337
Public address 1KoZDczy6zyaRgHGVGC7pDYHVfsVo4Zo29
Message: test123
Signature: IADffy/L1F2PVhegdf0t4uFghkMH27nBSgOqK0Ikks+lUP33OvEckmcN1g1qfYRhE713I/KRT3DFJ1pP4xzwuQA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02444327032C13B19080452CED31222B90FB4F391A9E7FD8E1B01B855A759F2F4A
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00DF7F2FCBD45D8F5617A075FD2DE2E160864307DBB9C14A03AA2B422492CFA5
Signature S (may need alignment to 32 bits): 00AF0208C50EE36D98F229F295827B9EEAFD37B8F41DF92F7698780EA9B3458841
Signature Noncanonical: IADffy/L1F2PVhegdf0t4uFghkMH27nBSgOqK0Ikks+lrwIIxQ7jbZjyKfKVgnue6v03uPQd+S92mHgOqbNFiEE=
S value noncanonical: 79158342722849373070469141236626058792498908884517253652334720352725196179521
Key recovery value: 1
</code></pre>

<p><strong>Canonical formatting of S</strong></p>

<pre><code>Test:   SValueReducedToHalf, RGreaterThan32, RHasZeros_1
Private as hex 108826293911840673209374265929265828788892543057636454753466906283594659795938
Public address 1Ctimb69eWuR7treaygbPcASkoqUwPGPn1
Message: test123
Signature: ILFG8FtncxYlOIC3ts7r3YI86OWT2TMD108MAokN++YjUaUPLxi1hwa+4BYf6zJ/NYIuGWG+sfK7zv8GzvONAAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0234F964166A1A393348D7789FB3792E189C5964A0438952DB4889EA07BE819F55
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00B146F05B677316253880B7B6CEEBDD823CE8E593D93303D74F0C02890DFBE623
Signature S (may need alignment to 32 bits): 00AE5AF0D0E74A78F9411FE9E014CD80C93880C384F096AD7FF0D357BDDCA94141
Signature Noncanonical: ILFG8FtncxYlOIC3ts7r3YI86OWT2TMD108MAokN++Yjrlrw0OdKePlBH+ngFM2AyTiAw4Twlq1/8NNXvdypQUE=
S value noncanonical: 78863113940468318276170609985176761212205417632686831042339146260770630222145
Key recovery value: 1
</code></pre>

<p><strong>R has 1 zero, R and S greater than 32 bytes</strong></p>

<pre><code>Test:   RGreaterThan32, SGreaterThan32, RHasZeros_1
Private as hex 35662537539778787177688141198176047348648692780898797308846230271410478493419
Public address 1CiLSHH4CXzgPkmbazysvEX8ykb8vU2feB
Message: test123
Signature: H3UW7wX01OMT7njU/f/PQtD+hCNPoIy0rALf0PEnZQYAAJYuisnyAVkVIC7qpGcSugPKnf8LHdCQLjtt60gczRY=

___ debug data for above ___
Is public key compressed:True
Public key as hex  025125B47BE00D50A535B5C9C09E86102BF182D9FE2F6F0AB4A8AC4335149C1C74
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 7516EF05F4D4E313EE78D4FDFFCF42D0FE84234FA08CB4AC02DFD0F127650600
Signature S (may need alignment to 32 bits): 00962E8AC9F2015915202EEAA46712BA03CA9DFF0B1DD0902E3B6DEB481CCD16
Signature Noncanonical: H3UW7wX01OMT7njU/f/PQtD+hCNPoIy0rALf0PEnZQYAAQCWLorJ8gFZFSAu6qRnEri+eXrlumZwy+4NzHgYUw4=
S value noncanonical: 116057437519104871322947020543239762978159794193905342046496826541933056953943
Key recovery value: 0
</code></pre>

<p><strong>S is not changed, R and S are large</strong></p>

<pre><code>Test:   RGreaterThan32, SGreaterThan32, SLessThan32_4
Private as hex 23984934282846201135004307705980641080962872643161302353166056218330425914143
Public address 1BcN5pYGUUChE3dk5CCiQeULESZzFYGHPC
Message: test123
Signature: IOoKQ4fmynIUV5RxzPlgU3TZr6hyyH9wXqjqU1OFagAARsDeWu8rbvlpk8MQrs+ad33BFRl3hTU03UYHtm3Kefs=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02260CA828D9D5A49C6C71B52A7C54CF5FEAF2F8599C07C96FDA238072A162364F
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00EA0A4387E6CA7214579471CCF9605374D9AFA872C87F705EA8EA5353856A0000
Signature S (may need alignment to 32 bits): 46C0DE5AEF2B6EF96993C310AECF9A777DC1151977853534DD4607B66DCA79FB
Signature Noncanonical: IOoKQ4fmynIUV5RxzPlgU3TZr6hyyH9wXqjqU1OFagAAAUbA3lrvK275aZPDEK7PmnY4b/IAJs3VcJ0YZkM+ALs=
S value noncanonical: 147794757913853985161250377857925980185202154991282544344677638464716884982588
Key recovery value: 1
</code></pre>

<p><strong>Rare signature format</strong></p>

<pre><code>Test:   SGreaterThan32, SLessThan32_4
Private as hex 19667464441218362309299491158177437155557792575544103707902999231594717797844
Public address 19cjvNftNKJBMcnuzHkcYrRQarjN7JMzkP
Message: test123
Signature: HwAAXzUsb6h+f1uwtl34AY6mZAhuUtzUhZwA85CjmoPfHs6AsOwzCCC3/1wjDws2JaUD0wesu1CwN9e/sFm/HmM=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0372400B013BF5240116E431C1EADC00B9C2BC8A3DFFB669FB91987519ED0A20D9
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 5F352C6FA87E7F5BB0B65DF8018EA664086E52DCD4859C00F390A39A83DF
Signature S (may need alignment to 32 bits): 1ECE80B0EC330820B7FF5C230F0B3625A503D307ACBB50B037D7BFB059BF1E63
Signature Noncanonical: HwAAXzUsb6h+f1uwtl34AY6mZAhuUtzUhZwA85CjmoPfAR7OgLDsMwggt/9cIw8LNiRfsq/uXAPw6/eqHj0p9V8=
S value noncanonical: 129726333383516230935110821215596586503825072828858936394280121229644796354468
Key recovery value: 0
</code></pre>

<p><strong>Very rare signature result</strong></p>

<pre><code>Test:   RGreaterThan32, RHasZeros_1
Private as hex 77359564092138606367423909782286964438584967790833203478204963256314910737690
Public address 1FAzeMcAsH16Vrib9AfRT569442nAxAyWs
Message: test123
Signature: ID/UoYIc6He5C1/UOEhNPj/N4r2OIqP2Zdku0ZtXv4MecyHvpOanKO2Jjy2gO+lMSHL8DJuj/WQhzHg9g3VqAAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  020070B083903DC8EDE561B2990461DC70938898C19346D7F2FEF866629B3B0CB1
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 3FD4A1821CE877B90B5FD438484D3E3FCDE2BD8E22A3F665D92ED19B57BF831E
Signature S (may need alignment to 32 bits): 7321EFA4E6A728ED898F2DA03BE94C4872FC0C9BA3FD6421CC783D83756A0000
Signature Noncanonical: ID/UoYIc6He5C1/UOEhNPj/N4r2OIqP2Zdku0ZtXv4MeAXMh76TmpyjtiY8toDvpTEctqumCU0YEXYxKnBBFoEE=
S value noncanonical: 167868026740628245794433774394316657246741244361239390199489610006892252250433
Key recovery value: 1
</code></pre>

CC BY-SA 3.0
2017-12-26T08:45:42.927Z
@jus12 yes. Endian specific if I recall correctly.
makerofthings7
CC BY-SA 3.0
2017-12-26T09:20:06.173Z
@jus12 Check the unit tests on Bitcoin, or whichever port you are using. I realized after the fact my logic was already there.  Even though I no longer work w/BTC the source code is really well done.
makerofthings7
CC BY-SA 3.0
2017-12-26T14:59:37.780Z
@jus12 See https://stackoverflow.com/q/19665491/328397 ... note I haven't pursued more advanced BTC key formats. I've abandoned this platform
makerofthings7
CC BY-SA 3.0
2017-12-26T20:45:35.913Z
Private keys are not hex, but int. All test vectors pass btw.
Jus12
CC BY-SA 3.0
2017-12-26T20:47:08.067Z
@jus12 Private keys can be any base you want them to be in. Your sentence needs more insight before you start coding more cryptocurrency. Int is just a storage location with nitpicking on how decimals are handled. Hex is the human readable output of a storage location.  Read up on low level development
makerofthings7
CC BY-SA 3.0
2017-12-26T20:50:12.437Z
@jus12 Don't trust everything you read in a book just because it has a black and white moose on it.
makerofthings7
CC BY-SA 3.0
2017-12-26T21:04:32.227Z
I meant that when you say `Private as hex` in your post, its not really hex encoded.
Jus12
CC BY-SA 3.0
2017-12-26T21:42:42.203Z
Quite right you are, sir!!! @jus12 Good call on being persistent.
makerofthings7
CC BY-SA 3.0
2014-03-01T17:01:37.137Z
2018-03-26T12:30:45.083Z
2018-03-26T12:30:45.083Z
makerofthings7
<p>I am testing a different version of BigInteger that has different endian formats and the native implementation likes to add or remove zeros from the final output.</p>

<p>Can anyone provide some sample public and private keys  (not just addresses)</p>

<ol>
<li>Compressed</li>
<li>Not compressed</li>
<li>Leading one or more zero (some implementations of BigInt mess with this) for pub and priv</li>
<li>Trailing one or more zero (some implementations of BigInt mess with this) for pub and private</li>
<li>Anything that might look "negative" when BigInteger converts an array into it's two's compliment version </li>
</ol>

<p>A compressed version of the above would be greatly appreciated... leaving me with 8 tests.</p>

<p>Anyone with data that might be interpreted as a twos compliment for BigInteger, exposing bugs in the code, would be appreciated as well.  </p>

<p>I'm doing this so the ported version of the QT client will prevent me from creating unspendable addresses.</p>

<p>Whomever posts the test vectors for this will likely also assist developers on other platforms (Javascript, Java, C#, etc) and their native versions of BigInteger</p>

CC BY-SA 3.0
2014-02-10T18:37:39.000Z
I think you will encounter problems if the public key is not 33 bytes (compressed) or 65 bytes (uncompressed).  Leading and trailing zeroes are significant in this case.  I had to explicitly pad/trim the Java BigInteger byte array to get the required 32 bytes.
ScripterRon
<address><development><private-key><address-generation>
Need sample compressed and uncompressed Public / Private key pairs for BigInteger
makerofthings7
# Need sample compressed and uncompressed Public / Private key pairs for BigInteger

(Asked by: username_0 on 2014-02-10)

I am testing a different version of BigInteger that has different endian formats and the native implementation likes to add or remove zeros from the final output.

Can anyone provide some sample public and private keys (not just addresses)

1. Compressed
2. Not compressed
3. Leading one or more zero (some implementations of BigInt mess with this) for pub and priv
4. Trailing one or more zero (some implementations of BigInt mess with this) for pub and private
5. Anything that might look "negative" when BigInteger converts an array into it's two's compliment version

A compressed version of the above would be greatly appreciated... leaving me with 8 tests.

Anyone with data that might be interpreted as a twos compliment for BigInteger, exposing bugs in the code, would be appreciated as well.

I'm doing this so the ported version of the QT client will prevent me from creating unspendable addresses.

Whomever posts the test vectors for this will likely also assist developers on other platforms (Javascript, Java, C#, etc) and their native versions of BigInteger

**Tags:** address, development, private-key, address-generation

> **Comments:**
> **username_1**: I think you will encounter problems if the public key is not 33 bytes (compressed) or 65 bytes (uncompressed).  Leading and trailing zeroes are significant in this case.  I had to explicitly pad/trim the Java BigInteger byte array to get the required 32 bytes.  

---

## 1 answers

### Answer by username_0 on 2014-03-01. Score: 2 | Accepted answer

It's nice to see my work copied verbatim in appendix A "Blockchain: Blueprint for a new Economy" by O'Rielly... but they missed a few details. Someone from there should reach out to me

---

After generating 16 million keys, comparing my results with the QT client over RPC, I've come up with the following test keys for compressed public keys:

**Default**

```
Test:
Private as hex 79186670301299046436858412936420417076660923359050732094116068951337164773779
Public address 1EE8rpFCSSaBmG19sLdgQLEWuDaiYVFT9J
Message: test123
Signature: IGP5aqo6+oKzUF4/Pq6dfksKxlcy1CehKv6aKA6GUMGOf9Jd62UWRMNwN3KXnOHi0PdBekVBlr23EKa7sGDgTtI=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03A3D70082D23B32B26890EA01F6AF628F8D424DF3B025802D32FC3F2D5EF4D083
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 63F96AAA3AFA82B3505E3F3EAE9D7E4B0AC65732D427A12AFE9A280E8650C18E
Signature S (may need alignment to 32 bits): 7FD25DEB651644C3703772979CE1E2D0F7417A454196BDB710A6BBB060E04ED2
Signature Noncanonical: IGP5aqo6+oKzUF4/Pq6dfksKxlcy1CehKv6aKA6GUMGOAX/SXetlFkTDcDdyl5zh4s+x8Fcr8N9d8tB5Gj0xFpA=
S value noncanonical: 173607507099637907991191162345204054084248845170247593505487421300829521874963
Key recovery value: 1

```

**Canonical formatting of S**

```
Test:   SValueReducedToHalf
Private as hex 104418396969965692461517188368945301704108638856440619106351414329473623554759
Public address 18m1EvVCeFsupQSsdZ3rTPGjL6j9hQpoj5
Message: test123
Signature: H5TIq/7pLqy2M9lUGUa9i1kxML4EmWN+MwiyijquyMhcbTuAiOjffxRz7xayj4qaAig8Y1OZFn/aqWDkM5GXVqQ=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0228E33569266CB496AC2808C68D217B542A1E769CA62F2144BEB4D602BDB28014
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 0094C8ABFEE92EACB633D9541946BD8B593130BE0499637E3308B28A3AAEC8C85C
Signature S (may need alignment to 32 bits): 0092C47F77172080EB8C10E94D707565FC927279931632206116717A593E9EEA9D
Signature Noncanonical: H5TIq/7pLqy2M9lUGUa9i1kxML4EmWN+MwiyijquyMhcksR/dxcggOuMEOlNcHVl/JJyeZMWMiBhFnF6WT6e6p0=
S value noncanonical: 66384857650308705735089161182204613834546990056514581767424835152008945003165
Key recovery value: 0

```

**Canonical formatting of S, R is "short"**

```
Test:   SValueReducedToHalf, RHasZeros_1
Private as hex 26841850108733854068844877092845755783895918659584173218404826715393242032133
Public address 1FRUjbVX9bbctP6y7Z7jmBufdW6KyoSvGw
Message: test123
Signature: HxypbxPc+0rICT/x6AWkGoQjE/rE7UtCLy0eS0uGn4WFGlrLkJxJDgJcIgwGDH6MdIiWL/E+cvPv2dqeHw5zCwA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03F87C4C73949612279398F2634B3D4D3DDC60EBD1D5A7F52133B9A08625DCFBC1
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 1CA96F13DCFB4AC8093FF1E805A41A842313FAC4ED4B422F2D1E4B4B869F8585
Signature S (may need alignment to 32 bits): 00E5A5346F63B6F1FDA3DDF3F9F381738A3218ACF570D5AC4BE5F7C06DC1C33641
Signature Noncanonical: HxypbxPc+0rICT/x6AWkGoQjE/rE7UtCLy0eS0uGn4WF5aU0b2O28f2j3fP584FzijIYrPVw1axL5ffAbcHDNkE=
S value noncanonical: 103871533985121725711649129661651907020330641311974510999031854527404235241025
Key recovery value: 0

```

**Canonical formatting of S, has 4 zeroes**

```
Test:   SValueReducedToHalf, SLessThan32_4
Private as hex 86520705923672484424543748367654505450021158466896423122495789612346391207140
Public address 1NQvJ2X1KVwuYPQRdeiDbFanLod72UPEjg
Message: test123
Signature: IAD0xd4DofuKthgkVUfH8JJF/zeKeGL9b4gdYCb6PxhVcHd4KiX7lFAN2Kun9wUC21T0Z0bPnrsTlAIHWN03P20=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0357B8B24DF08BEFDBEE910A3D95034FEAC1C54CDC100662FF394EB72BB23FE003
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00F4C5DE03A1FB8AB618245547C7F09245FF378A7862FD6F881D6026FA3F1855
Signature S (may need alignment to 32 bits): 008F8887D5DA046BAFF227545808FAFD2365BA759FDFA9E5282BD05733F2FF01D4
Signature Noncanonical: IAD0xd4DofuKthgkVUfH8JJF/zeKeGL9b4gdYCb6PxhVj4iH1doEa6/yJ1RYCPr9I2W6dZ/fqeUoK9BXM/L/AdQ=
S value noncanonical: 64921966049402308770510180383138525221043468997005421168542368100274768118228
Key recovery value: 1

```

**R and S had leading zeroes (twos compliment confusion possible)**

```
Test:   RGreaterThan32, SGreaterThan32
Private as hex 49271812223912890183372000738074590620901220493616955749035660411043423358313
Public address 1EAGUmQG2evn1ujibn1meucRt5URGr7TKS
Message: test123
Signature: H1z4EjRWIcxYLu82qXDKVwvX74EGr5Zc8hnkL8NEO9fRAGOALDrFakMTq+gVoF+qf+8jgZSI8Lomvi1sSx8Zy3Y=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02A099AB8D17E11D044A495812D0619A833C03961ED0B090A06C2C81AB2CFB8C4C
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 5CF812345621CC582EEF36A970CA570BD7EF8106AF965CF219E42FC3443BD7D1
Signature S (may need alignment to 32 bits): 63802C3AC56A4313ABE815A05FAA7FEF23819488F0BA26BE2D6C4B1F19CB76
Signature Noncanonical: H1z4EjRWIcxYLu82qXDKVwvX74EGr5Zc8hnkL8NEO9fRAQBjgCw6xWpDE6voFaBfqn6p0l57ODlaYn3/ytfvUAw=
S value noncanonical: 115967891712688622791697912048921273624697397818356039879425919349736894106807
Key recovery value: 0

```

\*\*Canonical formatting of S, S has more than 32 zeros, R is "short" \*\*

```
Test:   SValueReducedToHalf, SGreaterThan32, RHasZeros_1
Private as hex 4777466271014663949802819381765970429152817494201827532502916324303349007402
Public address 1Ea6tSV9wrofLkfqepnbLuwDKSMgUNd8k8
Message: test123
Signature: IKJKgEi+x77OgaW0fr884GZrSh+/0cuP+TpY7EUm00EMXODggkAxLPSGfXSNWEjP5jNcSGJjjsxO1SqnNxMnowA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03AB63D0D115D9C8C53A60989D1D25EFB5FB508E1F5BEEFD7D2487D12289751E71
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00A24A8048BEC7BECE81A5B47EBF3CE0666B4A1FBFD1CB8FF93A58EC4526D3410C
Signature S (may need alignment to 32 bits): 00A31F1F7DBFCED30B79828B72A7B73018875294844BB9D3ECEAA7B755BD0E9E41
Signature Noncanonical: IKJKgEi+x77OgaW0fr884GZrSh+/0cuP+TpY7EUm00EMox8ffb/O0wt5gotyp7cwGIdSlIRLudPs6qe3Vb0OnkE=
S value noncanonical: 73781983922410365449727642718035935024524267847686688743716438700218775412289
Key recovery value: 1

```

\*\*Canonical formatting of S, R and S look like two's compliment \*\*

```
Test:   SValueReducedToHalf, RGreaterThan32, SGreaterThan32
Private as hex 30773778924833153278326239976267448371250861545391810261071816760957004408309
Public address 13a8JzTy6igoA7QfQyZVsDCpQvXY4eBj9i
Message: test123
Signature: H4jdYEux4k1zQaXby1OXSfdi6I7XgdkngA1F/E1rfcSHANqDQxCb3cAxnVG88p8jxyoJKPZh8y/XdYLwPhgmEMM=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03C70FDC0743E19CCBF923FE5454FD6C63943E65C9BD8C1FE0847E3C365CFF8971
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 0088DD604BB1E24D7341A5DBCB539749F762E88ED781D927800D45FC4D6B7DC487
Signature S (may need alignment to 32 bits): 00FF257CBCEF64223FCE62AE430D60DC3790A5B3F04D5570644A4F6E4EB810307E
Signature Noncanonical: H4jdYEux4k1zQaXby1OXSfdi6I7XgdkngA1F/E1rfcSH/yV8vO9kIj/OYq5DDWDcN5Cls/BNVXBkSk9uTrgQMH4=
S value noncanonical: 115406010640357535068751835107045199953964590515092451110614826883136174960766
Key recovery value: 0

```

**R is short**

```
Test:   RHasZeros_1
Private as hex 61103943668025454604648533394738966390945260249802700793400423519535802730901
Public address 19AnGbm4ZxhcUQ18Ttcpxd5AjQTtk7TfUy
Message: test123
Signature: ICLRZEqnmnOe21ZmOiKKxIpgN3F8gyxkHRYuXVJucXQAYv2FSwhrBU7djsZcDx0hSy5ilsRMBzBBIsuqkxQBEb4=

___ debug data for above ___
Is public key compressed:True
Public key as hex  032275700C1D9D1312266E4A0601DF98906C1458ACE8410FD8B6B6748FE9E65F3F
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 22D1644AA79A739EDB56663A228AC48A6037717C832C641D162E5D526E717400
Signature S (may need alignment to 32 bits): 62FD854B086B054EDD8EC65C0F1D214B2E6296C44C07304122CBAA93140111BE
Signature Noncanonical: ICLRZEqnmnOe21ZmOiKKxIpgN3F8gyxkHRYuXVJucXQAAWL9hUsIawVO3Y7GXA8dIUnpEXOq+0/QfOKeCR/kN1I=
S value noncanonical: 160566680661011880010816576153459883182868735970539852654309056175300236759807
Key recovery value: 1

```

\*\*Canonical formatting of S, twos' compliment formatting of R, S has 4 zeroes \*\*

```
Test:   SValueReducedToHalf, RGreaterThan32, SLessThan32_4
Private as hex 73831678241472856909648189538766342154493645679368128703486299335910825024625
Public address 1MduqSPRnVWjYKNw9XyxDrTd4ScDGeB9h7
Message: test123
Signature: IADsZCQ4jSdVXJXFLMVmdvTL9Tj/P/ajJxOfbcsDUkqPANIxZZBd0aY4dqbglYBWzltXfGgVzRb6QSlDTps9bc0=

___ debug data for above ___
Is public key compressed:True
Public key as hex  03EC5FD98EA4AC0B31E9F416CE90C91297AB7DA551E413206DAD423E6EE61233AB
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00EC6424388D27555C95C52CC56676F4CBF538FF3FF6A327139F6DCB03524A8F
Signature S (may need alignment to 32 bits): 00D23165905DD1A63876A6E0958056CE5B577C6815CD16FA4129434E9B3D6DCD
Signature Noncanonical: IADsZCQ4jSdVXJXFLMVmdvTL9Tj/P/ajJxOfbcsDUkqPAQDSMWWQXdGmOHam4JWAVs0WBllOxRW3NgD7odtrc68=
S value noncanonical: 116163468044648827127288252771819760996859021381472042992761249252296984080142
Key recovery value: 1

```

**Canonical formatting of S, S and R has twos compliment zero appended**

```
Test:   SValueReducedToHalf, RGreaterThan32, SGreaterThan32, RHasZeros_1
Private as hex 39596642972382804109878550299664212933475275372831393917296101877715292328542
Public address 1KTMQ9PR7BTV7wofHW74nekbsDi4GYAEzN
Message: test123
Signature: IC7iMUeYPL9SuwIfs2BDoUO3cuMUVFxegg50A5HkKLeAAHyXhyVmnwgH/EzkCpITKkkn5PTAoZ6ZZv8/4PR6bAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02218C61C3BB82864EF5646985C0BD1412C9236016D5ECFE3BB99ABDCCE39523DF
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 2EE23147983CBF52BB021FB36043A143B772E314545C5E820E740391E428B780
Signature S (may need alignment to 32 bits): 00FF836878DA9960F7F803B31BF56DECD47186F7F1EEA701A258D31EABDBBBD541
Signature Noncanonical: IC7iMUeYPL9SuwIfs2BDoUO3cuMUVFxegg50A5HkKLeA/4NoeNqZYPf4A7Mb9W3s1HGG9/HupwGiWNMeq9u71UE=
S value noncanonical: 115571954394053739614724418392364175348093401631755466105511097999314105652545
Key recovery value: 1

```

**Canonical formatting of S, s is short with 4 zeroes, r is short by 1 zero**

```
Test:   SValueReducedToHalf, SGreaterThan32, SLessThan32_4, RHasZeros_1
Private as hex 27286465058545275041328003731375053608759800669744477817022805727071484951337
Public address 1KoZDczy6zyaRgHGVGC7pDYHVfsVo4Zo29
Message: test123
Signature: IADffy/L1F2PVhegdf0t4uFghkMH27nBSgOqK0Ikks+lUP33OvEckmcN1g1qfYRhE713I/KRT3DFJ1pP4xzwuQA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02444327032C13B19080452CED31222B90FB4F391A9E7FD8E1B01B855A759F2F4A
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00DF7F2FCBD45D8F5617A075FD2DE2E160864307DBB9C14A03AA2B422492CFA5
Signature S (may need alignment to 32 bits): 00AF0208C50EE36D98F229F295827B9EEAFD37B8F41DF92F7698780EA9B3458841
Signature Noncanonical: IADffy/L1F2PVhegdf0t4uFghkMH27nBSgOqK0Ikks+lrwIIxQ7jbZjyKfKVgnue6v03uPQd+S92mHgOqbNFiEE=
S value noncanonical: 79158342722849373070469141236626058792498908884517253652334720352725196179521
Key recovery value: 1

```

**Canonical formatting of S**

```
Test:   SValueReducedToHalf, RGreaterThan32, RHasZeros_1
Private as hex 108826293911840673209374265929265828788892543057636454753466906283594659795938
Public address 1Ctimb69eWuR7treaygbPcASkoqUwPGPn1
Message: test123
Signature: ILFG8FtncxYlOIC3ts7r3YI86OWT2TMD108MAokN++YjUaUPLxi1hwa+4BYf6zJ/NYIuGWG+sfK7zv8GzvONAAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0234F964166A1A393348D7789FB3792E189C5964A0438952DB4889EA07BE819F55
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00B146F05B677316253880B7B6CEEBDD823CE8E593D93303D74F0C02890DFBE623
Signature S (may need alignment to 32 bits): 00AE5AF0D0E74A78F9411FE9E014CD80C93880C384F096AD7FF0D357BDDCA94141
Signature Noncanonical: ILFG8FtncxYlOIC3ts7r3YI86OWT2TMD108MAokN++Yjrlrw0OdKePlBH+ngFM2AyTiAw4Twlq1/8NNXvdypQUE=
S value noncanonical: 78863113940468318276170609985176761212205417632686831042339146260770630222145
Key recovery value: 1

```

**R has 1 zero, R and S greater than 32 bytes**

```
Test:   RGreaterThan32, SGreaterThan32, RHasZeros_1
Private as hex 35662537539778787177688141198176047348648692780898797308846230271410478493419
Public address 1CiLSHH4CXzgPkmbazysvEX8ykb8vU2feB
Message: test123
Signature: H3UW7wX01OMT7njU/f/PQtD+hCNPoIy0rALf0PEnZQYAAJYuisnyAVkVIC7qpGcSugPKnf8LHdCQLjtt60gczRY=

___ debug data for above ___
Is public key compressed:True
Public key as hex  025125B47BE00D50A535B5C9C09E86102BF182D9FE2F6F0AB4A8AC4335149C1C74
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 7516EF05F4D4E313EE78D4FDFFCF42D0FE84234FA08CB4AC02DFD0F127650600
Signature S (may need alignment to 32 bits): 00962E8AC9F2015915202EEAA46712BA03CA9DFF0B1DD0902E3B6DEB481CCD16
Signature Noncanonical: H3UW7wX01OMT7njU/f/PQtD+hCNPoIy0rALf0PEnZQYAAQCWLorJ8gFZFSAu6qRnEri+eXrlumZwy+4NzHgYUw4=
S value noncanonical: 116057437519104871322947020543239762978159794193905342046496826541933056953943
Key recovery value: 0

```

**S is not changed, R and S are large**

```
Test:   RGreaterThan32, SGreaterThan32, SLessThan32_4
Private as hex 23984934282846201135004307705980641080962872643161302353166056218330425914143
Public address 1BcN5pYGUUChE3dk5CCiQeULESZzFYGHPC
Message: test123
Signature: IOoKQ4fmynIUV5RxzPlgU3TZr6hyyH9wXqjqU1OFagAARsDeWu8rbvlpk8MQrs+ad33BFRl3hTU03UYHtm3Kefs=

___ debug data for above ___
Is public key compressed:True
Public key as hex  02260CA828D9D5A49C6C71B52A7C54CF5FEAF2F8599C07C96FDA238072A162364F
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 00EA0A4387E6CA7214579471CCF9605374D9AFA872C87F705EA8EA5353856A0000
Signature S (may need alignment to 32 bits): 46C0DE5AEF2B6EF96993C310AECF9A777DC1151977853534DD4607B66DCA79FB
Signature Noncanonical: IOoKQ4fmynIUV5RxzPlgU3TZr6hyyH9wXqjqU1OFagAAAUbA3lrvK275aZPDEK7PmnY4b/IAJs3VcJ0YZkM+ALs=
S value noncanonical: 147794757913853985161250377857925980185202154991282544344677638464716884982588
Key recovery value: 1

```

**Rare signature format**

```
Test:   SGreaterThan32, SLessThan32_4
Private as hex 19667464441218362309299491158177437155557792575544103707902999231594717797844
Public address 19cjvNftNKJBMcnuzHkcYrRQarjN7JMzkP
Message: test123
Signature: HwAAXzUsb6h+f1uwtl34AY6mZAhuUtzUhZwA85CjmoPfHs6AsOwzCCC3/1wjDws2JaUD0wesu1CwN9e/sFm/HmM=

___ debug data for above ___
Is public key compressed:True
Public key as hex  0372400B013BF5240116E431C1EADC00B9C2BC8A3DFFB669FB91987519ED0A20D9
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 5F352C6FA87E7F5BB0B65DF8018EA664086E52DCD4859C00F390A39A83DF
Signature S (may need alignment to 32 bits): 1ECE80B0EC330820B7FF5C230F0B3625A503D307ACBB50B037D7BFB059BF1E63
Signature Noncanonical: HwAAXzUsb6h+f1uwtl34AY6mZAhuUtzUhZwA85CjmoPfAR7OgLDsMwggt/9cIw8LNiRfsq/uXAPw6/eqHj0p9V8=
S value noncanonical: 129726333383516230935110821215596586503825072828858936394280121229644796354468
Key recovery value: 0

```

**Very rare signature result**

```
Test:   RGreaterThan32, RHasZeros_1
Private as hex 77359564092138606367423909782286964438584967790833203478204963256314910737690
Public address 1FAzeMcAsH16Vrib9AfRT569442nAxAyWs
Message: test123
Signature: ID/UoYIc6He5C1/UOEhNPj/N4r2OIqP2Zdku0ZtXv4MecyHvpOanKO2Jjy2gO+lMSHL8DJuj/WQhzHg9g3VqAAA=

___ debug data for above ___
Is public key compressed:True
Public key as hex  020070B083903DC8EDE561B2990461DC70938898C19346D7F2FEF866629B3B0CB1
Message Hash: 9C20FD5DCB51A6DBD21CFC172CBFFA7F59DE199ED53D567EC1CAF49A4E6F19BC
Signature R (may need alignment to 32 bits): 3FD4A1821CE877B90B5FD438484D3E3FCDE2BD8E22A3F665D92ED19B57BF831E
Signature S (may need alignment to 32 bits): 7321EFA4E6A728ED898F2DA03BE94C4872FC0C9BA3FD6421CC783D83756A0000
Signature Noncanonical: ID/UoYIc6He5C1/UOEhNPj/N4r2OIqP2Zdku0ZtXv4MeAXMh76TmpyjtiY8toDvpTEctqumCU0YEXYxKnBBFoEE=
S value noncanonical: 167868026740628245794433774394316657246741244361239390199489610006892252250433
Key recovery value: 1

```

> **Comments:**
> **username_0**: @username_2 yes. Endian specific if I recall correctly.  
> **username_0**: @username_2 Check the unit tests on Bitcoin, or whichever port you are using. I realized after the fact my logic was already there.  Even though I no longer work w/BTC the source code is really well done.  
> **username_0**: @username_2 See https://stackoverflow.com/q/19665491/328397 ... note I haven't pursued more advanced BTC key formats. I've abandoned this platform  
> **username_2**: Private keys are not hex, but int. All test vectors pass btw.  
> **username_0**: @username_2 Private keys can be any base you want them to be in. Your sentence needs more insight before you start coding more cryptocurrency. Int is just a storage location with nitpicking on how decimals are handled. Hex is the human readable output of a storage location.  Read up on low level development  
> **username_0**: @username_2 Don't trust everything you read in a book just because it has a black and white moose on it.  
> **username_2**: I meant that when you say `Private as hex` in your post, its not really hex encoded.  
> **username_0**: Quite right you are, sir!!! @username_2 Good call on being persistent.  

---

