> Chápu to tedy správně, že můj veřejný i soukromý klíč musí mít k sobě nějaký vztah? (stejně jako proti strana) A že jeden bez druhého je jen "půl dešifrátora"?
Ano. Maji mezi sebou jasny (obvykle matematicky) vztah. Jeden bez druhehou jsou k nicemu.
Predstav si to treba tak (a jde o velke zjednoduseni), ze existuje rovnice
V + S = Z
Utocnik, ktery se dozvi V z nej nemuze odvodit S protoze nezna Z (coz je nejake cislo zname v dobe generovani verejneho a soukromeho klice). Ty znas S a jako jediny mas vsechna data nutna k tomu, abys tu rovnici vyresil.
V realu je to slozitejsi, ale treba u RSA ne o moc. Pouzivaji se tam mocniny a velmi velka prvocisla.
> Když jdu na stránky banky, tak se šifruje. Jak ale mohu věřit, že je ta stránka pravá?
U starsich certifikatu a prohlizecu musis kontrolovat zamecek (obvykle zluty vedle adresy nebo dole na status baru) a nesmi ti vyskocit zadne varovani.
U novejsich prohlizecu a stranek, ktere podporuji tzv. EV SSL certifikaty (banky by to mely podporovat) je zelene vedle adresy jmeno firmy, ktere byl EV SSL certifikat vydan. Kdyz na nem chvili nechas kurzor mysi, dozvis se ktera certifikacni autorita ho podepsala a ruci za jeho pravost.
> Potom ty certifikáty musí být už nějak v pc předem,ne?
Predem jsou v tvem PC (telefonu, tabletu) verejne klice certifikacnich autorit, ktere se tam dostanou s instalaci a aktualizaci systemu (treba a Windows + MSIE) nebo browseru (Firefox, Chrome, ...). Banka (nebo jina instituce) ti pri navsteve sve stranky posle svuj verejny klic, ktery musi byt podepsany soukromym klicem jedne z techto certifikacnich autorit, aby to "do sebe zapadlo". A jelikoz mas u sebe verejny klic dane certifikacni autority, jsi schopen overit pravost toho podpisu a tim padem plati ze dany verejny klic, ktery ti banka (napr.) poslala je opravdu jeji a nikdo ho nepodvrhl (treba po ceste). Visi to na duvere v kvalitu certifikacnich autorit, ale to uz neni technicka otazka.
> A nebylo by lepší a bezpečnější, kdybych zašel s usb klíčenkou do banky a tam si nahrál jejich certifikát?
Bezpecnejsi by to bylo. Jestli i lepsi je otazkou nazoru, protoze by to bylo neprakticke, slozite a drahe.
Certifikaty (a vsechny verejne klice) maji tzv. "fingerprint", ktery slouzi k tomu, aby se dala pravost certifikatu overit jinym kanalem, treba po telefonu. Teoreticky muzes zavolat na zakaznickou podporu banky a zeptat se, jestli certifikat, ktery ma SHA1 finterprint "39:51:72:(atd)" je opravdu jejich, ale vetsinou nepochodis. Maloktera instituce je na tenhle dotaz pripravena.
Kdyz pouzivas Skype, verejny a soukromy klic se generuje pri instalaci. U ICQ nevim jestli je vubes sifrovane, nepouzivam. Mail na Yahoo sifruje jenom tve pristupy na jejich stranky, maily mezi servery chodi nesifrovane (pokud se nechces bavit o sifrovani tela mailu nebo zvlastnich pripadech jako TLS mezi mailservery)
> Provideři jsou defakto Men in the midle,že?
Pise se "de facto"
Technicky vzato jsou MiM, protoze jsou na komunikacnim kanalu mezi tebou a druhou stranou (at uz je to kdokoliv nebo cokoliv). Ale obvykle se termin "man in the middle" pouziva pro pripady aktivniho nebo pasivniho zneuziti a z toho bych vsechny providery pausalne nepodezrival