Diskuze: Vyplatí se udělat si vlastní šifrovací algoritmus?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 34 zpráv z 34.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Chtěl bych se zeptat jestli se vyplatí udělat si vlastní šifrovací algoritmus.
Ne.
... ale člověk může spoléhat jen sám na sebe
No to právě že takhle neplatí...
TL;DR vlastní šifrovací algoritmus, pokud nejsi dost velkej borec, což nejsi (sorry jako, nikdo z nás tady není), nemá smysl dělat a je lepší i bezpečnější použít známé a ověřené.
Tak co třeba starý dobrý AES - https://en.wikipedia.org/…ion_Standard
Samozřejmě v jeho silném podání AES-256.
Myslím, že neexistuje jediný případ, kdy by vlastní kryptografické
řešení (třeba i od relativně "profi" firem) nedopadlo naprostou katastrofou
v momentě, kdy ho někdo opravdu chtěl prolomit.
Tedy pokud nejsi světová špička v kryptografii (což nejsi), ani nemá smysl
o tom uvažovat.
To je asi přesně to co jsem potřeboval slyšet.
Díky
No, je tam vysvězleno proč.
>
ale ptám se , protože teoreticky útočník musí rozluštit kód k
dešifrování a pak musí zjistit klíče k dešifrování a ty klíče by
měli být unikátní, vezmou nějaké hodnoty a podle toho dešifrují
Dost často se veřejně udává, jaké algoritmy se používají. Znalost či neznalost algoritmu o ničem nerozhoduje, možná je i jeho veřejná znalost v jistém ohledu bezpečnější.
ale ptám se , protože teoreticky útočník musí rozluštit kód k dešifrování a pak musí zjistit klíče k dešifrování a ty klíče by měli být unikátní, vezmou nějaké hodnoty a podle toho dešifrují
Bohužel tomu nerozumím kvůli naprosté absenci interpunkce, ale dohromady
s "Omylem tu šifru spíše směruji k ceaserově šifře
" mi
připadá, že nerozumíš principu kryptografie (nebo spíš filozofii).
Všichni ví, jak se šifruje a všichni dělají úplně to
samé - proto je to bezpečné, protože hromada hodně velkých borců mohla
vidět, jak to pracuje a mohli se shodnout, že to je bezpečné. Jediné, co se
mění jsou klíče (a soli, IV atp.) Kdyby bylo tajné, jak se šifruje a
třeba by ten algoritmus ani neměl klíče (viz Caesarova šifra), je problém,
že jakmile to někdo prolomí, všechno, co jsi tím kdy zašifroval je
automaticky čitelné. Takovýto způsob je možná použitelný před 2000 lety
nebo ve hře na dětském táboře, ale je k smíchu v IT.
klíče by měli být unikátní
Klíče nejsou nutně unikátní, rozhodně neexistuje jen jeden klíč, ale existují jich strašlivé hromady, protože si každý vygeneruje vlastní klíč.
Možná narážíš na nejednoznačnost českého slova "klíč", které
může také znamenat způsob, jakým se něco dělá - v IT takto "klíč"
použít nelze jinak než možná ke zmatení nepřítele
Petr Čech - 'neexistuje jediný případ' - Mno, mozna by se par naslo. Napr jakasi firma sifruje maily. Ale asi k tomu pouziva klasicke RSA.
Tomáš Martin Holub - Jak pise P. Cech. Vetsina vlastnich reseni skonci
katastrofou. Bud se to proflakne nebo z nejakeho duvodu nastane porucha a to
sifrovane uz nikdo nerozlusti
Jestli sledujes zive.cz, root.cz, tak tam je obcas zminka o tom, ze opravuji chyby v zabezpeceni techto sifer. Kazdou chvili to tam bylo behem posl. pul roku. Takze, zadne reseni neni bezpecne.
A pak, vis, kdo ten sifrovaci program pripravuje? Ono to muze byt tak, ze to zverejnuji clenove skupin jako FBI, CIA. Ti udelaji nekterou cast super. Ale soucasne maji v reseni nekolik zpusobu, jak se dostat ke zdroji zpravy. Algoritmus muze byt v poradku, ale sabotuji vnejsi zdroje, ovladnou server s klici a podstrci tam vlastni, treba. Ostatne, to se nedavno stalo. Jakysi router presmeroval komunikaci na urcitem uzemi pres sebe a rozesilal vlastni certifikaty a cast komunikace preposilal jinam.
Cili, ano, vlastni reseni je dobre. Ale musis pocitat s tim, ze se k dekodovacimu programu muze dostat hacker. At uz jenom nahodou, ze zrovna monitoroval veskery ftp prenos na server nebo zachytil tebou posilana hesla uzivateli.
Udelat vlastni program neni problem. Musis si jen vybrat zpusob. Muzes sifrovat treba nakolika slovy najednou. Pokud utocnik zna algoritmus a dekodovani zavisi jen na tipovani, tak lze zapojit i kvantove procesory nebo superpocitace a vysledky mas do par minut, mozna hodin.
text + znak = caesarova sifra
klonuj(slovo1) = slovo1slovo1slovo1slovo1...
text + klonuj(slovo1) + klonuj(slovo2) + klonuj(slovo3) = text + smes = jina
smes (Slova muzes tipovat, v prumerne knizce se pouziva 20.000-30.000 v cestine.
To je i se sklonovanim)
Jednoduche sifrovani je xor s predchozim znakem. Dekodovani je xor s
predchozim znakem. Jednoduche
Jak uz bylo receno. Nez vymyslet vlastni reseni, lepe se spolehnout na jiz
pouzivane. I za cenu, ze dojde k uniku, pokud nekdo objevi chybu v algoritmu. Za
2 roky nebudes vedet, jak tvuj algoritmus funguje. A pokud dojde k poruse,
prijdes o data, program, nebudes schopen napsat znovu kodovaci, dekodovaci
program.
To mas jako s hrami a dvd. Neustale vymysli ruzne ochrany a a hackeri i bez
kvantoveho pc dokazi do jednoho nebo par mesicu ten kod prolomit nebo zcizit.
Nedavno byl clanek, ze opet padla nejnovejsi ochrana dvd a na webu se objevili
nesifrovane filmy.
Byt hacker, jak bys to resil ty? Jednoduse. Vytvorim program na dekodovani. Udelam si ucet s bitcoiny. Nazvu to tezbu cryptomen. Ty si nainstalujes program, stahnes od nej zadani. Propocitas, posles zpet. Dostanes bitcoiny. Hacker zapoji furu pocitacu, ktere provedou dekodovani napr certifikatu microsoft jako jeden velky superpocitac.
Na ukládání hesel pouzivam -> password_hash($text, PASSWORD_BCRYPT);
a na kontrolu password_verify();
Na rozdil od jednoduchych alogoritmu password_hash uklada i ten stejny text
podruhe uplne jinak narozdil od jinych funkci. password_verify() pak vraci true
nebo false, podle toho zda heslo sedi. Doporucuju pouzivat tuto funkci. Ver tomu
ze i ti nejlepsi hackeri si u toho nejakej patek posedej
Umm, myslím si, že zde byla řeč o šifrování a né hashování..
Pokud chce získat data i zpětně tak je s prominutím tvůj komentář zcela
irelevantní k této diskusi.
ALE! Výborně, že používáš správný způsob k ukládání hesel!
Dobře, takže je možnost si udělat vlastní šifrovací algoritmus,ale je to neefektivní a vždy to nefunguje na 110%
Omlouvám se. diskuzi jsem nestihl celou přečíst Teď zírám co jsem to sem napsal,
musel sem být asi trochu mimo když se mi popletli pojmy šifrování a hashing
Jinak co se týče
šifrování tak asi nejznámější je AES-256, kterou používám. Vymýšlet
něco vlastního je ale běh na dlouhou trať
Ok, takže jestli chápu dobře z diskuse tak je tam ta možnoat udělat si vlastní šifrovací algoritmus,ale moc se to nedělá, je to docela těžké a neefektivní.
Nic ti nebrání udělat si vlastní šifrovací algoritmus, je to algoritmus jako každý jiný, nic speciálního na tom není. Ale protože nejsi expert, tak stejně jako tobě nic nebrání ve vytvoření vlastního šifrování, nebude útočníkovi moc bránit v jeho prolomení, protože nevíš, jak udělat bezpečný šifrovací algoritmus.
A proto jsem vytvořil tuto diskusi,protože jsem se chtěl zeptat jestli s tím někdo nemá zkušenosti popř. tipy- triky
Ok, takže jestli chápu dobře z diskuse tak je tam ta možnoat udělat si vlastní šifrovací algoritmus,ale moc se to nedělá, je to docela těžké a neefektivní.
Přístup dnešní kryptografie (držený už takových pár desítek let)
tkví v otevřenosti – jediné, co je drženo v tajnosti, jsou klíče.
Usnadníš tak život různým výzkumníkům, kteří takový algoritmus pak
snadno mohou podrobit svým analýzám aniž by jej museli dekompilovat (což je
tak akorát otrava ).
Historicky (i v druhé světové válce a ve Studené válce) se používal i
princip utajování algoritmů, ale jak se můžeš dočíst, mělo to jisté
zásadní nevýhody.
Pokud si chceš udělat vlastní algoritmus, řekněme symetrickou šifru (jako DES, AES...), tak by sis měl přečíst hodně o tom, jak jsou tyhle věci navrhované a z jakých menších bloků se skládají. Například se podívej na Feistalovu síť, to je primitivum, na kterém staví dost šifer dnes považovaných za bezpečné. Vydávat se neprobádaným směrem (kterým svým způsobem vznikl AES – místo ověřených postupů se použilo trochu víc matematiky) moc nedoporučuji.
A nebo můžeš chvíli počkat, jelikož mám v notebooku článek o symetrických šifrách z trochu teoretického pohledu. Říkal jsem si, že jej sem dám, až jich (článků) bude více, ale to by mohlo trvat dlouho.
Jestli sledujes zive.cz, root.cz, tak tam je obcas zminka o tom, ze opravuji chyby v zabezpeceni techto sifer. Kazdou chvili to tam bylo behem posl. pul roku. Takze, zadne reseni neni bezpecne.
Většinou se jedná buď o prolomení/nalomení jednodušších variant šifer, nebo o napadení složitějších protokolů, na těch šifrách postavených (kde problém není v té šifře samotné, ale ve způsobu použití).
Díky takže asi použiju vlastní šifru,ale ještě budu dlouho na ní pracovat aby byla co nejbezpečnější.
Díky takže asi použiju vlastní šifru,ale ještě budu dlouho na ní pracovat aby byla co nejbezpečnější.
Podle mě je to zbytečná námaha . Otázka je, co tak důležitého potřebuješ utajit, že
nevěříš dostupným prostředkům.
Spíš ne že bych tomu nevěřil, ale jsem moc velký prase na to abych
instaloval jeden soubor A taky
bych si to chtěl alespoň zkusit a myslím že to co budu šifrovat stejně
nebude moc podstatné.
Myslíš že uděláš lepší šifru než světoví experti na bezpečnost?
No, šifru mně dostačující nejspíše ano
Už len z toho, že si tú otázku vôbec položil, vyplýva odpoveď "nie". A z obsahu tej otázky, ako, vyplýva, že to nemáš ani len skúšať. A záverom hádam len, že neexistuje nič také ako "mne dostačujúca šifra". Šifrovanie má obstáť pred útočníkmi, nie pred tebou.
Máš pochybnosti že to chceš nedokážeš nebo to nemá smysl? Čelit pochybnostem se dá jen tak, že se o to pokusíš! Rozumíš? Když Ti řeknu, že abys viděl jasně měsíc, musíš se koukat do louže. Budeš se koukat do louže? Ne! Budeš se koukat na oblohu. Netvrdím ani nedokáži říci, že ta cesta bude krátká a úspěšná, ale pokud se po ni vydáš, dost toho poznáš co se Ti může v budoucnu hodit. Každá cesta, at je krátká nebo dlouhá, začíná prvním krokem. A jen ten, kdo se o to pokusí, pozná, jak dlouhá byla...
Asi před 4 hodinami jsem se koukal na videa o počítačové
kryptografii,šifrách, asynchronních šifrách apod. a je to neskutečně
obsáhlé,ale začíná mě to docela bavit
No, kdyz myslis
On algoritmus muze byt dobry. Ale zpusob jeho realizace miva obvykle vic der ne
jiz hotove. Samozrejme, dirou je i spolehat se na cizi reseni. Oni ti dodaji
treba funkcni reseni. Pak udelaji upgrade. A nove reseni bude generovat klice z
nejake jejich databaze.
To si proste nevyberes
Jako jednoduche reseni vidim prave ten xor. Pak nejak zmenis poradi znaku . A
uz to nikdo neda dohromady
(n+1) = (n+1) xor (n)
Nebo, ma oblibena BTW, (pouziva ji zip, napr) ktera obsah zpravy v podstate
seradi. A ke spravnemu poradi pak slouzi jedine cislo, poloha pocatecniho
znaku.
Nebo k zapisu 1 znaku muzes pouzit 1-3 znaky. Kde treba si urcit vzor, ze platny
je jen znak
2, 1, 3, 1 a doplnis nahodnymi znaky. Nebo udelas normalni platna slova.
xahxxoj
zahni-o-jeden-krok-vlevo = a ted si z toho zkus neco vylustit
Neni problem si udelat tabulku slov a vzdycky vybrat nejake slovo vhodne do
vety. A kdyz to nejde, tak to nejde, tak tam das schvalne nejaky nesmysl. A v
jednom z nesmyslu treba snadno zamaskujes i poradi tech pismen, klic.
To je síce pekné, že ťa to začína baviť, ale vyberiem ťa z omylu.
Dnešná kryptografia nie je nič iné ako matematika. Hodne vysoká matematika.
Ak sa tomu chceš venovať na úrovni "vlastných" šifier, nepomôže ti nič
iné ako príslušná vysoká škola. Ideálne aspoň dve. Plus doktorát aspoň
na jednej z nich. TO ti dá dostatok informácií na ZMYSLUPLNÉ premýšľanie
o vlastnej šifre. NIČ INÉ NEPOMÔŽE. Bez toho, rokov driny, sa o šifrovanie
môžeš zaujímať len z užívateľského hľadiska. Ako s programovaním.
Môžeš byť dosť dobrý programátor v nejakom jazyku, ale to neznamená, že
si schopný naprogramovať vlastný, na zmysluplnom podklade. Ak sa o to
pokúsiš bez príslušného akademického pozadia, pohoríš. To isté so
šifrovaním. Môžeš sa maximálne tak naučiť ako do svojho programu
zaimplementovať už existujúce šifrovacie algoritmy. Ale nie vytvoriť
vlastný algoritmus. Inak zasa pohoríš. Avšak ... možno aj to by stačilo
aby bol o teba záujem. Naučiť sa ako správne používať už existujúce.
Pretože dnes a denne sú weby hackované nie preto, že existujúce algoritmy
sú nedostatočné. Ale preto, že niekto následne nevyužije kryprograficky
dostatočne silné náhodné čísla, že opakovane použije inicializačný
vektor, atď, atď... Ktorú cestu si vyberieš, to už je na tebe a tvojich
možnostiach. Ale dovtedy stále platí ... nerob nič okolo šifrovania sám,
bude to, jemne povedané, kontraproduktívne Howgh
Jo, a pozor. Pokud bys ted klic nechal jen v programu a mel porad stejny a sifroval takhle treba hesla uzivatelu, tak staci se zaregistrovat se stejnym znamym heslem a zcizit databazi. Rozdil obou retezcu ti urci shodne znaky, polohu znaku a pokud ty znaky odpovidaji textu, ktery znas, mas dekodovaci klic pro dalsi hesla jinych uzivatelu.
Koukal jsem se na videa o kryptografiia je tam mnoho způsobů jak šifry prolomit a jak je zabezpečit: Taky jsem zjistil jaká kombinace je nejlepší- jednosměrný širovací algoritmus + generátor náhodných čísel.
Zobrazeno 34 zpráv z 34.