From 9113eabe72870289e1c42ea4c8a5f3e8dd63486a Mon Sep 17 00:00:00 2001 From: kdmukai Date: Sat, 13 Aug 2022 20:49:50 -0500 Subject: [PATCH] Additional Compact SeedQR test vectors Closes #234. --- docs/seed_qr/README.md | 69 ++++++++++++++++++++ docs/seed_qr/img/vector7_compact_12word.png | Bin 0 -> 7489 bytes docs/seed_qr/img/vector8_compact_12word.png | Bin 0 -> 7383 bytes docs/seed_qr/img/vector9_compact_12word.png | Bin 0 -> 7142 bytes 4 files changed, 69 insertions(+) create mode 100644 docs/seed_qr/img/vector7_compact_12word.png create mode 100644 docs/seed_qr/img/vector8_compact_12word.png create mode 100644 docs/seed_qr/img/vector9_compact_12word.png diff --git a/docs/seed_qr/README.md b/docs/seed_qr/README.md index 3eba91de..b6a5f825 100644 --- a/docs/seed_qr/README.md +++ b/docs/seed_qr/README.md @@ -480,3 +480,72 @@ b'\n\xcb\xba\x00\x8d\x9b\xa0\x05\xf5\x99k@\xa3G\\\xd9' +--- + +## Test Vector 7: Additional Compact SeedQR problem characters +Explicitly check Compact SeedQRs whose byte stream contains `\n`, `\r`, or `\r\n`: + +`\n`: +```bash +# 12-word seed: +dignity utility vacant shiver thought canoe feel multiply item youth actor coyote + +# Standard SeedQR digit stream: +049619221923158517990268067811630950204300210397 + +# CompactSeedQR bitstream: +00111110000111100000101111000001111000110001111000001110010000110001010100110100100010110111011011011111111011000000101010011000 + +# CompactSeedQR bytestream: +b'>\x1e\x0b\xc1\xe3\x1e\x0eC\x154\x8bv\xdf\xec\n\x98' +``` + + + + + +

CompactSeedQR
+ + +`\r`: +```bash +# 12-word seed: +corn voice scrap arrow original diamond trial property benefit choose junk lock + +# Standard SeedQR digit stream: +038719631547010112530489185713790169032209701051 + +# CompactSeedQR bitstream: +00110000011111101010111100000101100001100101100111001010011110100111101000001101011000110001010100100101000010011110010101000001 + +# CompactSeedQR bytestream: +b'0~\xaf\x05\x86Y\xcazz\rc\x15%\t\xe5A' +``` + + + + + +

CompactSeedQR
+ + +`\r\n`: +```bash +# 12-word seed: +vocal tray giggle tool duck letter category pattern train magnet excite swamp + +# Standard SeedQR digit stream: +196218530783182905421028028912901848107106301753 + +# CompactSeedQR bitstream: +11110101010111001111010110000111111100100101010000111101000000010000100100001101000010101110011100010000101111010011101101101101 + +# CompactSeedQR bytestream: +b'\xf5\\\xf5\x87\xf2T=\x01\t\r\n\xe7\x10\xbd;m' +``` + + + + + +

CompactSeedQR
diff --git a/docs/seed_qr/img/vector7_compact_12word.png b/docs/seed_qr/img/vector7_compact_12word.png new file mode 100644 index 0000000000000000000000000000000000000000..afdd9d3a5c7536cf535782b0e3494bc3838ae9c2 GIT binary patch literal 7489 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 literal 0 HcmV?d00001 diff --git a/docs/seed_qr/img/vector8_compact_12word.png b/docs/seed_qr/img/vector8_compact_12word.png new file mode 100644 index 0000000000000000000000000000000000000000..539b0ac2911a0cc2de1f135ea2c8b325af460385 GIT binary patch literal 7383 zcmc&(bySpXo2R=$K)O2>knWHeLP^OXB!?1^l#W3{M3F{9gaK(r8VLnSWmIC28bUf0 zMRIT4clUk2Z}-nVXXhLk&Y63jhv&Ml>sL42*ieU@goy+T3yWO$rsgg1zIXXUL;!v( zo2@^_!eS}Z)l@SL&fhMGG+-H+9w_>1ofRLe!0wRgDbbTmPCO;cBXdhaTA=1}vP{~R zp5LZ97e!>tjtcxm6m6@=j9x}$bE;@FmuZjT%1~w1YGSOH1%xgd?w(xF%3o8;$VB8o zi}uZCA7H)T{(6_){P7K+`Mj&HiBQ7A^nl3i(vZSD^zQc9$n|jnBn%zJk@TdZkrgY3 zW1fXhBIYI;38NYh0e%VxO)QQ!6&IHskXuuwy5DDIf|uJj(S=2 zfa%@4cX--ANB2+8eD@aAN}_ahbfEKH5x&Pi+@mu_m2=D0oSZPTw7ybI@orK=Lj|6U z?CdYQ0{a~$iQ?5ch9%94jgyX%k8bifgolUEok8=;1%D_r$Pj!9WR-$UUBr9tg?2ti zEPEU3>S7m-^9yjT9fd33)YavjsX*w3Z)R7y1;n+y3hGtKLQVFj;XghaXBK!9dCcU_- zYFHZQ?t1rHVOW~b0whnSht^23N3QLHkC9A0B0_04Y`63J&O?T#bK2A@yJ8n>enSWZ zU(4jKLW($aU4@?6WHURtMAgFsL1o|Ji&okY!XAE1dWwJh_U)RX?YnY*amvff z(769-vUV(#6x82;!cRdY)2NBnsN6kf0OQ9(%0)m|N4giR=)jnO z39>}))Q{x0yE{^FVru042n_ROv0*US^__v;Uwx~idBxA4JG_e!weMoF3tq&}E-WqKm8sy_Ccu#yt%&#h^VruFS@UZfKvf#UfQ#`xAPb+1Iih=>T^ zG$`d z3o@UMeFBp=1qB74cw#%leqGk>}zYCnqP1_q$J6Q&Lh! zT55w8#R{VKuP~|cXv<@xgw*!9L`75Y=xXqE&=6Vj)w|6rh>Aj{G@l_5kFv7(`kz&V zJ>=hM)u6^}h5cg~>v%w8it*lY-+Yr>Zc+tHNl({MWV_Eoy2P@cm9Z+E0F8n&rfGSh zW$MXMQfervC8S*Uym(W9&|?<5Iv!I~Q&lIYQjADtSC{fsTcGE}W^&1!ulMK4ArOcz zEWkGLWT$=HgoTLR_|0QuOUuEPmb8Qf0@>g_j*qKPE$pIaX6_7hJ<1^*crzHuIZQ21 zL=rsLa}6G!cXb*2A3OYCFyedlJ$^sNFG-WDf7;%5GJbnV4XoS387ojAB&1;B_;SbKd+?^@7)2<}dOXm@X zBUp%~Wm4g~vru*Y;3E28v8#->t^yRIQ|>XqY4!6tGl?Y+(iGkMEIcLP{{22M zf@>AzXk>AFJ9ArmJ3Pop`F9z&N;SY00daALC4KEOW?b&~i+;VFq&Yb`w+bC47}T)G zIW5yDR-zGz-f&Lme|8M+p7ey=RN|QL(R4Dxb_5iVt* z>@C6jOJ0dR21Z7daea%IpAC+V#>bN~@O65lWo$Y_uW0M&xGHA(%97dI+V)<16)XW> zXwGnQ3*w_!ujgU_I!#l==D11ejad3~tDNtrL%~$&URI*}_;c+->W#VVeMPO67~w@6!~Eo-KNB`uh4L6crWG&=L165i1-(68tl>egmxPj&SYL4=5CO|D?@Z zGbab0bJt4Nt4;f74eS@e~qPC!+sEVe-vpnF?qX z&oL2QYANRQ0gZ@MLmnD~+L`bBPc()b;wUuYh-K*?jt=jCUS8&T#%whih&Zx*Oy(w& zTw;9T#?Qyc!In-7qk-cY7#iNfKO3hsMVf0d$1?q7xGpU3uJjNnik? z`d{t=yr|f=X$ye2xK1^Q3=R!(d4Cxn9DHtGdsAOOc4$a%?|1m8>{S}Jbi#x0-{XJZ z_EJlK>nkh5(>?(E)zoECf`5F}$(*Ts@~K{gR9jm+PC0c}or8+XJWY3sc53rb&%$X464wV6bI)^fax%>b z>$DqKaRGZTa;Is~gqesnKVG{lq1^pm1Jjxf{{J$+fBL95E8`eIS#Lb)^+LOs2qA!O z6Z?*#JT%dbuH(IfgGr@94ULV9(S&Tiwu1EhVBTdT&pRGr3@wQWVvWtsS6j>jK~J5Y z%wGh3BB(t{zXHWk4&0zqJo|yV-lbXW&a^e(&HmsZvq;v%H6VcQ63>s;R4&#l3JBT5 zsdDr3)}BOhXAoVk0xTejF2=%Ag+RzVeoW}6;fJ3d`30ZpJ476G zEY;3xZzu_&O-M+n(4~|DZ>zIy9$Xnwo0GK)JIr=A-46cAEaX0` zWlQ($iG)oOXAkseq~K(UJCXo8oqKQs^Eh*2DlIMb zJ=`!WfpAboZEScfX@?b!6Y8Y1@y&J^!d`A*d~I5A5W&xA|c> zxKVX&*16?9G5DlOwRY?4>k=|D+6Jph+ND%Pcu7v)S%H&HO;XU>=q8e!Xw|4;;{<#( za?PfJO!%HZnFtBEk=2clZcl`iZ6~3Qjxlb1*LZwUvZ0QSj&sR+JpZa?wX>rjsQi0Q zTxMpK#Cr))307BiYaHqvj&a;R37ckfMT;JOAdge(T*?|6t_A;`c4gf~d;L!V#`-%a zJ39)%J|hc@fyceG<3ND_akI0tWimirNGK~C{y2QkU-V|@YdhTNdrgg)SePApW@f?u z;`kXR$PH*bgB>#5HJ-I5|W0gtg5=l z@(|YeHIj=~t}HD6uCD2Vq@5I*(-^Fukm@xtG&FR^Om4k{#%4B4T=XmJP=hBwQ>y$= zpt#qTb(0l?w(A}h7LM`OJ9~H}57#&C2j>s-AgqH@BccNU>n;ob%{1$H2F#Q><+@)5 z`*3O{S(Ye7hL^5kYqj$mpy+bna1}&Z-Q@|Xes++nr8SFPdj&r$Onup)S;EM5EI)eE zKJsgQ%LEDq9WPYU%$u9Do2qw8P}_N(icQt(#&082A!a*|LdjfIn*Ok7YfdVoDL zKX-6{#=$$zIFUm>Y&6%Db2>#9qktP3YR$nI{_+t zZUWOIcR)$y1aXHbvMm)w&+jHyRtgU61L+U`=AVlLD#HdjqQyn+(UDw2#eYua!hgY zKzO$Jujox|0#uWimtQzo8PFnad+q@sz zX>4l?sW$gt8M@-;;lXuYD00R?5`THiewEnSS(_H1cHxmvENX0`ySlo{CasLkt^mp{ zZfKY=Q5YHdg7f3Xi>|IYzsK(YC~ZZaV%RlRij4>DnmwL6*;kprYS1WtgxMY4bYsfW z%m&ifkr{!Q8AxZpe_9}B)8fEDM<=_}jTuP4ovu~+>eY*PjrVu$2F^&ae(H;NF1Pqt z<~+-^l<8X!y_~AH=5qH5GuN`tv6toL{<`a?bn)``J%6@e{(MbR6RPFR%dn0&vYGh& zD_y;1N?z1g)3-gVkBCY)<)3L%m}8@k#~VaE6c7lKoc;-^)M0N~^DpRhJ(JbtVWAu(NY>^*p{$yB4*2kg}(K{AhAC>hl1XJ@VA=R-P&c78(iT z{z<8SQSZC)NpPych14&hv%MW%&;Icy|H9Ieqkx!Lp`Qw{61@%X1Ox;NpDpaKEa}q$ z>N6}6Cw@L2VXriQm!Ea>nl$uBwm5b6_ zLUwU{+qwsAYURYy#IF?sdc$)=9M3!$MlU`g{W@l$V+DTWn)Jg*_*9YKc^=q}0 zySw1&!Lx22wgJg&*VJDLfR4($;gbMEBdIaJfg+;-f>pN`jU-o6QtD4;0j5&e|LE+& z(IRCe5k5XX7)=yvu`q1MFQ0E{B2t7!&L0m9K5H{jZBo+GJ()(z>lLhbBh@?JyowK) zNWE@x6~rg2KCZ5=eIS9k+0^R4LUMR`f4aft({kqPxlq!%uwA7Ra$rsuCtm1lG6VT? z3D>NyqxEmV^~3ji2*+ZnQ|ct^YBtrYxLV>m@)$wR09g|6z5Z{))D;h;r=qos*yPmvrAC zv7`a;C6-w?t5||Cob3q792O+xT9kylSkVLPb1x}@+yWMTnWiZ0v^XLA9Qc@0dlwd- zV?_OEX=x>7WpC1bJ35kml9ffn-zWu%eaIkA6G2W!MpY}Ej5B}y$@u6fe$lv2 z6G%*ICrJSjtB>v2b_7d`*mupEFterWd{f#I!mhRNW<&bSE2E(jC=?3!@bD1$985*Q zb=R@WS%9xyfGDVMu`dzcI3p@5x>w46mh^4&`?w0forT#Ir1w`6W*ILILI@`>FFw7v zok0_@u4O;%t*owYpc`86M@a``kcFcG>DI4EN}{N&{1xKj!+ByDYNNrE{5Qo?vgK}GWOSvb3b7ZH+m zUZm?CkM{#@Uv_yPFyS_;R?)pD1>S1(>)6N$U8pJC%VAtLYAuCZKjBHmRl|(yl})=! z?2W&?3I7o%ZsB;L%U9*mNXRJf+J2k6RaV`kISX2zFzmx+Xs{tECepi3+#r)22^xB#{H3!(JNXFqO>tr_jld>F^oGI3a+c%lB~6*do@L^^_41TR+YsE_>| ztIDFb(9fPyaSyBG^kBGudLHPzidV0A=gLGJpPOyhiI9Rs3Ag)f+ouvH$IF&}d-zwK z@6Ro(sji52%wu`Q4^reoyL04uGB6s9Q4&KM896y|2+n**$nB|6w>x*3W<%BrG?_tT z6h-{Zak6icH^X}UC0gr;q&Ubbv*(mGdoV`uE9>vxl%!4D)Hy^~8R|wExHG&W`tnzp0;} zq=+?AWIfQ#3_ckWi&N;zq7+Iu7yf;;Y*HE$Yug^w13375nG6Pl*+Uhb(_MNsT-=2}KsH)QOQqhC?Mzi`{QHEthJBF?ssX}7A{=s z-_z66%RmnpR#i~&kLBR>L0&>mI zRg-G(&xH`$h3{*Xj6UYo2Z5bg?FXWmSvG+Mxj3&Jqieml_-;CDGyLlT6*Zqj7KU|= zYtc8mEu1=i02&^i@7CvE{UT3>vd;8{a}P*S-s;-bnI4u+XO{~Gj9N{(p(V&9$eiZj zQ)}N%8k<2_3sPN1W@dd4jbSOAmcVNr*2w<)Pw{szX%r|=5SLMyWI!vcK*qqxgP8M(lc Yp&h1pufC894lJ>BwG1_D)E#2}1BKSBy#N3J literal 0 HcmV?d00001 diff --git a/docs/seed_qr/img/vector9_compact_12word.png b/docs/seed_qr/img/vector9_compact_12word.png new file mode 100644 index 0000000000000000000000000000000000000000..213453f1194d8c693d8e50c9316aa73f8e0c057d GIT binary patch literal 7142 zcmch6XFyZS+HMf(Rl0znfS`shDpECo^rjLbp$kHgs&qmJ0YOkvK%}bl0MbIQK_XoV z(n2pHB~(E=ci8(o`|R)jzxPLySy{|<3v()WT4Sj;8kr;XN8ByN-V|BGFSOl{JiAljSm$&?sD_2cT&E(JS_h((Sg`R)7rK`*E=IvWIR2(wsFhJRHtcKm)Z2re5 zWZfbVWxXw3T{><1We@R;;$&&b$suF4Ubwt_Inv_^8Yy}rKSt*x0E0jVF0NMX4LIO&7=Rb}YDuWTQq$aGIiFLeI$V zXjpSuo(#+_c^UDhUSv{XC-1>@=_Ue?4-JfsZw!uoc64;4my?sTM5EC~wWlBhZ4xX| zO+{w4jukVWwN`{|-OrB0(#Wk*H~hJ8-@ZY-#(i=MeZ4{LLekRGs#n^M&s=G;*dH0R z#K)d{I>yjRNlBSeT&$l2L7r`NB4V4N#dX#N=ZXjEyv95dNf1tU_S@RpbZ-(9iTM#Z ziRQkVxe&T7Ruk-gt8*nX_pugq25()WA<7YY|B7ubUj(k1)F1=>P_G_ND;ZbOB&sHG zCUd|Oc~+T&U-stBn>yoPpIO}!Vkt3W(*OHIuwUDjL1$ibQF2{~vI?3%1C9RWqp%*f z(+ueqg!7HDq6T<}MFvu;C{j~XT@QBFV=Cj*)0tkpc;WhI%*(D$46d~IOK=G5#8VQ3 zp9xNt_saGklcbkL?@0dM-Y#7k=X^pMxn}R;GG98}{EUGoqoF}*hV)s;EJ*oaO=V}R zI52hHla`h?1B->{L;n2!ZNPbUd8C5Q#Ka`h_Gq^^kd}4w)_I8E_HuAkR8&mmTOHvn zI?1CjFfV-+Lvv5uP$Kg3?`z_p#n{IqYKrJ87-BzMdYPKqoh4?zDwgnbLY^&?;xu{8 z%T~!IYE63bx+WW2+cOsP^#uZ@>NP}-uW1@Wu#`{J^~F-9RNySH5}J#Wii*(S%tg6# z7!a!n^Rx`&Od20Ix8gvZ-(TbYt4#mY>z@I|OC8~Ah1HIZt}c3^`1a}*%2RbOgigod z$uC~K$V^X3NYE5w8D*UB>FE(JYU}9iB#*=6vLqtu$wh;%JsxNpulI|Za0onHvY0BY z9Jembl#9yGUz?5BZ&6`Ve1nbYoC^UTvnl8Q%1!?nk|6p3Hbx`B{Q`zWBHQ+-U1c+} zvnd<43SDgL#BBJ@$+ZRe;(9x=FBQ2gHEs5CHcczSmz)0=ek`2oT9WNpSU_cZ+PTZ6 zn(lpEsxh#eT&!Uv5D2CtuSvQ0AT%z5?4bYL+@umc>&#u+h-5nl9N%YWh1@y^U1jM( zhjO}wTxO#+Gh~H%x;26ZKbx#PSC*>x2as4)TS5Hs2*wYFBKh449RJV+N zl-rIFiFtpX^YHLwmXt`5mh$e?#`4}gg~U2)B85dnsIV>*j1?6Xtyl!2#G0aR_vd?4 z#(|&fUz(EL$r|=oYO~~4TAzRaZn)EFaRd|H%#!e@x$Zc0OZ4f==uHPC_?!KcBw{6# zUYdfYC}DI|$0<6zu1=xq_-Mbn{G#AOQSiKAVyD`{1G=?cedI_UEqp+W(2418wN}I5zA=a4 zrm9z-mA6bu{@&VhL!!R4tgWq?dQCM_vrm3hkAvy!_nLa)N)e)WOiRMP-nnxpBP%Q1 zcQRSSd9+Gu&}>HnM&XS{^S0sf^EEt?@d!~$6%`c#LwPhF3^B|#pk4k2gl%F?*(mX^ z-F@`9j07p&c#|FnMbQq#0$sH4&yN6ZP>zTxj!9L4<}D`HFU!lKTQ5>{gfFnsp6NvR z^j+eJmb$F+7z(;04lYF>x`W?`$1mmQ-5xMAWsaf^nOJyynF`S}JWCLM)}5$y|)rFa=}{rzll*ElweEABy7yv^;)+X$`nPvgc`XRsev9S|I98t zSB?k{4lcLF#7qpA*-ho;qzMEtueCfqfXGsMdwOyR3ky3AsvuD|;Z|I0#es*>nr1Q| zKYoOzK9Rk4P3^GOr_f4Ih-GcqF8$2@L)!y^SCIyOM(d{JJtS@fK}Hx4FC9{DpK`sW zrx#1|#efBnl~&WlN=ghOES%OQRQ*;nGFmi2L1*TlREG_Zy`JA8n-t=J-Tgb5;?( zp|snvcRspqEgD&$1tjU=;bDM4*cTMebtc~9�XKTeL*cS;31;X@30pfhB$b!24}% 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 Btup`s literal 0 HcmV?d00001