Как я тестирую качество алгоритма шифрования?

Мы могли бы преобразовать его в zoo и он with в качестве одного из его methods

library(zoo)
methods(class = 'zoo')
with(zoo(dat), sum(2 * x))
# [1] 42
9
задан Community 23 May 2017 в 12:26
поделиться

7 ответов

Post it on the internet and see if anyone can break it (What NIST/NSA did with AES, SHA-3, etc..).

I would look at all the common attacks.

Determine how large the key space is that someone must bruteforce to find the plaintext, is it smaller than all possible keys? Do two keys result in the same ciphertext?

Can you choose a plaintext which will reveal the key in the ciphertext?

11
ответ дан 4 December 2019 в 05:54
поделиться

Statistical evaluation of an encryption algorithm is necessary but not sufficient to ensure it is secure. Many algorithms have known weaknesses or potential weaknesses that have nothing to do with entropy and statistical properties of the encryption. Look at RSA (depends on factoring being hard), MD5 (collision attacks), and other algorithms. These have had man-years of rigorous probing for weaknesses.

4
ответ дан 4 December 2019 в 05:54
поделиться

Я почти гарантирую, что у вас нет веских причин. Однако, если вы это сделаете, отправьте его на рассмотрение ваших коллег и NIST, когда AES придет на замену. Устойчивое обследование людьми, которые действительно знают, что они делают, - единственный способ узнать.

6
ответ дан 4 December 2019 в 05:54
поделиться

If you have to ask - that's a pretty good indication that you shouldn't write your own.

If you are just wanting to write one as a learning exercise, then the Encryption Torture Test that Kirtan suggested is probably good. However, if you are planning to really use this encryption for some purpose where security is truly needed, that tool is not going to be any substitute for the years of expert analysis published algorithms have gone through.

Even if your algorithm generates output that looks random, that does NOT mean that it is necessarily secure.

8
ответ дан 4 December 2019 в 05:54
поделиться

Я подозреваю, что обычный ответ будет таким: «Если вам нужно задать этот вопрос, лучшее, на что вы можете надеяться - это шифрование на уровне младших и младших.»


Но если вам необходимо, вы можете начните с применения обычных тестов случайности к выходным данным ( Как проверить случайные числа? ) в байтах, словах, длинных словах и т. д.

Если вы не можете передать, вы знаете, что он слабый без дальнейшей работы. Обратите внимание, что прохождение этого не гарантирует , что оно сильное.

11
ответ дан 4 December 2019 в 05:54
поделиться

Загрузите из Интернета инструкции по изготовлению низкосортного грязного ядерного устройства, заархивируйте его с картой улиц Вашингтона, округ Колумбия, затем зашифруйте и отправьте по адресу obama@whitehouse.gov.

Сила вашего алгоритма шифрования будет обратно пропорциональна времени, которое потребуется мужчинам в черных костюмах, чтобы появиться у вашей двери.

Имейте в виду, что это, вероятно, будет разовый эксперимент, по крайней мере, для те пару лет, что вы проводите в Гитмо: -)

21
ответ дан 4 December 2019 в 05:54
поделиться

Следуя совету не писать свои собственные. Это не значит, что вам нужно использовать огромную сложную библиотеку ssl. Посмотрите на что-то вроде TEA (и его производных), их можно закодировать в одной функции в дюжине строк.

1
ответ дан 4 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: