IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Simple File Encryptor

Máte v počítači súbor, ktorý obsahuje nejaké citlivé informácie (heslá, zmluvy, dokumenty, fotografie, videá, nahrávky alebo niečo iné, čo chcete chrániť)? Potom táto aplikácia je to, čo hľadáte. Pravda, ochrana vašich súborov pravdepodobne neobstojí pred špecialistov tajných služieb, ale vaši priatelia, rodina alebo ľudia, s ktorými zdieľate počítač, nemajú takmer žiadnu šancu dostať sa k vašim informáciám. Ani správcovi systému, ktorí nepotrebujú heslo k vášmu Windows účtu, aby sa dostali k vašim súborom.

Aplikáciu som napísal pre vlastnú potrebu niekedy na jar 2020, pretože som nemohol nájsť na internete nič dostatočne jednoduchého a spoľahlivého, čo by plnil rovnakú funkciu a zároveň som mal vďaka koronavirovým prázdninám fúru voľného času.

Súčasný stav

Na účely súťaže som aplikáciu značne vylepšil. Jedným z hlavných rozdielov je schopnosť šifrovať a dešifrovať akýkoľvek typ súborov, vrátane binárnych (napríklad súbory aplikácií Office alebo s príponou .pdf). Ďalším rozdielom je pridanie prípony .ecp k zašifrovaným súborom, ktorá umožňuje okamžite rozlíšiť súbor zašifrovaný od nezašifrovaného, aj keď napríklad majú rovnaký názov. V neposlednom rade bola zvýšená bezpečnosť šifrovanie zašifrovaním samotného hesla pred jej použitím.

Plány do budúcna

Ak budem mať čas a motiváciu pokračovať vo vylepšovaní aplikácie, rád by som pridal nasledujúce funkcie:

  • Možnosť vybrať zložku a zašifrovať / odšifrovat všetky súbory v nej naraz
  • Nastaviť súborom s príponou .ecp nejakou ikonu, ktorá by sa u nich zobrazovala v prieskumníkovi súborov
  • Umožnenie dešifrovanie súboru s príponou .ecp jednoduchým jeho otvorením a zadaním hesla do vyskakovacieho okna
  • Hromada ďalších vecí, na ktoré si teraz nespomínam

Ako to funguje

Aplikácia šifruje súbory na princípe vylepšené Vigenèrovy šifry. Tá funguje na princípe sčítanie znaku v šifrovanom textu a hesle. Rozdiel medzi obyčajnou Vigenèrovou šifrou a tou použitú spočíva v tom, že nie sú kódované jednotlivé znaky, ale jednotlivé bajty. Súbor je (postupne) prečítaný ako séria bajtov (číslo 0 až 255) a následne sa do takejto formy prevedie aj zadané heslo. Následne sa len spočíta prvý bajt súboru s prvým bajtom heslá a výsledok prepíše prvý bajt súboru. Heslo je zopakované toľkokrát, aby malo rovnakú dĺžku ako súbor. Pri dešifrovanie je postup rovnaký, ale namiesto pridania bajtov sa bajty odpočítajú.

Vzhľadom k tomu, že pôvodné heslo, ani jeho odtlačok (hash) sa do zašifrovaného súboru neukladajú, je možné pre dešifrovanie použiť akékoľvek heslo, pretože aplikácie nespozná, či je správne či zlé. Dôsledkom použitia zlého hesla je však nečitateľný a poškodený súbor. Niektorí toto môžu považovať za výhodu, iní za nevýhodu.

Tvorcovia

  • 8-) Jan Štěch (ja)

Programovacie jazyky

Aplikácia je naprogramovaná v jazyku C# a využíva technológiu WinForms.

Ľudské jazyky

Aplikácia je anglicky, avšak pochopiť jej fungovanie by nemalo byť ťažké ani pre tých, ktorí sami anglicky nevedia.

Hodnotenie poroty

Tento projekt sa zúčastnil súťaže ITnetwork summer 2020.

porotca bodov hodnotenie
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
David Čapka
8.5 Program robí to, čo sa od neho očakáva a robí to dobre. Zaujímavé je, že sa nebojí rovno zmazať pôvodný súbor a nahradiť ho zašifrovanú kópií, je tam ale potvrdenie a zaistí sa tým, že bude naozaj len zašifrovaný, takže prečo nie. Určite by bolo zaujímavejšie použiť nejaký skutočný šifrovací algoritmus, tyhle substitučnú šifry sú skôr také akademické hračky, binárky v sebe majú bežne nejaké známe sekvencie hlavičiek pre operačný systém, ktoré obsahujú aj ASCII texty, takže teoreticky nie je problém frekvenčný analýzou prísť na heslo. Samozrejme to prakticky nikto neurobí, bolo by k tomu potreba veľa vedomostí a času a tie aj zmiňuješ, že ide skôr o rodinné využitie. Pri dešifrovanie by sa malo zobrazovať asi iné potvrdenie, ktoré by vysvetľovalo, čo sa môže stať. Inak k tomu asi nemám výhrad, keby si to chcel nejako výraznejšie propagovať, urobil by som krajší a jednoduchšie UI.
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
Samuel Hél
8 Aplikácia funguje správne, ako by mala. Jej ovládanie je jednoduché, tak to môže bez problémov využiť aj úplný laik. Páči sa mi funkcia zmazanie súboru, ktorý bude zašifrovaný, aspon nezostane nezašifrované kópie súboru. Čo sa týka bezpečnostného algoritmu, tak si tým nie som úplne istý. Taktiež je veľmi zlé, ak niekto bude chcieť dešifrovať súbor so zlým heslom. Súbor sa potom zle dešifruje, bude nečitateľný (OK), lenže pôvodný majiteľ sa k pôvodným dátam už nedostane. Ak teda nemá zálohu, tak je jeho súbor navždy stratený. Tento systém je však dobrý, ak by niekto robil Brute-force útok. Pre domáce použitie je program asi vhodný, ale dal by som si pozor na tú kópiu.
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
michal Čapka
8 Jednoduchá, intuitívna aplikácia, ktorá plní svoju funkciu. Určite si dokážem predstaviť, že by som pre ňu ja sám našiel využitie.

Galéria


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 13x (567.26 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Všetky články v sekcii
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
Program pre vás napísal Jan Štěch
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v PHP a vývoji webových aplikací, současně se snaží zdokonalovat v jazyce C#
Aktivity