Wprowadzenie


Co to jest kryptografia?

Dziedzina kryptografii została rozbudowana, linie podziału na to co jest a co nie jest a co nie jest kryptografią stały się niewyraźne. Dziś kryptografię można podsumować jako badanie technik i aplikacji, któe zależą od istnienia trudnych problemów. Kryptoanaliza jest bdaniem tego jak pokonać mechanimzy kryptograficzne a kryptologia jest dyscypliną połączonych kryptografii i kryptoanalizy. Dla większości ludzi , kryptografia jest kojarzona z utrzymaniem prywatności korespondencji. W rzeczywistości, ochrona wrażliwych danych była celem kryptografi przez większość swej historii. Jest to jednak tylko część dzsiejszej kryptografii. Szyfrowanie jest przekształcaniem danych na postać która jest ,jak tylko możliwe, niemożliwa do odczytanie bez odpowiedniej wiedzy (klucza). Jej celem jest zapewnienie prywatności przez ukrywanie indformacji przed nieupoważnionymi osobami, nawet tych którzy mają dostęp do zaszyfrowanej wiadomości. Deszyfrowanie jest odwrotnością szyfrowania; jest przekształceniem danych zaszyfrowanych z powrotem do zrozumiałej postaci. Szyfrowanie i deszyfrowanie na ogół wymagają stosowania pewnych tajnych informacji, do których odnosimy się jako do klucza. Dla pewnych mechanizów szyfrowania. ten sam klucz służy do szyfrowania i deszyfrowania, dla innych mechanizmów, klucze używane do szyfrowania i deszyfrowania są różne. Dzisiejsza kryptografia jest czymś więcej niż szyfrowanie i deszyfrowanie. Uwierzytelnienie jest fundamentalną częścią naszego życia, tak jak prywatność. Używamy uwierzytelnienia przez całe nasze życie - kiedy podpisujemy się na dokumentach papierowyh, lub używamy technik uwierzytelniania w świecie elektronicznym. Kryptografi dostarcza takich mechanizmów dla takich procedur. Podpis cyfrowy łączy dokument z posiadaczem określonego klucza, poodczas gdy cyfrowa sygntura czasowa łączy dokument z jego utworzeniem w określonym czasie. Te kryptograficzne mechanimzu mogą być używane do kontroli dostępu do współdzielonych napędów dyskowych, instalacji wysokiego bezpieczeństwa lub kanałów TV pay-per-view. Dziedzina kryptografii obejmuje również inne zastosowania. Za pomocą kilku podstawowych narzędzi kryptograficznych, można budować skomplikowane systemy i protokoły, które pozwalają nam płacić elektronicznm pieniądzem, udowadniać ,że znamy pewne informacje bez ujawniania samej informacji, współdzielić tajemnicę w taki sposób, że współdzielony podzbiór może zrekonstruować tajemnicę. Podczas gdy współczesna kryptografia jest coraz bardziej zróżnicowana, krytpografia jest zasadniczo oparta o problemy które są trudne do rozwiązania. Problwem może być trudny ponieważ jego rozwiązanie wymaga wiedzy tajemnej, takiej jak odszyfrowanie zaszyfrowanej wiadomości lub podpisanie pewnych cyfrowych dokumentów. Badania prowadzone przez Rivesta i Brassarda stanową znakomite wprowadzenie do współczesnej kryptografii.

Jakie są najpopularniejsze techniki kryptograficzne?

Są dwa typy kryptosystemów: tajnego klucza i klucza publicznego.W krytpografii tajnego klucza, do której odnosimy się jako kryptografii symetrycznej, ten sam klucz jest używany zarówno do szyfrowania jak i deszyfrowania.. Najpopularniejszym kryptosystemem klucza tajnego jest system DES, Data Encryption Stnadard. Zaprojektował go IBM , w połowie lat siedemdziesiątych. W kryptografii klczem publicznym, każdy użytkownik ma klucz publiczny i prywatny. KLucz publiczny jest udostępniany publicznie pdczas gdy klcuz prywatny pozostaje tajny, Szyfrowanie jest wykonywane kluczem publicznym ,podczas gdy deszyfrowanie jest wykonywane kluczem prywatnym. Krytposystemem klucza publicznego RSA jest najpopularniejszą formą kryptografii kluczem publicznym. RSA oznacza, Rivest, Shamir i Adleman, twórców kryptosystemu RSA. Digital Signatur Algorith (DSA) jest również popularną techniką klucza publicznego, chociaż może być używana tylk dla podpisów a nie szyfrowania. Kryptosystem krzywej eliptycznej (ECC) są kryptosystemami opartymi na obiektach matematycznych zwanych Krzywymi Eliptycznymi. Kryptografia krzywej eliptycznej zyskuje na znaczeniu. W końcu protokół uzgadniania klucza Diffie-Hellmana jest popularną techniką klucza publicznego dla ustanawaiania tajnego klucza przez niezabezpieczony kanał.

Jak jest stosowana kryptografia?

Kryptografia jest bardzo przydatna; ma wiele zastosowań. Typowym zastosowanie jest system zbudowany z podstawowych technik. Systemy te mogą być o różnym stopniu złożoności. Najprostszym jest bezpieczna komunikacja,identyfikacja, uwieryztelenie i tajne udostępnianie. Bardziej zaawansowane zastsoowanie obejmuje systemy dla handlu elektronicznego. certyfikacji. bezpiecznej poczty elektronicznej, odzyskiwania klucza i bezpiecznego dostępu do komputera. Ogólnie rzecz biorąc, im mniej złożone zastosowanie, tym szybciej staje się rzweczywistością. Identyfikacja i uwierzytelnienie mają szerokie zastosowanie.
Bezpieczna komunikacja
Bezpieczna komunikacja jest nasprostszym zastosowaniem kryptografii. Dwie osoby mogą bezpieczenie komunikować się za pomocą zaszyfrowanych wiadomości wysyłanych między sobą. Można to zrobić w taki sposób ,że strona podsłuchując może nie być w stanie odczytać wiadomości. Dzięki rozwojowi kryptografi z kluczem publicznym, istnieją narzędzia do tworzenia dużych sieci, które mogą bezpiecznie komunikować się ze sobą, chociaż niogdy przed tem tego nie robiły
Identyfikacja i uwierzytelnianie
Identyfikacja i uwierzytelnianie są dwoma szeroko stosowanymi zastosowaniami kryptografii. Identyfikacja jest procesem weryfikacji tożsamości kogos lub czegoś. Na przykład, kiedy wycofujemy pieniądze z banku, kasjer prosi nas o dokument (np. prawo jazdy) aby zweryfikować tożsamość właściciela konta. Ten sam proces może być dokonany elektronicznie przy użyciu kryptografii. Każda karta do bankomatu związana jest z "tajnym" osobistym numerem identyfikacyjnym (PIN), który Związany jest z właścicielem a zatem i kontem. Kiedy karta jest wkładana do bankomatu, prosi on właściciela karty o PIN. Jeśli wprowadzony jest właściwy PIN, maszyna identyfikuje tą osobę jako właściciela i udziela dostępu. Innym ważnym zastosowaniem kryptografii jest uwierzytelnianie. Uwierzytelnianie jest podobne do identyfikacji, oba pozwalają jednostce na dostęp do zasobów (takich jak konta internetowe), ale uwierzytelnianie jest szersze ponieważ nie musi to oznaczać identyfikacji osoby lub jednostki. Uwierzytelnianie określa jedynie, czy osoba lub podmiot jest uprawniony do dostępu.
Udostępnianie tajemnicy
Inne zastosowanie kryptografii , nazywane udostępnianiem tajemnicy, pozwala na dystrybucję zaufanej tajemnicy między grupą ludzi. Na przykład w schemacie progu (K,N), informacja o tajemnicy jest dystrybuowana w taki sposób ,że dowolne K z N ludzi (K < N) ma dość informacji dla określenia tajemnicy ,ale dowolny zbiór K-1 ludzi nie. W schemacie udostepniania tajemnicy, są wyznaczone zbiory ludzi,któym łączna informacja wystarcza do określenia tajemnicy .W pewnych implementacjach schematów współdzielenia tajemnicy, każdyu uczestnik otrzymuje tajemnicę po tym jak został wygenrowany.
Handel elektroniczny
W ciagu kilku ostatnich kilku lat nastąpił wzrost ilosci transakcji przeprowadzanych przez Internet - ta formaa działalności nazywa się handlem elektronicznym lub e-commerce. E-commerce składa się z bankowości on-line, brokerskie rachunki on-line i zakupy przez Internet, aby wymienić tylko kilka z wielu zastosowań. Można rezerwować bilety lotnicze, zarezerwować pokój w hotelu, wynająć samochód, przelać pieniądze z jednego konta na drugie, kupić płytyu DVD, ubrania, książki itd, siedząc przed komputerem. Jednak wpisanie numeru karty kredytowej w Internecie pozostawia pole do nadużyć. Jednym z kryptograficznych rozwiązań tego problemu jest szyfrowanie numeru karty kredytowej (lub innych prywatnych informacji) gdy jest wprowadana on-line,innym jest zabezpieczenie całej sesji. Kiedy komputer szyfruje tą informację i wysyła do Internetu, trudno zrozumieć to trzeciej osobie. Serwer sieciowy ("Internetowe centrum handlowe") otrzymuje zaszyfrowane informacje, deszyfruje je, i przystepuje do sprzedaży bez strachu , że numer karty kredytowej (lub inne informacje osobiste) dostanie się w niepowołane ręce. Ponieważ coraz więcej przedsiębiorstw jest prowadzonych przez Internet, potrzebna jest ochrona przed nadużyciami finansowymi, kradzieżami.
Certyfikacja
Innym zastosowaniem kryptgrafii jest certyfikacja; certyfikacja jest schematem, w któym zaufani agenci, tacy jak jednotki certyfikujące poręczają za nieznanych agentów, takich jak użytkownicy. Wydają oni tzw. certyfikaty z któych każdy ma pewne wewnętrzne znaczenie. Technologia certyfikacji została stworzona w celu identyfikacji i uwierzytelniania dostępnych na wielką skalę
Odzyskiwanie klucza
Odzyskiwanie klucza jest technologią ,która pozwala na ujawnienie klucza pod pewnymi warunkami bez ujawniania właściciela klucza. Jest to użyteczne głównie z dóch powodów: po pierwsze, jeśli użytkownik zgubi lub przypadkowo usunie swój klucz, odzyskiwanie klucza może zapobiec katastrofie. Po drugie ,jeśli organ ściagani chce podsłuchiwać podejrzanych bez ich wiedzy, musi móc w stanie odzyskać klucz. Techniki odzyskiwania klucza są używane w pewnych przypadkach, jednak korzystanie z odzyskiwania klucza jako techniki ścigania są nieco kontrowersyjne.
Zdalny dostęp
Bezpieczny dostęp zdalny jest kolejnym ważnym zastosowaniem kryptografii. Podstawowy system haseł z pewnością daje poziom bezpieczeństwa dla bezpiecznego dostępu, ale może nie być wystarczający w niektóych przypadkach. Na przykład hasła mogą być podsłuchane, zapomniane, ukradzione lub odgadnięte. Wiele porduktów zaopatrzonych jest w metody kryptograficzne dla zdalnego dostępu z wysokim stopniem bezpieczeństwa.
Inne zastosowania
Kryptografia nie ogranicza siędo świata komputerów. Kryptografia jest również stosowana w telefonach komórkowych jako sposób uwierzytelniania, czyli można ją wykorzystać do sprawdzenia, czy dany telefon ma prawo do używania określonego numeru telefonicznego. Uniemożliwia to kradzież ("klonowanie") numerów telefonów i kodów dostępu.

Co to są standardy kryptograficzne?

Standardy kryptografii są konieczne do tworzenia współdziałania w świecie bezpieczeńśtwa informacji. Zasadniczo są okreslone warunki i protokoły umożliwiające jednolitość komunikacji, transakcji i praktyczności całej aktywności komputera. Ciągły rozwój technologii informacji motywuje do rozwoju większej ilości standardów, co z kolei przewodizć tej ewolucji. Głównym powodem poza standardami jest umożliwienie technologii pochodzących od różnych producentów do "mówienia tym samym językiem", to znaczy , do skutecznej interakcji. Być może jest to najlepiej widoczne w znanym standardzie VHS dla magnetowidów. Kilka lat temu istniałyu dwa konkurencyjne standardy w branży, VHS i BETA. Kasety VHS nie mogły być odtwarzane na mszynach BETA i odwrotnie; były one w niezgodnych formatach. Wyobraź sobie chaos ,jesli każdy producent miałby własny standard. Ludzie musieliby wypożyczać tylko filmy , któe były odpowiednie dla ich magnetowidu. Standardy są konieczne dla zapewnienia kompatybilności produktów różnych firm. W kryptografii, standaryzacja służy dodatkowemu celowi; może służyć jako poligon dla technik kryptograficznych, ponieważ złożone prostokoły są podatne na błędy konstrukcyjne. Przez stworzenie dobrze skonstruowanego standardu, przemysł może produkować właściwe produkty. Nawet bezpieczny protoków jest bardziej zaufany dkla klientów jeśli staje się standardem, ze względu na proces ratyfikacji. Rząd ,sektor prywatny i inne organizacje przyczyniają się do tworzenia szerokiego zbioru standardów kryptografii. Kilka z nich to ISO, ANSI, IEEE,NIST i IETF. Jest wiele typów standardów, niektóre używane wewnątrz sektora bankowego, niektóre na arenie międzynarodowej a inne w rządzie. Standaryzacja pomaga projektantom zaprojektować nowe produkty. Zamiast spędzać czas nad opracowaniem nowego standardu, mogą wykorzystać istniejący standard w procesie projektowania. W tym procesie, konsumenci mają szansę na wybór spośród kolejnych konkurencyjnych produktów i usług.

Dlaczego krypotgrafia jest ważna?

Kryptografia pozwala ludziom na przenoszenia zaufania ze świata rzeczywistego do świata elektronicznego, dzięki czemu osoby prowadzą biznes elektroniczny bez obawa o oszustwa i kradzieże. Codziennie setki tysięcy ludzi prowadzi interakcję w formie elektronicznej, czy to przez e-mail, e-commerce (prowadzonej przez Internet), bankomaty, czy telefony komórkowe. Wzrost informacji przekayzwanej drogą elektroniczną doprowadził do wzrostu zapotrzebowania na kryptografię.
Kryptografia w Internecie
Internet składa się milionów połączonych ze sobą komputerów, umożliwiających niemal natychmiastową komunikację i przekazywanie informacji, na całym świecie. Ludzie korzystają z e-mail do korespondencji ze sobą. World Wide Web służy do prowadzenia internetowego biznesu, dystrybucji danych, marketingu, nauki , bada i mnóstwa innych czynności. Kryptografia umożliwia bezpieczeństwo witrynom oraz mozliwość bezpiecznej transmisji. Na stronie internetowej zabezpieczamy wszytkie dane przesyłane między komputerami, na któych dane są przechowywane i gdzie muszą być szyfrowane. Pozwala to ludziom na bankowośćonline, handle online i dokonywanie zakupów online kartą kredytową ,bez obawy ,że konto będzie zagrożone. Kryptografia jest bardzo ważna dla dalszego rozwoju Internetu i handlu elektronicznego. E-commerce rośnie bardzo szybko.Transakcje handlowe w Internecie wynoszą kuilka miliardów rocznie. Ten poziom aktywności nie może być obsługiwany bez kryptograficznych zabezpieczeń. Mówi się ,że bezpieczeniej jest używać karty kredytowej w Internecie niż w sklepie czy restauracji. Wymaga to więcej pracy z wykorzystaniem numerów kart kredytowych w sieciach komputerowych niż chodząc od stoloka do stolika w restauracji. Te poziomy bezpieczeństwa, choć nie są jeszcze szeroko używane, dają środki do wzmocnienia podstaw, na któych może roziwjać się e-commerce. Ludzie korzystają z e-mail do prowadzenia osobistych i biznesowych spraw na codzień. E-mail nie ma fizycznej postaci i może istnieć w formie elektronicznej w więcej niż jednym miejscu na raz. Stanowi to potencjalny, gdyż zwiększa szansę na podsłuch i przechwycenie transmisji. Szyfrowanie chroni e-mail , czyniąc go bardzo trudnym do odczytania przez nieupoważnionych. Podpsi cyfrowe mogą być również wykorzystywane do uwierzytelniania pochodzenia i zawartości wiadomości e-mail.
Uwierzytelnianie
W niektórych przypadkach kryptografia pozwala ci na więcej poufności w transakcjach elektronicznych niż w życiu realnym. Na przykład, podpisywanie dokumentów w życiu realnym pociąga za sobą pewne słabości. Po podpisaniu, zgadzasz sie z tym co jest w nim zawarte, ale ktoś może zmienić treść dokumentu, ale twój podpis na nim już figuruje. W świecie elektronicznym tego typu fałszerstwa są znacznie trudniejsze ponieważ podpisy cyfrowe są zbudowane z wykorzystaniem treści podpisywanego dokumentu.
Kontrola dostępu
Kryptografia jest rówinież używana do regulowania dostęp do satelity i telewizji kablowej. Telewizja kablowa jest ustawiona w taki sposób, że ludzioe mogą oglądać tylko te programy za które zapłacili. Ponieważ istnieje bezpośrednia linia od firmy do każdego pojedynczego abonenta, firma będzie wysyłać tylk ote kanałe za które płaci użytkownik. Wiele firm oferuje kanały pay-per-view swoim abonentom. Pozwala to abonentowi na "wypożyczenie" filmu bezpośrednio przez dekoder. To co robi dekoder to dekodowanie nadchodzącego filmu ,ale dopiero wtedy kiedy film został "wypożyczony". Telewizja stelitarna działa nieco inaczej ponieważ satelitarne stacje telewizyjne nie mają bezpośredniego połączenia z domem każdego abonenta. Oznacza to ,że kązdy może odbierać z anteny satelitarnej sygnały. Szyfrują oni swoje sygnały, któe są dekodowane tylko w odbiornikach dekodujących.

Krytpografia


Co to jest kryptopgrafia klucza publicznego?

W tradycyjnej kryptografii, nadawca i odbiorca wiadomości zna i używa tego samego tajnego klucza: nadawca używa tajnego klucza dod szyfrowania wiadomości,a odbiorca używa tego samego tajnego klucza do odszyfrowania wiadomości. Metoda ta jest znana jako kryptografia tajnego klucza lub krytpografią symetryczną. Głównym wyzwaniem jest uzgodnienie między nadawcą a odbiorcą tajnego klucza aby nie dowiedzieli się o nim inni. Jeśli są w różnych fizycznych lokalizacjach, muszą zaufać kurierowi, systemowi telefonicznemu lub innemu medium transmisyjnemu, aby zapobiec ujawnieniu tajnego klucza. Każdy kto podsłuchuje lub przechwytuje klucz może później czytać, modyfikować i tworzyć fałszywe wiadomości zaszyfrowane lub uwierzytelniać się za pomocą tego klucza. Generowanie, przesyłanie i przechowywanie klucza nazywa się zarządzaniem kluczem ; wszystkie kryptosystemy muszą poradzić sobie z zarządzaniem kluczem. Ponieważ wszystkie klucze w kryptosystemie tajnego klucza muszą pozostać tajne, krytpografia tajnym kluczem często ma trudności w zapewnieniu bezpiecznego zarządzania kluczami, szczególnie w systemach otwartych, z dużą liczbą użytkowników. Aby rozwiązć problem zarządzania kluczem, Whitfield Diffie i Martin Hellman wprowadzili pojęcie kryptografii kluczem publicznym w 1976. Kryptosystemy klucza publicznego ,ma dwa podstawowe zastosowania, szyfrowanie i podpsiy cyfrowe. W ich systemie, każda osoba pobiera parę kluczy, jedne nazwany kluczem publicznym a drugi nazywany kluczem prywatnym. Klucz publiczny jest publikowany, podczas gdy klucz prywatny jest utrzymywany w tajemnicy. Konieczność współdzielenia tajnej informacji między nadawcą a odbiorca jest wyeliminowana; cała komunikacja obejmuje tylko klucze publiczne, a żadane klucz prywatny nie jest przekazywany ani współdzielony.W tym systemie, nie ma dłużej konieczności zaufania bezpieczeństwu środków komunikacji. Jedynym wymaganiem jaki musi być powiązaany z kluczami publicznymi jest ich użycie w sposób zaufany (uwierzytelniony). Każdy może wysłać poufną wiadomość używając informacji publicznej, ale wiadomośćmoże być odszyfrowana tylko kluczem prywatnym, kyóry jest w wyłącznym posiadaniu adresata. Ponadto, krytpotgrafia klucza publicznego może być użyta nie tylko do prywatności (szyfrowanie) ale również dla uwierzytelniania (podpisy cyfrowe) i innych różnych technik. W kryptosystemie klucza publicznego, klucz prywatny jest zawsze łąćzony matematycznie do klucza publicznego. Dlatego też, zawsze jest możliwe zaatakowanie systemu klucza publicznego przez odtworzenie klucza prywatnego z klucza publicznego. Zazwyczaj,obroną przeciw temu jest uczynienie problemu wyciągania klucza prywantego z klucza publicznego tak trudnym jak to możliwe. Na przykład, niektóre kryptosystemy klucza publicznego są zaprojektowane tak aby wyciaganie klucza prywatnego z kluca publicznego wymagało od atakującego rozkładu na czynniki dużej liczby, w takim przypadku jest obliczeniowo niemożliwe wykonać takie wyciagnięcie. To jest idea kryptosystemu klucza publicznego RSA
Szyfrowanie
Kiedy Alicja życzy sobie wysłąć tajną wiadomość do Bolesława, szuka klucza publicznego Bolesława w katalogu, używając go do zaszyfrowania wiadomości i wysyła ją. Bolesław potem używa swojego klucza prywatnego do odszyfrowania i przeczytania wiadomości. Nikt podsłuchujący nie może odszyfrować wiadomości. Każdy może wysłać zaszyfrowaną wiadomość do Bolesława, ale tylko Bolesław może ją przeczytać (ponieważ tylko Bolesław zna prywatny klucz Boleława).
Podpisy cyfrowe
Aby podpisać wiadomość, Alicja wykonuje obliczenia obejmujące jej klucz prywatny i samą wiadomość. Dana wyjściowa jest nazywana podpisem cyfrowym i jest dołączany do wiadomości. Aby zweryfikować podpis, Bolesław obliczanie w wiadomości, rzekomego podpisu i klucza publicznego Alicji. Jeśli wynik jest prawidłowy, zgodnie z prostą, określoną matematyczną relacją, podpis jest uznawany za prawdziwy, w przeciwnym razie podpis jest fałszywy, lub wiadomość została podmieniona.

Co to jest kryptografia tajnego klucza?

Kryptografia tajnego klucza czasami nazywana jest kryptografią symetryczną.. Jest to najbardziej tradycyjną formą kryptografii, w której pojedynczy klucz może być używany do szyfrowania i deszyfrowania wiadomości. Kryptografi tajnego klucza działa nie tylko z szyfrowaniem ale i z uwierzytelnianiem. Główny problem z kryptosystemami tajnego klucza jest uzgodnienie tajnego klucza przez nadawcę i odbiorcę. Wymaga to metody w której dwie części moga komunikować sie bez strachu o podłsuch. Jednakże ,zaletą krytpografii tajnego klucza jest to ,że jest generalnie szybsza niż kryptografia kluczem publicznym. Najpopularniejszą techniką kryptografii tajnego klucza są szyfry blokowe, szyfry strumieniowe.

Jakie są zalety i wady kryptografi klucza publicznego w prównaniu do kryptografii kluczem tajnym?

Podstawową zaleta kryptografii klucza publicznego jest zwiększenie bezpieczeństwa i wygoda: klucze prywatne nigdy nie muszą byuć przekazywane ani ujawniane nikomu. W systemie tajnego klucza, klucze tajne musza być przekazane (albo ręcznie albo przez kanał komunikacyjny) ponieważ ten sam klucz jest używany do szyfrowania i deszyfrowania. Poważnym probleme jest to ,że jest szansa ,że wróg moze odkryć tajny klucz podczas przekazywania. Inna główną zaletą systemu klucza publicznego jest to ,że można dostarczać podpisów cyfrowych, które nie mogą być opdrzucone. Uwierzytelnianie przez system tajnego klucza wymaga współdzielnie pewnej tajemnicy i czasami wymaga zaufania trzeciej osobie. W rezultacie nadawca może odrzucić wcześniej uwierzytelnioną wiadomość, twierdząć ,że tajemnica w jakiśc sposób została naruszona przwez jedną ze stron współdzielących tajemnicę. Na przykład system uwierzytelnia tajnego klucza Kerberos wiąże się z centralną bazą danych, któa przechowuje kopie tajnych kluczy wszystkich użytkowników; atak na bazę danych pozwoliłby na powszechne fałszerstwa. Uwierzytelnianie kluczem publicznym, z drugiej strony, zabezpiecza przed tego typu odrzuceniem,każdy użytkownik ponosi wyłączną odpowiedzialność za ochronę swojego klucza prywatnego. Ta właściwość uwoerzytelniania klcuzem publicznym jest często nazywana określaniem tożsamości. Wadą stosowania kryptografii kluczem publicznym przy szyfrowaniu jest szybkość. Jest wiele metod szyfrowania kluczem tajnym, które są znacząco szybsze niże aktualnie dostępne metody szyfrowania kluczem publicznym. Niemniej, kryptografia kluczem publicznym może być używana z kryptografią kluczem tajnym dla uzyskania lepszych światów. Dla szyfrowania, najlepszym rozwiązaniem jest połączenie systemów publicznego i tajnego klucza wby uzyskać zaletę bezpieczeństwa systemów klucza publicznego i zalety szybkości systemów tajnego klucza. Taki protokół jest nazywane kopertą cyfrową. Kryptografia klucza publicznego może być narażona na podszywanie się, nawet jesli klucze prywatne użytkowników nie są dostępne. Skuteczny atak na urząd certyfikacyjny pozwala przeciwnikowi na podszywanie się pod kogś, kogo sam wybierze za pomocą certyfikatu klucza publicznego łącząc go z klczuem wybranym przez przeciwnika z nazwą innego użytkownika. W pewnych sytuacjachm kryptorafia kluczem publicznym nie jest konieczna a wystarczająca jest kryptografia tajnym kluczem. Należą do nich środowiska, w których zabezpieczenie dystrybucji tajnego klucza może mieć miejsce, na przykład, przez użytkowników na prywatnym spotkaniu. Obejmuje ona również środowisko, w którym jeden organ zna i zarządza wszystkimi kluczami. Ponadto, kryptografia klucza publicznego zwykle nie jest konieczna w środowisku pojedynczego użytkownika. Na przykład, jesli chcesz aby osobiste pliki były zaszyfrowane, możesz zrobić to za pomocą szyfrowania kluczem tajnym, uzywając powiedzmy osobistego hasła jako tajnego klucza. Generalnie, kryptografia kluczem publicznym nadaje się najlepiej do otwratego środowiska wiel uużytkowników. Kryptografia kluczem publicznym nie zastępuje krytpografii kluczem tajnym, ale raczej uzupełnia ją, aby uczynić ją bardziej bezpieczną. Pierwsze użyciem technik klucza publicznego było ustanowienie bezpiecznego klucza w systemie tajnego klucza; jest to jedna z jej głównych funkcji. Krytpografia tajnym kluczem pozostaje niezwykle ważna i jest tematem wielu prowadzonych badań.

Co to jest szyfr blokowy?

Szyfr blokowy jest typem algorytmu szyfrowania klucza symetrycznego, który przekształca blok o stałej długości tekstu jawnego (niezaszyfrowanego) danych na blok zaszyfrowanego tekstu danych o tej samej długości. To przekształcenie ma miejsce przy działaniu użytkownika - dostawcy tajnego klucza. Deszyfrowanie odbywa się przez zastosowanie odwrotnej transformacji do bloku tekstu zaszyfrowanego używając tego samego tajnego klucza. Stała długość jest nazywana rozmiarem bloku a dla wielu szyfrów blokowych, rozmiar bloku to 64 bity. Ponieważ różne bloki tekstu jawnego są odwzorowywane do różnych bloków tekstu zaszyfrowanego (pozwalając na jednoznaczne deszyfrowanie), szyfr blokowy efektywnie dostarcza permutacji (odwrotność wzajemnie jednoznacznej odpowiedniości) zbioru wszystkich możliwych komunikatów. Permutacja wykonywana podczas jekigokolwiek szyfrowania jest oczywiście tajemnicą, ponieważ jest funkcją tajnego klucza. Iteracyjny szyfr blokowy szyfruje blok tekstu jawnego przez proces, który ma kilka rund. W każdej rundzie, ta sama transformacja jest stosowana do danej używającej podklucza. Zbiór podkluczy jest zwykle pochodną z tajnego klucza użytkownika przez specjalną funkcję. Zbiór podkluczy nazywany jest rozkładem kluczy .Liczba rund w iteracyjnym szyfrze zależy od pożądanego poziomu bezpieczeństwa i kompromisu z wydajnością. W większości przypadków, zwiększająca się liczba rund będzie poprawiać bezpieczeństwo oferowane przez szyfr blokowy, ale dla niektórych szyfrów liczba rund wymaganych do osiągnięciu odpowiedniego bezpieczeństwa będzie zbyt duża dla szyfru praktycznego i żądanego. Szyfry Feistela są specjalną klasą iteracyjnych bloków szyfrowych gdzie tekst zaszyfrowany jest wyliczany z tekstu jawnego przez powtarzalne zastosowanie tej samej transformacji lub funkcji rundy. W szyfrze Feistela, tekst podległy będący szyfrowanym jest podzielony na dwie połówki. Funkcja rundy f jest stosowana do jednej połówki używając subklucza a wyjściowe f jest XOR -owana z drugą połówką. Te dwie połówki są potem wymieniane. Każda runda działa według tego samego schematu, z wyjątkiem ostatniej rundy, gdzie nie ma wymiany. Miłą funkcją szyfru Feistela jest to ,że szyfrowanie i deszyfrowanie są strukturalnie identyczne, choć podklucze używane podczas szyfrowania w każdej rundzie są podejmowane w odwrotnej kolejności podczas deszyfrowania. Możliwe jest zaprojektowanie szyfrów iteracyjnych , które nie są szyframi Feistela.
Tryby działania
Kiedy używamy szyfru blokowego do szyfrowania wiadomości o dowolnej długości, używamy techniki znanej jako tryby działania dla szyfru blokowego. Aby był przydatny, tryb musi być co najmniej tak samo bezpieczny i równie skuteczny jak szyfr podstawowy. Tryby mogą mieć właściwości dodatkowo do tych nieodłącznych w szyfrze podstawowym. Standardowe tryby DES zostały opublikowane w FIPS PUB 81 [NIS 80] a ANSI X3.106 [ANS83]. Bardziej ogólna wersja normy [ISO92b] uogólnia cztery tryby DES, które będą stosowane w szyfrach blokowych o dowolnych rozmiarach bloku. Te tryby standardowe to : Electronic Code Block (ECB) [Elektroniczna Książka Kodów], Cipher Block Chaining (CBC) [Wiązanie Bloków Zaszyfrowanych], Cipher Feedback (CFB) [Sprzężenie Zwrotne ZaszyfrowanegoTekstu] i Output Feedback (OFB)[Sprzężenie Zwrotne Bloków Wyjściowych]. W trybie ECB, każdy blok tekstu jawnego jest szyfrowany niezależnie blokiem szyfrowym. Tryb ECB jest tak bezpieczny jak podstawowy szyfr blokowy. Jednakże wzorce tekstu jawnego nie są ukryte. Każdy blok identycznego tekstu jawnego daje identyczny blok tekstu zaszyfrowanego. Tekst jawny może być łatwi manipulowany przez usunięcie, powtarzanie lub zamianę bloków. Szybkość każdej operacji szyfrowania jest identyczna z szyfrem blokowym. ECB umożliwia łatwą równoległość dla uzyskania wyższej wydajności. Niestety, nie jest możliwe przetwarzanie przed postrzeganiem bloku ( z wyjątkiem klucza konfiguracji).
W trybie CBC , każdy blok jawnego tekstu jest XOr-owane z poprzednim blokiem tekstu zaszyfrowanego, potem deszyfrowany. Wektor inicjalizacji jest używany jako "ziarno" dla tego procesu. Tryb CBC jest bezpieczny jak podstawowy szyfr blokowy przeciwko atakom standardowym. Dodatkowo ,dowolne wzorce w tekście jawnym są ukryte przez exclusive-OR-owanie poprzedniego bloku tekstu zaszyfrowanego z blokiem tekstu jawnego. Bezpieczeństwo tekstu jawnego jest wzmocnione, ponieważ tekst jawny nie może być bezpośrednio manipulowany z wyjątkiem usuwania bloków z początku lub końca tekstu zaszyfrowanego. Szybkość szyfrowania jest identyczna z tą z szyfru blokowego, ale proces szyfrowania nie może być łatwo porównywalna, chociaż proces deszyfrowania tak.
W trybie CFB , poprzedni blok tekstu zaszyfrowanego jest szyfrowany a dane wyjściowe jest połączone z blokiem teklstu jawnego używająć Excusive-OR dla utworzenia bieżącego bloku tekstu zaszyfrowanego. Możliwe jest zdefiniowanie trybu CFB wykorzystującego informacje zwrotne, który jest mniejszy niż jeden pełny blok danych. Wektor inicjujący jest używany jako "ziarno" dla tego procesu. Tryb CFB jest równie bezpieczny jak szyfr podstawowy a wzorce tekstu jawnego są ukryte w tekście zaszyfrowanym przez użycie operacji Exclusive-OR. Tekst jawny nie może manipulowany bezpośrednio z wyjątkiem usuwania bloków na początku lub na końcu tekstu zaszyfrowanego. Przy trybie CFB i pełnym sprzężeniu zwrotnym, kiedy dwa bloki tekstu zaszyfrowanego są identyczne, dane wyjściowe w kolejnym kroku są również identyczne. Pozwala to na wyciekanie informacje o blokach tekstu jawnego. Kiedy użyjemy pełnego sprzężenia zwrotnego, szybkość szyfrowania jest identyczna z szyfrem blokowym, ale proces szyfrowania nie może być łatwo porównywalny.Tryb OFB jest podobny do trybu CFB z wyjątkiem ilości Exclusive-OR-ów z każdym blokiem tekstu jawnego generowanych niezależnie dla tekstu jawnego i zaszyfrowanego. Wektor inicjujący jest używany jako "ziarno" dla sekwencji bloków danych ,a każdy blok danych jest pochodną z szyfrowania poprzedniego bloku danych. Szerokość sprzężenia zwrotnego mniejsza niż pełny blok nie są zalecane dla bezpieczeństwa [DP83] [Jue83]. Tryb OFB ma przewagę nad trybem CFB , że wszelkie błędy bitowe , które mogą wystąpić podczas transmisji nie są propagowane wpływając na szyfrowanie kolejnych bloków. Jednakże, przez zmianę tekstu zaszyfrowanego, tekst jawny może być łatwo manipulowany. Prędkość szyfrowania jest identyczna z szyfrem blokowym . Nawet jeśli proces nie może być łatwo porównywalny, czas można zaoszczędzić przez wygenerowanie strumienia kluczy nim dane są dostępna do szyfrowania. Ze względu na braki w trybie OFB, Diffie zaproponował dodatkowy tryb działa, zwany trybem zliczania. Różni się on trybu OFB w ten sposób ,że kolejne bloki danych są generowane dla kolejnych szyfrowań. Zamiast pochodzenia jednego bloku danych do szyfrowania z poprzedniego bloku danych, Diffie zaproponował szyfrowanie ilości i+IV(mod 264) dla i-temu blokowi danych, gdzie IV jest pewnym wektorem inicjującym. Tryub PCBC (Propagating Cipher Block Chaining) szyfrowania jest innym trybem działania używającym szyfrów blokowych. Jest on stosowany w protokołach takich jak Kerberos wersja 4. Tryb PCBC szyfrowania nie został formalnie opublikowany jak federalny lub narodowy standard, i nie miał szerokiego wsparcia. Tryb PCBC jest wariacją trybu CBC i został stworzony jako rozszerzenie lub propagację błędu pojedynczego bitu w tekście zaszyfrowanym. Pozwala to aby błędy w transmisji zostały przechwycone a wynikowy tekst jawny będzie odrzucony.

Co to jest szyfr strumieniowy?

Szyfr strumieniowy jest to typ algorytmu szyfrowania symetrycznego. Szyfry strumieniowe mogą być wykonane wyjątkowo szybko, dużo szybciej niż jakikolwiek szyfr blokowy. Podczas gdy szyfry blokowe działają na dużych blokach danych, szyfry strumieniowe zazwyczaj działają na mniejszych jednostkach tekstu jawnego zwanych bitami. Zaszyfrowanie określonego tekstu jawnego szyfrem blokowym da w wyniku ten sam tekst zaszyfrowany, kiedy użyty jest ten sam klucz. Przy szyfrze strumieniowym, przekształcenie tych mniejszych jednostek tekstu jawnego będzie się różnić, zależnie od tego kiedy zostaną napotkane podczas procesu szyfrowania. Szyfr strumieniowy generuje coś co nazywamy strumieniem klucza (sekwencja bitów używana jako klucz). Szyfrowanie odbywa się przez połączenie strumienia klucza z tekstem jawnym, zwykle bitową operacją Exclusive-OR. Generowanie strumienia klucza może być niezależne od tekstu jawnego i zaszyfrowanego (co jest określane jako synchroniczny szyfr strumieniowy) lub może zależeć od danych oraz ich szyfrowania (w tym przypadku mówimy ,że szyfr strumieniowy jest samo synchronizujący). Większość szyfrów strumieniowych zaprojektowano jako synchroniczne szyfry strumieniowe.
Szyfr z kluczem jednorazowym
Obecne zainteresowanie szyframi strumieniowymi najczęściej jest przypisywane atrakcyjnym właściwościom szyfru z kluczem jednorazowym. Szyfr z kluczem jednorazowym ,nazywany szyfrem Vernama, wykorzystuje ciąg bitów , który jest generowany całkowicie losowo. Strumień klucza jest takiej samej długości jak wiadomość jawna a losowy ciąg znaków jest połączony ciągiem bitowym Exclusive-OR z tekstem jawny, tworząc tekst zaszyfrowany. Ponieważ cały strumień klucza jest losowy, przeciwnik z nieskończonymi zasobami obliczeniowymi może tylko odgadywać tekst jawny jeśli widzi tekst zaszyfrowany. Mówi się ,że taki szyfr oferuje doskonałą tajemnicę ,a analiza szyfru z kluczem jednorazowym jest postrzegana jako jeden z filarów współczesnej kryptografii. Jednakże fakt ,że tajny klucz (który może być użyty tylko raz) jest tak długi jak wiadomość jawna, wprowadza problemy przy zarządzaniu kluczami. Chociaż doskonale bezpieczny, szyfr z kluczem jednorazowym jest generalnie niepraktyczny. Szyfry stumieniowe zostały opracowane jako przybliżone działanie szyfru z kluczem jednorazowym. Chociaż współczesne szyfry strumieniowe są w stanie dostarczyć satysfakcjonującego bezpieczeństwa teoretycznego szyfru z kluczem jednorazowym, są co najmniej praktyczne. W chwili obecnej nie ma szyfru strumieniowego ,który stałby się de facto standardem. Szeroko używanym szyfrem strumieniowym jest RC4. Co ciekawe, pewne tryby działania szyfru blokowego skutecznie przekształcają go na generator strumienia klucza i w ten sposób, szyfr blokowy może by stosowany jako szyfr strumieniowy. Jednak szyfry strumieniowe o specjalnej budowie są zazwyczaj znacznie szybsze. Linear Feedback Shift Register (LFSR) jest mechanizmem dla generowania sekwencji bitów binarnych. Rejestr składa się z szeregu komórek, które są określone przez wektor inicjalizacji, to znaczy, najczęściej tajny klucz. Zachowanie rejestru jest regulowane przez zegar i przy każdym takcie, zawartość komórek rejestru jest przesuwana w prawo o jedną pozycję, a exclusive-or podzbiór zawartości komórki jest umieszczany w skrajnej, lewej komórce . Zwykle jeden bit wyjściowy mamy podczas tej operacji aktualizacji. LFSR′y są szybkie i łatwe w implementacji zarówno sprzętowej jak i programowej. Przy rozsądnym wyborze kanałów sprzężenia zwrotnego, sekwencje które są generowane mogą mieć dobry statystyczny wygląd. Jednak sekwencje generowane przez pojedynczy FSFR nie są bezpieczne ponieważ potężne ramy matematyczne zostały opracowane na przestrzeni lat, co pozwala na ich prostą analizę. Kaskadowy rejestr przesuwny jest zbiorem LFSR′ów połączonych ze sobą w taki sposób ,że zachowanie jednego LFSR′a zależy od zachowania poprzednich LFSR′ów w kaskadzie. To zależne zachowanie uzyskuje się przy użyciu jednego LFSR′a do kontroli zegara z następującym LFSR. Na przykład, jeden rejestr może zostać przyspieszony o jeden stopień jeśli wyjście poprzedniego rejestru to 1 i awansuje o dwa kroki w przeciwnym razie. Wiele różnych konfiguracji jest możliwych a niektóre wybory parametrów wydają się oferować bardzo dobrą ochronę. Generator obcinający został stworzony przez Coppersmitha, Krawczyka i Manosura. Jest to szyfr strumieniowy oparty na prostej interakcji między wyjściami z dwóch LFSR′ów .Bity z jednego wyjścia są używane do określenia czy odpowiednie bity drugiego wyjścia będą wykorzystane jako część ogólnego strumienia klucza. Generator obcinający jest prosty i skalowalny, i ma dobre właściwości bezpieczeństwa. Wadą tego generatora jest to ,że wyjściowa szybkość strumienia klucza nie będzie stała , chyba ,że bierzemy środki bezpieczeństwa. Wariantem generatora obcinającego jest generator samo - obcinający, gdzie zamiast używania jednego wyjścia z LFSR&;prime;a do "obcinania" wyjścia drugiego, wyjście pojedynczego LFSR jest używane do wyodrębniania bitów z tego samego wyjścia.


Co to jest funkcja mieszająca?

Funkcja mieszająca H jest przekształceniem, które pobiera daną wejściową m i zwraca ciąg o stałej długości, który jest nazywana wartością mieszającą h (tzn. h = H(m)). Funkcje mieszające z taką właściwością ma różne ogólne zastosowania obliczeniowe, ale w kryptografii, funkcje mieszające są zazwyczaj wybierane przez wzgląd na pewne dodatkowe właściwości. Podstawowe wymagania dla kryptograficznej funkcji mieszającej to:
• dana wejściowa może być dowolnej długości
• dana wyjściowa ma stałą długość
• H(x) jest relatywnie łatwa dla wyliczenia dla danego x
• H(x) jest jednokierunkowa Mówimy ,że funkcja H jest jednokierunkowa jeśli jest trudna do odwrócenia, gdzie "trudna do odwrócenia" oznacza ,że dana wartość mieszająca h, jest obliczeniowo niewykonalna dla znalezienia danej x takiej ,że H(x) = h. Jeśli, przy danej wiadomości x , jest obliczeniowo niemożliwe znalezienie wiadomości y nie równej x , takiej ,że H(x) = H(y), wtedy mówimy ,że H będzie słabą bezkolizyjną funkcją mieszającą. Silna bezkolizyjna funkcja mieszająca H jest funkcją , dla której jest obliczeniowo niemożliwe znalezienie dowolnych dwóch wiadomości x i y takich ,że H(x) = H(y). Wartość mieszającą przedstawia zwięźle dłuższą wiadomość lub dokument z którego została wyliczona; ta wartość jest nazywana skrótem wiadomości. Można myśleć o skrócie wiadomości jako "cyfrowym odcisku palca" dużego dokumentu. Przykładami dobrze znanych funkcji mieszających są MD2 i MD5. Być może głównym zadaniem kryptograficznej funkcji mieszającej jest zapewnienie kontroli integralności wiadomości i podpisów cyfrowych. Ponieważ funkcje mieszające są generalnie szybsze niż algorytmy szyfrowania lub podpisy cyfrowe, jest to typowy sposób obliczania podpisu cyfrowego lub sprawdzania integralności jakiegoś dokumentu przez zastosowanie kryptograficznego przetwarzania wartości mieszającej dokumentu, która jest mała w porównaniu samego dokumentu .Dodatkowo, skrót może być podany do publicznej wiadomości bez ujawniania zawartości dokument z jakiego pochodzi. Jest to ważne w cyfrowych znacznikach czasowych, gdzie używając funkcji mieszających, można uzyskać znacznik czasowy dokumentu bez ujawniania zawartości do usługi znacznika czasowego. Damgard i Merkle zaprojektowali kryptograficznej funkcji mieszającej przez zdefiniowanie funkcji mieszającej w kategoriach tego , co nazywamy funkcją kompresji. Funkcja kompresująca pobiera daną wejściową o stałej długości i zwraca, krótszą daną wyjściową o stałej długości. Biorąc pod uwagę funkcję kompresji, funkcja mieszającą może być zdefiniowana przez powtarzanie zastosowań funkcji kompresji dopóki cała wiadomość nie zostanie przetworzona. W tym procesie, wiadomość o dowolnej długości, jest podzielona na bloki, których długość zależy od funkcji kompresji i "wyściełania" (z powodów bezpieczeństwa), więc rozmiar wiadomości jest wielokrotnością rozmiaru bloku, z końcową daną wyjściową będącą wartością mieszającą dla tej wiadomości

Co to jest Message Authentication Code [MAC - Kod Uwierzytelniający Wiadomość]?

Kod uwierzytelniający wiadomość (MAC) jest znacznikiem uwierzytelniania (zwanym sumą kontrolną) uzyskany przez zastosowanie schematu uwierzytelniania, wraz z tajnym kluczem, do wiadomości. W przeciwieństwie do podpisów cyfrowych, MAC′i są obliczane i weryfikowane tym samym kluczem, dzięki czemu mogą być weryfikowane przez adresata. Istnieją czetry typy MAC′ów : (1) bezwarunkowo bezpieczne, (2) oparte o funkcję mieszającą , (3) oparte o szyfr strumieniowy i (4) oparte o szyfr strumieniowy. Simmons i Stintson zaproponowali bezwarunkowo bezpieczny MAC oparty o szyfrowanie szyfrem jednokierunkowym. Tekst zaszyfrowany uwierzytelnia wiadomość , jeśli nikt nie ma dostępu do szyfru jednokierunkowego. Jednak musi być pewna nadmiarowość w tej wiadomości. Bezwarunkowo bezpieczny MAC można również uzyskać przez użycie jednokierunkowego tajnego klucza. MAC oparty o funkcję mieszającą (nazywany czasem HMAC) używa klucz lub klucze w połączeniu z funkcją mieszającą dla stworzenia sumy kontrolnej, które jest dołączana do wiadomości. Przykładem jest metoda kluczowania MD-5 dla uwierzytelniania widomości. Lai, Rueppel i Woolven zaproponowali MAC oparty o szyfry strumieniowe . W ich algorytmach, udowadnialny bezpieczny szyfr strumieniowy jest używany do podzielenia wiadomości na dwa podstrumienie a każdy podsturmień jest podawany do LFSR; suma kontrolna jest stanem końcowym dwóch LFSR. MAC′i mogą również pochodzić z szyfrów blokowych. DES-CBC MAC jest szeroko używanym amerykańskim i międzynarodowym standardem. Podstawową ideą jest szyfrowanie wiadomości blokami używającymi DES CBC a wyjściowy blok finalny w tekście zaszyfrowanym jest sumą kontrolną.

Co to są dowody interaktywne i dowody wiedzy zerowej?


Nieformalnie, interaktywnym dowodem jest protokół między dwoma stronami, w której jedna część nazwana udowadniającym, próbuje udowodnić pewien fakt drugiej stronie, zwanej weryfikatorem. Interaktywne dowody zazwyczaj przyjmują formę typu protokołu wyzwanie - odpowiedź, w której udowadniający i weryfikujący wymieniają wiadomości , a weryfikujący wypisuje "akceptuję" lub "odrzucam" na końcu protokołu.Niezależnie od ich teoretycznego zainteresowania, interaktywne dowody znalazły zastosowanie w kryptografii i bezpieczeństwa komputerowego, takim jak identyfikacja i uwierzytelnienie. W takich sytuacjach, fakt podlegający udowodnieniu jest zazwyczaj powiązany z tożsamością udowadniającego, takim jak klucz prywatny udowadniającego. Przydatne dla interaktywnych dowodów jest mieć następujące właściwości, zwłaszcza w zastosowaniach kryptograficznych:
• Kompletność : Weryfikujący zawsze akceptuje ten dowód jeśli fakt jest prawdziwy, a udowadniający i weryfikujący postępują zgodnie z protokołem
• Trafność : Weryfikujący zawsze odrzuca dowód jeśli fakt jest fałszywy, tak długo jak weryfikujący postępuje zgodnie z protokołem
• Wiedza zerowa : Weryfikujący nie uczy się niczego o fakcie będącego udowadnianym (z wyjątkiem tego ,że jest poprawny) od udowadniającego, nie może się już uczyć bez udowadniającego, nawet jeśli weryfikujący nie postępuje zgodnie z protokołem (tak długo jak robi to udowadniający). W dowodzie wiedzy zerowej, weryfikujący nie może nawet później udowodnić faktu nikomu innemu (Nie wszystkie interaktywne dowody mają tą właściwość).
Typowa runda w dowodzi wiedzy zerowej składa się z wiadomości od udowadniającego, a następnie wyzwania od weryfikującego, a następnie odpowiedzi na wyzwanie ze strony udowadniającego. Ten protokół może być powtarzany dla wielu rund. Na podstawie odpowiedzi udowadniającego we wszystkich tych rundach, weryfikujący decyduje czy zaakceptować czy odrzucić ten dowód.
Rozważmy intuicyjny przykład nazwany Jaskinia Ali Baby


Alicja chce udowodnić Bobowi ,że zna tajne słowa , które będą otwierały portal przy C-D w jaskini ale nie życzy sobie ujawnić sekretu Bobowi. W tym scenariuszu, celem Alicji jest przejście do C lub D. Typowa runda w kontynuacji dowodu jest następująca : Bob idzie do A i czeka tam , podczas gdy Alicja idzie do C lub D. Bob idzie potem do B i krzyczy by prosić Alicję by pojawiła się albo z lewej albo z prawej strony tunelu. Jeśli Alicja nie zna tajemnych słów (np. "Otwórz się Sezamie") jest tylko 50% szans ,że pojawi się z prawej strony tunelu. Bob będzie powtarzał tą rundę tyle razy, ile to jest pożądane, dopóki nie jest pewny ,że Alicja poznała tajemne słowa. Nieważne ile razy dowód jest powtarzany, Bob nie uczy tajemnych słów.

Co to jest schemat dzielenia sekretu ?

Schematy dzielenia sekretu zostały odkryte niezależenie przez Blakley′a i Shamira. Motywacja dla dzielenia sekretu jest bezpieczne zarządzanie kluczem. W pewnych sytuacjach jest zwykle jeden tajny klucz, który dostarcza dostępu do wielu ważnych plików. Jeśli taki klucz zostanie zgubiony (na przykład, osoba , która zna ten klucz staje się niedostępna, lub komputer przechowujący ten klucz jest uszkodzony), wtedy wszystkie ważne pliki stają się niedostępne. Podstawowym pomysłem w dzieleniu sekretu jest podzielenie tajnego klucza na fragmenty i dystrybuować fragmenty do różnych osób więc ten podzbiór osób może razem odtworzyć klucz. Ogólny schemat dzielenia tajemnicy określa minimalny zbiór użytkowników którzy mogą odzyskać sekret przez dzielenie tajnej informacji. Przykładem dzielenia sekretu jest schemat m-out-of-n (lub schematem progowym (m,n) dla liczb całkowitych 1 ≤ m ≤ n. W takim schemacie, istnieje nadawca (lub dealer) i n współuczestników. Nadawca dzieli sekret na n części i daje każdemu uczestnikowi jedną część więc każde m części może być wstawionych razem dla odzyskania sekretu, ale m-1 części nie jest wystarczające do określenia sekretu. Fragmenty zwykle są nazywane udziałami lub cieniami. Różne wybory dla tych wartości m i n odzwierciedlają kompromis między bezpieczeństwem a niezawodnością. Schemat m-out-of-n jest doskonały jeśli żadna grupa z co najwyżej m-1 współuczestnikami nie może określić dowolnej informacji o sekrecie. Zarówno Shamir i Blakley są schematami dzielenia sekretu m-out-of-n (Schemat Shamira jest doskonały). Przedstawiają one dwa różne sposoby konstruowania takich schematów, na podstawie których mogą być projektowane bardziej zaawansowane schematy dzielenia sekretu

Co to jest prywatność?

Prywatność jest najbardziej oczywistym zastosowaniem kryptografii. Kryptografia może być użyta do implementacji prywatności po prostu przez szyfrowanie informacji mających pozostać prywatnymi. Aby ktoś mógł odczytać te prywatne dane, najpierw musi je odszyfrować. Zauważ ,że czasami informacje nie może być używana przez kogokolwiek i w tych przypadkach, informacja może być przechowywana w taki sposób ,że odwrócenie tego procesu jest praktycznie niemożliwa. Na przykład, w typowym systemie wielu użytkowników, nikt nie powinien znać listy haseł wszystkich w tym systemie. Często wartości mieszające hasła są przechowywane zamiast samego hasła. Pozwala to użytkownikom systemu mieć pewność ,że ich prywatne informacje są rzeczywiście poufne, jednocześnie umożliwiając wprowadzanie hasła do weryfikacji (przez wyliczenie jego wartości mieszającej i porównanie tego wyniku w odniesieniu do przechowywanych wartości mieszających)

Co to jest podpis cyfrowy i co to jest uwierzytelnianie ?

Uwierzytelnianie jest procesem przez który ktoś sprawdza i weryfikuje pewne informacje. Czasami ktoś może chcieć zweryfikować oryginalność dokumentu, tożsamość nadawcy, czas i datę wysłania dokumentu i/lub podpis, tożsamość komputera lub użytkownika itd. Podpis cyfrowy jest środkiem kryptograficznym, przez który wiele z tego może być zweryfikowanych. Podpis cyfrowy dokumentu jest fragmentem informacji opartym zarówno na dokumencie i kluczu prywatnym podpisującego. Jest zwykle tworzony przez zastosowanie funkcji mieszającej i prywatnej funkcji podpisującej. (szyfrowanie kluczem prywatnym podpisującego), ale są inne metody. Codziennie ludzie podpisują wiele rzeczy, wyrażając zgodę na ich zawartość. To znaczy, uwierzytelniają oni ,że są faktycznie nadawcą lub autorem tej pozycji. Pozwala to innym zweryfikować ,że określona wiadomość rzeczywiście pochodzi od podpisującego. Jednakże, nie jest to sposób niezawodny, bo ludzie mogą "przenieść" podpis z jednego dokumentu na drugi, tworząc fałszywe dokumenty. Podpisy pisane są również podatne na fałszerstwa, ponieważ możliwe jest odtworzenie podpisu na innych dokumentach, jak również do zmiany dokumentów po ich podpisaniu. Podpisy cyfrowe i podpisy ręczne polegają na fakcie ,że trudno jest znaleźć dwie osoby o tym samym podpisie. Ludzie używają kryptografii klucza publicznego dla wyliczenia podpisów cyfrowych przez połączenie czegoś unikalnego z każdą osobą. Kiedy jest używana kryptografia klucza publicznego do szyfrowania wiadomości, nadawca szyfruje wiadomość kluczem publicznym odbiorcy. Kiedy kryptografia klucza publicznego jest używana do obliczania cyfrowego podpisu, nadawca szyfruje "cyfrowy odcisk palca" dokumentu z jego własnym prywatnym kluczem. Każdy z dostępem do klucza publicznego podpisującego może zweryfikować ten podpis. Załóżmy ,że Alicja chce wysłać podpisany dokument lub wiadomość do Boba. Pierwszym krokiem jest generalnie zastosowanie funkcji mieszającej do wiadomości, tworząc skrót wiadomości. Skrót wiadomości jest zwykle krótszy niż wiadomość oryginalna. Faktycznie, pracą funkcji mieszającej jest pobieranie wiadomości dowolnej długości i zmniejszyć do stałej długości. Dla stworzenia podpisu cyfrowego, zwykle podpisujemy (szyfrujemy) skrót wiadomości w przeciwieństwie do samej wiadomości. To oszczędza rozsądną ilość czasu, choć tworzy niewielką niepewność. Alicja wysyła Bobowi zaszyfrowany skrót wiadomości i wiadomość, którą może lub nie szyfrować. Aby Bob uwierzytelnił podpis musi zastosować tą samą funkcję mieszającą jak Alicja, do wiadomości, którą wysłała do niego, odszyfrowuje skrót wiadomości używając klucza publicznego Alicji i porównuje te dwa .Jeśli są takie same, pomyślnie uwierzytelnia podpis. Jeśli nie pasują , istnieje kilka możliwych wyjaśnień. Albo ktoś próbuje się podszywać pod Alicję, sama wiadomość została zmieniona przez Alicję lub wystąpił błąd podczas transmisji. Istnieje potencjalny problem z tego typem podpisu cyfrowego. Alicja nie tylko podpisała wiadomość, zamierzała jednak podpisać również wszystkie inne wiadomości. Kiedy dwie widomości hashują ten sam skrót wiadomości, nazywamy to kolizją; bezkolizyjne właściwości funkcji mieszających są koniecznym wymaganiem bezpieczeństwa dla większości schematów podpisu cyfrowego. Funkcja mieszająca jest bezpieczna jeśli jest czasochłonna, jeśli w ogóle możliwa, aby odkryć oryginalną wiadomość ze skrótu. Jednakże, istnieje atak nazwany Birthday Attack, który opiera się na fakcie ,że jest łatwiej znaleźć dwie wiadomości, które były mieszane tą samą wartością , niż znaleźć wiadomość którą hashowano określoną wartością. Jej nazwa wynika z faktu ,że dla grupy 23 lub więcej osób prawdopodobieństwo ,że dwie lub więcej osób ma tą samą datę urodzenia jest mniejsze niż 505. Dodatkowo ,ktoś może udawać Alicję i podpisywać dokumenty parą kluczy, które twierdzą ,że są Alicji. Aby uniknąć takiego scenariusza, istnieją cyfrowe dokumenty zwane certyfikatami, które kojarzą osobę z określonym kluczem publicznym. Cyfrowe znaczniki czasu mogą być używane w połączeniu w podpisami cyfrowymi do wiązania dokumenty z określonym czasem pochodzenia. Nie jest wystarczające zwrócenie daty w wiadomości, ponieważ daty na komputerach mogą być łatwo zmieniane. Lepiej aby znacznik czasowy był wykonywany prze kogoś zaufanego ,takiego jak instytucję certyfikującą

Co to jest protokół uzgadniania klucza?

Protokół uzgadniania klucza, zwany również protokołem wymiany klucza, jest szeregiem kroków używanych kiedy dwie lub więcej części muszą zgodzić się na klucz używany w kryptosystemie tajnego klucza. Te protokoły pozwalają ludziom współdzielić klucze swobodnie i bezpiecznie przez niezabezpieczony nośnik, bez konieczności ustanawiania współdzielonego sekretu. Załóżmy ,że Alicja i Bob chcą użyć krytposystemu tajnego klucza dla bezpiecznej komunikacji. Najpierw muszą określić klucz współdzielony. Zamiast Bob zadzwonić do Alicji ,aby przez telefon omówić jaki będzie klucz, co może być narażone na podsłuchiwanie, decydują się na użycie protokołu uzgadniania klucza. Przez użycie tego protokołu Alicja i Bob mogą bezpiecznie wymieniać klucz w niezabezpieczonym środowisku. Jednym z przykładów takiego protokołu jest uzgadnianie klucza Diffie-Hellmana. W wielu przypadkach, kryptografia klucza publicznego jest używana w protokole uzgadniania klucza. Innym przykładem jest użycie cyfrowych kopert dla uzgadniania klucza

Co to jest cyfrowa koperta?

Kiedy używamy kryptosystemów tajnego klucza, użytkownicy musza najpierw uzgodnić klucz sesyjny, to znaczy, tajny klucz , stosowany w sesji komunikacyjnej. W tym przypadku istnieje ryzyko ,że klucz zostanie przechwycony podczas transmisji. Jest to część problemu uzgadniania klucza. Kryptografia klucza publicznego oferuje atrakcyjne rozwiązanie tego problemu wewnątrz środowiska nazywanego kopertą cyfrową. Koperta cyfrowa składa się z zaszyfrowanej wiadomości używając krytpografi klucza tajnego i zaszyfrowanego tajnego klucza. Podczas gdy zazwyczaj cyfrowe koperty używają krytpografii klucza publicznego do szyfrowania tajnego klucza, nie jest to konieczne. Jeśli Alicja i Bob mają ustanowiony tajny klucz, mogą używać tego do szyfrowania tajnego klucza w kopercie cyfrowej. Załóżmy ,że Alicja chce wysłać wiadomość do Boba używając kryptografii tajnego klucza dla szyfrowania wiadomości i kryptografii kluczem publicznym dla transferu wiadomości zaszyfrowanej kluczem. Alicja wybiera tajny klucz i szyfruje wiadomość , potem szyfruje tajny klucz używając klucza publicznego Boba. Wysyła Bobowi zarówno zaszyfrowany tajny klucz i zaszyfrowaną wiadomość. Kiedy Bob chce odczytać wiadomość, deszyfruje tajny klucz, używając swojego klucza prywatnego a potem deszyfruje wiadomość, używając tajnego klucza. W wieloadresowym środowisku komunikacyjnym takim jak e-maile, może byćto rozszerzone i przydatne. Jeśli wiadomość Alicji jest wysyłana do Boba i Karoliny, klucz szyfrowania wiadomości może być przedstawiona ściśle w formach zaszyfrowanych dla Boba i dla Karoliny, wraz z pojedynczą kopią zwartości zaszyfrowanej wiadomości pod tym kluczem szyfrowania wiadomości. Alicja i Bob mogą używać tego klucza do szyfrowania tylko jednej wiadomości lub mogą użyć go do rozszerzania komunikacji. Jedną z miłych funkcji tej techniki jest to ,że mogą przełączać tajne klucze tak często jak chcą. Przełączanie kluczy często jest korzyścią ponieważ jest trudniej dla przeciwnika znaleźć klucz , który jest używany przez krótki okres czasu. Nie tylko koperty cyfrowe mogą pomóc rozwiązać problem zarządzania kluczem, zwiększają wydajność bez naruszania bezpieczeństwa. Zwiększenie wydajności jest uzyskiwane przez użycie kryptosystemu tajnego klucza do szyfrowania dużej i zmiennego rozmiaru ilości danych, rezerwując kryptografię kluczem publiczny, dla szyfrowania kluczy krótkich. Generalnie, kryptosystemy tajnego klucza są dużo szybsze niż kryptosystemy kluczem publicznym. Koperta cyfrowa jest metodą wymiany klucza, ale nie wszystkie protokoły wymiany klcuza używają cyfrowych kopert

Co to jest identyfikacja?

Identyfikacja jest procesem, poprzez który stwierdza się tożsamość innej osoby lub jednostki. W naszym codzienny życiu, identyfikujemy członków rodziny, przyjaciół i współpracowników przez ich właściwości fizyczne takie jak głos, twarz lub inną charakterystykę. Te charakterystyki, zwane biometryką, mogą być używane tylko w sieciach komputerowych ze specjalnym sprzętem. Podmioty w sieci mogą równiwę identyfikować się nawzajem za pomocą metod kryptograficznych. System identyfikacji pozwala Alicji zidentyfikować się Bobowi w taki sposób, że ktoś słuchający nie może podawać się później za Alicję. Jednym ze schematów identyfikacji jest dowód wiedzy zerowej. Dowody wiedzy zerowej pozwalają osobie (serwerowi, sieci WWW itp.) zademonstrować ,że posiada pewne części informacji bez podawania jej osobie (lub podmiotowi) do której są przekonane. Załóżmy ,że Alicja wie jak rozwiązać kostkę Rubika i chce przekonać Bob ,że zna rozwiązanie. Mogą postępować w następujący sposób. Alicja daje Bobowi nieuporządkowaną kostkę, który ją oddaje Alicji. Ta odwraca się , układa kostkę i podaje Bobowi. To działa ponieważ Bob widzi ,że Alicja ułożyła kostkę ale nie widział rozwiązania. Ten pomysł może być dostoswany do systemu identyfikacyjnego, jeśli każda osoba zaangażowana otrzymuje "puzzle" i odpowiedź. Bezpieczeństwo systemu opiera się na trudności rozwiązywania puzzli. W powyższym przypadku , jeśli Alicja była jedyna osobą, która mogła rozwiązać kostkę Rubika, wtedy to mogą być jej puzzle. W tym scenariuszu Bob jest weryfiktorem i identyfikującym. Ideą jest powiązanie z każdą osobą coś unikalnego; coś co tylko ta osoba może odtworzyć. To w efekcie ma miejsce w przypadku twarzy lub głosu, które są unikalnymi czynniki pozwalającymi ludziom identyfikować się nawzajem w świecie fizycznym. Uwierzytelnianie i identyfikacja są różne. Identyfikacja wymaga, aby weryfikator sprawdził informacje przedstawione przez wszystkie jednostki, podczas gdy uwierzytelnienie wymaga ,aby informacje były sprawdzane pod kątem, jednego , zidentyfikowanego wcześniej podmiotu. Ponadto, podczas gdy identyfikacja musi , z definicji, jednoznacznie identyfikować daną jednostką, uwierzytelnianie niekoniecznie wymaga unikalności. Na przykład, ktoś logujący się do wspólnego konta nie jest jednoznacznie identyfikowany, ale znając wspólne hasło, jest uwierzytelniany jako jeden z użytkowników konta. Ponadto, identyfikacja niekoniecznie uwierzytelnia użytkownika dla określonego celu.

Co to jest trudny problem?

Kryptosystemy klucza publicznego są oparte na problemie, który jest w pewnym sensie trudnym do rozwiązania. Trudność w tym przypadku odnosi się bardziej do wymagań obliczeniowych w znajdowaniu rozwiązań niż koncepcji problemu. Te problemu są nazywane trudnymi problemami. Są dwie głowne klasy problemów interesujące kryptografów - P i NP. Mówiąc prościej, problemy P mogą być rozwiązane w czasie wielomianowym , a problemy które nie mogą być rozwiązane w czasie wielomianowym są w problemami NP. Wiemy ,że wszystkie problemy P są również NP., ale nie wiemy czy lub nie wszystkie problemy NP. są P. Jednak problemy NP są obfite. Pytanie czy lub nie P = NP. jest jednym z najważniejszych nierozwiązanych problemów w matematyce i informatyce .Do tej pory odnotowano bardzo mały postęp w kierunku jego rozwiązania. Jedną z rzeczy jest pojęcie problemu NP - zupełnych. Pewne problemy NP są zupełnymi NP. Problem jest nazywany NP-zupełnym jeśli może być zredukowany (przekształcony) do innego problemu NP w czasie wielomianowym. Jeśli dowolny problem NP - zupełny jest rozwiązany w czasie wielomianowym, wtedy wszystkie problemy NP mogą być mogą być rozwiązane w czasie wielomianowym. "Problem komiwojażera" jest problemem NP-zupełnym. Zatem aby udowodnić ,że P = NP., wystarczające jest znaleźć algorytm czasu wielomianowego dla jednego z problemów NP-zupełnych. Jednak powszechnie się uważa ,że P ≠ NP Jeśli udowodniono by ,że P = NP, można by teoretycznie rozwiązać ogromną różnorodność złożonych problemów szybko ,bez znaczącego postępu w technologii komputerowej.

Co to jest funkcja nieodwracalna?

Funkcja nieodwracalna jest funkcją matematyczną, która jest znacząco łatwa do wyliczenia w jednym kierunku niż w kierunku przeciwnym. Może być możliwe na przykład, obliczenie funkcji w przód w sekundach, ale obliczenie jej odwrotności może zająć miesiące lub lata. Funkcja jednokierunkowa z zapadką jest funkcją nieodwracalną dla której kierunek odwrotny jest łatwy przy danym pewnym fragmencie informacji (zapadka), ale trudny w przeciwnym. Kryptosystemy klucza publicznego są oparte (prawdopodobnie) na funkcji jednokierunkowej z zapadką.. Klucz publiczny podaje informację o określonej instancji funkcji; klucz prywatny podaje informacje o zapadce. Ktokolwiek zna zapadkę , może obliczyć funkcję łatwo w obu kierunkach, ale kiedy brakuje zapadki można tylko wykonać funkcję w przód. Kierunek w przód jest używany dla szyfrowania i weryfikacji podpisu; kierunek odwrotny jest używany do deszyfrowania i generowania podpisu. W prawie wszystkich systemach klucza publicznego, rozmiar klucza odpowiada rozmiarowi danych wejściowych funkcji nieodwracalnej; duży klucz, większa różnica między wysiłkiem koniecznym do obliczenia funkcji w przód i odwrotnie (dla kogoś bez znajomości zapadki). Dla podpisu cyfrowego zabezpieczonego na lata, na przykład, konieczne jest użycie funkcji jednokierunkowej z zapadką z danymi wejściowymi na tyle dużymi, że ktoś bez zapadki wiele lat będzie musiał obliczać funkcję odwrotną (tj. generować właściwy podpis). Wszystkie praktyczne kryptosystemy klucza publicznego są oparte na funkcjach, które są uznawane za jednokierunkowe. Oznacza to ,że teoretycznie jest możliwe odkrycie algorytmów, które mogą obliczać kierunek odwrotny łatwo ,bez zapadki dla pewnych funkcji nieodwracalnych

Co to jest problem rozkładu na czynniki?

Rozkład na czynniki jest aktem podziału liczby całkowitej na zbiór mniejszych liczb całkowitych (czynników), które pomnożone razem dają pierwotną liczbę całkowitą. Na przykład czynniki z 15 to 3 i 5; problemem rozkładu na czynniki jest znalezienie 3 i 5 kiedy mamy podane 15. Rozkład na czynniki pierwsze wymaga podziału liczby całkowitej na czynniki, które są liczbami pierwszymi; każda liczba całkowita ma unikalny rozkład na czynniki pierwsze. Pomnożenie dwóch liczb pierwszych całkowitych razem jest łatwe, ale jak wiadomo, rozkład na czynniki iloczynu dwóch (lub więcej) liczb pierwszych jest dużo bardziej trudniejsze. Rozkład na czynniki jest podstawowym, prawdopodobnie trudnym problemem, na którym jest oparte parę kryptosystemów klucza publicznego, w tym algorytm RSA. Rozkład modułów RSA pozwala atakującemu odnaleźć klucz prywatny; zatem każdy to może rozłożyć moduł może odszyfrować wiadomości i podpisy. Bezpieczeństwo algorytmu RSA zależy od problemu rozkładu na czynniki. Poczyniono pewne dowody ,że złamanie RSA jest równoważne z rozkładem na czynniki. Nie udowodniono ,że rozkład na czynniki musi być trudny, i pozostaje możliwość ,że zostanie odkryta szybka i łatwa metoda rozkładu na czynniki. Generalnie, im większa liczba tym więcej czasu potrzeba na rozłożenie jej na czynniki. Oczywiście jeśli mamy liczbę 2100 łatwiej ją rozłożyć na czynniki ,niż, powiedzmy liczbę z połową tych cyfr ,ale iloczynem dwóch liczb pierwszych o tej samej długości. To dlatego rozmiar modułu RSA określa jak bezpieczne jest użycie RSA; duży moduł, dłużej zajmie atakującemu rozkład, zatem bardziej odporny jest moduł RSA na atak

Jakie są najlepsze metody rozkładu na czynniki?

Rozkład na czynniki jest bardzo aktywnym polem badań matematyków i informatyków; najlepsze algorytmy rozkładu są wspomniane poniżej wraz z pewnymi odniesieniami i ich asymptotycznymi efektywnościami big-O (O-notacja odnosi się do górnej granicy asymptotycznego czasu trwania algorytmu). Algorytmy rozkładu są dwojakie , specjalnego przeznaczenia i ogólnego przeznaczenia; wydajność pierwszego z wymienionych zależy od nieznanych czynników, a wydajność drugiego zależy od liczby jaka ma być rozkładana. Algorytmy specjalnego przeznaczenia są najlepsze dla rozkładu liczb z małymi czynnikami, ale liczby stosowane dla modułów w systemie RSA nie mają żadnych małych czynników. Dlatego, algorytmy rozkładu ogólnego przeznaczenia są najważniejsze w kontekście systemów kryptograficznych i ich bezpieczeństwa. Algorytmy rozkładu specjalnego przeznaczenia obejmują metodę rho Pollarda z oczekiwanym czasem uruchomieniowym O(√p), i metodlę p-1 Pollarda z czasem uruchomieniowym O(p′), gdzie p′ jest największym pierwszym czynnikiem z p-1. Metoda p+1 Pollarda jest również algorytmem rozkładu specjalnego przeznaczenia, z czasem uruchomieniowym O(p′) , gdzie p′ jest największym pierwszym czynnikiem z p+1. Wszystkie one pobierają czas, który jest wykładniczy w rozmiarze p, czynnika pierwszego, który znajdują; zatem algorytmy te są również zbyt wolne dla większości prac. Metoda krzywej eliptycznej jest lepsza od nich; jej asymptotyczny czas uruchomieniowy to O(e√2ln p ln ln p). Metoda ta jest często używana w praktyce dla znajdowania czynników losowo generowanych liczb; nie jest zbyt szybka dla rozkładu dużych modułów RSA. Najlepszym algorytmem rozkładu ogólnego przeznaczenia jest Number Field Sieve (Sito Ciała Liczbowego), który uruchamia się w czasie przybliżeniowym O(e1.9223(ln n1/3)ln ln n2/3)) .Wcześniej szeroko używanym algorytmem był Multiple Polynomial Quadratic Sieve (MPQS), który miał czas uruchomieniowy O(e√(ln n ln ln n)) .Poprawki dokonane w NFS czynią go wydajniejszym niż MPQS w rozkładzie liczb większych niż 115 cyfrowe; MPQS jest lepszy dla małych liczb całkowitych. RSA-129 został rozłożony na czynniki przy użyciu wariacji MPQS. Oszacowano ,że jeśli użyto by NFS, zajęłoby to jedną czwartą tego czasu. Oczywiście NFS będzie wypierał MPQS jako najczęściej używany algorytm rozkładu na czynniki , z powodu wzrostu ilości cyfr.

Co to jest problem logarytmu dyskretnego?

Problem logarytmu dyskretnego dotyczy jednostek matematycznych zwanych grupami. Grupa jest zbiorem elementów, wraz z działaniami zdefiniowanymi na nich, co jest zazwyczaj odniesieniem do złożoności i multiplikacji i przestrzegania pewnych reguł. Jeśli grupa ma skończoną liczbę elementów, każdy element w grupie ma coś co nazywa się rzędem, minimalną ilość razy jaka musi być pomnożony przez siebie aby wrócić do tożsamości, którą zazwyczaj jest jeden. Problem logarytmu dyskretnego jest następujący: przy danym elemencie g w grupie G rzędu t, i innym elemencie y z G, problemem jest znalezienie x , gdzie o (x (t-1), takie ,że y jest wynikiem złożenia g z samym sobą x razy. W pewnych grupach istnieją elementy, które mogą generować wszystkie elementy G przez potęgowanie (tzn. stosowanie działania grupy powtarzalnie) ze wszystkimi liczbami całkowitymi od 0 do t-1, Kiedy to wystąpi, element jest nazywany generatorem a grupa jest nazywana cykliczna. Podobnie jak w przypadku problemu rozkładu na czynniki, problem logarytmu dyskretnego jest uważany za trudny, jak również będzie trudnym kierunkiem funkcji nieodwracalnej. Z tego powodu został bazą wielu kryptosystemów kluczem publicznym, w tym systemu ElGamal i DSS .Problem logarytmu dyskretnego przenosi te same relacje do tych systemów co rozkład na czynniki do RSA: bezpieczeństwo tych systemów opiera się na założeniu ,że logarytmy dyskretne są trudne do wyliczenia. Chociaż problem logarytmu dyskretnego istnieje w każdej grupie, kiedy jest używany do celów kryptograficznych , grupą jest zazwyczaj Zp*. Generalnie logarytm dyskretny w dowolnej grupie może być wyliczony w czasie uruchomieniowym O(√p) , chociaż w wielu grupach można to wykonać szybciej

Jakie są najlepsze metody logarytmu dyskretnego?

Najlepsze algorytmy do rozwiązywania problemu algorytmu dyskretnego są podzielone na dwie klasy : metdoy index calculus i metody wyszukiwania kolizji. Te dwie klasy algorytmów różnią się w sposobie w jaki są stosowane. Metody index calculus generalnie wymagają pewnych właściwości arytmetycznych, podczas gdy algortymy wyszukiwania kolizji mogą być stosowane bardziej ogólnie. Brak zwykłych właściwości grup krzywych eliptycznych zapobiega mocniejszym technikom index calculus będących używanym do ataku krzywą eliptyczną analogicznie do bardziej tradycyjnego krypsotsystemu opartego o logarytm dyskretny. Metody index calcuclus są bardzo podobne do najszybszych metod dla rozkładu na czynnii liczb całkowitych i uruchamiają się w tym ,co nazywa się czasem subwykładniczym. Nie są one tak szybkie jak algorytmy czasu wielomianowego, ale są znacznie szybsze niż metody czasu wielomianowego. Są dwie podstawowe metody index calculus blisko powiązanych z algorytmami sita kwadratowego i sita ciała liczbowego. Do tej chwili, największy problem logarytmu dyskretnego, który został rozwiązany to GF(2503. Algorytmy wyszukiwania kolizji mają czysty czas wykładniczy. Najlepszą znaną metodą jest metoda rho Pollarda, ponieważ algorytm tworzy szlak liczb, które przedstawiona graficznie wygląda jak grecka litera rho. Celem jest znalezienie gdzie ogon napotyka pętlę. Metoda ta uruchamia się w czasie (π / 2 ⋅ p ), gdzie p jest rozmiarem grupy. Największy taki problem, który był publicznie rozwiązany ma p ~27-. Jest to najlepiej znana metoda atau dla ogólnego problemu logarytmu dyskretnego krzywej eliptycznej

Jakie perspektywy dla teoretycznego przełomu w problemie logarytmu dyskretnego?

Niemożliwym jest przewidzieć ,kiedy może nastąpić przełom matematyczny. Algorytmy rozkładu na czynniki były badane przez setki lat, ogólne algorytmy logarytmu dyskretnego były intensywnie badane od początku lat siedemdziesiątych XX wieku, a logarytmy dyskretne krzywej eliptycznej były badane od połowy lat 80-tych XX wieku, Za każdym razem nowy algorytm został ogłaszany,był on mniej lub bardziej zaskoczeniem dla społeczności naukowej. Należy zauważyć ,że dla rozkładu na czynniki liczb całkowitych i ogólnego logarytm dyskretnego, "przełom" oznacza znalezienie algorytmu czasu wielomianowego. Jednak dla logarytmu dyskretnego krzywej eliptyczne przełom obejmowałby tylko znalezienie metody czasu subwykładniczego. Jeśli to drugie zostałoby znalezione, oznaczałoby to ,że logarytmy dyskretne krzywej eliptycznej nie byłby dłużej konkurencyjny wobec rozkładu na czynniki liczb całkowitych i ogólnego logarytmu dyskretnego jako metody klucza publicznego. Krytposystemy krzywej eliptycznej wywodzą swoją przewagę ponieważ zezwalają na mniejsze klucze. Jeśli metoda czasu subwykładniczego została znaleziona, rozmiar klucza musiałby wzrosnąć znacząco przy ekwiwalentnym kluczu. Kryptosystemy krzywej eliptycznej są wolniejsze niż inne metody klucza publicznego

Co to są krzywe eliptyczne?

Krzywe eliptyczne są konstrukcjami matematycznymi z teorii liczb i geometrii algebraicznej, które znalazły liczne zastosowanie w kryptografii . Krzywe eliptyczne mogą być zdefiniowane nad dowolnym ciałem (np. rzeczywistym, wymiernym, zespolonym), chociaż używane w kryptografii są głównie definiowane nad ciałami skończonymi. Krzywa eliptyczna składa się z elementów (x,y) spełniających równanie :
y2 = x3 + ax + b
razez z pojedynczym elementem oznaczonym O nazywanym "punktem w nieskończoności", który może być wizualizowany jako punkt na górze i dole każdej linii pionowej (Wzór krzywej eliptycznej jest znacząco inny dla pewnych ciał). Dodanie dwóch punktów na krzywej eliptycznej jest definiowane według zbioru prostych zasad. Operacja dodawania w krzywej eliptycznej jest odpowiednikiem modularnego mnożenia w typowych kryptosystemach klucza publicznego a wielokrotne dodawania są odpowiednikiem modularnego potęgowania.

Co to są kryptosystemy oparte na kracie?

Kryptosystemy takie są oparte na problemach NP - zupełnych obejmujących kraty. Kraty mogą być widoczne jako liniowe połączenie wetorów w przestrzeni wektorowej N-wymiarowej. Przykładem kraty jest nieskończona siatka kwadratowa w przestrzeni dwuwymiarowej składającej się ze wszystkich punktów ze współrzędnymi całkowitymi. Ta rata jest generowana przez liniowe połączenie pary wektorów <0,1> i <1,0>. Metody oparte na kracie dzielą się na dwie podsatwowe klasy, chociaż metody rozwiązywania dla obu są identyczne. Faktycznie , istnieją wydajne transformacje między tymi dwoma klasami. Pierwsza klasa jest oparta na tzw, problemie sumy podzbioru. Przy danym zbiorze liczb S= {a1, a2, … at} i innej liczbie K, znajdujemy podzbiór S którego wartości sumuje się do K. Problem plecakowy Merkle i Hellmana jest tego przykładem. Inne metody oparte o kratę wymagają znajdowania osadzonych krótkich wektorów w kracie lub znajdowania punktów w przestrzeni wektorowej blisko wierzchołków kraty lub blisko osadzonych wektorów w kracie. Metoda Ajtai i Dworka jest przykładem tego typu metody. Dotychczasowe metody oparte na kracie nie okazały się skuteczne jako podstawy metod klucza publicznego. Aby kryptosystemy oparte na kracie były bezpieczne, wymiar podstawowego problemu musi być duży. Powoduje to duży rozmiar klucza, co sprawia ,że szyfrowanie i deszyfrowanie jest całkiem wolne. Prowadzone badania mają na celu poprawę wydajności tych kryptosystemów.

Jakie są inne trudne problemy?

Jest wiele innych trudnych problemów. Lista problemów NP-zupełnych jest szeroka i rosnąca. Jak dotąd żaden z nich nie został skutecznie zastosowany do kryptosystemu kluczem publicznym. Kilka przykładów trudnych problemów to problem komiwojażera, programowania całościowego, czy ścieżka hamiltonowska lub problem spełnialności wyrażeń logicznych.

Co to jest kryptoanaliza?

Kryptoanaliza jest drugą stroną kryptografii: jest to nauka łamania kodów, dekodowania tajemnic, łamania schematów uwierzytelniania i generalnie, łamania protokołów kryptograficznych. W celu opracowania solidnego algorytmu szyfrowania lub protokołu kryptograficznego, należy zastosować kryptoanalizę dla znalezienia i naprawienia wszelkich niedociągnięć. Jest to właśnie powód dla którego najlepsze (najbardziej zaufane) algorytmy szyfrowania są udostępnione publicznie. Na przykład DES został upubliczniony od lat, więc jest bardzo zaufany, a Skipjack jest utajniony i mniej zaufany. Podstawową zasadą kryptologii jest to ,że bezpieczeństwo algorytmu nie powinno się opierać na jej tajemnicy. Nieuchronnie algorytm zostanie odkryty a jego słabości (jeśli są) zostaną wykorzystane. Różne techniki kryptoanalizy próbujące złamać kryptosystemy są określane jako ataki. Niektóre ataki są ogólne, podczas gdy inne mają zastosowanie tylko do pewnych typów kryptosystemów.

Jakie są podstawowe typy ataków kryptoanalitycznych?

Atali krytpoanalityczne są generalnie skalsyfikowane w sześciu kategoriach, które rozróżniają rodzaj informacji do jakich kryptoanalityk ma dostęp dla zmontowania ataku. Kategorie ataku są wymienione w porządu rosnącej jakości informacji dostępnej kryptoanalitykowi, lub równoważnie, w malejącym porządu poziomu trudności dla kryptoanalityka. Celem kryptoanalityka we wszystkich przypadkach jest możliwość odszyfrowania nowych fragmentów tekstu zaszyfrowanego bez dodatkowych informacji. Ideałem dla kryptoanalityka jest wyodrębnienie tajnego klucza. Atak tekstem zaszyfrowanym jest atakiem, w którym kryptoanalityk uzyskuje próbkę tekstu zaszyfrowanego, bez powiązanego z nim tekstu jawnego. Ta dana jest relatywnie łatwa do uzyskania w wielu scenariuszach, ale sukces ataku tekstem zaszyfrowanym jest generalnie trudny i wymaga bardzo dużej próbki tekstu zaszyfrowanego. Ataka znanym testem jawnym jest atakiem, w którym kryptoanalityk uzyskuje próbkę tekstu zaszyfrowanego i odpowiedni tekst jawny. Atak wybranym testem jawnym jest atakiem, w którym kryptoanalityk musi wybrać jednostkę tekstu jawnego a potem uzyskać odpowiedni tekst zaszyfrowany. Atak adaptacyjnym wybranym tekstem jawnym jest specjalnym przypadkiem ataku wybranym tekstem jawnym, w którym kryptoanalityk musi wybrać dynamicznie próbkę tekstu jawnego i zmodyfikować swój wybór w oparciu o wyniki poprzedniego szyfrowania. Atak wybranym tekstem zaszyfrowanym jest atakiem, w którym kryptoanalityk może wybrać fragment tekstu zaszyfrowanego i próbować uzyskać odpowiedni odszyfrowany tekst jawny. Ten typ ataku jest generalnie najbardziej stosowalny do kryptosystemów klucza publicznego. Adaptacyjny wybrany tekst zaszyfrowany jest adaptacyjną wersją powyższego ataku. Krytpoanalityk może zmontować atak tego typu w scenariuszu w którym ma swobodę użycia fragmentu sprzętu deszyfrowania, ale nie jest w stanie wyodrębnić klucz szyfrowania z niego. Zwróć uwagę ,że ataki kryptoanalityczne nie tylko mogą być skierowane przeciwo algorytmom szyfrowania ale również przeciwko algorytmom podpisu cyfrowego, algorytmom MAC i generatorom liczb pseudolosowych

Co to jest wyszukiwanie wyczerpujące?

Wyszukiwanie wyczerpujące lub wyszukiwanie brute-force , jest podstawową technik wypróbowania każdego możliwego klucza aż do znalezienia poprawnego klucza. Identyfikacja poprawnego klucza może być konieczna dla posiadania tekstu jawnego i jego odpowiedniego tekstu zaszyfrowanego, lub jeśli tekst jawny ma pewną rozpoznawalną charakterystykę, może wystarczyć sam tekst zaszyfrowany. Wyszukiwanie wyczerpujące może być zmontowane na dowolnym szyfrze. Postęp w technologii i wydajności obliczeniowej zawsze będą tworzyć wyszukiwanie wyczerpujące dla coraz bardziej praktycznych ataków przeciwko kluczom o stałej długości. Kiedy stworzono DES, był powszechnie uważany za bezpieczny przeciwko wyszukiwaniu wyczerpującemu bez ogromnych inwestycji finansowych w sprzęt. Nie ma dowodów na to ,że tai sprzęt został skonstruowany. Wyszukiwanie wyczerpujące może być również wykonywane w oprogramowaniu uruchamianym na standardowych stacjach roboczych i komputerach osobistych. Wyszukiwanie wyczerpujące 56 bitowej przestrzeni klucza DES zajęłoby setki lat na starszych PC-tach, ale rozwój Internetu pozwala na wykorzystanie tysięcy maszyn w wyszukiwaniu rozproszonym według podziału przestrzeni klucza i dystrybucji małych części do każdego z dużej liczby komputerów. Grupa o nazwie distributed.net rozwiązała DES Challenge II RSA, używając około 50 000 procesorów dla wyszukania 85% możliwych kluczy w 39 dni.

Jakie są najważniejsze ataki na symetryczny szyfr blokowy?

Istnieje kilka ataków, które są określone dla szyfrów blokowych. Cztery takie ataki to kryptoanaliza różnicowa, krytpoanaliza liniowa, badanie słabości klucza i ataki algebraiczne. Kryptoanaliza różnicowa jest typem ataku, który może być zmontowany na iteracyjnych szyfrach blokowych. Techniki te zostały wprowadzone przez Murphy′ego w ataku na FEAL-4, ale został poprawiony i udoskonalony przez Bihama i Shamira, którzy użyli go w ataku na DES. Krytpoanaliza różnicowa jest zasadniczo atakiem wybranym tekstem jawnym; opiera się na analizie ewolucji różnic między dwoma powiązanymi testami jawnymi, jeśli zostały zaszyfrowane tym samym kluczem. Przez staranna analizę dostępnych danych, można przypisać prawdopodobieństwo do każdego z możliwych kluczy i ostatecznie najbardziej prawdopodobny klucz zostaje zidentyfikowany jako właściwy. Kryptoanaliza różnicowa została wykorzystana przeciwko wielu szyfrom z różnym skutkiem. W atakach przeciwko DES, jego skuteczność jest ograniczona przez bardzo staranne projekty S-boxów podczas projektowania DES w połowie lat 70-tych XX wieku. Badania nad ochroną szyfrów przeciwo kryptoanalizie różnicowej były prowadzone przez Nyberga i Knudsena, jak również Lai, Masseya i Murphy′ego. Kryptoanaliza różnicowa była również przydatna w atakowaniu innych podstaw kryptograficznych takich jak funkcje mieszające. Matsui i Ymagaishi pierwsi użyli krytpoanalizy liniowej w ataku na FEAL. Został rozszerzony przez Matsui na atak na DES. Kryptoanaliza liniowa jest atakiem znanym tekstem jawnym, który używa liniowego przybliżenia do opisu zachowania szyfru blokowego. Przy danej parze tekstu jawnego i odpowiadającego tekstu zaszyfrowanego, można uzyskać bity informacji o kluczu, a rosnąca ilość danych będzie zazwyczaj dawała wyższe prawdopodobieństwo sukcesu. Było wiele ulepszeń i usprawnień podstawowego ataku. Langford i Hellman przedstawili atak o nazwie różnicowo-liniowej kryptoanalizy, która łączyła w sobie elementy kryptoanalizy różnicowej z tymi z kryptoanalizy liniowej. Kaliski i Robshaw wykazali ,że atak kryptoanalityczny liniowey używający wielu przybliżeń może pozwolić na zmniejszenie ilości danych niezbędnych do przeprowadzenia skutecznego ataku. Inne kwestie, takie jak ochrona przed szyfrów przed kryptoanalizą liniowa rozpatrywane były przez Nyberga, Knudsena i O′connera. Słabe klucze są kluczami tajnymi z pewną wartością dla której szyfr blokowy, o którym mowa, będzie wykazywał pewne prawidłowości w szyfrowaniu lub innym przypadku , niskiego poziomu szyfrowania. Na przykład, przy DES istnieją cztery klucze dla których szyfrowanie jest takie samo jak odszyfrowanie. Oznacza to ,że gdyby ktoś zaszyfrował dwukrotnie jednym z tych słabych kluczy, wtedy oryginalny tekst jawny byłby do odzyskania. Dla IDEA, istnieje klasa kluczy, dla których kryptoanaliza jest znacznie ułatwiona a klucze są do odzyskania. Jednak w obu przypadkach liczba słabych kluczy jest małym ułamkiem wszystkich możliwych kluczy, tak ,że szansa wybrania jednego z nich losowo jest wyjątkowo niewielka. W takich przypadkach, nie stanowią one poważnego zagrożenia bezpieczeństwa szyfru blokowego używanego do szyfrowania. Oczywiście dla innych szyfrów blokowych, mogą być większe zbiory słabych kluczy dla których szansa na trafienie słabego klucza jest zbyt dużą. W takich przypadkach, obecność słabych kluczy nie ma oczywistego wpływu na bezpieczeństwo szyfru blokowego. Ataki algebraiczne są lasami technik, które opierają się na ich sukcesie w szyfrach blokowych wykazujących wysoki stopień struktury matematycznej. Np. nie można wykluczyć ,że szyfr blokowy może wykazywać coś co nazywa się strukturą grupy. Jeśli byłby to ten- przypadek, wtedy szyfrowanie zwykłego tekstu jednym kluczem a potem zaszyfrowanie innym kluczem zawsze byłoby jednoznaczne z pojedynczym szyfrowaniem pod innym pojedynczym kluczem Jeśli tak, wtedy szyfr blokowy byłby znacznie słabszy, a korzystanie z wielokrotnego szyfrowania nie oferuje dodatkowego bezpieczeństwa. Dla większości szyfrów blokowych, pytanie, czy tworzą one grupę jest nadal otwarte. DES jest znany, że nie będzie grupa. Istnieje jedna wiele obaw co do ataków algebraicznych. Podstawowe właściwości kryptograficzne funkcji mieszającej są takie ,że jest zarówno jednokierunkowa i bezkolizyjna. Większość podstawowych ataków może być zmontowanych na funkcji mieszającej to wybór danych do funkcji mieszającej losowo dopóki albo znajdziemy jakieś dane wejściowe które dadzą nam docelowe dane wyjściowe jakich szukamy lub znajdziemy dwie dane wartości wyjściowe, które tworzą tą samą daną wyjściową. Załóżmy ,że funkcja mieszająca tworzy daną wyjściową długości n-bitów. Jeśli spróbujemy znaleźć jakąś daną wyjściową, która będzie tworzyła jakąś docelową daną wyjściową y, wtedy każda dana wyjściowa jest równie prawdopodobna, możemy się spróbować rzędu 2n możliwych wartości danych wejściowych. Atak urodzinowy jest nazwą używaną do odniesienia się do klas ataków brute-force. Swoją nazwę wywodzi od niespodziewanego wyniku , że prawdopodobieństwo iż dwie lub więcej osób w grupie 23 ma w ten sam dzień urodziny jest większa niż 1 / 2; taki wynik jest nazywany paradoksem urodzin. Jeśli jakaś funkcja, z dostarczonymi losowymi danymi wejściowymi, zwraca jedną z k równo-prawdopodobnych wartości, wtedy powtarzamy obliczenia funkcji dla różnych danych wejściowych, oczekujemy uzyskania tych samych danych wyjściowych po około 1.2k1 / 2. Jeśli próbujemy znaleźć kolizję, wtedy z paradoksu urodzin możemy oczekiwać tego po wypróbowaniu 1.2(2n/2) możliwych wartości danych wejściowych. Van Oorschot i Wiener wykazał jak taki atak brute force może być zaimplantowany. W odniesieniu do korzystania z funkcji mieszającej w świadczeniu podpisów cyfrowych, Yuval zaproponował poniższą strategię opartą na paradoksie urodzin, gdzie n jest długością skrótu wiadomości:
• Przeciwnik wybiera dwie wiadomości : wiadomość docelową podpisaną i wiadomość nieszkodliwą, jaką Alicja może chcieć podpisać
• Przeciwnik generuje 2n/2 wariacji nieszkodliwej wiadomości (przez stworzenie na przykład drobnych zmian redakcyjnych), wszystkie przekazujące to samo znaczenie, i ich odpowiedni skrót wiadomości. Potem generuje równą liczbę wariacji wiadomości docelowej będącej zastępowaną
• Prawdopodobieństwo ,że jedna z wariacji nieszkodliwej wiadomości będzie pasowała do jednej z wariacji wiadomości docelowej jest większa niż 1 / 2 przez paradoks urodzin.
• Następnie przeciwnik uzyskuje podpis Alicji na wariacji nieszkodliwej wiadomości
• Podpis z nieszkodliwej wiadomości zostanie usunięty i dołączony do zmienionej wiadomości docelowej, która generuje ten sam skrót wiadomości. Przeciwnik może z powodzenie sfałszować wiadomość bez odrywania klucza szyfrującego
Pseudo-kolizje są kolizjami dla funkcji kompresji, która leży w sercu iteracyjnej funkcji mieszającej. Podczas gdy kolizja dla funkcji kompresji funkcji mieszającej może być przydatna w konstruowaniu kolizji dla samej funkcji mieszającej,to nie jest zwykły przypadek. Podczas gdy pseudo-kolizje mogą być postrzegane jako niefortunne właściwości funkcji mieszającej, pseudo-kolizja nie jest równoważna kolizji, a funkcja mieszająca może być jeszcze bezpieczna. MD5 jest przykładem funkcji mieszającej , dla której pseudo-kolizje zostały odkryte i są jeszcze uważane za bezpieczne

Jakie są najważniejsze ataki na szyfry strumieniowe?

Najbardziej typowym zastosowaniem szyfru strumieniowego dla szyfrowania jest wygenerowanie strumienia klucza w sposób który zależy od tajnego klucza a potem połączenia tego (zazwyczaj używając bitowego exclusive-or) z szyfrowaną wiadomością. Koniecznością jest aby strumień klucza "wyglądał" na losowy; to znaczy ,po przyglądaniu się rosnącej ilości strumienia klucza, przeciwnik nie powinien mieć dodatkowej korzyść z możliwości przewidywania każdego z kolejnych bitów sekwencji. Chociaż istnieję pewne próby zagwarantowania takiej właściwości, większość szyfrów strumieniowych polega na analizie ad-hoc Warunkiem koniecznym dla bezpieczeństwa szyfru strumieniowego jest to ,że przechodzi szereg testów statystycznych, które oceniają (między innymi) częstotliwości z jaką pojedyncze bity lub kolejne wzorce bitowe o różnych rozmiarach występują. Takie testy mogą również sprawdzić, czy korelacja między bitami sekwencji występuje w pewnym momencie czasu oraz te w innych miejscach sekwencji. Oczywiście ilość danych statystycznych testów zależy od dokładności projektanta. To bardzo rzadki i słaby szyfr strumieniowy, który nie przechodzi tego testu. Strumień klucza może potencjalnie mieć słabości strukturalne, które pozwalają przeciwnikowi wydedukować część strumienia klucza. Bardziej oczywiste, jeśli okres strumienia klucza, tzn. liczba bitów w strumieniu klucza zanim zaczynają ponowne powtarzanie, jest zbyt krótki, przeciwnik może zastosować odkrytą część strumienia klucza dla pomocy w deszyfrowaniu innych części tekstu zaszyfrowanego. Projet szyfru strumieniowego należy dołączyć w formie gwarancji minimalnego okresu dla strumieni klucza, które mogą być generowane lub alternatywnie, dobry teoretyczny dowód dla wartości dolnej granicy takiego okresu. Bez tego, użytkownik kryptosystemu nie może zakładać ,że dany strumień klucza nie będzie się powtarzał szybciej niż może być to wymagane dla bezpieczeństwa kryptograficznego. Bardziej zaangażowany zbiór strukturalnych słabości może zaoferować możliwość znalezienie alternatywnych sposobów na wygenerowanie części lub całości strumienia klucza. Najważniejsze z tych podejść może korzystać z rejestru przesuwnego z liniowym sprzężeniem zwrotnym dla powtórzenia części sekwencji. Motywacją do użycia tego rejestru jest wynik algorytmu Berlekampa i Masseya, który ma na wejściu skończony ciąg bitów i generuje jako wyjście szczegóły rejestru przesuwnego z liniowym sprzężeniem zwrotnym, który mógłby być użyty do wygenerowania tej sekwencji. Daje to środek bezpieczeństwa znany jako liniowa złożoność sekwencji; dla danej sekwencji, liniowa złożoność jest rozmiaru rejestru przesuwnego z liniowym sprzężeniem zwrotnym, który musi być używany do replikowania sekwencji. Oczywiście warunkiem koniecznym dla bezpieczeństwa szyfru strumieniowane jest to ,że sekwencje jakie tworzy mają wysoką złożoność liniową .RSA Laboratories Technical Raport TR-801 opisuje szczegółowo niektóre z tych zagadnień , a także niektórych innych alternatywnych miar złożoności, które mogą być interesujące dla kryptografów i kryptoanalityków. Inne ataki próbują odzyskać część tajnego klucza, jaki został użyty. Oprócz najbardziej oczywistych ataków poszukiwania klucza przez brute force, silną klasę ataków można opisać terminem dziel i rządź. Podczas analizy off-line kryptoanalityk identyfikuje jaką część klucza, który ma bezpośredni i natychmiastowy wpływ na pewne aspekty lub części wygenerowanego strumienia klucza. Wykonując wyszukiwanie metodą brute force na tej małej części tajnego klucza i obserwowanie jak dobrze wygenerowana sekwencja zgadza się z rzeczywistym strumieniem klucza, kryptoanalityk może potencjalnie wydedukować poprawną wartość dla tego małego ułamka tajnego klucza. Ta korelacja między strumieniem klucza wytworzonego po stworzeniu pewnego przypuszczenie co do części klucza a przechwyconym strumieniem klucza daje nam coś co nazywa się atakiem korelacji. W końcu, istnieją pewne kwestie implementacyjne. Synchroniczny szyfr strumieniowy pozwala przeciwnikowi zmieniać bity w tekście jawnym bez propagacji błędów w reszcie wiadomości. Jeśli uwierzytelnienie wiadomości będzie wymagało szyfrowania, może być wskazane użycie kryptograficznego MAC. Jako oddzielna implementacja problemu synchronizacji między nadawcą a odbiorcą może być czasami tracona z szyfru strumieniowego a niektóre metody są wymagane dla zapewnienia aby strumień klucza można było umieścić ponownie w roku. Typowym sposobem zrobienia tego jest dla nadawcy wiadomości jest przeplatanie znaczników do transmisji więc tylko ta część przekazu , która leży między znacznikami synchronizacji może być utracona.

Jakie są najważniejsze ataki na MAC′i?

Istniej wiele zagrożeń dla bezpieczeństwa MAC. Pierwszym i najbardziej oczywistym, jest użycie MAC nie powinno powodować ujawniania informacji na temat użytego klucza tajnego . Po drugie nie powinno być możliwe dla przeciwnika wypracowanie poprawnego MAC dla wiadomości bez znajomości tajnego klucza, nawet po obejrzeniu wielu wiarygodnych pary wiadomość/MAC. Po trzecie, nie powinno być możliwe zastępowanie wiadomości a parze wiadomość/MAC inną wiadomością dla której MAC pozostaje wiarygodny. Istnieje wiele modeli zagrożeń, które zależą od różnych założeń dotyczących danych które mogą być gromadzone. Na przykład, czy przeciwnik może kontrolować wiadomości, których MAC uzyskuje, a jeśli tak, czy wybór powinien być dostosowany do danych jakie zostały zebrane? W zależności do projektu MAC istnieje wiele różnych ataków, które można zastosować. Być może najważniejsza klasa ataków wynika z Preneela i van Oorschota. Ataki te obejmują zaawansowane zastosowanie paradoksu urodzin dla analizy pary wiadomość/MAC a ataki były szczególnie przydatne w podkreśleniu strukturalnej wady w konstrukcji wielu MAC′ów.

W jakim momencie ataki stają się praktyczne?

Nie ma łatwej odpowiedzi na to pytanie, ponieważ odpowiedź zależy od wielu różnych czynników. Nie tylko praca i zasoby obliczeniowe kryptoanalityk muszą być rozsądne, ale również musi być brane pod uwagę ilość i rodzaj danych wymaganych do ataku, by odnieść sukces. Ponadto trzeba brać pod uwagę wartość ukrytej informacji. Ponadto trzeba zauważyć ,że kryptografia i bezpieczeństwo nie są równoważne. Jeśli szyfr blokowy trzeba łamać przez siedem miesięcy, ale klucz może być uzyskany przez przekupstwo lub wymuszenie, przeciwnik zapewne wykorzysta to drugie rozwiązanie.

Co to jest test pierwszości?

Testowanie pierwszości jest procesem udowadniającym ,że liczba jest liczbą pierwszą (liczba całkowita większa niż 1 jest liczbą pierwszą jeśli jest podzielna tylo przez siebie i 1). Jest używane w procesie generowanie klucza dla kryptosystemów, które zależą od tajnych liczb pierwszych, takich jak RSA. Probabilistyczny test pierwszości jest procesem który udowadnia ,że liczba ma wysokie prawdopodobieństwo bycia liczbą pierwszą. Aby wygenerować losową liczbę pierwszą, są generowane losowo liczby i testowane na pierwszość dopóki jedna z nich nie okaże się być pierwszą (lub bardzo podobną do pierwszej, jeśli używamy testu probabilistycznego). Generalnie zaleca się stosowanie probalistycznego testu pierwszość, który jest znacznie szybszy. Można użyć probabilistycznego testu , który określa czy liczba jest pierwsza z dowolnie małym prawdopodobieństwem błędu, powiedzmy mniej niż 2-100

Co to jest generowanie liczb losowych?

Generowanie liczb losowych jest używane szeroko w działania kryptograficznych, takich jak generowanie klucza i protokołach wyzwanie/odpowiedź. Generator liczb losowych jest funkcją, która generuje sekwencję 0 i 1, takich ,że w żadnym punkcie, kolejny bit nie może być przewidziany na podstawie poprzednich bitów. Jednak prawdziwa generacja liczb losowych jest trudna do wykonania na komputerze, ponieważ komputery są urządzeniami deterministycznymi. Tak więc, jeśli ten sam generator liczb losowych jest uruchomiony, odbieramy identyczne wyniki. Prawdziwe generatory liczb losowych są używane, ale są trudne do zbudowania. Zazwyczaj pobierają dane wejściowe od czegoś w świecie fizycznym, np. poziomu emisji neutronów radioaktywnych substancji. Powodu tych trudności, generowanie liczb losowych na komputerze jest zazwyczaj generowaniem liczb pseudo-losowych. Generator liczb pseudo-losowych tworzy sekwencję bitów, która ma losowy rozkład. Przy różnych wielkościach wejściowych, generator liczb pseudo-losowych generuje różne sekwencje pseudo-losowe. Generatory liczb pseudo-losowych są często oparte o funkcje kryptograficzne , jak szyfr blokowy czy szyfr strumieniowy

Techniki w kryptografii


Co to jest RSA?

RSA jest kryptosystemem klucza publicznego, który oferuje zarówno szyfrowanie I podpisy cyfrowe (uwierzytelnianie) .Ron Rivest, Adi Shamir i Leonard Adelman stworzyli RSA w 1977; RSA to skrót pierwszych liter nazwisk twórców. RSA działa następująco: pobiera dwie liczby pierwsze p i q, wylicza ich iloczyn n = pq; n jest nazywane modułem. Wybiera liczbę, e , mniejsza niż n i względnie pierwszą do (p-1)(q-), co oznacza ,że e i (p-1)(q-1) nie mają wspólnych współczynników oprócz 1. Znajduje inną liczbę d taką ,że (ed-1) jest podzielne przez (p-1)(q-1). Wartości e i d są nazywane publicznym i prywatnym wykładnikiem, odpowiednio. Klucz publiczny jest to para (n,e); klucz prywatny to (n,d). Współczynniki p i q mogą być przechowywane z kluczem prywatnym , lub zniszczone. Rzeczywiście trudno jest uzyskać klucz prywatny d z klucza publicznego (n,e). Jednak , jeśli można by rozłożyć współczynnik n na p i q, wtedy można uzyskać klucz prywatny d. Zatem bezpieczeństwo RSA jest oparte na założeniu ,że rozkład na czynniki jest trudne. Odkrycie łatwej metody rozkładu na czynniki będzie "złamaniem" RSA
Szyfrowanie RSA : Załóżmy ,że Alicja chce wysłać wiadomość m Bobowi. Alicja tworzy tekst zaszyfrowany c przez c = me mod n, gdzie e i n są kluczem publicznym Boba. Wysyła c do Boba. Dla odszyfrowania, Bob wykonuje m = cd mod b; związek między e i d zapewnia ,że Bob poprawnie odzyskał m. Ponieważ tylko Bob zna d, tylko Bob może odszyfrować taką wiadomość
Podpisy cyfrowe RSA : Załóżmy ,że Alicja chce wysłać wiadomość m do Boba w taki sposób ,że zapewnione jest ,że wiadomość jest autentyczna i nie została naruszona. Alciaj tworzy cyfrowy podpis s przez s = md mod n, gdzie d i n są kluczem prywatnym Alicji. Wysyła m i s do Boba. Aby zweryfikować podpis, Bob wykonuje m = se mod n, gdzie ei n są kluczem publicznym Alicji. Tak więc szyfrowanie i uwierzytelnianie mają miejsce bez współdzielenia kluczy prywatnych: każda osoba używa tylko czyjegoś klucza publicznego i swojego własnego klucza prywatnego. Każdy może wysłać zaszyfrowaną wiadomość lub zweryfikować podpis wiadomości, ale tylko ktośw posiadania poprawnego klucza prywatnego może odszyfrować lub podpisać wiadomość

Jak szybki jest RSA?

"Operacja RSA, czy to szyfrowanie, deszyfrowanie, podpisywanie lub weryfikowanie jest zasadniczo potęgowaniem modularnym. To obliczenie jest dokonywane jako szereg modularnych mnożeń. W praktycznym zastosowaniu, popularne jest wybieranie małego publicznego wykładnika dla klucza publicznego. Faktycznie, cała grupa użytkowników może używać tego samego publicznego wykładnika , każdy z innym modułem. (Istnieją pewne ograniczenia co do współczynników pierwszych modułów, kiedy wykładnik publiczny jest stały) Czyni to szyfrowanie szybszym niż deszyfrowanie a weryfikację szybszą niż podpisywanie. Z typowym wykładnikiem modularnym algortymy używane do implementacji RSA, operacje kluczem publicznym zabierają O(k2) kroków, operacje kluczem prywatnym zabierają O(k3) kroków a generowanie klucza zabiera O(k4) kroków, gdzie k jest liczbą bitów w module. Techniki "szybkiego mnożenia" takie jak metody FFT, wymagają asymptptycznie kilku kroków. W praktyce jednak, nie są zbyt popularne ze względu na większą złożoność programową i fakt ,że mogą być wolniejsze dla typowego rozmiaru klucza. Przez porównanie, DES i inne szyfry blokowe są dużo szybsze niż RSA. W oprogramowaniu, DES jest generalnie co najmniej 100 razy szybszy niż RSA. W sprzęcie, DES jest między 1000 a 10 000 razy szybszy, w zależności od implementacji.

Co trzeba zrobić aby złamać RSA?

Jest kilka możliwych interpretacji "złamania RSA". Najbardziej szkodliwe byłoby ,gdyby atakujący odkrył klucz prywatny odpowiadający danemu kluczowi publicznemu; pozwalałoby to atakującemu zarówno czytać wszystkie wiadomości zaszyfrowane tym kluczem publicznym i fałszować podpisy .Oczywistym sposobem zrobienia takiego ataku jest rozkład modułu publicznego, n , na jego dwa współczynniki pierwsze, p i q. Z p,q i e, publiczny wykładnik, atakujący może łatwo uzyskać d, prywatny wykładnik. Trudną częścią jest rozkład n; bezpieczeństwo RSA zależy od trudności tego rozkładu na czynniki. Istotnie, zadanie odkrycia klucza prywatnego jest równoważne zadaniu rozkładu na czynniki tego modułu: możesz użyć do rozkładu n, jak również użyć rozkładu na czynniki n dla znalezienia d. Odnotuj ,że sama poprawa sprzętu nie osłabia RSA, tak długo jak używane są klucze odpowiedniej długości. W rzeczywistości, poprawa sprzętu powinna zwiększyć bezpieczeństwo RSA. Inny sposób do łamania RSA jest znalezienie techniki do obliczenia etego pierwiastka mod n. Ponieważ c = me mod n, wtedy e-ty pierwiastek z c mod n jest wiadomością n. Atak ten pozwoli na odkrycie zaszyfrowanej wiadomości i fałszowania podpisów nawet bez znajomości klucza prywatnego. Nie wiadomo czy ten atak odpowiada rozkładowi na czynniki pierwsze. Nie ma ogólnej metody dla prób złamania RSA w ten sposób. Jednakże, w specjalnych przypadkach gdzie wiele powiązanych wiadomości jest szyfrowanych tym samym małym wykładnikiem, możliwe byłoby odkrycie wiadomości. Ataki wspomniane są jedynym sposobami łamania RSA w taki sposób, aby było możliwe odkrycie wszystkich wiadomości zaszyfrowanych danym kluczem. Istnieją inne metody, jednak, które pomagają odkrywać pojedyncze wiadomości; powodzenie nie pozwoli atakującemu odzyskać pozostałych wiadomości zaszyfrowanych przy użyciu tego samego klucza .Niektórzy badali czy część wiadomości można odzyskać z zaszyfrowanej wiadomości. Najprostszym atakiem na pojedynczą wiadomość jest zgadywanie tekstu jawnego. Atakujący widzi tekst zaszyfrowany i odgaduje ,że wiadomość to , na przykład : "Atak o świecie", i szyfruje tą zgadywankę za pomocą klucza publicznego odbiory i przez porównanie z rzeczywistym tekstem zaszyfrowanym, atakujący wie czy przypuszczenie będzie poprawne. Dołączają kilka losowych bitów do wiadomości można pokrzyżować ten atak. Inny atak pojedynczą wiadomością może wystąpić jeśli ktoś wysłał tą samą wiadomość m do trzech innych, z których każdy ma wykładnik publiczny e = 3. Atakujący który zna to i widzi trzy wiadomości będzie mógł odzyskać wiadomość m. Atak ten, i sposoby zapobieżenia mu omówił Hastad. Na szczęście, atak ten może być pokonany przez wypychanie wiadomości przed każdym szyfrowanie losowymi bitami. Istnieją również ataki wybranym tekstem zaszyfrowanym, w których atakujący tworzy tekst zaszyfrowany i obiera go aby zobaczyć odpowiedni tekst jawny.

Co to są silne liczby pierwsze i czy są niezbędne w RSA?

W literaturze dotyczącej RSA, często pojawia się sugestia, aby wybierać parę kluczy, z których jedna powinna używać tzw. "silnych" liczb pierwszych p i q dla wygenerowania modułu n. Silne liczby pierwsze mają pewne właściwości, które czynią iloczyn n trudny do rozłożenia określonymi metodami rozkładu na czynniki; takie właściwości obejmują , na przykład, istnienie dużego współczynnika pierwszego p-1 i dużego czynnika pierwszego p+1. Przyczyną tego jest kilka metod faktoryzacji (np. metody Pollarda p-1 i p+1), które są szczególnie przydatne dla liczb pierwszych p takich ,że p-1 lub p+1 ma tylko małe współczynniki; silne liczby pierwsze są odporne na te ataki. Jednak postęp w rozkładzie na czynniki w ciągu ostatnich lat, powoduje że moc silnych liczb pierwszych zanika. Algorytm rozkładu krzywymi eliptycznymi jest jedną z takich metod. Nowe metody rozkładu mają taką samą szansę na powodzenie na silnych liczbach pierwszych jak i na "słabych". Dlatego wybieranie samych "silnych" liczb pierwszych nie poprawia znacząco bezpieczeństwa. Wybór wystarczająco dużych liczb pierwszych jest tym co się liczy. Jednakże , nie ma niebezpieczeństwa w korzystaniu z silnych, dużych liczb pierwszych, choć ,może trwać dłużej generowanie silne liczby pierwsze niż arbitralne liczby pierwsze. Możliwe są nowe algorytmy rozkładu na czynniki, stworzone w przyszłości. Jeśli tak się stanie, wybieranie silnych liczb pierwszych może ponownie zwiększyć bezpieczeństwo

Jak duże powinny być klucze używane w RSA?

Rozmiar klucza RSA zazwyczaj odnosi się do rozmiaru modułu n. Dwie liczby pierwsze , p i q , które składają się na moduł, powinny być w przybliżeniu równej długości; czyni to moduł trudniejszym do rozkładu niż jeśli jedna liczba pierwsza jest dużo mniejsza niż druga. Jeśli wybierzemy do użycia moduł 768 bitowy, liczby pierwsze powinny mieć w przybliżeniu długość 384 bitów. Jeśli dwie liczby pierwsze są bardzo bliskie (identyczne , z wyjątkiem 100-200 bitów), lub ogólniej, jeśli ich różnica jest bliżej określonej ilości, wtedy istnieje potecjalnej zagrożenie bezpieczeństwa, ale prawdopodobieństwo, że dwie losowo wybrane liczby pierwsze są tak blisko, jest znikome. Najlepszy rozmiar modułu RSA zależy od potrzeb bezpieczeństwa. Większy moduł, większe bezpieczeństwo, ale również wolniejsze działania RSA. Należy wybrać moduł o długości po uwzględnieniu, po pierwsze, wartość chronionych danych i jak długo muszą być chronione, i po drugie, jak silne jest potencjalne zagrożenie. Dobrą analizę bezpieczeństwa uzyskanego przy danej długości modułu podał Rivest, w kontekście modułu logarytmu dyskretnego liczby pierwszej. Typowe jest ,że klucz indywidualnego użytkownika tarci ważność po upływie pewnego czasu, powiedzmy dwóch lat. Daje to możliwość zmiany klucza regularnie i utrzymanie danego poziomu bezpieczeństwa. Po wygaśnięciu, użytkownik powinien wygenerować nowy klucz. Oczywiście zmiana klucza nie chroni przed atakami, które próbują odzyskać wiadomości zaszyfrowane starym kluczem, więc rozmiar klucza należy zawsze dobierać do oczekiwanego trwania życia danych. Możliwość zmiany kluczy pozwala na dostosowanie się do zalecenia zmiany nowego rozmiaru klucza. Użytkownicy powinni pamiętać ,że szacunkowe czasy dla złamania RSA są tylko uśrednionymi. Przy dużym wysiłku rozkładu na czynniki, atakowaniu wielu tysięcy modułów RSA, może udać się przynajmniej jeden rozkład w rozsądnym czasie. Chociaż bezpieczeństwo każdego pojedynczego klucza jest nadal silne, przy niektórych metodach rozkładu istniej mała szansa ,że atakujący może mieć szczęście, i rozłożyć pewien klucz szybko. Co do spowolnienia spowodowanego przez zwiększenie rozmiaru klucza, podwojenie długości modułu, średnio, zwiększy czas wymagany dla operacji kluczem publicznym (szyfrowanie i weryfikacja podpisów) o współczynnik cztery, a zwiększenie czasu pobieranego przez operacje kluczem prywatnym (deszyfrowanie i podpisywanie) o współczynnik osiem. Powodem ,że operacje kluczem publicznym są wydajniejsze niż operacje kluczem prywatnym jest to ,że wykładnik publiczny może pozostać stały , podczas gdy moduł jest zwiększany, natomiast długość wykładnika prywatnego zwiększa się proporcjonalnie. Czas generowania klucza będzie rósł o współczynnik 16 podwajając moduł, ale jest to stosunkowo rzadkie działanie większości użytkowników . Należy zauważyć ,że rozmiary klucza dla RSA ( i innych technik klucza publicznego) są dużo większe niże dla szyfrów blokowych , jak DES , ale bezpieczeństwo klucza RSA nie może być porównywane z bezpieczeństwem klucza w innym systemie, jedynie pod względem długości

Czy użytkownikom RSA może zabraknąć liczb pierwszych?

Euklides udowodnij ponad dwa tysiące lat temu ,że istnieje nieskończenie wiele liczb pierwszych. Ponieważ RSA jest generalnie implementowane ze stałą długością klucza, liczba liczb pierwszych dostępnych użytkownikowi algorytmu jest praktycznie skończona. Chociaż skończona, liczba ta jest jednak bardzo duża. Twierdzenie o liczbach pierwszych stanowi ,że liczba liczb pierwszych mniejsza lub równa n jest asymptotyczna do n/ ln n. Zatem, liczba liczb pierwszych długości 512 bitów lub mniejszych to w przybliżeniu 10150. To więcej niż liczba atomów w znanym wszechświecie

Jak RSA jest używane do prywatności w praktyce?

W praktyce, RSA jest często używany razem z kryptosystemem tajnego klucza, takim jak DES, szyfrując wiadomości za pomocą cyfrowej koperty RSA. Załóżmy, że Alicja życzy sobie wysłać zaszyfrowaną wiadomość do Boba. Najpierw szyfruje wiadomość DES′em, używając losowo wybranego klucza DES. Potem szuka publicznego klucza Boba i używa go do szyfrowania klucza DES. Wiadomość zaszyfrowana DES i zaszyfrowany RSA klucz DES razem formują cyfrową kopertę RSA i są wysyłane do Boba. Po odebraniu cyfrowej koperty, Bob deszyfruje klucz DES swoim prywatnym kluczem m potem używa klucza DES do odszyfrowania samej wiadomości. Łączy to wysokoą szybkość DES z konwencją zarządzania kluczem RSA.

Jak RSA jest używane do uwierzytelniania i podpisów cyfrowych w praktyce?

Kryptosystem klucza publicznego RSA ,może być używany do uwierzytelniania lub identyfikacji innej osoby lub jednostki. Powodem ,że działa to dobrze, jest to ,że każda jednostka ma powiązany klucz prywatny, do którego (teoretycznie) nikt inny nie ma dostępu. Umożliwia to pozytywną i jednoznaczną identyfikację. Załóżmy ,że Alicja ma życzenie wysłać podpisaną wiadomość do Boba. Stosuje funkcję mieszającą do wiadomości ,aby stworzyć skrót wiadomości, który służy jako "cyfrowy odcisk palca"wiadomości. Potem szyfruje skrót wiadomości sowim kluczem prywatnym RSA, tworząc podpis cyfrowy wysłany do Boba wraz z samą wiadomością. Bob, po odebraniu wiadomości i podpisu, odszyfrowuje podpis kluczem publicznym Alicji dla odzyskania skrótu wiadomości. Potem hashuje wiadomość tą samą funkcję mieszającą jakiej użyła Alicja i porównuje wynik ze skrótem wiadomości odszyfrowanym z podpisu .Jeśli są dokładnie równe, podpis został zweryfikowany poprawnie i może być pewny ,że wiadomość rzeczywiście pochodzi od Alicji. Jeśli nie są równe, wtedy wiadomość pochodzi od kogoś innego albo został zmieniona po jego podpisaniu i odrzuci on wiadomość. Każdy kto odczytał wiadomość może zweryfikować podpisy. To nie spełnia sytuacji kiedy Alicja życzy sobie utrzymać tajemnicę dokumentu. W tej sytuacji może sobie życzyć podpisać dokument, potem zaszyfrować go kluczem publicznym Boba. Bob będzie ją musiał odszyfrować używając swojego klucza prywatnego i zweryfikować podpis na odzyskanej wiadomości używając klucza publicznego Alicji. Alternatywnie , jeśli jest konieczne pośredniczenie jednostek trzecich dla sprawdzenia integralności wiadomości bez możliwości odszyfrowania zawartości, skrót wiadomości może być wyliczony w zaszyfrowanej wiadomości, zamiast w tekście jawnym. W praktyce, publiczny wykładnik RSA jest zazwyczaj dużo mniejszy niż wykładnik prywatny RSA. Oznacza to ,że weryfikacja podpisu jest szybsza niż podpisanie. Jest to pożądane, ponieważ wiadomość zostanie podpisana tylko raz, ale podpis może być weryfikowany wiele razy. Musi być nieosiągalne dla kogoś kto albo znalazł wiadomość, którą mieszał daną wartością albo znalazł dwie wiadomości, które mieszał tą samą wartością. Jeśli cokolwiek jest osiągalne, intruz może dołączyć fałszywą wiadomość do podpisu Alicji. Funkcje mieszające takie jak MD5 i SHA stworzono specjalnie, mając właściwość taką ,że znajdowanie dopasowania nie jest możliwe, i dlatego są używane w kryptografii. Jeden lub więcej certyfikatów może towarzyszyć podpisowi cyfrowemu. Certyfikat jest podpisanym dokumentem ,który łączy klucz publiczny z tożsamością jednostki. Jego celem jest zapobieżenie podszyciu się pod kogoś innego. Jeśli certyfikat jest obecny , odbiorca (lub jednostka trzecia) może sprawdzić ,że klucz należy do nazwanej jednostki, zakładając ,że klucz publiczny certyfikującego sam jest zaufany.

Czy RSA jest aktualnie stosowany?

RSA jest aktualnie używany w szerokim zakresie produktów, platform na świecie. Znajduje się w wielu komercyjnych programach. RSA jest wbudowany w wielu systemach operacyjncych Microsoft, Apple, Sun i Novell. Sprzętowo, RSA można znaleźć w bezpiecznej telefonii, w kartach sieci Ethernet. Dodatkowo RSA jest inkorporowany do wszystkich głównych protokołów dla bezpiecznej komunikacji internetowej w tym S/MIME, SSL i S/WAN. Jest również używany wewnętrznie w wielu instytucjach rządowych, korporacjach , laboratoriach i uniwersytetach.

Czy dziś RSA jest oficjalnym standardem?

RSA jest częścią wielu oficjalnych standardów światowych. Stanard ISO (Interantional Standards Organization) 9796 pokazuje RSa jako kompatybilny algortym kryptograficzny, podobnie jak standard bezpieczeństwa ITU-T X.509. RSA jest częścią standardu Society for Worldwide Interbank Financial Telecommunications (SWIFT), francuskiego standardu ETEBAC 5, standard ANSI X9.32 rDSA i standardu X9.44, dla bankowości amerykańskiej. Australijski standard zarządzania kluaczami , AS2805.6.5.3 , również specyfikuje RSA. RSA można znaleźć w standardach internetowych i propronowanych protokołach w tym S/MIME, IPSec i TLS, standardach internetowych, następcach SSL, jak też standardzie PKCS dla oprogramowania przemysłowego. Szereg innych standardów obecnie opracowywanych i przyszłościowych, ma obejmować RSA jako przyjęty albo zalecany system dla prywatności i/lub uwierzytelniania.

Czy RSA jest de facto standardem?

RSA jest szeroko stosowanym krypotsystemem klucza publicznego i często bywa nazywany de facto standardem. Bez względu na standardy oficjalne, istnienie faktycznego standardu jest wyjątkowo ważne dla tworzenia cyfrowej ekonomii. Jeśli jeden system klucza publicznego jest stosowany wszędzie dla uwierzytelniania, wtedy podpisany cyfrowo dokument może być wymieniany między użytkownikami w różnych krajach używających różnego oprogramowania na różnych platformach; ta interoperatywność jest konieczna dla prawdziwej cyfrowej ekonomii. Przyjęcie RSA rozrosło się do tego stopnia, że został napisany standard przyjmujący RSA. Kiedy amerykański przemysł finansowy rozwijał standard cyfrowych podpisów, zaprojektowano ANSI X9.30 dla wsparcia federalnych wymogów korzystania ze standardu podpisu cyfrowego. Następnie zmodyfikowano X9.30 do X9.31 z naciskiem na podpisy cyfrowe RSA dla wsparcia de facto standardu instytucji finansowych. Brak bezpiecznego uwierzytelniania był główną przeszkodą w realizacji obietnicy ,że komputery zastąpią papier; papier jest nadal konieczny wszędzie dla kontraktów, listów, dokumentów prawnych i identyfikacji. Z tego rdzenia koniecznych papierowych transakcji, nie jest możliwe całkowite przejście społeczeństwa na transakcje elektroniczne. Podpis cyfrowy jest dokładnym narzędziem koniecznym do konwersji najistotniejszych dokumentów papierowych do cyfrowych mediów elektronicznych. Podpisy cyfrowe czynią możliwym istnienie w formie elektronicznej paszportom, stenogramom, testamentom, czekom i formularzom rejestracyjnym wyborców. Wersja papierowa będzie tylko "kopią" elektronicznego oryginału. Przyjęty standard podpisu cyfrowego umożliwił ,że wszystko to się urzeczywistniło.

Co to jest DES?

DES, akronim dla Data Encryption Standard, jest nazwą , jest nazwą Federal Information Processing Standard (FIPS) 46-1, który opisuje algorytm szyfrowania danych (DEA). Dwa jest również definiowany w standardzie ANSI X9.32. Pierwotnie stworzony przez IBM i znany jako Lucifer, NSA i National Bureau of Standards (NBS, obecnie National Institute of Standards and Technology, NIST) odgrywa zasadniczą rolę na końcowym etapie projektowania. DEA, często nazywany DES, jest szeroko badany od jego publikacji i jest najlepiej znanym i szeroko używanym algorytmem symetrycznym na świecie. DEA ma 64-bitowy rozmiar bloku i używa 56-bitowego klucza podczas wykonywania (8 bitów parzystości jest odejmowanych od pełnego 64 bitowego klucza). DEA jest symetrycznym kryptosystemem, szczególnie 16 rundowym szyfrem Feistela i został pierwotnie stworzony dla implementacji w sprzęcie. Kiedy jest używany w komunikacji, zarówno nadawca jak i odbiorca musza znać ten sam tajny klucz, który może być użyty do szyfrowania i deszyfrowania wiadomości, lub wygenerowania i weryfikacji kodu uwierzytelniania wiadomości (MAC). DEA może również być użyty do szyfrowania pojedynczego użytkownika, takiego jak pliki przechowywane na dysku twardym w formie zaszyfrowanej. W środowisku wieloużytkownikowym, dystrybucja bezpiecznego klucza może być trudna; kryptografia kluczem publicznym dostarcza idealnego rozwiązania tego problemu.

Czy DES został złamany?

Nie odkryto żadnego łatwego ataku na DES, pomimo wysiłków badaczy przez wiele lat, Oczywistą metodą ataku jest wyszukiwanie wyczerpujące brute-force przestrzeni klucza; ten proces zabiera średnio 255 kroków. Wcześniej sugerowano ,że bogaty i silny wróg może zbudować komputer specjalizowany zdolny do złamania DES przez wyczerpujące wyszukiwanie w rozsądnej ilości czasu. Później Hellman pokazał komrpomic czasowo-pamięciowy, który pozwalał poprawić wyszukiwanie wyczerpujące jeśli pamięć jest wystarczająca. Te pomysły rozwijały wątpliwości co do bezpieczeństwa DES. Były też zarzuty ,że NSA celowo osłabiła DEA. Pomimo tych zarzutów, nie możliwe jest złamać DES szybciej niże wyszukiwaniem wyczerpującym. Porażka wyspecjalizowanego komputera do wykonywania wyczerpującego wyszukiwania została oszacowana przez Wienera na milion dolarów. Pierwszy atak na DES, który jest lepszy niż wyszukiwanie wyczerpujące , w zakresie wymagań obliczeniowych, ogłosili Biham i Shamir, stosując nową technikę znaną jako kryptoanaliza różnicowa. Ten atak wymagał szyfrowania 247 wybranych tekstów jawnych; tzn. teksty jawne były wybrane przez atakującego. Chociaż teoretycznie jest to przełom, ten atak nie jest praktyczne z powodu zarówno dużych wymagań wymagan danych jak i trudności w zmontowaniu ataku wybrany tekstem. Biham i Shamir uznali DES za bezpieczny .Matsui zaprojektował inny atak, znany jako kryptoanaliza liniowa. W tej metodzie, klucz DES mógł być odkryty przez analizę 243 znanych tekstów jawnych. Pierwsza eksperymentalna krytpoanaliza DES , oparta na odkryciu Matsui, została z powodzeniem osiągnięta w taku wymagającym 50 dni na 12 stacjach roboczych HP 9735. Ten taka również jest niepraktyczny.

Jak można korzystać z DES bezpiecznie?

Kiedy używamy DES jest kilka praktycznych rozważań, które mogą wpłynąć na bezpieczeństwo szyfrowanych danych. Należałoby zmieniać klucze DES często, w celu zapobieganiu atakom, które wymagają nieprzerwanej analizy danych. W kontekście komunikacji, trzeba znaleźć bezpieczny sposób przekazywania klucza DES od nadawcy do odbiorcy. Korzystanie z RSA lub innej techniki klucza publicznego dla zarządzania kluczami rozwiązuje oba te problemy : inny klucz DES jest generowany dla każdej sesji a bezpieczne zarządzanie kluczem jest zapewnione przez szyfrowanie kluczem DES z kluczem publicznym RSA. RSA , w tej sytuacji, , może być traktowany jako narzędzie poprawy bezpieczeństwa DES (lub jakiegoś innego szyfru tajnym kluczem). Jeśli życzysz sobie używać DES do szyfrowania plików przechowywanych na dysku twardym, nie jest wykonalna częsta zmiana kluczy DES co wiązałoby się z odszyfrowywaniem i ponownym szyfrowaniem wszystkich plików po każdej zmianie kluczy. Zamiast tego, można zastosować master key DES, który szyfruje listę kluczy DES używanych do szyfrowania plików; można potem zmieniać często klucz główny często bez większego wysiłku. Ponieważ klucz główny zapewnia bardziej atrakcyjny punkt ataku niż pojedyncze klucze DES używane w przeliczeniu na plik, może być rozsądne użycie Potrójnego- DES jako mechanizmu szyfrowania dla ochrony kluczy szyfrowania plików. DES można stosować do szyfrowania w kilku oficjalnie zdefiniowanych trybach, a tryby te mają różne właściwości. Tryb ECB (electronic codebook) po prostu szyfruje każdy 64-bitowy blok tekstu jawnego jeden po drugim w ramach tego samego 56-bitowego klucza DES. W tyrbie CBC (cipher block chaining), każdy 64-bitowy blok tekstu jawnego bitowo XOR′owany z poprzednim blokiem zaszyfrowanym przed zaszyfrowaniem kluczem DES. Zatem szyfrowanie każdego bloku zależy od bloków poprzednich a ten sam 64-bitowy blok tekstu jawnego można szyfrować do różnych bloków tekstu zaszyfrowanego w zależności od kontekstu w ogólnej wiadomości. Tryb CBC pomaga chronić przed niektórymi atakami, ale nie przeciwko wyszukiwaniu wyczerpującemu lub kryptoanalizie różnicowej. Tryb CFB (cipher feedback) pozwala używać DES z blokami długości mniejszej niż 64 bity. Tryb OFB zasadniczo pozwala na używanie DES jako szyfru blokowego. W praktyce, CBC jest najszerzej używanym trybem DES, i jest określony w kilku standardach

Czy powinno się testować słabe klucze w DES?

DES ma cztery słabe klucze k dla których Ek(Ek(m)) = m. Istnieją również dwanaście półsłabych kluczy które przychodzą w parach k1 i k2 i są takie ,że Ek1(Ek2(m)) = m. Ponieważ jest 256 możliwych kluczy DES szansa na wybranie słabego lub półsłabego klucza losowot to 2-52. Tak długo, jak dostarczany klucz użytkownika jest wybierany całkowicie losowo, słabe klucze mogą być bezpiecznie ignorowane kiedy DES jest stosowany do szyfrowania. Mimo to , niektórzy użytkownicy wolą przetestować czy klucz stosowany do szyfrowania DES w rzeczywistości jest słabym kluczem. Takie testy nie mają znaczącego wpływu na czas potrzebny do szyfrowania

Czy DES jest grupą?

Pytanie o to, czy dla każdej wiadomości m i dwóch dowolnych kluczy k1 i k2, istnieje zawsze trzeci klucz k , taki ,że Ek(m) = Ek1(Ek2k(m)). Jeśli to byłby to ten przypadek, zbiór wszystkich kluczy byłby formował obiekt matematyczny nazwany grupą, gdzie operacja na k1 i k2 skutkuje k. Byłoby bardzo szkodliwe dla bezpieczeństwa DES, gdyż umożliwia to atak meet-in-the-middle gdzie klucz DES zostałby znaleziony w około 228 operacjach, niż zwyczajowych 256 operacjach. Spowodowałoby to również wiele szyfrowań DES bezużytecznymi, ponieważ dwukrotne szyfrowanie dwóch różnych kluczy będzie takie samo jak szyfrowanie trzecim kluczem. Jednakże, DES nie jest grupą.

Co to jest potrójny-DES?

Od dłuższego czasu było powszechną praktyką chronić i transportować klucz do szyfrowania DES , potrójnym - DES. Oznacza to ,że dane wejściowe (w tym przypadku kluczem pojedynczym DES) jest w rezultacie zaszyfrowana trzy razy. Są oczywiście różne sposoby wykonania tego. Liczba trybów potrójnego szyfrowania jakie zaproponowano:
• DES-EEE3: Trzy szyfrowania DES trzema różnymi kluczami
• DES-EDE3: Trzy operacje DES w sekwencji szyfrowanie - deszyfrowanie - szyfrowanie trzema różnymi kluczami
• DES-EEE2 i DES-EDE2 : To samo co poprzednie formaty, z tym ,że pierwsza i trzecia operacją używają tego samego klucza
Ataki na dwukluczowy potrójny-DES zaproponowali Merle , Hellman, VanOorschot i Wiener, ale wymogi dotyczące tych ataków były niepraktyczne. Podobnie jak szyfry blokowe, potrójny -DES może być używany w różnych trybach. Standard ANSI X9.52 uszczegóławia różne sposoby w których potrójny-DES może być użyty.

Co to jest DES-X?

DESX jest wzmocnionym wariantem DES wspierane przez RSA Data Security. Różnica między DES a DESX jest taka ,że w DESX, wejściowy tekst jawny, jest bitowo XOR′owane z 64 bitowym kluczem dodatkowym przed szyfrowaniem z DES, a dane wyjściowe są również bitowo XOR′owane z inny 64 bitowym kluczem dodatkowym. Bezpieczeństwo DESX przeciwko atakowi różnicowemu i liniowemu wydaje się być równoznaczne z DES z niezależnymi podkluczami, więc nie ma wielkiego wzrostu bezpieczeństwa w odniesieniu od tych ataków. Jednak główną motywacją dla DESX było zapewnienie obliczeniowo prostego sposobu znacznej poprawy odporności DES na ataki wyczerpującym wyszukiwaniem.

Jakie są inne warianty DES?

G-DES jest wariantem DES stworzonym przez Schaumuller-Bichla dla poprawy wydajności DES przez zdefiniowane szyfru w oparciu o DES z dużym rozmiarem bloku, ale bez zwiększania ilości wymaganych obliczeń. Twierdził ,że G-DES był bezpieczny jak DES ponieważ szyfr był oparty o DES. Jednak Biham i Shamir wykazali ,że G-DES z zalecanymi rozmiarami parametrów jest łatwy do złamania i ,że wszelkie zmiany parametrów G-DES, które powodują szyfr szybszy niż DES są mniej bezpieczny niż DES. Inny wariant DES używa niezależnych podkluczy. Algorytm DES wyprowadza szesnaście 48 bitowych podkluczy, do zastosowania w każdej z 16 rund, z 56 bitowym tajnym kluczem dostarczanym przez użytkownika. Interesujące jest rozważenie wpływu użycia 768 bitowego klucza (podzielony na 16 podkluczy 48 bitowych) w miejsce 16 powiązanych 48 bitowych kluczy, które są generowane przez klucz wewnętrzny w algorytmie DES. Choć wykorzystanie niezależnych podkluczy byłoby oczywiście znaczącym zwiększeniem wysiłków dla wyczerpującego kluczowego wyszukiwania, takie zmiany szyfru pozwoliłyby jedynie na umiarkowanie lepsze zabezpieczenie przez kryptoanalityczn ataki różnicowe i liniowe niż zwykły DES. Biham oszacował ,że 261 wybranych tekstów jawnych jest wymaganych dla ataku różnicowego na DES z niezależnymi podkluczami, podczas gdy 260 znanych tekstów jawnych jest wymagany dla kryptoanalizy liniowej.

Co to jest AES?

AES to Advanced Encryption Standard. Ten szyfr ma stać się standardem FIPS i zastąpić DES. Został ogłoszony 2 stycznia 1997 roku a 12 września 1997 roku wystosowano publiczne zaproszenie dla propozycji szyfrów blokowych jako kandydatów na AES. NIST szukał szyfru, który pozostałby bezpieczny przez wiele, wiele lat

Jacy są kandydaci na AES?

Istniało duże zainteresowanie inicjatywą AES i 15 kandydatów zostało przyjętych do rozpatrzenia w pierwszej rundzie. Wśród nich były bliskie warianty niektórych bardziej popularnych i zaufanych algorytmów ,takich jak CAST, RC5 i SAFER-SK. Inni dobrzy kandydaci zostali przedstawieni przez szanowanych kryptologów. Powodem dla którego przedstawiono warianty niż oryginalne szyfry, było to ,że jednym z kryteriów dla AES jest zdolność wspierania 128 bitowego bloku tekstu jawnego. Większość szyfrów opracowano z myślą o zapewnienia zmiennika DES, w wyniku czego, często ograniczona do rozmiaru bloku 64-bitowego

Jaki jest harmonogram dla AES?

Byłoby dziwne gdyby process wyboru czegoś równie ważnego jakl standard szyfru blokowego na następne 20-30 lat (na tyle przewidziano żywotność AES) nie był długi i zaangażowany. 15 czwerwca 1998 roku był ostatnim dniem złożenia algorytmu. Po nim, był okres przeglądu przed wybraniem pięciu kandydatów do dalszej analizy. Z tych pięciu miał zostać wybrany AES.

Co to jest DSA i DSS?

National Institute of Stnadards and Technology (NIST) opublikował Digital Signature Algorithm (DSA) w Digital Signature Standard (DSS), która jest częścią projektu Capstone rządu USA .DSS został wybrany przez NIST, w kooperacji z NSA jako standard uwierzytelniania cyfrowego dla rządu USA. Standard wprowadzono 19 maja 1994 roku. DSA jest opraty na problemie logarytmu dyskretnego i powiązany ze schematem podpisu cyfrowego, zaproponowanego przez Schnorra i Elgamala. Podczas gdy RSA był używany dla szyfrowania i podpisu cyfrowego, DSA może tylko być użyty dla podpisu cyfrowego. W DSA, generowanie podpisu jest szybsze niż weryfikacja podpisu, podczas gdy z RSA, weryfikacja RSA dużo szybsza niż generowanie podpisu (jeśli wykładniki publiczny i prywatny, odpowiednio ,są wybrane dla tej właściwości). Można utrzymywać ,że jest to korzystne dla podpisu szybsze działanie, ale ponieważ, w wielu zastosowaniach fragment informacji cyfrowej jest podpisywany raz, ale weryfikowana często, może to być również korzystne mieć szybszą weryfikację. Chociaż kilak aspektów DSA było krytykowanych od czasu ogłoszenia, jest on włączany do wielu systemów i specyfikacji. Początkowa krytyka skupiła się na kilku kwestiach : braku elastyczność kryptosystemu RSA; weryfikacja podpisów z DSA jest zbyt wolna; istnienie drugiego mechanizmu uwierzytelniania może powodować trudności dla sprzętu komputerowego i oprogramowania, które były już znormalizowane pod RSA oraz ,że proces wyboru DSA przez NIST był zbyt tajemniczy i arbitralny, ze zbyt dużym wpływem NSA

Czy DSA jest bezpieczny?

Digital Signature Standard został pierwotnie zaproponowany przez NIST ze stałym 512 bitowym stałym kluczem. Po krytyce ,że nie jest dość bezpieczny, zwłaszcza dla bezpieczeństwa długoterminowego, NIST zaktualizował DSS zezwalając na klucze o rozmiarze do 1024 bitów. DSA jest rozpatrywany jako bezpieczny przy 1024 bitowym kluczu. DSA wykorzystuje obliczenia logarytmów dyskretnych w pewnych podgrupach w ciele skończonym GF(p) dla pewnej liczby pierwszej p. Problwem , do kryptograficznego użytku, został po raz pierwszy zaproponował w 1989 roku Schnorr Niektórzy badacze ostrzegali o istnieniu "pułapek" liczb pierwszych w DSA, które umożliwiłyby łatwe jego złamanie. Te pułapki liczb pierwszych są relatywnie rzadkie i łatwo ich uniknąć jeśli są przestrzegane właściwe procedury generacji klucza.

Co to są kryptosystemy krzywej eliptycznej?

Kryptosystemy krzywej eliptycznej zostały zaproponowane niezależnie przez Victora Millera i Neala Koblitza w połowie lat osiemdziesiątych XX wieku. Na wysokim poziomie, są one analogiczne do istniejących kryptosystemów klucza publicznego w których arytmetykę modularną zastąpiono działaniami definiowanymi przez krzywe eliptyczne. Kryptosystemy krzywej eliptycznej , które pojawiły się w literaturze można sklasyfikować w dwóch kategoriach ze względu na to czy są analogiczne do RSA czy algorytmu dyskretnego. Podobnie jak w kryptosystemach klucza publicznego, bezpieczeństwo kryptosystemów krzywej eliptycznej polega na podstawowym trudnym problemie matematycznym. Okazuje się ,że analogie krzywej eliptycznej z RSA są głównie akademickie i nie oferują praktycznej przewagi nad zwykłym RSA, ponieważ ich bezpieczeństwo jest oparte na tym samym podsatwowym problemi co RSA, mianowicie rozkładzie liczb całkowitych. Sytuacja jest całkiem inna z wariantem krzywej eliptycznej opartej o logarytm dyskretny. Bezpieczeństwo takiego systemu zależy od następującego trudnego problemu: Przy danych dwóch punktach G i Y na krzywej eliptycznej takich, że Y = kG (tzn Y równa się G dodawanemu do samego siebie k razy), znajdujemy liczbę całkowitą k. Do tego problemu odnosimy się jako "problemu logarytmu dyskretnego krzywej eliptycznej". Metody dla obliczania ogólnego logarytmu dyskretnego krzywej eliptycznej jest dużo mniej efektywne niż dla rozkładu lub obliczania konwencjonalnego logarytmu dyskretnego. W wyniku tego , krótszy rozmiar klucza może być używany do osiągnięcia tego samego bezpieczeństwa konwencjonalnego krytposystemu klucza publicznego, co może prowadzić do lepszego wykorzystania pamięci i poprawy wydajności. Można łatwo zbudować szyfrowanie krzywą eliptyczną, podpis i schemat uzgadniania klucza przez stworzenie analogii z ElGamalem, DSA i Diffie-Hellmanem. Te warianty pojawiają się aby oferować pewną implementacją zalet nad schematami oryginalnymi

Czy kryptosystemy krzywej eliptycznej są bezpieczne?

Generalnie, najlepsze ataki na problem logarytmu dyskretnego krzywej eliptycznej to metody brute-force. Obecnie brak bardziej konkretnych ataków oznacza ,że krótsze rozmiary kluczy dla kryptosystemów eliptycznych pojawiają się aby dać podobne bezpieczeństwo jak dużo większe klucze, które mogły być użyte w krytposystemach opartych na problemie logarytmu dyskretnego i rozkładu liczb całkowitych. Dla niektórych wyborów krzywych eliptycznych nie istnieją bardziej efektywne ataki. Menezesowi, Okamoto i Vanstone′owi udało się zredukować problem logarytmu dyskretnego krzywej eliptycznej dla pewnych krzywych, powodując ,że ten sam rozmiar klucza jest używany w bardziej tradycyjnych systemach klucza publicznego. Jednak takie przypadki są łatwe do sklasyfikowania i łatwo ich unikać. W 1997 roku, kryptografia krzywej eliptycznej zaczęła zwracać większą uwagę; do połowy 1998 roku nie było większych zmian, co do bezpieczeństwa tych kryptosystemów. Im dłużej trwa ta sytuacja, większe zaufanie będzie rosnąć ,że naprawdę oferują one tyle bezpieczeństwa. Jednak spora grupa szanowanych naukowców miało pewne wątpliwości co do tego ,czy ta sytuacja nie ulegnie przez wiele lat. W szczególności, istnieją dowody ,że zastosowanie specjalnych krzywych eliptycznych, czasami znanych jako krzywe Koblitza, które zapewniają bardzo szybką implementację, mogą pozwolić na nowe wyspecjalizowane ataki. Jako punkt startowy, może to być podstawowy atak brute force może zostać poprawiony kiedy atakujemy te krzywe.

Czy kryptosystemy krzywej eliptycznej są szeroko stosowane?

Kryptosystemy krzywych eliptycznych pojawiły się jako obiecujący obszar nowego obszaru kryptografii klucza publicznego w ostatnich latach ze względu na ich potencjał oferując bezpieczeństwo do zastałych kryptosystemów klucza publicznego ze zredukowanym rozmiarem klucza. Poprawa w różnych aspektach implementacji, w tym generację krzywych eliptycznych, uczyniły kryptografię krzywych eliptycznych bardziej praktycznymi niż kiedy wprowadzano ją w połowie lat 80′tych XX wieku. Kryptosystemy krzywych eliptycznych są szczególnie przydatne w aplikacjach dla których pamięć, przepustowość lub moc obliczeniowa są ograniczone. Oczekuje się ,że użycie kryptosystemów krzywych eliptycznych w tych specjalnych obszarach będzie wzrastać w przyszłości.

Jak wypadają kryptosystemy krzywych eliptycznych w porównaniu z innymi kryptosystemami?

Główną zaletą kryptosystemów krzywych eliptycznych nad innymi kryptosystemami klucza publicznego jest fakt, ze są one oparte na innym , trudnym problemie. Może to prowadzić do mniejszego rozmiaru klucza i lepszej wydajności w pewnych działaniach klucza publicznego na tym samym poziomie bezpieczeństwa. Z grubsza rzecz biorąc, kryptosystemy z kluczem 160 bitowym oferują ten sam poziom bezpieczeństwa systemów RSA i logarytmu dyskretnego z kluczem 1024 bitowym. W wyniku długość klucza publicznego i prywatnego jest krótsza w systemach krzywej eliptycznej. Pod względem prędkości jednak, trudno jest uzyskać porównanie ilościowe, częściowo ze względu na to ,że różne techniki optymalizacji można zastosować do różnych systemów. Być może uczciwiej jest powiedzieć : Kryptosystemy krzywej eliptycznej są szybsze niż RSA w podpisywaniu i deszyfrowaniu, ale wolniejsze niż RSA w weryfikacji podpisów i szyfrowaniu.

Co to jest Diffie-Hellman?

Protokół uzgadniania klucza Diffie-Hellmana (zwany również wykładniczym uzgadnianiem klucza) został stworzony przez Diffiego i Hellmana w 1976 roku i opublikowany w artykule "New Directions in Cryptography".Protokół umożliwia dwóm użytkownikom na wymianę tajnego klucza przez niezabezpieczony nośnik bez uprzednich tajemnic. Protokół ma dwa parametry systemowe p i g. Oba są publiczne i mogą być używane przez wszystkich użytkowników w systemie. Parametr p jest liczbą pierwszą g (zwykle nazywany generatorem) jest liczbą całkowitą , mniejszą niż p, z następującymi właściwościami : dla dowolnej liczby n między 1 i p-1 łącznie, istnieje potęga k z g taka ,że gk = n mod p. Załóżmy ,że Alicja i Bob chcą uzgodnić współdzielony tajny klucz używając protokołu Diffie - Hellmana. Postępują następująco : Najpierw Alicja generuje liczbę losową prywatną a , a Bob generuje losową prywatną b. Zarówno a jak i b są ze zbioru liczb całkowitych [1, … p-2]. Wtedy uzyskują swoje wartości publiczne używając parametrów p i g oraz swoje wartości prywatne. Wartość publiczna Alicji to ga mod p a wartość publiczna Boba to bb mod p. Wymieniają potem swoje wartości publiczne. W końcu ab = (gb)a mod p a Bob oblicza gba = (ga)b mod p. Ponieważ gab = gba = k ,Alicja i Bob mają teraz współdzielony klucz tajny k. Protokół zależy od problemu logarytmu dyskretnego dla swojego bezpieczeństwa. Zakłada ,że jest obliczeniowo niewykonalne obliczenie tajnego klucza k = gab mod p przy danych dwóch wartościach publicznych ga mod p i gb mod p kiedy liczba pierwsza p jest wystarczająco duża. Maurer wykazał ,że złamanie protokołu Diffie - Hellmana jest równoważne obliczeniu logarytmu dyskretnego pod pewnymi warunkami. Wymiana klucza Diffie-Hellmana jes podatna na ataki man-in-the-middle .W tym ataku, przeciwnik Karol przechwytuje klucz publiczny Alicji i wysyła swój własny klucz publiczny do Boba. Kiedy Bob wysyła swoją publiczną wartość, Karol zastępuje ją swoją własną i wysyła do Alicji. Karol i Alicja zatem uzgadniają współdzielony klucz a Karol i Bob uzgadniają inny współdzielony klucz. Po tej wymianie, Karol po prostu odszyfrowywuje wiadomości wysyłane przez Alicję lub Boba a potem odczytuje i być może modyfikuje je przed ponownym zaszyfrowaniem właściwym kluczem i wysłaniem ich dalej. Ta słabość występuje dlatego ,że wymiana klucza Diffie-Hellmana nie uwierzytelnia uczestników. Możliwe rozwiązania obejmują podpisy cyfrowe i inne warianty protokołu. Protokół uwierzytelniania uzgadniania klucza Diffie-Hellmana lub protokół Station-To-Station (STS) został stworzony przez Diffiego, Oorschota i Wienera w 1992 roku dla obrony przed atakami man-in-the-middle na protokół uzgadniania klucza Diffie-Hellmana. Odporność uzyskuje się poprzez umożliwienie obu stronom uwierzytelnienia się wzajemnie przez użycie podpisów cyfrowych i certyfikatów klucza publicznego. Podstawowa idea jest następująca. Przed wykonaniem protokołu, dwie strony Alicja i Bob uzyskują parę kluczy publiczny/prywatny i certyfikat dla każdego klucza publicznego. Podczas protokołu, Alicja wylicza podpis na pewnej wiadomości, pokrywającą wartość ga mod p. Bob postępuje w podobny sposób. Chociaż Karol ma możliwość przechwycenia wiadomości między Alicja a Bobem, nie może sfałszować podpisów bez prywatnego klucza Alicji i Boba. Oryginalny protokół Diffie-Hellmana był rozumiany jako przykład dużo bardziej ogólnej techniki kryptograficznej, gdzie wspólny element był wyprowadzany ze współdzielonej tajnej wartości (klucza) z klucza publicznego jednej strony i klucza prywatnego drugiej strony. Para kluczy tych stron mogła być wygenerowana na nowo przy każdym uruchomieniu protokołu, jak w oryginalnym protokole Diffie-Hellmana. Klucze publiczne mogą być certyfikowane, więc strony mogą być uwierzytelniane i mogą być połączone z tymi atrybutami. Projekt ANSI X9.42 ilustruje pewne z tych połączeń.

Co to RC2?

RC2 jest szyfrem blokowym o zmiennym rozmiarze klucza stworzonym przez Rona Rivesta dla RSA Data Security. "RC" oznacza "Ron′s Code" lub "Rivest′s Cipher". Jest szybszy niż DES i zaprojektowany dla zastąpienia DES. Może być bardziej lub mniej zabezpieczony niż DES przeciwko wyczerpującemu wyszukiwaniu klucza przez zastosowanie klucza o odpowiednim rozmiarze. Ma blok o rozmiarze 64 bitów jest o dwa , trzy razy szybszy niż DES w oprogramowaniu, Uzgodnienie między Software Publishers Association (SPA) i rządem USA nadało RC2 i RC4 specjalny status dzięki któremu eksport procesu zatwierdzania jest prostszy i szybszy niż zwykłego procesu eksportu kryptograficznego. Jednak, aby zakwalifikować się do szybkiego eksportu procesu, produkt musi ograniczyć rozmiar klucza RC2 i RC4 do 40 bitów; 56 bitów jest dozwolone dla podmiotów zagranicznych oraz zagranicznych biur amerykańskich firm. Dodatkowy łańcuch (40 do 88 bitów) może być zastosowany w celu udaremnienia atakującemu próby preobliczenia dużych tablic podglądu możliwych szyfrowań. Łańcuch jest dołączany do klucza szyfrowania, a ten wydłużony klucz jest używany do szyfrowania wiadomości. Łańcuch jest potem wysyłany, niezaszyfrowany z wiadomością. RC2 i RC4 mają szerokie zastosowanie wśród projektantów, którzy chcą eksportować swoje produkty

Co to RC4?

RC4 jest szyfrem strumieniowym stworzonym przez Rivesta dla RSA Data Security. Jest szyfrem strumieniowym o zmiennej długości klucza z działaniem zorientowanym bajtowo. Algorytm jest oparty na zastosowaniu losowych permutacji. Analizy wykazują ,że okres szyfru jest przytłaczający i może być większy niż 10100. Osiem do szesnastu operacji maszynowych na bajt wyjściowy są wymagane, a szyfr może być uruchamiany bardzo szybko w oprogramowaniu. Niezależni analitycy zbadali algorytm i jego bezpieczeństwo. Jest używany do zabezpieczenia komunikacji, jak i szyfrowania ruchu do i z stron internetowych przy użyciu protokołu SSL.

Co to RC5?

RC5 jest szybkim szyfrem blokowym stworzonym przez Rivesta dla RSA Data Security w 1994 roku. Jest sparametryzowanym algorytmem ze zmiennym rozmiarem bloku, zmiennym rozmiarem klucza i zmienną liczbą rund. Typowy wybór rozmiaru bloku to 32 bity, 64 bity lub 128 bitów. Liczba rund może mieć zakres od 0 o 255. Klucz może mieć zakres od 0 bitów do 2048 bitów. Tak wbudowana zmienność dostarcza elastyczność na wszystkich poziomach bezpieczeństwa i wydajności. Istnieją trzy procedury w RC5 : ekspansja klucza, szyfrowania i deszyfrowania, W ekspansji klucza, klucz dostarczany użytkownikowi jest rozszerzany aby wypełnić tablicę kluczy, której rozmiar zależy od liczby rund. Tablica kluczy jest potem używana zarówno w szyfrowaniu jak i deszyfrowaniu. Procedura szyfrowania składa się z trzech podstawowych operacji : dodawania całkowitego, bitowego exclusive-or i zmiennego obrotu. Wyjątkowa prostota RC5 czyni go łatwym do implementacji i analizy. Rzeczywiście, podobnie jak RSA, kroki szyfrowania RC5 mogą być zapisane "na odwrocie koperty". Nadmierne używanie danych zależnych od obrotów i mieszanie różnych działań dostarcza bezpieczeństwa RC5. W szczególności, wykorzystani danych zależnych od obrotów zapobiega kryptoanalizie różnicowej i liniowej.

Co to jest SHA i SHA-1?

Secure Hash Algorithm (SHA) , algorytm określony w Secure Hash Standard (SHS, FIPS PUB 180), został stworzony przez NIST. SHA-1 jest rewizją SHA, opublikowaną w 1994 roku. Wersja ta poprawiła niepublikowane wady SHA. Jego konstrukcja jest bardzo podobna do rodziny MD4 funkcji mieszających stworzonych przez Rivesta. SHA-1 jest również opisany w standardzie ANSI X9.31 (część 2). Algorytm pobiera wiadomość mniejszą niż 264 bity i tworzy 160 bitowy skrót wiadomości. Algorytm jest nieznacznie wolniejszy niż MD5, ale większy skrót wiadomości sprawia ,że jest bardziej zabezpieczony przed kolizją brute-force i ataków inwersją. SHA jest częścią projektu Capstone.

Co to są MD2, MD4 i MD5?

MD2, MD4 i MD5 są algorytmami skrótów wiadomości stworzonymi przez Rvesta. Są środkami dla aplikacji podpisu cyfrowego gdzie duże wiadomości muszą być "skompresowane" w bezpieczny sposób przed podpisaniem kluczem prywatnym. Wszystkie trzy algorytmy pobierając wiadomość dowolnej długości i tworzą 128 bitowy skrót wiadomości. Chociaż struktury tych algorytmów są czasami podobne, projekt MD2 jest całkiem różny od MD4 i MD5. MD2 został zoptymalizowany dla maszyn 8 bitowych, podczas gdy MD4 i MD5 dla maszyn 32 bitowych. Opis i kod źródłowy dla tych trzech algorytmów można znaleźć w Internet RFC 1319 - 1321. MD2 zaprojektował Rivest w 1989 roku. Wiadomość jest najpierw wypełniana aby jej długość w bajtach była podzielna przez 16. 16 bajtowa suma kontrolna jest potem dołączana do wiadomości, a wartość mieszająca jest wyliczana z wiadomości wynikowej. Rogier i Chauvaud odkryli ,że taką kolizję dla MD2 można zbudować jeśli obliczanie sumy kontrolnej jest pomijane. Jest to jedyny wynik kryptoanalityczny dla MD2. MD4 Rivest stworzył w 1990 roku. Wiadomość jest wypełniana aby zapewnić ,że jej długość w bitach plus 448 jest podzielne przez 512. 64 bitowa reprezentacja binarna, która jest oryginalną długością wiadomości jest potem łączona z wiadomością. Wiadomość jest przekazywana w 512 bitowych blokach w strukturze iteracyjnej Damgarda/Merkle a każdy blok jest przetwarzany w trzech różnych rundach. Ataki na wersję MD4 z zagubioną pierwszą lub ostatnią rundą zostały opracowane bardzo szybko przez Den Boera, Bosselaersa i innych. Dobbertin wykazał jak kolizje dla pełnej wersji MD4 można znaleźć w minutę na typowym PC. Dobbertin wykazał ,że zredukowana wersja MD4 w , której trzecia runda funkcji kompresji nie jest wykonywana ale wszystko inne pozostaje bez zmian, nie jest jednokierunkowa. MD4 można by uznać za złamane. W 1991 roku Rivest stworzył MD5. Jest to w zasadzie MD4 z "pasami bezpieczeństwa" i choć jest nieco wolniejsze od MD4, jest bardziej bezpieczny. Algorytm składa się z czterech odrębnych rund, który ma nieco inny projekt niż MD4. Rozmiar skrótu wiadomości, jak również wymagane wypełnienie, pozostają takie same. Den Boer i Bosselaers znaleźli pseudokolizję dla MD5. Prace prowadzone przez Dobbertina rozszerzyły techniki stosowane wydajnie w analizie MD4 dla znajdowania kolizji dla funkcji kompresującej MD5

Jakie są inne szyfry blokowe?

IDEA (Interantional Data Encryption Algorithm) jest drugą wersją szyfru blokowego stworzonego przez Lai i Masseya. Jest to 64 bitowy iteracyjny szyfr blokowy ze 128 bitowym kluczem. Proces szyfrowania wymaga ośmiu złożonych rund. Podczas gdy szyfr nie ma struktury Feistela, deszyfrowanie jest przenoszone w ten sam sposób jak szyfrowanie kiedy subklucze deszyfrowania wyliczono z subkluczy szyfrowania. Struktura szyfru została zaprojektowana dla łatwej implementacji zarówno w oprogramowaniu jak i sprzęcie, a bezpieczeństw IDEA polega na zastosowaniu trzech niekompatybilnych typów operacji arytmetycznych na słowach 16 bitowych. Jednak pewne operacje arytmetyczne używane w IDEA nie są tak szybkie w oprogramowaniu. Pod względem szybkości w oprogramowaniu, IDEA jest podobna do DES. Jedną z zasad podczas projektowania IDEA było ułatwienie analizy jego siły przeciwko różny kryptoanalizom a IDEA była uważana za odporną na kryptanalizy różnicowe. Ponadto nie istnieją kryptanalityczne ataki liniowe na IDEA i nie są znane żadne algebraiczne słabości w IDEA. Najbardziej znaczący wynik osiągnął Daemon, który odkrył dużą klasę 251 słabych kluczy , dla których zastosowanie takiego klucza podczas szyfrowania może być łatwo wykryte a klucz odzyskany. Ponieważ jednak jest możliwych 2128 możliwych kluczy, ten wynik nie ma praktycznego wpływu na bezpieczeństwo szyfrowania , pod warunkiem ,że klucze szyfrowania są wybierane losowo. SAFER (Secure And Fast Encryption Routine) jest niezastrzeżonym szyfrem blokowym zaprojektowanym przez Masseya w 1993 roku dla Cylink Corporation. Jest algorytmem zorientowanym bajtowo z 64 bitowym rozmiarem bloku i 64 bitowym kluczem. Ma zmienną liczbę rund, ale zalecane jest minimum sześć rund SAFER ma różne procedury szyfrowania i deszyfrowania. Tylko operacje bajtowe są stosowane dla zapewnienia jego zastosowania w inteligentnych kartach aplikacji , mających ograniczoną moc obliczeniową. SAFER z kluczem o długości 64 bitów został nazwany SAFER K-64. Inna wersja, z obsługą 128 bitowych kluczy została nazwana SAFER K-128. Wczesne kryptoanalizy SAFER K-64 wykazały że SAFER K-64 może być odporny na kryptoanalizę różnicową i liniową kiedy liczba rund jest większa niż sześć. Jednak Knudsen odkrył słabość w rozkładzie klucza SAFER K-64. Nowsze wersje SAFER są oznaczone przez SAFER SK-64 i SAFER SK-128 , gdzie SK oznacza silniejszy rozkład klucza (chociaż złośliwi mówią ,że SK oznacza "Stop Knudsenowi"). Fast Data Encipherment Algorith (FEAL) został przedstawiony przez Shimizu i Miyaguchiego jako alternatywa dla DES. Szyfr oryginalny (FEAL-4) był czterorundowym kryptosystemem z 64 bitowym rozmiarem bloku i 64 bitowym rozmiarem klucza i był stworzony aby dać wysoką wydajność w oprogramowaniu. Wkrótce zgłoszono wiele ataków na FEAL-4, w tym jeden atak, który wymagał tylko 20 wybranych tekstów jawnych. Kilka wyników kryptoanalizy FEAL-4(wersja ośmiorundowa) doprowadziły do tego ,że projektanci wprowadzili poprawioną wersję FEAL-N, gdzie N oznacza liczbę rund. Biham i Shamir stworzyli ataki krytpoanalityczne różnicowe przeciwko FEAL-N dla 31 rund. W 1994 roku Ohta i Aoki zaprezentowali atak kryptoanalityczny liniowy przeciwko FEAL-8, który wymagał 225 znanych tekstów jawnych. W wyniku tego , FEAL i jego pochodne można uznać za niepewny. Skipjack jest algorytmem szyfrowania zawartym w chipie Clipper, stworzonym przez NSA. Używa 80 bitowego klucza do szyfrowania 64 bitowych bloków danych. Skipjack miał być bardziej bezpieczny niż DES. Blowfish jest 64 bitowym szyfrem blokowym stworzonym przez Schneider. Jest top szyfr Feistela, a każda runda składa się z zależnej permutacji klucza i substytucji zależności klucza i danych. Wszystkie działania są oparte o exlcusive -or i dodawaniu 32 bitowych słów. Klucz ma zmienną długość (z maksymalną długością 448 bitów) i jest używany do wygenerowania kilku tablic podkluczy. Ten szyfr został stworzony dla maszyn 32 bitowych i był znacząco szybszy od DES

Jakie są inne kryptosystemy klucza publicznego?

System ElGamal jest kryptosystemem klucza publicznego opartym na problemie logarytmu dyskretnego. Składa się zarówno z wariantów szyfrowania i podpisu. Algorytm szyfrowania jest podobny w naturze do protokołu uzgadnia klucza. System parametrów dla kryptosysemów ElGamala składa się z liczby pierwszej p i liczby całkowitej g, której potęga modulo p generuje dużą liczbę elementów (jest to konieczne dla g będącego generatorem, jednak jest to idealne), jak w Diffie-Hellmanie. Alcia ma klucz prywatny a i klucz publiczny y , gdzie y = ga (mod p). Załóżmy ,że Bob chce wysłać wiadomość m od Alicji. Najpierw geenruje losową liczbę k mniejszą niż p. Potem oblicza : y1 = gk (mod p) i y2 = m ⊕ yk, gdzie ⊕ oznacza bitowe exlusive-or. Bob wysyła (y1, y2 do Alicji. Po odebraniu tekstu zaszyfrowanego , Alicja oblicza : m = (y1a mod p) ⊕ y2. Algorytm podpisu ElGamal jest podobny do algorytmu szyfrowaniu w postaci podobnej do klucza publicznego i klucza prywatnego. Jednak, szyfrowanie nie jest tym samym co weryfikacja podpisu, ani deszyfrowanie tym samym co tworzenie podpisu w RSA. DSA, Digital Signature Algorithm, jest oparty częściowo na algorytmie podpisu ElGamal. Analiza w oparciu o najlepsze dostępne algorytmy dla rozkładu na czynniki i logarytmy dyskretne pokazują, że RSA i ElGamal maką podobne bezpieczeństwo dla długości równoważnego klucza. Główną wadą ElGamala jest konieczność losowości i mniejsza prędkość (szczególnie do podpisu). Inną potencjalną wadą systemu ElGamal jest rozszerzenie wiadomości o współczynnik dwa mający miejsce podczas szyfrowania. Jednak , takie rozszerzenie wiadomości jest generalnie nieważna jeśli kryptosystem jest używany tylko dla wymiany tajnych kluczy. Kryptosystem plecakowy Merkle-Hellmana jest kryptosystemem klucza publicznego opublikowanym w 1978 roku, Odnosimy się do niego jako kryptosystemu plecakowego. Jest oparty na podzbiorze problemu sum w kombinatoryce. Problem obejmuje wybieranie liczb obiektów , które nadają wagę z dużego zbioru takiego, że suma wag jest równa wcześniej określonej wadze. Jest to rozważane jako trudny problem do rozwiązania, generalnie, ale pewne specjalne przypadki tego problemu są relatywnie łatwe do rozwiązania, które służą jak "pułapki" systemu. Shamri złamał pojedynczą iterację kryptosystemu plecakowego w 1978. Merkle opublikował wieloiteracyjny problem plecakowy złamany przez Brickella. Kryptosystem plecakowy Chora-Rivesta został opublikowany w 1984 roku, a poprawiony w 1988 roku. Jest to jedynie plecak - jak kryptosystem, który nie używa mnożenia modularnego. Były też jednym kryptosystemem plecakowym , który był bezpieczny przez dłuższy okres czasu. Ostatecznie, Schnorr i Horner zaprojektowali atak na kryptosystem Chora-Rivesta używając poprawionej redukcji kraty, który zredukował czas potrzebny do złamania tego kryptosystemu dla pewnych wartości parametru (choć nie tych zalecanych przez Chora i Rivesta) Wykazali również jak atak może zostać rozszerzony na funkcję mieszającą plecaka Damgarda. LUC jest kryptosystemem klucza publicznego stowrzonym przez grupę badaczy w Australii i Nowej Zelandii. Szyfr implementuje analogie ElGamala, Diffie-Hellmana i RSA przez sekwencję Lucasa. LUCELG jest sekwencją Lucasa analogiczną z ElGamalem, podczas gdy LUCDIF i LUCRSA są analogiami Diffie-Hellmana i RSA, odpowiednio. Sekwencje Lucasa używane w kryptosystemie są generalnie relacjami rekurencyjnymi liniowymi drugiego rzędu zdefiniowanymi przez Tn = PTn-1 - QTn-2, gdzie P i Q są względnymi liczbami pierwszymi całkowitymi. Szyfrowanie wiadomości jest wyliczane przez iterację rekurencji, zamiast potęgowanie jak w RSA i Diffie-Hellmanie. Bleichenbacher wykazała ,że wiele z przypuszczalnych zalet LUC nad kryptosystemami opartymi na modularnym potęgowaniu nie jest obecnych ani niej jest tak istotnych jak twierdzono. Kryptosystem McEliece jest algorytmem szyfrowania kluczem publicznym opartym o teorię kodowania algebraicznego. Systemu używa klasy kodów korekcji błędów znanych jako kody Goppa, dla których istnieją szybkie algorytmy dekodowania. Podstawową ideą konstrukcji kodu Goppa jako klucza prywatnego i ukrycia go jako ogólny kod liniowy, który jest kluczem publicznym. Ogólny kod liniowy nie może być łatwo zdekodowany o ile odpowiada znanej macierzy prywatnej. Kryptosystem McEliece ma kilka wad. Zawiera klucz publiczny o dużym rozmiarze (około pół megabita), znacznie rozbudowane dane i ewentualne podobieństwo do kryptosystemu plecakowego. Gabidulinm Paramow i Tretjakow zaproponowali modyfikację kryptosystemu McEliece przez zastąpienie kodów Goppa innym kodem algebraicznym i twierdzili ,że nowa wersja będzie bardziej bezpieczna niż system oryginalny. Jednak Gibson wykazał ,że nie było naprawdę innych korzyści z nowej wersji

Jakie są inne schematy podpisu?

Merkle zaproponował schemat podpisu cyfrowego opartego zarówno na podpisie jednorazowym jaki i funkcji mieszającej; to zapewnia nieskończone drzewo podpisów jednorazowych. Podpiys jednorazowe zazwyczaj wymagają publikowanie dużej ilości danych dla uwierzytelnienie wielu wiadomości, ponieważ każdy podpis może być użyty tylko raz. Schemat Merkle rozwiązał ten problem przez zaimplementowanie podpisów przez schemat drzewa. Każda wiadomość do podpisu odpowiada węzłowi drzewa, z każdym węzłem składającym się z parametrów weryfikacji używanych do podpisu wiadomości i uwierzytelnienia parametrów weryfikacji kolejnych węzłów. Chociaż liczba wiadomości , którą może być podpisana jest ograniczona przez rozmiar drzewa, drzewo może być arbitralnie duże. Schemat podpisów Merkle jest wydajny, ponieważ wymaga tylko zastosowania funkcji mieszającej. Schemat podpisów Rabina jest wariantem schematu podpisów RSA. Ma tę zaletę w stosunku do RSA ,że znajduje klucz prywatny a sfałszowanie jest mało prawdopodobne i trudne do rozkładu na czynniki. Weryfikacja jest szybsza niż podpisywanie, jak w podpisach RSA. W schemacie Rabina, klucz publiczny jest liczbą całkowitą n gdzie n = pq a p i q są liczbami pierwszymi które formują klucz prywatny. Wiadomość do podpisania muszą mieć pierwiastek kwadratowy mod n, w przeciwnym razie musi być znacznie zmodyfikowany. Tylko około 1 / 4 wszystkich możliwych wiadomości mają pierwiastek kwadratowy mod n. Podpis : s = m1/2 mod n gdzie s jest podpisem; Weryfikacja m = s2 mod n. Podpis jest łatwy do wyliczenia jeśli współczynniki pierwsze z n są znane, ale trudne w przeciwnym przypadku. Każdy kto może konsekwentnie fałszować podpis dla modulo n może również rozłożyć n. Udowodnienie bezpieczeństwa ma efekt uboczny taki ,że czynniki pierwsze może być uzyskany na podstawie ataku wybraną wiadomością. Temu atakowi możemy przeciwdziałać przez wypełnienie danej wiadomości losowymi bitami lub zmodyfikować wiadomość losowo, ale tracimy udowodnione bezpieczeństwo.

Jakie są inne szyfry strumieniowe?

Istnieje kilka alternatywnych szyfrów strumieniowych, które zostały zaproponowane w literaturze kryptograficznej jak również pojawia się w implementacjach i produktach. Wiele jest opartych przy użyciu LFSR (Linear Feedback Shift Register), ponieważ takie szyfry są bardziej podatne na analizę i są łatwe do oceny bezpieczeństwa. Rueppel sugerował ,że istnieją zasadniczo cztery różne podejścia do projektowania szyfrów strumieniowych. Pierwsze jest nazywane podejściem informacyjno-teoretycznym na przykładzie analizy Shannona szyfru kluczem jednorazowym .Drugie podejście jest projektem systemu teoretycznego. W istocie, kryptograf projektuje szyfr wedle ustalonych wytycznych, które zapewniają ,że szyfr jest odporny na wszystkie znane ataki. Chociaż tak jest, oczywiście, nie ma gwarancji ,że przyszła kryptoanaliza nie będzie skuteczna, takie podejście do projektu chyba jest najbardziej powszechne w konstrukcji szyfrów. Trzecie podejście to próba powiązania trudności złamania szyfru strumieniowego (gdzie "łamanie" oznacza możliwość przewidzenia skrytego strumienia kluczy ze skutecznością większą niż można osiągnąć przez odgadywanie) aby rozwiązać jakiś trudny problem. Takie podejście złożoności teoretyczne jest bardzo atrakcyjne, ale w praktyce opracowywane szyfry są raczej powolne i niepraktyczne. Końcowe podejście Rueppela to projektowanie szyfru losowego. Tutaj celem jest zapewnienie ,że szyfr jest odporny na jakiekolwiek działania kryptoanalityczne, niż zabezpieczenie przed nieograniczona ilością pracy, co było celem podejścia informacyjno-teoretycznego Shannona. Przykładem szyfru strumieniowego dla podejścia systemowo-teoretycznego jest Software-optimized Encryption Algorithm (SEAL), stworzony przez Rogwaya i Coppersmitha w 1993 roku jako szybkiego szyfru strumieniowego dla maszyn 32 bitowych. SEAL obejmuje fazę inicjalizacji podczas której duży zbiór tabel jest inicjowany przy użyciu Secure Hash Algorithm. Jednak użycie tabel przeglądowych podczas generowania strumienia kluczy pomaga osiągać bardzo szybką wydajność z pięcioma instrukcjami na bajt dla wygenerowania danych wyjściowych.. Projekt który łączy w sobie system teoretyczny jak również aspekt złożoności teoretyczne został podany przez Aieloo, Rajagoplana i Venkatesana. Projekt, znany jako "VRA", jest szybkim szyfrem strumieniowym z dowolnym bezpiecznym szyfrem blokowym. VRA jest opisywany jako generator pseudolosowy, nie szyfr strumieniowy, ale te dwie koncepcje są blisko powiązane, ponieważ generator pseudolosowy może tworzyć (pseudo) szyfr jednokierunkowy dla szyfrowania.

Jakie są inne funkcje mieszające?

Omówienia technik funkcji mieszających dostarczył Preneel. Funkcjce mieszające są często dzielone na trzy klasy:
• te wbudowane w szyfry blokowe
• te które używają arytmetyki modularnej
&bull te , które mają to co jest określane jako projekt "dedykowane"
Przez budowanie funkcji mieszającej wokół szyfru blokowe, projektant może wykorzystać bezpieczeństwo zaufanego szyfru blokowego takiego jak DES dla uzyskania zaufanej funkcji mieszającej. Tzw. funkcja Daviesa-Meyera jest funkcją mieszającą wbudowaną wokół użycia DES. Celem wykorzystania arytmetyki modularnej w drugiej klasie funkcji mieszących jest zaoszczędzenie na implementacji. Funkcja mieszająca jest generalnie używana w połączeniu z algorytmem podpisu cyfrowego , który sam korzysta z arytmetyki modularnej. Niestety, bilans poszukiwania funkcji mieszających nie jest dobry z punktu widzenia bezpieczeństwa i nie ma funkcji mieszających w tej drugiej klasie która byłaby zalecana do zastosowania. Funkcja mieszającą w tej trzecie klasie, z tzw. projektem 'dedykowanym" wydaje się być szybka, osiągającą znaczną przewagę nad algorytmami, które są oparte na stosowaniu szyfrów blokowych. MD4 jest wczesnym przykładem popularnej funkcji mieszającej z takim projektem. Chociaż MD4 nie jest uważany już za bezpieczny dla większości zastosowań kryptoanalitycznych, większość nowych dedykowanych funkcji mieszających wykorzystuje te same zasady projektowania jak MD4 we wzmocnionej wersji. Ich siła zależy od technik, lub połączeń technik, stosowanych do ich konstrukcji. Dedykowane funkcje mieszające aktualnie stosowane to MD5 i SHA-1, jak również RIPMED-160 i HAVAL

Jakie są schematy tajnego współdzielenia?

Schemat tajnej wymiany Shamira jest schematem progowym opartym o interpolację wielomianową. Pozwala dowolnym m z n ludzi zbudować dany sekret , wielomianu stopnia (m-1) na ciałem skończonym GF(q) : F(x) a0 + a1x + …am-1xm-1 jest zbudowany tak ,że współczynnik a0 jest tajny a wszystkie pozostałe współczynniki są elementami losowymi w tym ciele (To ciało jest znane wszystkim uczestnikom). Każdy z n współdzielących jest punktem (xi, yi) na krzywej zdefiniowanej przez wielomian, gdzie xi nie jest równe 0. Przy danych m współdzielących, wielomian jest jednoznacznie określony z zatem tajne a0 może być wyliczone. Jednak przy m-1 lub mniej współdzielących, sekret może być elementem w tym ciele. Dlatego schemat Shamira jest doskonałym schematem współdzielenia. W specjalnym przypadku gdzie m = 2 (tzn. dwóch współdzielących jest wymaganych dla odzyskania sekretu) wielomian jest linią a sekret jest punktem gdzie linia przecina się z osią y. Każdy współdzielący jest punktem na linii. Dwóch współdzielących (dwa punkty) określają linię a zatem sekret. Przy pojedynczym punkcie, linia może być linią przechodzącą przez punkt, a więc sekret może być dowolnym punktem na osi rzędnych. Schemat współdzielenie sekretu Blakley′a jest z natury geometryczny. Sekret jest punktem w przestrzeni m-wymiarowej. n współdzielących jest budowanych z każdy współdzielących definiujących hiperpłaszczyznę w tej przestrzeni. Przez znalezienie przecięcia dowolnych m z tych płaszczyzn, sekret (lub punkt przecięcia) mogą być uzyskane. Schemat ten nie jest doskonały, ponieważ osoba ze współdzielonym sekretem zna ten sekret i jest punktem na swojej hiperpłaszyźnie. Nie mniej, schemat ten może być zmodyfikowany dla uzyskania doskonałej struktury. Specjalny przypadek schematu Blakleya jest oparty na scenariuszu , gdzie dwóch współdzielących jest wymaganych dla odzyskania sekretu. Płaszczyzna dwuwymiarowa jest używana jeśli tylko dwóch współdzielących do odzyskania sekretu .Sekret jest punktem na płaszczyźnie. Każdy współdzielący jest linią , która przechodzi przez ten punkt. Jeśli dwaj współdzielący są wstawieni razem, punkt przecięcia, który jest sekretem, może być łatwo uzyskany. Naor i Shamir zaprojektowali coś co nazwali schematem wizualnego współdzielenia sekretu, który jest ciekawym wizualnym wariantem zwykłego schematu współdzielenia sekretu. Problem może być sformułowany następująco: Istnieje tajny obrazek będący współdzielonym przez n uczestników. Obrazek jest dzielony na n części takich ,że jeśli ich m jest umieszczone razem, obrazek staje się widoczny, ale jeśli mniej niż m jest umieszczone razem, nic nie można zobaczyć. Taki schemat jest budowany przez podgląd tajnego obrazka jako zbioru czarnych i białych pikseli i obsługi każdego piksela oddzielnie. Takie schematy są doskonale bezpieczne i łatwe do implementacji bez żadnych obliczeń kryptograficznych.

Zastosowanie kryptografii


Co to jest zarządzanie kluczami?

Zarządzaniem kluczami zajmuje się bezpiecznym generowaniem, dystrybucją i przechowywaniem kluczy. Bezpieczne metody zarządzanie kluczami są niezwykle ważne. Gdy klucz jest generowany losowo, musi pozostać tajnym aby uniknąć nieszczęśliwych zdarzeń (takich jak podszywanie się). W praktyce, większość ataków na systemy klucza publicznego będą miały na celu poziom zarządzania kluczami, niż sam algorytm kryptograficzny. Użytkownicy muszą bezpiecznie uzyskiwać parę kluczy dostosowaną do ich efektywności i potrzeb bezpieczeństwa. Muszą być sposoby wyszukiwania kluczy publicznych innych ludzi i publikowania własnego klucza. Użytkownicy muszą być w stanie legalnie uzyskać klucze publiczne innych ludzi, w przeciwnym razie przeciwnik może zmienić klucze publiczne wyslistowane w katalogu, lub podszywać się pod innych użytkowników. Certyfikaty są używane do tego celu. Certyfikaty musza być niepodrabialne. Emisja certyfikatów musi postępować w sposób w sposób bezpieczny, odporny na atak. W szczególności, emitent musi uwierzytelnić tożsamość oraz klucz publiczny danej osoby przed wydaniem certyfikatu dla tej osoby. Jeśli czyjś prywatny klucz zostanie zgubiony lub zagrożony, inni muszą być tego świadomi, więc nie będą szyfrować wiadomości w ramach nieprawidłowego klucza publicznego, uznając wiadomości podpisane kluczem prywatnym za nieważne. Użytkownicy muszą mieć możliwość przechowywania kluczy prywatnych bezpiecznie, tak aby intruz nie mógł ich uzyskać, ale klucze muszą być łatwo dostępne dla uprawomocnionych użytkowników. Klucze muszą być poprawne dla określonej daty ważności, a data ważności musi być odpowiednio dobrana i opublikowana w uwierzytelnionym kanale

Jaki rozmiar klucza powinien być używany?

Rozmiar klucza ,który powinien być używany w określonych zastosowaniach kryptograficznych zależy od dwóch rzeczy. Po pierwsze wartości klucza. Po drugie, aktualny rozmiar klucza zależy od zastosowanego algorytmu kryptograficznego. Poniżej mamy wylistowane kluczowe , zalecane, rozmiary , dla szyfrów blokowych RSA, krzywej eliptycznej i DSA. Istnieją cztery różne "stopnie", które odnoszą się do siły ochrony. Stopień eksportu lub stopień nominalny daje mało realną ochronę, ale jest to przybliżony poziom kryptografii dla eksportu z USA. Stopień osobisty jest zalecany dla kluczy, które nie są bardzo ważne, jak te które chronią czyjś osobisty e-mail te które służą jako "klucze sesyjne" dla niskiej wartości transakcji itd. Stopień profesjonalny jest zalecany dla informacji, które są rzeczywiście wartościowe, a nie bardzo wrażliwe. Stopień wojskowy jest zalecany dla informacji , które są naprawdę wrażliwe i muszą być trzymane w tajemnicy za wszelką cenę. Stopień wojskowy zalecany jest zatem dla instytucji certyfikujących.:
Stopień eksportowy
• Szyfr blokowy : 40 bitów
• RSA : 512 bitów modułu
• Krzywa eliptyczna : 80 bitów krzywej
• DSA : 512 / 80 bitów
Stopień osobisty
• Szyfr blokowy : 56/64 bity
• RSA : 768 bitów modułu
• Krzywa eliptyczna : 136 bitów krzywej
• DSA : 768 / 136 bitów
Stopień profesjonalny
• Szyfr blokowy : 128 bitów
• RSA : 1024 bitów modułu
• Krzywa eliptyczna : 160 bitów krzywej
• DSA : 1024 / 160 bitów
Stopień wojskowy
• Szyfr blokowy : 160 bitów
• RSA : 2048 bitów modułu
• Krzywa eliptyczna : 200 bitów krzywej
• DSA : 2048/200 bitów

Jak znajdować liczby losowe dla kluczy?

Kiedy używamy kryptosystemu tajnego klucza lub klucza publicznego, potrzebujemy dobrego źródła liczb losowych dla generowania klucza. Główną funkcja dobrego źródła to tworzenie liczb które są nieznane i nieobliczalne przez potencjalnych przeciwników. Liczby losowe uzyskane z procesu fizycznego są w zasadzie najlepsze, ponieważ wiele fizycznych procesów pojawia się prawdziwie losowo. Można użyć urządzenia sprzętowego, takiego jak szum diody; Innym pomysłem jest użycie fizycznego ruchu użytkownika komputera , taki jak czas między naciśnięciami klawiszy mierzony w mikrosekundach. Okazało się również ,że wykorzystanie dysków do generowania liczb losowych nie jest prawdziwie losowe, jak ruch talerzy dysku nie jest prawdziwie losowy. Davis zaprojektował generator liczb losowych oparty na zmienności prędkości sinika napędu. Ta zmiana jest powodowana przez ruch powietrza, który można uznać za nieprzewidywalny. Jakąkolwiek metodą generowane, liczby losowe mogą jeszcze zawierać pewne korelacje, zatem zawierają wystarczającą statystyczną przypadkowość. Dlatego, najlepiej jest uruchamiać je przez dobrą funkcję mieszającą , przed rzeczywistym ich wykorzystaniem. Innym podejściem jest wykorzystanie generatora liczb pseudolosowych zasilanego przez generator liczb losowych. Podstawowa różnica między liczbami losowymi a pseudolosowymi jest taka ,że liczby pseudolosowe są okresowe podczas gdy prawdziwe liczby losowe nie są. Ponieważ generatory liczb pseudolosowych są algorytmami deterministycznymi, ważne jest znalezienie takiego, który jest kryptograficznie bezpieczny i również wykorzystuje dobry generator losowy; generator wydajniej działa jako "ekspander" od ziaren do dużej ilości danych pseudolosowych .Nie jest wystarczające do generatorów liczb pseudolosowych przekazywanie różnych testów statystycznych i innych ponieważ dane wyjściowe takich generatorów może być przewidywalne. Zamiast tego, musi być obliczeniowo niewykonalne dla atakującego określenie dowolnego bitu sekwencji wyjściowej, nawet jeśli wszystkie inne są znane, z prawdopodobieństwem lepszym niż1 / 2. Generator Bluma i Micali′ego oparty na problemie logarytmu dyskretnego spełnia tą silną definicję, zakładając ,że obliczenie logarytmu dyskretnego jest trudne. Inne generatory oparte o DES lub funkcje mieszające mogą być również rozpatrywane jako spełniające tą definicję przy rozsądnych założeniach

Co to jest cykl życia klucza?

Klucze mają ograniczony czas życia z kilku powodów. Najważniejszym powodem jest ochrona przez kryptoanaliza. Za każdym razem kiedy używany jest klucz, generuje kilka tekstów zaszyfrowanych. Używanie klucza powtarzalnie pozwala atakującemu zbudować magazyn tekstów zaszyfrowanych (i możliwych tekstów jawnych) , które mogą okazać się wystarczające dla skutecznej kryptoanalizy wartości klucz. Zatem klucze powinny mieć ograniczony czas życia. Jeśli domyślasz się ,że atakujący mógł uzyskać twój klucz, powinieneś potraktować go jako złamany i zaprzestać jego stosowania. Badania w kryptoanalizie mogą prowadzić do możliwych ataków przeciwko albo kluczowi albo algorytmowi. Na przykład, zalecana długość klucza RSA jest zwiększana co kilka lat aby zapewnić ,że poprawione algorytmy rozkładu na czynniki nie złamały bezpieczeństwa wiadomości szyfrowanych RSA. Zalecana długość klucza zależy od oczekiwanego czasy życia klucza. Klucze czasowe , które są ważne dzień lub mniej mogą być tak krótkie jak 512 bitów. Klucze używane do podpisywania kontraktów długoterminowych na przykład powinny być dłuższe powiedzmy 1024 bity lub więcej. Innym powodem dla ograniczenia żywotności klucza jest zminimalizowanie szkody zaatakowanego klucza. Jest mało prawdopodobne, że użytkownik odkryje ,że atakujący złamał jego klucz ,jeśli atakujących pozostanie "pasywny". Stosunkowo częste zmiany klucza ograniczą potencjalne szkody z zainfekowanych kluczy. Ford opisał cykl życia kluczy następująco:
1.generowanie klucz i możliwa rejestracja (dla klucza publicznego)
2.dystrybucja klucza
3.aktywacja/deaktywacja klucza
4.zastępowanie lub aktualizacja klucza
5.unieważnienie klucza
6.zakończenie klucza, obejmujące jego destrukcją lub możliwą archiwizację

Co to jest PKI?

Public Key Infrasturcture (PKI - klucze publiczne zabezpieczeń komercyjnych aplikacji) składa się z protokołów, usług i standardów wspierania aplikacji kryptografii kluczem publicznym. PKI czasami odnosi się po prostu do zaufanej hierarchii opartej na certyfikatów klucza publicznego, a w innych kontekstach obejmuje szyfrowanie i podpisy cyfrowe świadczonych na rzecz użytkowników końcowych aplikacji. PKI obejmuje usługi i protokoły dla zarządzania kluczami publicznymi, często przez użycie komponentów Urzędu Certyfikacji (CA) i Urzędu Rejestracji (RA), ale nie konieczne dla wykonania operacji kryptograficznych z tymi kluczami. Wśród usług znajdowanych w PKI mamy: • unieważnianie certyfikatu : anulowanie certyfikatu wydanego wcześniej
• selekcja klucza : uzyskiwanie klucza publicznego jednostki
• zaufana ewaluacja : określanie czy certyfikat jest poprawny i jakie działania go autoryzują
Odtwarzanie klucza również było rozważane jako możliwy aspekt PKI. Nie ma jednej, wszechobecnej infrastruktury klucza publicznego, chociaż wysiłki przy definiowaniu PKI zazwyczaj zakładały ,że ostatecznie będzie jeden, lub coraz częściej, wiele niezależnych PKI, będzie ewoluowało z różnymi stopniami współistnienia i współdziałania. W tym sensie, obecnie PKI można traktować jako zbliżenie do sieci lokalnej i rozległej z lat osiemdziesiątych XX wieku, zanim rozwinęła się łączność za pomocą Internetu. W związku z tym. Globalny PKI, formaty certyfikatów i mechanizmy zaufania są definiowane w otwarty i skalowalny sposób, ale z profilami użytkowników odpowiadających zaufaniu i wymaganym zasadom konk retnego klienta i środowiska aplikacji. Na przykład, zazwyczaj jest akceptowane ,że będzie wiele urzędów certyfikacji "głównych" lub "najwyższego poziomu" w globalnym PKI, nie tylko jeden "root", chociaż w lokalnym PKI może być tylko jeden root.

Kto potrzebuje pary kluczy?

Każdy kto chce podpisać wiadomość lub odebrać zaszyfrowaną wiadomość musi mieć pare kluczy. Ludzie mogą mieć więcej niż jedną parę kluczy. Faktycznie, dopuszczalne jest użycie oddzielnej pary kluczy do podpisywania wiadomości i odbierania zaszyfrowanych wiadomości. Jako przykład, można mieć parę kluczy do pracy i inną parę kluczy do użytku prywatnego. Inne jednostki mogą również mieć pary kluczy, w tym jednostki elektroniczne takie jak modemy, stacje robocze, serwery sieciowe i drukarki, jak również jednostki organizacyjne takie jak oddziały firm, rejestracja hotelowa. Pary klucz pozwalają ludziom i innym jednostkom na uwierzytelnianie i szyfrowanie wiadomości. Korporacje mogą wymagać więcej niż jednej pary kluczy dla komunikacji. Mogą używać więcej par kluczy dla szyfrowania i użycie pojedynczej niedeponowanej pary kluczy dla uwierzytelniania. Długość par kluczy szyfrowania i uwierzytelniania może być różna, zależna od pożądanego bezpieczeństwa.

Jak uzyskać parę kluczy?

Użytkownik może wygenerować własną parę kluczy,lub w zależności od zasad lokalnych, człowiek odpowiedzialny za bezpieczeństwo może wygenerować takie pary kluczy dla użytkowników. Istnieje kompromis między tymi dwoma podejściami. W pierwszym użytkownik musi w pewnym stopniu zaufać oprogramowaniu generowania klucza, w drugim, musi zaufać człowiekowi od bezpieczeństwa, a klucz prywatny musi zostać dostarczony użytkownikowi w sposób bezpieczny. Zazwyczaj, każdy węzeł sieci powinien być zdolny do generowania klucza lokalnego. Systemy uwierzytelniania tajnego klucza, czasami nie pozwalają na lokalne generowanie klucza, a zamiast tego używa serwera centralnego do generowania kluczy. Po wygenerowaniu klucza, użytkownik musi zarejestrować swój klucz publiczny w Urzędzie Certyfikacji (CA). CA zwraca użytkownikowi certyfikat z ważnością klucza publicznego użytkownika wraz z innymi informacjami. Jeśli człowiek ds. bezpieczeństwa generuje parę kluczy, wtedy może zażądać certyfikatu dla użytkownika. Większość użytkowników nie powinna uzyskiwać więcej niż jednego certyfikatu dla tego samego klucza, w celu uproszczenia różnych zadań księgowania powiązanych z tym kluczem

Czy para kluczy powinna być dzielona między użytkowników?

Użytkownicy , którzy współdzielą klucz prywatny mogą podszywać się jeden pod drugiego, więc generalnie, klucze prywatne nie powinny być współdzielone między użytkowników. Jednak niektóre części klucza mogą być współdzielone, w zależności od algorytmu. W RSA, każda osoba powinna mieć unikalny moduł i prywatny wykładnik,(tzn. unikalny klucz prywatny), wykładnik publiczny może być wspólny dla grupy użytkowników bez naruszania bezpieczeństwa. Niektóre publiczne wykładniki obecnie to 3 i 216 + 1; ponieważ liczby te są małe, operacje kluczem publicznym (deszyfrowanie i podpisywanie). Jeśli jeden wykładnik publiczny staje się standardem, oprogramowanie i sprzęt mogą być zoptymalizowane dla tej wartości. Jednak moduły nie powinny być współdzielone. W systemach klucza publicznego opartych o logarytmy dyskretne, takie jak Diffie-Hellman, DSA i ElGamalm grupa ludzi może współdzielić zbiór parametrów systemu, co może prowadzić do uproszczonej implementacji. Jest również prawdą dla systemów opartych o logarytmy dyskretne krzywej eliptycznej. Warto jednak zauważyć ,że w ten sposób złamanie klucza jest bardziej atrakcyjnym dla atakującego, ponieważ jest możliwe aby złamać każdy klucz z danego zbioru parametrów systemu z nieco większym wysiłkime niż jest potrzebny dla złamania pojedynczego klucza.

Co się stanie kiedy wygaśnie klucz?

Aby zabezpieczyć się przed atakami kryptoanalitycznymi długoterminowymi, każdy klucz ma datę ważności po którym nie jest dłużej ważny. Czas wygaśnięcia musi być dużo krótszy niż oczekiwany czas kryptoanalizy. To znaczy, długość klucza musi być dosyć długi aby szansa kryptoanalizy przed wygaśnięciem klucza była jak najmniejsza. Poprawności okresu dla pary kluczy mogą również zależeć od warunków w jakich klucz jest używany. Właściwy rozmiar klucza jest określony przez poprawny okres, razem z wartością informacji chronionej przez klucz i szacowaną siłę oczekiwanego napastnika. W certyfikacie, data wygaśnięcia klucza jest zazwyczaj taka sama jak data wygaśnięcia certyfikatu, chociaż nie koniecznie. Pogram do weryfikacji podpisu powinien sprawdzać wygaśnięcie i nie powinien akceptować wiadomości podpisanej z kluczem który wygasł. Oznacza to ,że kiedy nasz klucz wygasł, wszystko podpisane nim nie jest dłużej traktowane jako poprawne. Oczywiście , będą przypadki w których ważne jest aby podpisany dokument był rozpatrywany jako poprawny dla dłuższego okresu czasu. Po wygaśnięciu, stary klucz powinien być zniszczony aby zabezpieczyć bezpieczeństwo wiadomości W tym miejscu, użytkownik powien zazwyczaj wybrać nowy klucz, który powinien być dłuższy niż stary klucz dla odzwierciedlenia zwiększenia się wydajności sprzętu komputerowego i poprawionych algorytmów faktoryzacji Jednak , jeśli klucz jest wystarczająco długi i nie był złamany, użytkownik może kontynuować użytkowanie tego samego klucz. W tym przypadku, jednostka certyfikująca wyda nowy certyfikat dla tego samego klucza a wszystkie nowe podpisy będą wskazywały nowy certyfikat.

Co się stanie jeśli zgubię mój klucz?

Jeśli zgubiłeś swój klucz prywatny lub zniszczyłeś, a nie był złamany, nie możesz dłużej podpisywać lub deszyfrować wiadomości, ale wszystkie pozostałe, podpisane zgubionym kluczem są jeszcze ważne. CA musi zostać poinformowane niezwłocznie ,że klucz został unieważniony, i musi umieścić go na liści unieważnień certyfikatów (CRL) aby uniknąć bezprawnego użycia. Należy również uzyskać nowy klucz, aby zminimalizować liczbę wiadomości jakie ludzie mogą wysłać, zaszyfrowane starym kluczem, które nie będą już mogły być odczytane

Co się stanie jeśli mój klucz prywatny jest zagrożony?

Jeśli twój klucz prywatny jest zagrożony, to znaczy jeśli podejrzewasz ,że atakujący mógł uzyskać twój klucz prywatny, wtedy powinieneś założyć ,że atakujący może czytać zaszyfrowane wiadomości wysłane przy odpowiednim kluczu publicznym, i stworzył swój podpis na dokumentach, tak długo jak inni będą przyjmować ,że klucz prywatny jest nadal twój. Powaga tych konsekwencji podkreśla znaczenie ochrony klucza prywatnego bardzo silnymi mechanizmami. Należy natychmiast zawiadomić wszelkie organy certyfikujące klucze publiczne i musisz umieścić swój klucz na liście unieważnionych kluczy; będzie to informować ludzi, że klucz prywatny został naruszony a klucz publiczny jest unieważniony. Potem trzeba wygenerować nową parę kluczy i uzyskać nowy certyfikat dla klucza publicznego. Możesz użyć nowego klucza publicznego do ponownego podpisania dokumentów, które zostały podpisane naruszonym kluczem, chociaż dokumenty te mogą być nadal poprawne. Należy zmienić również sposób przechowywania klucza.

Jak powinienem przechowywać mój prywatny klucz?

Klucze prywatne powinny być bezpiecznie przechowywane , ponieważ sfałszowanie i utrata prywatności mogą wynikać z naruszenie. Środki podjęte do ochrony klucza prywatnego mogą równać się wymaganiom bezpieczeństwa wiadomości zaszyfrowanej tym kluczem. Generalnie, klucz prywatny nigdy nie powinien być przechowywany w formie zwykłego tekstu. Najprostszym mechanizmem przechowywania jest zaszyfrowanie klucza prywatnego hasłem i przechowywanie wyniku na dysku. Jednakże hasła są czasami łatwe do odgadnięcia, dlatego hasła powinny być wybierane bardzo starannie ponieważ bezpieczeństwo jest bezpośrednio połączone z hasłem. Przechowywanie zaszyfrowanego hasła na dysku, który nie jest dostępny z sieci internetowej, uczyni ataki trudniejszymi. Najlepszym rozwiązaniem jest przechowywanie klucza na komputerze, który nie jest dostępny innym użytkownikom lub na nośnikach wymiennych, które można zabrać ze sobą. Klucze prywatne mogą być również przechowywane na sprzęcie przenośnym, takim jak karty inteligentne. Użytkownicy z bardzo wysokimi potrzebami bezpieczeństwa, jak np., instytucja certyfikująca, powinny używać urządzeń antysabotażowych dla ochrony swoich kluczy prywatnych

Jak mogę znaleźć czyjś klucz publiczny?

Załóżmy ,że Alicja chce znaleźć klucz publiczny Boba. Istnieje kilka sposobów na zrobienie tego. Może zadzwonić do niego i poprosić aby wysłał go jej e-mailem. Może poprosić za pomocą e-maila, wymienić go osobiście, jak również na wiele innych sposobów. Ponieważ klucz publiczny jest powszechnie znany, nie ma potrzeby jego szyfrowania podczas przesyłania, choć należy weryfikować autentyczność klucza publicznego. Sprytna trzecia osoba może przechwycić transmisję ,zastąpić wersję klucza Boba, własnym kluczem a tym samym w stanie przechwytywać i odczytywać wiadomości wymieniane między Alicją a Bobem i szyfrować używając fałszywego klucza. Z tego powodu powinno się osobiście sprawdzać klucz (n. można to zrobić przez obliczenie skrótu klucza i zweryfikowanie go z Bobem telefonicznie) lub polegając na instytucji certyfikującej. Instytucje certyfikujące mogą świadczyć usługi katalogowe; jeśli Bob pracuje w firmie Z, Alicja może przejrzeć katalog jednostki certyfikującej Z. Katalogi muszą być zabezpieczone przed manipulacją, dzięki czemu użytkownicy mogą być pewni, klucz publiczny na liście rzeczywiście należy do wskazanego użytkownika. W przeciwnym razie, mogą wysyłać prywatne, zaszyfrowane informacje do złej osoby lub zaakceptować dokumenty podpisane przez niewłaściwą osobę. Jeśli katalogi są zgodne ze standardem ITU-T.X.509, katalogi będą zawierały certyfikaty jak również klucze publiczne a obecność certyfikatów obniży potrzeby bezpieczeństwa katalogów

Co to są certyfikaty?

Certyfikaty są cyfrowymi dokumentami potwierdzającymi wiązania klucza publicznego do podmiotu indywidualnego lub innych jednostek. Pozwalają one na weryfikację twierdzenia ,że określony klucz publiczny należy faktyczni do określonej jednostki. Certyfikaty pomagają zapobiegać aby ktoś używający fałszywego klucza mógł podszyć się pod kogoś innego. W niektórych przypadkach może być konieczne utworzenie łańcucha certyfikatów, każdy certyfikujący poprzedni aż do potwierdzenie tożsamości jednostek. W swoje najprostszej formie,, certyfikaty zawierają klucz publiczny i nazwę. Jako powszechnie używany, certyfikaty również zawierają datę ważności, nazwę jednostki certyfikującej, która wydaje certyfikat, numer seryjny i inne informacje. Co najważniejsze, zawiera podpis cyfrowy wystawcy certyfikatu. Szeroko akceptowanym formatem dla certyfikatów jest zdefiniowany międzynarodowy standard ITU-T.X.509; zatem certyfikat mogą być odczytywane lub zapisane przez dowolną aplikację zgodną z X.509.

Jak są używane certyfikaty?

Certyfikaty są zazwyczaj używane dla generowania zaufania do legalności klucza publicznego. Certyfikaty są zasadniczo podpisami cyfrowymi kluczy publicznych, które chronią od fałszerstwa,fałszywej reprezentacji lub zamiany. Weryfikacja podpisów zatem może zawierać sprawdzenie ważności certyfikatu dla klucza publicznego. Taka weryfikacja może być wykonana z większą lub mniejszą dokładnością, w zależności od kontekstu. Najbardziej bezpieczne korzystanie z uwierzytelnienia polega na załączeniu jednego lub więcej certyfikatów z każdą podpisaną wiadomością. Odbiorca wiadomości będzie weryfikował certyfikat używając klucza publicznego jednostki certyfikującej a pewny klucza publicznego nadawcy, weryfikuje podpis wiadomości. Mogą być dwa lub więcej certyfikaty dołączane do wiadomości, tworząc hierarchiczny łańcuch certyfikatów, w którym jeden certyfikat poświadcza autentyczność poprzedniego. Na końcu hierarchii certyfikatów znajduje się jednostka certyfikująca najwyższego poziomu, która jest zaufana bez certyfikatów od innych jednostek certyfikujących. Klucz publiczny jednostki certyfikującej najwyższego poziomu musi być znany niezależnie, na przykład, przez szerokie opublikowanie. Interesujące jest to ,aby pamiętać ,że istnieją alternatywne modele zaufania realizowane przez różnych naukowców aby uniknąć takiego hierarchicznego podejścia. Dobrze znany odbiorcy wiadomości nadawca, lub dokładniej, bardziej ufny odbiorca twierdzi ,że klucz publiczny rzeczywiście jest od danego nadawcy co zmniejsza ilość dołączanych certyfikatów do weryfikacji. Jeśli Alicja wysyła wiadomości do Boba codziennie, Alicja może dołączyć łańcuch certyfikatów w pierwszym dniu, dla weryfikacji przez Boba. Bob przechowuje klucz publiczny Alicji ,więc więcej certyfikatów lub certyfikatu certyfikującego nie jest koniecznych. Nadawca , którego firma jest znana odbiorcy ,może załączać tylko jeden certyfikat (wydanym przez firmę), podczas gdy nadawca ,którego firma nie jest znana odbiory może wymagać dwóch lub więcej certyfikatów. Dobrą zasadą jest dołączenie tylko tyle łańcucha certyfikatów tak aby wystawca certyfikatu najwyższego poziomu w łańcuchu był dobrze znany odbiorcy.

Kto wydaje certyfikaty i jak?

Certyfikaty są wydawane przez instytucję certyfikująca (CA), którą może być dowolny zaufany zarząd gotów ręczyć za tożsamość osób, którym wydaje certyfikaty i ich powiązanie z danym kluczem. Firma może wydawać certyfikaty swoich pracowników, lub uniwersytet swoim studentom, lub miasto swoim mieszkańcom. Aby zapobiec fałszowaniu certyfikatów, klucz publiczny CA musi być wiarygodny: CA musi upublicznić swój klucz publiczny lub przedstawić certyfikat CA wyższego poziomu potwierdzającego ważność jej klucza publicznego. To ostatnie rozwiązanie tworzy hierarchię CA. Wydanie certyfikatu przebiegu następująco : Alicja generuje swoją parę klucz i wysyła klucz publiczny do właściwego CA z dokumentem ją identyfikującą. CA sprawdza tożsamość i podejmuje wszelkie niezbędne kroki dla sprawdzenia czy prośba pochodzi od Alicji i czy klucz publiczny nie został zmodyfikowany , a potem wysyła jej certyfikat poświadczający związek Alicji z jej kluczem publicznym. Alicja i jej klucz publiczny wraz z hierarchią certyfikatów weryfikują klucz publiczny CA. Alicja może przedstawić ten łańcuch certyfikatów, gdy to jest żądane aby wykazać legalność jej klucza publicznego. Istnieją również urzędy CA, które wydają certyfikaty dla niestowarzyszonych osób fizycznych. Różne CA mogą wydawać certyfikaty o bardzo zróżnicowanych wymogach identyfikacyjnych. CA może nalegać na obejrzenie prawa jazdy, inny może chcieć formy notarialnej, a jeszcze inny może zażądać odcisków palców dla każdego wymaganego certyfikatu. Każda CA powinna publikować swoje własne wymagania i standardy identyfikacyjne, tak aby weryfikatorzy mogli dołączyć odpowiedni poziom zaufania do certyfikowanego wiązania nazwa-klucz. CA z niższymi poziomami wymagań identyfikacyjnych tworzą certyfikaty o niższej "wiarygodności". CA mogą zatem być rozpatrywane jako wysokiej, średniej i niskiej wiarygodności. Jednym z typów CA jest osoba CA. Ten typ CA tworzy certyfikaty , które wiążą tylko adresy e-mail z ich odpowiednimi kluczami publicznymi. Przeznaczona dla użytkowników , którzy chcą pozostawać anonimowi, ale chcą brać udział w bezpiecznych usługach elektronicznych.

Jak jednostki certyfikujące przechowują swoje klucze prywatne?

Jest niezwykle ważne, aby klucze prywatne urzędów certyfikacji były bezpiecznie przechowywane. Złamanie tych informacji pozwoliłoby na generowanie certyfikatów dla fałszywych kluczy publicznych. Jednym ze sposobów dla osiągnięcia pożądanego bezpieczeństwa jest przechowywanie klucza w urządzeniu odpornym na manipulacje. Urządzenie powinno niszczyć swoją zawartość, jeśli zostałoby otwarte i zabezpieczone przed atakiem promieniowaniem elektromagnetycznym. Nie wszyscy pracownicy instytucji certyfikującej powinni mieć dostęp do klucza prywatnego, ale tylko korzystać z niego w procesie wydawania certyfikatów. Istnieje wiele możliwych projektów dla kontroli użycia klucza prywatnego jednostki certyfikującej. SafeKeyper BBN, na przykład , jest aktywowany przez zbiór kluczy danych, które są kluczami fizycznymi zdolnymi do przechowywania danych cyfrowych. Klucze danych używają technologii tajnego współdzielenia tak ,ze kilka osób używa kluczy danych dla aktywacji SafeKeypera. Zapobiega to przed tworzeniem fałszywych certyfikatów, przez niezadowolonego pracownika CA. Zauważ ,że jeśli podpisany certyfikat został zniszczony przypadkowo, wtedy bezpieczeństwo nie jest zagrożone. Podpisane certyfikaty przez urządzenie są jeszcze ważne,tak długo jak weryfikatorzy wykorzystują poprawny klucz publiczny. Ponadto niektóre urządzenia są produkowane, więc przy stracie klucza prywatnego może być przywrócony w nowym urządzeniu

Jak jednostki certyfikujące są podatne na atak?

Można myśleć o wielu atakach skierowanych na jednostki certyfikujące, z których wszystkie mogą być wybronione. Na przykład, atakujący może próbować odkryć klucz prywatny jednostki certyfikującej przez reverse engineering urządzenia w którym jest przechowywany. Z tego powodu, jednostka certyfikująca musi podejmować ekstremalne środki ostrożności aby zapobiec nieuprawnionemu dostępowi do jego klucza prywatnego. Para kluczy jednostki certyfikującej może być celem ataku rozległej kryptoanalizy. Z tego powodu ,CA powinny używać długich kluczy i powinny również zmieniać klucze regularnie. Jednostki certyfikujące najwyższego poziomu potrzebują szczególnie długich kluczy, ponieważ może nie być praktyczne dla nich częste zmienianie kluczy ponieważ klucz publiczny może być wpisany do oprogramowania używanego przez duża liczbę weryfikatorów. A co jeśli atakujący złamie klucz CA ale CA go już nie używa? Choć klucz stracił własność, atakujący, powiedzmy Alicja, mogą teraz podrobić certyfikat datowany 15 lat wstecz potwierdzając fałszywy klucz publiczny innej osoby, powiedzmy Boba. Alicja może podrobić dokumenty z podpisem Boba z przed 15 lat, pozostawiając wszystko Alicji. Podstawową kwestią podnoszona przy tego rodzaju ataku, jest to , jak uwierzytelnić podpisany dokument datowanego wiele lat wstecz. W tym przypadku są rozwiązaniem znaczniki czasowe. Istnieją inne ataki, które nie wymagają złamania klucza prywatnego CA. Na przykład, załóżmy ,że Bob chce się podszyć pod Alicję. Jeśli Bob może przekonująco podpisywać wiadomości jako Alicja, może wysłać wiadomość do banku Alicji z prośbą o wycofaniu 10000 PLN z kona. Dla przeprowadzenia takiego ataku Bob generuje parę kluczy i wysyła klucz publiczny do CA, mówiąc "Jestem Alicją. Oto mój klucz publiczny .Proszę przysłać mi certyfikat" . Jeśli CA wyśle mu taki certyfikat, może potem oszukać bank, a jego atak zakończy się powodzeniem. Aby zabezpieczyć się przed takim atakiem, CA musi zweryfikować , że żądanie certyfikatu rzeczywiście pochodzi od domniemanego autora, tzn. musi zażądać dowodu ,że jest to Alicja i to ona żąda certyfikatu. CA może wymagać ,aby Alicja pojawiła się osobiści i okazała metrykę. Niektóre jednostki mogą wymagać niewielkiej identyfikacji, ale nie powinien honorować wiadomości uwierzytelnionej takimi certyfikatami niskiej wiarygodności. Każda CA musi publicznie podać swoje wymagania polityki identyfikacji taka by inni mogli potem dołączać odpowiedni poziom zaufania do certyfikatów. W innym ataku, Bob daje łapówkę komuś , kto pracuje w CA aby wydał mu certyfikat na Alicję. Teraz Bob wysyła wiadomości podpisane w imieniu Alicji i każdy otrzymujący taką wiadomość, będzie wierzył ,że jest autentyczna , ponieważ pełny i weryfikowalny łańcuch certyfikatów będzie jej towarzyszył. Ten atak może być utrudniony przez wymaganie współpracy dwóch (lub więcej) pracowników w celu wygenerowania certyfikatu; atakujący musi teraz przekupić dwóch lub więcej pracowników. Niestety istnieją sposoby na wygenerowanie fałszywego certyfikatu przy przekupieniu tylko jednego pracownika. Jeśli każdy certyfikat jest sprawdzany tylko przez jednego pracownika, można przekupić tego pracownika i wsunąć fałszywe żądanie na stos żądanych certyfikatów. Należy pamiętać ,że skorumpowany może ujawnić klucza prywatnego jednostki certyfikującej tak długo jak jest właściwie przechowywany. CA powinna również mieć pewność ,ze użytkownik posiada klucz prywatny, odpowiadający kluczowi publicznemu, który jest certyfikowany; w przeciwnym razie pewne ataki okażą się możliwe kiedy użytkownik dołączy wiadomość podpisaną przez kogoś innego.

Co jeśli klucz jednostki certyfikującej został zgubiony lub naruszony?

Jeśli klucz jednostki certyfikującej został zgubiony lub zniszczony ale nie naruszony, certyfikaty podpisane starym kluczem są jeszcze ważne, tak długo jak weryfikujące wie, że używa starego klucza publicznego weryfikując certyfikat. W niektórych wersjach urządzeń podpisujących certyfikaty, są przechowywane zaszyfrowane kopie klucza prywatnego CA, więc gubiąc go, CA może przywrócić go , ładują zaszyfrowaną kopię zapasową do urządzenia. Jeśli samo urządzenie zostało zniszczone, producent może dostarczyć inną z tą samą informacją wewnętrzną, co pozwala na odzyskanie klucza. Naruszony klucz CA jest bardziej niebezpieczną sytuacją. Atakujący, który odkrył klucz prywatny CA może wydawać fałszywe certyfikaty w imieniu jednostki certyfikującej, co pozwoliłoby na niewykrycie fałszerstwa. Z tego powodu,należy podjąć wszystkie środki bezpieczeństwa aby zapobiec naruszeniu. Jeśli wystąpiło naruszenie, CA musi natychmiast zaprzestać wydawania certyfikatów przy starym kluczu i zmienić go na nowy. Jeśli chodzi o podejrzenie ,że wydano fałszywe certyfikaty, wszystkie certyfikaty powinny być ponownie nazwane a potem wydane ponownie z nowym kluczem CA. Środki te mogą być złagodzone jeśli certyfikaty były zarejestrowane z cyfrowym znacznikiem czasowym. Zauważ ,że naruszenie klucza CA nie unieważnia kluczy użytkowników, ale tylko certyfikaty je uwierzytelniające. Naruszenie klucza prywatnego CA najwyższego poziomu powinny być uznane za katastrofalne, ponieważ klucz publiczny może być wbudowany w aplikacje weryfikujące certyfikaty

Co to jest Certificate Revocation Lists (Lista Unieważnionych Certyfikatów)?

Lista unieważnionych certyfikatów (CRL) to lista certyfikatów, które zostały unieważnione przed data ich ważności . Istnieje kilka powodów, dla których certyfikat może być unieważniony i umieszczony na liście CRL. Np. klucz określony w certyfikacie został naruszony lub użytkownik certyfikatu nie ma już uprawnień do korzystania z klucza. Np. załóżmy ,że nazwa powiązana jest z kluczem "Alicja Bąbol, wiceprezes Agro Group" . Jeśli Alicja został zwolniona, jej firma nie chce aby dalej podpisywała wiadomości tym kluczem, więc wstawi ten certyfikat na listę CRL. Podczas weryfikacji podpisu, bada się odpowiednią CRL, aby upewnić się ,czy osoba podpisująca nie została unieważniona. Czy warto jest wykonać to sprawdzenie zależy od ważności podpisanego dokumentu. CRL jest zarządzana przez CA i dostarcza informacji o unieważnionych certyfikatach, które zostały wydane przez tą CA. CRL′e wyświetlają listę bieżących certyfikatów, ponieważ wygasłe certyfikaty nie powinny być akceptowane w żadnym przypadku: kiedy minie data ważności unieważnionego certyfikatu, certyfikat może być usunięty z CRL. CRL′e są zazwyczaj dystrybuowane na jeden z dwóch sposobów. W modelu "pull", weryfikatorzy pobierają CRL od CA, w razie potrzeby. W modelu "push", CA wysyła listy CRL do weryfikujących w określonych odstępach czasu. Niektóre systemy używają podejścia hybrydowego gdzie CRL jest wepchnięty do kilku pośrednich repozytoriów z których weryfikujący mogą je pobrać w razie potrzeby. Chociaż CRL′e są zarządzane w sposób rozproszony, może być centralne repozytorium dla CRL, takie jak witryny sieci zawierając najnowsze CRL z wielu organizacji. Instytucje, takie jak bank mogą chcieć wewnętrznych repozytoriów CRL aby przeszukanie CRL było wykonalne przy każdej transakcji.

Co to pieniądz elektroniczny?

Pieniądz elektroniczny (zwany także elektroniczną gotówką) to termin, który jest jeszcze dość mglisty i nieokreślony. Odnosi się do transakcji dokonywanych drogą elektroniczna. Pieniądze elektroniczne mogą być albo debetowe albo kredytowe. Cyfrowa gotówka jako taka jest zasadniczo inną walutą, a transakcje cyfrową gotówką mogą być wizualizowane na rynku walutowym. Jest tak ponieważ musimy skonwertować ilość pieniędzy na cyfrową gotówkę przed jej wydaniem. Proces konwersji jest analogiczny do zakupu obcej waluty. Pionierskie prace o teoretyczny podstawach gotówki cyfrowej prowadził Chaum. Gotówka cyfrowa w precyzyjnej definicji może być anonimowa albo imienna. Schemat anonimowy nie ujawnia tożsamości klienta i jest oparty o ślepe schematy podpisów. Schematy wydatków zidentyfikowane zawsze odkrywają tożsamość klienta i są oparte na bardziej ogólnych formach schematów podpisu. Schematy anonimowe są elektroniczną analogią gotówki, podczas gdy systemy identyfikacyjne są elektroniczną analogia debetu lub karty kredytowej. Istnieją inne podejścia, płatności mogą być anonimowe w odniesieniu do kupca, ale nie banku, lub anonimowe do wszystkich ,ale identyfikowalne (sekwencja zakupów może być związana, ale nie połączona bezpośrednio z tożsamością wydającego pieniądze). Ponieważ cyfrowa gotówka jest jedynie elektroniczną reprezentacją środków, możliwe jest duplikowanie i wydawanie pewnej kwoty więcej niż raz. Dlatego schematy gotówki cyfrowej zostały skonstruowane w ten sposób, że nie jest możliwe wydanie tych samych pieniędzy więcej niż raz w krótkim okresie czasu. Innym podejściem jest posiadanie cyfrowej gotówki przechowywanej w bezpiecznym urządzeniu, co uniemożliwia użytkownikowi podwójne wydatki. Pieniądz elektroniczny obejmuje również systemy płatności , które są analogiczne do tradycyjnych kart kredytowych i czeków. Tu , kryptografia chroni standardowe dane transakcyjne, takie jak numer konta i ilość; podpis cyfrowy może zastąpić podpis odręczny lub autoryzację karty kredytowej, a szyfrowanie kluczem publicznym może zapewnić poufność. Istnieje wiele systemów dla tego typu elektronicznych pieniędzy, począwszy od tych, które są ścisłymi analogami konwencjonalnych transakcji papierowych z typową wartością kilku złotych lub więcej, do tych które oferują formę "mikropłatności" gdzie wartość transakcji to kilka złotych.

Co to jest iKP?

Internet Keyed Payments Protocol (iKP) jest architekturą dla bezpiecznych płatności obejmującą trzy lub więcej części. Stworzona przez T.J.Watson Reasearch Center IBm i Zurich Research Labratory, protokół definiuje transakcje natury "karty kredytowej", gdzie kupujący i sprzedający są w interakcji z trzecim "nabywcą", takim jak system kart kredytowych lub bank, dla autoryzacji transakcji. Protokół jest oparty kryptografię klucza publicznego. iKP nie jest szeroko stosowany, ale jest obecnie podstawą dla SET

Co to jest SET?

Visa i MasterCard wspólnie opracowały protokół Secure Electronic Transaction (SET) jako metodę dla bezpiecznych, efektywnych kosztowo transakcji kartami bankowymi w sieciach otwartych. SET obejmuje protokoły dla zakupu towarów i usług w formie elektronicznej, żądanie autoryzacji płatności i żądanie "listy uwierzytelniającej" (tj. certyfikatu) łączących klucze publiczne z tożsamościami, między usługami. Kiedy SET jest w pełni zaadoptowany, konieczność poufności bezpieczeństwa transakcji elektronicznych będzie zastosowana, pozwalając kupcom i klientom na udział w handlu elektronicznym. SET obsługuje DES dla szyfrowania danych i RSA dla podpisów i szyfrowania kluczem publicznym kluczy szyfrowania danych i numerów kart kredytowych. Publiczne RSA - szyfrowanie klucza stosuej Optimal Asyemmetric Encryption Protocol. SET został opublikowany jako otwarta specyfikacja dla przemysłu, która może być wykorzystana przez producentów oprogramowania do tworzenia aplikacji.

Co to jest Mondex?

Mondex jest systemem płatności, w którym waluta jest zapisana na kartach . Te inteligentne karty są podobne kształtem i wielkością do kart kredytowych i ogólnie pozwalają na przechowywanie sum do kilkuset dolarów. Pieniądze mogą być przekazywane z karty na kartę wiele razy i w dowolnej ilości. Nie ma obaw co do rozmiaru monet jak w przypadku tradycyjnej waluty. Mondex dostarcza również ograniczonej ilości anonimowości. System niesie ze sobą jedną z wad waluty fizycznej : jeśli zgubi się karta Mondex, pieniądze również są gubione. Transfery środków z karty na katerą są realizowane w jednym z wielu pośredniczących urządzeń. System Mondex opiera swoje bezpieczeństwo na połączeniu kryptografii i sprzęcie odpornym na manipulacje. Protokół dla przekazywanie środków z jednej na drugą kartę, na przykład, wykorzystuje podpis cyfrowy (chociaż Mondex jeszcze nie ujawnij informacji o stosowanych algorytmach). Dodatkowo system zakłada ,że użytkownicy nie mogą ingerować w karty, tzn. mieć dostęp i modyfikować bilansem przechowywanym na karcie. System Mondex jest zarządzany przez korporację znaną jako Mondex International Ltd, z odpowiednią liczbą narodowych franczyz.

Co to są mikropłatności?

Mikropłatności są to płatności niewielkich kwot pieniędzy, zazwyczaj w nominałach mniejszych niż te w których dostępna jest waluta fizyczna. Przewiduje się ,że środki takie jak 1/1000 złotego mogą być kiedyś używane do płacenia za dostęp do treści lub niewielkich zasobów sieciowych. Konwencjonalne systemy płatności elektronicznych wymagają zbyt wiele obliczeń do obsługi takich kwot z akceptowalną efektywnością. System mikropłatności umożliwia wypłaty tej wielkości, które mogą być osiągnięte w obliczeniowo lekki sposób, generalnie poświęcając pewien stopień bezpieczeństwa. Przykładem takiego systemu jest system mikropłatności proponowany przez Rivesta i Shamira i znany jako MicroMint

Kryptografia w świecie rzeczywistym


Co to jest S/MIME?

S/MIME (Secure/Multiurpose Internet Mail Extensions) jest protokołem, który dodaje podpsiy cyfrowe i szyfrowanie do wiadomości Internet MIME opisanej w RFC 1521. MIME jest oficjalnie zaproponowanym formatem standardu dla rozszerzonej poczty elektronicznej. Wiadomości internetowe e-mail składają się z dwóch części, nagłówka i ciała. Nagłówek formuje zbiór par pole/wartość ułożonych dla dostarczania informacji niezbędnych dla transmisji wiadomości. Struktura tych nagłówków może być znaleziona w RFC 822. Ciało jest zazwyczaj nieustrukturyzowane chyba ,że e-mail jest w formacie MIME. MIME definiuje jak ciało wiadomości jest skonstruowane. Format MIME pozwala aby e-mail zawierał tekst, grafikę, audio i inne znormalizowane przez system pocztowy MIME . Jednak samo MIME nie dostarcza żadnych usług zabezpieczeń. Celem S/MIME jest zdefiniowanie takich usług , zgodnie ze składnia podaną w PKCS#7 dla podpisu cyfrowego i szyfrowania. Ciało sekcji MIME przenosi wiadomość PKCS#7, która z kolei jest wynikiem przetwarzania kryptograficznego na innych sekcjach ciała MIME. S/MIME został zaakceptowany przez wielu wiodących sprzedawców sieciowych.

Co to jest SSL?

Protokół uzgadniania SSL (Secure Sockets Layer) został stworzony przez Netscape Communications dla zapewnienia bezpieczeństwa i prywatności w Internecie. Protokół obsługuje uwierzytelnienie serwera i klienta. Protokół SSL jest aplikacja niezależną ,umożliwiając protokołom takim jak HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol) i Telnet być przekładanymi na górę swojej transparentności. Protokół SSL jest w stanie wynegocjować klucze szyfrowania jak również uwierzytelnienia serwera zanim dana zostanie wymieniona przez aplikację wyższego poziomu. Protokół SSL utrzymuje bezpieczeństwo i integralności kanału transmisyjnego przy użyciu szyfrowania, uwierzytelniania i kodów uwierzytelniania wiadomości. Protokół uzgadniania SSL składa się z dwóch faz: uwierzytelniania serwera oraz opcjonalnie z uwierzytelniania klienta. W pierwszej fazie, serwer w odpowiedzi na życzenie klienta, wysyła swój certyfikat i właściwości szyfru. Wtedy klient generuje klucz główny , który szyfruje kluczem publicznym serwera i transmituje zaszyfrowany klucz do serwera. Serwer odzyskuje klucz główny i uwierzytelnia się klientowi przez zwrócenie uwierzytelnionej wiadomości kluczem głównym . Kolejne dane są szyfrowane i uwierzytelnione kluczami pochodzącymi z tego klucza głównego. W opcjonalnej drugiej fazie, serwer wysyła wezwanie do klienta. Klient uwierzytelnia się serwerowi przez zwrócenie podpisu cyfrowego klienta na wezwanie, jak również certyfikat klucza publicznego. Wiele algorytmów kryptograficznych jest obsługiwanych przez protokół SSL. Podczas procesu "uzgadniania", używany jest kryptosystem klucza publicznego RSA.

Co to jest S/WAN?

S/WAN (Secure Wide Area Network) jest inicjatywą mającą na celu promowanie powszechnego wdrażania internetowego Virtual Private Networks (VPN) [wirtualnych sieci prywatnych]. Osiąga się to przez przyjęcie standardowej specyfikacji dla implementacji IPSec, architektury bezpieczeństwa dla Internet Protocol, zapewniając interoperacyjność między firewallem a TCP/IP. Używanie IPSec pozwala firmom dobranie najlepszego firewalla i TCP/IP dla zbudowania VPN. Obecnie, użytkownicy i administratorzy są często skazani na jednego dostawcę rozwiązań sieciowych, ponieważ producenci nie byli w stanie uzgodnić szczegółów implementacji IPSec. S/WAN powinien usunąć główną przeszkodę dla powszechnego wprowadzania bezpiecznych VPN.S/WAN obsługuje szyfrowanie na poziomie IP, które zapewnia bardziej fundamentalny i niższy poziom bezpieczeństwa niż protokołu wyższego poziomu, takie jak SSL. Oczekuje się, że wyższy poziom bezpieczeństwa, w tym specyfikacja SSL, będzie rutynowo nakładany na implementacje S/WAN a te specyfikacje bezpieczeństwa będą pracowały razem. Aby zapewnić interoperacyjność IPSec, S/WAN definiuje wspólny zbiór algorytmów, trybów i opcji. S/WAN używa RC5 przy rozmiarze klucza od 40 bitów (dla eksportowania) do 128 bitów. S/WAN może być również implementowany przy użyciu DES

Co to jest IPSec?

Grupa robocza Internet Engineering Task Force (IETF) IP Security Protocol (IPSec) zdefiniowała zbiór specyfikacji dla usług uwierzytelniania kryptograficznego, integralności i poufności w warstwie datagramu IP. Wyniki grupy IPSec stanowią podstawę interoperacyjności zabezpieczonych potoków host-do-hosta, hermetyzowanych tuneli i wirtualnych sieci prywatnych (VPN), zapewniając tym samym ochronę protokołów klienckich rezydujących powyżej warstwy IP. Formaty protokołów dla Nagłówka Uwierzytelniania (AH) IPSec i IP Encapsulating Security Payload (ESP) są niezależne od algorytmu kryptograficznego, chociaż pewne zabiory algorytmów są określone jako obowiązkowe dla wsparcia interoperacyjności. Podobnie, wiele algorytmów jest obsługiwanych dla celów zarządzania kluczem (ustanawiania kluczy sesyjnych dla ochrony ruchu), wewnątrz struktury ISAKMP/Oakley IPSec

Co to jest SSH?

SSH lub Secure Shell, jest protokołem, który umożliwia bezpieczny, zdalny dostęp przez sieć z jednego komputera do drugiego. SSH negocjuje i ustanawia szyfrowane połączenie między klientem SSH a serwere SSH, uwierzytelniając klienta i serwer na jeden z wielu sposobów (niektóre możliwości uwierzytelniania to RSA, tokeny Security Dynamics SecurID i hasła). To połączenie może potem być używane do różnych celów, takich jak tworzenie bezpiecznego zdalnego logowania na serwerze (skutecznie zastępując polecenia takie jak telnet , rlogin i rsh) lub stworzenie VPN. Kiedy używamy go do tworzenia bezpiecznych loginów, SSH może być skonfigurowane do przekazania połączenia X11 automatycznie przez zaszyfrowany tunel, tak aby dać zdalnemu użytkownikowi bezpieczny dostęp do serwera SSH wewnątrz w pełni funkcjonalnego środowiska okienkowego. Połączenia SSH i ich przesyłanie mogą być łączone kaskadowo,aby dać uwierzytelnionemu użytkownikowi bezpieczny okienkowy dostęp do całej sieci hostów. Inne połączenia TCP/IP mogą również być tunelowane przez SSH do serwera tak ,ze zdalny użytkownik może mieć bezpieczny dostęp do poczty WWW, udostępniania plików, FTP i innych usług

Co to jest Kerberos?


Kesrberos jest usługą uwierzytelniania , opracowany przez zespół Projektu Athena na MIT, w oparciu o prace Needhama i Schroedera z 1978 roku. Kerberos używa szyfrów tajnego klucza dla szyfrowania i uwierzytelniania. W przeciwieństwie do systemu uwierzytelniania kluczem publicznym, Kerberos nie tworzy podpisów cyfrowych. Kerberos został zaprojektowany dla uwierzytelniania żądań dla zasobów sieciowych, a nie w celu uwierzytelniania autorstwa dokumentów. Zatem, Kerberos nie dostarcza weryfikacji dokumentów. W systemie Kerberos, jest wyznaczone miejsce w każdej sieci, zwane serwerem Kerberos, które pełni miejsce scentralizowanego zarządzania kluczami i funkcje administracyjne. Serwer posiada bazę zawierająca tajne klucze wszystkich użytkowników, uwierzytelniania tożsamości użytkowników i dystrybucji kluczy sesyjnych dla użytkowników i serwerów, którzy chcą uwierzytelniać się wzajemnie. Kerberos wymaga zaufanej trzeciej osoby (serwer Kerberos). Jeśli serwer jest naruszony, tracona jest integralność całego systemu. Kryptografia klucza publicznego była stworzona w celu uniknięcia konieczności obecności osób trzecich. Kerberos jest ogólnie uważany za adekwatny w dziedzinie administracji

Co to są CAPI?


CAPI lub cryptographic application programming interface [kryptograficzny interfejs programowania aplikacji] , jest interfejsem do biblioteki funkcji, jakie programiści mogą wywołać dla ochrony i usług kryptograficznych. Celem CAPI jest ułatwienie programistom zintegrowania kryptografii z aplikacjami. Odseparowanie podprogramów kryptograficznych od oprogramowania może również pozwolić na eksportowanie bez implementacji usług bezpieczeństwa. Oprogramowanie może być następnie łączone przez użytkownika do lokalnych usług bezpieczeństwa. CAPI mogą koncentrować się na różnych poziomach abstrakcji, od interfejsów modułów kryptograficznych do interfejsów usług uwierzytelniania. International Cryptography Experiment (ICE) jest nieformalnie zorganizowanym programem dla testowania ograniczeń eksportowych NSA na CAPI.

Co to jest GSS-API?


Generic Security Service API (GSS-API) jest to CAPI dla rozproszonych usług bezpieczeństwa. Ma zdolność do bezpiecznej obsług sesji komunikacyjnej, w tym uwierzytelniania , integralności danych i poufności danych, GSS-API jest przeznaczony do izolowania swoich użytkowników od określonych podstawowych mechanizmów. Implementacje GSS-API zostały zbudowane na szczycie zakresu technologii tajnego klucza i klucza publicznego. Definicja GSS-API jest dostępna w Internet Proposed Standard RFC 2078 a GSS-API jest również inkorporowane jako elelement Open Group Common Enviroment Specification. Trwają prace nad definicjami uzupełniającymi API (GSS-IDUP) zorientowanych na przechowaj - i - wyślij wiadomości.

Co to są RSA BSAFE CRYPTO - C i RSA BSAFE CRYPTO-J?


RSA BSAFE Crypto-C (BSAFE) i RSA BSAFE Crypto-J (JSAFE) są niskopoziomowymi zestawami narzędzi, które oferują programistą narzędzia dodawania funkcji prywatności i uwierzytelniania do swoich aplikacji. RSA BSAFE Crypto-C i RSA BSAFE Crypto-J są stworzone dla zapewnienia bezpiecznych narzędzi dla szerokiego kręgu aplikacji, takich ja cyfrowo podpisywane formularze cyfrowe, wykrywania wirusów lub prywatnych sieci wirtualnych. RSA BSAFE Crypto-C może obsługiwać praktycznie dowolny globalny standard bezpieczeństwa , a RSA BSAFE Crypto-J jest kopatybilny z różnymi standardami przemysłowymi, w tym S/MIMW, IPSec, SSL, S/WAN i SET. RSA BSAFE Crypto-C (BSAFE) i RSA BSAFE Crypto-J w pełni wspierają PKCS. RSA wprowadził całkiem nową rodzinę metod kryptografii klucza publicznego krzywej eliptycznej do RSA BSAFE Crypto-C, która obejmuje teraz podprogramy kryptograficzne krzywej eliptycznej do szyfrowania (analogiczne do systemu szyfrowania El Gamala), uzgadnianie klucza (analogiczne do uzgadniania klucza Diffie- Hellmana) i cyfrowych podpisów (analogicznych d DSA, Schnorra). Ta implementacja kryptografii krzywej eliptycznej obejmuje wszystkie warianty ECC: Nieparzyste Pierwsze, Parzyste Normalne i Parzyste Wielomianowe, jak również możliwość generowania nowych parametrów krzywej dla wszystkich trzech pól. RSA BSAFE CRYPTO-J jest pierwszym zestawem narzędzi kryptograficznych RSA stworzonych specjalnie dla programistów Javy. RSA BSAFE CRYPTO-J ma pełny pakiet algorytmów kryptograficznych obejmujących kryptosystem klucza publicznego RSA i negocjowanie klucza Diffie-Hellmana, DES, Triple-DES, RC2, RC4, RC5, MD5 i SHA-; RSA BSAFE CRYPTO-J dostarcza programistom najnowocześniejszej implementacji najważniejszych podprogramów prywatności, uwierzytelniania i integralności danych w Javie. RSA BSAFE CRYPTO-J używa tego samego Java Security API jakiego używają programiści,. Zestaw narzędzi również kod źródłowy dla próbkowych aplikacji i proste w użyciu autotesty.

Co to jest SecurePC?

RSA SecurPC jest oprogramowaniem, które szyfruje dysk i pliki .SecurPC rozszerza Windows TM File Manager lub Explorer aby dołączał opcje dla szyfrowania i deszyfrowania pojedynczych wybranych plików lub plików z wybranych folderów. Każdy plik jest szyfrowany przy użyciu szyfru symetrycznego RC4, z losowo generowanym 28 bitowym klucze (40 bitowy dla użytkowników spoza USA). Klucz losowy jest szyfrowane tajnym kluczem użytkownika, który jest szyfrowany kluczem pochodzącym z hasła użytkownika. Pozwala to użytkownikowi hasła dla zmiany hasła bez deszyfrowania i ponownego szyfrowania wszystkich plikow , w oparciu o schemat k z n-progowy. Tajny klucz użytkownika może być szyfrowany algortymem RSA, w ramach dostępu do awaryjnego klucza publicznego. Odpowiedni klucz prywatny, w udziałach, dowolnej liczbie osób zaufanych. Wyznaczona liczba tych osób musi przedstawić swoje udziały w celu odszyfrowania zaszyfrowanych plików

Co to jest SecureID?

SecureID jest systemem dwustopniowego uwierzytelniania opracowanym i sprzedawanym przez Security Dynamics. Jest to powszechnie stosowane w celu zapewnienia lokalnego lub zdalnego dostępu do sieci komputerowej. Każde użytkownik SecurID ma zapamiętanym PIN lub hasło, i przenośny token z wyświetlaczem LCD. Token wyświetla nową pseudolosowa wartość, nazywaną tokenkodem, w stałych odstępach czasu, zwykle jednej minuty. Użytkownik łączy zapamiętany współczynnik z tym tokenkodem, albo przez proste połączenie lub wejście na opcjonalnej klawiaturze na tokenie dla stworzenia hasła, które jest następnie wprowadzane dla uzyskania dostępu do chronionego zasoby. Token SecurID jest zasilany z baterii, przenośne urządzenie zawierające dedykowany mikrokontroler. Mikrokontroler przechowuje ,w RAM, bieżący czas i 64 bitową wartość początkową ,która jest unikalna dla danego tokenu. W określonym przedziale czasu, wartość początkowa i czas są łączone razem przez właściwy algorytm zapisany w pamięci ROM mikrokontrolera Serwer uwierzytelniani weryfikuje to hasło. Serwer zawiera bazę danych która zawiera wartości początkowe każdego tokena i PIN lub hasło dla każdego użytkownika. Z tej informacji i bieżącego czasu, serwer generuje zbiór poprawnych kodów dostępu dla użytkownika i sprawdza każdy z wprowadzoną wartością

Co to jest PGP?

Pretty Good Privacy (PGP) jest pakietem oprogramowania pierwotnie stworzonym przez Phila Zimmermana, który zapewnia podprogramy krytograficzne dla e-maili i aplikacji przechowywania plików. Zimmerman wziął istniejące kryptosystemy i protokoły kryptograficzne i stworzył program , który może być uruchamiany na wielu platformach. Zapewnia szyfrowanie wiadomości, podpisy cyfrowe, kompresję danych i kompatybilność e-maili. Algorytmy używane do szyfrowania to RSA, i Diffie = -Hellman dla przenoszenia klucza oraz IDEA, CAST i Triple-dES dla masowego szyfrowania wiadomości. Podpisy cyfrowe są osoągane przez użycie RSA lub DSA dla podpisu i MD5, RIPEMD-160 lub SHA- na dla obliczania skrtu wiadomości. Program ZIP jest używany do kompresji wiadomości dla tramsmisji i przechowywania. Kompatybilność e-amili jest osiągana przez użycie konwersji Radix-64

.

Co to są standardy ANSI X9?

American National Standards Institute (ANSI) jest podzielony na komitety, jednym z nich jest ANSI X9. Komitet ANSI X9 stworzył standardy dla branży finansowej, a dokładniej dla osobistego numeru identyfikacyjnego (PIN) dla zarządzania, kontroli przetwarzania, elektronicznych transferu funduszy itd. Wewnątrz komitetu ANSI X9 istnieją podkomitety takie jak X9.9 i X9.17. ANSI X9.9 jest narodowym amerykańskim standardem bankowy dla uwierzytelniania transakcji finansowych. ANSI X9.9 dotyczy dwóch zagadnień : formatowanie wiadomości i algorytmu uwierzytelniania określonej wiadomości. Algorytm definiowany przez ANSI X9.9 jest nazywany DES-MAC oparty o DES w trybie CBC lub CFB. Szczegóły standardu bankowości detalicznej zostały opublikowanej jako X9.19. Odpowiednie standardy międzynarodowe to ISO 8730 i ISO 8731 dla ANSI X9.9 i ISO 9807 dla ANSI 9.19. Standardy ISO nieznacznie różnią się tym ,że nie ograniczają się do DES w celu uzyskania kodu uwierzytelniania wiadomości ale pozwalają na użycie innych kodów uwierzytelniania wiadomości i szyfrów blokowych ABSI X9.19 jest standardem Financial Institution Key Management (Wholesale). Definiuje protokoły używane przez instytucje finansowe takie jak banki, dla transferu szyfrowanych kluczy. Protokół ten ma na celu dystrybucję tajnych kluczy używając technik symetrycznych (tajny klucz). Standard definiuje trzypoziomową hierarchię kluczy:
• Poziom najwyższy to klucz główny (KKM) , który jest zawsze dystrybuowane ręcznie
• Kolejny poziom składa się z kluczy szyfrowania klucza (KEK), które są dystrybuowane online
• Najniższy poziom to klucze danych (KD), które również są dystrybuowane ręcznie
Klucze danych służą do szyfrowania grupowego i zmiany na każdej sesji lub na dzień. Nowe klucze danych są szyfrowane kluczami szyfrowania klucza i dystrybuowane do użytkowników. Klucze szyfrowania klucza są zmieniane okresowo i szyfrowane kluczem głównym. Klucze główne są zmieniane są rzadziej, ale zawsze są przydzielane ręczne w bardzo bezpieczny sposób. ANSI X9.17 definiuje format dla komunikatu ustanawiania nowych kluczy i zastępowania starych ,nazwany CSM (cryptografic service messages). ANSI X9.17 również definiujesz dwukluczowe szyfrowanie Triple-DES jako metodę jaką może być dystrybuowany klucz. ANSI X9.17 jest stopniowo uzupełniany przez techniki klucza publicznego, takie jak szyfrowanie Diffie-Hellmana. Jednym z głównych ograniczeń ANSI X.9.17 jest nieefektywność komunikacji w dużych systemach ponieważ każda para systemów końcowych,która musi komunikować się między sobą będzie musiała mieć wspólny klucz główny. Aby rozwiązać ten problem, ANSI X9.28 został stworzony dla dystrybucji kluczy między systemami końcowymi, które nie współdzielą wspólnego klucza centralnego. Protokół definiuje grupy wielu centrum jak dwie lub więcej centrów kluczy, które implementują ten standard. Każdy członek grupy wielu centrów może wymieniać klucze z innymi członkami, ANSI X9.30 jest standardem biznesu finansowego dla podpisów cyfrowych oparty na federalnym Digital Signature Algorithm (DSA) a ANSI X9.31 jest standardowym odpowiednikiem podpsiu cyfrowego opartego o algorytm RSA. ANSI X9.30 wymaga szyfrowania algorytmem mieszającym SHA-1; ANSI X9.31 wymgaga algrytmu MDC-2. Powiązany dokument X9.57 obejmuje szyfrowanie zarządzania certyfikatami. ANSI X9.42 jest standardem dla uzgadniania klucza opartego na algorytmie Diffie-Hellmana, a ANSI X9.44 jest standardem dla przekazywania klucza opartego na algorytmie RSA. Ten ostani został przeznaczony dla określenia technik wyprowadzania współużytkowanego tajnego klucza; obecne techniki obejmują szyfrowanie Diffie-Hellmana, uwierzytelniania szyfrowania Diffie-Hellmana i protokoły MQV.

.

Co to są standardy ITUT (CCITT)?

International Telecommunications Union ,ITU-T (dawniej znany jako CCITT), jest międzynarodową unią , która zapenia stadanrdy dla urządzeń telekomunikacyjnych i systemów. ITU-T posiada szczególny sposób dla nazewnictwa katalogu ITU-T X.500, certyfikatów X,509 i Nazw Wyróżniających. Nazwy wyróżniające są standardową formą nazewnictwa. Nazwa wyróżniająca składa się z jednego lub więcej relatywnych nazw wyróżniających, a każda względna nazwa wyróżniająca składa się z jednej lub więcej względnych nazw wyróżniających, a każda względna nazwa wyróżniająca składa się z jednej lub więcej pary atrybut-wartość. Każda para atrybut-wartość składa się z identyfikatora atrybutu i odpowiadającej mu wartości .Na przykład "CountryName=PL". Nazwy wyróżniające były przeznaczone dla identyfikacji podmiotów w drzewie katalogów X.500 .Względna nazwa wyróżniająca jest ścieżką z jednego węzła do węzła podrzędnego. Cała nazwa wyróżniająca przemierza ścieżkę od korzenia drzewa do węzła końcowego, który reprezentuje określoną jednostkę. Celem katalogu było zapewnienie infrastruktury jednoznacznie nazywającą każdą jednostkę komunikacji.W rezultacie celu katalogu, nazwy w certyfikatach X.509 są chyba bardziej złożone niż mogłoby się wydawać. Niemniej, dla aplikacji biznesowych, nazwy wyróżniające są warte złożoności, ponieważ są one ściśle powiązane z procedurami prawnymi rejestracji nazw; prostych nazwa, takich jak adrsy e-mail, nie oferuje. Zalecenie ITU-T X.400, również znane jako Message Handling System (MHS) jest jednym z dwóch standardów architektury e-mail używanych dla zapewnienia usług e-mail i łączenia własnych systemów e-mail. Drugim jest Simple Mail Transfer Protocol (SMTP) używany przez Internet. MHS pozwala na e-mail i inne przekazywanie wiadomości przechowaj-i-prześlij, takie jak Electronic business Data Interchange (EDI) czy wiadomości głosowe. Protokoły mailowe MHS i Interner są różne ale opierają się na podobnych podstawowych modela architektonicznych. Na uwagę zasługuje fakt ,że MHS wspiera bezpieczną wymianę wiadomości od 1988 roku. Struktura wiadomości MHS jest podobna do struktury wiadomości MIME; obie mają nagłówek i ciało. Ciało może być podzielone na wiele części, przy czym każda część jest zakodowana inaczej. Na przykład, jedna część ciała może być tekstem, kolejna część obrazem a trzecia część zaszyfrowaną informacją . Zalecenie ITU-T X.435 i jego odpowiednik F.435 są oparte na X.400 i zaprojektowane do elektronicznej wymiany danych (EDI). EDI potrzebuje bardziej rygorystycznych zabezpieczeń niż typowy e-mail z powodu swej biznesowej natury: nie tylko wiadomości EDI potrzebują ochrony przed przypadkową lub bezprawną modyfikacją w przekazywaniu, ale również musi być odporny na odrzucenie po jej wysłaniu i odebraniu. Dla wsparcia tych wymagań bezpieczeństwa, X.435 definiuje, oprócz normalnych wiadomości EDI, zbiór "zgłoszeń" EDI. Pozytywne zgłoszenie implikuje ,że odbiorca odebrał dokument i przyjmuje odpowiedzialność za nią, podczas gdy ujemne zgłoszenie oznacza, że odbiorca odrzucił ją z określonych powodów. Przekazanie zgłoszenia oznacza ,że dokument został przekazany do innego odbiorcy. Razem, te zgłoszenia formują podstawę systemu, który może zapewnić kontrolę bezpieczeństwa porównywalną z tymi w systemach papierowych jakie zastępuje EDI . Zalecenie ITU-T X.509 określa usługę uwierzytelniania dla katalogów X.500, jak również szeroko przyjętą składnię certyfikatu X.509. Wstępna wersja X.509 została opublikowana w 1988 roku, wersja 2 w 1993 roku, a wersja 3 w 1994 i zatwierdzona w 1995 roku. Wersja 3 rozwiązuje niektóre z obaw o bezpieczeństwo i elastyczność, które były ograniczone w wersjach 1 i 2. Uwierzytelnienie katalogu X.509 może być prowadzone przy użyciu albo technik tajnego klucza albo technik klucza publicznego. Certyfikat X.509 zwiera następujące pola :
• wersja
• numer seryjny
• algortym podpisu ID
• nazwa wystawcy
• okres ważności
• nazwa użytkownika
• informacje klucza publicznego użytkownika
• unikalny identyfikator wystawcy (wersja 2 i 3)
• unikalny identyfikator użytkownika (wersja 2 i 3)
• rozszerzenia (tylko wersja 3)
• podpis na powyższych polach
Ten certyfikat jest podpisany przez wystawcę dla uwierzytelnienia wiązania między nazwą użytkownika a jego kluczem publicznym. Główna różnica między wersją 2 a 3 to dodanie pola rozszerzeń. Pole to daje większą elastyczność ponieważ może przekazać dodatkowe informacje, poza kluczem i wiązaniem nazw, Standardowe rozszerzenie obejmuje atrybuty użytkownika i wystawcy, informacje polityki certyfikacji i ograniczenia używania klucza. X.509 definiuje również składnię dla listy unieważnionych certyfikatów (CRL). Standard X.509 jest obsługiwany przez kilka protokołów, w tym PKCS i SSL

Co to jest PKCS?

Strategia kryptografii klucza publicznego (PKCS) są zbiorem stadnardów dla krytpografii klucza publicznego, stworzony przez Laboratorium RSA we współpracy z nieformalnym konsorcjum obejmującym Apple, Microsoft, DEC, Lotus, Sun i MIT. PKCS zostały przywołane przez OIW (OSI Implementer′s Workshop) jako metdoę dla implemenatcji standardów OSI. PKCS są stworzone dla danych binarnych i ASCII; PKCS są również kompatybilne ze standardem ITU-T X.509 Opublikowane standardy to PKCS #1, #3, #5, #7, #8, #9, #10 #11 , #12 #13 i #14. PKCS obejmuje również zarówno specyficzne algortymy i algorytmy niezależne standardów wdrożeniowych. Wiele algorytmów jest wspieranych w tym RSA i wymiana klucza Diffie-Hellmana. PKCS również definiuje składnie niezależnego algorytmu dla podpisów cyfrowych, cyfrowych kopert i rozszerzeń certyfikatów; pozwala to na implementacje algorytmu kryptograficznego w celu dostosowania do składni standardowej, a zatem uzyskania interoperacyjności. Standardy PKCS:
• PKCS #1 definiuje mechanizm dla szyfrowania I podpisywania danych używając kryptosystemu klucza publicznego RSA.
• PKCS #3 definiuje protokół uzgadniania klucza Diffie-Hellmana.
• PKCS #5 opisuje metodę dla szyfrowania łańcucha z tajnym kluczem dziedziczonym z hasła.
• PKCS #6 jest wycofywana na rzecz wersji 3 X.509.
o PKCS #7 definiuje ogólną składnię dla wiadomości, która obejmuje poprawę kryptografii takiej jak podpisy cyfrowe i szyfrowanie
o PKCS #8 opisuje format dla informacji klucza prywatnego. Ta informacja obejmuje klucz prywatny dla pewnego algorytmu klucza publicznego i opcjonalnie zbiór atrybutów
o PKCS #9 definiuje wybrane typyu atrybutu do użycia w innych standardach PKCS
. o PKCS #10 opisuje składnię dla żądania certyfikatu
o PKCS #11 definiuje niezależną technologię interfejsu programowania, nazwaną Cryptoki, dla urządzeń kryptograficznych takich jak inteligentne karty i karty PCMCIA
. o PKCS #12 określa przenośny format dla przechowywania lub przenoszenia kluczy prywatnych użytkowników, certyfikatów, innych tajemnic itp.
. o PKCS #13 definiuje mechanizmy dla szyfrowania i podpisywania danych używając kryptografii krzywej eliptycznej
o PKCS #14 podaje standard dla generowania liczb pseudo-losowych

Co to są standardy ISO?

Międzynarodowa Organizacja Normalizacyjna (ISO) to pozarządowa instytucja promująca rozwój globalnej standaryzacji. Łącznie, ISO jest podzielona na 2700 Komitetów Techniczncych, podkomitetów i grup roboczych. ISO/IEC (International Electrotechnical Commision) jest wspólnym komitetem technicznym opracowującym standardy dla technologii informatycznych. Jednym z ważniejszych standardów technologii informatycznej jest ISO/IEC 9798. Jest to międzynarodowy standard dla technik uwierzytelniania podmiotów. Składa się z pięciu części. Część 1 jest wprowadzeniem, a części 2 i 3 definiują protokół dla uwierzytelniania podmiotu używającego technik tajnego klucza i technik klucza publicznego. Cześć 4 definiuje protokoły oparte o sumy kontrolne kryptograficzne, a część 5 określa techniki wiedzy zerowej. ISO/IEC 9796 jest innym standardem ISO, który definiuje procedury dla schematu podpisu cyfrowego z odzyskiwaniem wiadomości (takie jak RSA czy Rabin-Williams). ISO/IEC International Standard 9594-8 jest również opublikowanym jako Zalecenie ITU-T X.509 :" Open Systems Interconnection - The Directory: Authentication Framework " i jest podstawowym dokumentem definiującym najszerzej używaną formą certyfikatu klucza publicznego. Innym przykładem standrdu ISO/IEC jest standard ISO/IEC 9979 , definiujący procedury dla usługi, która rejestruje algorytmy kryptograficzne. Rejestrowanie wynikowych algorytmów kryptograficznych jest jednoznacznym identyfikatorem przypisanym do niego. Rejestracja odbywa się za pomocą jednej organizacji nazywanej organem rejestracyjnym.

Co to jest IEEE P 1363?

IEEE P1363 to standard, który ma zapewniać kompleksową ochronę ustalonych technik klucza publicznego. Projekt uruchomiony w 1993 roku, tworzył projekt normy obejmujące techniki klucza publicznego z logarytmu dyskretnego, krzywej eliptycznej i rodziny faktoryzacji liczb całkowitych. Projekt został skoordynowany ze standardami kryptografii klucza publicznego ANSI, w bankowości.

Tematy pokrewne


Co to jest NIST?

NIST jest akronimem dla Narodowego Instytutu Standardów i Technologii, oddział Departamentu Handlu USA. NIST wcześniej był znany nako National Bureau of Standards (NBS). Poprzez swoje Computer Systems Laboratory, promuje systemy otwarte i interoperacyjność, które będą bodźcem dla rozwoju działalności gospodarczej opartej o komputery. NIST wydaje standardy i wytyczne , która mają być przyjęte we wszystkich systemach komputerowych w USA, a także sponsoruje warsztaty i seminaria. Oficjalne standardy są publikowane jako FIPS (Federal Information Processing Standards). W 1987 roku Kongres uchwalił Computer Security Act, który upoważnił NIST dla stworzenia standardy dla zapewnienia bezpieczeństwa poufnych informacji w komputerach rządowych. Zachęciło to NIST do pracy z innymi agencjami rządowymi i prywatnym biznesem nad oceną proponowanych norm bezpieczeństwa komputerowego. NIST wydał standardy dla algorytmów kryptograficznych, których żądały agencje rządowe. Duży procent sektora prywatnego przyjął je dobrze. W sytyczniu 1977 roku, NIST zadeklarował DES, oficjalny standard szyfrowania USA, w FIPS Publication 467; DES wkrótce stał się de facto standardem w USA. NIST opracował później Advanced Encryption Standard (AES), który zastąpił DES. NIST został również poproszony od wybranie zbioru standardów kryptograficznych dla USA, który stał się znany jako Capstone. Po kilku latach, NIST we współpracy a NSA, wydał propozycje dla różnych standardów kryptograficznych. Połączenie tych propozycji doprowadziło do powstania podpisów cyfrowych (DSS) i szyfrowania danych (chip Clipper), formując projekt Capstone. NIST był krytykowany za zezwolenie NSA na zbyt wiele władzy w ustalaniu standardów kryptograficznych, ponieważ interesy NSA były czasami sprzeczne z Departamentem Handlu i NIST. Jednak NSA ma więcej doświadczenia w kryptografii i wiele więcej kryptologów i kryptoanalityków niż NIST

Co to jest NSA?

NSA jest Narodową Agencją Bezpieczeństwa, bardzo skrytą gencją amerykańskiego rządu stworzona przez Harry′ego Trumana w 1952 roku. NSA. Istnienie NSA było trzymane w tajemnicy wiele lat NSA ma mandat na nasłuchiwanie i dekodowanie całej zagranicznej komunikacji w interesie bezpieczeństwa USA . Ma również moc aby spowolnić rozprzestrzenianie się dostępnej publicznej krytpografii aby uniknąć wykorzystania przez wrogów USA do wykorzystania metod szyfrowania, zbyt trudnych dla złamania przez NSA. NSA ma zasoby finansowe i zasoby komputerowe i zatrudnia mnóstwo kryptologów. Projekty kryptoraficzne NSA nie są podawane do wiadomości publicznej, a ta tajemnica doprowadziła do wielu plotek o NSA. Plotki te nie zostały ani potwierdzone ani odrzucone Ponadto, kryteria stosowane przez NSA dla wyboru systemów kryptograficznych również nigdy nie zostały upublicznione.

Co to jest Capstone?

Capton jest długoterminowym projektem rządu USA dla stworzenia zbioru standardów dla kryptografii dostępnej publicznie. Agencje odpowiedzialne za Capstone to NIST i NSA. w Capstone stał się oficjalnym standardem rządu USA , w tym przypadku zarówno rząd jak i wszystkie prywatne firmy robiące interesy z rządem będą musiały korzystać z Capstone. Istnieją cztery główne składniki Capstone: algorytm szyfrowania grupowego danych, algorytm podpisu cyfrowego, protokół wymiany klucza i funkcja mieszająca. Algorytm szyfrowania danych jest nazywany Skipjack, , często określany jako Clipper, który jest chipem szyfrującym zawierającym algorytm Skipjack. Algorytmem podpisu cyfrowego jest DSA a funkcja mieszająca używa SHA-1. Protokół wymiany klucza nie jest upubliczniony, ale generalnie przyjmuje się ,że jest powiązany z Diffie-Hellmanem. Algortym Skipjack i pojęcie Law Enforcement Access Field (LEAF) został zaakceptowany jako FIPS 185; DSS został opublikowany jako FPS 186, a końcowy SHD jako FIPS 189. Wszystkie części Capstone mają 80 bitowy poziom bezpieczeństwa. Klucze symetryczne obejmują 80 bitów długości a inne aspekty pakietu algorytmu muszą wytrzymać ataki "80 bitowe" czyli równoważne 280 operacjom.

Co to jest Clipper?

Chip Clipper zawiera algorytm szyfrowania o nazwie Skipjack. Każdy chip zawiera unikalny 80- bitowy klucz jednostkowy U, który jest deponowany w dwóch częściach w dwóch agencjach depozytowych; obie części muszą być znane aby odzyskać klucz. Obecny jest również numer seryjny i 80-bitowy "klucz rodzinny" F; ten jest wspólny dla wszystkich chipów Clippera. Ten chip jest wykonany tak ,że nie może być odtworzony, to oznacza ,że algortym Skipjack i klucze nie mogą być odzyskane z chipu.W sposób określony przez Escrowed Encryption Standard, kiedy dwa urządzenia chcą się komunikować, najpierw uzgadniają 80-biotyw klucz sesyjny K. Metoda według której wybierają ten klucz pozostaje do uznania wdrożeniowca; metody klucza publicznego takie jak RSA lub Diffie-Hellman wydają się prawdopodobnym wyborem. Wiadomość jest szyfrowana kluczem K i wysyłana (zauważ ,że K nie jest deponowane). W uzupełnieniu do szyfrowanej wiadomości, inne fragmenty danych, nazwane sekcją klasyfikowanych danych związanych z układem scalonym Clipper (LEAF), jest tworzona i wysyłana. Obejmuje klucz sesyjny L szyfrowany kluczem U, potem łączony z numerem seryjnym nadawcy i ciągiem uwierzytelniania, a na koniec, wszystko jest szyfrowane kluczem rodzinnym. Odbiorca deszyfruje LEAF, sprawdza ciąg uwierzytelniania i deszyfruje wiadomość kluczem K. Teraz załóżmy ,że agencja obrony chce "wybrać linię" . Używa klucza rodzinnego do deszyfrowania pola LEAF; agencja teraz zna numer seryjny i masz zaszyfrowaną wersję klucza sesyjnego. Przedstawia świadectwo uwierzytelniania dwóm agencjom deponującym wraz z numerem seryjnym. Agencje deponujący nadaje dwie części klucza jednostkowego agencji obrony, która wtedy deszyfruje to uzyskując klucz sesyjny K. Teraz agencja może użyć klucza K do deszyfrowania rzeczywistej wiadomości. Clipper wzbudził wiele kontrowersji i był przedmiotem krytyki. Niestety, dwa różne tematy były mylone w wielu publicznych komentarzach i dyskusjach. Po pierwsze , istnieje spór o całą ideę deponowania kluczy. Jest zasadnicze, aby agencje deponowania utrzymywały bazy danych kluczy bardzo bezpiecznie, ponieważ nieautoryzowany dostęp do obu baz danych mógłby pozwolić na nieautoryzowany podsłuch prywatnych rozmów. W rzeczywistości agencje deponujące są głównym celem dla każdego kto próbuje zagrozić systemowi Clipper. Fabryczny chip Clipper również jest prawdopodobnym celem .Zwolennicy deponowania klucza widzą to jako sposób zapewnienia bezpiecznej komunikacji dla szerokiej publiczności , jednocześnie umożliwiając agencjom obrony monitorowanie komunikacji przestępców. Przeciwnicy deponowania klucza widzą go jako niepotrzebne i nieskuteczne wtargnięcie rządu w życie prywatne obywateli .Argumentują ,że deponowane klucza naruszają ich prawo do prywatności i wolności słowa. Drugi obszar kontrowersji dotyczy różnych zarzutów do określonego Clippera, czyli zastrzeżeń do konkretnej realizacji deponowania kluczy, w przeciwieństwie do idei deponowania kluczy w ogóle. Najczęstsze zarzuty to : że agencje deponujące będą narażane na ataki, nie ma wystarczającej ilości agencji deponujących; klucze w chipie Clipper nie są generowane w wystarczająco bezpieczny sposób; nie będzie wystarczającej konkurencji między wdrożeniowcami, dając w rezultacie drogie i wolne chipy, implementacja oprogramowanie nie jest możliwa a rozmiar klucza jest stały i nie może być zwiększony w miarę konieczności.

Jaki jest bieżący status Clippera?

Clipper został przyjęty jako standard FIPS 185 przez rząd federalny. Różne formy chipu Clipper zostały stworzone; jednak nie jest już produkowany. Chip jest nadal używany w AT&R TSD 3600 różnych produktach Fortezzy, w tym kartach PC, modemach szyfrujących.

Co to jest Fortezza?

Fortezza Crypto Card, dawniej nazywana Tessera, jest to karta PC (dawniej PCMCIA, Personal Computer Memory Card International Association) stworzona przez NSA, która implementuje algorytmy Capstone. Karta zapewnia bezpieczeństwo przez weryfikację, uwierzytelnianie , niezaprzeczalność i szyfrowanie. Fortezza jest używana z Defense Messaging Service (DMS) i kontroli eksportu. Kilku sprzedawców zapewniło o wsparciu dla Fortezzy; NSA stworzyła i zademonstrowała bibliotekę opartą o PKCS#11, współpracującą z kartą

Co to jest szyfrowanie probabilistyczne?

Szyfrowanie probabilistyczne , stworzone przez Goldwassera i Micaliegi, jest podejściem projektowym do szyfrowania , gdzie wiadomość jest szyfrowana do jednego z wielu możliwych tekstów zaszyfrowanych (a nie tylko pojedynczego tekstu zaszyfrowanego jak w szyfrowaniu deterministycznym). Odbywa się to w taki sposób, ż trydno jest uzyskać częściową informację o widomości z tekstu zaszyfrowanego, ponieważ jest to rozwiązywanie pewnego trudnego problemu. W poprzednich podejściach do szyfrowania, mimo ,że nie wiadomo czy zawsze można uzyskać takie informacje częściowe, nie wykazano ,że nie można tego zrobić. Szczególny przykład probabilistycznego szyfrowania podanego przez Goldwassera i Micalieg działają na "bitach" a nie "blokach" i opiera się na problemie znajdowania reszt kwadratowych. Problemem jest znalezienie czy liczba całkowita x jest kwadratem modulo liczby złożonej całkowitej n (To jest łatwe jeśli czynniki n są znane, ale trudno jeśli ich nie znamy). W ich przykładzie, bit "0" jest szyfrowany jako losowy kwadrat, a bit "1" nie jest kwadratem; zatem trudno jest deszyfrować jaki rozwiązań problem reszt kwadratowych

Jakie są specjalne schematy podpisów?

Od czasu kiedy Diffie-Hellman wprowadzili pojęcie podpisu cyfrowego, zaproponowano wiele schematów podpisu w literaturze kryptograficznej. Te schematy mogą być skategoryzowane jako konwencjonalne schematy podpisu cyfrowego (np. RSA, DSA) lub specjalne schematy podpisu w zależności od ich funkcji bezpieczeństwa. W schemacie konwencjonalnym (oryginalnym modelu zdefiniowanym przez Diffie-Hellmana) generalnie zakładamy następującą sytuację:
• podpisujący zna treść wiadomości jaką podpisał
• Każdy kto zna klucz publiczny podpisującego może zweryfikować poprawność podpisu w dowolnym czasie bez jakiejkolwiek zgody lub danych wejściowych podpisującego
• Bezpieczeństwo schematów podpisu jest oparte o pewne założenia teoretycznej złożoności
W niektórych sytuacjach może lepiej polepszyć niektóre z tych założeń i/lub dodać pewne specjalne funkcje bezpieczeństwa.

Co to jest ślepy schemat podpisu?

Ślepy schemat podpisów wprowadził po raz pierwszy Chau, który pozwala osobie pobrać wiadomość podpisaną przez inną jednostkę bez ujawniania informacji o wiadomości tej innej jednostce. Chaum zademonstrował implementację tego pojęcia używając podpisów RSA :
Załóżmy ,że Alicja ma wiadomość m, którą chce mieś podpisaną przez Boba, ale nie chce mu nic mówić o m. Niech (n,e) będzie kluczem publicznym Boba a (n,d) jego kluczem prywatnym .Alicja generuje wartość losową r taką, że gcd(r,n) = 1 i wysyła m = rem mod n do Boba. Wartość m jest "oślepiona" przez wartość losową r ,a zatem Bob nie może wyciągnąć z niej użytecznych informacji. Bob zwraca podpisaną wartość s′ = (m′)d = (rem)d mod n do Alicji. Ponieważ s′ =rmd mod n, Alicja może uzyskać prawdziwy podpis s z m przez wyliczenie s = s′rl mod n. Teraz wiadomość Alicji ma podpisu jakiego nie mogła uzyskać inaczej. Ten schemat podpisu jest bezpieczny, pod warunkiem ,że wyodrębnienie współczynnika i pierwiastka pozostaje trudne. Jednak, bez względu na status tego problemu, schemat podpisu jest bezwarunkowo "ślepy", ponieważ r jest losowe. Losowość r nie pozwala podpisującemu na informację o wiadomości nawet jeśli podpisujący może rozwiązać podstawowy trudny problem. Istnieję potencjalne problemy jeśli Alicja może podać dowolną wiadomość do podpisania, ponieważ skutecznie to umożliwia zmontować jej atak wybraną wiadomością. Ślepe podpisy mają wiele zastosować, w tym znaczniki czasowe, anonimowa kontrola dostępu i cyfrowa gotówka.

Co to jest podpis ze wskazaniem potwierdzającego?

Podpis ze wskazaniem potwierdzającego jest równowagą między samouwierzytelnianiem podpisów cyfrowych a dowodami wiedzy zerowej. Podczas gdy pierwsze nie pozwala nikomu na weryfikację podpisu a drugi może tylko przekonać jednego odbiorcę w danym czasie uwierzytelniania danego dokumentu a tylko przez interakcję z podpisującym. Podpis ze wskazaniem potwierdzającego pozwala niektórym wyznaczonym stronom potwierdzać autentyczność dokumentu bez konieczności wchodzenia osoby podpisującej. W tym samym czasie, bez pomocy albo podpisującego albo jednostki potwierdzającej, nie jest możliwe zweryfikowanie autentyczności danego dokumentu.

Co to jest schemat podpisu typu fail-stop?

Schemat podpisu fail-stop jest rodzajem podpisu opracowanym przez Heysta i Pedersona w celu ochrony przez możliwością podrobienia podpisu osoby. Jest to odmiana schematu podpisu jednorazowego, w którym tylko pojedyncza wiadomość może zostać podpisana i chroniona danym kluczem w danym czasie .Schemat jest oparty na problemie logarytmu dyskretnego. W szczególności, jeśli wróg może podrobić podpis, następnie rzeczywisty podpisujący może udowodnić ,że miało miejsce fałszerstwo demonstrując rozwiązanie trudnego problemu. Zatem możliwości fałszerza do rozwiązania tego problemu są transferowane do rzeczywistego podpisującego. (Termin "fail-stop" odnosi się do faktu, że osoba podpisująca może wykryć i zatrzymać awarię, tj. fałszerstwo). Zwróć uwagę ,że jeśli wróg uzyska aktualną kopię klucza prywatnego podpisującego, nie można będzie wykryć fałszerstwa

Co to jest podpis grupowy?

Podpis grupowy, wprowadzony przez Chauma i van Heijsta , pozwala członkom grupy na cyfrowy podpis dokumentu w taki sposób ,że weryfikujący może potwierdzić, że pochodzi od grupy, ale nie wie ,kto personalnie w grupie podpisał dokument. Protokół ten pozwala na identyfikację osoby podpisującej przez odkrycie, w przypadku sporów, przez wyznaczony organ grupy, który ma pewne informacje pomocnicze. Niestety, za każdym razem kiedy członek grupy podpisuje dokument, nowa para kluczy musi zostać wygenerowana dla podpisującego. Generowanie nowej pary kluczy powoduje ,że zarówno długość tajnych kluczy członków grupy i informacje pomocnicze wyznaczonego organu powiększa się. Zwykle powoduje to ,że schemat staje się przeładowany kiedy jest używany do podpisywania wielu informacji lub kiedy jest używany dłuższy czas.

Co to jest schemat podpisu jednorazowego?

Schemat podpisu jednorazowego umożliwia podpisanie tylko jednej wiadomości za pomocą danego fragmentu prywatnej (lub publicznej) informacji, Zaletą tego schematu jest to ,że na ogół jest dość szybki. Jednakże schemat jest zwykle stosowany nieporęcznie przy uwierzytelnianiu wiadomości ponieważ musi być generowanych wiele dodatkowych danych dla podpisu i weryfikacji. W przeciwieństwie , konwencjonalne schematy takie jak RSA, ta sama para kluczy może być używana do uwierzytelniania wielu dokumentów

Co to jest niezaprzeczalny schemat podpisu?

Niezaprzeczalny schemat podpisu , opracowany przez Chauma i van Antwerpen są nie-samouwierzytelniającymi schematami podpisów, gdzie podpisy mogą tylko być zweryfikowane za zgodą osoby podpisującej. Jednakże jeśli podpis jest tylko weryfikowany przez podpisującego, nieuczciwa osoba podpisująca może odmówić uwierzytelnienia prawdziwego dokumentu. Podpisu niezaprzeczalne rozwiązują ten problem przez dodanie nowych komponentów nazywanych protokołem wyparcia oprócz zwykłych elementów podpisu i weryfikacji. Schemat jest realizowany przy użyciu kryptografii klucza publicznego opartego na problemie logarytmu dyskretnego. Część podpisu schematu jest podobna do innych schematów podpisu logarytmu dyskretnego. Weryfikacja jest przeprowadzona przez protokół wyzwanie-odpowiedź gdzie weryfikujący, Alicja, wysyła wyzwanie do podpisującego ,Boba, i postrzega odpowiedź do weryfikacji podpisu. Proces wyparcia jest podobny; Alicja wysyła wyzwanie a odpowiedź Boba pokazuje, że nie jest jego. (Jeśli Bob nie uczestniczy, można założyć ,że dokument jest autentyczny) Prawdopodobieństwo ,ze nieuczciwy podpisujący jest w stanie z sukcesem wprowadzić w błąd weryfikujących przy weryfikacji lub wyparciu to 1/p gdzie p jest liczbą pierwszą w kluczu prywatnym podpisującego. Jeśli rozważymy 768 bitowy klucza prywatnego, jest tylko malutkie prawdopodobieństwo, że osoba podpisująca będzie mogła odrzucić dokument, który podpisała

Co to są podpisy on-line/off-line?

Schematy podpisu on-line/off-line są sposobem na fakt ,że wiele schematów podpisu cyfrowego ogólnego przeznaczenia ma wysokie wymagania obliczeniowe. Schematy on-line/off-line są tworzone przez połączenie schematu podpisu ogólnego przeznaczenia i schematu podpisu jednorazowego, w taki sposób ,że większość ciężaru obliczeniowego dla operacji podpisu może być wykonane zanim podpisujący pozna wiadomość jaką podpisuje. Dokładniej, niech schemat podpisu ogólnego przeznaczenia a schemat podpisu jednorazowego będzie stały. Schematy te mogą być użyte razem dla zdefiniowana schematu podpisów które działają w następujący sposób:
1.Generowanie pary kluczy. Para kluczy publiczny/prywatny Kp/Ks dla schematu podpisu jednorazowego jest generowana. Są to klucze również dla systemu on-line/off-line
2.Faza podpisywania off-line. Para kluczy prywatny/publiczny Tp/Ts dla schematu podpisu jednorazowego jest generowana. Klucz publiczny Tp dla schematu jednorazowego jest podpisany kluczem prywatnym Ks dla schematu ogólnego przeznaczenia dla stworzenia podpisu SK(Tp)
3.Faza on-line podpisu. Aby podpisać wiadomość m, używamy schematu jednorazowego do podpisania m kluczem prywatnym Ts, obliczamy wartość ST(m) .Podpis m jest zatem trójką (Tp, SK(Tp), ST(m)).
Zwróć uwagę ,że kroki 2 i 3 muszą być wykonane dla każdej podpisywanej wiadomości; jednak ważna rzecz przy stosowaniu schematu podpisu on-line/off-line jest taka ,że krok 2 może być wykonywany zanim wiadomość m została wybrana i dostępna podpisującemu. Schemat on-line/off-line może używać schematu podpisu jednorazowego, który jest dużo szybszy niż schemat podpisu ogólnego przeznaczenia, a to czyni podpisy cyfrowe dużo praktyczniejszymi w różnych scenariuszach.

Co to jest OAEP?

Optimal Asymetric Encrytpion Padding (OAEP) jest metodą kodowania wiadomości opracowaną przez Mihira Bellare i Phila Rogawaya. Ta technika kodowania wiadomości z OAEp a potem szyfrowania jej RSA jest pewnym zabezpieczeniem .Nieformalnie, oznacza to ,że jeśli funkcje są naprawdę losowe, przeciwnik , który może odzyskać taką wiadomość musi móc złamać RSA. Wiadomość zakodowana OAEP składa się z łańcucha "danych zamaskowanych" połączonego z "zamaskowaną liczbą losową" W najprostszej formie OAEP, dana zamaskowana jest formowana przez exclusive-or wiadomości tekstem jawnym, M a potem hashowaniem G, łańcucha losowego r. Zamaskowan liczba losowa jest różnicą symetryczną r z mieszaniem H zamaskowanej danej. Dana wejściowa do funkcji szyfrowania RSA jest następująca : [M ⊕ G( r)] | | [r ⊕H(M ⊕G (r )]. Często OAEP jest używany do kodowania małych pozycji ,takich jak klucze. Istnieją różne odmiany OAEP (różniące się tylko nieznacznie od powyższych), które zawierają funkcję o nazwie "świadomość tekstu jawnego". Oznacza to ,że do stworzenia zakodowanej wiadomości OAEP, przeciwnik musi znać oryginalny tekst jawny. Aby to wykonać, wiadomość tekstem jawnym M jest najpierw wypełniana (np. łańcuchem zer) przed sformowaniem danej zamaskowanej. OAEP jest wspierany przez standardy ANSI X9.44, IEEE P1363 i SET

Co to jest cyfrowy znacznik czasowy?

Rozważmy dwa pytania, które może zadać użytkownik komputera, jeśli widzi dokument cyfrowy lub zapis on-line: (1) Kto jest autorem tego zapisu - kto go napisał, zatwierdził lub wyraził zgodę? (2) Kiedy ten zapis został utworzony lub ostatnio modyfikowany? W obu przypadkach, pytanie o dokładnie ten zapis - dokładnie tą sekwencję bitów. Odpowiedź na pierwsze pytanie mówi kto i co : kto dokładnie zatwierdzić co jest we wpisie? Odpowiedź na drugie pytanie mówi kiedy i co: od kiedy dokładnie ten wpis dokładnie zaistniał? Obydwa powyższe pytania mają dobre rozwiązanie. System dla odpowiedzi na pierwsze pytanie nazywa się schematem podpisu cyfrowego. System dla odpowiedzi na drugie pytanie jest nazywany schematem cyfrowego znacznika czasowego. Takie systemy są dostępne i implementowane komercyjnie z Surety Technologies. Każdy system pozwalający użytkownikowi odpowiedzieć na te pytania musi zawierać dwie procedury. Pierwsza musi być procedurą podpisania, (1) którą autor wpisu może "podpisać" wpis, lub (2) każdy użytkownik może poprawić wpis w swoim czasie. Wyniku tej procedury jest łańcuch bajtów, który służy jako podpis. Druga , musi być procedurą weryfikacji, przez którą użytkownik może sprawdzić wpis i jego rzekomy podpis, aby upewnić się ,że prawidłowo odpowiedziano na (1) kto i co? lub (2) kiedy i co? o wspomnianym wpisie . Procedura podpisu systemu cyfrowego znacznika czasowego działa przez matematyczne łączenie bitów wpisu do "liczby skrótowej", która jest szeroko poświadczana przez i szeroko dostępna dla członków społeczności , w tym oczywiście użytkowników systemu. Metody obliczeniowe zapewniają ,że tylko wspomniany wpis może by łączony zgodnie z "instrukcjami" zwartymi w certyfikacie znacznika czasowego, do tej powszechnie poświadczonej liczby skróconej; to znaczy, jak określony wpis jest powiązany d określonego momentu danej chwili. Procedura weryfikacji pobiera określony wpis i domniemany certyfikat znacznika czasowego dla tego wpisu i określny czas, i używa tej informacji dla sprawdzenia czy wpis został rzeczywiści certyfikowane w czasie deklarowanym przez sprawdzenie go ponownie szeroko dostępną liczba skróconą dla tego momentu. Jedną z miłych rzeczy cyfrowego znacznika czasowego jest to ,że znakowany dokument nie musi być wydany każdemu do tworzenia znacznika czasowego. Autor dokumentu oblicza wartość mieszającą sam, i wysłał ją do usługi znacznika czasowego. Sam dokument jest potrzebny tylko dla weryfikacji sygnatury czasowej. Jest to przydatne z wielu powodów (jak ochrona czegoś co chcesz opatentować). Dwie cechy systemu cyfrowego znacznika czasowego pomocne w zwiększaniu integralności systemu podpisu cyfrowego. Po pierwsze, system znacznika czasowego nie może mieć wpływu na ujawnienie klucza. Jest tak ponieważ systemy cyfrowego znacznika czasowego nie opierają się na kluczach lub innych poufnych informacjach, w tym zakresie. Po drugie, techniki wprowadzone w certyfikatach cyfrowego znacznika czasowego mogą być przedłużone, tak aby były ważne bezterminowo. Mając na uwadze te funkcje, rozważmy poniższą sytuację. Czasami się zdarza ,że połączenie między osobą a jej kluczem publicznego podpisu musi zostać unieważnione - na przykład jeśli klucz prywatny użytkownika został przypadkowo naruszony; lub kiedy klucz należy do pracy lub roli w organizacji, która już nie należy już dłużej do danej osoby. Dlatego połączenie osoba-klucz musi mieć ograniczenie czasowe, a procedura weryfikacji podpisu powinna sprawdzić, czy rekord został podpisany w czasie kiedy klucz publiczny podpisującego był rzeczywiście aktualny. I w ten sposób użytkownik podpisuje rekord, który może być sprawdzony później - być może po tym jak klucz użytkownika nie jest już aktywny - połączenie rekordu i jego podpisu powinno być certyfikowane bezpieczną usługą cyfrowego znacznika czasowego. Istnieje jeszcze inna sytuacja, w której klucz publiczny użytkownika może być unieważniony. Rozważmy przypadek podpisującego szczególnie ważny dokument, który potem życzy sobie aby cofnąć podpis. Przez nieuczciwe zgłoszenie naruszenia swojego klucza prywatnego, tak aby wszystkie jego podpisy były podważone, użytkownik jest w stanie wyprzeć się podpisu. Jednak jeśli dokument był oznaczony znacznikiem czasowym wraz z podpisem, wtedy podpis nie może być anulowany w ten sposób. Ta procedura jest zalecana dla ochrony żądanych podpisów cyfrowych dla ważnych dokumentów. Stwierdzenie ,ze klucze prywatnie nie mogą być uzyskiwane z kluczy publicznych jest uproszczeniem sytuacji bardziej złożonej. Faktycznie, w zależności od trudności obliczeniowej pewnych problemów matematycznych. W zależności od aktualnego stanu wiedzy algorytmicznej jak również szybkości obliczeniowej dostępnej pamięci w aktualnie dostępnych komputerach - zarządzający systemem podpisów cyfrowych będą musieli upewnić się ,że podpisujący stosują coraz dłuższe klucze. Ale co ma się stać z dokumentami, które zostały podpisane kluczami o długości, która nie jest już uważana za bezpieczną? Jeżeli podpisany dokument jest oznaczony cyfrowy znacznikiem czasowym, wtedy jego integralność może zostać utrzymana nawet jeśli określona długość klucza nie jest uważana za bezpieczną

Co to jest odzyskiwanie klucza?

Jedną z barier w powszechnym używaniu szyfrowania w pewnych kontekstach jest fakt ,że kiedy klucz jest w jakiś sposób "gubiony: , wszelkie dane nim zaszyfrowane stają się bezużyteczne. Odzyskiwanie klucza jest ogólnym terminem obejmującym liczne sposoby pozwalające na "dostęp awaryjny" do zaszyfrowanych danych, Jeden powszechny sposób dla wykonania odzyskiwania klucza, nazywa się deponowaniem klucza, jest to podzielenie klucza deszyfrującego (zazwyczaj tajnego klucza, lub klucza prywatnego RSA) na kilka części i dystrybuowanie tych części do agencji deponujących lub "powierników". W sytuacji awaryjnej ci powiernicy mogą użyć swoich "podzielonych" kluczy albo do rekonstrukcji zaginionego klucza albo po prostu do odszyfrowania bezpośrednio komunikacji. Ta metoda jest używana przez produkt SecurPC RSA Security Dynamics. Inną metodą odzyskiwania klucza ,nazywana hermetyzacją klucza ,jest szyfrowanie komunikacji "kluczem sesyjnym (który różni się od komunikacji do komunikacji) i zaszyfrowanie tego klucza sesyjnego kluczem publicznym powiernika. Zaszyfrowany klucz sesyjny jest wysyłany z zaszyfrowaną komunikacją, tak aby powiernik mógł odszyfrować komunikację, kiedy będzie to konieczne. Wariant tej metody, w której klucz sesyjny jest dzielony na kilka fragmentów, każdy zaszyfrowany innym kluczem publicznym powiernika, jest używana przez TIS RecoveryKey. Dorothy Denning i Dennis Branstad opisali najważniejsze metody odzyskiwania klucza

Co to jest LEAF?

LEAF , lub Law Enforcment Access Fields, jest małym kawałkiem "dodatkowej" informacji kryptograficznej ,która jest wysyłana lub przechowywana z szyfrowaną komunikacją dla zapewnienia ,że właściwe jednostki rządowe , lub inne autoryzowane jednostki mogą uzyskać tekst jawny z komunikacji. Dla typowego deponującego systemu komunikacji , LeAF może być zbudowany przez wzięcie klucza deszyfrującego dla komunikacji, podzielenie go na kilka części , zaszyfrowanie każdej innym kluczem publicznym agencji deponującej i połączenie zaszyfrowanych razem. Termin "LEAF" pochodzi od chipu Clipper

Co to jest PSS/PSS-R?

PSS (Probabilistic Signature Scheme) jest bezpiecznym sposobem na tworzenie podpisów z RSA stworzonym przez Mihira Bellare i Philipa Rogawaya. Nieformalnie, schemat podpisu cyfrowego jest udowadnialnie bezpieczny jeśli jego bezpieczeństwo jest ściśle związane z podstawowymi kryptograficznymi wyrażeniami elementarnymi .Dowód bezpieczeństwa PSS odbywa się włosowym modelu wyroczni, w której funkcja mieszająca jest modelowana jako prawdziwie losowa funkcja. Chociaż ten model nie jest realnie osiągalny, istnieją dowody na to ,że praktyczne instancje takich schematów są jeszcze lepsze niż schematy bez udowadnialnego bezpieczeństwa. Podpis PSS dla wiadomości M jest formowany w następujących krokach:
1.Losowy ciąg znaków r jest łączonyu z M formując M || r
2.Funkcja mieszająca h jest stosowana do M || r, formując h(M || r)
3.Funkcja mieszająca g jest stosowana do h(M || r) formując g(h( M || r)
4.g(h(M || r)) jest dzielone na dwie części g(h(M || r) = [g(h(M || r)) || g2(h(M || r)) ]
5.Brane jest exclusive-OR z g1(h(M || r) i r, formując g1(h(M || r)) ⊕ r
6.Formowany jest ciąg : w = [0 || h(M || r) || g1(h(M || r)) ⊕ r || g2(h(M || r))]
7.Odwrotna funkcja RSA jest stosowana do w, formując f-1(w)
8.Na wyjściu mamy parę wiadomość - podpis, (M,f-1(w))
Weryfikujący używa z klucza publicznego nadawcy dla odzyskania w z f-1(w). Potem oblicza h(M || r) z w i stosuje g1 do niej. Łańcuch wynikowy może być exclusive-OR′owany z odpowiednią częścią w dla odzyskania r. Teraz użytkownik mając M i r może obliczyć łańcuch bezpośrednio w kroku 6, i porównać go z w .aby zminimalizować długość komunikacji,często jest pożądane mieć schemat podpisu w którym widomość jest "składana" do podpisu. Schematy, które wykonują to są nazywane schematami podpisów odzyskiwania wiadomości. PSS-R jest wariantem PSS. Aby stworzyć podpis PSS-R, formujemy w jak powyżej a potem bierzemy exclusive-R M i g2(h(M || r)) i umieszczamy ten nowy łańcuch gdzie g2(h(M || r) był w w. Aby to zweryfikować, wszystko co potrzebne to podpis. Weryfikujący może odzyskać wiadomość z podpisu przez zastosowanie g2 do h(M || r) a potem wziąć exclusive-OR z tego z exclusive-OR z M i g2(h(M || r)). Następnie użytkownik przechodzi weryfikację jak w PSS.

Co to są kanały ukryte?

Ukryte kanały komunikacyjne (zwane również kanałami podprogowymi) są często omawiane jako rozwiązanie "problemu więźnia". Rozważamuy dwóch więźniów w oddzielnych celach, którzy chcą wymienić wiadomość, ale muszą to zrobić za pomocą naczelnika, który wymaga pełnej jawności (tzn. bez szyfrowania),. Kanał ukryty pozwala więźniom na wymianę tajnych informacji za pomocą wiadomości, które są nieszkodliwe. Kanał ukryty wymaga uzgodnienia między więźniami. Na przykład jeśli nieparzysta długość słowa odpowiada "1" a nieparzysta długość słowa odpowiada "0", wtedy poprzednie zdanie zawiera informację podprogową "101011010011". Ważne zastosowanie mają kanały ukryte w podpisach cyfrowych. Jeśli takie podpisy są używane, więzień może zarówno uwierzytelnić wiadomość i wyodrębnić wiadomość podprogową. Gustavus Simmons opracował sposób osadzania kanału podprogowego w DSA, który używa wszystkich dostępnych bitów (czyli tych które nie zostały wykorzystane dla zabezpieczenia podpisu), ale wymaga by odbiorca miał tajny klucz nadawcy. Taki schemat jest nazywany szerokopasmowym ,ale ma wadę ,że odbiorca jest w stanie podrobić podpis nadawcy

Co to są proaktywne techniki zabezpieczenia?

Proaktywne bezpieczeństwo łączy idee kryptografii rozproszonej (zwanej również współdzieleniem tajemnicy) z odświeżaniem tajemnic. Termin proaktywne odnosi się do faktu ,ze nie jest konieczne naruszenie zabezpieczeń występujące przed tajemnicami i odświeżaniem, odświeżanie jest wykonywane periodycznie (czyli proaktywnie). Odświeżanie klucza jest ważnym dodatkiem do kryptografii rozproszonej ponieważ bez tego, przeciwni, który jest w stanie odzyskać wszystkie rozproszone tajemnice, miałby wiele czasu na skutecznie złamanie systemu. Rozważmy poniższa proaktywną wersję schematu współdzielenia tajemnicy Shamira:
1.Użytkownijk i ma punkt (xi ,yi)t w wielomianie (m-1)-stopnia nad GF(q), Ft(x) = a0 + a1x + … + am-1xm-1. t wskazuje okres odświeżania (t=0,1,…)
2.Tajemnica to Ft(0)
3.Wielomian Ft jest aktualizowane w czasie t przez dodanie do niego losowego wielomianu G (m-1)-stopnia, takiego ,że G(0) = 0 (Ft+1 = Ft + G). dlatego, tajemnica jest niezmieniona (Ft+1(0) = Ft(0) + G(0) ., ale nowa współdzielona tajemnica użytkownika i to (xi ,yi)t+1 = (xi,Ft(xi) + G(xi))





Statystyka generowana przez Reggi-Stat - www.reggi.pl