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 PDF

Info

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
Application number
PL425306A
Other languages
English (en)
Other versions
PL425306A1 (pl
Inventor
Janusz Jabłoński
Witold Wendrowski
Witold WENDROWSKI
Original Assignee
Adips Spolka Z Ograniczona Odpowiedzialnoscia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adips Spolka Z Ograniczona Odpowiedzialnoscia filed Critical Adips Spolka Z Ograniczona Odpowiedzialnoscia
Priority to PL425306A priority Critical patent/PL234436B1/pl
Priority to EP19170448.5A priority patent/EP3561662B1/en
Priority to US16/391,928 priority patent/US10826679B2/en
Publication of PL425306A1 publication Critical patent/PL425306A1/pl
Publication of PL234436B1 publication Critical patent/PL234436B1/pl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/729Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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/302Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7266Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details 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)

  1. Zastrzeżenie patentowe
    1. 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ęgo
    PL 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.
    Rysunki
    Fig. 1
    PL 234 436 Β1
    AKmod N
    PL 234 436 Β1
    Fig. 3
    PL 234 436 Β1
    RSPM
    X mod q
    K mod q
    Fig. 4
    PL 234 436 Β1
    Fig. 5
PL425306A 2018-04-23 2018-04-23 Szyfrator i deszyfrator dla systemu kryptograficznego RSA odporny na wstrzykiwanie błędów PL234436B1 (pl)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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