Në këtë projekt janë realizuar 11 komanda kryesore (3 nga faza e parë, 6 nga faza e dytë dhe 2 tjera nga faza e tretë) të cilat kanë edhe funksione(nënkomanda) tjera. Realizimin e tyre e kemi bërë me anë të gjuhës programuese Java.
- morse-code
- encode (Alfabetin latin e kthen në Morse kod)
- decode (Hyrjen si Morse kod e kthen në alfabet latin)
- beep (Hyrjen si alfabet latin e kthen në Morse kod dhe e shpreh me zë, për secilin karakter)
- caesar
- encrypt (Çdo karakter të tekstit hyrës e zhvendos për aq pozita sa është dhënë çelesi)
- decrypt (Cipher tekstin e zhvendos për aq sa është dhënë çelesi, por në anën e kundërt në krahasim me enkriptimin)
- brute-force (Provon 25 herë dekriptimin e një cipher teksti të dhënë, me 25 çelësa të ndryshëm)
- count
- lines (Numëron rreshtat në tekstin hyrës)
- words (Numëron fjalët në tekstin hyrës)
- letters (Numëron shkronjat në tekstin hyrës)
- symbols (Numëron simbolet në tekstin hyrës, pra pa i përfshirë numrat, shkronjat dhe hapësirat)
- characters (Numëron të gjitha karakteret në tekstin hyrës, anashkalohen vetëm hapësirat)
- vowels (Numëron zanoret në tekstin hyrës)
- consonants (Numëron bashkëtingëlloret në tekstin hyrës duke i zbritur numrin e zanoreve, hapësirave dhe simboleve nga gjatësia e tekstit hyrës)
- spaces(Numëron hapësirat në tekstin hyrës)
- create-user (Krijon një çift të publik/privat të RSA me emrat .xml dhe .pub.xml brenda direktoriumittëçelësave keys)
- delete-user (I largon të gjithë çelësat ekzistues të shfrytëzuesit.)
- export-key (Eksporton çelësin publik ose privat të shfrytëzuesit nga direktoriumi i çelësave.)
- import-key (Importon çelësin publik ose privat të shfrytëzuesit nga shtegu i dhënë dhe e vendos në direktoriumin e çelësave.)
- write-message (E shkruan një mesazh të enkriptuar të dedikuar për një shfrytëzues.)
- read-message (E dekripton dhe e shfaq në console mesazhin e enkriptuar.)
- create-user (Kjo komandë është zgjeruar ashtu që gjatë krijimit të shfrytëzuesit të kërkohet edhe fjalëkalimi.)
- delete-user (I largon të gjithë çelësat ekzistues të shfrytëzuesit dhe e fshin shfrytëzuesin nga databaza.)
- login (Teston çiftin shfrytëzues/fjalëkalim. Në rast suksesi lëshohet një token i nënshkruar i cili mund të përdoret për autentikim të shfrytëzuesit.)
- status (Jep informata rreth tokenit.)
- write-message (Kjo komandë është zgjeruar ashtu që të mund ta pranojë edhe opsionin --sender .)
- read-message (Kjo komandë është zgjeruar ashtu që nëse figuron pjesa e dërguesit/nënshkrimit në mesazh, atëherë do të tentohet verifikimi i atij nënshkrimi duke përdorur çelësin publik të dërguesit.)
- Së pari e bëni compile duke përdorur komandën: javac paketa\ds.java (sigurohuni të jeni në path-in e duhur)
- Së dyti, për të ekzekutuar një nga funksionet e programit duhet t’i shkruani komandat në këtë format:
-Per funksionin morse-code:
java paketa.ds morse-code encode/decode <text>/<morse code>
java paketa.ds morse-code beep <text>
-Per funksionin caesar:
java paketa.ds caesar encrypt/decrypt <key> <plain text>/<cipher text>
java paketa.ds caesar brute-force <cipher text>
-Per funksionin count:
java paketa.ds count lines/words/letters/symbols <text>
java paketa.ds count characters/vowels/consonants/spaces <text>
-Per komandën create-user:
java paketa.ds create-user <name>
-Per komandën delete-user:
java paketa.ds delete-user <name>
-Per komandën export-key:
java paketa.ds export-key <public|private> <name> [file]
-Per komandën import-key:
java paketa.ds import-key <name> <path>
-Per komandën write-message:
java paketa.ds write-message <name> <message> [file]
-Per komandën read-message:
java paketa.ds read-message <encrypted-message>
-Per komandën create-user:
java paketa.ds create-user <name>
-Per komandën delete-user:
java paketa.ds delete-user <name>
-Per komandën login:
java paketa.ds login <name>
-Per komandën status:
java paketa.ds status <token>
-Per komandën write-message:
java paketa.ds write-message <name> <message> [file] --sender <token>
-Per komandën read-message:
java paketa.ds read-message <encrypted-message>
morse-code
caesar
count
create-user
delete-user
export-key
import-key
write-message
read-message
create-user
delete-user
login
status
write-message
read-message
-
https://gist.github.com/Xyene/6478305?fbclid=IwAR3nkyPECY5aaOrOUDaYuoaWTlB5cCj8P6q2ZjaKqWYDydgeba2AQGK4_qc (Nga ku jemi bazuar për funksionin beep tek morse code)
-
https://www.thejavaprogrammer.com/caesar-cipher-java-encryption-decryption/?fbclid=IwAR2gvwtkMhrTBIQ4C6wxrD55jYZhD2kNldBwvgDVLd3jxFpsvJMfuMA0QUM (Në të cilin jemi mbështetur gjatë realizimit të funksionit caesar)
-
https://stackoverflow.com/a/5864174 (Këtu jemi bazuar për ta realizuar komanden words tek funksioni count)
-
https://www.tutorialspoint.com/generate-random-bytes-in-java
-
https://mkyong.com/java/jce-encryption-data-encryption-standard-des-tutorial/
-
https://www.tutorialspoint.com/java_cryptography/java_cryptography_creating_signature.htm