2014-11-06 15 views
11

Czy jest dostępna implementacja open source FPE? Nie jestem ekspertem od kryptografii, ale mam świadomość podstawowych pojęć związanych z FPE i szukam ogólnej biblioteki, która pomaga mi wdrożyć FPE w przypadku wrażliwych danych, takich jak numery telefonów, numery ubezpieczenia społecznego itp. Brak silnej preferencji językowej w zakresie programowania, ale solidność algorytmu i implementacji są ważne.Które kryptograficzne libararies obsługują formatowanie zachowujące szyfrowanie (FPE)?

Co znalazłem do tej pory:

, ale nie korzystałem jeszcze z nich osobiście.

Czy istnieją inne biblioteki obsługujące FPE lub będą dostępne w niedalekiej przyszłości? Które z tych lub innych są zalecane i dlaczego?

+1

Najważniejszą rzeczą na temat FPE (która jest z natury deterministyczna) jest to, że należy go unikać na korzyść semantycznie bezpiecznego szyfrowania, kiedy tylko jest to możliwe. – CodesInChaos

+1

Dzięki za przypomnienie, ale załóżmy, że na razie istnieją odpowiednie aplikacje FPE. – wau

Odpowiedz

0

dokonaniu się małe JavaScript (node) lib FPE:

https://github.com/mderazon/node-fpe

wykorzystuje metodę prefix cipher. Z Wikipedii:

Jeden prosty sposób na stworzenie algorytmu FPE na {0, ..., N-1} jest przypisanie wagi pseudolosowy do każdej liczby całkowitej, a następnie rodzaj wagowych. Wagi są definiowane przez zastosowanie istniejącego szyfru blokowego do każdej liczby całkowitej. Black i Rogaway nazywają tę technikę "szyfrem prefiksowym" i pokazali, że jest ona równie dobra jak szyfr blokowy.

Zatem, aby utworzyć FPE w domenie {0,1,2,3}, ponieważ klucz K stosuje AES (K) do każdej liczby całkowitej, podając, na przykład,

weight(0) = 0x56c644080098fc5570f2b329323dbf62 
weight(1) = 0x08ee98c0d05e3dad3eb3d6236f23e7b7 
weight(2) = 0x47d2e1bf72264fa01fb274465e56ba20 
weight(3) = 0x077de40941c93774857961a8a772650d 

sortowanie [0,1,2,3] wagowych daje [3,1,2,0] więc szyfr jest

F(0) = 3 
F(1) = 1 
F(2) = 2 
F(3) = 0. 

Sposób ten jest użyteczny dla małych v wartości N. Dla większych wartości, rozmiar tabeli odnośników i wymagana liczba zaszyfrowań do zainicjować tabelę staje się zbyt duża, aby być praktycznym.

Powiązane problemy