» »

[c#] program za kodiranje besedil, gesel,...

[c#] program za kodiranje besedil, gesel,...

japol ::

Delam na preprostem programu, ki spremeni (zakodira) text ki je vpisan v textbox in kodo prikaže v drugem textboxu.
Trenutno sem uporabil te načine:
- z clasom Random (ne priporočajo, je možno prebrati)
- SHA512Managed
- RNGCryptoServiceProvider in Rfc2898DeriveBytes

Iščem pa še druge možnosti oz. kaj priporočate? Kaj je najboljše v primeru da želim nekaj zakodirati in da nazaj potek ni možen in kaj je najboljše v primeru da je možno nazaj odkodirati?
Kaj lahko uporabim kar visual studio že vsebuje in katere knjižnice obstajajo oz. jih priporočate?

Robocop1 ::

Če dekodiranje ni možno, potem je stvar neuporabna. Razen če delaš z gesli... geslo shraniš zakodirano, pri preverjanju pa vpisano geslo zakodiraš in ga primerjaš s shranjenihm. Druge prednosti v tem jaz ne vidim.

Sam že dolgo časa pišem programe, ki jih uporabljajo tudi drugi in pogosto je treba kakšno stvar zakodirati. Prav za take stvari sem napisal svoj kodirni algoritem (katerega ne bom sedaj tukaj razlagal). Zaupam v svoje.

black ice ::

Robocop1 je izjavil:

Zaupam v svoje.

Huda napaka.

Robocop1 ::

black ice je izjavil:

Robocop1 je izjavil:

Zaupam v svoje.

Huda napaka.


To mi je že marsikdo rekel, pa sem pred kratkim naredil preizkus: zbral sem ekipo sošolcev, ki obvladajo u nulo in jim dal za odkodirat tekst. Lahko bi sodelovali ali vsak zase, na koncu me je zanimal samo rezultat - za motivacijo sem ponudil tudi nagrado. Po enem mesecu truda se rešitvi nihče ni niti približal.

Mogoče sem preveč samozavesten, ampak se opiram na dejstva. Verjamem, da bi superračunalnik brez problema dekodiral moje podatke, ampak zato tudi pazim kaj kodiram.

Mesar ::

Robocop1 je izjavil:

Če dekodiranje ni možno, potem je stvar neuporabna. Razen če delaš z gesli... geslo shraniš zakodirano, pri preverjanju pa vpisano geslo zakodiraš in ga primerjaš s shranjenihm. Druge prednosti v tem jaz ne vidim.

Sam že dolgo časa pišem programe, ki jih uporabljajo tudi drugi in pogosto je treba kakšno stvar zakodirati. Prav za take stvari sem napisal svoj kodirni algoritem (katerega ne bom sedaj tukaj razlagal). Zaupam v svoje.


Robocop1 je izjavil:

black ice je izjavil:

Robocop1 je izjavil:

Zaupam v svoje.

Huda napaka.


To mi je že marsikdo rekel, pa sem pred kratkim naredil preizkus: zbral sem ekipo sošolcev, ki obvladajo u nulo in jim dal za odkodirat tekst. Lahko bi sodelovali ali vsak zase, na koncu me je zanimal samo rezultat - za motivacijo sem ponudil tudi nagrado. Po enem mesecu truda se rešitvi nihče ni niti približal.

Mogoče sem preveč samozavesten, ampak se opiram na dejstva. Verjamem, da bi superračunalnik brez problema dekodiral moje podatke, ampak zato tudi pazim kaj kodiram.


Še vseeno so verjetno amaterji v tem. Seveda si jim za takšne primerjave tudi razložil kako tvoj algoritem deluje v detajle in zagotovil ustrezno dokumentacijo? Tako kot za RSA, NTRU, itd. obstaja dokumentacija in vse kar paše zraven...

Btw, za šolski primer appa v C# je RSA implementacija čist dovolj.

Za one way mas pa sha1 + salt čist dovolj.
Your turn to burn!

Zgodovina sprememb…

  • spremenil: Mesar ()

mihies ::

Se strinjam s kritiko. Ne zaupaj v lastne rešitve. Ljudje, ki delajo te algoritme se zelo potrudijo, da delajo kot je treba. Pa še potem se pojavijo napake. na drugi strani imaš ljudi, ki se zelo trudijo najti način vdora.
Če ti skupina "sošolcev, ki obvladajo v nulo" ne znajo odkodirati, to ne pomeni prav nič.
Tudi Mesar-jeva rešitev je čisto v redu.
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/

LightBit ::

Če se hočes malo igrat z šifriranjem ti priporočam, da si pogledaš tele algoritme:
RC4 @ Wikipedia
Tiny Encryption Algorithm @ Wikipedia
RC5 @ Wikipedia

Looooooka ::

Razen če delaš z gesli... geslo shraniš zakodirano, pri preverjanju pa vpisano geslo zakodiraš in ga primerjaš s shranjenihm

To ni varno. Ravno zato mamo potem novice na slo-techu, da so bila odtujena gesla. Če ti znajo vdret v strežnik potem jim seveda ni težko pogledati na kakšen način si kriptiral vsa gesla in jih potem lepo dekriptirajo.
Shranjuje se samo hash...pa naj se grejo potem slikat.

napsy ::

Sam hash pri shranjevanju ni dovolj. The proper way je zasolit geslo (salt). To je nek random niz znakov, ki se doda k geslu (ali hash gesla) in se nato se enkrat zgenerira hash. Beri Salt (cryptography) @ Wikipedia
"If you die, you die. But when you live you live. There is no time to waste."

Yacked2 ::

Robocop1 je izjavil:

black ice je izjavil:

Robocop1 je izjavil:

Zaupam v svoje.

Huda napaka.


To mi je že marsikdo rekel, pa sem pred kratkim naredil preizkus: zbral sem ekipo sošolcev, ki obvladajo u nulo in jim dal za odkodirat tekst. Lahko bi sodelovali ali vsak zase, na koncu me je zanimal samo rezultat - za motivacijo sem ponudil tudi nagrado. Po enem mesecu truda se rešitvi nihče ni niti približal.

Mogoče sem preveč samozavesten, ampak se opiram na dejstva. Verjamem, da bi superračunalnik brez problema dekodiral moje podatke, ampak zato tudi pazim kaj kodiram.


Hahahhaha res profesionalci tele tvoji "sošolci" hahahahhahahaha.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

mihies ::

In če hočeš še malo varneje, potem uporabiš SHA-512 ali bcrypt. Slednji zna biti še najboljša izbira, ker je algoritem za ugibanje počasnejši.
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/

Looooooka ::

napsy je izjavil:

Sam hash pri shranjevanju ni dovolj. The proper way je zasolit geslo (salt). To je nek random niz znakov, ki se doda k geslu (ali hash gesla) in se nato se enkrat zgenerira hash. Beri Salt (cryptography) @ Wikipedia

Normalno.
Važno, je da se ne shranjuje kriptiranih gesel :)

Če pa še kdo verjame v shranjevanje kriptiranih gesel naj se vpraša zakaj ima čedalje manj strani možnost, da ti staro geslo pošljejo po mailu in ti po "novem" dajejo zgolj opcijo, da ustvariš novo oziroma ti novo geslo že pošljejo po emailu.

Zgodovina sprememb…

LightBit ::

mihies je izjavil:

In če hočeš še malo varneje, potem uporabiš SHA-512 ali bcrypt. Slednji zna biti še najboljša izbira, ker je algoritem za ugibanje počasnejši.

Ali še boljše scrypt.
Samo to je že kar zakomplicirano, ker rabiš nek MAC (recimo SHA2 + HMAC), PBKDF2, Salsa20 in scrypt ni enostaven.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Geslo iz hasha in soli

Oddelek: Programiranje
61057 (797) bobby
»

Facebook več sto milijonov gesel hranil v besedilni obliki

Oddelek: Novice / Zasebnost
318502 (5751) MrStein
»

Na internet pobegnilo 773 milijonov elektronskih naslovov in gesel (strani: 1 2 )

Oddelek: Novice / Zasebnost
5918018 (11827) MrStein
»

Razbijanje gesel z GPU je realnost (strani: 1 2 3 )

Oddelek: Novice / Varnost
10228980 (23411) MrStein
»

Sony PlayStation Network nazaj prihodnji teden, številke kreditnih kartic so bile šif

Oddelek: Novice / Zasebnost
4914612 (13272) opeter

Več podobnih tem