2010-06-22 9 views
6

Do tej pory widziałem go tylko w podpisach cyfrowych i protokołach kluczowych umów. Czy można go używać tak jak RSA do szyfrowania danych? Czy są w tym jakieś biblioteki?Czy jest możliwe zastosowanie kryptografii krzywej eliptycznej do szyfrowania danych?

Zmieniano:

muszę coś jak RSA. Zaszyfruj dane kluczem publicznym odbiorcy, aby później mógł go odcyfrować swoim kluczem prywatnym.

Wiem, że ECDH może służyć do wysyłania tajnej wartości do kogoś, ale nie decydujesz, jakie dane są wysyłane. W przeciwieństwie do "zwykłego" DH z ECDH wynikowa sekretna wartość jest zawsze taka sama, ponieważ zależy tylko od keypanów. Sądzę, że mógłbym użyć tej wartości jako klucza do symetrycznego szyfru i zaszyfrować kolejny klucz, który wybrałem i zaszyfrować dane za pomocą tego klucza (jeśli chcę obsługiwać wiele odbiorników). Czy to dobry sposób?

+0

To interesujące zapytanie. Jakie było ostateczne podejście do korzystania z ECC w zakresie przenoszenia kluczy? – Raj

Odpowiedz

4

Może być używany z konstrukcją w stylu ElGamal do szyfrowania bitów. Bardziej współczesnym tego przykładem jest schemat ECIES w twoim przypadku. Bouncycastle obsługuje to klasą IESEngine. W szczególności first constructor robi to, co wydaje się próbować zrobić.

+0

To wygląda dobrze. Dziękuję Ci. – stribika

0

Podobnie jak RSA, ECC an służy do szyfrowania danych. W rzeczywistości ten tryb jest używany do protokołów kluczy.

Podobnie jak RSA, ECC jest stosunkowo powolne, stąd też jest bardziej powszechne negocjowanie kluczy sesji za pomocą ECC i przełączanie na szyfry symetryczne po wybraniu.

+1

Jak można go używać tak jak RSA? Wszystkie protokoły kluczowe, o których wiem, że używają ECC, są kluczową umową, podczas gdy RSA jest zwykle używana do transportu kluczy. –

+1

Masz na myśli ECDH? Nie to faktycznie szyfruje dane. W rzeczywistości nie decydujesz, jakie poufne dane wysyłasz. Zależy od obu kluczy. Potrzebuję czegoś w rodzaju zaszyfrowanych e-maili RSA, gdzie wybierzesz losowy klucz symetryczny i zaszyfrujesz go za pomocą jednego lub więcej kluczy publicznych. Będę edytować pytanie, aby było bardziej zrozumiałe. – stribika

2

Krzywa eliptyczna Schemat szyfrowania Elgamal będzie służył temu celowi. Używa klucza publicznego do szyfrowania i odpowiedniego klucza prywatnego do odszyfrowania tekstu szyfrowania.

Powiązane problemy