O ile rozumiem, klucze RSA są zwykle generowane na podstawie (silnego) losowego generatora.Generowanie pary kluczy RSA w javascript, w oparciu o hasło
Zamiast tego chcę je utworzyć na podstawie hasła.
Albo raczej na jego skrót, na przykład SHA512 (sha512 (hasło) + sól + pieprz + hasło)
musi to być zrobione po stronie klienta, w JavaScript.
Czy ktoś wie, jak to zrobić? Czy istnieje łatwa biblioteka JavaScript, która tworzy deterministycznie pary kluczy RSA na podstawie danych wejściowych?
(Faktycznie, ja wspomnieć RSA ale każdy bezpieczne szyfrowanie asymetryczne wystarczy, tylko trzeba publiczno-prywatne szyfrowania)
Ponadto: Muszę to dlatego buduję jakieś bezpieczne rozwiązanie komunikacyjne, to nie musi polegać na połączeniu, a nawet na serwerze, aby być bezpiecznym.
Szyfruję całą zawartość za pomocą AES za pomocą losowych kluczy, a klucze są szyfrowane za pomocą RSA. Chodzi o to, że Alicja może szyfrować swoją zawartość (lub klucz AES dla jej zawartości) za pomocą klucza publicznego Boba (dlatego klucz publiczny Boba musi być przechowywany online).
Później, kiedy Bob wchodzi ponownie swoje hasło, jego przeglądarka może deterministycznie obliczyć swój prywatny RSA & klucz publiczny na miejscu, należy pobrać zawartość z Alice i odszyfrować go lokalnie za pomocą swojego klucza prywatnego.
Tworzenie kluczy RSA za pomocą JavaScript? Pamiętam, że sam go wypróbowałem. Pożarło mi całą pamięć i trwało wiecznie, aby obliczyć. Przestawiłem się na Javę. – Amberlamps
Asymetryczny schemat szyfrowania inny niż RSA również byłby w porządku. Ale muszę wygenerować stronę klienta kluczy i zaszyfrować dane (kluczem prywatnym) przed wysłaniem. Klucz publiczny będzie przechowywany po stronie serwera.Nie wiem, czy podejścia ECC są szybsze? –
@SheldonPinkman Szyfrowanie odbywa się za pomocą klucza publicznego, a nie prywatnego. Konsekwentnie twój pomysł jest wadliwy. –