From 0157e48d62de9693cf92cd5d22980e48b7305dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Wo=C5=BAniak?= Date: Mon, 23 Nov 2020 20:06:53 +0100 Subject: [PATCH] Added MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcin Woźniak --- 4-lab/lab2_kryptoalgo.pdf | Bin 0 -> 91388 bytes 4-lab/modul1.rb | 229 ++++++++++++++++++++++++++++++++++++++ 4-lab/xclip | 12 ++ 3 files changed, 241 insertions(+) create mode 100644 4-lab/lab2_kryptoalgo.pdf create mode 100755 4-lab/modul1.rb create mode 100644 4-lab/xclip diff --git a/4-lab/lab2_kryptoalgo.pdf b/4-lab/lab2_kryptoalgo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a96d73a8fda683efe38a0462e80c1e303d645905 GIT binary patch literal 91388 zcma&MQ>-vd(5<=cciXmY+qP}nwr$(CZQHhO@A=MT{>dbBE>2%{r7pXAWo6YvA}=gT z!$8XdMKZrUvJS*mZ#kavX zPB|l87>qGOKVEVU#9L3?*`j*WkL}sln8aiYWs-&Qa1-yU`R4F^-$hIl;JMjEMW4#V zk3+38#4;rLQ$?R#o-=+{b6kD8E+Rz=oe}1gP1DOpRBByiszI)zI)yV#^9j^jB0!y_ zwq48K_de?OCv?3sO#-zN#Fz>?R)fm+jFRdNBl>L6UVXMw!Z2Zm1bPcv%2{pPF0YVq z_~#n)ELpTPeV* zN~%oL`9XLFZsk0iXw=@(qf*bRDb;*6;z0yu2ln;Saq|B4{&L6&p^NA>-I`>?_cIg}Qr*zy#N`lG-2VRDyqeY0LMo5UO zL_jX1$R%1YZ|^jjw$DtDq#^_@f#|Sefn)5-3WU<#`NNF(-Urgc8@LA2FZWl1 zB>C6-6G5|k!kR0Y_sBHgBieE-jK^=XEwXxDI1$!;l2+K$8S* zx#>;v<8Jwz*we?=^jCMaxc!6Zo7j+th4+`G`8t2?r3?K8f$SexvfYHufxY4PwK8ZX z(-HVNz)0L*Pro=Xg0z;V=Vc|u!pZB>AM)Q~E&#Oa3XxPPS8$re!K?Oefcqd>a@8fx zw&$gI^r$}wbk|1A-M@}{IZ<3xksy1))IRTOe{XU|``&R3Y~^M$#6G>rCoGCS(;$>5 zI*9;XMB|=9vEbP?f+gr+^l&bDB~q1WG}|CQI~-)0(K5G+BP=}8<{ z9C$T_k42_~<^tp|uk&cPtE<9npWKJRDIGl{Pm8k?oeAzY&KkK0Xq@Yg8%0oks-@$D@vc_G@+N^<4fb!fby#HmjHsR%{%eNJOM7n)?-!U2 z`ZNp5#Mb!#(VYKo|4XkJ8UKI6#emPi%)<6RGRBC{#=-pmR!sQx|I@%{=U`(0Kh?Jw zH&Er|oi|$XAm&AeVrMtDMVf!G^e{p6z|-^iI)nr<&XK{)ixdRnZbUkZ;fa3FU%h{H zw>nq5ELJn!UUz19O>Z1?PODtg&zzsyj;-`o@r*E$`-exTDB$GgmX(hW!0sNP?H(Q< z4H+5#@FB$J`FyQU&+ygQLBLS{*n$J8Ai~}6DS!~*_+`+M^G{D9_K^VYA)}rm!k-?2 z-aR}(-G9U&RVBPY1~sz7#)gK1u+BlwLOTLWHrN4i z;e&bj;XuGUI)khM`^3P^0dx5M;zna;VCd_^`v0KLhpypq`PJa}2M!<_00j=N`0!T7f@Kz^XBAJF`f?%z%U-rGNZ+qU;M`k)2!{SpIMS?S5l@Ry;1K!LCE zWAXi48^PEHkp>_E1a16)17hvhg?Q(2ARIt6`2c>KVL`~JE`a>ukbZgawntG8qy3$R z2x9xpjz4rx4YE@5TcPO5$l#Fy$9{M62!~OOpX%>)x&82NrO2m&FQ4K}zymfne{hFZ zXEMg%p&T55D=2?sJnRkrroh1n00g@W34sa+0pg(njxCJlp1c5o>CEQy@b~QAhG2Yo zXX(xScZSgM`NDC|55Tv;VV%JN;cIR2`SSeWzRN;p#=z@C*6{&W@##S#f9fvbY~y$I zUWY!q1i1lCyWyUXfbV~QzweSpfQPINF#KM=>J|Q;uYcJf)&Eo>u=e?) zECz7Pp@Hguqb^Rn1-n_{^t}J}y#JCO{fa*BDF5V2|J=kTZDV8o4y*kDf8*HaArH@A z*bW0aZNtGa%m;CY0e;^al^YL-eu^+!8J;o1De(KhPCaraOwTbS*ZGTaK2Jwi)-ksw6 zZ03W?f1BV)%KuHjwtc>b1OxJ`spX@+4ju5R3j*Nvf@f?7a{tw1^$-0EA;47xfMfas zyw?}O76hv|R9Hz3=$d&8T%t97^jn?VM=@BU8v=tsmo@5}fGz&+zT^=mdcI=%dy zf5YSDdH#<3IST~{;1*zAcUq#yihvKhj8Dx=aa6|D&KgQI7pvfl`RE9Rre;9kkvvk} zJA7ecI$e=UKI46&(Bf>in&|qT*39L2+9)rmdO`di5Gm^hE^Ug<>irAg&e(U7n4yo^ z^G~))rk11n-E9Gv2qTTm2bLN|-7cDozWZwK^kN+d3Mp3C5TB}8b_{igSkw!>8n5Dp@dNV0{cXRcDOYobcMsx&7KlP=|z^9tIiEvT5gqh5E_5i z4g^seE1R^f%=venx|&I}qp@G`R_q}YgNqLD{hej6s_ko{*j_ z-s*~eHD#nhmjrJWmy!|?!~s?o{@&5zMtOJ`i|tkj;5m@2A-Ftz)F z%x+`JL>w$4{0|Mr zj#TPYYg^|X%5Piwb7YMxt&XxPM)9A45{+dFl5V&+Nz(|Yloh;_XwCIWhLARd(nJajYb#xrw{i=jkp3b#641AD#0BKiXj~#J z+L?&oeuBcI@{9Y{NK@SXlLox?;@eJL=Xoq*gK$D|ppVCu3kzthM&7aXMX4Mg)>*&K zv^sGm2fn-bIn)qN5yzdsg@W)TMk;w{qb94iH_Y@o%BwWJo8(9!cRua~QubD*U=Pmd zXY#xP!}PxQve9><2f=7w5=|}(Sf|2pQ+hS~F!z!K5bC%I zWly<|R|!n2;X4|zJfL!yBxvoH=uKt+39EKwtxB$Q=_1f-1sxxl3#`pkwYCGZmuES zNB3h+J0UVf#e=T`N*4fU@wbvR2$_0mgCNYysu}o*Bj!hMGyERShllR%8llydep*tR zTZvy0&xJzuDQmBN?}Mo%(fh{{5# z;n56#69g$E(%As9@c}vyT|>(jNS-Bzt$iFuM_Cd1Gy@Rp%NUPsCkQPzY!`($<=l5T zp9xGxs-w?AZ94)JzRzA4;hf&a@|{-pN-7n<5%c!b(Gy+TYEN~1?tpaZ2d-26ZeTDVSbDE&}s*n=n+K*Rs)CpiT$O#mBdi>BqIm!To8GqqLbj z*Bj`KEExPv1lT5}C_5)!Gs^(t$~DRGamAm6>d>koNyOBR!$mlWR$4s`_?G2A&s4O= zBA;%CD(ZH%$!&Md;9nA;&>QFYw9IOIR6`mZe5;go z<{mo+852&@N~xfgpCROeRu})N>h$&0Ga$4idRBcV`&eLL``sH+j5IHFGZddt8NNZc zIMVsd^?NdMQeun@X4hw$H~gv3aDcHs)|t-=3oOpiR`2T)4HPYSIE2A*KIE2WG;A*uJ@g%~ z@v6A8w-{0Mzj(&~s7kvH(b zHr3{Ic(s!sL>zxy_6A8l_JnqdzRWa9jzsk4__3hb?-y5%QEhdRTG`~ws$8V6 zHluK|{}5b+PF?}20*j*Z(W-Gap5@ePs{|hO{mypKJ%;e^RYu$p-DMwja|IFj!OZ54 zU*@>b1HOg4S23~D%52fDRo$>(%ie!IEQu|pQhUE-fkqDN8e^^@VHejGl!aWE3vQfJ zsfTY1dAy-vnCEwoTiRjKyo-Fj%&(Z*k3PYjDU{RTuVViT7QIPh>Udev+Yv zi*FW{-dgBvRHj1IQa+)@j(;3#62K*lAwawchd087#tM z3SA?EHz&95I!0g}YSH)Tjqp;@B{!VPhJd~N zNL){~RxFz#iuKoyolr|`L)F{aj{Vn~hBG8fM<$^dBbhGWactzWGqJJ)Gmu3vIVOGE z7AW|Qe(5_ChK&|Mkd-^a;erkPJT**5DgFd6N+6Qj4{0Z#5} z9XWpjJI9ur0Cd(v5MG3ggGHp0IGT}q0AlR*aUk&3TbmyzTs-Id`7Ff@lXyaD)e8&Y z;HizLk~!(F%R`8|h0*ylQOTen5+5uHvFsD+V>vyE)06fNvdIlgr+M>52v`!T;=^65 zI{yzg=2e`+ds|^c_@wW7=18i*lDO;w%tP&q6bSGjg)k@*EABR#QC+Ltj6($`wr*Ao zH-|;W`WQgY492Z-JZa zoe_1W>%RL9`aIcpKjPy78%HE~|5dC5>{37wiArII_s%C(Z2>Ev$ObQqg1C-^iJjc( zU%L}JSLZnfL&gIKeNLRf=7VTl0W`8-XLzozvj(r)<-YVu)Eg6LoMh@|d;T#!UqgqhK1T{C%#)&v#7V?&OWO1O_&eZNX$B zYyPN%y&b}Pb;1{Ik=-G17r(qr)z1AObmdR1iAUvjIQz-n^zYNK(t0HmTHAka+}oOQ zeMFKMtE*}1+|{f)wpmx<`^++uqD*$?=&3vG=}>>yS8N~$Rz^*Rqg`todSWaUPs;q7 zR~4?CBvyCcOSFd^%K%m0&OqVnBb$f4`kl%a?b0o@eyx2#>hM1oH_+TERON!Bcojfz8fDe3>U2zLaUraIA4^gJW4OrV0j$$FvfnEmsu#j-0{V{j8)nOjFb zKCLP~P>^?r$dK}+OQXj*-MiDwO*&7=wF8p8xT)h&y(LHXXjaGodAW|Qs$1n*Ym%R| zxhGuJAk?t%di+e2crBzkmIhi)DW%4=`*uw-4B_!jD5-e=%cyhOM!Pw+y`e|T#8pMb)YZ44q^Y?hW62p66)qcZ0sSf z7v5d0&%PV3Vj8kK0x!oBWq(BQd=4>D94F%#f9A!!pk%Rd`UfN>qaZi~my0RGFJr&!PHd5{4PgBEi5frN`p8v+%T z%n1hO7tJ@y|2HxTdhlT?Vty4#)4I6UH`_wty+2%I+D18P#7hG^c$Gra9tGY0-~7qwP1FA}`BpPx4n$(jj|PZ=h>3q;Cn|Vhh^UCBc{@x8-T3a&4LJ z4H~7pn0iESD~W@A2Wr(G@7hAeUH)`KrrzPlC{!OpM|w!4f^-@eIy!LgW@{z$G8LTKHw zmySO4lz;&s$3XPRk8LpOL9x=imS@k2y7;$pCZ z_-tAwd3G-t>kjiZotx9%WxYXG9qiu;-GiEQ(le474;nwg4m$-V0)R| ziIF`7QIF0Q2B*L?DHw#POXK$~cUBFVitkaQ$hY^+zfXPTY9# zQl2THL=OkiltE>T>a+8_)AAD`oTf3~qJ~g^R;{OeXS`zLjqnMLPm#L(RX9S(^;G>a z%Ssl=B0DF$*Y;**H~#ndO^M8 z&)f9C_49XDPSR7XANLGH$d5AMgJJNRunp|W^$YC*R zH4tBV&R)d}+jF&KA0Y$hxHLMAfY}c7Vc8C-t;_gyh016g)WISS#~MN3ly8;Y+Vh-= z5b^6H2_Z1_YkV|(TlC^3E>X|HC&f`&K$Ud{{O;oCD36W^&tWB4~t zKX1&$XzTO>wzid~Hj znOz6>o5f|+_66~kv+Wydp3ZnnrdO(-o9?qMj%cTRtoh|l4txlHFacczg*0~E~ z*u6c<*`miyFAj7cnzATGiKGv*$TFG+>*niz{Ga zYfvZWs8g8?U@%@{$(>DhL}WUeaB~xuXS$suBGn%*3OnMOggos&6JVU;w7*aOxU?Y5 zRBA0ag>|owNoxqp^w6(jwls>Ec0e$)ml_@lE2e`BG2s@R`)pQqjT5N^p0}7OBg@KF z#60{>zTaXTjRqg2*t6ZwtF4^he#Q{Emkl5^=TMr?8U{KGqK>sT9*^H=5$X6Dtp9X7=$JFo8it(~E;4HJf&f{>f zh_vhh(GRPC&m&49EY@l%M|XyLtTEJQl?;h^xLJK0{I5E{EYrA(ZzbGnmptYdrQ@ws z+#X^QOi@fmo&M3O*);cE={0R*ol*PTP^9c`E~xw?G^S&_e6Cp5ceiArqml)P{FOSB z^PH$8o*}xVhu>6n@01&mC#LM()@sUywk7i;&M|whyvg;i2oOtcx5w9#g>;#Z_H0Tb zNEKG^T&bsHXNCy14IGuOZ>hHr_(2FvG5is|0RmtPZD6i<`|(aY|Cq5{^q1W*Jv&Y% zjWgG~VBY6Sf&rm_ZTNg5JIdp#L7pdvzL(LjVfsvweL;|M{K|S~Vq)GYV~L^5`V?mG zz{V_F+kQ18cr^G3{Y13{zAjPTRu5OfF_0a>TX*Au+9>ML6pXd4p-$I*4meaP6{Kh_ z8B6rIOmO58RpQ`XQiA($k|s;6KrbtrOo7r9A}?dMi^BT0T!rI8RkFw^bp>wrx>S-d zVm?+$`cPLm9rU_Nk}b~r3e8*D-l&+{h9^c9Qd5-iH;twjTn$T85qUd4^6SV-6{DPV zb#YydUD1tcks^V2_^na^fHX5oT8uIcqX^yG{&T#xE?*(jW&X3Z4_Q1SUgd1yGkd{$ z(vU<^IA7m^jXhSrSYJb(_wj{F=wr_G@}_%PdtzHauQ==SagJ2HYC#1dpCUy5ZCi4(o9hr#<-Y34EWep1oZ!os8}hdK-8f$c%ALyZhix^fHFjI3rvG*F z38@a;H6}+OgdBc#3p4Kg<=U$qvzQ*4gUZg`tFSrK8tHY^bCKRxmk}Fi$CS;ldrst` zoo8XON^m>%T+2MoBus~q6B;;YctB%fVW=MjIIPdOAmL-(ga&qc5j`3e$hTDINJ7Q) z;HXA38%vbcV+rRtr2Pmd*k9)Z%#DG&*L-cSnw4NV>$tgC21^F(Mk z`!rL7UTR$Q_|LlpsC`fE%`{mtX@D?2$3P4^#t}j^q#pt0=`fm|uEzNdyWXjoSb;;8ilCT(@q)tc;Wc2C^V zzzxP`NJj)f?W1bm_YpYcekLQGv5y&gyO~AygjZ zP^6RMh14yGl?Ij|R4aD(pwlUMAEzVYNe1ubzpaF|7kb2fMfgxT2~1du7YlhQXPGn^Ux6}p6Kp++B+!pR_VQSLOEvF zgh4A&6G1J`;@%|{cv$5=NaUO*>C?&r=A~?aK)0R*tmSabYOJ4G{E0ba#z9}^UFC1t z^*+V$(ukRE6Xj8kz-K;&UYugV4l<)AwZmbCLBo7UW5QWUifvDt4rNB@yV0!;Ltw+G zUk`pD6&#i&B%m;IP)4FTB&-yZEIJ2UO$^#jWV#5n(Y0heJ4Y_BDqo#rz6%NNj2jL; zZiC>?1h<_|ZHpEARFdooD2vBe!^@9|ci;QClMxB$sc+M1XdUB?iE(8wL)2JlHYrOD z4C|h~D^lJiCST!NB;V`WlofLWc<-~DE;SfNEQKB}C_I|TCOr(xe6wso;K3OV%S~n{kB5*r&d;Z=91XL_Ydu#uOs_?vt}6t;vPQSlc6k9xxI|$ zf?m}fQ^KJ(V$S^4gXR|$?H)(cD7UK#!_q==&B#^F4Lgdp3ERamvl3|>nz&1h*Ap-w z1oq;js^jyfvVi&xi(LfzQXCpH6s4QV>awj+bDb0-L5=BFjXJfhjI#alF*czJ&2$fb zB7q4?=SALgLtEQ3JrbqJr%Zd)FH8sVZg}cX#r-=HR}pZntV1PiilBoyRK1@&;8;H! zNs(+a8KnvE&0m{zeWr(zwxen-^s_-&G) z&2mV{maHQgqd}$=LDV|j4M0Gvh_r)vHwDRzF#MJdfH9`fM03-R2luE~Ae5zdh?3Op)i zti0i7)^wDp+t^hQ#AFV?U?D!r=iaxEd&;px6b_;2@M_0^0; z)_*^%dVV{AKgP4@E1?E z_k3{z`fs&urMZvflBI}*p!X7h9{Oz z&-2qO7XE6!9&12s-6!u_6RHPv8DkCvrCa1jqgIqGNt8OL?(x*-+Nnh`q)q!&(e#Og z#3ot$FsY1zAr;HNryVedMb$urA6gVCIlb4%2dDItqo!HjL~-7T=@+OPObU;$+37p+ zT+$=`o~BY(4`#{&pBrwGrf#Y{qwU<=GL^R?=F3wjwqGX^g#_Lmr=dqYQ$k{}>?#x9 zYh*3La$$O*-cE(i|56E^Yw43nC=D1h2TwKT*pXXf~y>i-Mau+h^q{~rT3&fv`2cdxDR3yJ0th$LYQo*4^T&%0jm zBt|fz83WO{J))3^G~v5~$@t>os6E1U0`MRa5QRv85*=^9es5o^pS>(rIUN5BwQ;+1 z&gN*ebMvr!+@Sg`0#+06}hPSs4L@5Dv!!LLdeWiiuY@8`fi^SO+929m6wE3U<#g*VS% z1dpy*Pq?`SyLx1tQ`z2PSA}fwq=D84l3|Zk-?p!M`>Vm2VYm3c6puwa=g43Cmw(7c}QHps7Ut+`r1EE~umo<&&yPr|2xel7&S)osB2+t*%z zpJuTpJ9OSzaFiwiQo3JE(b)11J9v+cWK9oMj6_t2kWRUu>n30XxZf z(Y1s1X%N(tQ1IV-0y;`D+n_33L1|-YL z6cH*F!l4?*f}=9Q6(n^e_YI4oK{kPP?|4^APA`Sp<#u?%Fe2Za zIKH{*h8Z}4XRq9s<$E~dTO=$ZP1G$>*3nW)tP~ZhFnD~`2>99}6Sq(~4#ydLZIbpr zFV}zyr{uDz!BUbHCxPdsqDbxf_A;&DO5ZX9V&xuM?Q0g*uShBNLQe^aq>?#(qQf^u z`}&L)ES8B)-YPdZ!UE6|h;5jNHaLW<1X1>RHIF*8P(^qxA1-hl+%A!3oP?8}3rwl~jl zv89zsITut@wz`;wrDNNOo{MW-hcCCh#XHRz;u=R->y9&hJ5Mpp)&jda8*Vlk)j`Uw z-So?25?8lH-&)y5qJ?{NeLPtKNc_AZ$aqvFKX2B~h)dCl!F<;s$H(PHdJN=>Ne+p5m$E%Wh$CyGxw&GFb~VF=H>Jdz~CLT^6d&h%jkwm6cBqoR1vhGlAvt z@=#;htiD;52+cjG41CE-dT(c1s>xxu#P1((qt z0!|B$Tg%Z(5S;=e&Q@KetatO$;3clrvA*Opaq<^D(lJ3=L6&MT1^A{=$LMA z(ubb)_(Pl!MZja@Cf~1jO6(+8>kGz1&5N?P$%y@8bik5fH))z>)SY&0p-coF2;=OK zGBgo+;8O8xj>saoR@92dad;ER_YKpg*Fwu|4_q#&l6T=mSGFF0+ijgB%3UR zU%ECE&dvlrdb?3Xi7y%)B;$MYxzm{JEIamV_DEO3+|wC7=)ue`6@)c%Tmz1xf3dv{ za_lD>k8Q*(SnCJF>zcg6>=8ntooU1+3|88E?=PJNe1^_kJnT1*5Y%=^##j@kfAEK%u{IjJOsBG zhmS+7{IDRA>qhf~%DrdMGxp5O#SxocV$Lf0H>@Xv_v!ma2d%B`!7a|EGVRlmt-CrP zq`GVHY)m@UtNoKrrbCK&7Zhm;_$*15CZy?@4ODE{>j~L`3dYFq8&zMJ_hhxBevyox zkyIR;;?;4{VZ5)IU5()-)kUKtyS@7+P-Nd*v~DA>|8uNJ#N)u^uX=_I8v+5xLR!Wm z3Ek(%rWmhR$Jzct8MUu#3E)7sZd>$EOV^Od zMLU5ekspYq$#uJ7Q!E4u3XH*FMRKyudY9@3(XemB;G51z%|&g0PwA8QTr13;C&x_A zsXEuZ>5&KiLL3Kfv}EA2KVPx15?|M1V66%5TsC1+fC)c?z7D!K`t!jNDCkik)W}GM z?2O+E})eptc*0tXD*Eh$$ z=e?rLQ6nZ`+F$B{`uXwdDti!|n{FB^{*LK7*Y?o6|CO(NS<_|W#k0emkKD-uLsDCGl#c0!XU@b2%zB#}SR}N`ZR!$m~1<9q_c&S;=XXX1kCvnm$ zui35;L-W_IkrH^z>^Yj|x7L(CQM(raQR!K(VQ1$6fR2x|4c=JsMe~i<0#qz=l}-lw z_i&JK(1`A!oqS$FQOO4FTj=?c62P!t+ZGjVc8y z1e*}v1qyeyz66;Tzdk5&PVI<4cGwS4LWVLa_*qvGpmGni(8X4T*VZ`i9SA5xvjsk`uih?EdVEy>PmCfj(p8B3EHvQg=C6jbS!p7I6h%r7l+rD>F!i$BAd8YtpM5l1g6%Xnw-* zfN{f?j6=~I`|`&whB%^=I(&a}1zCD#YS zConR`Z)D{2Gvceeg}#@~gYV4q2f-60%c+7+1J2)2qbuRE8u)wEZ&V`pa&Dt|c85K8 zc+B~3NKl#|WHrZ+}OQm}0sUuI}jh_Br* zOs{OEx%=J0tTaZX?gjLO?Q}){I&;@Pw5lFa1b8f6%jXqu*P?nZ`gAXL;grgXruzgQ z5%0C(?{U|QN3nMgU*6sJZOgmHmJJ1kUG{NaXQ}I*Bp_gt#bS|=-T=)M!tL(&(hQ;q z_mk*=2^xuBloX=5vAj~}-REtL6e((4%o8Lq(4=&c1)b}##wKj=At#h3 z+|-j1F)~m84Irn$o#!R{%bJFdhU|4JY$~*#k|9uv=1SIuSRP=0TgU_#P;v>AkI|_| zI;4o=R@PVk+SsnqMjL8#7#|DY0bEL@-yjnIp>xV$*`k|D+Y!&l7hEnKL0-P=*eQ}X z<2R!T1D^+D3i~4C(Go&Wm(P}NKHeIO>_3qog`_pd8^YdaQPp<|I z(O;;TUGFQ69O=_~VO@wT@HJaHXj%#r(tOCw12ZF9+P^No&n3!Yg|9<2i8AO?ax2{i4&s zFF*EKrOi-mE9oSaXYnv?h?u$)M?Mb5k-4^R9?EFp)U^%I7~eE*h$)HZ2iL>m&arnj z{fX7DN!r%VC}_hWm|H}Ujnu($Xn7)1s7B}PUUa5uYXEEg!_(aT%o{1XBXq=YAtg)lrv-}k)?77 zj-E$H1wO~u+HIYN>yk(XWVB3k zyO*X0N9DRcl6 zfC;vl;U0%7QW%rTW00Fp)xZWb6SUpiwToAgKlg`=eN(O6kk0&xOgL?}&oTxkk;+|` zxoh3W@rlHI{MAE~nI@}ZB_EZ(9(8Wb%%-zssc81TAW|_S%eZDJ_1)=<$=M-S{5eK; z)Nf`;V3kKp{#n!>cB~>5yj5@uNgKyXTWj;rbhm@=n?PB|GcIte_#4)&&wUpm{4CsT zMa)_Vm4pjMH4$zQxiXcmSOU^yNBfgPP=DlRJ*ndLWSt#TGC0ie7FoQg{Bf|Z!%jWz zVZB#57VtF?m}#>7bmLg2u=};vVl|TLBgSg{WZ}J`XZnsr+nTI`B}cj$>om8663VW* zwyHGJ3o5n6U!SnFI4`U-#B8Y1R~&oe@_7={L|uG)#B`)gO%~GvM-j{yT*|g)KH79% z<_s<_3sL-9=}}|!t3eB|PQY#>{Nt-pEIA;U=EipCyoY2^`!YpfQI*7%SL(7- zio-~e4#|aU2}am0D-Y&Jd`FpIO#FmT7FbXTH=yF(AT1aabL;)~Y{^fBZ^Y#e0P7gowiaVHm6UJ}V-0|7&9YJW;&vWl%sJ#Ll9L!fczA*P`* zU%4os66A+v^V0FoDDATV!qi#XDZ2TJRiS=Vr(+ET*nNL?`Qw9{jQjZ?Tv2#RM?*V4 z*x(QS@%9R%NkH!AdFaXyl!4f?WwI}H>(Nbf?PLawc(UT0`Y&SD#k8sDP`|};wtwJ? z0~VQpw{_#T3o;hDXL7cyR*j8;Zx24C;CDsqLaohWj+^5MYMcj!t($)Ai^+PLOtqK`%d72YJbVTSqy?!|@^cA~|40 z3%EmB8W%Fit~)Z0RJ-YAehT+O!lk=in3H;%MTtM=r&y-e^$#Pm=4QbHH`R#QNk@vl zi8S}LG8w6Ms7%ZRv68>#^vM|J)DGvrP|HswP|nlRC@Uv9>0=JZK8#zmyp9+JQazVv zZ5~VL6Hj3!A(HPJ%d^k*mxFXtPsZUONKs=m=%6PbxJmhd^cG@4=c2Ia7v~rR-n0~g z0|-1P_Q|Qg>@@00?J|Ln)B3{_yp%9wQ)36P;Bd9xnhs36tA4rT!9l_!$L8WRQW%@QXV|t@Fq%WtZrD8S2a43P3p%jUjNMV+2*Ttkh@jF#}6~W@650<&cyVZ!4f8~wUZ`6G0C!+N@b^BIiWzTGmG2ZeI_0&ks+ z-(F$Y_L~1+jJ-pXFkH|e+qP}HpSEq=wr$(CZQHhO+qOOLUCfP%m~Szw^Ak=)Wn~tX zSlkT6?e}`UdK!v5b$jHO@z<7?H(bWo?F~@rwDbi^oiuwJ1pT>Up#4g{Ymi{~eU9oO zB#4;J*Q10ipq*-F);V!731&?A)8WM&Vvn8O7IgsM=|6;g}dE&STyiRGz^h{v`a2VA*mb0)4!7R~L zuXhKsLR&$#QP8I2WHU+Jfl7&|gcM$jV3921CiV@3D;qM6^dTwD=k?SZAZ^CB1dqt0{)%$z$NtW(&3gN^s?h;gw$HKZFRo%H*2soEKO(CD6y{Zd#r=>-M6VF)khIrU7dQ3$+xFgN2Jg zNM9Wjz0Qx-%Yx_bBH(ptBf&9r!NK&JNqWX}Lxks`peWyu>xEc*DKm*?gRr*Mrd0#U z8jKh5pJcq7CuhU3`dY_JbY#+qiqdD%3`D_fLDcicig0sryWb=;k{Zx1yK-m?yjjJ} zp5ykU%rtX7XuBpVzZ*Kl_y$3l4z12RckH?4%ZDJ47Q=(ZqV==}^mV305RM^>q$!^v6?hrq&|%mIyRA*|BNH#~Vm9Yj*f1i3`K!D(EcC_b^Sc zp+cV_uW6u(S;6CiW6EXNxjUpPglM^iDx13NkL!F_Bh_ z%Sca8!NiICP!q_Xa~my8_!^AGxo5nyh*Zv|_2oii(r+pUjIKTy&#r)2jW+}Q6|K+k z!&%VP0$1;dkN9VtPzKz~Z1|JWJQj1f$GIh{jN#eg(ArChYy$8n8z5-W-A<++2-aM>MxS>>vyqcY&l^tS)AN(uL zn7{u4>HXiakN?k^XJq}~5br;v$HM+UI`eEStPKC}Nbf&q-fE3CCfNCmU`Hsdm|2qT zKVKgh24;vJhTgf18EKJ{bcd8+1~4Hx9&SKTk^gXr{qAG->(A=v&vVr?_pJA|<*nzf zr_RTz@d6u?Do7`ne_3arLI9C4{~y1|*nhwS03;F;FrY9vJ9|_f1?CZ)?3g)(U?-o} ze&bI>UOzmW+9vITSikdq)8c=*FqObY=< z|JV>ZB)|I?HBf98Fhp=13fjxl6DlBkCs;fF6{;HuK#pP(P#?k}h=7Mczke=S z{BANBf&*|APQGogJs}Er5;-^+z!m^w84bv->%l%Oh)}$L<`jUq1{{C~1mrjCd!J1J z;Qq`SfJl(&5Atp7%Zz~HJB?}lKbaE~Fwjfj;1z(20tRSa$&Vmdum}Wzfc>2u5yZ)< z;{n{mKc9X+345?^S^&Vs1Q_7Fw4d*!V}qywA~`D_8|Af0_#n@~R#pQRPSwG|HMC#B zHkj{8DTIiym2K>n^t-D`)*fB1eJ(Eq7X_~MO9Nybm(Ut0tg}<7S@}=imSE72-U|YX z01yPI#CRAGK@9-J=8E8(sk;Fk=y8hT5xKXbe-8X05MX@=1@IwgQ^1xtnAes79s(f5 zIqd!8+is{&EtrT1fPNVb)E%fHY!LDxF8?G?~3he07yA^-vsxxvzwRS;Gg8wDz1l-@DI|g%&cFX-wqH01eT!`JKvR|7u#|JZSzsHXvTt){Z-62 z%2}!gXI=grcjMAeHV9ux8z;3ps7GNo<9FuuPbk)0!y?dC$z0hg*mroVanLJ%FM1p@ zEP3lDgH>Y^9u{C-e0$o1$%k>if+FKf3 zZ0MXVrnQ>XE_o+K9!fMzga?W;<4ndMiC5??9G+zS2O9ne8}r5U!vu=R?K?}AD-mD8 z-kExXA^w!gLVFYDT}j$#q3zBy&U32s^!gY|5wbS#o2z1r#ok9US{;GdlBqf8*lKoO zM8B(hcbhY;TtXN4s&@8KBlolO;JUJ=oRR7#b5gd{dgA?XQ(w=Tu7DM;cnhxs^1M`_ z?$to?B`HjVajWO7(^Ze#y+`@g^al|PZn@H>#z7Af;&gh)i#AC@h}LTmdPDP69GFd- zXlgl@ma(|?a=I25@Y+q&C3lc(TJ%QfUQt+c>03(=IWdnb+q=H7ij5D^;Y{_e z#oZeTcg*!)yMT(VqHm41P6m07h^}yc1U|moYBXvC>#1zfgR6|HO9qjl3>V{VBzgD# zeD&kY!FtsYPnDoReztr^&jOF4q0Ty!RJ}P$t<~8sF>if12xi8r{^tn%Wbe5yEjVsq0G!XAHxSTq_JgS~Pha$D zX>OQO*oG9$yAgO9+>HT3ZU{ZYq&Wx|$mn~VA4m3S3Nlk>eits-ZDs%B?MQlwPygZM z+jDzV5`(qSY?2nq9L@Q>rrJtTJtbM#KPmB|x&esYfY$9V&1B&to|F$Eimh{t##uya zyZ6Fvd#7o&IH@1XFn(7KL>kwgF)dpuksBYO%e|W&D^IrGd2S6C?PIZnkUU*-@)N%= z2d*`ZzCiRDpI*c{QmPB1p!zHqf|$Y|USEMweCUym<~_633JkyH+Ni(Bc;mbh)dl7v z=R`D~3=6mq%c*exUW^X8?Wb&KHkr#GE0G{)+DvJOYTl_{i{0ibBHvI7vmjnuNz92B z4jRgCp!jFBHcPbCVO&)w{exd|sZq?oF^Buam7X2t%89MWAcl4*& zMDY>)NN?9_>at!)CURtMP)ji^9$+2G_M72j`!Z?2JKXWKkn>-`9^{bS6WE*Vbk7s* z-E6iCR7ChMi2F@FMHBig;g?ChL(iL$MF|`w;#?mqhG~|MT}S>27Km$e>Jn*)Q(08) znSWJDrP3Mv7CO{LAEMA4tLwX4O<0CY7GPKg^eWpd*9;@?hK*S78VRtkM5<=LC&A@B zCA+hQ2rB6gdCH7C9!Y2JjsSIr)UFMaH7VW7OXSLmt5>oa942F%ZhD)$WXm_cqi*hA zysAMJUm^>a-FBvn&U8}65(_Oi>MN21a1-{F)|~n@8jg#ELP&3f0q5V6M_bzubmVmx`p^+iZLMyo8`CH#kJ`8dgYa|~vCT)GJBvd2Oz5$zq&#CUk z?MgG7H9Ey!>MH{3;m`vZLRIIa z4viC=2Mu0r$DW;&*GjUXzR*WTwnIhf0$^hj(b{Pmh^9G??R!C0?!M7>6OEo~F@r^{ zdntmv(kHSbHVQ`a@KJ5UEXwA{iNU+XzMP!H3I>3g6$`~=^0F}X;EU#%+(mrJTD?(e zuR}v>w^1a&&7B3cs~LqmqX#|ey$G$-VX1VNBh^0mEv@~Ghx zR2tI0)GRAh9bwUYN8T-HsqW9}iJ$RYDZfiv4R5Tn-lM}Z+$tuj96iN}NTE)F@LulA zRD9G{O%WXvhl20P(7e5LIHaR3-BkFBPFC|d;SRR-K3ctWB+c%n{5TJsj+X>d1Nqc} zRVfTE2s$k<7R@Wzxw4C>n774>nnq`qWbAp4m_!#?CxLTmvHR$p4Q|02r-T|f^3e}= zC?m!qQ3_9APrBOCmvbB3C$icaZ{oen%~jAB(h2YLDK$GY@?e8=c_b>7p3e%J=e-AO zve@h8rPpc4lSl8_AH)K&<57piT!GJD?y#)cgva9zqT}vNArMFGfwo~)f!u80p&Y!U?HYXbSgc^vXoP%qLGo5+QDP>saIXXATYX_#~PcEv}?d(PONmM&m zbK5X;a`ks~y=YsPBzt`8HL#WQP8e&dc;2}RdjIRe_W_r=FOJ zx%SK1S-0?^X<9{!BR@DK1QAo2oeAT-GmH<7g?qmk%F736u zVx6F_%n(8P!gK6rsTZmGTyjiVu0~BK)O1g%fwPLNRhIv)2&U{pvVf-MC?HFDM+{=1 zN6V@D%o99daMX3QXkA$1Yb(-B2Y$;VNw*sDsn*P8e51g+L;kL(Y{txHsrEMiEa&kq zvgYd98vyDaLY^eeaJWQ(ZV98IP+VnS@j=Ewq6edsie9T0*(X-7V@DN%>Az|ZDa9`~ zOD^UtlOyR*Lh|yk07V3EwUCX%ojps@$I)iEj*fMwn=L&T;XtHJM+eAF8-EvZ({MU~ zFyTUf@=52BT@XHsfhn|7vDz?sT=h@4_jdMESwy6vO>+NicS$4=ZDI;{55ue^&y^mF z?MGUMx3{yzQ+o(J7hN{RZFl?epyiqQp1AE1^=0-Ua#!iwbXk8YJNg5an{xOgVRRN3 z7N7Y*@(hH606eQ-QI|QA?jO@(6fC}x)V{ZZ3ogx9-OG}$;v(g7T}hW2>Rz9DRR@`8SOFJZ{Xo(4 zk4Rz#NhD8!tA0PrMB*w^L6hjwiaR*wW$)r2nj=%ud3!TT2WdAAM03T|u)<@2Q6}r& z^VTAG+}D*EVF&GcHN`bOYP%h(+WkQ@1)-sd_k`gOc^KuE&I;sy=uJKWUg63gOeXHK zp-E6A8?g{mrhBVzuBMlZR*e<)y#?aM8x=1yekOqP5&pF4K=}RcWITr4XNJyUI>UHQ z^EMXZcj=N|OLePTrDn}W2bK|c3=g$U>!20npi;q^8=kqG(D@RUPE{WOZ^Sq3g;wg* zF2@p)4?I=0OPI9nMit0|<>kWIY?c^ix{=*DQ&bw7gjKX|BrPJ&;3*+e)sV*arX^J& zH)mp>3sBOjIBE#|OZXs;vGc)5)6$#9KBSUxYUTBEWq0R3G-xFMFf~WWCP(4MPdjD2 z8T{-yc33|%qb(%Cc9gm~0Z~tAkq&C}5^qo^n&*Vn)L9MA5leyR=&u~br!kwD4JY@) z{mN7eN-F5}6vSUP=FY<~Xz6&_8+wyf&zixo)VG>OX!#3OVfGRr)sSrMWPb(OL(7=m z^sG-eA0-e(%J(({wbiBXq+1N%pv41|gXx^xE-E7uFRIdRC8HCvq9gnpna1K_oeYYC zvpnz89an(Xuei|Qmsm>txH!d|u^g$04d#`SjJvEHr!c)SgqF<59@QL$?KV0I+bEV@ zS=q~BuQQdV9NFjEAz@h{z1cdXwG&5?@lEc~_u!&=xJY+0-WiZJeDIe7G_V($@ zHg2gaR$#yB$e=NpzoAJu=7`X)6Ta{iH8^b5;9hEtxlAnjNL<|w%HOwUXIQG3dvj9kZZIKOD58>f?__u4`YJ{!V?$9l(+Ul^u>r-nGk-X=U|tgo5xiY z^eU(?Szwb@zK(Iwy(#}wYw<7I2+KEP4uw{^RfMf=<7>;~T7mE=4xiUnAa5 zbr(eV2}-uefF19V^C%zyYEe`RrH)D zuYA69UGd41G9xUUViBn;Xd3sffZVp1Ed`QvejZMDZ&+TUTl8b`gM_V)!Jvw_f6Pnh zxtvyg5#Fw7ziQVjigwbKxE~!IzgI{Cg_Ee6FD|>Kx+#&gDO^fLHwpP`>>~T3jbol@ zuT|#h4{{b!k4g<0|GkxElpl*7Fr&Q)`!7%_;AkD5P)3GxP^Jm}9q9LaF@EKaY^;WY zq@G#wue971iQHH`)hiCf3Dk|60(Q-Hdsyu*Ke=xuIHL%VgOCp&F-3j^LayEVoxp%8 zQ<0*+lZ^Xk2FpWDFhRi7_!he&P$2b|3s#E4cYG@4P9x&g;sC-U@4jNJSZFR_Dbomw z+mEF^%S9H|>&p}?j@3Hd^1@nq>!AiERI;~p6u;$1zD1uVE!BjA;gs-PW2CJ_h!Y*( z!!?}>$y)P15Cf~AT?3)oXO8w?9Pbx$(*g89@AA1)GOwU^U_?0#Q@kRdK0ok+XX=5C zb~pSX&av`jS&wgCvqc?Yng-M?jp&qHkg_-m_Oq~D=3&t~=4wJXZyAAg5hw)Q<{?HIo6XqIh-)Ym#kEvMA)lv!c7^=)R-GI48BaZAIXU z5GiRMA@GtEku7&EKyh;8aZIp3b5J>Tq<5jiDoF0Pd)9 zUqO6%sYdJq&e)&t9veN@cJSFe*ksfxI|9^Nzd8N+5$Ub-VA{R$2~DGwG`OPrR$}jO z-)?cEp|$tgVCv}bM{qe?(vVXikumtLIESdSbAf_y?OzEF&~>L-d*e@MkT->RY_d@H z;JxlOb6xiDtt8+RY$Cm6wrHX5V+mrz#)m`yFqV`#5xwam9}wcPk!SZinn`rJbdevbKm~C4XRjeOw`k zjy*sdVIp?&{2U`0yDWVtq%_#=1#{hZyj5n%HZOpGWCj~w3$YWQA_-sm0E!#u#;$ zLbw*e7}-~OE?-_d>6ky=Fycbvp$R z00EYb(2y;h%z)C;mL^Yv|-9>(MJyz(d=q`JWos^o`J`X2=`JT?er^Sk_$)S#VybAT_+tGOImro;+ z=aThoCl}8AGo4gaV^dE_@Hlz_R|V(1Oc&HsjkJ5?qY#(oMNQoA=yR3jDd~^H#~Y;E zy=5sgx=JSA1fB-k=n+WGNz_Qe5T=IWnK}GMDpht z$2ICxb5|9>aNMFY>btjx+JMNx*%oynN8X&jfd>^nz0PJH9ujHA0VuY=ix3Gnc(o+p z`kwYkvec*pyRziXo_%U5%jL?u-KUH|2HRxi{Q79IIB<@emYP|sU1TX75;;0H`~tOu zgWCn2HpW8@h5*Gh*?)jvpmIoX6(#4r%&Nbf^)+lwoKwy3(vD6q1AFlWCEFNr>px7} zzflUdtZW#Dh4{urExz`hA!PbkeKrGT#Q7MMi5|wSd|9w=5*4+^vcOLjHbYJ7IPIDN zE2kcfxeilVNTohOIgSO!gzZIJ2Rp15+M;q?PK|%)sB5Op(mJa&xc!uFZv!%wVZ5RL zrP|3ItXOpJKbGJ1-`SfrA+<2)V<<;M_AVOiPZ9~Ksdd|vS1Biz=~^)%kQIx6SAW|$ zIIIVOMHsj#K*M~vVdSFuf_g&MRkCUO^NB>Vi)vRoB7u4>aM+z92q`fJE9x6QY=d>L zObpt~y0GoPgza<0z2e-5aC5^L6$c`jkkKN4N>)WpJB zkk|1sIQzXmW3{KGTH*tVv&h$<+?*(gHIwI4^$PB{Fdbf*ziolur>EPOheZ?c#JK(zj|e_T2@%U@zN}^hG}8A60sPdkuz2a=8m!p z2zmcVt7j0X(2qFdqrDxFv=+gvJzzHXjR}F(`nL(+%E3ci-J0($%kxk$_0O(2_sE(= zZ4_%%uZ_tin6Ua+S@x@Cn5<7&y$B#+(>S$A1pS50*RKI`w3=#7;4k&wmP+Tjxh;WV zw^0oUyqg=7U-U21fvA>izUJyetRx{SHSoc)6{Mp>GJ@Z&IuO*0tA4_lrx&ANEUp@dq>QFCb2$Ms-Vetzeks z!WA`3xuIZRdBvRw_9y-g?6-e7t`!?Fy}8q%2Ia`rzT8AAQZ5liXRBuD0Xcj$Bc=v~EW4Z{N~&m~2fA(G!*Hn`1lGIxSaw9pDFH>Ae7bl5>v z8~w*|VxZynhg7FMa1;9nmjNJy_mJ1CRgCtX6eD;5Kq;ctX9O^yYduM#1d;r zzYAIz7I|jSj?xisCst1HTOl`-8|1`zvekt~TX7~q@G=~HWy{UNJGikKFOcmur>?|b z6rQZ{A~ZG&wrd?B^PHpuJyVcFLoJYHqbBtW;`nWIDv_6KA2lcuXlIP}7N9;RrUb-G zxUd4KRw}8@E^csZTu50|VG?MDZroxO88!)8G!?^ZyRL0*dekyjTns`zRl1!qRX20338( z{Qd|2%lvMX-ib66v znEVIBANK_OD_a5@LSjOQ`B!E)XIBQtar%!gFRAt~j|I=p2gTmx5)vaI`!}{h^eqi+ zfDlsE=Hru*!R5oJDgcIMtYvUus{x^CLs!v60WhJ7k+sN?CH*UMi2FbJ;QGgBSJw~q zva`>BW%^fFh8I5Y4NGHPSphT@OavG_I86M@>3bUK`}LR!ZD{&O4&NOE9*7lh_lukk@Ke~}yQk(%t;7*y-+f5jY?fUo?DKi#xv zj`_Ym)QbL;|CXTc=X7IktZR6F<%ax1Kis%HRX8kIG!!oXat8XA3R^{8N6}hM0Z7mM zP+07lfA#kFEI@&y{H_#FQ5Jjt&R`R%?+=;kN-<@Nf>0*-a!NU2m_Q$*3S*ktuW~>v; zg4`NAQe{$Tn}MFS1Q#z(x0!zFH0;;#YQNE?Q?4Rw zJPk$yd==5pdOl;9dt2zU1@p5xAzVCHXxPE z)`@7_@inU$omrJ4TO7&n{5QCvJ%7wevMiT0I?g3EpR(`3-TyBdE#8G*uWiB}6Y_IQ z&&X0h(poNIfR4YmCfP(W?=t>kmShx#iv7h6D4OBtd8gc+iT2tI4i1lcZ2 zEME3LXS`n~MGNzW2->fnRSy|$gBrJ3XyQh}9{8hbitLrzD`dD(7rky{MLg!yCfSrX zNDO?MyU%Zo)BO-xhs|8QJWPf37(vjK?}%0AJ>POJstAaQMh1;NY@nQudz&f^JL<>Y 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 lwvNn2 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 literal 0 HcmV?d00001 diff --git a/4-lab/modul1.rb b/4-lab/modul1.rb new file mode 100755 index 0000000..cca71fa --- /dev/null +++ b/4-lab/modul1.rb @@ -0,0 +1,229 @@ +#!/usr/bin/ruby + +##################################### +# +# Marcin Woźniak +# s434812 +# +##################################### + +require 'openssl' +require 'securerandom' +require 'prime' +require 'thread' + +def extended_euklides(a, b) + return 1, 0 if b == 0 + + q, r = a.divmod b + s, t = extended_euklides(b, r) + + return t, s - q * t +end + +# Zad. 1.1 +def random_gen_Zn(n,k) + if 2**(k-1) < n && k > 0 + if k == 1 + min = 0 + max = 1 + else + min = 2**(k-1) + max = (2**k)-1 + end + end + + while true do + r = SecureRandom.random_number(min..max) + if r < n + break + end + end + + return r + +end + +# Zad. 1.2 +def reciprocal_Phi_p(n,p) + u = extended_euklides(n,p)[0] + v = extended_euklides(n,p)[1] + + if u * n % p == 1 + return u + else + return v + end +end + +# Zad. 1.3 +def betterExponentiation(x,k,n) + if n == 0 + return false + end + + b = k.to_s(2).reverse + l = b.count "[0-1]" + y = 1 + i = l - 1 + + while i >= 0 + y = y**2 % n + if b[i]=="1" + y = y * x % n + end + i = i - 1 + end + return y +end + +# Zad. 1.4 +def remSqEuler(a,p) + ans = betterExponentiation(a,(p-1)/2,p) + + if ans == 1 && Prime.prime?(p) + return true + else + return false + end +end + +# Zad. 1.5 +def squareRootFp(p,b) + if p % 4 == 3 && remSqEuler(p,b) == true + a = betterExponentiation(b, (p+1)/4, p) + return a + end +end + +# Zad. 1.6 +def primalityTest(n) + if n == 1 + return false + end + + if n == 2 || n == 3 + return true + end + + counter = 10 + while (counter != 0) do + b = SecureRandom.random_number(2..n-2) # Tez dziala n-1 + if betterExponentiation(b,n-1,n) != 1 + return false + end + counter = counter - 1 + end + return true +end + + +def randomNumber(k) + randomNumberArray=[] + randomNumberArray << 1 + k= k - 1 + + while (k !=0 ) do + j = SecureRandom.random_number(2) + randomNumberArray << j + k = k - 1 + end + return randomNumberArray.join.to_i(2) +end + +def specyficPrimaryNumber + starting = Process.clock_gettime(Process::CLOCK_MONOTONIC) + while true do + q = SecureRandom.random_number(2 ** 256) + p = 2 * q + 1 + t1 = Thread.new{primalityTest(q)} + t2 = Thread.new{primalityTest(p)} + if t1.join.value && t2.join.value + ending = Process.clock_gettime(Process::CLOCK_MONOTONIC) + elapsed = ending - starting + puts elapsed.inspect + + return p,q + end + end +end + +puts specyficPrimaryNumber + +################################################################################### + +# Zadanie.1 Losowy element z zbioru Z_n +# +# Uzycie funkcji: +# random_gen_Zn(n,k) +# +# Gdzie n - grupa mod +# k - ilosc bitow + +#puts "Zadanie 1: " + random_gen_Zn(2817960879631397637428637785383222308241674912977296371078328827783823173932945686560271709717223685413005001487628305095704070793958971415087255523073935114518202433817141315589046697665767753020703330561718642810157214393228915238808369985314803605127547366769525321238034444131545038866079220135011303234308583293055538438855440051375449844277218217712896675378963068720345515473434111699867542985885331741594726201346190830240692715577811297545617592986841862266976883958728343753502720654957572591625318922387371348775299617016576604164586635463962864505536324347369114225605202600072081219902252264258236028218613372215876496394341867072862629022156295534655310094481486891656868251869749451857161662890356600101860594118885136794555465318782343870373413707643678756555809662335374658562880045543430140169913540153961566294704894163494226738977413711366121112146042996377423578488354012607979075727403258666348434920910981957617905109649522084109820427893425361930683246183514216962034556016051184044970184676662827978420213281480510069379347007543973139554178175690773315927469361215139519543395792659825942864347234234285907203635728345512501417615714291999748745375110198782386769755218587158953598215023147871490893052124457996091330393194346889440433647348345868290410045628941650640315817691074244257070087501412656465257388504574920756736653658826614297081956072241319983753399595743495837950519045870810249068878008938965513649172515852388457433200750100902751828486806189811961720524504976040165319005498382580099718522287255514024665802127411452771343820848551192190973237603226514162458911052832006635099614443220118029822801995173084006448848714642581145597450095993844936566471047767974285413266855493150984091512278787539020882065620089396507786047199321023827465489494495513119543424285384803025749486259267450477917340669954258887755716092814959537213397128776047910200001947756249766479670986137076981224642743069725401099384031028670810757683522821674118926373517718330706064178699035286815124318059529948663730575377063300582239742709428517028624628630255640464009691179606104444672232047869709734836046571505598681429286372976726889778746623725623485244272247797117303046464791441413956650048631706362550020890628552166104678993837549091779514727408814458173452235187339390489070470959043964826221641981413639067723526075949807992319555177364587831440901887979371647118775640122112691496917328672989185787786333743943571201682455849788768447941052589112093217146238196393058840427167875379895033862665036580869700901671149307822867600084775797450043528335040523181300939047560092173656437964805986878846909755616898664300908149121103065456346895895553346803762232995496756924185713587688989499627282573083392504068537865838813511676470822568313458216527495376958238195629276140142912559084213140117194512209752564237149304569698487234268004667685663277598956964116311211220970915272172182795014191615102024324085452311963348372375839824417067170842114940446271152850552864783993722225100122068507428533164772669151799555291529447719732682260868021763685052338407930046892500473287361324180925326385131283404240275852188687583358717018916949107259963059221294732376067807306008309012964676038322426438467806570485299377626514669181680963962016304313021681669696580753784295259640169007074506637844332833804045109981978476343942218065708022217566222881348496310403404164467438352649885637702780969376650799749541038736604262724814821757258372470336571211357167468680200965241152364670892328226187787108777323221988154289834826302745446444518424440700033948649807665278475079826664974213162552336459719975478725157313669922561440432360473265250572606571269284353534676478375363478936179040075297456773814344907213125333476476655366455733030460908712160208004620689954788191597043073132610377893018543064926955781952650214504633097216561549411315119718460509357878230720821699669794678584993658379092808863297233433557739623968183417003317301945898487820593437670555891465841469699644209269444311251317668652989906375182749637967733151694853436985266479700749763565024494627271013468757521359567838089899510388135209838269214753262972848939363295323913595985611694315406247934779335196977854974497594863447427077079600386381593134665326520126544264832044936966738225526176229232138173609626231926255343974851041449136902209592667970872917688005523210617825501923851244940494708102661449185546240415803793231334092660117374732910436571816210806786100000371385219128407888245069151381708001509375,15000).inspect + +################################################################################### + +# Zadanie.2 Odwrotnosc w grupie Phi(n) +# +# Uzycie funkcji: +# reciprocal_Phi_p(n,p) +# +# Gdzie p - element w grupie phi +# n - liczba nalezaca do N + +#puts "Zadanie 2: " + reciprocal_Phi_p(10,13).inspect +#puts "Zadanie 2: " + reciprocal_Phi_p(76638723687263876287368268368726378623873687326872634868374687236487623874687648634863847623846834687643,100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000961 ).inspect + +################################################################################### + +# Zadanie.3 Efektywne potegowanie. +# +# Uzycie funkcji: +# betterExponentiation(x,k,n) +# +# Gdzie obliczna jest wartosc x^k mod n + +#puts "Zadanie 3: " + betterExponentiation(8,2,30).inspect +#puts "Zadanie 3: " + betterExponentiation(76638723687263876287368268368726378623873687326872634868374687236487623874687648634863847623846834687643, 76382637812836812638612836812638612376182263812623861283618723681263861238612386, 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000961).inspect + + +################################################################################### + +# Zadanie.4 Sprawdzenie czy element a jest reszta kwadratowa w Z_p +# +# Uzycie funkcji: +# remSqEuler(a,p) +# +# Gdzie a - element +# p - liczba pierwsza + +#puts "Zadanie 4: " + remSqEuler(4,15485863).inspect +#puts "Zadanie 4: " + remSqEuler(3,13).inspect +#puts "Zadanie 4: " + remSqEuler(5,13).inspect + +################################################################################### + +# Zadanie.5 Obliczanie pierwiastka kwadratowego w ciele F_p*. +# +# Uzycie funkcji +# squareRootFp(p,b) +# +# Gdzie p - liczba pierwsza (modulo) +# b - reszta kwadratowa + +#puts "Zadanie 5: " + squareRootFp(15485863,2).inspect + +################################################################################### + +# Zadanie 6. Test pierwszości. +# +# Uzycie funkcji: +# primalityTest(n) +# +# Gdzie n - liczba wejsciowa + +#puts "Zadanie 6: " + primalityTest(13).inspect +#puts "Zadanie 6: " + primalityTest(100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000961).inspect + +################################################################################### diff --git a/4-lab/xclip b/4-lab/xclip new file mode 100644 index 0000000..22f8173 --- /dev/null +++ b/4-lab/xclip @@ -0,0 +1,12 @@ +def randomNumber(k) + randomNumberArray=[] + randomNumberArray << 1 + k= k - 1 + + while (k !=0 ) do + j = SecureRandom.random_number(2) + randomNumberArray << j + k = k - 1 + end + return randomNumberArray.join +end