diff --git a/examples/poem.txt.crypt b/examples/poem.txt.crypt index 6fb6eb4..46bf576 100644 --- a/examples/poem.txt.crypt +++ b/examples/poem.txt.crypt @@ -1,139 +1,139 @@ -Ô XFNSY UWêYWJ ! LWFSIJ âRJ ! TM ! OJ YTRGJ à LJSTZC ! -OJZSJ, NQ FAFNY JSHTW IJ QTSLX OTZWX UFWRN STZX, -NQ S'JS F UFX HTRUYé QJ STRGWJ ; -NQ éYFNY à HJY âLJ Tù QJ GTSMJZW KQJZWNY ; -NQ F HTSXNIéWé QF HWTNC IJ OéXZX-HMWNXY -YTZYJ WFDTSSFSYJ IFSX Q'TRGWJ. +Ô CKSXD ZBêDBO ! QBKXNO âWO ! YR ! TO DYWLO à QOXYEH ! +TOEXO, SV KFKSD OXMYB NO VYXQC TYEBC ZKBWS XYEC, +SV X'OX K ZKC MYWZDé VO XYWLBO ; +SV éDKSD à MOD âQO Yù VO LYXROEB PVOEBSD ; +SV K MYXCSNéBé VK MBYSH NO TéCEC-MRBSCD +DYEDO BKIYXXKXDO NKXC V'YWLBO. -NQ F INY : — « H'JXY QJ INJZ IJ UWTLWèX JY I'FRTZW. -OéXZX, VZN ATNY YTS KWTSY HWTNY ATNW QJ KWTSY IZ OTZW. -HMWNXY XTZWNY à VZN QJ WJUTZXXJ. -UZNXVZ'NQ JXY RTWY UTZW STZX, OJ AJZC RTZWNW UTZW QZN ; -IFSX XTS YTRGJFZ, ITSY O'FN QF UNJWWJ UTZW FUUZN, -NQ R'FUUJQQJ I'ZSJ ATNC ITZHJ. +SV K NSD : — « M'OCD VO NSOE NO ZBYQBèC OD N'KWYEB. +TéCEC, AES FYSD DYX PBYXD MBYSD FYSB VO PBYXD NE TYEB. +MRBSCD CYEBSD à AES VO BOZYECCO. +ZESCAE'SV OCD WYBD ZYEB XYEC, TO FOEH WYEBSB ZYEB VES ; +NKXC CYX DYWLOKE, NYXD T'KS VK ZSOBBO ZYEB KZZES, +SV W'KZZOVVO N'EXO FYSH NYEMO. -« XF ITHYWNSJ JXY QJ HNJQ JSYW'TZAJWY ; UFW QF RFNS, -HTRRJ ZS UèWJ Q'JSKFSY, NQ YNJSY QJ LJSWJ MZRFNS ; -UFW QZN STZX ANATSX JY STZX XTRRJX ; -FZ HMJAJY IJX LJôQNJWX ITWRFSY IFSX QJZWX RFNXTSX, -NQ IéWTGJ QJX HQJKX IJ YTZYJX QJX UWNXTSX -JY RJY JS QNGJWYé QJX MTRRJX. +« CK NYMDBSXO OCD VO MSOV OXDB'YEFOBD ; ZKB VK WKSX, +MYWWO EX ZèBO V'OXPKXD, SV DSOXD VO QOXBO REWKSX ; +ZKB VES XYEC FSFYXC OD XYEC CYWWOC ; +KE MROFOD NOC QOôVSOBC NYBWKXD NKXC VOEBC WKSCYXC, +SV NéBYLO VOC MVOPC NO DYEDOC VOC ZBSCYXC +OD WOD OX VSLOBDé VOC RYWWOC. -« TW NQ JXY, QTNS IJ STZX, ZSJ FZYWJ MZRFSNYé -VZN SJ QJ HTSSFîY UTNSY, JY IFSX Q'NSNVZNYé -WFRUJ JSHMFîSéJ, JY XTZKKWJ JY YTRGJ ; -NQX KTSY UTZW YWTZAJW INJZ IJ YéSéGWJZC JKKTWYX ; -NQX X'FLNYJSY JS AFNS ; NQX XTSY HTRRJ IJX RTWYX -VZN YâYJSY QJ RZW IJ QJZW YTRGJ. +« YB SV OCD, VYSX NO XYEC, EXO KEDBO REWKXSDé +AES XO VO MYXXKîD ZYSXD, OD NKXC V'SXSAESDé +BKWZO OXMRKîXéO, OD CYEPPBO OD DYWLO ; +SVC PYXD ZYEB DBYEFOB NSOE NO DéXéLBOEH OPPYBDC ; +SVC C'KQSDOXD OX FKSX ; SVC CYXD MYWWO NOC WYBDC +AES DâDOXD VO WEB NO VOEB DYWLO. -« XFSX QTN, XFSX GZY, XFSX LZNIJ, NQX JWWJSY NHN-GFX. -NQX XTSY RéHMFSYX, éYFSY NLSTWFSYX ; NQX S'TSY UFX -QJZW UFWY IJ QF LWFSIJ HTSVZêYJ. -O'NWFN. UTZW QJX XFZAJW OJ VZNYYJ QJ XFNSY QNJZ. -Ô RJX KWèWJX, OJ ANJSX ATZX FUUTWYJW RTS INJZ, -OJ ANJSX ATZX FUUTWYJW RF YêYJ ! » — +« CKXC VYS, CKXC LED, CKXC QESNO, SVC OBBOXD SMS-LKC. +SVC CYXD WéMRKXDC, éDKXD SQXYBKXDC ; SVC X'YXD ZKC +VOEB ZKBD NO VK QBKXNO MYXAEêDO. +T'SBKS. ZYEB VOC CKEFOB TO AESDDO VO CKSXD VSOE. +Ô WOC PBèBOC, TO FSOXC FYEC KZZYBDOB WYX NSOE, +TO FSOXC FYEC KZZYBDOB WK DêDO ! » — -UWêYWJ, NQ X'JXY XTZAJSZ, HFQRJ JS STX OTZWX YWTZGQéX, -IJ QF UFWTQJ INYJ FZC FUôYWJX : — FQQJE, -GWFAJE QJX GûHMJWX JY QJX HQFNJX ! — -JY IJ Q'FINJZ IZ HMWNXY FZ XZUWêRJ RTRJSY : -— Ô ANAFSY, FNRJE-ATZX ! FNRJE. JS ATZX FNRFSY, -KWèWJX, ATZX KJWRJWJE RJX UQFNJX. — +ZBêDBO, SV C'OCD CYEFOXE, MKVWO OX XYC TYEBC DBYELVéC, +NO VK ZKBYVO NSDO KEH KZôDBOC : — KVVOJ, +LBKFOJ VOC LûMROBC OD VOC MVKSOC ! — +OD NO V'KNSOE NE MRBSCD KE CEZBêWO WYWOXD : +— Ô FSFKXD, KSWOJ-FYEC ! KSWOJ. OX FYEC KSWKXD, +PBèBOC, FYEC POBWOBOJ WOC ZVKSOC. — -NQ X'JXY INY VZ'NQ JXY GTS I'éHQFNWJW IFSX QJZW SZNY -HJX UJZUQJX éLFWéX QTNS IZ UWTLWèX VZN QZNY, -ITSY Q'âRJ JXY HTZAJWYJ IJ ATNQJX ; -UZNX NQ X'JS JXY FQQé, IFSX QJX AJSYX, IFSX QJX KQTYX, -AJWX QJX STNWX HMJAFQJYX JY QJX XFSLQFSYX GNQQTYX, -QJX DJZC KNCéX XZW QJX éYTNQJX. +SV C'OCD NSD AE'SV OCD LYX N'éMVKSBOB NKXC VOEB XESD +MOC ZOEZVOC éQKBéC VYSX NE ZBYQBèC AES VESD, +NYXD V'âWO OCD MYEFOBDO NO FYSVOC ; +ZESC SV C'OX OCD KVVé, NKXC VOC FOXDC, NKXC VOC PVYDC, +FOBC VOC XYSBC MROFKVODC OD VOC CKXQVKXDC LSVVYDC, +VOC IOEH PSHéC CEB VOC éDYSVOC. -NN. +SS. -HJZC AJWX VZN HJY FUôYWJ FQQFNY, Q'TSY éLTWLé. +MOEH FOBC AES MOD KZôDBO KVVKSD, V'YXD éQYBQé. -NNN. +SSS. -TM ! YFSINX VZJ Qà-GFX, MéQFX ! HMJE HJX GFWGFWJX, -X'éYFQJ Q'éHMFKFZI IJ YJX RJRGWJX HMFWLé, -VZJ QJ GTZWWJFZ, WFSLJFSY XJX LQFNAJX JY XJX GFWWJX, -KWTYYJ FZ LNGJY XTS TSLQJ Tù YTS XFSL X'JXY KNLé ; +YR ! DKXNSC AEO Và-LKC, RéVKC ! MROJ MOC LKBLKBOC, +C'éDKVO V'éMRKPKEN NO DOC WOWLBOC MRKBQé, +AEO VO LYEBBOKE, BKXQOKXD COC QVKSFOC OD COC LKBBOC, +PBYDDO KE QSLOD CYX YXQVO Yù DYX CKXQ C'OCD PSQé ; -HNJQ ! YFSINX VZJ QJX HMNJSX IFSX HJ XFSL ANJSSJSY GTNWJ, -JY VZJ QF RTZHMJ MTWWNGQJ, JXXFNR FZ ATQ OTDJZC, -HTRRJ IFSX ZSJ WZHMJ JSYWJ JS YF GTZHMJ STNWJ -JY GTZWITSSJ FZ XTQJNQ IFSX QJX YWTZX IJ YJX DJZC ; +MSOV ! DKXNSC AEO VOC MRSOXC NKXC MO CKXQ FSOXXOXD LYSBO, +OD AEO VK WYEMRO RYBBSLVO, OCCKSW KE FYV TYIOEH, +MYWWO NKXC EXO BEMRO OXDBO OX DK LYEMRO XYSBO +OD LYEBNYXXO KE CYVOSV NKXC VOC DBYEC NO DOC IOEH ; -YFSINX VZ'éHMJAJQéJ, JY XFSX ATNC, XFSX UFZUNèWJX, -YF YêYJ GQêRJ JXY Qà XZW ZS NSKâRJ UNJZ, -QNAWéJ FZC ANQX FKKWTSYX, RJZWYWNJ à HTZUX IJ UNJWWJX, -NHN, IJWWNèWJ YTN, RFWYDW, TS AJSI YTS INJZ ! +DKXNSC AE'éMROFOVéO, OD CKXC FYSH, CKXC ZKEZSèBOC, +DK DêDO LVêWO OCD Và CEB EX SXPâWO ZSOE, +VSFBéO KEH FSVC KPPBYXDC, WOEBDBSO à MYEZC NO ZSOBBOC, +SMS, NOBBSèBO DYS, WKBDIB, YX FOXN DYX NSOE ! -HJ INJZ VZN S'JXY VZ'à YTN, RFWYDW, TS YJ QJ ATQJ ! -TS QJ QNAWJ à RFSIWNS, HJ INJZ UTZW VZN YZ RJZWX ! -IJX MTRRJX, HTRRJ YTN WJAêYZX IJ Q'éYTQJ, -UTZW êYWJ HFWINSFZC, UTZW êYWJ XéSFYJZWX, +MO NSOE AES X'OCD AE'à DYS, WKBDIB, YX DO VO FYVO ! +YX VO VSFBO à WKXNBSX, MO NSOE ZYEB AES DE WOEBC ! +NOC RYWWOC, MYWWO DYS BOFêDEC NO V'éDYVO, +ZYEB êDBO MKBNSXKEH, ZYEB êDBO CéXKDOEBC, -IJX UWêYWJX, UTZW FATNW IJX UFQFNX, IJX HFWWTXXJX, -JY IJX OFWINSX Q'éYé WNFSY XTZX QJ HNJQ GQJZ, -UTZW FWLJSYJW QJZW RNYWJ JY UTZW ITWJW QJZWX HWTXXJX, -UTZW GTNWJ IJ GTS ANS, FXXNX UWèX I'ZS GTS KJZ, +NOC ZBêDBOC, ZYEB KFYSB NOC ZKVKSC, NOC MKBBYCCOC, +OD NOC TKBNSXC V'éDé BSKXD CYEC VO MSOV LVOE, +ZYEB KBQOXDOB VOEB WSDBO OD ZYEB NYBOB VOEBC MBYCCOC, +ZYEB LYSBO NO LYX FSX, KCCSC ZBèC N'EX LYX POE, -FZ KTWGFS ITSY QF RFNS IFSX QJ RJZWYWJ JXY YWJRUéJ, -FZ QFWWTS HMFWLé I'TW VZN UFDJ JY VZN XTZWNY, -LWFSI INJZ ! WJYTZWSJ-YTN AJWX STZX, YêYJ HTZUéJ ! -NQX AJSIJSY OéXZX-HMWNXY ! NQX AJSIJSY OéXZX-HMWNXY ! +KE PYBLKX NYXD VK WKSX NKXC VO WOEBDBO OCD DBOWZéO, +KE VKBBYX MRKBQé N'YB AES ZKIO OD AES CYEBSD, +QBKXN NSOE ! BODYEBXO-DYS FOBC XYEC, DêDO MYEZéO ! +SVC FOXNOXD TéCEC-MRBSCD ! SVC FOXNOXD TéCEC-MRBSCD ! -NQX QNAWJSY FZ GFSINY, UTZW VZJQVZJX XFHX XTWINIJX, -Q'éAFSLNQJ, QF QTN, Q'FZYJQ éUTZAFSYé, -JY QF OZXYNHJ FZC DJZC XéAèWJX JY HFSINIJX, -JY Q'éYTNQJ IZ HTJZW MZRFNS, QF AéWNYé ! +SVC VSFBOXD KE LKXNSD, ZYEB AEOVAEOC CKMC CYBNSNOC, +V'éFKXQSVO, VK VYS, V'KEDOV éZYEFKXDé, +OD VK TECDSMO KEH IOEH CéFèBOC OD MKXNSNOC, +OD V'éDYSVO NE MYOEB REWKSX, VK FéBSDé ! -QJX GTSX OJYéX, ANAFSYX, FZ GFLSJ, TZ RTWYX, FZC KQJZAJX, -Q'MTRRJ OZXYJ UWTXHWNY UFW HFWYTZHMJ XDQQF, -Q'NSSTHJSY éLTWLé, QJ IJZNQ XFHWé IJX AJZAJX, -QJX UQJZWX IJ Q'TWUMJQNS, NQX AJSIJSY YTZY HJQF ! +VOC LYXC TODéC, FSFKXDC, KE LKQXO, YE WYBDC, KEH PVOEFOC, +V'RYWWO TECDO ZBYCMBSD ZKB MKBDYEMRO CIVVK, +V'SXXYMOXD éQYBQé, VO NOESV CKMBé NOC FOEFOC, +VOC ZVOEBC NO V'YBZROVSX, SVC FOXNOXD DYED MOVK ! -YTZY ! QF KTN, QJ XJWRJSY VZJ INJZ YNJSY XTZX XF LFWIJ, -QJ XFNSY YJRUQJ Tù, RTZWFSY, YZ INX :NSYWTïGT, -NQX QNAWJSY YTZY ! UZIJZW, AJWYZ ! — RFWYDW, WJLFWIJ, -WTZAWJ YJX DJZC VZ'JRUQNY QF QZJZW IZ YTRGJFZ ; — +DYED ! VK PYS, VO COBWOXD AEO NSOE DSOXD CYEC CK QKBNO, +VO CKSXD DOWZVO Yù, WYEBKXD, DE NSC :SXDBYïLY, +SVC VSFBOXD DYED ! ZENOEB, FOBDE ! — WKBDIB, BOQKBNO, +BYEFBO DOC IOEH AE'OWZVSD VK VEOEB NE DYWLOKE ; — -NQX AJSIJSY Q'FWHMJ FZLZXYJ Tù Q'MTXYNJ éYNSHJQQJ ! -NQX AJSIJSY HMWNXY, YJ INX-OJ ! JY XJX RJRGWJX QNéX ! -NQX AJSIJSY QF XZJZW VZN XZW XTS KWTSY WZNXXJQQJ, -JY QJX HQTZX IJ XJX RFNSX, JY QJX HQTZX IJ XJX UNJIX ! +SVC FOXNOXD V'KBMRO KEQECDO Yù V'RYCDSO éDSXMOVVO ! +SVC FOXNOXD MRBSCD, DO NSC-TO ! OD COC WOWLBOC VSéC ! +SVC FOXNOXD VK CEOEB AES CEB CYX PBYXD BESCCOVVO, +OD VOC MVYEC NO COC WKSXC, OD VOC MVYEC NO COC ZSONC ! -NQX AJSIJSY FZ GWNLFSI VZN HMJE QZN QJX FYYNWJ -QJ LWFSI HWZHNKNé XZW QJX MTRRJX UJSHMé ; -NQX AJSIJSY XF UFWTQJ, NQX AJSIJSY XTS RFWYDWJ, -JY YTS RFWYDWJ à YTN UFW-IJXXZX QJ RFWHMé ! +SVC FOXNOXD KE LBSQKXN AES MROJ VES VOC KDDSBO +VO QBKXN MBEMSPSé CEB VOC RYWWOC ZOXMRé ; +SVC FOXNOXD CK ZKBYVO, SVC FOXNOXD CYX WKBDIBO, +OD DYX WKBDIBO à DYS ZKB-NOCCEC VO WKBMRé ! -YFSY UTZW QJX HTZUX IJ KTZJY VZ'NQ WJçZY à QF UTWYJ ! -HéXFW ! YFSY UTZW Q'FRJS, YFSY UTZW Q'FQQéQZNF ! -YFSY UTZW QF UNJWWJ Tù ANSY MJZWYJW XF YêYJ RTWYJ ! -YFSY UTZW QJ IWFU WTZLN VZJ XF GFWGJ JXXZDF ! +DKXD ZYEB VOC MYEZC NO PYEOD AE'SV BOçED à VK ZYBDO ! +MéCKB ! DKXD ZYEB V'KWOX, DKXD ZYEB V'KVVéVESK ! +DKXD ZYEB VK ZSOBBO Yù FSXD ROEBDOB CK DêDO WYBDO ! +DKXD ZYEB VO NBKZ BYEQS AEO CK LKBLO OCCEIK ! -NQX AJSIJSY XJX LJSTZC RJZWYWNX, XF UFQRJ AJWYJ, -XF UQFNJ FZ KQFSH, XTS TJNQ YTZY GFNLSé I'NSKNSN, -XJX UQJZWX, XTS FLTSNJ, JY XF GTZHMJ JSYWTZAJWYJ, -JY QJ HWN VZ'NQ UTZXXF : QFRRF XFGFHYMFSN ! +SVC FOXNOXD COC QOXYEH WOEBDBSC, CK ZKVWO FOBDO, +CK ZVKSO KE PVKXM, CYX YOSV DYED LKSQXé N'SXPSXS, +COC ZVOEBC, CYX KQYXSO, OD CK LYEMRO OXDBYEFOBDO, +OD VO MBS AE'SV ZYECCK : VKWWK CKLKMDRKXS ! -NQX AJSIJSY QJ XéUZQHWJ ! NQX AJSIJSY QJX YéSèGWJX ! -QJX XéWFUMNSX HMFSYFSY FZ XJZNQ UWTKTSI IJX HNJZC, -JY QF RèWJ IJGTZY XTZX Q'FWGWJ FZC GWFX KZSèGWJX, -VZN, XJSYFSY Qà XTS KNQX, SJ QJAFNY UFX QJX DJZC ! +SVC FOXNOXD VO CéZEVMBO ! SVC FOXNOXD VOC DéXèLBOC ! +VOC CéBKZRSXC MRKXDKXD KE COESV ZBYPYXN NOC MSOEH, +OD VK WèBO NOLYED CYEC V'KBLBO KEH LBKC PEXèLBOC, +AES, COXDKXD Và CYX PSVC, XO VOFKSD ZKC VOC IOEH ! -TZN, HJX éAêVZJX, TZN, HJX RFWHMFSIX, TZN, HJX UWêYWJX -F Q'MNXYWNTS IZ HWNRJ, FXXTZAN, HTZWTSSé, -F HJ SéWTS WJUZ VZN WNY UFWRN QJX YWFîYWJX, -ZS UNJI XZW YMWFXéFX, ZS HTZIJ XZW UMWDSé, +YES, MOC éFêAEOC, YES, MOC WKBMRKXNC, YES, MOC ZBêDBOC +K V'RSCDBSYX NE MBSWO, KCCYEFS, MYEBYXXé, +K MO XéBYX BOZE AES BSD ZKBWS VOC DBKîDBOC, +EX ZSON CEB DRBKCéKC, EX MYENO CEB ZRBIXé, -FZ ATQJZW VZN YZF QJX QTNX à HTZUX IJ HWTXXJ, -FZ UNWFYJ JRUJWJZW SFUTQéTS IJWSNJW, -NAWJ IJZC KTNX, NRRTSIJ JSHTW UQZX VZJ KéWTHJ, -UTZWHJFZ IFSX QJ HQTFVZJ JY QTZU IFSX QJ HMFWSNJW, +KE FYVOEB AES DEK VOC VYSC à MYEZC NO MBYCCO, +KE ZSBKDO OWZOBOEB XKZYVéYX NOBXSOB, +SFBO NOEH PYSC, SWWYXNO OXMYB ZVEC AEO PéBYMO, +ZYEBMOKE NKXC VO MVYKAEO OD VYEZ NKXC VO MRKBXSOB, -NQX AJSIJSY, ô RFWYDW, QJ INJZ UJSXNK JY UâQJ -VZN, IJGTZY XZW QF YJWWJ JY XTZX QJ KNWRFRJSY, -YWNXYJ JY STZX XTZWNFSY IFSX STYWJ SZNY KFYFQJ, -XZW QJ STNW LTQLTYMF XFNLSJ éYJWSJQQJRJSY ! +SVC FOXNOXD, ô WKBDIB, VO NSOE ZOXCSP OD ZâVO +AES, NOLYED CEB VK DOBBO OD CYEC VO PSBWKWOXD, +DBSCDO OD XYEC CYEBSKXD NKXC XYDBO XESD PKDKVO, +CEB VO XYSB QYVQYDRK CKSQXO éDOBXOVVOWOXD ! diff --git a/src/caesar.c b/src/caesar.c index 46a7e34..3c0a38b 100755 --- a/src/caesar.c +++ b/src/caesar.c @@ -1,31 +1,6 @@ #include "caesar.h" -#define BUFFER_SIZE 128 -/* - This function read the file block by block until the end of it - */ -int readFile(FILE *f, int *size, char *buffer){ - int index = 0; - char c; - int end = 0; - - do{ - c = fgetc(f); - buffer[index] = c; - index++; - *size += 1; - - // End of the file, we stop it - if (c == EOF){ - buffer[index - 1] = '\0'; - index = BUFFER_SIZE; - end = 1; - } - }while(index < BUFFER_SIZE); - - return end; -} /* s -> path source d -> path destination diff --git a/src/caesar.h b/src/caesar.h index fbcb691..ef2b7a6 100755 --- a/src/caesar.h +++ b/src/caesar.h @@ -6,7 +6,6 @@ #include "functions.h" /* Functions */ -int foo(FILE *, int *, char *); int cryptCaesar(const char *, const char *, const int); int decryptCaesar(const char *, const char *, const int); diff --git a/src/functions.c b/src/functions.c index fcbb1eb..62c7e39 100755 --- a/src/functions.c +++ b/src/functions.c @@ -12,12 +12,35 @@ int fileExist(const char *path) { FILE *f=NULL; f=fopen(path,"r"); - if(f==NULL){ + if(f==NULL) return -1; - } fclose(f); return 0; } +/* + This function read the file block by block until the end of it + */ +int readFile(FILE *f, int *size, char *buffer){ + int index = 0; + char c; + int end = 0; + + do{ + c = fgetc(f); + buffer[index] = c; + index++; + *size += 1; + + // End of the file, we stop it + if (c == EOF){ + buffer[index - 1] = '\0'; + index = BUFFER_SIZE; + end = 1; + } + }while(index < BUFFER_SIZE); + + return end; +} /* path -> path source This function copy all characters of the file in the buffer diff --git a/src/functions.h b/src/functions.h index 526072f..877894b 100755 --- a/src/functions.h +++ b/src/functions.h @@ -5,8 +5,11 @@ #include #include +#define BUFFER_SIZE 4092 + /* Functions */ void usage(); +int readFile(FILE *, int *, char *); int fileExist(const char *path); int copyFile(const char *path, char *buffer); int addDataToFile(const char *data, const char *path); diff --git a/src/polybius.c b/src/polybius.c index 6ffd2da..042c74a 100644 --- a/src/polybius.c +++ b/src/polybius.c @@ -1,8 +1,12 @@ #include "polybius.h" -void cryptPolybius(const char *filename, const char *key){ +int cryptPolybius(const char *filename, const char *key){ char polybius[POLYBIUS_SIZE][POLYBIUS_SIZE]; + FILE *f = NULL, *fDst = NULL; + char data[BUFFER_SIZE]; + char dataEncrypted[BUFFER_SIZE]; + int size = 0, end = 0; generateSquarePolybius(polybius, key); @@ -11,6 +15,28 @@ void cryptPolybius(const char *filename, const char *key){ printf("%c ", polybius[i][j]); printf("\n"); } + // Open the file + f = fopen(filename, "r+"); + if (f == NULL) return -1; + + /*fDst = fopen(filenameDst, "w"); + if (fDst == NULL) { + fclose(f); + return -1; + }*/ + do { + end = readFile(f, &size, data); + + /********* Encryption **********/ + size = 0; + memset(data, 0, BUFFER_SIZE); + memset(dataEncrypted, 0, BUFFER_SIZE); + }while(end != 1); + /* Close files */ + fclose(f); + //fclose(fDst); + + return 0; } /* This function fill the polybius square @@ -49,11 +75,10 @@ void generateSquarePolybius(char polybius[POLYBIUS_SIZE][POLYBIUS_SIZE], const c for (int i = pos; i < ALPHABET_SIZE + pos; i++){ char c = 'A' + n; if (c != 'J'){ - - int res = findKeyInSquare(a, c); + int res = findKeyInSquare(a, c); - if (res == 0) - a[t++] = c; + if (res == 0) + a[t++] = c; } n++; } diff --git a/src/polybius.h b/src/polybius.h index 63b807e..bd73664 100644 --- a/src/polybius.h +++ b/src/polybius.h @@ -3,11 +3,12 @@ #include #include +#include "functions.h" #define POLYBIUS_SIZE 5 #define ALPHABET_SIZE 26 -void cryptPolybius(const char *, const char *); +int cryptPolybius(const char *, const char *); void generateSquarePolybius(char polybius[5][5], const char *); #endif