PL234436B1 - Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów - Google Patents
Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów Download PDFInfo
- Publication number
- PL234436B1 PL234436B1 PL425306A PL42530618A PL234436B1 PL 234436 B1 PL234436 B1 PL 234436B1 PL 425306 A PL425306 A PL 425306A PL 42530618 A PL42530618 A PL 42530618A PL 234436 B1 PL234436 B1 PL 234436B1
- Authority
- PL
- Poland
- Prior art keywords
- spm
- inputs
- modular
- signals representing
- digital
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/729—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7266—Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
Opis wynalazku
DZIEDZINA TECHNIKI
Przedmiotem wynalazku jest cyfrowy układ szyfratora i deszyfratora dla systemu kryptograficznego RSA znajdujący zastosowanie w systemach przeznaczonych do ukrywania informacji, podpisu cyfrowego oraz w uwierzytelnianiu, bazujący na resztowej reprezentacji liczb RNS (Residue Number System) oraz twierdzeniu CRT (Chińskie Twierdzenie o Resztach), wykorzystujący do przetwarzania danych dwa kanały resztowe, w którym zastosowano - oprócz dwóch standardowych równoległych układów potęgowania modularnego - dodatkowy układ cyfrowy sterujący przepływem sygnałów reprezentujących dwa strumienie danych, naprzemiennie kierujący wybrane sygnały do obu układów potęgowania modularnego.
STAN TECHNIKI
Bezpieczeństwo kryptograficzne oparte jest na tajności kluczy kryptograficzn ych. Spersonalizowanymi i najczęściej używanymi urządzeniami realizującymi operacje kryptograficzne są zwykle karty chipowe i karty płatnicze, które realizują sprzętowo szyfrowanie informacji. Podkreślić należy, że aktualnie trwają prace nad bezpiecznymi rozwiązaniami takimi jak elektroniczny dowód osobisty z warstwą cyfrową, ale również nad innymi systemami korzystającymi z e-Tożsamości. Rozwiązania dla tego typu systemów wymagały będą szczególnie bezpiecznych i efektywnych obliczeniowo oraz energetycznie rozwiązań dla uwierzytelniania oraz szyfrowania i deszyfrowania danych.
Z opisów patentowych US2008/0056489, US2009/0110187, WO2009/088938 znane są cyfrowe systemy mikroprocesorowe wspierające potęgowanie modularne w deszyfrowaniu i szyfrowaniu RSA, w których wykorzystano resztową reprezentację liczb RNS oraz Chińskie Twierdzenie o Resztach CRT, zwiększające efektywność przetwarzania przez zrównoleglenie operacji potęgowania modularnego. Potęgowanie modularne realizowane w RSA z wykorzystaniem RNS realizowane w dwóch cyfrowych podsystemach równolegle podatne jest na kryptoanalizę wykorzystującą wstrzykiwanie błędów do jednego z równolegle pracujących podsystemów przetwarzania. Taki rodzaj kryptoanalizy RSA prowadzi do odzyskania tajnego klucza szyfrowania przez nieuprawnionego uczestnika wymiany informacji, a więc do kompromitacji systemu kryptograficznego. Spotykanym określeniem na ten rodzaj kryptoanalizay RSA wykorzystującym RNS i CRT jest również kryptoanaliza różnicowa. Aby ustrzec się przed kryptoanalizą różnicową, w opisach patentowych US2008/0056489, US2009/0110187, WO2009/088938 zastosowano różniące się między sobą rozwiązania, ale o jednej wspólnej niekorzystnej cesze związanej z koniecznością zastosowania dodatkowych zasobów cyfrowych dla sprawdzenia, czy system cyfrowy nie poddał się wstrzyknięciu błędu do jednego z podsystemów przetwarzania. Takie sprawdzenie, czy nie wystąpił problem wstrzyknięcia błędu, realizowane jest poprzez dwukrotne wykonanie operacji wyznaczającej wyniki potęgowania modularnego w równoległych kanałach przetwarzania, a następnie porównaniu czy otrzymane dane są identyczne. Przedstawione rozwiązania są niekorzystne ze względu na nadmiarowość układową, wydłużenie procesu przetwarzania oraz zwiększony pobór energii, przy czym nie eliminują one całkowicie możliwości wystąpienia błędów w obliczeniach, ponieważ możliwe jest wprowadzenia zakłócenia również w nadmiarowych obliczeniach weryfikujących wyniki. W opisie patentowym PL2014/218112 przedstawiono rozwiązanie szyfratora RSA korzystającego z RNS i CRT nie wymagające dodatkowych zasobów obliczeniowych, w którym zabezpieczenie przed wstrzyknięciem błędu oparte jest na specjalnym ułożeniu - jedna nad dugą - warstw W1 i W2 półprzewodników, realizujących potęgowanie modularne niezależnie w kanałach resztowych modulo p na warstwie W1 i modulo q na warstwie W2, gdzie p i q są liczbami pierwszymi tworzącymi moduł potęgowania modularnego N = p * q. Takie rozwiązanie eliminuje nadmiarowość, jak również większość niekorzystnych cech innych rozwiązań, jednakże zakłada, że dostępne technologie nie umożliwią zakłócenia przetwarzania tylko w jednej z warstw półprzewodnika bez zakłócenia drugiej warstwy półprzewodnika. Jednakże, szybki postęp w dziedzinie technologii laserowych, jak również w innych obszarach związanych z możliwością selektywnego miejscowego oddziaływania na struktury półprzewodnikowe niekorzystnie dla bezpieczeństwa zaproponowanych rozwiązań, uprawdopodabnia możliwość wstrzykiwania błędu do RSA opartego na CRT również w realizacji zgodnej z opisem PL2014/218112.
W związku z powyższym korzystne jest zdefiniowanie układu szyfratora i deszyfratora RSA, który rozwiązuje jedną lub więcej z wyżej wymienionych wad znanych układów.
PL 234 436 B1
ISTOTA WYNALAZKU
Celem wynalazku jest układ szyfratora i deszyfratora dla systemu kryptograficznego RSA bazujący na resztowej reprezentacji liczb RNS oraz Chińskim Twierdzeniu o Resztach CRT wykorzystujący do przetwarzania danych dwa kanały resztowe, zawierający: dwa równolegle działające układy potęgowania modularnego oraz układ obsługi potęgowania modularnego sterujący przepływem sygnałów reprezentujących dwa strumienie danych, wpięty pomiędzy oba układy potęgowania modularnego.
Korzystne, że sygnały reprezentujące dwa strumienie danych przełączane są cyklicznie pomiędzy dwoma równolegle pracującymi układami potęgowania modularnego synchronicznie z sygnałem zegarowym.
Korzystne, że układ obsługi potęgowania modularnego zawiera: sześć wejść, z których trzy połączone są z trzema wyjściami pierwszego z układów potęgowania modularnego, a trzy pozostałe wejścia z trzema wyjściami drugiego z układów potęgowania modularnego; oraz sześć wyjść, z których trzy połączone są z trzema wejściami pierwszego z układów potęgowania modularnego, a trzy pozostałe z trzema wejściami drugiego z układów potęgowania modularnego.
Korzystnie, że wejścia układu obsługi potęgowania modularnego są połączone odpowiednio z wyjściami obu układów potęgowania modularnego, i wyjścia układu obsługi potęgowania modularnego połączone są odpowiednio z wejściami obu układów potęgowania modularnego, umożliwiając przełączanie sygnałów reprezentujących dane uzyskane w aktualnej iteracji obliczeń w jednym z układów potęgowania modularnego do drugiego z układów w taki sposób, że sygnały reprezentujące dane wyjściowe są przełączane wielokrotnie pomiędzy równolegle działającymi układami potęgowania modularnego, przy czym przełączenia te są realizowane z dużą częstotliwością - nie mniejszą niż 1 MHz, co powoduje, że błędne działanie tylko jednego z układów potęgowania modularnego przez czas dłuższy niż jedna mikrosekunda daje korzystny efekt jednoczesnego zakłócenia sygnałów reprezentujących oba strumienie danych. Obecny stan techniki nie zna metod selektywnego uszkodzenia struktury półprzewodnikowej na tak krótki okres czasu. Zatem realizacja systemu zgodnie z opisem i zaproponowanym układem uodparnia układ szyfratora i deszyfratora RSA z RNS i CRT na możliwość realizacji kryptoanalizy opartej na wstrzykiwaniu błędów.
Korzystne, że układ obsługi potęgowania modularnego zawiera sześć elementów przełączających, jakimi mogą być zastosowane w niniejszym opisie przykładowo multipleksery, przy czym wejścia pierwszych trzech multiplekserów połączone są z trzema wyjściami pierwszego z układów potęgowania modularnego oraz wejścia pozostałych trzech multiplekserów połączone są z trzema wyjściami drugiego z układów potęgowania modularnego, oraz że pierwsze trzy multipleksery są sterowane jednocześnie poziomem zmieniającego się cyklicznie sygnału zegarowego, a pozostałe trzy m ultipleksery sterowane są poziomem przeciwnym, oraz że każdy z trzech pierwszych multiplekserów ma wyjście połączone odpowiednio z jednym z trzech wejść pierwszego z układów potęgowania modularnego, a każdy z pozostałych trzech multiplekserów ma wyjście połączone odpowiednio z jednym z trzech wejść drugiego z układów potęgowania modularnego, dzięki czemu uzyskujemy korzystny efekt polegający na tym, że gdy sygnały sterujące pierwszych trzech multiplekserów wywołują połączenie trzech wyjść pierwszego układu potęgowania modularnego z trzema wejściami pierwszego układu potęgowania modularnego, to trzy wyjścia drugiego układu potęgowania modularnego łączone są odpowiednio z trzema wejściami drugiego układu potęgowani modularnego, natomiast gdy sygnał sterujący zmieni poziom na przeciwny, to sygnały sterujące pierwszych trzech multiplekserów wywołują połączenie trzech wyjść pierwszego układu potęgowania modularnego z trzema wejściami drugiego układu potęgowania modularnego, a trzy wyjścia drugiego układu potęgowania modularnego łączone są odpowiednio z trzema wejściami pierwszego układu potęgowania modularnego.
Korzystne, że sygnał zegarowy połączony jest z wejściami sterującymi trzech multiplekserów bezpośrednio, natomiast pozostałe trzy multipleksery wejście sterujące mają połączone z sygnałem zegarowym poprzez element negacji NOT, zmieniający poziom logiczny na przeciwny.
SKRÓTOWY OPIS RYSUNKÓW
Te oraz inne cele wynalazku przedstawionego w niniejszym opisie są osiągnięte przez układ szyfratora i deszyfratora dla systemu kryptograficznego RSA. Dalsze szczegóły i cechy niniejszego wynalazku, jego natura oraz zalety staną się czytelne z następującego poniżej opisu korzystnych przykładów wykonania ukazanych na rysunkach, na których:
Fig. 1 przedstawia schemat blokowy zgodnego z wynalazkiem przykładu wykonania przeznaczonego do zastosowania układu cyfrowego obsługi potęgowania modularnego UOPM, złożonego
PL 234 436 B1 z sześciu multiplekserów podzielonych na dwie symetryczne grupy - po trzy multipleksery w każdej grupie, oraz trzech bramek NOT połączonych swoimi wyjściami odpowiednio z wejściami sterującymi drugiej grupy multiplekserów, przy czym wszystkie multipleksery sterowane są sygnałem zegarowym CLK w taki sposób, że multipleksery pierwszej grupy otrzymują na swoich wejściach sterujących bezpośrednio sygnał CLK, natomiast multipleksery drugiej grupy otrzymują w tym samym czasie sygnał CLK odwrócony przez bramki NOT, co w efekcie umożliwia cykliczne przełączenia wejść i wyjść układu obsługi potęgowania modularnego określone jako przeciwsobne;
Fig. 2 przedstawia schemat blokowy zgodnego z wynalazkiem przykładu wykonania przeznaczonego do zastosowania układu cyfrowego SPM realizującego potęgowanie modularne zgodnie z algorytmem potęgowania modularnego metodą binarną, przedstawionym na Fig. 3;
Fig. 3 przedstawia schemat blokowy algorytmu potęgowania modularnego metodą binarną;
Fig. 4 przedstawia schemat blokowy układu cyfrowego RSPM realizującego w sposób klasyczny równoległe obliczenia wyników w dwóch kanałach resztowych modulo p i m odulo q systemu RNS, przy czym poziomy sygnałów reprezentujących dane częściowe wyznaczane są sekwencyjnie w pętlach lub iteracjach oznaczonych na Fig. 2 jako pętla iteracyjna podnoszenia do kwadratu modulo OKM oraz pętla iteracyjna mnożenia modulo OMM, przy czym na podstawie wyników reprentacji resztowej Z = {zp, zq} z wartości zp = xpAkp mod p i zq = xqAkq mod q wyznaczany jest wynik końcowy Z = CRT(zp, zq), przy czym xp = X mod p, xq = X mod q, kp = K mod p oraz kq = K mod q, gdzie X jest podstawą potęgowania modularnego, K wykładnikiem potęgowania modularnego, a modułami odpowiednio czynniki p i q modułu N = p * q;
Fig. 5 przedstawia schemat blokowy zgodnego z wynalazkiem przykładu wykonania przeznaczonego do zastosowania układu cyfrowego URPM zawierającego dwa równolegle działające układy potęgowania modularnego SPM-1 i SPM-2 oraz włączony pomiędzy ich zaciski sygnałowe układ obsługi potęgowania modularnego UOPM przełączający odpowiednio pomiędzy SPM-1 i SPM-2 sygnały reprezentujące wyniki częściowe potęgowania modularnego, synchronicznie z poziomami sygnału zegarowego CLK.
NAZEWNICTWO
W znaczeniu stosowanym w niniejszym opisie, określenie „przykład” oznacza służący jako nieograniczający przykład, wykonanie lub ilustracja. W znaczeniu stosowanym w niniejszym dokumencie, określenie „przykładowo”, „na przykład” i „np.” przedstawiają listę jednego lub więcej nieograniczających przykładów, instancji lub ilustracji.
OPIS PRZYKŁADÓW WYKONANIA
Przedstawione przykłady wykonania przedmiotowego wynalazku będą opisane z powołaniem się na rysunki, na których te same elementy i struktury są oznaczone za pomocą takich samych oznaczeń.
Oczywistym dla znawcy będzie, że sygnały, oznaczone na rysunkach liniami, odnoszą się do jedno lub wielobitowych linii sygnałowych.
Zwykle dla potrzeb deszyfrowania i szyfrowania RSA z wykorzystaniem RNS i CRT potęgowanie modularne wykonywane jest równolegle, tak jak zostało to przedstawione na schemacie układu RSPM z Fig. 4, przy czym dane wejściowe są sygnałami reprezentującymi reszty X mod p oraz X mod q, natomiast dane wyjściowe zp = xpAkpmod p oraz zq = xqAkq mod q są wykorzystywane do wygenerowania wyniku Z = CRT(zp, zq) na podstawie wyników potęgowania modularnego wyznaczonych w układach SPM-1 i SPM-2.
Zgodnie z przykładem wykonania Fig. 1 przedstawia schemat zgodnego z wynalazkiem układu obsługi potęgowania modularnego UOPM łączącego dwa zrównoleglone układy SPM (Fig. 2) obliczające wyniki potęgowania modularnego metodą binarną, w których realizowane są odpowiednio na modułach p lub q operacje OKM podnoszenia do kwadratu modulo oraz, jeśli aktualny bit wykładnika jest równy „1”, operacje OMM mnożenia modulo, w układzie cyfrowym realizującym potęgowanie modularne zgodnie z algorytmem potęgowania modularnego metodą binarną (Fig. 3), przy czym wejścia danych do układu SPM z Fig. 2, oznaczone jako l-X, l-K oraz l-CLK, reprezentują odpowiednio wejścia sygnałowe danych podstawy potęgowania modularnego X, wejścia sygnałowe wykładnika potęgowania modularnego K, oraz wejście sygnału zegarowego CLK, który uruchamia przesunięcie bitowe wykładnika, natomiast wyjścia sygnałowe układu SPM opisane są jako:
PL 234 436 B1
O-Z wyprowadzające wynik Z = ΧΛΚ mod N na zewnątrz układu po wykonaniu wszystkich iteracji i operacji podnoszenia do kwadratu modulo OKM, oraz warunkowego mnożenia modulo OMM dla każdej z iteracji,
O-KM wyprowadzające wynik elementu OKM za pośrednictwem układu UOPM na wejście l-KM jednego z układów SPM, w zależności od poziomu sygnału CLK,
O-MM wyprowadzające wynik elementu OMM za pośrednictwem układu UOPM na wejście l-MM jednego z układów SPM, w zależności od poziomu sygnału CLK, oraz
O-k[i] wyprowadzające sygnał sterujący, będący aktualnym bitem wykładnika k[i], za pośrednictwem układu UOPM na wejście l-k[i] jednego z układów SPM, w zależności od poziomu sygnału CLK, przy czym kolejna iteracja jest uruchamiana, gdy sygnał CLK zmieni swój stan.
Korzystnie wyjścia sygnałów reprezentujących częściowe dane zp i zq uzyskane w układach SPM-1 i SPM-2 połączone są z wejściami układu UOPM obsługującego potęgowanie modularne, przy czym sygnały wejściowe układu UOPM oznaczone jako I-P1, I-P2, I-P3 połączone są odpowiednio z wyjściami O-k[i], O-KM, O-MM pierwszego układu potęgowania modularnego SPM-1, a sygnały wyjściowe z układu UO-PM oznaczone jako O-P1, O-P2, O-P3 połączone są odpowiednio z wejściami l-k[i], l-KM, l-MM układu SPM-1, oraz analogicznie sygnały wejściowe układu UOPM oznaczone jako I-D1, I-D2, I-D3 połączone są odpowiednio z wyjściami O-k[i], O-KM, O-MM drugiego układu potęgowania modularnego SPM-2, a sygnały wyjściowe z układu UOPM oznaczone jako O-D1, O-D2, O-D3 połączone są odpowiednio z wejściami l-k[i], l-KM, l-MM układu SPM-2, natomiast zacisk wejściowy l-CLK wszystkich układów na Fig. 5 jest podłączony do sygnału CLK. Synchronicznie z wysokim poziomem sygnału zegarowego CLK realizowane jest przekazanie sygnałów na wejścia l-k[i], l-KM, l-MM układu SPM-1 z wyjść odpowiednio O-k[i], O-KM, O-MM układu SPM-2 przy jednoczesnym przekazaniu sygnałów z wyjść O-k[i], O-KM, O-MM układu SPM-1 na wejścia odpowiednio l-k[i], l-KM, l-MM układu SPM-2, natomiast gdy poziom sygnału CLK jest niski, to realizowane jest przekazanie sygnałów na wejścia l-k[i], l-KM, l-MM układu SPM-1 z wyjść odpowiednio O-k[i], O-KM, O-MM układu SPM-1 przy jednoczesnym przekazaniu sygnałów z wyjść O-k[i], O-KM, O-MM układu SPM-2 na wejścia odpowiednio l-k[i], l-KM, l-MM układu SPM-2.
Przełączenie sygnałów realizowane jest w układzie cyfrowym oznaczonym jako UOPM przedstawionym na Fig. 1 wpiętym pomiędzy zaciski sygnałowe układów SPM-1 i SPM-2 zgodnie ze schematem na Fig. 5, przedstawiającym układ równoległego potęgowania modularnego URPM z odpowiadającym przykładowi realizacji oznaczeniami zacisków sygnałów połączeniowych wejściowych i wyjściowych.
Niniejszy wynalazek eliminuje negatywne skutki wstrzykiwania błędów do układu cyfrowego i w związku z tym zapewnia użyteczny, konkretny oraz rzeczywisty wynik.
Niniejszy wynalazek znajduje zastosowanie w systemach kryptograficznych służących do szyfrowania i deszyfrowania danych, dlatego test maszyny lub transformacji jest spełniony, a opisany pomysł nie jest abstrakcyjny.
Niniejszy wynalazek w stosunku do dotychczas stosowanych realizacji daje oszczędności co najmniej 20% w zakresie zużywania energii oraz wykorzystania zasobów na wytworzenie i utylizację układu cyfrowego, jest więc korzystny zarówno z ekonomicznego, jak też ekologicznego punktu widzenia.
Mimo, że wynalazek przedstawiony został na rysunkach i w opisie nawiązując do preferowanych przykładów wykonania, przykłady te nie sugerują żadnych ograniczeń niniejszego wynalazku. Oczywiste jest, że można dokonać zmian nie oddalając się od istoty wynalazku. Ujawnione preferowane przykłady wykonania są jedynie ilustracyjne i nie wyczerpują zakresu przedstawionego wynalazku.
Zgodnie z powyższym, zakres ochrony nie jest ograniczony do opisanych preferowanych przykładów wykonania, ale jest ograniczony przez załączone zastrzeżenie.
Claims (1)
- Zastrzeżenie patentowe1. Układ szyfratora i deszyfratora RSA bazujący na resztowej reprezentacji liczb RNS oraz Chińskim Twierdzeniu o Resztach CRT, wykorzystujący do przetwarzania danych dwa kanały resztowe, znamienny tym, że zawiera on - oprócz dwóch równoległych układów potęgoPL 234 436 Β1 wania modularnego SPM-1 i SPM-2 - dodatkowy układ cyfrowy UOPM sterujący przepływem sygnałów reprezentujących dwa strumienie danych częściowych operacji potęgowania modularnego, naprzemiennie kierujący te sygnały do obu układów SPM-1 i SPM-2, przy czym zmianą przyporządkowania strumieni danych do układów SPM-1 i SPM-2 steruje sygnał zegarowy CLK w taki sposób, że gdy sygnał CLK jest na poziomie wysokim „1” (cyfrowa jedynka), to sygnały reprezentujące dane wyjściowe uzyskane z układu SPM-1 kierowane są do wejść układu SPM-2, oraz sygnały reprezentujące dane wyjściowe uzyskane w układzie SPM-2 kierowane są do wejść układu SPM-1, natomiast, gdy sygnał CLK jest na poziomie niskim „0” (cyfrowe zero), to sygnały reprezentujące dane wyjściowe uzyskane w układzie SPM-1 kierowane są do wejść układu SPM-1 oraz sygnały reprezentujące dane wyjściowe układu SPM-2 kierowane są do wejść układu SPM-2.RysunkiFig. 1PL 234 436 Β1AKmod NPL 234 436 Β1Fig. 3PL 234 436 Β1RSPMX mod qK mod qFig. 4PL 234 436 Β1Fig. 5
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PL425306A PL234436B1 (pl) | 2018-04-23 | 2018-04-23 | Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów |
EP19170448.5A EP3561662B1 (en) | 2018-04-23 | 2019-04-23 | Encrypting and decrypting unit for rsa cryptographic system, resistant to faults injection |
US16/391,928 US10826679B2 (en) | 2018-04-23 | 2019-04-23 | Encrypting and decrypting unit for RSA cryptographic system, resistant to faults injection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PL425306A PL234436B1 (pl) | 2018-04-23 | 2018-04-23 | Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów |
Publications (2)
Publication Number | Publication Date |
---|---|
PL425306A1 PL425306A1 (pl) | 2019-11-04 |
PL234436B1 true PL234436B1 (pl) | 2020-02-28 |
Family
ID=66248543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL425306A PL234436B1 (pl) | 2018-04-23 | 2018-04-23 | Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów |
Country Status (3)
Country | Link |
---|---|
US (1) | US10826679B2 (pl) |
EP (1) | EP3561662B1 (pl) |
PL (1) | PL234436B1 (pl) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11895230B2 (en) * | 2019-01-24 | 2024-02-06 | Nec Corporation | Information processing apparatus, secure computation method, and program |
WO2021069075A1 (en) * | 2019-10-10 | 2021-04-15 | Adips Spolka Z Ograniczona Odpowiedzialnoscia | Encrypting and decrypting unit for rsa cryptographic system, resistant to faults injection |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397241B1 (en) * | 1998-12-18 | 2002-05-28 | Motorola, Inc. | Multiplier cell and method of computing |
EP1054527B1 (en) * | 1999-05-19 | 2010-08-18 | Nippon Telegraph And Telephone Corporation | Verifiable anonymous channel |
US6978016B2 (en) * | 2000-12-19 | 2005-12-20 | International Business Machines Corporation | Circuits for calculating modular multiplicative inverse |
US6963977B2 (en) * | 2000-12-19 | 2005-11-08 | International Business Machines Corporation | Circuits and methods for modular exponentiation |
US20110231465A1 (en) * | 2010-03-09 | 2011-09-22 | Phatak Dhananjay S | Residue Number Systems Methods and Apparatuses |
-
2018
- 2018-04-23 PL PL425306A patent/PL234436B1/pl unknown
-
2019
- 2019-04-23 EP EP19170448.5A patent/EP3561662B1/en active Active
- 2019-04-23 US US16/391,928 patent/US10826679B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3561662A1 (en) | 2019-10-30 |
EP3561662B1 (en) | 2021-09-08 |
US20190327074A1 (en) | 2019-10-24 |
US10826679B2 (en) | 2020-11-03 |
PL425306A1 (pl) | 2019-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nara et al. | Scan-based side-channel attack against RSA cryptosystems using scan signatures | |
Ozturk et al. | Physical unclonable function with tristate buffers | |
US9367693B2 (en) | Bitstream confirmation for configuration of a programmable logic device | |
CA2316227C (en) | Leak-resistant cryptographic method and apparatus | |
Hammouri et al. | PUF-HB: A tamper-resilient HB based authentication protocol | |
US8009827B2 (en) | Encryption processing method and encryption processing device | |
CN102271038B (zh) | 用于生成比特向量的方法 | |
PL234436B1 (pl) | Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów | |
US8625806B2 (en) | Data-processing apparatus and method for processing data | |
Rankine | Thomas—a complete single chip RSA device | |
US9071428B2 (en) | Methods and systems for hardware piracy prevention | |
Gaubatz et al. | Non-linear residue codes for robust public-key arithmetic | |
US8150029B2 (en) | Detection of a disturbance in a calculation performed by an integrated circuit | |
Zhou et al. | Vulnerability and remedy of stripped function logic locking | |
Maes et al. | Analysis and design of active IC metering schemes | |
CN105574442B (zh) | Puf电路及片上存储加密解密电路 | |
CN105337734A (zh) | 包括错误检测的椭圆曲线加密方法 | |
Hammouri et al. | Unclonable lightweight authentication scheme | |
US7920699B2 (en) | Encryption operating apparatus | |
CN101465726B (zh) | 用于秘钥的反破解方法及执行此方法的控制器与储存装置 | |
US7386123B2 (en) | Method of implementing in an electronic component a cryptographic algorithm for finding the public exponent | |
Ziad et al. | Homomorphic data isolation for hardware trojan protection | |
Nara et al. | Scan vulnerability in elliptic curve cryptosystems | |
Wang et al. | Design of reliable and secure multipliers by multilinear arithmetic codes | |
WO2021069075A1 (en) | Encrypting and decrypting unit for rsa cryptographic system, resistant to faults injection |