From 317b216fa096abac1e9206e19f76997d4fbe0eb5 Mon Sep 17 00:00:00 2001 From: jude Date: Sat, 3 Jun 2023 17:28:17 +0100 Subject: [PATCH] Added some writing --- .idea/other.xml | 6 ++++ README.md | 4 +++ __pycache__/components.cpython-310.pyc | Bin 0 -> 658 bytes __pycache__/consts.cpython-310.pyc | Bin 0 -> 216 bytes __pycache__/main.cpython-310.pyc | Bin 0 -> 5906 bytes main.py | 40 +++++++++++++++++++++++-- 6 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 .idea/other.xml create mode 100644 __pycache__/components.cpython-310.pyc create mode 100644 __pycache__/consts.cpython-310.pyc create mode 100644 __pycache__/main.cpython-310.pyc diff --git a/.idea/other.xml b/.idea/other.xml new file mode 100644 index 0000000..a708ec7 --- /dev/null +++ b/.idea/other.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 281d303..a2c24c6 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,7 @@ Goldreich-Goldwasser-Halevi (GGH) is an early example of a lattice-based cryptosystem, devised in 1997. In 1999, GGH was broken by Phong Nguyen. + +## Build + +`manim -qm main.py SCENE && mpv ./media/videos/main/720p30/SCENE.mp4` diff --git a/__pycache__/components.cpython-310.pyc b/__pycache__/components.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6fe88c272cd54db78409398b8e7d08efac16b8be GIT binary patch literal 658 zcmYjP&2G~`5T4z&Q^!qvfFfRiOORT>0IGtZO%GK-)Ceh;mF1aIBmV^N2HGf`+H2n- z9C-ttWv`qn@dTWhwFSyZGoIgXW_H}{?Zv?K`=`Z30Q~aCHU(@#l0 z3Mf(C0V7ci>+TqTe`L`?DQYdKH@fij+3jVqU6&ODS6%G%Zh4i zl4(<7OGSQl=(VqzG1MNOWhH$nlDw%FP3_Z;7B_ClJ#~jTU^p{kF%q%Z7qQ$Ifm}V= zdd8#wxify?Nb5SQNNX2sT{XDm0ks=x{dt*{eWdmG>E_%LkG;izk2I|T=b%EeawFy7{5aVkvLF)0XFBLQ~&?~ literal 0 HcmV?d00001 diff --git a/__pycache__/consts.cpython-310.pyc b/__pycache__/consts.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a763c302c67020e967e2344726c72d2fc21f3d77 GIT binary patch literal 216 zcmd1j<>g`kf=4?_QVfCgV-N=!FakLaKwK;UBvKfn7*ZIc7*m*{m{OR788lg58UTe~ zYJdm@AmOLUe2dG+G05FD-p$`H`17@#eC}IaH2NS=n^fU5v zQ}we-Q&RO^@{>z*Q}arS_1*JxQi@VDlQVQdtn$R-;?yEtkHnnRvP}Kt{Ji3lV!eXO aTO2mI`6;D2sdgZD7PA2f76ukZ4n_cDvo!$# literal 0 HcmV?d00001 diff --git a/__pycache__/main.cpython-310.pyc b/__pycache__/main.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f50cb3288e61ea9857d4cd5fd5ab54abb82f4ac6 GIT binary patch literal 5906 zcmdT|&2tpT6`!83o&C^Ch(!ih?2M~y<8?q-iesAu1GXgti4a5xNQkKQXnV98yt}jX zv@Eo&auHWjmE4k(@J)Y3{(z)Xsmg5*sZ^yBhij-xNUDPJdp)yXG6Je{%53%9ey?A@ ze%q2ft*E)Bmmbqt80tNKU4pDUB6){y1A&G)40LS zdm1-=Ys2A?d!p$v`tZ-BC;09mY*=-PZ^CxrR0E`SvU4!a5gzP+dKK zoVx2?6#3%#@$+8Y{~~DrJ?9QQOUr&OXxRsZ<17x~<+ zij9^Gqm2kdll#n=!CJ%{G~KC_C*OCMH{70H$5c1b>zL~`xtr*=pRA8X__^OqMV%y3 z^R=}Nzd6jm4XC>jUIF^B28 z&h(7^IF}n|1=gMzw5!S9l=&Sqb}E&o*YGQqI9I7OV0(4y7b=z8YhFDW5eFevDLMdX zB|$Fdpgl@D1*Rzbn!Yf=3p3AL7BHX4AF^;qr>ub8?B4U3W{bF+Ro*+|xS7jJCzTWDDBQ;NzIBR^Bsjd}!Xm7oJz@ z&x00Ly8AkuGb1L$g}bSD*etT?+Uyk@i#ibibAgfh<6d|9a?5cne2o2}Sxcv1v+cJx@E zd?z+|DED|{oI6zyB3TU^t<$FNx84k@cil5>X7z7pKD-J=X3PM&nG=Q<2h$%mW|p~_55YvRjIQSZ(v#R z4uLlb93wzcH32G4odEg+v_~%k;7GFi5caXF_L>sZDLi}gkN)S) zoBJA$RUUp1=?Rb_C7b^?^}a*knJ2JB9OMCT9Wv|}uzB$w_{yZf`!qoTGFlL(h6srw z9}w;NiqwgX6e$-4h5a}`zt&jx#pSx!^y7R4!*5rDCZ~K#NZ9hKf!q*p5wCq|;ljBK z^Mc$`j3~+{!uQ}Nls#hm+Bp%fwPNcdA;R_8f>YIeaTG&kM~o7Og@oMn#U%B!^`ua# zOvM?GCiFYgF$-dLYp*F$E_?+oS^>zhqLpKma0{#iXdB~foRxHk74;&UfWH+D)1ZG_ z*B$e*^TZi3^%T#V{{&tn9F!-vp%djl&gd{lq1Zm~HE*34R7DQxrVL)$It4bA$C@}y zfUxK0%S zb!l}Na&Wiu?9)+`-pX)OItY?OqmW6t+&~7+$gIlqBnNnsMZ40|`c;rmw||@#rprl` z+?;aXbf=b3vgrAoc-kh>HG4fiSh(<%QuL+ouaw^a96X-_|$+q>oxcDK5`a(B5hwTX@O(do@0ooVT%yYAsUo?tDH@ohGxpsluyO^k6Nwz#zkMQhCH^S)nG-& z`qj&^IdkdyeA!GqE}y&98?4*aR9?x#n)pEb6Fn4?<1kM;LKGsXfC@&O`EDw8Tvad#;;|rsc|I5iZyLMl|Fs z6nrR_DQD3TUL{Zi=VZ2|sUUzmuso=C zXm-r)Qb(7Es63XWnbom|G$Sn0tk7LetbJ zF#&anO2xhER!~Y3?*cqDNZ`aL^)T`y>0a}zG8ArVvMM(tcN1ej`>QglJ#l3<6q4qA z>_t#Eol<^D&}Wx8H}}!Pxmk6ueOe$8-zTQ54B_Mg*;ULDZqChqx+u=jYARh*0v8_= zI13PGDY;j}dMIM^JNUmi;>L-q5s|A&Ij}Vlq1Yw1D#~FhsPC0fj&(PN^4gC%eYaUA1 zG_mGHx@I9=lS0}-+||{ZL!kj*2L|0g9Yei>s%1~uP@!RDzWsI*8r*f?<$g8bzPrAP zPjD`MF++q9zWdo{wJ_vIkESu=fO^HXu<6w?gI;vv^y&^tK_R&fsmj4gEWw=;3p7Bt z*LEqTy}snN5N7VY?!G(uUh3WADzQ;9y(hmbw-$7_Q4TGxQ*S?iPCWNVV2Q1B3$wHH z%8SJfnnNBeenLaW!t6}hR!%IIh2I`s*onET!?M;@hpmSRK0{v`c4;H&9z2rL%a=+*lKvqpb_U6 z>BAtug8RF#zKN+qTu_-2TM3o?T9DL%&GvR2JExLwai{6^s?U0k<}e3wWy}~Wja9~8 HElvLy;YKv? literal 0 HcmV?d00001 diff --git a/main.py b/main.py index c29b870..cf1d787 100644 --- a/main.py +++ b/main.py @@ -163,6 +163,42 @@ class LatticeProblems(Scene): self.play(ApplyMethod(text.to_corner, UP + LEFT)) self.wait() + diagram_1 = VGroup() + diagram_1.add(Dot(ORIGIN)) + diagram_1.add(Arrow(ORIGIN, [0.25, 1, 0], buff=0)) + diagram_1.add(Arrow(ORIGIN, [0.5, 1, 0], buff=0)) + arrow = Arrow(ORIGIN, [1, 0, 0], buff=0) + arrow.set_color(BLUE) + arrow.set_z_index(-1) + diagram_1.add(arrow) + + diagram_1.shift(3 * LEFT) + label_1 = Tex("Closest Vector Problem", font_size=MEDIUM_FONT) + label_1.next_to(diagram_1, DOWN) + + diagram_2 = VGroup() + diagram_2.add(Dot(ORIGIN)) + diagram_2.add(Arrow(ORIGIN, [1, 1, 0], buff=0)) + diagram_2.add(Arrow(ORIGIN, [-1, 0, 0], buff=0)) + arrow_1 = Arrow(ORIGIN, [1, 0, 0], buff=0) + arrow_1.set_color(BLUE) + arrow_1.set_z_index(-1) + diagram_2.add(arrow_1) + arrow_2 = Arrow(ORIGIN, [0, 1, 0], buff=0) + arrow_2.set_color(BLUE) + arrow_2.set_z_index(-1) + diagram_2.add(arrow_2) + + diagram_2.shift(3 * RIGHT) + label_2 = Tex("Shortest Basis Problem", font_size=MEDIUM_FONT) + label_2.next_to(diagram_2, DOWN) + + self.play(Create(diagram_1), Create(diagram_2)) + self.wait() + + self.play(Create(label_1), Create(label_2)) + self.wait() + class OrthoDefect(Scene): def construct(self): @@ -182,7 +218,7 @@ class OrthoDefect(Scene): diagram_1.add(Arrow(ORIGIN, [1, 0, 0], buff=0)) diagram_1.add(Arrow(ORIGIN, [0, 1, 0], buff=0)) - diagram_1.shift(2 * LEFT) + diagram_1.shift(3 * LEFT) diagram_1.set_color(GREEN) label_1 = Tex("Defect 1", font_size=MEDIUM_FONT) label_1.next_to(diagram_1, DOWN) @@ -192,7 +228,7 @@ class OrthoDefect(Scene): diagram_2.add(Arrow(ORIGIN, [0.25, 1, 0], buff=0)) diagram_2.add(Arrow(ORIGIN, [0.5, 1, 0], buff=0)) - diagram_2.shift(2 * RIGHT) + diagram_2.shift(3 * RIGHT) diagram_2.set_color(RED) label_2 = Tex(r"Defect $\approx$ 4.6", font_size=MEDIUM_FONT) label_2.next_to(diagram_2, DOWN)