2013-06-18 8 views
14

Zadaję to pytanie, aby potwierdzić, czy klasa RijndaelManaged w języku C# jest odpowiednikiem szyfrowania AES. Z tego, co czytałem, Rijndael Managed był algorytmem z wyboru do wdrożenia encyklopedii AES. Czy ktoś może to potwierdzić?Algorytm - czy klasa RijndaelManaged jest odpowiednikiem C# w szyfrowaniu AES?

Czy algorytm RijndaelManaged jest bezpieczny do zastosowania w projekcie sieciowym? Dzięki :)

+1

myślę, że algorytm może być używany do szyfrowania AES –

+0

Dzięki Mert Akkaya :) – Matthew

Odpowiedz

18

Algorytm AES został wybrany w konkursie organizowanym przez NIST w latach 1997-2000. Zwycięzcą został algorytm o nazwie Rijndael.

NIST określa, że ​​algorytm AES ma mieć 128-bitowy rozmiar bloku. Ponieważ Rijndael obsługuje rozmiary bloków 128, 160, 192, 224 i 256 bitów, ostateczna specyfikacja AES różni się od pierwotnej specyfikacji Rijndael w tym względzie. Innymi słowy, "AES" i "Rijndael" są tym samym algorytmem, z wyjątkiem "AES" jest ograniczony do rozmiaru bloku 128 bitów.

Rozmiar bloku nie ma nic wspólnego z rozmiarem klucza. Omawiany algorytm obsługuje klucze 128, 192 i 256-bitowe. Dłuższe klucze niekoniecznie są "mocniejsze", ponieważ AES ma pewną teoretyczną wartość: weaknesses. Tak czy inaczej, 128-bitowe klucze są wystarczająco długo w przewidywalnej przyszłości.

Jak powiedział EkoostikMartin, AES jest nierozerwalny do tej pory. Ale kryptografia jest trudna, a nawet profesjonaliści nie za każdym razem robią to dobrze. Używanie surowych kryptograficznych prymitywów bez wiedzy o tym, co robisz, prawdopodobnie spowoduje coś złego. Mówiąc inaczej, szyfr jest bardzo rzadko najsłabszym ogniwem w "łańcuchu bezpieczeństwa".

6

Jeśli chcesz użyć AES, wystarczy użyć klasy AesManaged - http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged%28v=vs.100%29.aspx

Klasa RijndaelManaged ty nie odwołuje się dokładnie pasować do specyfikacji AES, głównie ponieważ daje możliwości miarę rozmiarów bloków. AesManaged używa 128-bitowego rozmiaru bloku, jak określono.

O ile jest "bezpieczny" dla projektu internetowego, to jest to bardzo silna metoda szyfrowania (nigdy nie była zepsuta, o ile wiem), ale jak wszystko, musi być używana poprawnie.

+0

Thanks :) Więc jest RijndaelManaged silniejsza niż AesManaged ? Czytałem, że może obsługiwać kluczowe rozmiary 256 bitów. – Matthew

+0

'AesManaged' może obsługiwać klucze 256-bitowe - http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged.keysize(v=vs.100).aspx – EkoostikMartin

+2

@Matthew Rijndael Managed może być używany w sposób, który nie jest zgodny z AES, w związku z tym miał mniej kontroli, które należy uznać za mniej bezpieczeństwa, więc nie należy go używać. – jbtule

0

Istnieje kilka różnic, w szczególności możliwość zmiany rozmiaru bloku oraz rozmiaru klucza. (AES używa stałego rozmiaru bloku 128 o ile wiem)
Jeśli używasz CFB w Rijndael rozmiar bloku będzie dostosować do wielkości sprzężenia zwrotnego, co oznacza, że ​​nie można zagwarantować, rozmiar bloku 128.

Aby zapewnić równoważność, musisz użyć bloku o rozmiarze 128 i albo unikać CFB, albo upewnić się, że rozmiar opinii wynosi również 128.

Jeszcze jedna uwaga: jeśli używasz statycznego IV z CFB, to Szyfr będzie deterministyczny. Unikaj tego, ponieważ prefiks IV może być łatwo zidentyfikowany i użyty do odszyfrowania twoich danych.

(przepraszam podnieść stary wątek, ale informacja ta nie była tutaj)

Powiązane problemy